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 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
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 part of the desktop refresh, we are moving towards a universal
hook for adding menu items. This allows more control over placement
without breaking backwards compatibility.
In modern skins, the personal URLs bar is split into
user-menu and notifications options which are combined for legacy
skins.
Depends-On: If4805e5186756056afcd31d21919e907a7782ce8
Bug: T282196
Change-Id: I79fa85e67d9c0064dd4dc9437517264d5fc04140
extension.json configuration should reflect recommended production
configuration whenever possible. This particular configuration flag
is only ever true on Russian Wikivoyage or Wikisource, so is more
often false than true.
Having this default would have saved me ten minutes trying to work
out how to make the preference available, so I am keen to save someone
else that time in future.
Bug: T282149
Change-Id: Ieef58631c7ef5c42ffc05f13d0ed8a4f02c48de1
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
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 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
Example usage:
Iabd4688c6081b4de391b9655b92a16f3a414e018
We will skip loading the compact link if we don't need
to compact the languages.
Note special handling is known for Timeless which stops
propagation of events. This will be fixed in Timeless at a
later date.
Bug: T264824
Change-Id: I0518ecdf402ebf5eb6bad2c430f6462322c0d8e1
https://github.com/wikimedia/jquery.uls/commit/967eec093edb153f4fdd0e5e4
Updates:
1) Always send event when triggering onSelect
The $.uls function in jquery.uls.core in createLanguageFilter passes the
onSelect function to the $.fn.languagefilter so the onSelect there should be
made compatible.
2) Removal of png images no longer needed for old browsers.
Bug: T261973
Change-Id: Ie316cc627178dde15d22607b2099d0da96dd6fda
This refactor will allow us to separate these two functions so that
the modernized version of Vector can avoid loading the compact
language list.
Changes:
* `options` is now optional to the CompactInterlanguageList constructor
The max value is already defined in
CompactInterlanguageList.prototype.init
* this.interlanguageList is now initialized inside the constructor
Previously calling CompactInterlanguageList.prototype.createSelector
or getCompactList before calling init would throw an exception.
This will be important in I0518ecdf402ebf5eb6bad2c430f6462322c0d8e1 when
the responsibilities of wiring up the button and compacting the languages
is separated.
Bug: T264824
Change-Id: I9606df30a050d0cdaf7add2deff849cd5b895bab
This module is just an alias at this point. It's only consumer
is taken care of in the depends on.
Depends-On: I7c362ad391b076d3c4214c7b01fca7bbaaa320b9
Change-Id: I842c1ba10b24967a3888107806788f7e7844339b
ext.uls.preferences only depended on ext.uls.common because of its
use of the uls global. This is unnecessary, and made clearer by using
require and module.exports to access it.
Change-Id: Ied2a1b560d19a18529fd766ced778c912199fa2f
As a precursor to incorporating a new language switcher in the new
version of Vector I'd like to improve the performance of loading
the switcher.
It seems most code can be deferred until the language selector
button is clicked.
This shaves around 30kb of resources off the critical path for
most users. There's potential here for a positive performance
impact so we should follow up the deployment by checking the
associated performance graphs to see if there's improvement.
Note, if the compact personal links feature is enabled
there is no performance saving for now. This will be addressed in follow
ups.
Bug: T153844
Bug: T153845
Bug: T237061
Change-Id: I740600d18859422b2f98a5ef92d0321f6e9615a2
These modules are always loaded together. There is no need to load
them in separate ResourceLoader modules
Change-Id: Ibdf7d1bbd9090ffed6a142055ee684ad97dd6680
Previously UniversalLanguageSelector relied on the targets system
meaning the modules ext.uls.interface,
ext.uls.interlanguage and ext.uls.pt were
loaded on Minerva desktop skin unnecessarily and silently removed
on MobileFrontend which throws a warning.
Instead of doing this, check the skin
Bug: T237036
Bug: T235712
Change-Id: Ib38b041533cf959c3c4c30decc65869995c254fa
Instead use SkinAfterPortlet to force the language portal
to always display. This will work with all Wikimedia deployed skins that
use ULS (note the Minerva skin is not impacted but in future can benefit
from this change)
Depends-On: I438daa79d3d97e2518e6258c3213a805bd1f30e8
Bug: T253178
Change-Id: I2843edde1bb45c70911d5acf2f7dafdff3bac53e
Enable several of the ULS modules so they can be used in a mobile context,
in particular by the Translate Extension
Changes:
* Create a ext.uls.common module that can be loaded safely on mobile
* Only add the ext.uls.init entry point module on desktop (ensured by
the use of targets). On mobile it has no impact other than to increase
the amount of bytes shipped to users.
* Note various modules have not been enabled for mobile usage.
Bug: T102922
Change-Id: If2808886f0bfa153f5918e3c7536e88641028da9
This doesn't appear to be justified due to the one use case. This
will now be done via OOjs UI and given jquery.tipsy is deprecated
it is better to replace it (T117720).
Bug: T119417
Bug: T102922
Change-Id: I60cce248884308bf0728d153f6137a8d25e01300