Commit Graph

36 Commits

Author SHA1 Message Date
Tim Werdin
cc6a600067 Fixes removing the namespace from an event name 2022-09-01 15:21:46 +02:00
Michał Gołębiowski-Owczarek
0df6e65830
All: Update JS Foundation mentions to OpenJS Foundation
Closes gh-2104
2022-07-19 09:36:55 +02:00
Michał Gołębiowski-Owczarek
0c5becce0e
Widget: Optimize attachment of the _untrackClassesElement listener
jQuery UI 1.13.0 changed the logic attaching the `_untrackClassesElement`
listener in the `_classes` widget method; one of the side effects was calling
`this._on` for each node that needed the listener. That caused a severe
performance degradation for large comboboxes as each `_on` jQuery UI call
causes a jQuery `add` call that calls Sizzle's `uniqueSort` underneath.

Instead, collect the nodes that need the listener and then, outside of the loop,
create a jQuery object out of them and attach the listener once. That's still
slower than the jQuery 1.12 version but only slightly: 936 ms to 1.03s on a very
large list on a recent MacBook Pro, compared to ~30 seconds before this patch.

Fixes gh-2014
Closes gh-2037
2022-01-15 01:26:23 +01:00
Michał Gołębiowski-Owczarek
ed637b04d7
Widget: Make contextless widget construction work
Due to the fact the widget factory code is now in strict mode, the check for
being called without using the `new` keyword started breaking if you save the
widget constructor to a variable before calling it:
```js
var customWidget = $.custom.customWidget;
customWidget( {}, elem );
```
as then `this` is undefined and checking for `this._createWidget` crashes.
Account for that with an additional check.

Fixes gh-2015
Closes gh-2019
2021-11-19 00:47:56 +01:00
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
Hrvoje Novosel
2434dfd45d Widget: Fix boolean option when under use strict
Fix for `options === true` when using jQuery UI under `use strict`,
which throws:
```
Uncaught TypeError: Cannot create property 'complete' on boolean 'true'
```
on line:
```js
options.complete = callback;
```

Closes gh-1931
2020-10-06 14:54:13 +02: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
Eirik Sletteberg
0b7246b6ee Core: Fix JQMIGRATE warning about jQuery.expr[":"]
This commit polyfills `jQuery.expr.pseudos` for old versions of jQuery.

Fixes #15185
Closes gh-1773
2017-05-02 15:28:51 -04:00
Scott González
b3c0a7f71d Widget: Handle Object.create(null) for options objects
Fixes #15179
Closes gh-1809
2017-04-24 12:41:29 -04:00
Scott González
ef2e9bab92 Widget: Improve remove event bindings for classes options
Fixes #15078
Fixes #15082
Fixes #15095
Fixes #15136
Fixes #15152
Closes gh-1769
2017-04-19 12:53:53 -04:00
Scott González
1f2011ece3 Widget: Don't swallow errors in remove events
The try/catch was only there to support jQuery <1.6.3, which we no
longer support.

Ref jquery/jquery#3554
2017-02-28 09:51:59 -05:00
Alexander Schmitz
89af4c292e Widget: Untrack classes elements when they are removed from the DOM
Fixes #15043
Closes gh-1744
2016-09-13 15:11:34 -04:00
Scott González
3dd8a09b44 Widget: instance() should return undefined for empty sets
Fixes #15019
2016-08-04 09:04:49 -04:00
Alexander Schmitz
c4e5d73b36 Widget: Fix line length issues
Ref gh-1690
2016-04-13 11:31:58 -04:00
Jörn Zaefferer
cb69f0025f All: Fix manifest issues for categories and CSS dependencies
Collapses "UI Core" and "Core" into just "Core".

Fixes bad paths for CSS dependencies. Regressed when moving widgets
into the widgets subfolder.
2015-10-23 09:09:51 -04:00
Scott González
7dde5c9d75 Widget: Call ._setOptionDisabled() on init if the widget is disabled
Fixes #9151
Ref gh-1599
2015-09-25 13:46:25 -04:00
Scott González
e19d462f16 All: Delegate to base _getCreateOptions().
Ensures that any extensions to the base widget will be handled properly by
individual widgets.

Closes gh-1598
2015-09-17 08:47:28 -04:00
Scott González
d31e342e1d Widget: Style updates
Closes gh-1597
2015-09-16 12:45:54 -04:00
Alexander Schmitz
806c2a4606 Widget: Update to use camelCase identifiers 2015-09-11 08:36:41 -04:00
Alexander Schmitz
b5f0fae57a Widget: Style updates
Ref #14246
Ref gh-1588
2015-08-21 08:06:24 -04:00
Alexander Schmitz
3d71fb83fe Core: Move version and creation of the ui namespace into its own module
Ref #9647
2015-08-08 00:29:35 -04:00
Alexander Schmitz
e543253468 Widget: Remove core event/alias and deprecated module dependencies 2015-05-20 14:27:57 -04:00
Scott González
556b2710f0 Widget: Support mixins
Fixes #12601
Closes gh-1554
2015-05-14 20:36:00 -04:00
Jörn Zaefferer
bf6bbcdced Widget: Fix style issues
Closes gh-1500
2015-03-18 12:38:02 +01: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
9d0f44fd7b All: Drop support for jQuery 1.6.x
Affects core, effects, position and widget. Only position has unit tests
that fail with jQuery 1.6 without the workaround.

Drops the 1.6.x copies jQuery of jQuery and removes them from the select
in the testsuites.

Fixes #10723
Closes gh-1422
2015-01-13 15:05:54 +01:00
Anne-Gaelle Colom
c89cb74893 Build: Remove dates from copyright notice
Closes gh-1403
2015-01-02 09:02:12 -05:00
Giovanni Giacobbi
713688dccd Widget: Improve readability in $.widget.bridge()
Closes gh-1409
2014-12-31 10:50:03 -05:00
Scott González
b5f1ffdea4 Build: Remove manifest files; move metadata to source files
Closes gh-1379
2014-11-10 13:19:03 -05:00
Alexander Schmitz
1abf9fc71f Widget: Ensure window and document are defined in _getCreateOptions()
Closes gh-1320
2014-08-27 09:08:01 -04:00
Scott González
b397294d42 Widget: Avoid memory leaks when unbinding events with ._off()
Ref #10056
Ref gh-1319
2014-08-21 09:06:41 -04:00
Jörn Zaefferer
54004c85d0 Build: Update jscs and fix some code style issues
Disables the checks for casing and line length, since those need a lot
more effort to address. For variable naming the fix isn't obvious to me.
There's way too many lines over 100 chars.
2014-08-14 14:12:12 +02:00
Frederik Elvhage
f7429edfe9 Widget: Improve performance of cleanData method
Fixes #9546
Closes gh-1291
2014-07-24 12:07:12 -04:00
Scott González
54323e08e3 Widget: Remove misleading comment 2014-05-14 12:39:45 -04:00
TJ VanToll
83b3d67175 All: Updating copyright year to 2014 2014-01-28 22:25:02 -05: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