Commit Graph

103 Commits

Author SHA1 Message Date
Santhosh Thottingal
d4de09ffb9 Improve the hide-show logic of ULS
* 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
2015-10-06 10:35:05 +05:30
Amir E. Aharoni
f724e4a289 Remove unnecessary semicolon 2015-04-08 09:41:17 +03:00
Amir E. Aharoni
eb4f8ff251 Make language count calculation only in core.js 2015-03-31 10:20:34 +03:00
Amir E. Aharoni
c81561b3fc Refactor the object keys counter function 2015-03-14 23:20:09 +02:00
Amir E. Aharoni
b6a30c3d44 Restore support for IE8
IE8 does not support Object.keys.

https://phabricator.wikimedia.org/T86516

Copying the patch from Gerrit:
https://gerrit.wikimedia.org/r/#/c/184316/
2015-02-26 10:46:35 +02:00
thiemowmde
5e1a17c78c Make magnifying glass icon clickable
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.
2015-01-30 12:05:35 +01:00
Santhosh Thottingal
3469f31235 Remove a dangling comment line
Change-Id: I7106f64b553e167554424e9a3d8687d22d8e4f82
2014-12-23 15:23:45 +05:30
Santhosh Thottingal
10777bb25e Remove unused region filter reference
Change-Id: I130e03bb7ea8bf24e6681fdd8a329c25941ca035
2014-12-22 16:40:20 +05:30
Santhosh Thottingal
107621319d Reduce the title height by moving close button to same row
Change-Id: Id5af0c0bc5654f4ef7decf4712d8eb46ef70933c
2014-12-22 16:39:44 +05:30
Santhosh Thottingal
499c30d0ea Merge branch 'uls-remove-map' of https://github.com/santhoshtr/jquery.uls into santhoshtr-uls-remove-map
Change-Id: Ie59e2a59225873b5cf432df526cbfc135e539d32
2014-12-22 14:51:46 +05:30
Amir E. Aharoni
f21f103de3 Simplify getMenuWidth() 2014-12-09 13:57:03 +02:00
Amir E. Aharoni
3c93da564c Select the menu width automatically
A follow-up to https://phabricator.wikimedia.org/T76196 .
2014-12-09 13:18:21 +02:00
Amir E. Aharoni
b55bc61dc7 Grid-compatible adjustable columns 2014-12-02 22:16:09 +02:00
Amir E. Aharoni
752a295ee2 Allow sending the number of lcd columns as a parameter
This is needed for https://phabricator.wikimedia.org/T76196
and may also nbe useful for many other features.
2014-12-02 13:23:22 +02:00
Santhosh Thottingal
7346469e20 Add decorator option for language links
Callback function to be called when a language link is prepared
Can be used for custom decoration.
Arguments:
(a) the $language - the language link jQuery object
(b) languageCode

The function can do any styling, changing properites etc on the passed link.
See examples/decorator.html for example usage.

Change-Id: I5a67654440a07cf7dfac683e22dcb5000ded0bfe
2014-09-22 12:32:05 +05:30
Santhosh Thottingal
c2b68e8cbc Remove the region selector feature
* Maps removed from UI
* From no-results UI, removed the links to navigate by clicking region names
* Removed the $.fn.regionSelctor plugin, Retained the RegionSelector class
* Removed all related css for the removed UI parts
* Reduced the padding for main ULS title so that the top header takes less height
* And a dozen of related changes

Change-Id: I8ac89ebe380047ca267e5c7720c2eaa3da080e9d
2014-07-27 20:29:01 +05:30
Santhosh Thottingal
abc82945c1 Bring back the clear icon for clearing the search
Caused by a class rename

Change-Id: If4fa0bc14ca890e43182993f8bdd5ddb9de62417
2014-06-03 09:28:43 +05:30
Santhosh Thottingal
36478fa55a Fix css class names in the template
Somehow missed in previous merges

Change-Id: I700f53b6d9d78f7b5db88d880c151139bfb7e4dc
2014-05-22 09:33:12 +05:30
Santhosh Thottingal
7d38ed9bde Merge branch 'master' of github.com:wikimedia/jquery.uls 2014-05-18 10:21:39 +05:30
Santhosh Thottingal
9599ed7d26 Fix the jQuery migration warnings
Remove the spaces in the beginning of html template strings.
$( html ) require html to start with  '<'

See https://bugzilla.wikimedia.org/show_bug.cgi?id=65400

Change-Id: I93eaf41390ab72fcae1b8d4015585bc4f82e6f8a
2014-05-18 10:20:07 +05:30
Santhosh Thottingal
d352b73c37 Merge pull request #145 from edg2s/patch-3
Consistently use this when scope allows it
2014-04-29 09:16:10 +05:30
Santhosh Thottingal
c7c938cf4c Merge pull request #143 from edg2s/patch-1
Always close with 'cancel' method
2014-04-26 16:59:26 +05:30
Santhosh Thottingal
04d11ea53f Remove the unused option menu
Fixes issue #140

