zfben_rails_assets 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. data/.gitignore +4 -0
  2. data/example/.sass-cache/686d48c4bb3405df08bdcc662a0722bb96d63df5/test.sassc +0 -0
  3. data/example/.sass-cache/7a5615116aa96cc45242210dec5b677975f46879/reset.sassc +0 -0
  4. data/example/app/assets/javascripts/reset.sass +1 -0
  5. data/example/app/assets/javascripts/test.js +2 -3
  6. data/example/{vendor/assets/stylesheets/.gitkeep → app/assets/javascripts/zff.js} +0 -0
  7. data/example/app/assets/stylesheets/test.css +1 -0
  8. data/example/app/views/test/index.haml +1 -1
  9. data/{vendor/assets/javascripts/zzf → example/vendor/assets/javascripts/zff/core}/core.js +1 -3
  10. data/example/vendor/assets/javascripts/zff/core.js +1 -0
  11. data/{vendor/assets/javascripts/jquery/jquery.js → example/vendor/assets/javascripts/zff/lib/jquery/core.js} +0 -0
  12. data/{vendor/assets/javascripts/jqGrid.js → example/vendor/assets/javascripts/zff/lib/jquery/grid.js} +0 -0
  13. data/{vendor/assets/javascripts/jquery/jquery-ui.js → example/vendor/assets/javascripts/zff/lib/jquery/ui.js} +0 -0
  14. data/{vendor/assets/javascripts/underscore/underscore.js → example/vendor/assets/javascripts/zff/lib/underscore/core.js} +0 -0
  15. data/{vendor/assets/javascripts/zzf-spec → example/vendor/assets/javascripts/zff/spec}/core.js +4 -4
  16. data/{vendor/assets/javascripts/qunit → example/vendor/assets/javascripts/zff/spec}/qunit.js +0 -0
  17. data/example/vendor/assets/javascripts/zff/spec.js +2 -0
  18. data/example/vendor/assets/javascripts/zff.js +0 -0
  19. data/{vendor/assets/stylesheets → example/vendor/assets/stylesheets/zff/lib}/qunit.css +0 -0
  20. data/example/vendor/assets/stylesheets/zff/reset.sass +1 -0
  21. data/example/vendor/assets/stylesheets/zff/spec.css +1 -0
  22. data/lib/zfben_rails_assets/Gemfile +12 -0
  23. data/lib/zfben_rails_assets/assets/javascripts/zff/core/core.js +57 -0
  24. data/lib/zfben_rails_assets/assets/javascripts/zff/core.js +1 -0
  25. data/lib/zfben_rails_assets/assets/javascripts/zff/lib/jquery/core.js +8936 -0
  26. data/lib/zfben_rails_assets/assets/javascripts/zff/lib/jquery/grid.js +467 -0
  27. data/lib/zfben_rails_assets/assets/javascripts/zff/lib/jquery/ui.js +11631 -0
  28. data/lib/zfben_rails_assets/assets/javascripts/zff/lib/underscore/core.js +807 -0
  29. data/lib/zfben_rails_assets/assets/javascripts/zff/spec/core.js +38 -0
  30. data/lib/zfben_rails_assets/assets/javascripts/zff/spec/qunit.js +1448 -0
  31. data/lib/zfben_rails_assets/assets/javascripts/zff/spec.js +2 -0
  32. data/lib/zfben_rails_assets/assets/javascripts/zff.js +0 -0
  33. data/lib/zfben_rails_assets/assets/stylesheets/zff/lib/qunit.css +225 -0
  34. data/lib/zfben_rails_assets/assets/stylesheets/zff/reset.sass +1 -0
  35. data/lib/zfben_rails_assets/assets/stylesheets/zff/spec.css +1 -0
  36. data/lib/zfben_rails_assets/config/compass.rb +11 -0
  37. data/lib/zfben_rails_assets/config/sass.rb +4 -0
  38. data/lib/zfben_rails_assets/tasks.rb +72 -0
  39. data/lib/zfben_rails_assets/version.rb +1 -1
  40. data/lib/zfben_rails_assets.rb +6 -2
  41. data/zfben_rails_assets.gemspec +0 -2
  42. metadata +44 -42
  43. data/vendor/assets/javascripts/jasmine/jasmine-html.js +0 -190
  44. data/vendor/assets/javascripts/jasmine/jasmine.js +0 -2445
  45. data/vendor/assets/javascripts/jasmine/mock-ajax.js +0 -114
  46. data/vendor/assets/javascripts/jasmine/spec-helper.js +0 -19
  47. data/vendor/assets/javascripts/jasmine.js +0 -4
  48. data/vendor/assets/javascripts/jquery/jquery-ui.js.1 +0 -843
  49. data/vendor/assets/javascripts/jquery.js +0 -1
  50. data/vendor/assets/javascripts/qunit.js +0 -1
  51. data/vendor/assets/javascripts/underscore.js +0 -1
  52. data/vendor/assets/javascripts/zzf/underscore.js +0 -6
  53. data/vendor/assets/javascripts/zzf-spec.js +0 -1
  54. data/vendor/assets/javascripts/zzf.js +0 -1
  55. data/vendor/assets/stylesheets/jasmine.css +0 -166
