This module is queued by EditPage for the action=edit interface.
This generic module contains almost nothing and, while this is
disabled on mobile today, its dependency (oojs-ui-core) and
sibling modules (edit.editWarning, and edit.watchlistExpiry)
are already explicitly enabled for mobile on EditPage today, so
most of what one would expect from this module is already
working as expected.
What will start working for mobile action=edit:
1. Edit summmary character limit.
If you have typed more than 900 of the 1000 allowed characters,
a countdown from 100 will display in grey text on the right
side within the input field.
2. Edit stashing ajax.
Some time before the user submits the form, an ajax background
request will start pre-parsing the wikitext to reduce latency
and improve edit timing.
Having said all that, none of this matters in all likelihood since
we don't actually expose action=edit on mobile to users with
Grade A browsers (where this JS would run). On mobile, the
action=edit interface is generally only seen when using a Grade C
browser or when JS failed to load or was disabled.
Enabling this module helps unblock T127268 (to no longer suggest
that this code is unsafe for mobile) and T274688 (to fold the
the other edit* modules that are already enabled on mobile into
this one).
Bug: T274688
Bug: T127268
Change-Id: I953ea0a60ab7cacd174e09fa52288f3e1d811611
Adding WVUI Wikimedia Vue.js based user-interface library as external resource
in a security-reviewed pre-release. As currently needed for search widget
within Desktop Improvements project.
Bug: T271353
Change-Id: I91db16946e7ea46f69a6b57b116962f77ce3cd20
Allows removing WidgetMethods.toggleSwitchWidget
UtilMixin.js is added so that the parameter widgets
that currently call Util.apiBool() won't need to
duplicate the logic
Bug: T269952
Change-Id: I39a1b0fda8eb6fce6b8a2052d25e2e81b6d48dd9
Some skins, like MinervaNeue provide a different structure
for menu. Therefore the logout link can be placed in different
places and might not be a default #pt-logout element.
This patch allows to modify the logout button selector via
SkinPageReadyConfig hook.
Bug: T259200
Change-Id: Id313337c85229a5e8d0aada3a67d722048709597
Breaking changes:
* Ids 'mwProtectSet', 'mw-protect-table3', and
'mw-protect-table-$action' are no longer present on page.
* Module 'mediawiki.legacy.protect' has been removed and replace by
'mediawiki.action.protect'.
Deprecations:
* ProtectionForm::buildForm has been replaced by
ProtectionForm::addFormFields with backwards compatibility.
Other changes:
* Expiry is no longer editable when "Allow all users" is selected
* When "Unlock further protect options" is disabled, the expiry of
the first section is used for the other sections
* Legacy form elements added by extensions are added to a separate
section which uses a blank i18n string as the header
* Unprivileged users see the expiry selector instead of the expiry
text input as it has the expiry date
Changes to ProtectionForm.php are based off of
I95d0289acceaa7ede789d5a6ea094fae757af6dc.
Bug: T235424
Bug: T236218
Change-Id: Ib22a3b53c1933e107ef5609bb2262aa44b5abb7a
These messages are now used by SelectFileInputWidget which is
part of core, not widgets (as it has a PHP version).
Change-Id: I062e12b8dd80b34b3aad54dd65e5026de3c69dbe
This patch adds a private method and other mechanisms to handle
generation of dismiss button for site notices (which are already
generated by core).
It also adds the $wgDismissableSiteNoticeForAnons global with its
default as set in the DismissableSiteNotice extension. The plan is,
however, to deprecate it later.
Native support will streamline the sitenotice processing and helps
towards more optimum default MediaWiki experience. It will also
eventually obsoletes the need for an extension to provide this crucial
button as well as remove the overhead of managing such extensions.
Bug: T262118
Bug: T259903
Depends-On: Ib80fc24c84eb333daa016c9816fdf91cc60d3983
Change-Id: I276325dc55fd475655e0212fc256b95ebb41b276
This makes it easier to understand which files belong together,
which ones can "see" each other, and to find the files through
code browsers and text editors without having to look up
in Resources.php.
Bug: T193826
Bug: T270141
Change-Id: Id87c11f66cbd8c699c9bb01261523f2500df718d
Since the legacy parser will also be emitting the new media structure
that requires these styles. For now, the feature is only shipped by
default when $wgUseNewMediaStructure is enabled.
Bug: T51097
Bug: T266148
Change-Id: Id20d716ce145e0bae37621fd6e218a793b5332ae
The only known usage is Cargo skin.
Note, that Minerva references the module but only to remove it from
the page. This is removed in 0e61c55ea.
Follow up to db3c8ea16b
Bug: T252774
Change-Id: I05d79f073f5303b036e47c2a0b37e9bfbaf0d2d1
Going forward all skins will have a single ResourceLoader module
defining their styles.
This deprecates the module moving its functionality into ResourceLoaderSkinModule.
Skins can continue to get those styles by enabling the new feature in their
main module.
Bug: T267577
Change-Id: I27c9f2c6ed9e4014afb231f690190c67b03b5d02
The table of content styles will now be loaded on all pages rather than
just pages which have it. This will lead to less stylesheet fragmentation
across page views.
Skins in WMF production were updated long ago to automatically opt
into new features so will automatically gain this module:
I98b7e49b8a3bcba31284385d2f45e0164df2fbb4
I50afd035360ff2eccd5a934a02a218d093f9583d
I5b3920ae6e98111582b93e60a2b9950c478bff7d
If9283742a83ecfbe8c4246e3624022a56be8f161
If9ae25c41b91a8b47c154f0fd98984eac526654f
Skins that are using ResourceLoaderSkinModule with opt-in approach or
the existing mediawiki.skinning.interface, will automatically get these
new styles. Skins that are use neither of these mechanisms will need to
be modified if they wish to retain the collapsing functionality of the
table of contents. As of now, I am not aware of any such skins.
Note in a follow-up, the mediawiki.toc.styles module will be marked as
deprecated in 1.35. This is done separately to allow WMF caches
some time to roll over to the new code first.
Bug: T252774
Change-Id: Ie28b7e732664eb332be795d7e33cd9a227c21370
It appears that many Wikimedia wikis have complex overrides for
this message. Only a small set of wikitext syntax is supported in
messages that are used client-side [1]. So, parse it on the server.
'packageFiles' and callbacks make this almost convenient.
[1] https://www.mediawiki.org/wiki/Manual:Messages_API#Feature_support_in_JavaScript
Bug: T266311
Change-Id: If3d675ac0232c378feca825e989ea9cd7daee8cc
Provide the equivalent functionality of WebRequest::getCrossSiteCookie()
and the sameSite and sameSiteLegacy options in WebResponse::setCookie()
in mediawiki.cookie.
Bug: T257936
Change-Id: I88a970bb00c672a9c23569ec791be51d07cae59d
mediawiki.action.edit.preview.js now reconstructs "Templates used in
this preview" beneath the edit box if it doesn't exist, so that the list
of transclusions in the preview returned by the Parse API will now be
available to the user even when creating a new page or editing a
section. It also now correctly replaces the label "Templates used on
this page" with "Templates used in this preview", or "Template" if there
is only one, thus more closely matching the default PHP behavior.
Bug: T102286
Change-Id: I9976067d9c3a42d2a93d56da677354a8f352eb2f
This commit allows the user to tab into the expiry dropdown directly
from the watch link. This reason for this is becuase there is limited
time to get to the popup before it is automatically dismissed.
To avoid redundantly listening to keystrokes for the entire session, the
listener is only valid for the initial keystroke after the popup is
shown.
So the workflow for someone with motor impairment might be to hit
[alt-shift-w] to watch via the watch link, then hit [tab] to jump to the
expiry dropdown and change the expiry as desired.
Hitting [tab] again when focus is on the dropdown will move focus bcak
to the watch link. This is because we can't be certain what elements
follow #ca-unwatch across all skins (also scripts and gadgets could
cause conflicts).
Bug: T261430
Change-Id: Ia7d3f8d963810821f7915690dc62a66c7c778de3
Add a new resource module for watchlist expiry behaviour in
changes lists, to add a message when the clock is clicked on
mobile.
Bug: T261415
Change-Id: I621b1571b57686beb9fb5802533b1e70d293bc2a
These URLs are typically used with curl or a similar tool; having
to manually turn them into an absolute URL is an annoyance.
Change-Id: I3c3229e228e9ccb25c4b1b8642736b7e9d213ff2