Commit Graph

147 Commits

Author SHA1 Message Date
Michał Gołębiowski-Owczarek
70dae67b73
Build: Migrate from JSHint & JSCS to ESLint
Fixes #15393
Closes gh-1958
2021-06-07 00:58:12 +02:00
Michał Gołębiowski-Owczarek
e7a10c70ae
Tests: Ensure no timers are running at the end of each test (#1920)
This helps fix issues that make tooltip tests sometimes fail when run against
jQuery 3.2 or newer due to timing differences.

Details:
* Add the `moduleAfterEach` function ensuring no timers are running.
* Attach this function via `common.testWidget`.
* Attach this function to most test suites.
* Add a tooltip test helper cleaning up leftover timers.
* Rename legacy `setup`/`teardown` hooks to `beforeEach`/`afterEach`.

Closes gh-1920
2020-05-16 09:16:24 +02:00
Michał Gołębiowski-Owczarek
f4ef03e57e
All: Resolve most jQuery Migrate warnings
Closes gh-1919
2020-05-16 08:36:55 +02:00
Michał Gołębiowski-Owczarek
0c860b0d92
All: Remove usage of jQuery positional selectors
jQuery positional selectors () have been deprecated in
[jQuery 3.4.0](https://blog.jquery.com/2019/04/10/jquery-3-4-0-released/)
and they'll be removed in jQuery 4.0.0. This PR removes their usage.

Most of the changes were possible without changing public API. However,
dropping `:even` usage required a change to the
[`header` option](https://api.jqueryui.com/accordion/#option-header)
of the accordion widget. I made it an optional function; this will need
to be documented.

The polyfill for `.even()` & `.odd()` is added for jQuery <3.5.0. There was
no usage of the :odd selector in the code but the `.odd()` method is also
polyfilled for completeness.

Closes gh-1904
2020-01-22 16:44:34 +01:00
Michał Gołębiowski-Owczarek
98b539171b All: Migrate away from deprecated/removed Core APIs
Summary of the changes:

* Build: Add jQuery 3.2.0-3.4.1 to versions UI can be tested against
* Build: Load jQuery & Migrate via HTTPS
* Build: Add package-lock.json to .gitignore
* Build: Update jQuery Migrate from 3.0.0 to 3.1.0
* Build: Allow to run tests against jQuery 3.x-git
* Build: Fix formatting according to JSCS rules
* Build: Disable JSCS for the inlined jQuery Color
* All: Switch from $.isArray to Array.isArray (jQuery.isArray will be
  removed in jQuery 4.0)
* All: Switch from `$.isFunction( x )` to `typeof x === "function"`
  (jQuery.isFunction will be removed in jQuery 4.0)
* All: Inline jQuery.isWindow as it'll be removed in jQuery 4.0
* Effects: Fix a timing issue in a variable declaration. Previously,
  a jQuery object was created, chained & assigned to a variable that
  was then accessed in a callback used inside of this chained
  definition. Due to a timing difference in when the callback fired for
  the first time in latest jQuery master, it was being called before
  the variable was defined.
* Tests: Make dialog & draggable unit tests less strict (newest jQuery
  returns fractional results in some cases, making comparisons fail when
  there's a tiny difference)
* All: Migrate from $.trim to bare String.prototype.trim (jQuery.trim
  will be deprecated in jQuery 3.5)

Closes gh-1901
2019-12-08 22:23:08 +01:00
Scott González
a3e953b495 Menu: Don't focus dividers when wrapping via keyboard navigation
Fixes #15157
Closes gh-1804
2017-05-02 15:12:04 -04:00
Scott González
0d25a36eec Menu: Close menus immediately on selection or click outside
Fixes #15034
Closes gh-1807
2017-04-25 06:33:00 -04:00
Scott González
3c860f95aa All: Replace non-breaking spaces with regular spaces 2016-06-08 13:03:42 -04:00
Amanpreet Singh
8127030ed4 Menu: Shift to use no globals 2016-04-14 00:08:28 +05:30
Scott González
57f801f1de Menu: Don't reset active element until after triggering blur event
This ensures that `ui.item` actually exists in the `blur` event.

Fixes #14945
Closes gh-1696
2016-04-13 11:08:21 -04:00
Jörn Zaefferer
4866e14922 Menu: Remove active class from top-level item when menu is blurred
This issue was introduced by 0bbd156918,
which reduced the use of ui-state-focus and ui-state-active to using
only ui-state-focus. This introduced the issue addressed here.

The fix is more of a workaround. With test test in place, we can
investigate a better solution in the future.

Fixes #14919
2016-03-11 18:27:58 +01:00
Alexander Schmitz
85ff520560 Menu: Style updates
Ref #14246
2015-09-11 08:29:08 -04:00
Alexander Schmitz
3b99bf4cc8 Menu: Style updates
Ref #14246
Ref gh-1588
2015-08-21 08:06:23 -04:00
Alexander Schmitz
8140d0c901 Menu: Move menu into widgets folder
Ref #13885
2015-08-08 00:29:38 -04:00
Alexander Schmitz
cdbce0c724 Menu: Remove core event/alias and deprecated module dependencies 2015-05-20 14:27:56 -04:00
Scott González
6231b161b9 Tests: Fix AMD loading in IE8
It appears that we must load require.js via a standard script tag in order
for it to work properly in IE8.
2015-04-17 12:13:38 -04:00
Scott González
bde431bb44 Tests: Rename files
Ref gh-1528
2015-04-09 09:27:00 -04:00
Scott González
dc4b015a8b Tests: Widget test helpers extend the main helper
Ref #10119
Ref gh-1528
2015-04-09 09:26:58 -04:00
Scott González
f2ca8f92f0 Menu: Convert tests to new infrastructure
Ref #10119
Ref gh-1528
2015-04-09 09:26:26 -04:00
Jörn Zaefferer
c770605db0 Menu: Ignore bubbled mouseenter events on parent items
Test uses QUnit 2.x API - inconsistent with the other tests, but also
a good reference.

Fixes #11641
Closes gh-1535
2015-04-08 16:34:26 +02:00
Scott González
500f6b4992 Tests: Switch to the new qunit-composite module
This module was created from our existing implementation.

Closes gh-1532
2015-04-07 09:03:36 -04:00
Scott González
899d90709a Tests: Handle jQuery git returning null for empty attributes
jQuery now returns `null` for empty attributes instead of `undefined`.

Closes gh-1516
2015-03-25 15:55:53 -04:00
Alexander Schmitz
144826d175 Menu: Use new has/lacksClasses assertions for all class checks 2015-03-11 16:05:40 -04:00
Alexander Schmitz
2ebef69efe Menu: Add classes option
Ref #7053
Ref gh-1411
2015-03-11 16:04:42 -04:00
Alexander Schmitz
c192d4086d Widget: Add classes option and _add/_remove/_toggleClass methods
Fixes #7053
Closes gh-1411
2015-03-11 16:00:04 -04:00
Jörn Zaefferer
666f051c3a Tests: Reduce timeouts to optimize testsuite runtime 2015-03-04 23:04:07 +01:00
Jörn Zaefferer
2aabd427eb Tests: Fix style issues with missing or multiple line breaks
As pointed out by jscs, after a esformatter run. The latter doesn't
address these, so fixing them manually.
2015-01-24 17:10:20 +01:00
Jörn Zaefferer
0bbd156918 Menu: Use ui-state-active consistently
So far we were using ui-state-active on active parent items,
ui-state-focus on active child items. The theme update highlighted the
visual inconsistency. With this change, only ui-state-active is used.

Fixes #10692
2015-01-21 18:07:43 +01:00
Lisa Seacat DeLuca
2500bb39c2 Theme: Carat should be named caret
Fixes #10683
Closes gh-1382
2014-11-03 13:40:58 -05:00
TJ VanToll
de2ef2a585 Menu: Wrap menu items in a <div>
This avoids styling issues where ui-state-focus rules apply to submenus.

Fixes #10162
Closes gh-1342
2014-10-25 10:10:30 -07:00
Scott González
6d7589351e All: Drop support for IE7
Fixes #9838
Closes gh-1365
2014-10-21 09:06:58 -04:00
Trisha Crowley
c48b18b388 Menu: Typeahead now accounts for leading whitespace
Fixes #10649
Closes gh-1356
2014-10-07 07:45:01 -04:00
TJ VanToll
6b6b49f678 Menu: Maintain focus on already selected item during typeahead
Fixes #10644
Closes gh-1354
2014-10-03 09:30:49 -04:00
Simen Bekkhus
e3e5a9ffa6 Menu: Filter out non-items when typing
Fixes #10571
Closes gh-1329
2014-09-29 14:36:46 -04:00
Mike Sherov
aa425ab95d Build: Pull in jquery.simulate.js from Bower
Fixes #10563
2014-08-22 17:01:50 -04:00
Scott González
c017628e11 Tests: Fix composite tests 2014-08-01 12:25:14 -04:00
Scott González
6df127a0b5 Build: Reorganize external directory
Put each external library into its own directory.
Move jquery.js to external.

Ref gh-1266
2014-06-24 22:45:32 -04:00
Jörn Zaefferer
a40647f0e5 All: Rename jquery.js to exclude version in filename 2014-03-05 10:19:11 +01:00
Jörn Zaefferer
822f3cd9d0 Tests: Update to sane QUnit markup 2014-02-20 17:05:02 +01:00
Rafael Xavier de Souza
21154cfa2e All: Rename all files, removing the "jquery.ui." prefix;
- By executing https://gist.github.com/jzaefferer/893fcf70b7eebc1dc271;

Fixes #9464
Closes gh-1029
2014-01-24 18:22:49 -02:00
Jörn Zaefferer
fe7c300374 Menu: Remove click binding that was supposed to prevent default on anchor clicks on a disabled menu. Not relevant anymore since we removed the anchors. Partial fix for #8802 - Dev: Track down uses of .bind() inside widgets 2013-12-03 21:54:08 +01:00
Scott González
25f16855ba Menu tests: Fix line height issue in IE7 2013-12-03 10:47:01 -05:00
Scott González
6a74bf9929 Menu tests: Force line height to ensure we know how many items will be scrolled. 2013-11-20 11:14:27 -05:00
Jörn Zaefferer
3945a8f074 Menu: Update unit test that regressed from style changes (see 9910e938aa) 2013-11-15 12:51:10 +01:00
Kris Borchers
52307ebadb Menu: More precise removal of ui-state-active class for easier CSS overrides. Fixes #9532 - Need a way in Menu to keep ui-state-active class on selected item 2013-10-18 22:14:49 -05:00
Kris Borchers
31e705ab32 Menu: Add items option for better definition of menu items in non parent-child structures 2013-10-05 21:52:31 -05:00
Kris Borchers
3a61627a50 Menu: Remove the requirement to use anchors in menu items 2013-10-05 21:52:30 -05:00
Kris Borchers
485e0a0612 Menu: Only focus menu after click if focus is on an element within menu. Fixes #9044 - Menu: Autofocus issue with dialog opened from menu widget 2013-09-17 13:03:18 -05:00
TJ VanToll
afdf898659 Menu tests: jshint cleanup of unused argument 2013-08-03 17:52:11 -04:00
TJ VanToll
484e382259 Menu: Only set the mouseHandled flag if the event is going to bubble. Fixes #9469: on( "menuselect" )
not firing every time.
2013-08-03 17:43:30 -04:00