@@ -1,843 +0,0 @@
1
- /*!
2
- * jQuery UI 1.8.13
3
- *
4
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
5
- * Dual licensed under the MIT or GPL Version 2 licenses.
6
- * http://jquery.org/license
7
- *
8
- * http://docs.jquery.com/UI
9
- */
10
- (function( $, undefined ) {
11
-
12
- // prevent duplicate loading
13
- // this is only a problem because we proxy existing functions
14
- // and we don't want to double proxy them
15
- $.ui = $.ui || {};
16
- if ( $.ui.version ) {
17
- return;
18
- }
19
-
20
- $.extend( $.ui, {
21
- version: "1.8.13",
22
-
23
- keyCode: {
24
- ALT: 18,
25
- BACKSPACE: 8,
26
- CAPS_LOCK: 20,
27
- COMMA: 188,
28
- COMMAND: 91,
29
- COMMAND_LEFT: 91, // COMMAND
30
- COMMAND_RIGHT: 93,
31
- CONTROL: 17,
32
- DELETE: 46,
33
- DOWN: 40,
34
- END: 35,
35
- ENTER: 13,
36
- ESCAPE: 27,
37
- HOME: 36,
38
- INSERT: 45,
39
- LEFT: 37,
40
- MENU: 93, // COMMAND_RIGHT
41
- NUMPAD_ADD: 107,
42
- NUMPAD_DECIMAL: 110,
43
- NUMPAD_DIVIDE: 111,
44
- NUMPAD_ENTER: 108,
45
- NUMPAD_MULTIPLY: 106,
46
- NUMPAD_SUBTRACT: 109,
47
- PAGE_DOWN: 34,
48
- PAGE_UP: 33,
49
- PERIOD: 190,
50
- RIGHT: 39,
51
- SHIFT: 16,
52
- SPACE: 32,
53
- TAB: 9,
54
- UP: 38,
55
- WINDOWS: 91 // COMMAND
56
- }
57
- });
58
-
59
- // plugins
60
- $.fn.extend({
61
- _focus: $.fn.focus,
62
- focus: function( delay, fn ) {
63
- return typeof delay === "number" ?
64
- this.each(function() {
65
- var elem = this;
66
- setTimeout(function() {
67
- $( elem ).focus();
68
- if ( fn ) {
69
- fn.call( elem );
70
- }
71
- }, delay );
72
- }) :
73
- this._focus.apply( this, arguments );
74
- },
75
-
76
- scrollParent: function() {
77
- var scrollParent;
78
- if (($.browser.msie && (/(static|relative)/).test(this.css('position'))) || (/absolute/).test(this.css('position'))) {
79
- scrollParent = this.parents().filter(function() {
80
- return (/(relative|absolute|fixed)/).test($.curCSS(this,'position',1)) && (/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflow-y',1)+$.curCSS(this,'overflow-x',1));
81
- }).eq(0);
82
- } else {
83
- scrollParent = this.parents().filter(function() {
84
- return (/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflow-y',1)+$.curCSS(this,'overflow-x',1));
85
- }).eq(0);
86
- }
87
-
88
- return (/fixed/).test(this.css('position')) || !scrollParent.length ? $(document) : scrollParent;
89
- },
90
-
91
- zIndex: function( zIndex ) {
92
- if ( zIndex !== undefined ) {
93
- return this.css( "zIndex", zIndex );
94
- }
95
-
96
- if ( this.length ) {
97
- var elem = $( this[ 0 ] ), position, value;
98
- while ( elem.length && elem[ 0 ] !== document ) {
99
- // Ignore z-index if position is set to a value where z-index is ignored by the browser
100
- // This makes behavior of this function consistent across browsers
101
- // WebKit always returns auto if the element is positioned
102
- position = elem.css( "position" );
103
- if ( position === "absolute" || position === "relative" || position === "fixed" ) {
104
- // IE returns 0 when zIndex is not specified
105
- // other browsers return a string
106
- // we ignore the case of nested elements with an explicit value of 0
107
- // <div style="z-index: -10;"><div style="z-index: 0;"></div></div>
108
- value = parseInt( elem.css( "zIndex" ), 10 );
109
- if ( !isNaN( value ) && value !== 0 ) {
110
- return value;
111
- }
112
- }
113
- elem = elem.parent();
114
- }
115
- }
116
-
117
- return 0;
118
- },
119
-
120
- disableSelection: function() {
121
- return this.bind( ( $.support.selectstart ? "selectstart" : "mousedown" ) +
122
- ".ui-disableSelection", function( event ) {
123
- event.preventDefault();
124
- });
125
- },
126
-
127
- enableSelection: function() {
128
- return this.unbind( ".ui-disableSelection" );
129
- }
130
- });
131
-
132
- $.each( [ "Width", "Height" ], function( i, name ) {
133
- var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ],
134
- type = name.toLowerCase(),
135
- orig = {
136
- innerWidth: $.fn.innerWidth,
137
- innerHeight: $.fn.innerHeight,
138
- outerWidth: $.fn.outerWidth,
139
- outerHeight: $.fn.outerHeight
140
- };
141
-
142
- function reduce( elem, size, border, margin ) {
143
- $.each( side, function() {
144
- size -= parseFloat( $.curCSS( elem, "padding" + this, true) ) || 0;
145
- if ( border ) {
146
- size -= parseFloat( $.curCSS( elem, "border" + this + "Width", true) ) || 0;
147
- }
148
- if ( margin ) {
149
- size -= parseFloat( $.curCSS( elem, "margin" + this, true) ) || 0;
150
- }
151
- });
152
- return size;
153
- }
154
-
155
- $.fn[ "inner" + name ] = function( size ) {
156
- if ( size === undefined ) {
157
- return orig[ "inner" + name ].call( this );
158
- }
159
-
160
- return this.each(function() {
161
- $( this ).css( type, reduce( this, size ) + "px" );
162
- });
163
- };
164
-
165
- $.fn[ "outer" + name] = function( size, margin ) {
166
- if ( typeof size !== "number" ) {
167
- return orig[ "outer" + name ].call( this, size );
168
- }
169
-
170
- return this.each(function() {
171
- $( this).css( type, reduce( this, size, true, margin ) + "px" );
172
- });
173
- };
174
- });
175
-
176
- // selectors
177
- function focusable( element, isTabIndexNotNaN ) {
178
- var nodeName = element.nodeName.toLowerCase();
179
- if ( "area" === nodeName ) {
180
- var map = element.parentNode,
181
- mapName = map.name,
182
- img;
183
- if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) {
184
- return false;
185
- }
186
- img = $( "img[usemap=#" + mapName + "]" )[0];
187
- return !!img && visible( img );
188
- }
189
- return ( /input|select|textarea|button|object/.test( nodeName )
190
- ? !element.disabled
191
- : "a" == nodeName
192
- ? element.href || isTabIndexNotNaN
193
- : isTabIndexNotNaN)
194
- // the element and all of its ancestors must be visible
195
- && visible( element );
196
- }
197
-
198
- function visible( element ) {
199
- return !$( element ).parents().andSelf().filter(function() {
200
- return $.curCSS( this, "visibility" ) === "hidden" ||
201
- $.expr.filters.hidden( this );
202
- }).length;
203
- }
204
-
205
- $.extend( $.expr[ ":" ], {
206
- data: function( elem, i, match ) {
207
- return !!$.data( elem, match[ 3 ] );
208
- },
209
-
210
- focusable: function( element ) {
211
- return focusable( element, !isNaN( $.attr( element, "tabindex" ) ) );
212
- },
213
-
214
- tabbable: function( element ) {
215
- var tabIndex = $.attr( element, "tabindex" ),
216
- isTabIndexNaN = isNaN( tabIndex );
217
- return ( isTabIndexNaN || tabIndex >= 0 ) && focusable( element, !isTabIndexNaN );
218
- }
219
- });
220
-
221
- // support
222
- $(function() {
223
- var body = document.body,
224
- div = body.appendChild( div = document.createElement( "div" ) );
225
-
226
- $.extend( div.style, {
227
- minHeight: "100px",
228
- height: "auto",
229
- padding: 0,
230
- borderWidth: 0
231
- });
232
-
233
- $.support.minHeight = div.offsetHeight === 100;
234
- $.support.selectstart = "onselectstart" in div;
235
-
236
- // set display to none to avoid a layout bug in IE
237
- // http://dev.jquery.com/ticket/4014
238
- body.removeChild( div ).style.display = "none";
239
- });
240
-
241
-
242
-
243
-
244
-
245
- // deprecated
246
- $.extend( $.ui, {
247
- // $.ui.plugin is deprecated. Use the proxy pattern instead.
248
- plugin: {
249
- add: function( module, option, set ) {
250
- var proto = $.ui[ module ].prototype;
251
- for ( var i in set ) {
252
- proto.plugins[ i ] = proto.plugins[ i ] || [];
253
- proto.plugins[ i ].push( [ option, set[ i ] ] );
254
- }
255
- },
256
- call: function( instance, name, args ) {
257
- var set = instance.plugins[ name ];
258
- if ( !set || !instance.element[ 0 ].parentNode ) {
259
- return;
260
- }
261
-
262
- for ( var i = 0; i < set.length; i++ ) {
263
- if ( instance.options[ set[ i ][ 0 ] ] ) {
264
- set[ i ][ 1 ].apply( instance.element, args );
265
- }
266
- }
267
- }
268
- },
269
-
270
- // will be deprecated when we switch to jQuery 1.4 - use jQuery.contains()
271
- contains: function( a, b ) {
272
- return document.compareDocumentPosition ?
273
- a.compareDocumentPosition( b ) & 16 :
274
- a !== b && a.contains( b );
275
- },
276
-
277
- // only used by resizable
278
- hasScroll: function( el, a ) {
279
-
280
- //If overflow is hidden, the element might have extra content, but the user wants to hide it
281
- if ( $( el ).css( "overflow" ) === "hidden") {
282
- return false;
283
- }
284
-
285
- var scroll = ( a && a === "left" ) ? "scrollLeft" : "scrollTop",
286
- has = false;
287
-
288
- if ( el[ scroll ] > 0 ) {
289
- return true;
290
- }
291
-
292
- // TODO: determine which cases actually cause this to happen
293
- // if the element doesn't have the scroll set, see if it's possible to
294
- // set the scroll
295
- el[ scroll ] = 1;
296
- has = ( el[ scroll ] > 0 );
297
- el[ scroll ] = 0;
298
- return has;
299
- },
300
-
301
- // these are odd functions, fix the API or move into individual plugins
302
- isOverAxis: function( x, reference, size ) {
303
- //Determines when x coordinate is over "b" element axis
304
- return ( x > reference ) && ( x < ( reference + size ) );
305
- },
306
- isOver: function( y, x, top, left, height, width ) {
307
- //Determines when x, y coordinates is over "b" element
308
- return $.ui.isOverAxis( y, top, height ) && $.ui.isOverAxis( x, left, width );
309
- }
310
- });
311
-
312
- })( jQuery );
313
- /*!
314
- * jQuery UI Widget 1.8.13
315
- *
316
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
317
- * Dual licensed under the MIT or GPL Version 2 licenses.
318
- * http://jquery.org/license
319
- *
320
- * http://docs.jquery.com/UI/Widget
321
- */
322
- (function( $, undefined ) {
323
-
324
- // jQuery 1.4+
325
- if ( $.cleanData ) {
326
- var _cleanData = $.cleanData;
327
- $.cleanData = function( elems ) {
328
- for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
329
- $( elem ).triggerHandler( "remove" );
330
- }
331
- _cleanData( elems );
332
- };
333
- } else {
334
- var _remove = $.fn.remove;
335
- $.fn.remove = function( selector, keepData ) {
336
- return this.each(function() {
337
- if ( !keepData ) {
338
- if ( !selector || $.filter( selector, [ this ] ).length ) {
339
- $( "*", this ).add( [ this ] ).each(function() {
340
- $( this ).triggerHandler( "remove" );
341
- });
342
- }
343
- }
344
- return _remove.call( $(this), selector, keepData );
345
- });
346
- };
347
- }
348
-
349
- $.widget = function( name, base, prototype ) {
350
- var namespace = name.split( "." )[ 0 ],
351
- fullName;
352
- name = name.split( "." )[ 1 ];
353
- fullName = namespace + "-" + name;
354
-
355
- if ( !prototype ) {
356
- prototype = base;
357
- base = $.Widget;
358
- }
359
-
360
- // create selector for plugin
361
- $.expr[ ":" ][ fullName ] = function( elem ) {
362
- return !!$.data( elem, name );
363
- };
364
-
365
- $[ namespace ] = $[ namespace ] || {};
366
- $[ namespace ][ name ] = function( options, element ) {
367
- // allow instantiation without initializing for simple inheritance
368
- if ( arguments.length ) {
369
- this._createWidget( options, element );
370
- }
371
- };
372
-
373
- var basePrototype = new base();
374
- // we need to make the options hash a property directly on the new instance
375
- // otherwise we'll modify the options hash on the prototype that we're
376
- // inheriting from
377
- // $.each( basePrototype, function( key, val ) {
378
- // if ( $.isPlainObject(val) ) {
379
- // basePrototype[ key ] = $.extend( {}, val );
380
- // }
381
- // });
382
- basePrototype.options = $.extend( true, {}, basePrototype.options );
383
- $[ namespace ][ name ].prototype = $.extend( true, basePrototype, {
384
- namespace: namespace,
385
- widgetName: name,
386
- widgetEventPrefix: $[ namespace ][ name ].prototype.widgetEventPrefix || name,
387
- widgetBaseClass: fullName
388
- }, prototype );
389
-
390
- $.widget.bridge( name, $[ namespace ][ name ] );
391
- };
392
-
393
- $.widget.bridge = function( name, object ) {
394
- $.fn[ name ] = function( options ) {
395
- var isMethodCall = typeof options === "string",
396
- args = Array.prototype.slice.call( arguments, 1 ),
397
- returnValue = this;
398
-
399
- // allow multiple hashes to be passed on init
400
- options = !isMethodCall && args.length ?
401
- $.extend.apply( null, [ true, options ].concat(args) ) :
402
- options;
403
-
404
- // prevent calls to internal methods
405
- if ( isMethodCall && options.charAt( 0 ) === "_" ) {
406
- return returnValue;
407
- }
408
-
409
- if ( isMethodCall ) {
410
- this.each(function() {
411
- var instance = $.data( this, name ),
412
- methodValue = instance && $.isFunction( instance[options] ) ?
413
- instance[ options ].apply( instance, args ) :
414
- instance;
415
- // TODO: add this back in 1.9 and use $.error() (see #5972)
416
- // if ( !instance ) {
417
- // throw "cannot call methods on " + name + " prior to initialization; " +
418
- // "attempted to call method '" + options + "'";
419
- // }
420
- // if ( !$.isFunction( instance[options] ) ) {
421
- // throw "no such method '" + options + "' for " + name + " widget instance";
422
- // }
423
- // var methodValue = instance[ options ].apply( instance, args );
424
- if ( methodValue !== instance && methodValue !== undefined ) {
425
- returnValue = methodValue;
426
- return false;
427
- }
428
- });
429
- } else {
430
- this.each(function() {
431
- var instance = $.data( this, name );
432
- if ( instance ) {
433
- instance.option( options || {} )._init();
434
- } else {
435
- $.data( this, name, new object( options, this ) );
436
- }
437
- });
438
- }
439
-
440
- return returnValue;
441
- };
442
- };
443
-
444
- $.Widget = function( options, element ) {
445
- // allow instantiation without initializing for simple inheritance
446
- if ( arguments.length ) {
447
- this._createWidget( options, element );
448
- }
449
- };
450
-
451
- $.Widget.prototype = {
452
- widgetName: "widget",
453
- widgetEventPrefix: "",
454
- options: {
455
- disabled: false
456
- },
457
- _createWidget: function( options, element ) {
458
- // $.widget.bridge stores the plugin instance, but we do it anyway
459
- // so that it's stored even before the _create function runs
460
- $.data( element, this.widgetName, this );
461
- this.element = $( element );
462
- this.options = $.extend( true, {},
463
- this.options,
464
- this._getCreateOptions(),
465
- options );
466
-
467
- var self = this;
468
- this.element.bind( "remove." + this.widgetName, function() {
469
- self.destroy();
470
- });
471
-
472
- this._create();
473
- this._trigger( "create" );
474
- this._init();
475
- },
476
- _getCreateOptions: function() {
477
- return $.metadata && $.metadata.get( this.element[0] )[ this.widgetName ];
478
- },
479
- _create: function() {},
480
- _init: function() {},
481
-
482
- destroy: function() {
483
- this.element
484
- .unbind( "." + this.widgetName )
485
- .removeData( this.widgetName );
486
- this.widget()
487
- .unbind( "." + this.widgetName )
488
- .removeAttr( "aria-disabled" )
489
- .removeClass(
490
- this.widgetBaseClass + "-disabled " +
491
- "ui-state-disabled" );
492
- },
493
-
494
- widget: function() {
495
- return this.element;
496
- },
497
-
498
- option: function( key, value ) {
499
- var options = key;
500
-
501
- if ( arguments.length === 0 ) {
502
- // don't return a reference to the internal hash
503
- return $.extend( {}, this.options );
504
- }
505
-
506
- if (typeof key === "string" ) {
507
- if ( value === undefined ) {
508
- return this.options[ key ];
509
- }
510
- options = {};
511
- options[ key ] = value;
512
- }
513
-
514
- this._setOptions( options );
515
-
516
- return this;
517
- },
518
- _setOptions: function( options ) {
519
- var self = this;
520
- $.each( options, function( key, value ) {
521
- self._setOption( key, value );
522
- });
523
-
524
- return this;
525
- },
526
- _setOption: function( key, value ) {
527
- this.options[ key ] = value;
528
-
529
- if ( key === "disabled" ) {
530
- this.widget()
531
- [ value ? "addClass" : "removeClass"](
532
- this.widgetBaseClass + "-disabled" + " " +
533
- "ui-state-disabled" )
534
- .attr( "aria-disabled", value );
535
- }
536
-
537
- return this;
538
- },
539
-
540
- enable: function() {
541
- return this._setOption( "disabled", false );
542
- },
543
- disable: function() {
544
- return this._setOption( "disabled", true );
545
- },
546
-
547
- _trigger: function( type, event, data ) {
548
- var callback = this.options[ type ];
549
-
550
- event = $.Event( event );
551
- event.type = ( type === this.widgetEventPrefix ?
552
- type :
553
- this.widgetEventPrefix + type ).toLowerCase();
554
- data = data || {};
555
-
556
- // copy original event properties over to the new event
557
- // this would happen if we could call $.event.fix instead of $.Event
558
- // but we don't have a way to force an event to be fixed multiple times
559
- if ( event.originalEvent ) {
560
- for ( var i = $.event.props.length, prop; i; ) {
561
- prop = $.event.props[ --i ];
562
- event[ prop ] = event.originalEvent[ prop ];
563
- }
564
- }
565
-
566
- this.element.trigger( event, data );
567
-
568
- return !( $.isFunction(callback) &&
569
- callback.call( this.element[0], event, data ) === false ||
570
- event.isDefaultPrevented() );
571
- }
572
- };
573
-
574
- })( jQuery );
575
- /*!
576
- * jQuery UI Mouse 1.8.13
577
- *
578
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
579
- * Dual licensed under the MIT or GPL Version 2 licenses.
580
- * http://jquery.org/license
581
- *
582
- * http://docs.jquery.com/UI/Mouse
583
- *
584
- * Depends:
585
- * jquery.ui.widget.js
586
- */
587
- (function( $, undefined ) {
588
-
589
- var mouseHandled = false;
590
- $(document).mousedown(function(e) {
591
- mouseHandled = false;
592
- });
593
-
594
- $.widget("ui.mouse", {
595
- options: {
596
- cancel: ':input,option',
597
- distance: 1,
598
- delay: 0
599
- },
600
- _mouseInit: function() {
601
- var self = this;
602
-
603
- this.element
604
- .bind('mousedown.'+this.widgetName, function(event) {
605
- return self._mouseDown(event);
606
- })
607
- .bind('click.'+this.widgetName, function(event) {
608
- if (true === $.data(event.target, self.widgetName + '.preventClickEvent')) {
609
- $.removeData(event.target, self.widgetName + '.preventClickEvent');
610
- event.stopImmediatePropagation();
611
- return false;
612
- }
613
- });
614
-
615
- this.started = false;
616
- },
617
-
618
- // TODO: make sure destroying one instance of mouse doesn't mess with
619
- // other instances of mouse
620
- _mouseDestroy: function() {
621
- this.element.unbind('.'+this.widgetName);
622
- },
623
-
624
- _mouseDown: function(event) {
625
- // don't let more than one widget handle mouseStart
626
- if(mouseHandled) {return};
627
-
628
- // we may have missed mouseup (out of window)
629
- (this._mouseStarted && this._mouseUp(event));
630
-
631
- this._mouseDownEvent = event;
632
-
633
- var self = this,
634
- btnIsLeft = (event.which == 1),
635
- elIsCancel = (typeof this.options.cancel == "string" ? $(event.target).parents().add(event.target).filter(this.options.cancel).length : false);
636
- if (!btnIsLeft || elIsCancel || !this._mouseCapture(event)) {
637
- return true;
638
- }
639
-
640
- this.mouseDelayMet = !this.options.delay;
641
- if (!this.mouseDelayMet) {
642
- this._mouseDelayTimer = setTimeout(function() {
643
- self.mouseDelayMet = true;
644
- }, this.options.delay);
645
- }
646
-
647
- if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {
648
- this._mouseStarted = (this._mouseStart(event) !== false);
649
- if (!this._mouseStarted) {
650
- event.preventDefault();
651
- return true;
652
- }
653
- }
654
-
655
- // Click event may never have fired (Gecko & Opera)
656
- if (true === $.data(event.target, this.widgetName + '.preventClickEvent')) {
657
- $.removeData(event.target, this.widgetName + '.preventClickEvent');
658
- }
659
-
660
- // these delegates are required to keep context
661
- this._mouseMoveDelegate = function(event) {
662
- return self._mouseMove(event);
663
- };
664
- this._mouseUpDelegate = function(event) {
665
- return self._mouseUp(event);
666
- };
667
- $(document)
668
- .bind('mousemove.'+this.widgetName, this._mouseMoveDelegate)
669
- .bind('mouseup.'+this.widgetName, this._mouseUpDelegate);
670
-
671
- event.preventDefault();
672
-
673
- mouseHandled = true;
674
- return true;
675
- },
676
-
677
- _mouseMove: function(event) {
678
- // IE mouseup check - mouseup happened when mouse was out of window
679
- if ($.browser.msie && !(document.documentMode >= 9) && !event.button) {
680
- return this._mouseUp(event);
681
- }
682
-
683
- if (this._mouseStarted) {
684
- this._mouseDrag(event);
685
- return event.preventDefault();
686
- }
687
-
688
- if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {
689
- this._mouseStarted =
690
- (this._mouseStart(this._mouseDownEvent, event) !== false);
691
- (this._mouseStarted ? this._mouseDrag(event) : this._mouseUp(event));
692
- }
693
-
694
- return !this._mouseStarted;
695
- },
696
-
697
- _mouseUp: function(event) {
698
- $(document)
699
- .unbind('mousemove.'+this.widgetName, this._mouseMoveDelegate)
700
- .unbind('mouseup.'+this.widgetName, this._mouseUpDelegate);
701
-
702
- if (this._mouseStarted) {
703
- this._mouseStarted = false;
704
-
705
- if (event.target == this._mouseDownEvent.target) {
706
- $.data(event.target, this.widgetName + '.preventClickEvent', true);
707
- }
708
-
709
- this._mouseStop(event);
710
- }
711
-
712
- return false;
713
- },
714
-
715
- _mouseDistanceMet: function(event) {
716
- return (Math.max(
717
- Math.abs(this._mouseDownEvent.pageX - event.pageX),
718
- Math.abs(this._mouseDownEvent.pageY - event.pageY)
719
- ) >= this.options.distance
720
- );
721
- },
722
-
723
- _mouseDelayMet: function(event) {
724
- return this.mouseDelayMet;
725
- },
726
-
727
- // These are placeholder methods, to be overriden by extending plugin
728
- _mouseStart: function(event) {},
729
- _mouseDrag: function(event) {},
730
- _mouseStop: function(event) {},
731
- _mouseCapture: function(event) { return true; }
732
- });
733
-
734
- })(jQuery);
735
- /*
736
- * jQuery UI Draggable 1.8.13
737
- *
738
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
739
- * Dual licensed under the MIT or GPL Version 2 licenses.
740
- * http://jquery.org/license
741
- *
742
- * http://docs.jquery.com/UI/Draggables
743
- *
744
- * Depends:
745
- * jquery.ui.core.js
746
- * jquery.ui.mouse.js
747
- * jquery.ui.widget.js
748
- */
749
- (function( $, undefined ) {
750
-
751
- $.widget("ui.draggable", $.ui.mouse, {
752
- widgetEventPrefix: "drag",
753
- options: {
754
- addClasses: true,
755
- appendTo: "parent",
756
- axis: false,
757
- connectToSortable: false,
758
- containment: false,
759
- cursor: "auto",
760
- cursorAt: false,
761
- grid: false,
762
- handle: false,
763
- helper: "original",
764
- iframeFix: false,
765
- opacity: false,
766
- refreshPositions: false,
767
- revert: false,
768
- revertDuration: 500,
769
- scope: "default",
770
- scroll: true,
771
- scrollSensitivity: 20,
772
- scrollSpeed: 20,
773
- snap: false,
774
- snapMode: "both",
775
- snapTolerance: 20,
776
- stack: false,
777
- zIndex: false
778
- },
779
- _create: function() {
780
-
781
- if (this.options.helper == 'original' && !(/^(?:r|a|f)/).test(this.element.css("position")))
782
- this.element[0].style.position = 'relative';
783
-
784
- (this.options.addClasses && this.element.addClass("ui-draggable"));
785
- (this.options.disabled && this.element.addClass("ui-draggable-disabled"));
786
-
787
- this._mouseInit();
788
-
789
- },
790
-
791
- destroy: function() {
792
- if(!this.element.data('draggable')) return;
793
- this.element
794
- .removeData("draggable")
795
- .unbind(".draggable")
796
- .removeClass("ui-draggable"
797
- + " ui-draggable-dragging"
798
- + " ui-draggable-disabled");
799
- this._mouseDestroy();
800
-
801
- return this;
802
- },
803
-
804
- _mouseCapture: function(event) {
805
-
806
- var o = this.options;
807
-
808
- // among others, prevent a drag on a resizable-handle
809
- if (this.helper || o.disabled || $(event.target).is('.ui-resizable-handle'))
810
- return false;
811
-
812
- //Quit if we're not on a valid handle
813
- this.handle = this._getHandle(event);
814
- if (!this.handle)
815
- return false;
816
-
817
- $(o.iframeFix === true ? "iframe" : o.iframeFix).each(function() {
818
- $('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>')
819
- .css({
820
- width: this.offsetWidth+"px", height: this.offsetHeight+"px",
821
- position: "absolute", opacity: "0.001", zIndex: 1000
822
- })
823
- .css($(this).offset())
824
- .appendTo("body");
825
- });
826
-
827
- return true;
828
-
829
- },
830
-
831
- _mouseStart: function(event) {
832
-
833
- var o = this.options;
834
-
835
- //Create and append the visible helper
836
- this.helper = this._createHelper(event);
837
-
838
- //Cache the helper size
839
- this._cacheHelperProportions();
840
-
841
- //If ddmanager is used for droppables, set the global draggable
842
- if($.ui.ddmanager)
843
- $.ui.ddmanager.current = this