pageflow 17.0.0 → 17.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,559 @@
1
+ /*!
2
+ * jQuery UI Widget 1.11.4
3
+ * http://jqueryui.com
4
+ *
5
+ * Copyright jQuery Foundation and other contributors
6
+ * Released under the MIT license.
7
+ * http://jquery.org/license
8
+ *
9
+ * http://api.jqueryui.com/jQuery.widget/
10
+ */
11
+
12
+ (function( factory ) {
13
+ if ( typeof define === "function" && define.amd ) {
14
+
15
+ // AMD. Register as an anonymous module.
16
+ define( [ "jquery" ], factory );
17
+ } else {
18
+
19
+ // Browser globals
20
+ factory( require('jquery') );
21
+ }
22
+ }(function( $ ) {
23
+
24
+ var widget_uuid = 0,
25
+ widget_slice = Array.prototype.slice;
26
+
27
+ $.cleanData = (function( orig ) {
28
+ return function( elems ) {
29
+ var events, elem, i;
30
+ for ( i = 0; (elem = elems[i]) != null; i++ ) {
31
+ try {
32
+
33
+ // Only trigger remove when necessary to save time
34
+ events = $._data( elem, "events" );
35
+ if ( events && events.remove ) {
36
+ $( elem ).triggerHandler( "remove" );
37
+ }
38
+
39
+ // http://bugs.jquery.com/ticket/8235
40
+ } catch ( e ) {}
41
+ }
42
+ orig( elems );
43
+ };
44
+ })( $.cleanData );
45
+
46
+ $.widget = function( name, base, prototype ) {
47
+ var fullName, existingConstructor, constructor, basePrototype,
48
+ // proxiedPrototype allows the provided prototype to remain unmodified
49
+ // so that it can be used as a mixin for multiple widgets (#8876)
50
+ proxiedPrototype = {},
51
+ namespace = name.split( "." )[ 0 ];
52
+
53
+ name = name.split( "." )[ 1 ];
54
+ fullName = namespace + "-" + name;
55
+
56
+ if ( !prototype ) {
57
+ prototype = base;
58
+ base = $.Widget;
59
+ }
60
+
61
+ // create selector for plugin
62
+ $.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) {
63
+ return !!$.data( elem, fullName );
64
+ };
65
+
66
+ $[ namespace ] = $[ namespace ] || {};
67
+ existingConstructor = $[ namespace ][ name ];
68
+ constructor = $[ namespace ][ name ] = function( options, element ) {
69
+ // allow instantiation without "new" keyword
70
+ if ( !this._createWidget ) {
71
+ return new constructor( options, element );
72
+ }
73
+
74
+ // allow instantiation without initializing for simple inheritance
75
+ // must use "new" keyword (the code above always passes args)
76
+ if ( arguments.length ) {
77
+ this._createWidget( options, element );
78
+ }
79
+ };
80
+ // extend with the existing constructor to carry over any static properties
81
+ $.extend( constructor, existingConstructor, {
82
+ version: prototype.version,
83
+ // copy the object used to create the prototype in case we need to
84
+ // redefine the widget later
85
+ _proto: $.extend( {}, prototype ),
86
+ // track widgets that inherit from this widget in case this widget is
87
+ // redefined after a widget inherits from it
88
+ _childConstructors: []
89
+ });
90
+
91
+ basePrototype = new base();
92
+ // we need to make the options hash a property directly on the new instance
93
+ // otherwise we'll modify the options hash on the prototype that we're
94
+ // inheriting from
95
+ basePrototype.options = $.widget.extend( {}, basePrototype.options );
96
+ $.each( prototype, function( prop, value ) {
97
+ if ( !$.isFunction( value ) ) {
98
+ proxiedPrototype[ prop ] = value;
99
+ return;
100
+ }
101
+ proxiedPrototype[ prop ] = (function() {
102
+ var _super = function() {
103
+ return base.prototype[ prop ].apply( this, arguments );
104
+ },
105
+ _superApply = function( args ) {
106
+ return base.prototype[ prop ].apply( this, args );
107
+ };
108
+ return function() {
109
+ var __super = this._super,
110
+ __superApply = this._superApply,
111
+ returnValue;
112
+
113
+ this._super = _super;
114
+ this._superApply = _superApply;
115
+
116
+ returnValue = value.apply( this, arguments );
117
+
118
+ this._super = __super;
119
+ this._superApply = __superApply;
120
+
121
+ return returnValue;
122
+ };
123
+ })();
124
+ });
125
+ constructor.prototype = $.widget.extend( basePrototype, {
126
+ // TODO: remove support for widgetEventPrefix
127
+ // always use the name + a colon as the prefix, e.g., draggable:start
128
+ // don't prefix for widgets that aren't DOM-based
129
+ widgetEventPrefix: existingConstructor ? (basePrototype.widgetEventPrefix || name) : name
130
+ }, proxiedPrototype, {
131
+ constructor: constructor,
132
+ namespace: namespace,
133
+ widgetName: name,
134
+ widgetFullName: fullName
135
+ });
136
+
137
+ // If this widget is being redefined then we need to find all widgets that
138
+ // are inheriting from it and redefine all of them so that they inherit from
139
+ // the new version of this widget. We're essentially trying to replace one
140
+ // level in the prototype chain.
141
+ if ( existingConstructor ) {
142
+ $.each( existingConstructor._childConstructors, function( i, child ) {
143
+ var childPrototype = child.prototype;
144
+
145
+ // redefine the child widget using the same prototype that was
146
+ // originally used, but inherit from the new version of the base
147
+ $.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, child._proto );
148
+ });
149
+ // remove the list of existing child constructors from the old constructor
150
+ // so the old child constructors can be garbage collected
151
+ delete existingConstructor._childConstructors;
152
+ } else {
153
+ base._childConstructors.push( constructor );
154
+ }
155
+
156
+ $.widget.bridge( name, constructor );
157
+
158
+ return constructor;
159
+ };
160
+
161
+ $.widget.extend = function( target ) {
162
+ var input = widget_slice.call( arguments, 1 ),
163
+ inputIndex = 0,
164
+ inputLength = input.length,
165
+ key,
166
+ value;
167
+ for ( ; inputIndex < inputLength; inputIndex++ ) {
168
+ for ( key in input[ inputIndex ] ) {
169
+ value = input[ inputIndex ][ key ];
170
+ if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) {
171
+ // Clone objects
172
+ if ( $.isPlainObject( value ) ) {
173
+ target[ key ] = $.isPlainObject( target[ key ] ) ?
174
+ $.widget.extend( {}, target[ key ], value ) :
175
+ // Don't extend strings, arrays, etc. with objects
176
+ $.widget.extend( {}, value );
177
+ // Copy everything else by reference
178
+ } else {
179
+ target[ key ] = value;
180
+ }
181
+ }
182
+ }
183
+ }
184
+ return target;
185
+ };
186
+
187
+ $.widget.bridge = function( name, object ) {
188
+ var fullName = object.prototype.widgetFullName || name;
189
+ $.fn[ name ] = function( options ) {
190
+ var isMethodCall = typeof options === "string",
191
+ args = widget_slice.call( arguments, 1 ),
192
+ returnValue = this;
193
+
194
+ if ( isMethodCall ) {
195
+ this.each(function() {
196
+ var methodValue,
197
+ instance = $.data( this, fullName );
198
+ if ( options === "instance" ) {
199
+ returnValue = instance;
200
+ return false;
201
+ }
202
+ if ( !instance ) {
203
+ return $.error( "cannot call methods on " + name + " prior to initialization; " +
204
+ "attempted to call method '" + options + "'" );
205
+ }
206
+ if ( !$.isFunction( instance[options] ) || options.charAt( 0 ) === "_" ) {
207
+ return $.error( "no such method '" + options + "' for " + name + " widget instance" );
208
+ }
209
+ methodValue = instance[ options ].apply( instance, args );
210
+ if ( methodValue !== instance && methodValue !== undefined ) {
211
+ returnValue = methodValue && methodValue.jquery ?
212
+ returnValue.pushStack( methodValue.get() ) :
213
+ methodValue;
214
+ return false;
215
+ }
216
+ });
217
+ } else {
218
+
219
+ // Allow multiple hashes to be passed on init
220
+ if ( args.length ) {
221
+ options = $.widget.extend.apply( null, [ options ].concat(args) );
222
+ }
223
+
224
+ this.each(function() {
225
+ var instance = $.data( this, fullName );
226
+ if ( instance ) {
227
+ instance.option( options || {} );
228
+ if ( instance._init ) {
229
+ instance._init();
230
+ }
231
+ } else {
232
+ $.data( this, fullName, new object( options, this ) );
233
+ }
234
+ });
235
+ }
236
+
237
+ return returnValue;
238
+ };
239
+ };
240
+
241
+ $.Widget = function( /* options, element */ ) {};
242
+ $.Widget._childConstructors = [];
243
+
244
+ $.Widget.prototype = {
245
+ widgetName: "widget",
246
+ widgetEventPrefix: "",
247
+ defaultElement: "<div>",
248
+ options: {
249
+ disabled: false,
250
+
251
+ // callbacks
252
+ create: null
253
+ },
254
+ _createWidget: function( options, element ) {
255
+ element = $( element || this.defaultElement || this )[ 0 ];
256
+ this.element = $( element );
257
+ this.uuid = widget_uuid++;
258
+ this.eventNamespace = "." + this.widgetName + this.uuid;
259
+
260
+ this.bindings = $();
261
+ this.hoverable = $();
262
+ this.focusable = $();
263
+
264
+ if ( element !== this ) {
265
+ $.data( element, this.widgetFullName, this );
266
+ this._on( true, this.element, {
267
+ remove: function( event ) {
268
+ if ( event.target === element ) {
269
+ this.destroy();
270
+ }
271
+ }
272
+ });
273
+ this.document = $( element.style ?
274
+ // element within the document
275
+ element.ownerDocument :
276
+ // element is window or document
277
+ element.document || element );
278
+ this.window = $( this.document[0].defaultView || this.document[0].parentWindow );
279
+ }
280
+
281
+ this.options = $.widget.extend( {},
282
+ this.options,
283
+ this._getCreateOptions(),
284
+ options );
285
+
286
+ this._create();
287
+ this._trigger( "create", null, this._getCreateEventData() );
288
+ this._init();
289
+ },
290
+ _getCreateOptions: $.noop,
291
+ _getCreateEventData: $.noop,
292
+ _create: $.noop,
293
+ _init: $.noop,
294
+
295
+ destroy: function() {
296
+ this._destroy();
297
+ // we can probably remove the unbind calls in 2.0
298
+ // all event bindings should go through this._on()
299
+ this.element
300
+ .unbind( this.eventNamespace )
301
+ .removeData( this.widgetFullName )
302
+ // support: jquery <1.6.3
303
+ // http://bugs.jquery.com/ticket/9413
304
+ .removeData( $.camelCase( this.widgetFullName ) );
305
+ this.widget()
306
+ .unbind( this.eventNamespace )
307
+ .removeAttr( "aria-disabled" )
308
+ .removeClass(
309
+ this.widgetFullName + "-disabled " +
310
+ "ui-state-disabled" );
311
+
312
+ // clean up events and states
313
+ this.bindings.unbind( this.eventNamespace );
314
+ this.hoverable.removeClass( "ui-state-hover" );
315
+ this.focusable.removeClass( "ui-state-focus" );
316
+ },
317
+ _destroy: $.noop,
318
+
319
+ widget: function() {
320
+ return this.element;
321
+ },
322
+
323
+ option: function( key, value ) {
324
+ var options = key,
325
+ parts,
326
+ curOption,
327
+ i;
328
+
329
+ if ( arguments.length === 0 ) {
330
+ // don't return a reference to the internal hash
331
+ return $.widget.extend( {}, this.options );
332
+ }
333
+
334
+ if ( typeof key === "string" ) {
335
+ // handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } }
336
+ options = {};
337
+ parts = key.split( "." );
338
+ key = parts.shift();
339
+ if ( parts.length ) {
340
+ curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] );
341
+ for ( i = 0; i < parts.length - 1; i++ ) {
342
+ curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {};
343
+ curOption = curOption[ parts[ i ] ];
344
+ }
345
+ key = parts.pop();
346
+ if ( arguments.length === 1 ) {
347
+ return curOption[ key ] === undefined ? null : curOption[ key ];
348
+ }
349
+ curOption[ key ] = value;
350
+ } else {
351
+ if ( arguments.length === 1 ) {
352
+ return this.options[ key ] === undefined ? null : this.options[ key ];
353
+ }
354
+ options[ key ] = value;
355
+ }
356
+ }
357
+
358
+ this._setOptions( options );
359
+
360
+ return this;
361
+ },
362
+ _setOptions: function( options ) {
363
+ var key;
364
+
365
+ for ( key in options ) {
366
+ this._setOption( key, options[ key ] );
367
+ }
368
+
369
+ return this;
370
+ },
371
+ _setOption: function( key, value ) {
372
+ this.options[ key ] = value;
373
+
374
+ if ( key === "disabled" ) {
375
+ this.widget()
376
+ .toggleClass( this.widgetFullName + "-disabled", !!value );
377
+
378
+ // If the widget is becoming disabled, then nothing is interactive
379
+ if ( value ) {
380
+ this.hoverable.removeClass( "ui-state-hover" );
381
+ this.focusable.removeClass( "ui-state-focus" );
382
+ }
383
+ }
384
+
385
+ return this;
386
+ },
387
+
388
+ enable: function() {
389
+ return this._setOptions({ disabled: false });
390
+ },
391
+ disable: function() {
392
+ return this._setOptions({ disabled: true });
393
+ },
394
+
395
+ _on: function( suppressDisabledCheck, element, handlers ) {
396
+ var delegateElement,
397
+ instance = this;
398
+
399
+ // no suppressDisabledCheck flag, shuffle arguments
400
+ if ( typeof suppressDisabledCheck !== "boolean" ) {
401
+ handlers = element;
402
+ element = suppressDisabledCheck;
403
+ suppressDisabledCheck = false;
404
+ }
405
+
406
+ // no element argument, shuffle and use this.element
407
+ if ( !handlers ) {
408
+ handlers = element;
409
+ element = this.element;
410
+ delegateElement = this.widget();
411
+ } else {
412
+ element = delegateElement = $( element );
413
+ this.bindings = this.bindings.add( element );
414
+ }
415
+
416
+ $.each( handlers, function( event, handler ) {
417
+ function handlerProxy() {
418
+ // allow widgets to customize the disabled handling
419
+ // - disabled as an array instead of boolean
420
+ // - disabled class as method for disabling individual parts
421
+ if ( !suppressDisabledCheck &&
422
+ ( instance.options.disabled === true ||
423
+ $( this ).hasClass( "ui-state-disabled" ) ) ) {
424
+ return;
425
+ }
426
+ return ( typeof handler === "string" ? instance[ handler ] : handler )
427
+ .apply( instance, arguments );
428
+ }
429
+
430
+ // copy the guid so direct unbinding works
431
+ if ( typeof handler !== "string" ) {
432
+ handlerProxy.guid = handler.guid =
433
+ handler.guid || handlerProxy.guid || $.guid++;
434
+ }
435
+
436
+ var match = event.match( /^([\w:-]*)\s*(.*)$/ ),
437
+ eventName = match[1] + instance.eventNamespace,
438
+ selector = match[2];
439
+ if ( selector ) {
440
+ delegateElement.delegate( selector, eventName, handlerProxy );
441
+ } else {
442
+ element.bind( eventName, handlerProxy );
443
+ }
444
+ });
445
+ },
446
+
447
+ _off: function( element, eventName ) {
448
+ eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) +
449
+ this.eventNamespace;
450
+ element.unbind( eventName ).undelegate( eventName );
451
+
452
+ // Clear the stack to avoid memory leaks (#10056)
453
+ this.bindings = $( this.bindings.not( element ).get() );
454
+ this.focusable = $( this.focusable.not( element ).get() );
455
+ this.hoverable = $( this.hoverable.not( element ).get() );
456
+ },
457
+
458
+ _delay: function( handler, delay ) {
459
+ function handlerProxy() {
460
+ return ( typeof handler === "string" ? instance[ handler ] : handler )
461
+ .apply( instance, arguments );
462
+ }
463
+ var instance = this;
464
+ return setTimeout( handlerProxy, delay || 0 );
465
+ },
466
+
467
+ _hoverable: function( element ) {
468
+ this.hoverable = this.hoverable.add( element );
469
+ this._on( element, {
470
+ mouseenter: function( event ) {
471
+ $( event.currentTarget ).addClass( "ui-state-hover" );
472
+ },
473
+ mouseleave: function( event ) {
474
+ $( event.currentTarget ).removeClass( "ui-state-hover" );
475
+ }
476
+ });
477
+ },
478
+
479
+ _focusable: function( element ) {
480
+ this.focusable = this.focusable.add( element );
481
+ this._on( element, {
482
+ focusin: function( event ) {
483
+ $( event.currentTarget ).addClass( "ui-state-focus" );
484
+ },
485
+ focusout: function( event ) {
486
+ $( event.currentTarget ).removeClass( "ui-state-focus" );
487
+ }
488
+ });
489
+ },
490
+
491
+ _trigger: function( type, event, data ) {
492
+ var prop, orig,
493
+ callback = this.options[ type ];
494
+
495
+ data = data || {};
496
+ event = $.Event( event );
497
+ event.type = ( type === this.widgetEventPrefix ?
498
+ type :
499
+ this.widgetEventPrefix + type ).toLowerCase();
500
+ // the original event may come from any element
501
+ // so we need to reset the target on the new event
502
+ event.target = this.element[ 0 ];
503
+
504
+ // copy original event properties over to the new event
505
+ orig = event.originalEvent;
506
+ if ( orig ) {
507
+ for ( prop in orig ) {
508
+ if ( !( prop in event ) ) {
509
+ event[ prop ] = orig[ prop ];
510
+ }
511
+ }
512
+ }
513
+
514
+ this.element.trigger( event, data );
515
+ return !( $.isFunction( callback ) &&
516
+ callback.apply( this.element[0], [ event ].concat( data ) ) === false ||
517
+ event.isDefaultPrevented() );
518
+ }
519
+ };
520
+
521
+ $.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) {
522
+ $.Widget.prototype[ "_" + method ] = function( element, options, callback ) {
523
+ if ( typeof options === "string" ) {
524
+ options = { effect: options };
525
+ }
526
+ var hasOptions,
527
+ effectName = !options ?
528
+ method :
529
+ options === true || typeof options === "number" ?
530
+ defaultEffect :
531
+ options.effect || defaultEffect;
532
+ options = options || {};
533
+ if ( typeof options === "number" ) {
534
+ options = { duration: options };
535
+ }
536
+ hasOptions = !$.isEmptyObject( options );
537
+ options.complete = callback;
538
+ if ( options.delay ) {
539
+ element.delay( options.delay );
540
+ }
541
+ if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) {
542
+ element[ method ]( options );
543
+ } else if ( effectName !== method && element[ effectName ] ) {
544
+ element[ effectName ]( options.duration, options.easing, callback );
545
+ } else {
546
+ element.queue(function( next ) {
547
+ $( this )[ method ]();
548
+ if ( callback ) {
549
+ callback.call( element[ 0 ] );
550
+ }
551
+ next();
552
+ });
553
+ }
554
+ };
555
+ });
556
+
557
+ return $.widget;
558
+
559
+ }));