If there is a search api configured, ULS list all languages that
pass the search irrespective of whether a language is present in
options.languages
Change-Id: I0be80397bb5b4071bc7bc5e787fe107c98e3d912
Addressing issue #207
Such language codes were not listed in ULS language list.
Root cause was $.uls.data.getLanguagesByScriptGroup was returning
a map of script groups, which contained only resolved language codes.
And later in append method of jquery.uls.lcd.js, there is a check if
that language code is part of languages list passed as option to uls()
call. This test fails and the language code does not get added to display.
Change-Id: Iec914a9694a46eef5750ef3af7346d66e052ab77
* The events are suppressed on click of ULS trigger, it is an anti
pattern. It can cause other overlay dialogs, if any, to stay with
ULS and causes UI glitch. This patch just propagates the events and not
eats up.
* The show method was hiding all other ULS dialoges open using a
global $('.uls-menu').hide(). This is again not a good pattern.
A plugin instance should not interfere with other instance's state.
More over, calling jQuery hide() method on menu instead of plugin's
hide method leaves the other plugin instance in a corrupted state.
The plugin hide method does more things than just hiding the menu.
It has a 'shown' book keeping property to update. This kind of
corrupted state was causing bugs like https://phabricator.wikimedia.org/T114123
* While avoiding the above two antipatterns, the way ULS was hidden when
clicked on any 'other' part of body was improved. It now uses event.target
to correctly handle the 'click-outside-hide' logic
All these above changes does not change any existing UX.
Change-Id: I40b355115cbda54a68e8d58d3750fb9f1c3b6920
This makes the magnifying glass icon (search.svg) clickable. Clicking focuses the input field next to the icon, which is the expected, helpful behaviour in my opinion. This is especially helpful with the "compact links" beta feature where the input box is completely invisible and the only remaining indicator that the user can type something is the blinking cursor. If the focus is lost for some reason, this patch allows the user to click the magnifying icon and re-focus the input field again.