Change-Id: Idc04a45b97837c5f9bd1f975b6668b6539df0752
2014-04-26 16:57:23 +05:30
Ed S
f0be8b5425 Consistently use this when scope allows it
We have uls = this for scoping, but then we randomly switch between the two, even when 'this' is allowed. We only need to used the local variable in un-proxied anonymous functions.
2014-04-22 14:59:46 -07:00
Ed S
2c0f4e1114 Only use default pos if top/left are undefined
Allows 0 (which is falsey) to be passed as an offsets. Fixes #141
2014-04-22 00:23:38 -07:00
Ed S
ad1be8c0af Always close with 'cancel' method
So that the onCancel callback is useful. Fixes #142
2014-04-22 00:14:39 -07:00
Santhosh Thottingal
cfba32afb5 Remove developer console logs when unknown language found
They are happening whenever ULS triggers, or maybe whenever it loads. It's
pretty annoying.

See https://bugzilla.wikimedia.org/show_bug.cgi?id=45047

Change-Id: Ia58083f02d61e3b621112352e88d9e7cbfb2f0c0
2013-11-25 20:08:40 +05:30
Santhosh Thottingal
33ec9285e3 Use events instead of callbacks for success or no results
Allows extension users to bind for this event, also reduces callbacks

Change-Id: I14cc6d51ad23432956e3ea3275c72db26d71a8c8
2013-08-15 12:16:12 +05:30
Amir E. Aharoni
601a5256b8 Add missing semicolon 2013-07-08 00:23:54 +03:00
MatmaRex
8a1e3eb18e Remove lazyload functionality entirely
It was merely a stopgap solution to the problem of the dialog taking
forever to load. With that problem solved all of this awful code is no
longer needed.
2013-06-27 16:31:50 +05:30
MatmaRex
8341bb8e21 Disable lazyload for language list
The loading should be fast enough now after Id9397631 is merged,
taking no more than a second or two to render entirely. We could
consider showing a spinner while it's loading, but it doesn't seem
necessary.

This makes bug 39923 invalid.
2013-06-27 16:30:17 +05:30
Santhosh Thottingal
fa667f0c14 Improve the scroll to view port logic
Do minimal scroll when top of the window is out of view

Change-Id: I8a2eb01451961655b651d53763356bd7e0aa5abf
2013-06-12 09:02:09 +05:30
Santhosh Thottingal
5541608278 Smooth scrolling for ULS window to viewport
provide a jquery plugin function $.fn.scrollIntoView

Change-Id: Id0e5d3b385a13ab38089f8ae82e886c29a35e27a
2013-06-05 17:54:41 +05:30
Santhosh Thottingal
db87f74096 Scroll the window to view
Change-Id: I13afd396007f951c105156373ea0c961ec4e712d
2013-05-31 14:38:08 +05:30
Santhosh Thottingal
9a98249d2e Merge branch 'master' of github.com:wikimedia/jquery.uls 2013-05-24 17:16:40 +05:30
Santhosh Thottingal
dceb664b04 Clear the search once a search and selection is done
See https://bugzilla.wikimedia.org/show_bug.cgi?id=48151

Change-Id: I7b354835c7ff438bb665ca6f9b62da6ff5059e1c
2013-05-24 17:12:54 +05:30
Amir E. Aharoni
64cc7969a7 Use the supplied position values instead of hardcoded 2013-04-26 16:11:12 +03:00
Amir E. Aharoni
6309d1889b Comments format 2013-04-25 14:48:37 +03:00
Amir E. Aharoni
a568b3244e Rename the hook to "visible" and add documentation 2013-04-25 13:29:25 +03:00
Amir E. Aharoni
b28bed9bb5 Add an afterShowing hook
A hook that can optionally run after the ULS menu is shown.
There are things that cannot be done in ready(), because
the style may not have been initialized yet.
2013-04-23 22:43:14 +03:00
Amir E. Aharoni
62cab27eb2 Leave only one var statement per scope 2013-04-22 14:40:12 +03:00
Santhosh Thottingal
0340e609a0 Expose compact mode as an option
* some minor space cleanup
* Also close the ULS window when clicked outside

Change-Id: I06b465926196f79e47990e80e3b23f5a16474ba3
2013-03-15 14:57:19 +05:30
Siebrand Mazeland
66d84936f9 Merge pull request #74 from amire80/coding_conventions
Coding conventions, cleanup
2013-02-07 21:01:24 -08:00
Pau Giner
7e800eb836 Settings at the bottom of the ULS
Moves the settings block at the bottom of the ULS dialog in order
to distinguish more clearly the selection and configuration regions.
2013-02-06 10:35:48 +01:00
Amir E. Aharoni
e40ca2e885 Whitespace, JSHint, removed unused function 2013-01-13 23:32:40 +02:00
Santhosh Thottingal
0e61876af5 Merge branch 'extra_languages' of git://github.com/amire80/jquery.uls into amire80-extra_languages
Conflicts:
	src/jquery.uls.data.js
	src/jquery.uls.data.utils.js

Change-Id: I9c321891707b0d68328f4e4c8be1bd451794072d
2013-01-07 15:45:48 +05:30
Amir E. Aharoni
d4ef33d4f8 Merge pull request #58 from amire80/whitespace
Whitespace
2013-01-02 23:09:40 -08:00
Amir E. Aharoni
49436026d8 Whitespace 2013-01-02 18:48:02 +02:00
Amir E. Aharoni
829c827483 Adding a special region
This is supposed to allow adding special languages.

This region's section is hidden by default and can be enabled by
passing different options to the lcd object.
2013-01-02 12:58:29 +02:00
Amir E. Aharoni
e78a2507d7 Whitespace 2012-12-30 20:34:32 +02:00