Introduced in I740600d18859422b2f98a5ef92d0321f6e9615a2.
We need to prevent the default action (navigating a link) so that
our custom code has a chance to run. Before it was synchronous so
it called location.href before default action had a chance to execute.
When it was made asynchronous, the default action got executed before
our custom code.
Change-Id: I292f99aa5f5ff536d8197174c317018462685866
Introduced in I740600d18859422b2f98a5ef92d0321f6e9615a2.
When onSelect was called for the new language, it set dirty to true.
Then the, now delayed, render function reset the dirty status to false.
There is no need to set dirty to false on render, so moved it to the
constructor.
Change-Id: Ibfa23f545c9d358e7e03fb299c238182ea449d7c
These are disabled by default and on production. They are only enabled
in the beta cluster, which is not needed.
Change-Id: Ifa847fd8a1f3d7d2695a7c1c4a1a93f136091604
I noticed some language names are not searchable. I made it so
that autonyms from language-data are added to the search index.
Without this, languages not present in Names.php or in the CLDR
extension are not searchable via the API except by language code.
Change-Id: I51a9e2eb15fb40963e6edbf1db76133d84de7291
Only store reference to the element, where they can easily be read
when needed.
Also removed one unnecessary use of `self` as an alias.
Change-Id: I39fa897002037a6d6478a3fb1f40ac60833e392e
There is a new service called ipstack, but their free option does
not support https, so by default there will not be any geoip service.
Bug: T199106
Change-Id: I9f4e59d736b50760f50c6214e2d191e72406d0d9
Notable changes:
* First query global preferences to detect if global language setting
is in use. If there is no global language setting, or if GlobalPreferences
extension is not installed, it will fall back to changing the language
as usual. If global language setting is found, it will add an override
instead.
* If a local override is added, the undo tooltip is different and links to
the global preferences page. The task design shows mw.notify style popup
located on a bottom right corner (LTR). I deviate from the design and
re-use the old undo tooltip with a different message instead, for
consistency. The message is chosen depending on whether local storage
value `uls-gp` is set to '1' (set in mw.uls.changeLanguage).
* I removed one use of deprecated mediawiki.api.options module. One other
use still remains.
* I changed tooltip text generation from html acrobatics to use
mw.message.parseDom. Because of that I also had to move the click handler
to avoid buildup of click handlers.
* In message documentation fixed acronym -> autonym.
Bug: T198206
Change-Id: Ie2ed792e222be919522bd1cdea98042515a0619d
Both 1.1.4 and 1.1.5 fail. Because of the dotdotdor issue it is
impossibly to know whether the 1.1.5 failures are legitimate.
Change-Id: I813d4767c27ef16bd6fc67577fe722548406cce2
Since we added .i18n() call to upstream, it started overwriting
our text from the default data-i18n. Change data-i18n instead.
Bug: T188860
Change-Id: Ib7e9fb9590ace9c2a4ce2e2afb5a740ae4346be6
It's now possible to tab to "display settings" and "input settings"
and access them with enter or space. Also escape can now be used
to close the settings screen.
The ULS trigger in interlanguage position is a button to get
native accessibility features.
Also removed `mw.hook( 'mw.uls.settings.open' ).fire( 'uls' );` as
it didn't seem very useful and there wasn't immediately obvious
place to put it. The existing click handler could be removed because
the settings dialog themselves place event listeners.
The patch is a bit longer than strictly necessary because the CSS
was mess (rules in different modules, poorly organized) and I had
to bring related rules together to understand them.
Bug: T52793
Change-Id: Id37c2665b1c97b81ef57be27a1abfae0db6b34d5
There is actually a magic word and a parser function. This checks
if all links are excluded (*).
Bug: T186590
Change-Id: Iaf860683f6e3bc9b00d5e8f19b8be7c0f1b20f5b
I was getting the following warning message:
npm WARN grunt-stylelint@0.8.0 requires a peer of stylelint@^7.8.0 but none was installed.
Change-Id: I5e671c5d89d315c3ee691dacda4c85ff3ff710a2
* Store prefixes and infixes separately in the data
* First match language code, then prefixes, then infixes
* Try to use suggestion either in user language or autonym first
* use formatversion=2 to avoid escaping Unicode
Using Language::fetchLanguageName might can have a small
performance impact. On the other hand there is now check
to skip languages we already found, avoiding some fuzzy
matching.
This is in a preparation for a change in jquery.uls to use
the search API more, while trying to reduce the amount of
weird autocompletion suggestions we show to the user.
Bug: T73891
Change-Id: Id94c5352d9a591969bf90144d1d2d5e758d08301
* Translation updates, including new languages
* Improved styling to match WikimediaUI style guide
* Improved handling of "no search results"
Change-Id: Ic74025dad4b81f0377af217ed6ba2f88264dca2f
This should fix the unparsed plural syntax shown in the sidebar
in the Wikipedias (only in production).
Bug: T148117
Change-Id: Idcbecd606e11d23a341421224b3f21fe03bf509e
Especially on Special:CX, where page layout changes soon after load
(for example scrollbars get added when more content loads), the tooltip
would be positioned incorrectly. Now it is more likely to be positioned
correctly, and will get re-positioned again if it is shown again after
being hidden.
Bug: T145483
Change-Id: I527fc62b196e55101950cffcc6ec43926f63aa4a
* Brings new design improvements.
* Also removed some local style overrides in the extension that are
no longer needed and added new ones.
* Localisation updates
Bug: T138235
Bug: T137870
Change-Id: Iecec180ca01a40f0333e5b75914dcdb0c390f6b8
The tipsy class has CSS styling from the tipsy module which do
not work with the OO.ui.PopupWidget. If the tipsy module gets
loaded for some other reason, the display will be slightly broken.
Fixed by renaming the class.
Bug: T96648
Change-Id: Ib0e11098506560f4de1c6402b8c980ad3ebc3879
Create a function for this purpose and use it everywhere where
language code is read from an attribute.
Bug: T143867
Change-Id: I01b6f04dd9185a9f4ab565e96ca5a6a34e4ea14a
Current provider is going away. Switching to another free provider.
Implemented caching with a cookie for speed and to avoid generating
unnecessary load on the service.
Bug: T143542
Change-Id: I191d69a6fb8abe9556f475dfef1368dc9f96b846
* Remove scrolling from positioning code
* Make sure that any calculated default positions also apply to
* modules by updating this.top and this.left.
Bug: T143074
Change-Id: Iffc49674abcca8a8c4a600569a05db1314fae3f6
To keep the average and maximum bucket size low, I made codepoints
< 4000 more granular and code points >= 4000 less granular. This
could be tweaked further for sure to reach more even sized buckets.
Bucket stats before:
- 773 buckets
- smallest has 1 entries
- largest has 1804 entries
- median size is 66 entries
- average size is 45.394566623545 entries
Bucket stats after:
- 698 buckets
- smallest has 1 entries
- largest has 1792 entries
- median size is 16 entries
- average size is 50.272206303725 entries
Change-Id: Id62d93658117564b05294c2fe36ca7c182784859
Serialized format is no longer in style for data. PHP files can
take advantage of AutoLoader and caching so they can even be faster
than serialized files. As side bonus we can have readable diffs
for updates.
Only downside is that the file generation takes about ten lines of
ugly string manipulation.
Change-Id: If09704d1172daa13c72a308814534cac1fe9899f
With this MEÄNKELI with typos=1 finds results.
Updated test case for lowercased result. Renamed variables in test
file for clarity. Updated the default value for MW_INSTALL_PATH to
work with the default layout.
Change-Id: Id93c84d308705f55b4d2378fc8c7b7f243e1b53f
So that it is loaded for compact language links. The ext.mediawiki.uls
module is starting to look very empty now can could be removed easily
in follow-up. ext.uls.init depends on jquery.uls.data so this is safe.
Bug: T139949
Change-Id: Icac10f073e122284723c48782c2a1cf7f10b45ec
Not outputting language codes with proper casing should
be solved upstream in jquery.uls.
Bug: T139795
Change-Id: Ide81c76135b23a031f1f09a33462e767e57a50b0
* Localisation updates.
* Renaming of common languages to suggested languages.
* Addition of language fax.
Bug: T137867
Change-Id: I72f700f562107ad1bfbe797329f4900c191bca20
Inline one loop and remove autonym handling since getting the
translation of a language name in its own language gives the
autonym.
Change-Id: I0c8ff8e3ce0c7f23d123656b091df37aa71b2cd7
jquery.ime to 80f513ecc
* Input method name change
jquery.i18n to 7daaceb
* Some code style changes
* Do not include non js-files (none of the other libs do either)
jquery.uls to 20eea5de
* Improved langdb territories
Change-Id: Id3bcc4f1fe3ec255d2baea7f6096ee9a34fcffc3
Let them assume normal size with regular padding. In the case that
the buttons do not fit one line, some will overflow to the second
line. In my opinion that looks less ugly than irregular padding
and truncated language names.
Bug: T136273
Change-Id: I26dd7745ac03e1b940348b318d74d0a2bd27e1a3
`font-size: 11pt` was always overrules by another style. Removed it
and moved rest of settings-* styles to languagesettings.css where
they belong.
Bug: T136273
Change-Id: I4d8fa6ff9f4fc2b6e2ee577d795a28cb8197b3cb
The top border was shorter than the others, fixed by using CSS
applied to the first element instead of the parent.
Bug: T136273
Change-Id: Ic894ef99ef2c88a23d6db65b68327fd903473038
This gives more space to display/input setting panels and is more
consistent with the padding on the left-side menu as well.
Bug: T136273
Change-Id: I5c0e5e351e370c4c0b19783edc8278250ca3ca76