Abijeet 03cf7863ec Stop propagating first click handler when loading languagesettings
The languagesettings dialog does not open when clicking the
uls.trigger for the first time. This issue occurs when the user is
not logged in, ULSPosition is personal, and ULSAnonCanChangeLanguage
is false.

Without this change, the following happens:
* uls.languagesettings is loaded via uls.interface
* uls.languagesettings::hide is called via uls.languagesettings::init
* click method is triggered immediately via script in uls.interface
* uls.languagesettings::show is called
* uls.languagesettings::hide is called - triggered via ::show
  method - $( document.documentElement ).trigger( 'click' ); but
  dialog is not visible yet, so this does nothing
* uls.languagesettings::show displays the uls.languagesettings
* hide method called again via click handler for documentElement

With this change in place the hide method is not called again due to
e.stopPropagation();

Additionally add a parameter autoOpen that can be set to open the dialog
automatically.

Bug: T301882
Change-Id: I54e8172ae017c4a9c6ab5b841d9328b2f24f97a8
2022-03-08 09:39:43 +00:00
2022-02-08 20:16:54 +00:00
2022-03-06 14:41:56 +00:00
2021-08-16 06:00:28 +00:00
2022-01-10 11:48:24 +05:30
2022-01-10 07:38:58 +00:00
2021-04-07 11:10:07 +00:00
2016-10-24 17:04:00 -07:00
2022-01-31 08:07:55 +00:00
2012-07-18 15:29:17 +03:00

== Universal Language Selector ==
The Universal Language Selector extension (ULS) provides a flexible way to
configure and deliver language settings like interface language, fonts, and
input methods (keyboard mappings). This will allow users to type text in
different languages not directly supported by their keyboard, read content in a
script for which fonts are not available locally, or customise the language in
which menus are displayed.

For more information see:
 https://www.mediawiki.org/wiki/Universal_Language_Selector

== Copying ==
You may use any Project Milkshake product, including the Universal Language
Selector, under the terms of either the MIT License or the GNU General Public
License (GPL) Version 2 or later.

See GPL-LICENSE and MIT-LICENSE for details.

== Installation ==
For a very, very quick start add the following lines to LocalSettings.php of
your MediaWiki setup:

wfLoadExtension( 'UniversalLanguageSelector' );

By default, ULS will appear at personal toolbar position. If you want ULS at
interlanguage position, add the following line:

$wgULSPosition = 'interlanguage';

== Developers ==
The MediaWiki Universal Language Selector project uses jquery.uls:
 https://github.com/wikimedia/jquery.uls

Its development is at Wikimedia Github account. Any fixes to lib/ should happen
at Github. Follow the build instructions of jquery.uls to create jquery.uls.js.

Bugs for the extension are handled in Phabricator:
 https://phabricator.wikimedia.org/tag/mediawiki-extensions-universallanguageselector/
Languages
JavaScript 79.4%
HTML 11.9%
PHP 4.7%
Less 2.5%
CSS 1.4%
Other 0.1%