Recreated the form with OOUI widgets. This required putting together
ComplexTitleInputWidget to handle the split namespace+title field on
this page.
Bug: T86865
Change-Id: Ice69df851137e3454ae2c9f4c75494b18cf8a75a
* Refactor NamespaceInputWidget into two widgets: NamespaceInputWidget
and ComplexNamespaceInputWidget. The former is now only the dropdown
(and inherits from DropdownInputWidget), the latter is the dropdown
plus two checkboxes.
* Change ComplexNamespaceInputWidget configuration to take nested config
for `invert`, `associated`, and `namespace`, rather than require
parameters like `invertName` and so on for every combination.
* Implement standalone JavaScript versions of both widgets (previously
mw.widgets.NamespaceInputWidget could only be created via infusion
of the PHP widget).
Bug: T99256
Bug: T106138
Bug: T109559
Change-Id: Ie2fee6d035339ceb934fca991675480db3d630d1
* Add PHP version of NamespaceInputWidget, co-authored by Florian,
which consists of a DropdownInputWidget offering a choice of
namespaces and two CheckboxInputWidgets allowing to also match
associated namespace (talk/content) or to invert the choice.
* Add an incomplete JS version of NamespaceInputWidget, which is only
really functional when infused from the PHP version (it can't
generate the dropdown by itself, for example). Implement some JS to
improve the experience of selecting the "all namespaces" option in
the dropdown (by disabling the checkboxes when this happens).
* Split off a 'mediawiki.widgets.styles' module, which has the basic
styles for PHP widgets which are to be loaded in the head. Make
OutputPage::enableOOUI() also add this module (which should stay
reasonably small).
* Use the new widget in HTMLForm's HTMLSelectNamespace field. It can
be seen in action on Special:LinkSearch, for example.
Co-Authored-By: Florian <florian.schmidt.welzow@t-online.de>
Co-Authored-By: Bartosz Dziewoński <matma.rex@gmail.com>
Change-Id: I5cbfa9d0f6a8641148ce476b7dbe65e9096b4485