annotate client/digitallibrary/jquery/ui/jquery.ui.widget.js @ 847:c662bf335881 jquery

fixed a bug in geom.intersect
author hertzhaft
date Sun, 06 Mar 2011 12:58:09 +0100
parents ccf67eaf97ee
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
756
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
1 /*!
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
2 * jQuery UI Widget 1.8.9
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
3 *
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
4 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
5 * Dual licensed under the MIT or GPL Version 2 licenses.
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
6 * http://jquery.org/license
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
7 *
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
8 * http://docs.jquery.com/UI/Widget
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
9 */
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
10 (function( $, undefined ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
11
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
12 // jQuery 1.4+
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
13 if ( $.cleanData ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
14 var _cleanData = $.cleanData;
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
15 $.cleanData = function( elems ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
16 for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
17 $( elem ).triggerHandler( "remove" );
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
18 }
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
19 _cleanData( elems );
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
20 };
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
21 } else {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
22 var _remove = $.fn.remove;
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
23 $.fn.remove = function( selector, keepData ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
24 return this.each(function() {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
25 if ( !keepData ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
26 if ( !selector || $.filter( selector, [ this ] ).length ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
27 $( "*", this ).add( [ this ] ).each(function() {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
28 $( this ).triggerHandler( "remove" );
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
29 });
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
30 }
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
31 }
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
32 return _remove.call( $(this), selector, keepData );
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
33 });
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
34 };
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
35 }
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
36
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
37 $.widget = function( name, base, prototype ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
38 var namespace = name.split( "." )[ 0 ],
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
39 fullName;
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
40 name = name.split( "." )[ 1 ];
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
41 fullName = namespace + "-" + name;
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
42
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
43 if ( !prototype ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
44 prototype = base;
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
45 base = $.Widget;
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
46 }
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
47
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
48 // create selector for plugin
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
49 $.expr[ ":" ][ fullName ] = function( elem ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
50 return !!$.data( elem, name );
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
51 };
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
52
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
53 $[ namespace ] = $[ namespace ] || {};
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
54 $[ namespace ][ name ] = function( options, element ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
55 // allow instantiation without initializing for simple inheritance
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
56 if ( arguments.length ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
57 this._createWidget( options, element );
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
58 }
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
59 };
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
60
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
61 var basePrototype = new base();
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
62 // we need to make the options hash a property directly on the new instance
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
63 // otherwise we'll modify the options hash on the prototype that we're
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
64 // inheriting from
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
65 // $.each( basePrototype, function( key, val ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
66 // if ( $.isPlainObject(val) ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
67 // basePrototype[ key ] = $.extend( {}, val );
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
68 // }
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
69 // });
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
70 basePrototype.options = $.extend( true, {}, basePrototype.options );
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
71 $[ namespace ][ name ].prototype = $.extend( true, basePrototype, {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
72 namespace: namespace,
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
73 widgetName: name,
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
74 widgetEventPrefix: $[ namespace ][ name ].prototype.widgetEventPrefix || name,
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
75 widgetBaseClass: fullName
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
76 }, prototype );
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
77
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
78 $.widget.bridge( name, $[ namespace ][ name ] );
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
79 };
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
80
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
81 $.widget.bridge = function( name, object ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
82 $.fn[ name ] = function( options ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
83 var isMethodCall = typeof options === "string",
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
84 args = Array.prototype.slice.call( arguments, 1 ),
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
85 returnValue = this;
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
86
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
87 // allow multiple hashes to be passed on init
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
88 options = !isMethodCall && args.length ?
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
89 $.extend.apply( null, [ true, options ].concat(args) ) :
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
90 options;
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
91
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
92 // prevent calls to internal methods
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
93 if ( isMethodCall && options.charAt( 0 ) === "_" ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
94 return returnValue;
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
95 }
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
96
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
97 if ( isMethodCall ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
98 this.each(function() {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
99 var instance = $.data( this, name ),
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
100 methodValue = instance && $.isFunction( instance[options] ) ?
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
101 instance[ options ].apply( instance, args ) :
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
102 instance;
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
103 // TODO: add this back in 1.9 and use $.error() (see #5972)
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
104 // if ( !instance ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
105 // throw "cannot call methods on " + name + " prior to initialization; " +
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
106 // "attempted to call method '" + options + "'";
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
107 // }
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
108 // if ( !$.isFunction( instance[options] ) ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
109 // throw "no such method '" + options + "' for " + name + " widget instance";
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
110 // }
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
111 // var methodValue = instance[ options ].apply( instance, args );
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
112 if ( methodValue !== instance && methodValue !== undefined ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
113 returnValue = methodValue;
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
114 return false;
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
115 }
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
116 });
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
117 } else {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
118 this.each(function() {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
119 var instance = $.data( this, name );
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
120 if ( instance ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
121 instance.option( options || {} )._init();
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
122 } else {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
123 $.data( this, name, new object( options, this ) );
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
124 }
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
125 });
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
126 }
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
127
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
128 return returnValue;
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
129 };
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
130 };
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
131
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
132 $.Widget = function( options, element ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
133 // allow instantiation without initializing for simple inheritance
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
134 if ( arguments.length ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
135 this._createWidget( options, element );
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
136 }
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
137 };
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
138
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
139 $.Widget.prototype = {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
140 widgetName: "widget",
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
141 widgetEventPrefix: "",
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
142 options: {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
143 disabled: false
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
144 },
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
145 _createWidget: function( options, element ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
146 // $.widget.bridge stores the plugin instance, but we do it anyway
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
147 // so that it's stored even before the _create function runs
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
148 $.data( element, this.widgetName, this );
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
149 this.element = $( element );
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
150 this.options = $.extend( true, {},
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
151 this.options,
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
152 this._getCreateOptions(),
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
153 options );
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
154
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
155 var self = this;
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
156 this.element.bind( "remove." + this.widgetName, function() {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
157 self.destroy();
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
158 });
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
159
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
160 this._create();
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
161 this._trigger( "create" );
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
162 this._init();
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
163 },
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
164 _getCreateOptions: function() {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
165 return $.metadata && $.metadata.get( this.element[0] )[ this.widgetName ];
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
166 },
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
167 _create: function() {},
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
168 _init: function() {},
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
169
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
170 destroy: function() {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
171 this.element
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
172 .unbind( "." + this.widgetName )
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
173 .removeData( this.widgetName );
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
174 this.widget()
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
175 .unbind( "." + this.widgetName )
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
176 .removeAttr( "aria-disabled" )
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
177 .removeClass(
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
178 this.widgetBaseClass + "-disabled " +
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
179 "ui-state-disabled" );
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
180 },
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
181
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
182 widget: function() {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
183 return this.element;
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
184 },
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
185
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
186 option: function( key, value ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
187 var options = key;
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
188
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
189 if ( arguments.length === 0 ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
190 // don't return a reference to the internal hash
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
191 return $.extend( {}, this.options );
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
192 }
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
193
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
194 if (typeof key === "string" ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
195 if ( value === undefined ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
196 return this.options[ key ];
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
197 }
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
198 options = {};
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
199 options[ key ] = value;
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
200 }
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
201
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
202 this._setOptions( options );
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
203
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
204 return this;
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
205 },
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
206 _setOptions: function( options ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
207 var self = this;
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
208 $.each( options, function( key, value ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
209 self._setOption( key, value );
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
210 });
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
211
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
212 return this;
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
213 },
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
214 _setOption: function( key, value ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
215 this.options[ key ] = value;
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
216
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
217 if ( key === "disabled" ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
218 this.widget()
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
219 [ value ? "addClass" : "removeClass"](
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
220 this.widgetBaseClass + "-disabled" + " " +
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
221 "ui-state-disabled" )
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
222 .attr( "aria-disabled", value );
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
223 }
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
224
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
225 return this;
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
226 },
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
227
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
228 enable: function() {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
229 return this._setOption( "disabled", false );
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
230 },
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
231 disable: function() {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
232 return this._setOption( "disabled", true );
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
233 },
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
234
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
235 _trigger: function( type, event, data ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
236 var callback = this.options[ type ];
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
237
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
238 event = $.Event( event );
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
239 event.type = ( type === this.widgetEventPrefix ?
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
240 type :
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
241 this.widgetEventPrefix + type ).toLowerCase();
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
242 data = data || {};
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
243
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
244 // copy original event properties over to the new event
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
245 // this would happen if we could call $.event.fix instead of $.Event
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
246 // but we don't have a way to force an event to be fixed multiple times
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
247 if ( event.originalEvent ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
248 for ( var i = $.event.props.length, prop; i; ) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
249 prop = $.event.props[ --i ];
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
250 event[ prop ] = event.originalEvent[ prop ];
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
251 }
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
252 }
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
253
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
254 this.element.trigger( event, data );
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
255
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
256 return !( $.isFunction(callback) &&
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
257 callback.call( this.element[0], event, data ) === false ||
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
258 event.isDefaultPrevented() );
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
259 }
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
260 };
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
261
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
262 })( jQuery );