Page MenuHomePhabricator

Inconsistent interface of "Select all / none / invert" for lists of checkboxes.
Open, Needs TriagePublic

Description

We have inconsistent interface of "Select all / none / invert" buttons for lists of checkboxes.

The interface in all cases should look the same, and they all should use the same code.

Special:Search: (resources/src/mediawiki.special/mediawiki.special.search.js)

image.png (968×1 px, 93 KB)

History: (ListToggle.php and resources/src/mediawiki/mediawiki.checkboxtoggle.js)

image.png (968×1 px, 112 KB)

Special:Undelete: (resources/src/mediawiki.special/mediawiki.special.undelete.js)

image.png (968×1 px, 128 KB)

Event Timeline

Legoktm subscribed.

Which interface do you think we should use?

I don't care, and I don't think it really matters, since sooner or later someone will notice that these are not OOUI and redo them anyway ;)

vaibhavsingh subscribed.

i am willing to work on this .can any one guide me for this please?

@Aklapper thanks for responding.do we just need to change the button appearance in the above 3 files for the 3 cases ???

@vaibhavsingh: The interface should be consistent across all three pages.

@vaibhavsingh: Hi! This task has been assigned to you a while ago. Could you maybe share an update? Do you still plan to work on this task, or do you need any help?

@vaibhavsingh: I am resetting the assignee of this task because there has not been progress lately (please correct me if I am wrong!). Resetting the assignee avoids the impression that somebody is already working on this task. It also allows others to potentially work towards fixing this task. Please claim this task again when you plan to work on it (via Add Action...Assign / Claim in the dropdown menu) - it would be welcome. Thanks for your understanding!

Hi, I am Monica, a frontend developer interested in contributing to Wikimedia. I would like to work on this task as my first contribution. I will review the related files and propose a consistent UI implementation. Please let me know if there is a preferred interface pattern to follow.

Hello, I am a newcomer interested in contributing to MediaWiki and preparing for GSoC 2026.

I would like to work on this task if it is available. Please let me know if I can proceed.

Thank you.

Hi and welcome! Please see https://www.mediawiki.org/wiki/New_Developers#Communication_tips and the ticket status at the top below the title - thanks.

Hello, I would like to claim this task and start working on it.

I’m currently exploring the relevant codebase and understanding the issue. I’ll share updates as I make progress. Please let me know if there are any guidelines or suggestions I should follow before proceeding.

Thank you.

Change #1250526 had a related patch set uploaded (by Shreshth Srivastava; author: Shreshth Srivastava):

[mediawiki/core@master] checkboxtoggle: Unify "Select all/none/invert" across special pages

https://gerrit.wikimedia.org/r/1250526

The patch unifies all three checkbox toggle implementations (Special:Search, Special:Undelete, and History/Log) to use the shared ListToggle component. Also fixes the global selector bug in checkboxtoggle.js (T131318) by scoping it per-container.

Took help from Claude for code review and implementation. Happy to address any feedback!