]> source.dussan.org Git - jquery-ui.git/commitdiff
Core: Fix JQMIGRATE warning about `jQuery.expr[":"]`
authorEirik Sletteberg <eiriksletteberg@gmail.com>
Fri, 2 Dec 2016 13:41:30 +0000 (14:41 +0100)
committerScott González <scott.gonzalez@gmail.com>
Tue, 2 May 2017 19:28:51 +0000 (15:28 -0400)
This commit polyfills `jQuery.expr.pseudos` for old versions of jQuery.

Fixes #15185
Closes gh-1773

ui/data.js
ui/focusable.js
ui/jquery-1-7.js
ui/tabbable.js
ui/widget.js
ui/widgets/controlgroup.js
ui/widgets/tabs.js

index d0417b8f95006f3e3963e455a3d55462e2d51843..c02e7ffde5e7d34168bea4c909699c6ba38014cd 100644 (file)
@@ -23,7 +23,7 @@
                factory( jQuery );
        }
 } ( function( $ ) {
-return $.extend( $.expr[ ":" ], {
+return $.extend( $.expr.pseudos, {
        data: $.expr.createPseudo ?
                $.expr.createPseudo( function( dataName ) {
                        return function( elem ) {
index cf4f728b8abe6d34fb649cf2dc015c38b6646d2e..b1a7b61e2443799c4529f451b3a4c53cd881a8af 100644 (file)
@@ -73,7 +73,7 @@ function visible( element ) {
        return visibility !== "hidden";
 }
 
-$.extend( $.expr[ ":" ], {
+$.extend( $.expr.pseudos, {
        focusable: function( element ) {
                return $.ui.focusable( element, $.attr( element, "tabindex" ) != null );
        }
index bd40e332f13e9eaee31c60b5db84e92be4ccecba..5e7907a15917da3b364b5bded581a04fb042f2bf 100644 (file)
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI Support for jQuery core 1.7.x @VERSION
+ * jQuery UI Support for jQuery core 1.7.x and newer @VERSION
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
@@ -86,4 +86,16 @@ if ( $.fn.jquery.substring( 0, 3 ) === "1.7" ) {
        };
 }
 
+// Support: jQuery 1.9.x or older
+// $.expr[ ":" ] is deprecated.
+if ( !$.expr.pseudos ) {
+       $.expr.pseudos = $.expr[ ":" ];
+}
+
+// Support: jQuery 1.11.x or older
+// $.unique has been renamed to $.uniqueSort
+if ( !$.uniqueSort ) {
+       $.uniqueSort = $.unique;
+}
+
 } ) );
index 3baa641ce868766bb4a68b4570bdf2a35331710c..bb79466e8c353d777d3929426cf0385ce0d3010a 100644 (file)
@@ -24,7 +24,7 @@
        }
 } ( function( $ ) {
 
-return $.extend( $.expr[ ":" ], {
+return $.extend( $.expr.pseudos, {
        tabbable: function( element ) {
                var tabIndex = $.attr( element, "tabindex" ),
                        hasTabindex = tabIndex != null;
index 011396811983cd723cea891218d4041abce87764..c101e59d4c17ce2a116f4b48e870ee80dc360699 100644 (file)
@@ -65,7 +65,7 @@ $.widget = function( name, base, prototype ) {
        }
 
        // Create selector for plugin
-       $.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) {
+       $.expr.pseudos[ fullName.toLowerCase() ] = function( elem ) {
                return !!$.data( elem, fullName );
        };
 
@@ -517,7 +517,7 @@ $.Widget.prototype = {
                                current = that.classesElementLookup[ classes[ i ] ] || $();
                                if ( options.add ) {
                                        bindRemoveEvent();
-                                       current = $( $.unique( current.get().concat( options.element.get() ) ) );
+                                       current = $( $.uniqueSort( current.get().concat( options.element.get() ) ) );
                                } else {
                                        current = $( current.not( options.element ).get() );
                                }
index 6f357948d94cc2ff8894bea272a2a9d258d68b37..c79f3fcaf22330501e1427698e9f8c84d30f5b03 100644 (file)
@@ -150,7 +150,7 @@ return $.widget( "ui.controlgroup", {
                                } );
                } );
 
-               this.childWidgets = $( $.unique( childWidgets ) );
+               this.childWidgets = $( $.uniqueSort( childWidgets ) );
                this._addClass( this.childWidgets, "ui-controlgroup-item" );
        },
 
index 58a65ebe806c793758549d444ba0c31013d784f6..14f94ae836c963955f88b60494ac4a84914be4ab 100644 (file)
@@ -96,7 +96,7 @@ $.widget( "ui.tabs", {
                // Take disabling tabs via class attribute from HTML
                // into account and update option properly.
                if ( $.isArray( options.disabled ) ) {
-                       options.disabled = $.unique( options.disabled.concat(
+                       options.disabled = $.uniqueSort( options.disabled.concat(
                                $.map( this.tabs.filter( ".ui-state-disabled" ), function( li ) {
                                        return that.tabs.index( li );
                                } )