|
( function (e,t){ var n=0,r=Array.prototype.slice,i=e.cleanData;e.cleanData= function (t){ for ( var n=0,r;(r=t[n])!= null ;n++) try {e(r).triggerHandler( "remove" )} catch (s){}i(t)},e.widget= function (t,n,r){ var i,s,o,u,a=t.split( "." )[0];t=t.split( "." )[1],i=a+ "-" +t,r||(r=n,n=e.Widget),e.expr[ ":" ][i.toLowerCase()]= function (t){ return !!e.data(t,i)},e[a]=e[a]||{},s=e[a][t],o=e[a][t]= function (e,t){ if (! this ._createWidget) return new o(e,t);arguments.length&& this ._createWidget(e,t)},e.extend(o,s,{version:r.version,_proto:e.extend({},r),_childConstructors:[]}),u= new n,u.options=e.widget.extend({},u.options),e.each(r, function (t,i){e.isFunction(i)&&(r[t]= function (){ var e= function (){ return n.prototype[t].apply( this ,arguments)},r= function (e){ return n.prototype[t].apply( this ,e)}; return function (){ var t= this ._super,n= this ._superApply,s; return this ._super=e, this ._superApply=r,s=i.apply( this ,arguments), this ._super=t, this ._superApply=n,s}}())}),o.prototype=e.widget.extend(u,{widgetEventPrefix:u.widgetEventPrefix||t},r,{constructor:o,namespace:a,widgetName:t,widgetBaseClass:i,widgetFullName:i}),s?(e.each(s._childConstructors, function (t,n){ var r=n.prototype;e.widget(r.namespace+ "." +r.widgetName,o,n._proto)}), delete s._childConstructors):n._childConstructors.push(o),e.widget.bridge(t,o)},e.widget.extend= function (n){ var i=r.call(arguments,1),s=0,o=i.length,u,a; for (;s<o;s++) for (u in i[s])a=i[s][u],i[s].hasOwnProperty(u)&&a!==t&&(e.isPlainObject(a)?n[u]=e.isPlainObject(n[u])?e.widget.extend({},n[u],a):e.widget.extend({},a):n[u]=a); return n},e.widget.bridge= function (n,i){ var s=i.prototype.widgetFullName;e.fn[n]= function (o){ var u= typeof o== "string" ,a=r.call(arguments,1),f= this ; return o=!u&&a.length?e.widget.extend.apply( null ,[o].concat(a)):o,u? this .each( function (){ var r,i=e.data( this ,s); if (!i) return e.error( "cannot call methods on " +n+ " prior to initialization; " + "attempted to call method '" +o+ "'" ); if (!e.isFunction(i[o])||o.charAt(0)=== "_" ) return e.error( "no such method '" +o+ "' for " +n+ " widget instance" );r=i[o].apply(i,a); if (r!==i&&r!==t) return f=r&&r.jquery?f.pushStack(r.get()):r,!1}): this .each( function (){ var t=e.data( this ,s);t?t.option(o||{})._init(): new i(o, this )}),f}},e.Widget= function (){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName: "widget" ,widgetEventPrefix: "" ,defaultElement: "<div>" ,options:{disabled:!1,create: null },_createWidget: function (t,r){r=e(r|| this .defaultElement|| this )[0], this .element=e(r), this .uuid=n++, this .eventNamespace= "." + this .widgetName+ this .uuid, this .options=e.widget.extend({}, this .options, this ._getCreateOptions(),t), this .bindings=e(), this .hoverable=e(), this .focusable=e(),r!== this &&(e.data(r, this .widgetName, this ),e.data(r, this .widgetFullName, this ), this ._on( this .element,{remove: function (e){e.target===r&& this .destroy()}}), this .document=e(r.style?r.ownerDocument:r.document||r), this .window=e( this .document[0].defaultView|| this .document[0].parentWindow)), this ._create(), this ._trigger( "create" , null , this ._getCreateEventData()), this ._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy: function (){ this ._destroy(), this .element.unbind( this .eventNamespace).removeData( this .widgetName).removeData( this .widgetFullName).removeData(e.camelCase( this .widgetFullName)), this .widget().unbind( this .eventNamespace).removeAttr( "aria-disabled" ).removeClass( this .widgetFullName+ "-disabled " + "ui-state-disabled" ), this .bindings.unbind( this .eventNamespace), this .hoverable.removeClass( "ui-state-hover" ), this .focusable.removeClass( "ui-state-focus" )},_destroy:e.noop,widget: function (){ return this .element},option: function (n,r){ var i=n,s,o,u; if (arguments.length===0) return e.widget.extend({}, this .options); if ( typeof n== "string" ){i={},s=n.split( "." ),n=s.shift(); if (s.length){o=i[n]=e.widget.extend({}, this .options[n]); for (u=0;u<s.length-1;u++)o[s[u]]=o[s[u]]||{},o=o[s[u]];n=s.pop(); if (r===t) return o[n]===t? null :o[n];o[n]=r} else { if (r===t) return this .options[n]===t? null : this .options[n];i[n]=r}} return this ._setOptions(i), this },_setOptions: function (e){ var t; for (t in e) this ._setOption(t,e[t]); return this },_setOption: function (e,t){ return this .options[e]=t,e=== "disabled" &&( this .widget().toggleClass( this .widgetFullName+ "-disabled ui-state-disabled" ,!!t).attr( "aria-disabled" ,t), this .hoverable.removeClass( "ui-state-hover" ), this .focusable.removeClass( "ui-state-focus" )), this },enable: function (){ return this ._setOption( "disabled" ,!1)},disable: function (){ return this ._setOption( "disabled" ,!0)},_on: function (t,n){ var r,i= this ;n?(t=r=e(t), this .bindings= this .bindings.add(t)):(n=t,t= this .element,r= this .widget()),e.each(n, function (n,s){ function o(){ if (i.options.disabled===!0||e( this ).hasClass( "ui-state-disabled" )) return ; return ( typeof s== "string" ?i[s]:s).apply(i,arguments)} typeof s!= "string" &&(o.guid=s.guid=s.guid||o.guid||e.guid++); var u=n.match(/^(\w+)\s*(.*)$/),a=u[1]+i.eventNamespace,f=u[2];f?r.delegate(f,a,o):t.bind(a,o)})},_off: function (e,t){t=(t|| "" ).split( " " ).join( this .eventNamespace+ " " )+ this .eventNamespace,e.unbind(t).undelegate(t)},_delay: function (e,t){ function n(){ return ( typeof e== "string" ?r[e]:e).apply(r,arguments)} var r= this ; return setTimeout(n,t||0)},_hoverable: function (t){ this .hoverable= this .hoverable.add(t), this ._on(t,{mouseenter: function (t){e(t.currentTarget).addClass( "ui-state-hover" )},mouseleave: function (t){e(t.currentTarget).removeClass( "ui-state-hover" )}})},_focusable: function (t){ this .focusable= this .focusable.add(t), this ._on(t,{focusin: function (t){e(t.currentTarget).addClass( "ui-state-focus" )},focusout: function (t){e(t.currentTarget).removeClass( "ui-state-focus" )}})},_trigger: function (t,n,r){ var i,s,o= this .options[t];r=r||{},n=e.Event(n),n.type=(t=== this .widgetEventPrefix?t: this .widgetEventPrefix+t).toLowerCase(),n.target= this .element[0],s=n.originalEvent; if (s) for (i in s)i in n||(n[i]=s[i]); return this .element.trigger(n,r),!(e.isFunction(o)&&o.apply( this .element[0],[n].concat(r))===!1||n.isDefaultPrevented())}},e.each({show: "fadeIn" ,hide: "fadeOut" }, function (t,n){e.Widget.prototype[ "_" +t]= function (r,i,s){ typeof i== "string" &&(i={effect:i}); var o,u=i?i===!0|| typeof i== "number" ?n:i.effect||n:t;i=i||{}, typeof i== "number" &&(i={duration:i}),o=!e.isEmptyObject(i),i.complete=s,i.delay&&r.delay(i.delay),o&&e.effects&&(e.effects.effect[u]||e.uiBackCompat!==!1&&e.effects[u])?r[t](i):u!==t&&r[u]?r[u](i.duration,i.easing,s):r.queue( function (n){e( this )[t](),s&&s.call(r[0]),n()})}}),e.uiBackCompat!==!1&&(e.Widget.prototype._getCreateOptions= function (){ return e.metadata&&e.metadata.get( this .element[0])[ this .widgetName]})})(jQuery);
|