diff options
Diffstat (limited to 'vendor/blueimp/jquery-file-upload/js/vendor/jquery.ui.widget.js')
-rw-r--r-- | vendor/blueimp/jquery-file-upload/js/vendor/jquery.ui.widget.js | 742 |
1 files changed, 343 insertions, 399 deletions
diff --git a/vendor/blueimp/jquery-file-upload/js/vendor/jquery.ui.widget.js b/vendor/blueimp/jquery-file-upload/js/vendor/jquery.ui.widget.js index 69096aaa3..914b8ffb8 100644 --- a/vendor/blueimp/jquery-file-upload/js/vendor/jquery.ui.widget.js +++ b/vendor/blueimp/jquery-file-upload/js/vendor/jquery.ui.widget.js @@ -1,29 +1,28 @@ -/*! jQuery UI - v1.12.1+0b7246b6eeadfa9e2696e22f3230f6452f8129dc - 2020-02-20 +/*! jQuery UI - v1.12.1+CommonJS - 2018-02-10 * http://jqueryui.com * Includes: widget.js * Copyright jQuery Foundation and other contributors; Licensed MIT */ -/* global define, require */ -/* eslint-disable no-param-reassign, new-cap, jsdoc/require-jsdoc */ +(function( factory ) { + if ( typeof define === "function" && define.amd ) { -(function (factory) { - 'use strict'; - if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. - define(['jquery'], factory); - } else if (typeof exports === 'object') { + define([ "jquery" ], factory ); + } else if ( typeof exports === "object" ) { + // Node/CommonJS - factory(require('jquery')); + factory( require( "jquery" ) ); } else { + // Browser globals - factory(window.jQuery); + factory( jQuery ); } -})(function ($) { - ('use strict'); +}(function( $ ) { $.ui = $.ui || {}; - $.ui.version = '1.12.1'; + var version = $.ui.version = "1.12.1"; + /*! * jQuery UI Widget 1.12.1 @@ -40,111 +39,105 @@ //>>docs: http://api.jqueryui.com/jQuery.widget/ //>>demos: http://jqueryui.com/widget/ - // 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; - } var widgetUuid = 0; - var widgetHasOwnProperty = Array.prototype.hasOwnProperty; var widgetSlice = Array.prototype.slice; - $.cleanData = (function (orig) { - return function (elems) { + $.cleanData = ( function( orig ) { + return function( elems ) { var events, elem, i; - // eslint-disable-next-line eqeqeq - for (i = 0; (elem = elems[i]) != null; i++) { - // Only trigger remove when necessary to save time - events = $._data(elem, 'events'); - if (events && events.remove) { - $(elem).triggerHandler('remove'); - } + for ( i = 0; ( elem = elems[ i ] ) != null; i++ ) { + try { + + // Only trigger remove when necessary to save time + events = $._data( elem, "events" ); + if ( events && events.remove ) { + $( elem ).triggerHandler( "remove" ); + } + + // Http://bugs.jquery.com/ticket/8235 + } catch ( e ) {} } - orig(elems); + orig( elems ); }; - })($.cleanData); + } )( $.cleanData ); - $.widget = function (name, base, prototype) { + $.widget = function( name, base, prototype ) { var existingConstructor, constructor, basePrototype; // ProxiedPrototype allows the provided prototype to remain unmodified // so that it can be used as a mixin for multiple widgets (#8876) var proxiedPrototype = {}; - var namespace = name.split('.')[0]; - name = name.split('.')[1]; - var fullName = namespace + '-' + name; + var namespace = name.split( "." )[ 0 ]; + name = name.split( "." )[ 1 ]; + var fullName = namespace + "-" + name; - if (!prototype) { + if ( !prototype ) { prototype = base; base = $.Widget; } - if ($.isArray(prototype)) { - prototype = $.extend.apply(null, [{}].concat(prototype)); + if ( $.isArray( prototype ) ) { + prototype = $.extend.apply( null, [ {} ].concat( prototype ) ); } // Create selector for plugin - $.expr.pseudos[fullName.toLowerCase()] = function (elem) { - return !!$.data(elem, fullName); + $.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) { + return !!$.data( elem, fullName ); }; - $[namespace] = $[namespace] || {}; - existingConstructor = $[namespace][name]; - constructor = $[namespace][name] = function (options, element) { + $[ namespace ] = $[ namespace ] || {}; + existingConstructor = $[ namespace ][ name ]; + constructor = $[ namespace ][ name ] = function( options, element ) { + // Allow instantiation without "new" keyword - if (!this._createWidget) { - return new constructor(options, element); + if ( !this._createWidget ) { + return new constructor( options, element ); } // Allow instantiation without initializing for simple inheritance // must use "new" keyword (the code above always passes args) - if (arguments.length) { - this._createWidget(options, element); + if ( arguments.length ) { + this._createWidget( options, element ); } }; // Extend with the existing constructor to carry over any static properties - $.extend(constructor, existingConstructor, { + $.extend( constructor, existingConstructor, { version: prototype.version, // Copy the object used to create the prototype in case we need to // redefine the widget later - _proto: $.extend({}, prototype), + _proto: $.extend( {}, prototype ), // Track widgets that inherit from this widget in case this widget is // redefined after a widget inherits from it _childConstructors: [] - }); + } ); basePrototype = new base(); // We need to make the options hash a property directly on the new instance // otherwise we'll modify the options hash on the prototype that we're // inheriting from - basePrototype.options = $.widget.extend({}, basePrototype.options); - $.each(prototype, function (prop, value) { - if (!$.isFunction(value)) { - proxiedPrototype[prop] = value; + basePrototype.options = $.widget.extend( {}, basePrototype.options ); + $.each( prototype, function( prop, value ) { + if ( !$.isFunction( value ) ) { + proxiedPrototype[ prop ] = value; return; } - proxiedPrototype[prop] = (function () { + proxiedPrototype[ prop ] = ( function() { function _super() { - return base.prototype[prop].apply(this, arguments); + return base.prototype[ prop ].apply( this, arguments ); } - function _superApply(args) { - return base.prototype[prop].apply(this, args); + function _superApply( args ) { + return base.prototype[ prop ].apply( this, args ); } - return function () { + return function() { var __super = this._super; var __superApply = this._superApply; var returnValue; @@ -152,87 +145,77 @@ this._super = _super; this._superApply = _superApply; - returnValue = value.apply(this, arguments); + returnValue = value.apply( this, arguments ); this._super = __super; this._superApply = __superApply; return returnValue; }; - })(); - }); - constructor.prototype = $.widget.extend( - basePrototype, - { - // TODO: remove support for widgetEventPrefix - // always use the name + a colon as the prefix, e.g., draggable:start - // don't prefix for widgets that aren't DOM-based - widgetEventPrefix: existingConstructor - ? basePrototype.widgetEventPrefix || name - : name - }, - proxiedPrototype, - { - constructor: constructor, - namespace: namespace, - widgetName: name, - widgetFullName: fullName - } - ); + } )(); + } ); + constructor.prototype = $.widget.extend( basePrototype, { + + // TODO: remove support for widgetEventPrefix + // always use the name + a colon as the prefix, e.g., draggable:start + // don't prefix for widgets that aren't DOM-based + widgetEventPrefix: existingConstructor ? ( basePrototype.widgetEventPrefix || name ) : name + }, proxiedPrototype, { + constructor: constructor, + namespace: namespace, + widgetName: name, + widgetFullName: fullName + } ); // If this widget is being redefined then we need to find all widgets that // are inheriting from it and redefine all of them so that they inherit from // the new version of this widget. We're essentially trying to replace one // level in the prototype chain. - if (existingConstructor) { - $.each(existingConstructor._childConstructors, function (i, child) { + if ( existingConstructor ) { + $.each( existingConstructor._childConstructors, function( i, child ) { var childPrototype = child.prototype; // Redefine the child widget using the same prototype that was // originally used, but inherit from the new version of the base - $.widget( - childPrototype.namespace + '.' + childPrototype.widgetName, - constructor, - child._proto - ); - }); + $.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, + child._proto ); + } ); // Remove the list of existing child constructors from the old constructor // so the old child constructors can be garbage collected delete existingConstructor._childConstructors; } else { - base._childConstructors.push(constructor); + base._childConstructors.push( constructor ); } - $.widget.bridge(name, constructor); + $.widget.bridge( name, constructor ); return constructor; }; - $.widget.extend = function (target) { - var input = widgetSlice.call(arguments, 1); + $.widget.extend = function( target ) { + var input = widgetSlice.call( arguments, 1 ); var inputIndex = 0; var inputLength = input.length; var key; var value; - for (; inputIndex < inputLength; inputIndex++) { - for (key in input[inputIndex]) { - value = input[inputIndex][key]; - if ( - widgetHasOwnProperty.call(input[inputIndex], key) && - value !== undefined - ) { + for ( ; inputIndex < inputLength; inputIndex++ ) { + for ( key in input[ inputIndex ] ) { + value = input[ inputIndex ][ key ]; + if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) { + // Clone objects - if ($.isPlainObject(value)) { - target[key] = $.isPlainObject(target[key]) - ? $.widget.extend({}, target[key], value) - : // Don't extend strings, arrays, etc. with objects - $.widget.extend({}, value); + if ( $.isPlainObject( value ) ) { + target[ key ] = $.isPlainObject( target[ key ] ) ? + $.widget.extend( {}, target[ key ], value ) : + + // Don't extend strings, arrays, etc. with objects + $.widget.extend( {}, value ); // Copy everything else by reference } else { - target[key] = value; + target[ key ] = value; } } } @@ -240,90 +223,81 @@ return target; }; - $.widget.bridge = function (name, object) { + $.widget.bridge = function( name, object ) { var fullName = object.prototype.widgetFullName || name; - $.fn[name] = function (options) { - var isMethodCall = typeof options === 'string'; - var args = widgetSlice.call(arguments, 1); + $.fn[ name ] = function( options ) { + var isMethodCall = typeof options === "string"; + var args = widgetSlice.call( arguments, 1 ); var returnValue = this; - if (isMethodCall) { + if ( isMethodCall ) { + // If this is an empty collection, we need to have the instance method // return undefined instead of the jQuery instance - if (!this.length && options === 'instance') { + if ( !this.length && options === "instance" ) { returnValue = undefined; } else { - this.each(function () { + this.each( function() { var methodValue; - var instance = $.data(this, fullName); + var instance = $.data( this, fullName ); - if (options === 'instance') { + if ( options === "instance" ) { returnValue = instance; return false; } - if (!instance) { - return $.error( - 'cannot call methods on ' + - name + - ' prior to initialization; ' + - "attempted to call method '" + - options + - "'" - ); + if ( !instance ) { + return $.error( "cannot call methods on " + name + + " prior to initialization; " + + "attempted to call method '" + options + "'" ); } - if (!$.isFunction(instance[options]) || options.charAt(0) === '_') { - return $.error( - "no such method '" + - options + - "' for " + - name + - ' widget instance' - ); + if ( !$.isFunction( instance[ options ] ) || options.charAt( 0 ) === "_" ) { + return $.error( "no such method '" + options + "' for " + name + + " widget instance" ); } - methodValue = instance[options].apply(instance, args); + methodValue = instance[ options ].apply( instance, args ); - if (methodValue !== instance && methodValue !== undefined) { - returnValue = - methodValue && methodValue.jquery - ? returnValue.pushStack(methodValue.get()) - : methodValue; + if ( methodValue !== instance && methodValue !== undefined ) { + returnValue = methodValue && methodValue.jquery ? + returnValue.pushStack( methodValue.get() ) : + methodValue; return false; } - }); + } ); } } else { + // Allow multiple hashes to be passed on init - if (args.length) { - options = $.widget.extend.apply(null, [options].concat(args)); + if ( args.length ) { + options = $.widget.extend.apply( null, [ options ].concat( args ) ); } - this.each(function () { - var instance = $.data(this, fullName); - if (instance) { - instance.option(options || {}); - if (instance._init) { + this.each( function() { + var instance = $.data( this, fullName ); + if ( instance ) { + instance.option( options || {} ); + if ( instance._init ) { instance._init(); } } else { - $.data(this, fullName, new object(options, this)); + $.data( this, fullName, new object( options, this ) ); } - }); + } ); } return returnValue; }; }; - $.Widget = function (/* options, element */) {}; + $.Widget = function( /* options, element */ ) {}; $.Widget._childConstructors = []; $.Widget.prototype = { - widgetName: 'widget', - widgetEventPrefix: '', - defaultElement: '<div>', + widgetName: "widget", + widgetEventPrefix: "", + defaultElement: "<div>", options: { classes: {}, @@ -333,56 +307,52 @@ create: null }, - _createWidget: function (options, element) { - element = $(element || this.defaultElement || this)[0]; - this.element = $(element); + _createWidget: function( options, element ) { + element = $( element || this.defaultElement || this )[ 0 ]; + this.element = $( element ); this.uuid = widgetUuid++; - this.eventNamespace = '.' + this.widgetName + this.uuid; + this.eventNamespace = "." + this.widgetName + this.uuid; this.bindings = $(); this.hoverable = $(); this.focusable = $(); this.classesElementLookup = {}; - if (element !== this) { - $.data(element, this.widgetFullName, this); - this._on(true, this.element, { - remove: function (event) { - if (event.target === element) { + if ( element !== this ) { + $.data( element, this.widgetFullName, this ); + this._on( true, this.element, { + remove: function( event ) { + if ( event.target === element ) { this.destroy(); } } - }); - this.document = $( - element.style - ? // Element within the document - element.ownerDocument - : // Element is window or document - element.document || element - ); - this.window = $( - this.document[0].defaultView || this.document[0].parentWindow - ); + } ); + this.document = $( element.style ? + + // Element within the document + element.ownerDocument : + + // Element is window or document + element.document || element ); + this.window = $( this.document[ 0 ].defaultView || this.document[ 0 ].parentWindow ); } - this.options = $.widget.extend( - {}, + this.options = $.widget.extend( {}, this.options, this._getCreateOptions(), - options - ); + options ); this._create(); - if (this.options.disabled) { - this._setOptionDisabled(this.options.disabled); + if ( this.options.disabled ) { + this._setOptionDisabled( this.options.disabled ); } - this._trigger('create', null, this._getCreateEventData()); + this._trigger( "create", null, this._getCreateEventData() ); this._init(); }, - _getCreateOptions: function () { + _getCreateOptions: function() { return {}; }, @@ -392,103 +362,107 @@ _init: $.noop, - destroy: function () { + destroy: function() { var that = this; this._destroy(); - $.each(this.classesElementLookup, function (key, value) { - that._removeClass(value, key); - }); + $.each( this.classesElementLookup, function( key, value ) { + that._removeClass( value, key ); + } ); // We can probably remove the unbind calls in 2.0 // all event bindings should go through this._on() - this.element.off(this.eventNamespace).removeData(this.widgetFullName); - this.widget().off(this.eventNamespace).removeAttr('aria-disabled'); + this.element + .off( this.eventNamespace ) + .removeData( this.widgetFullName ); + this.widget() + .off( this.eventNamespace ) + .removeAttr( "aria-disabled" ); // Clean up events and states - this.bindings.off(this.eventNamespace); + this.bindings.off( this.eventNamespace ); }, _destroy: $.noop, - widget: function () { + widget: function() { return this.element; }, - option: function (key, value) { + option: function( key, value ) { var options = key; var parts; var curOption; var i; - if (arguments.length === 0) { + if ( arguments.length === 0 ) { + // Don't return a reference to the internal hash - return $.widget.extend({}, this.options); + return $.widget.extend( {}, this.options ); } - if (typeof key === 'string') { + if ( typeof key === "string" ) { + // Handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } } options = {}; - parts = key.split('.'); + parts = key.split( "." ); key = parts.shift(); - if (parts.length) { - curOption = options[key] = $.widget.extend({}, this.options[key]); - for (i = 0; i < parts.length - 1; i++) { - curOption[parts[i]] = curOption[parts[i]] || {}; - curOption = curOption[parts[i]]; + if ( parts.length ) { + curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] ); + for ( i = 0; i < parts.length - 1; i++ ) { + curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {}; + curOption = curOption[ parts[ i ] ]; } key = parts.pop(); - if (arguments.length === 1) { - return curOption[key] === undefined ? null : curOption[key]; + if ( arguments.length === 1 ) { + return curOption[ key ] === undefined ? null : curOption[ key ]; } - curOption[key] = value; + curOption[ key ] = value; } else { - if (arguments.length === 1) { - return this.options[key] === undefined ? null : this.options[key]; + if ( arguments.length === 1 ) { + return this.options[ key ] === undefined ? null : this.options[ key ]; } - options[key] = value; + options[ key ] = value; } } - this._setOptions(options); + this._setOptions( options ); return this; }, - _setOptions: function (options) { + _setOptions: function( options ) { var key; - for (key in options) { - this._setOption(key, options[key]); + for ( key in options ) { + this._setOption( key, options[ key ] ); } return this; }, - _setOption: function (key, value) { - if (key === 'classes') { - this._setOptionClasses(value); + _setOption: function( key, value ) { + if ( key === "classes" ) { + this._setOptionClasses( value ); } - this.options[key] = value; + this.options[ key ] = value; - if (key === 'disabled') { - this._setOptionDisabled(value); + if ( key === "disabled" ) { + this._setOptionDisabled( value ); } return this; }, - _setOptionClasses: function (value) { + _setOptionClasses: function( value ) { var classKey, elements, currentElements; - for (classKey in value) { - currentElements = this.classesElementLookup[classKey]; - if ( - value[classKey] === this.options.classes[classKey] || + for ( classKey in value ) { + currentElements = this.classesElementLookup[ classKey ]; + if ( value[ classKey ] === this.options.classes[ classKey ] || !currentElements || - !currentElements.length - ) { + !currentElements.length ) { continue; } @@ -496,313 +470,283 @@ // on the next line is going to destroy the reference to the current elements being // tracked. We need to save a copy of this collection so that we can add the new classes // below. - elements = $(currentElements.get()); - this._removeClass(currentElements, classKey); + elements = $( currentElements.get() ); + this._removeClass( currentElements, classKey ); // We don't use _addClass() here, because that uses this.options.classes // for generating the string of classes. We want to use the value passed in from // _setOption(), this is the new value of the classes option which was passed to // _setOption(). We pass this value directly to _classes(). - elements.addClass( - this._classes({ - element: elements, - keys: classKey, - classes: value, - add: true - }) - ); + elements.addClass( this._classes( { + element: elements, + keys: classKey, + classes: value, + add: true + } ) ); } }, - _setOptionDisabled: function (value) { - this._toggleClass( - this.widget(), - this.widgetFullName + '-disabled', - null, - !!value - ); + _setOptionDisabled: function( value ) { + this._toggleClass( this.widget(), this.widgetFullName + "-disabled", null, !!value ); // If the widget is becoming disabled, then nothing is interactive - if (value) { - this._removeClass(this.hoverable, null, 'ui-state-hover'); - this._removeClass(this.focusable, null, 'ui-state-focus'); + if ( value ) { + this._removeClass( this.hoverable, null, "ui-state-hover" ); + this._removeClass( this.focusable, null, "ui-state-focus" ); } }, - enable: function () { - return this._setOptions({ disabled: false }); + enable: function() { + return this._setOptions( { disabled: false } ); }, - disable: function () { - return this._setOptions({ disabled: true }); + disable: function() { + return this._setOptions( { disabled: true } ); }, - _classes: function (options) { + _classes: function( options ) { var full = []; var that = this; - options = $.extend( - { - element: this.element, - classes: this.options.classes || {} - }, - options - ); - - function bindRemoveEvent() { - options.element.each(function (_, element) { - var isTracked = $.map(that.classesElementLookup, function (elements) { - return elements; - }).some(function (elements) { - return elements.is(element); - }); - - if (!isTracked) { - that._on($(element), { - remove: '_untrackClassesElement' - }); - } - }); - } + options = $.extend( { + element: this.element, + classes: this.options.classes || {} + }, options ); - function processClassString(classes, checkOption) { + function processClassString( classes, checkOption ) { var current, i; - for (i = 0; i < classes.length; i++) { - current = that.classesElementLookup[classes[i]] || $(); - if (options.add) { - bindRemoveEvent(); - current = $( - $.uniqueSort(current.get().concat(options.element.get())) - ); + for ( i = 0; i < classes.length; i++ ) { + current = that.classesElementLookup[ classes[ i ] ] || $(); + if ( options.add ) { + current = $( $.unique( current.get().concat( options.element.get() ) ) ); } else { - current = $(current.not(options.element).get()); + current = $( current.not( options.element ).get() ); } - that.classesElementLookup[classes[i]] = current; - full.push(classes[i]); - if (checkOption && options.classes[classes[i]]) { - full.push(options.classes[classes[i]]); + that.classesElementLookup[ classes[ i ] ] = current; + full.push( classes[ i ] ); + if ( checkOption && options.classes[ classes[ i ] ] ) { + full.push( options.classes[ classes[ i ] ] ); } } } - if (options.keys) { - processClassString(options.keys.match(/\S+/g) || [], true); + this._on( options.element, { + "remove": "_untrackClassesElement" + } ); + + if ( options.keys ) { + processClassString( options.keys.match( /\S+/g ) || [], true ); } - if (options.extra) { - processClassString(options.extra.match(/\S+/g) || []); + if ( options.extra ) { + processClassString( options.extra.match( /\S+/g ) || [] ); } - return full.join(' '); + return full.join( " " ); }, - _untrackClassesElement: function (event) { + _untrackClassesElement: function( event ) { var that = this; - $.each(that.classesElementLookup, function (key, value) { - if ($.inArray(event.target, value) !== -1) { - that.classesElementLookup[key] = $(value.not(event.target).get()); + $.each( that.classesElementLookup, function( key, value ) { + if ( $.inArray( event.target, value ) !== -1 ) { + that.classesElementLookup[ key ] = $( value.not( event.target ).get() ); } - }); - - this._off($(event.target)); + } ); }, - _removeClass: function (element, keys, extra) { - return this._toggleClass(element, keys, extra, false); + _removeClass: function( element, keys, extra ) { + return this._toggleClass( element, keys, extra, false ); }, - _addClass: function (element, keys, extra) { - return this._toggleClass(element, keys, extra, true); + _addClass: function( element, keys, extra ) { + return this._toggleClass( element, keys, extra, true ); }, - _toggleClass: function (element, keys, extra, add) { - add = typeof add === 'boolean' ? add : extra; - var shift = typeof element === 'string' || element === null, + _toggleClass: function( element, keys, extra, add ) { + add = ( typeof add === "boolean" ) ? add : extra; + var shift = ( typeof element === "string" || element === null ), options = { extra: shift ? keys : extra, keys: shift ? element : keys, element: shift ? this.element : element, add: add }; - options.element.toggleClass(this._classes(options), add); + options.element.toggleClass( this._classes( options ), add ); return this; }, - _on: function (suppressDisabledCheck, element, handlers) { + _on: function( suppressDisabledCheck, element, handlers ) { var delegateElement; var instance = this; // No suppressDisabledCheck flag, shuffle arguments - if (typeof suppressDisabledCheck !== 'boolean') { + if ( typeof suppressDisabledCheck !== "boolean" ) { handlers = element; element = suppressDisabledCheck; suppressDisabledCheck = false; } // No element argument, shuffle and use this.element - if (!handlers) { + if ( !handlers ) { handlers = element; element = this.element; delegateElement = this.widget(); } else { - element = delegateElement = $(element); - this.bindings = this.bindings.add(element); + element = delegateElement = $( element ); + this.bindings = this.bindings.add( element ); } - $.each(handlers, function (event, handler) { + $.each( handlers, function( event, handler ) { function handlerProxy() { + // Allow widgets to customize the disabled handling // - disabled as an array instead of boolean // - disabled class as method for disabling individual parts - if ( - !suppressDisabledCheck && - (instance.options.disabled === true || - $(this).hasClass('ui-state-disabled')) - ) { + if ( !suppressDisabledCheck && + ( instance.options.disabled === true || + $( this ).hasClass( "ui-state-disabled" ) ) ) { return; } - return (typeof handler === 'string' - ? instance[handler] - : handler - ).apply(instance, arguments); + return ( typeof handler === "string" ? instance[ handler ] : handler ) + .apply( instance, arguments ); } // Copy the guid so direct unbinding works - if (typeof handler !== 'string') { + if ( typeof handler !== "string" ) { handlerProxy.guid = handler.guid = handler.guid || handlerProxy.guid || $.guid++; } - var match = event.match(/^([\w:-]*)\s*(.*)$/); - var eventName = match[1] + instance.eventNamespace; - var selector = match[2]; + var match = event.match( /^([\w:-]*)\s*(.*)$/ ); + var eventName = match[ 1 ] + instance.eventNamespace; + var selector = match[ 2 ]; - if (selector) { - delegateElement.on(eventName, selector, handlerProxy); + if ( selector ) { + delegateElement.on( eventName, selector, handlerProxy ); } else { - element.on(eventName, handlerProxy); + element.on( eventName, handlerProxy ); } - }); + } ); }, - _off: function (element, eventName) { - eventName = - (eventName || '').split(' ').join(this.eventNamespace + ' ') + + _off: function( element, eventName ) { + eventName = ( eventName || "" ).split( " " ).join( this.eventNamespace + " " ) + this.eventNamespace; - element.off(eventName); + element.off( eventName ).off( eventName ); // Clear the stack to avoid memory leaks (#10056) - this.bindings = $(this.bindings.not(element).get()); - this.focusable = $(this.focusable.not(element).get()); - this.hoverable = $(this.hoverable.not(element).get()); + this.bindings = $( this.bindings.not( element ).get() ); + this.focusable = $( this.focusable.not( element ).get() ); + this.hoverable = $( this.hoverable.not( element ).get() ); }, - _delay: function (handler, delay) { - var instance = this; + _delay: function( handler, delay ) { function handlerProxy() { - return (typeof handler === 'string' - ? instance[handler] - : handler - ).apply(instance, arguments); + return ( typeof handler === "string" ? instance[ handler ] : handler ) + .apply( instance, arguments ); } - return setTimeout(handlerProxy, delay || 0); + var instance = this; + return setTimeout( handlerProxy, delay || 0 ); }, - _hoverable: function (element) { - this.hoverable = this.hoverable.add(element); - this._on(element, { - mouseenter: function (event) { - this._addClass($(event.currentTarget), null, 'ui-state-hover'); + _hoverable: function( element ) { + this.hoverable = this.hoverable.add( element ); + this._on( element, { + mouseenter: function( event ) { + this._addClass( $( event.currentTarget ), null, "ui-state-hover" ); }, - mouseleave: function (event) { - this._removeClass($(event.currentTarget), null, 'ui-state-hover'); + mouseleave: function( event ) { + this._removeClass( $( event.currentTarget ), null, "ui-state-hover" ); } - }); + } ); }, - _focusable: function (element) { - this.focusable = this.focusable.add(element); - this._on(element, { - focusin: function (event) { - this._addClass($(event.currentTarget), null, 'ui-state-focus'); + _focusable: function( element ) { + this.focusable = this.focusable.add( element ); + this._on( element, { + focusin: function( event ) { + this._addClass( $( event.currentTarget ), null, "ui-state-focus" ); }, - focusout: function (event) { - this._removeClass($(event.currentTarget), null, 'ui-state-focus'); + focusout: function( event ) { + this._removeClass( $( event.currentTarget ), null, "ui-state-focus" ); } - }); + } ); }, - _trigger: function (type, event, data) { + _trigger: function( type, event, data ) { var prop, orig; - var callback = this.options[type]; + var callback = this.options[ type ]; data = data || {}; - event = $.Event(event); - event.type = (type === this.widgetEventPrefix - ? type - : this.widgetEventPrefix + type - ).toLowerCase(); + event = $.Event( event ); + event.type = ( type === this.widgetEventPrefix ? + type : + this.widgetEventPrefix + type ).toLowerCase(); // The original event may come from any element // so we need to reset the target on the new event - event.target = this.element[0]; + event.target = this.element[ 0 ]; // Copy original event properties over to the new event orig = event.originalEvent; - if (orig) { - for (prop in orig) { - if (!(prop in event)) { - event[prop] = orig[prop]; + if ( orig ) { + for ( prop in orig ) { + if ( !( prop in event ) ) { + event[ prop ] = orig[ prop ]; } } } - this.element.trigger(event, data); - return !( - ($.isFunction(callback) && - callback.apply(this.element[0], [event].concat(data)) === false) || - event.isDefaultPrevented() - ); + this.element.trigger( event, data ); + return !( $.isFunction( callback ) && + callback.apply( this.element[ 0 ], [ event ].concat( data ) ) === false || + event.isDefaultPrevented() ); } }; - $.each({ show: 'fadeIn', hide: 'fadeOut' }, function (method, defaultEffect) { - $.Widget.prototype['_' + method] = function (element, options, callback) { - if (typeof options === 'string') { + $.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) { + $.Widget.prototype[ "_" + method ] = function( element, options, callback ) { + if ( typeof options === "string" ) { options = { effect: options }; } var hasOptions; - var effectName = !options - ? method - : options === true || typeof options === 'number' - ? defaultEffect - : options.effect || defaultEffect; + var effectName = !options ? + method : + options === true || typeof options === "number" ? + defaultEffect : + options.effect || defaultEffect; options = options || {}; - if (typeof options === 'number') { + if ( typeof options === "number" ) { options = { duration: options }; } - hasOptions = !$.isEmptyObject(options); + hasOptions = !$.isEmptyObject( options ); options.complete = callback; - if (options.delay) { - element.delay(options.delay); + if ( options.delay ) { + element.delay( options.delay ); } - if (hasOptions && $.effects && $.effects.effect[effectName]) { - element[method](options); - } else if (effectName !== method && element[effectName]) { - element[effectName](options.duration, options.easing, callback); + if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) { + element[ method ]( options ); + } else if ( effectName !== method && element[ effectName ] ) { + element[ effectName ]( options.duration, options.easing, callback ); } else { - element.queue(function (next) { - $(this)[method](); - if (callback) { - callback.call(element[0]); + element.queue( function( next ) { + $( this )[ method ](); + if ( callback ) { + callback.call( element[ 0 ] ); } next(); - }); + } ); } }; - }); -}); + } ); + + var widget = $.widget; + + + + +})); |