The two modules are always loaded together and don't need
separate entry points.
Additionally, this makes the ext.uls.webfonts.fonts
just depend on the ext.uls.webfonts.repository module
and not do anything else, so remove it in favor of
referencing ext.uls.webfonts.repository directly where
needed.
Bug: T292042
Change-Id: I067b9eda923fcb0d5da0ed80030356f1f747259b
In Vector the language button is a checkbox. It uses the checkbox
hack to provide non-JS dropdown behaviour.
When the JS upgrades such a button, the checkbox behavior continues
to work. An unsatisfying hack in Vector workarounds this problem.
This provides a neater way to disable that behavior
in Vector once the button is clicked by adding support for the
well documented checkbox hack.
Bug: T283757
Change-Id: I97a69c30b27cb1ded06451389e086229561c3589
- Update document click handler for loading ULS
- Use data attributes to ensure ULS isnt loaded multiple times for an element
Bug: T289815
Change-Id: Iba6cbbd6c6e48a1abfda342421822e3ff2715362
Most of the skin styles are no longer needed for modern
Vector. This refactors them so that they only apply
to legacy vector, reducing the overrides needed inside
Vector.
Depends-On: I1edee874a42b070bc319648496ae80a01b6365fb
Bug: T289630
Change-Id: Ic5ab5172d881c48caae6bb3691ccc95515dcdcdb
- Adjusts CSS to defer button/icon rendering to skins that support button
and icons e.g. Vector
Depends-On: Ib518858e06549f252d73d57fd4768f446cc561b9
Bug: T289630
Change-Id: Ie9e30af5468aea9803d77c9a36e480ba2b2e86a0
This reverts commit 5ca2ccb58a.
Reason for revert: Per Niklas's review (T289630#7324439)
I've also seen a much better way to do this which limits the change
to modern skins so I'll post a follow up shortly.
Change-Id: I99802c60390e23eaa0de21462788da622a35a37a
This converts the language button into a mw-ui-button which is the
class we're currently using in both Vector and Minerva. In future
this can become a WVUI button using the same roadmap as Vector
and Minerva.
This fixes the issue with the icon resize, as well as the issue
with the button lacking appropriate hover/focus states.
Bug: T289630
Change-Id: I8242986e8762a8f663f8cab07c54481e14223320
These styles are causing the language button to move downwards
on page load in modern Vector
and legacy Vector.
See T191021#7231088.
Bug: T191021
Change-Id: I9d62ad8a79168bdaebace07fb82f22da4c534b5c
* Link in preferences is again opening ULS
* "personal" entry point now works even with compact languages
preference disabled
I added lots of comments and refactored this code to give things
better names to make this code easier to understand and maintain
and hopefully reduce the amount of bugs in the future.
Bug: T282956
Bug: T286574
Change-Id: I9cd6776ea6664e33fd63c49dfa77c5f004fba799
Now that the interface.language.change hook is fired when the user
switches language using the Compact Language Switcher, we should provide
additional context to the UniversalLanguageSelector instrument.
Bug: T280770
Change-Id: I6c4ddf9738e527ac42581c9fb4924ed1d12748b4
The compact languages button user preference will be applied to
any compact language button provided by the skin, this allows users
to opt out of the feature as before.
This will be used immediately in Vector in
I436554d9d51470d277d59c2c71e08124735e12fd
Bug: T282149
Change-Id: I726c61d4c6895a28b999781752535e0ddc961744
As of Id345e933, we fire the language change hook when the user switches
language by clicking on a link in the languages list. In order to
compare the user switching language in the scenario above with the user
switching language via the CLS and/or Vector's language switcher, ensure
that we fire language change hook in all treatments.
Bug: T280770
Change-Id: I4a74254612557c287b16f4f086077a2637de9a2e
Following on from I6fa966c2, fire the mw.uls.compact_language_links.open
hook with the $trigger parameter as context for clients to be able to
able to distinguish which treatment is visible to the user.
Supporting changes:
- Note that the hook is unstable next to its callsite
Bug: T280770
Change-Id: Ie4bbfea4dc5e36401df587550f466aeae5c8fdcc
* $(node).prop(foo) -> node.foo
* For objects only expected to represent a single element,
use native querySelector() and its natural null return
fallback, instead of `$(), $.length, $()` etc.
* Fix a few minor non-voting eslint warnings that were in the CI
output about line length and unknown type "bool".
* Remove presumed outdated comment about Vector splitting,
per T234907.
* Rename ulsPosition to configPosition to be more clearly
different from ulsPopupPosition.
* Remove various 'uls' prefixes of local variables,
since this is ULS code in the ULS repository.
Change-Id: I1c617bf48283f47dc948550111c515faf173d1eb
Due to the nature of the script, Tiben usually has high ascent and descent
values. Use a variant of BabelStoneTibetan to have lesser ascent, descent
values for modern, frequently used Tibetan
Bug: T283122
Change-Id: I902af894b0e4d6f375981f13548be49405fb3602
Jomolhari is inactive upstream for years and BabelStone is an active
fork with improvement for better script support.
Bug: T197596
Change-Id: I5c3c1ce5ad2a80c78e93304d4023342a66382942
Following on from Icc64044d, we fire the
mw.uls.compact_language_links.open hook whenever that treatment is
opened (and not only the first time that the triggering element is
clicked).
Bug: T281928
Change-Id: I6fa966c22c738ca12bcbeb0225c03f3f8394ecee
This allows us to correctly instrument (via the
UniversalLanguageSelector instrument) this action so interaction rates
between treatments can be compared.
Bug: T273232
Bug: T273928
Change-Id: Icc64044d51c567482d4f286637366cefb7beeb3e
The filterForCommonLanguagesForUser method checks if commonInterlanguageList
is null, but it can never be null unless it is first initialized that
way.
Bug: T282037
Change-Id: I70c3a60349693473509d9b329764dc5138930506
In modern Vector, the ULS trigger button has a child node which is
a span. When clicks are received on the span, they will result
in positioning relating to the span rather than the button.
The ev.currentTarget should be read outside the asynchronous function
to avoid bubbling.
Bug: T276248
Change-Id: I6e138c88e29b335b8e0bc22cf0aa07c289a5eb74
The ulsPopup variable is local to the showUndoTooltip() function.
If it is called multiple times, then a previous assignment of an
OO.ui.PopupWidget object would not be found here in subsequent calls.
This check can only ever be false since it is the first statement in
the function (after variable and function declarations, which don't
do anything other than call `$()`).
Change-Id: I7020c103428d01b5e48c65be695471401f588fc4
composer:
* mediawiki/minus-x: 1.1.0 → 1.1.1
npm:
* eslint-config-wikimedia: 0.17.0 → 0.19.0
The following rules are failing and were disabled:
* compat/compat
Additional changes:
* Added the "composer phan" command to conveniently run phan.
* eslint: Renamed `wikimedia/client` profile to `client-es5` (T277085).
Change-Id: Ib31cbcd8c615d2e6abf9ee30f0f4d7b7baa54e2e
In development environment, ev.currentTarget is the button.
In Beta Cluster, however, once ext.uls.mediawiki is loaded,
it is now the document (the event has bubbled up). I do not
know what causes the difference, but we can use the target.
Bug: T276255
Change-Id: Ie4c425510293a6f2ce81e4bf4a353f2c8d86d412
Small dialogs were resizing after loading when display and input
setting buttons were added to it. Now delay showing the dialog until
they are loaded.
Bug: T276248
Change-Id: I7033903737afedbd4be908c84d07656c468ce801
Unrelated behavior change: ULS language selection dialog is hidden while
display or input settings is open.
Also simplified dead code in addDisplaySettings.
Bug: T276248
Change-Id: Ia91a2b83e7ad4072016649230e2376b0793cbbff
When interface language selector is at the top, the undo tooltip
may appear under new Vector search box and other user tool links.
Change-Id: I36ac01511e590896afb0382c17ae90d01ba57314
Reported in
https://github.com/wikimedia/jquery.uls/pull/383#pullrequestreview-613761459
Instead of checking the left edge of the trigger, check the midpoint.
This is more reliable and does not cause the dialog to incorrectly
swap sides in narrow screens in LTR direction,
This patch does not touch the compact language links variant.
Bug: T276248
Change-Id: Ic734abb7b350852f8c5c10ced8456bf146df62d8
New Vector introduced a new content language selector trigger. This
code was hardcoding a behavior that works for compact language links
but is not so appropriate for other uses in the skin, which are out
of our control.
This patch aims to be a minimal change to allow other kinds of
behavior without changing the amount of tech debt. This changes
the default ULS dialog behavior to match the requirements shown
in the task. Compact language links specific behavior is retained but
only enabled for the compact language links trigger. The behavior
is chosen depending on the value of isUsingStandaloneLanguageButton().
For future changes, I propose that mw-interlanguage-selector class will
not have any styles attached to it. Whoever creates the trigger would
be in charge of styling it. Ideally that code would also define the
positioning and other behavior, but it is less clear how that can be
abstracted in a nice and decoupled way.
Bug: T276248
Change-Id: I52da6c2f5a1f25d64f322a3c8f6105da3b244b66
Changes to comments, naming and code to increase clarity of the code
and explain better what it does and why. No change in behavior.
Change-Id: I998fcfd620c2ee737618c3ab8f41fb6dfdd2c99a
Translate's pagetranslation.uls module needs to override the action
that happens after language code is set. Currently it uses setlang
url parameter, which (no longer) works with Special:MyLanguage.
After this patch, it can use mw.uls.setLanguage and does not need
to reimplement it's functionality.
Turned mw.uls.changeLanguage into simple utility that calls
location.reload when the promise is resolved.
Change-Id: I9a648b146188dd252c239085bbe276165dc5f393
Per T275894, Readers Web intend to increase the scope of the
UniversalLanguageSelector instrument to help them understand how
users are interacting with the Languages list in sidebar.
In order to keep the UniversalLanguageSelector extension focussed and
not overly Wikimedia-specific, it was agreed that the instrument would
be migrated to the WikimediaEvents extension, where other such
instruments are located.
Therefore, remove all code related to the UniversalLanguageSelector
instrument.
Bug: T275894
Depends-On: I2acee8ba8dc59c497dc6ba42cd5bd88dfd985c8b
Change-Id: I72b1d0ff35488521b3499e9606efee26baff8c00
Light refactor of existing code into reusable method to support
this.
Use Extension attributes to allow skins to provide ULS
additional configuration.
Bug: T274396
Change-Id: I7dcd49f05fae83fbc0c15768bee8ca93eab17bcc
Without the following changes the language button shows the
wrong label and opens a dialog with zero languages.
* Don't apply heading change to modern Vector
* Look for the element .mw-portlet-lang as well as #p-lang
Bug: T273232
Bug: T273928
Change-Id: Ic201b1983a17cc37fd1ff7c507aab656ea25f370
This is updated version of 61f1a9863a
which was reverted due to compatability issues which are no longer
present.
Change-Id: I05333ddc288171b6d867dce8a1d3efc1e1450e0a
This provides an alternative mechanism to
I0518ecdf402ebf5eb6bad2c430f6462322c0d8e1 for loading the compact
language link module. Instead of relying on the client, the HTML
is inspected.
Bug: T264824
Change-Id: I977a998388b3e70f7fe4d97fa05be3c1ac1bf676