jquery-rails 2.0.3 → 2.1.0

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.

Potentially problematic release.


This version of jquery-rails might be problematic. Click here for more details.

@@ -1,3 +1,10 @@
1
+ ## 2.1.0 (16 August 2012)
2
+
3
+ - Updated to latest jquery-ujs
4
+ - jQuery 1.8.0 compatibility
5
+ - Updated to jQuery 1.8.0
6
+ - Updated to jQuery UI 1.8.23
7
+
1
8
  ## 2.0.3 (16 August 2012)
2
9
 
3
10
  - Updated to latest jquery-ujs
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- jquery-rails (2.0.3)
4
+ jquery-rails (2.1.0)
5
5
  railties (>= 3.1.0, < 5.0)
6
6
  thor (~> 0.14)
7
7
 
data/README.md CHANGED
@@ -4,8 +4,8 @@ jQuery! For Rails! So great.
4
4
 
5
5
  This gem provides:
6
6
 
7
- * jQuery 1.7.2
8
- * jQuery UI 1.8.18 (javascript only)
7
+ * jQuery 1.8.0
8
+ * jQuery UI 1.8.23 (javascript only)
9
9
  * the jQuery UJS adapter
10
10
  * assert_select_jquery to test jQuery responses in Ruby tests
11
11
 
@@ -1,8 +1,8 @@
1
1
  module Jquery
2
2
  module Rails
3
- VERSION = "2.0.3"
4
- JQUERY_VERSION = "1.7.2"
5
- JQUERY_UI_VERSION = "1.8.18"
6
- JQUERY_UJS_VERSION = "8674fb14552d8c6e394da39dd352c68b25b78142"
3
+ VERSION = "2.1.0"
4
+ JQUERY_VERSION = "1.8.0"
5
+ JQUERY_UI_VERSION = "1.8.23"
6
+ JQUERY_UJS_VERSION = "12da9fc2f175c8e445413b15cf6b685deb271d6e"
7
7
  end
8
8
  end
@@ -1,12 +1,8 @@
1
- /*!
2
- * jQuery UI 1.8.18
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
- */
1
+ /*! jQuery UI - v1.8.23 - 2012-08-15
2
+ * https://github.com/jquery/jquery-ui
3
+ * Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.resizable.js, jquery.ui.selectable.js, jquery.ui.sortable.js, jquery.effects.core.js, jquery.effects.blind.js, jquery.effects.bounce.js, jquery.effects.clip.js, jquery.effects.drop.js, jquery.effects.explode.js, jquery.effects.fade.js, jquery.effects.fold.js, jquery.effects.highlight.js, jquery.effects.pulsate.js, jquery.effects.scale.js, jquery.effects.shake.js, jquery.effects.slide.js, jquery.effects.transfer.js, jquery.ui.accordion.js, jquery.ui.autocomplete.js, jquery.ui.button.js, jquery.ui.datepicker.js, jquery.ui.dialog.js, jquery.ui.position.js, jquery.ui.progressbar.js, jquery.ui.slider.js, jquery.ui.tabs.js
4
+ * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
5
+
10
6
  (function( $, undefined ) {
11
7
 
12
8
  // prevent duplicate loading
@@ -18,7 +14,7 @@ if ( $.ui.version ) {
18
14
  }
19
15
 
20
16
  $.extend( $.ui, {
21
- version: "1.8.18",
17
+ version: "1.8.23",
22
18
 
23
19
  keyCode: {
24
20
  ALT: 18,
@@ -131,49 +127,52 @@ $.fn.extend({
131
127
  }
132
128
  });
133
129
 
134
- $.each( [ "Width", "Height" ], function( i, name ) {
135
- var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ],
136
- type = name.toLowerCase(),
137
- orig = {
138
- innerWidth: $.fn.innerWidth,
139
- innerHeight: $.fn.innerHeight,
140
- outerWidth: $.fn.outerWidth,
141
- outerHeight: $.fn.outerHeight
142
- };
143
-
144
- function reduce( elem, size, border, margin ) {
145
- $.each( side, function() {
146
- size -= parseFloat( $.curCSS( elem, "padding" + this, true) ) || 0;
147
- if ( border ) {
148
- size -= parseFloat( $.curCSS( elem, "border" + this + "Width", true) ) || 0;
149
- }
150
- if ( margin ) {
151
- size -= parseFloat( $.curCSS( elem, "margin" + this, true) ) || 0;
152
- }
153
- });
154
- return size;
155
- }
130
+ // support: jQuery <1.8
131
+ if ( !$( "<a>" ).outerWidth( 1 ).jquery ) {
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
+ };
156
141
 
157
- $.fn[ "inner" + name ] = function( size ) {
158
- if ( size === undefined ) {
159
- return orig[ "inner" + name ].call( this );
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;
160
153
  }
161
154
 
162
- return this.each(function() {
163
- $( this ).css( type, reduce( this, size ) + "px" );
164
- });
165
- };
155
+ $.fn[ "inner" + name ] = function( size ) {
156
+ if ( size === undefined ) {
157
+ return orig[ "inner" + name ].call( this );
158
+ }
166
159
 
167
- $.fn[ "outer" + name] = function( size, margin ) {
168
- if ( typeof size !== "number" ) {
169
- return orig[ "outer" + name ].call( this, size );
170
- }
160
+ return this.each(function() {
161
+ $( this ).css( type, reduce( this, size ) + "px" );
162
+ });
163
+ };
171
164
 
172
- return this.each(function() {
173
- $( this).css( type, reduce( this, size, true, margin ) + "px" );
174
- });
175
- };
176
- });
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
+ }
177
176
 
178
177
  // selectors
179
178
  function focusable( element, isTabIndexNotNaN ) {
@@ -205,9 +204,16 @@ function visible( element ) {
205
204
  }
206
205
 
207
206
  $.extend( $.expr[ ":" ], {
208
- data: function( elem, i, match ) {
209
- return !!$.data( elem, match[ 3 ] );
210
- },
207
+ data: $.expr.createPseudo ?
208
+ $.expr.createPseudo(function( dataName ) {
209
+ return function( elem ) {
210
+ return !!$.data( elem, dataName );
211
+ };
212
+ }) :
213
+ // support: jQuery <1.8
214
+ function( elem, i, match ) {
215
+ return !!$.data( elem, match[ 3 ] );
216
+ },
211
217
 
212
218
  focusable: function( element ) {
213
219
  return focusable( element, !isNaN( $.attr( element, "tabindex" ) ) );
@@ -245,6 +251,11 @@ $(function() {
245
251
  body.removeChild( div ).style.display = "none";
246
252
  });
247
253
 
254
+ // jQuery <1.4.3 uses curCSS, in 1.4.3 - 1.7.2 curCSS = css, 1.8+ only has css
255
+ if ( !$.curCSS ) {
256
+ $.curCSS = $.css;
257
+ }
258
+
248
259
 
249
260
 
250
261
 
@@ -317,15 +328,7 @@ $.extend( $.ui, {
317
328
  });
318
329
 
319
330
  })( jQuery );
320
- /*!
321
- * jQuery UI Widget 1.8.18
322
- *
323
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
324
- * Dual licensed under the MIT or GPL Version 2 licenses.
325
- * http://jquery.org/license
326
- *
327
- * http://docs.jquery.com/UI/Widget
328
- */
331
+
329
332
  (function( $, undefined ) {
330
333
 
331
334
  // jQuery 1.4+
@@ -589,18 +592,7 @@ $.Widget.prototype = {
589
592
  };
590
593
 
591
594
  })( jQuery );
592
- /*!
593
- * jQuery UI Mouse 1.8.18
594
- *
595
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
596
- * Dual licensed under the MIT or GPL Version 2 licenses.
597
- * http://jquery.org/license
598
- *
599
- * http://docs.jquery.com/UI/Mouse
600
- *
601
- * Depends:
602
- * jquery.ui.widget.js
603
- */
595
+
604
596
  (function( $, undefined ) {
605
597
 
606
598
  var mouseHandled = false;
@@ -636,6 +628,11 @@ $.widget("ui.mouse", {
636
628
  // other instances of mouse
637
629
  _mouseDestroy: function() {
638
630
  this.element.unbind('.'+this.widgetName);
631
+ if ( this._mouseMoveDelegate ) {
632
+ $(document)
633
+ .unbind('mousemove.'+this.widgetName, this._mouseMoveDelegate)
634
+ .unbind('mouseup.'+this.widgetName, this._mouseUpDelegate);
635
+ }
639
636
  },
640
637
 
641
638
  _mouseDown: function(event) {
@@ -751,20 +748,7 @@ $.widget("ui.mouse", {
751
748
  });
752
749
 
753
750
  })(jQuery);
754
- /*
755
- * jQuery UI Draggable 1.8.18
756
- *
757
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
758
- * Dual licensed under the MIT or GPL Version 2 licenses.
759
- * http://jquery.org/license
760
- *
761
- * http://docs.jquery.com/UI/Draggables
762
- *
763
- * Depends:
764
- * jquery.ui.core.js
765
- * jquery.ui.mouse.js
766
- * jquery.ui.widget.js
767
- */
751
+
768
752
  (function( $, undefined ) {
769
753
 
770
754
  $.widget("ui.draggable", $.ui.mouse, {
@@ -856,6 +840,8 @@ $.widget("ui.draggable", $.ui.mouse, {
856
840
  //Create and append the visible helper
857
841
  this.helper = this._createHelper(event);
858
842
 
843
+ this.helper.addClass("ui-draggable-dragging");
844
+
859
845
  //Cache the helper size
860
846
  this._cacheHelperProportions();
861
847
 
@@ -916,7 +902,7 @@ $.widget("ui.draggable", $.ui.mouse, {
916
902
  if ($.ui.ddmanager && !o.dropBehaviour)
917
903
  $.ui.ddmanager.prepareOffsets(this, event);
918
904
 
919
- this.helper.addClass("ui-draggable-dragging");
905
+
920
906
  this._mouseDrag(event, true); //Execute the drag once - this causes the helper not to be visible before getting its correct position
921
907
 
922
908
  //If the ddmanager is used for droppables, inform the manager that dragging has started (see #5003)
@@ -961,8 +947,14 @@ $.widget("ui.draggable", $.ui.mouse, {
961
947
  this.dropped = false;
962
948
  }
963
949
 
964
- //if the original element is removed, don't bother to continue if helper is set to "original"
965
- if((!this.element[0] || !this.element[0].parentNode) && this.options.helper == "original")
950
+ //if the original element is no longer in the DOM don't bother to continue (see #8269)
951
+ var element = this.element[0], elementInDom = false;
952
+ while ( element && (element = element.parentNode) ) {
953
+ if (element == document ) {
954
+ elementInDom = true;
955
+ }
956
+ }
957
+ if ( !elementInDom && this.options.helper === "original" )
966
958
  return false;
967
959
 
968
960
  if((this.options.revert == "invalid" && !dropped) || (this.options.revert == "valid" && dropped) || this.options.revert === true || ($.isFunction(this.options.revert) && this.options.revert.call(this.element, dropped))) {
@@ -1258,7 +1250,7 @@ $.widget("ui.draggable", $.ui.mouse, {
1258
1250
  });
1259
1251
 
1260
1252
  $.extend($.ui.draggable, {
1261
- version: "1.8.18"
1253
+ version: "1.8.23"
1262
1254
  });
1263
1255
 
1264
1256
  $.ui.plugin.add("draggable", "connectToSortable", {
@@ -1576,21 +1568,7 @@ $.ui.plugin.add("draggable", "zIndex", {
1576
1568
  });
1577
1569
 
1578
1570
  })(jQuery);
1579
- /*
1580
- * jQuery UI Droppable 1.8.18
1581
- *
1582
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
1583
- * Dual licensed under the MIT or GPL Version 2 licenses.
1584
- * http://jquery.org/license
1585
- *
1586
- * http://docs.jquery.com/UI/Droppables
1587
- *
1588
- * Depends:
1589
- * jquery.ui.core.js
1590
- * jquery.ui.widget.js
1591
- * jquery.ui.mouse.js
1592
- * jquery.ui.draggable.js
1593
- */
1571
+
1594
1572
  (function( $, undefined ) {
1595
1573
 
1596
1574
  $.widget("ui.droppable", {
@@ -1725,7 +1703,7 @@ $.widget("ui.droppable", {
1725
1703
  });
1726
1704
 
1727
1705
  $.extend($.ui.droppable, {
1728
- version: "1.8.18"
1706
+ version: "1.8.23"
1729
1707
  });
1730
1708
 
1731
1709
  $.ui.intersect = function(draggable, droppable, toleranceMode) {
@@ -1872,20 +1850,7 @@ $.ui.ddmanager = {
1872
1850
  };
1873
1851
 
1874
1852
  })(jQuery);
1875
- /*
1876
- * jQuery UI Resizable 1.8.18
1877
- *
1878
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
1879
- * Dual licensed under the MIT or GPL Version 2 licenses.
1880
- * http://jquery.org/license
1881
- *
1882
- * http://docs.jquery.com/UI/Resizables
1883
- *
1884
- * Depends:
1885
- * jquery.ui.core.js
1886
- * jquery.ui.mouse.js
1887
- * jquery.ui.widget.js
1888
- */
1853
+
1889
1854
  (function( $, undefined ) {
1890
1855
 
1891
1856
  $.widget("ui.resizable", $.ui.mouse, {
@@ -1972,9 +1937,8 @@ $.widget("ui.resizable", $.ui.mouse, {
1972
1937
  var handle = $.trim(n[i]), hname = 'ui-resizable-'+handle;
1973
1938
  var axis = $('<div class="ui-resizable-handle ' + hname + '"></div>');
1974
1939
 
1975
- // increase zIndex of sw, se, ne, nw axis
1976
- //TODO : this modifies original option
1977
- if(/sw|se|ne|nw/.test(handle)) axis.css({ zIndex: ++o.zIndex });
1940
+ // Apply zIndex to all handles - see #7960
1941
+ axis.css({ zIndex: o.zIndex });
1978
1942
 
1979
1943
  //TODO : What's going on here?
1980
1944
  if ('se' == handle) {
@@ -2415,7 +2379,7 @@ $.widget("ui.resizable", $.ui.mouse, {
2415
2379
  });
2416
2380
 
2417
2381
  $.extend($.ui.resizable, {
2418
- version: "1.8.18"
2382
+ version: "1.8.23"
2419
2383
  });
2420
2384
 
2421
2385
  /*
@@ -2565,13 +2529,13 @@ $.ui.plugin.add("resizable", "containment", {
2565
2529
 
2566
2530
  if (cp.left < (self._helper ? co.left : 0)) {
2567
2531
  self.size.width = self.size.width + (self._helper ? (self.position.left - co.left) : (self.position.left - cop.left));
2568
- if (pRatio) self.size.height = self.size.width / o.aspectRatio;
2532
+ if (pRatio) self.size.height = self.size.width / self.aspectRatio;
2569
2533
  self.position.left = o.helper ? co.left : 0;
2570
2534
  }
2571
2535
 
2572
2536
  if (cp.top < (self._helper ? co.top : 0)) {
2573
2537
  self.size.height = self.size.height + (self._helper ? (self.position.top - co.top) : self.position.top);
2574
- if (pRatio) self.size.width = self.size.height * o.aspectRatio;
2538
+ if (pRatio) self.size.width = self.size.height * self.aspectRatio;
2575
2539
  self.position.top = self._helper ? co.top : 0;
2576
2540
  }
2577
2541
 
@@ -2680,20 +2644,7 @@ var isNumber = function(value) {
2680
2644
  };
2681
2645
 
2682
2646
  })(jQuery);
2683
- /*
2684
- * jQuery UI Selectable 1.8.18
2685
- *
2686
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
2687
- * Dual licensed under the MIT or GPL Version 2 licenses.
2688
- * http://jquery.org/license
2689
- *
2690
- * http://docs.jquery.com/UI/Selectables
2691
- *
2692
- * Depends:
2693
- * jquery.ui.core.js
2694
- * jquery.ui.mouse.js
2695
- * jquery.ui.widget.js
2696
- */
2647
+
2697
2648
  (function( $, undefined ) {
2698
2649
 
2699
2650
  $.widget("ui.selectable", $.ui.mouse, {
@@ -2943,24 +2894,11 @@ $.widget("ui.selectable", $.ui.mouse, {
2943
2894
  });
2944
2895
 
2945
2896
  $.extend($.ui.selectable, {
2946
- version: "1.8.18"
2897
+ version: "1.8.23"
2947
2898
  });
2948
2899
 
2949
2900
  })(jQuery);
2950
- /*
2951
- * jQuery UI Sortable 1.8.18
2952
- *
2953
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
2954
- * Dual licensed under the MIT or GPL Version 2 licenses.
2955
- * http://jquery.org/license
2956
- *
2957
- * http://docs.jquery.com/UI/Sortables
2958
- *
2959
- * Depends:
2960
- * jquery.ui.core.js
2961
- * jquery.ui.mouse.js
2962
- * jquery.ui.widget.js
2963
- */
2901
+
2964
2902
  (function( $, undefined ) {
2965
2903
 
2966
2904
  $.widget("ui.sortable", $.ui.mouse, {
@@ -3104,11 +3042,6 @@ $.widget("ui.sortable", $.ui.mouse, {
3104
3042
  left: this.offset.left - this.margins.left
3105
3043
  };
3106
3044
 
3107
- // Only after we got the offset, we can change the helper's position to absolute
3108
- // TODO: Still need to figure out a way to make relative sorting possible
3109
- this.helper.css("position", "absolute");
3110
- this.cssPosition = this.helper.css("position");
3111
-
3112
3045
  $.extend(this.offset, {
3113
3046
  click: { //Where the click happened, relative to the element
3114
3047
  left: event.pageX - this.offset.left,
@@ -3118,6 +3051,11 @@ $.widget("ui.sortable", $.ui.mouse, {
3118
3051
  relative: this._getRelativeOffset() //This is a relative to absolute position minus the actual position calculation - only used for relative positioned helper
3119
3052
  });
3120
3053
 
3054
+ // Only after we got the offset, we can change the helper's position to absolute
3055
+ // TODO: Still need to figure out a way to make relative sorting possible
3056
+ this.helper.css("position", "absolute");
3057
+ this.cssPosition = this.helper.css("position");
3058
+
3121
3059
  //Generate the original position
3122
3060
  this.originalPosition = this._generatePosition(event);
3123
3061
  this.originalPageX = event.pageX;
@@ -3417,8 +3355,8 @@ $.widget("ui.sortable", $.ui.mouse, {
3417
3355
 
3418
3356
  _intersectsWithPointer: function(item) {
3419
3357
 
3420
- var isOverElementHeight = $.ui.isOverAxis(this.positionAbs.top + this.offset.click.top, item.top, item.height),
3421
- isOverElementWidth = $.ui.isOverAxis(this.positionAbs.left + this.offset.click.left, item.left, item.width),
3358
+ var isOverElementHeight = (this.options.axis === 'x') || $.ui.isOverAxis(this.positionAbs.top + this.offset.click.top, item.top, item.height),
3359
+ isOverElementWidth = (this.options.axis === 'y') || $.ui.isOverAxis(this.positionAbs.left + this.offset.click.left, item.left, item.width),
3422
3360
  isOverElement = isOverElementHeight && isOverElementWidth,
3423
3361
  verticalDirection = this._getDragVerticalDirection(),
3424
3362
  horizontalDirection = this._getDragHorizontalDirection();
@@ -3679,30 +3617,31 @@ $.widget("ui.sortable", $.ui.mouse, {
3679
3617
  if(this.containers.length === 1) {
3680
3618
  this.containers[innermostIndex]._trigger("over", event, this._uiHash(this));
3681
3619
  this.containers[innermostIndex].containerCache.over = 1;
3682
- } else if(this.currentContainer != this.containers[innermostIndex]) {
3683
-
3684
- //When entering a new container, we will find the item with the least distance and append our item near it
3685
- var dist = 10000; var itemWithLeastDistance = null; var base = this.positionAbs[this.containers[innermostIndex].floating ? 'left' : 'top'];
3686
- for (var j = this.items.length - 1; j >= 0; j--) {
3687
- if(!$.ui.contains(this.containers[innermostIndex].element[0], this.items[j].item[0])) continue;
3688
- var cur = this.items[j][this.containers[innermostIndex].floating ? 'left' : 'top'];
3689
- if(Math.abs(cur - base) < dist) {
3690
- dist = Math.abs(cur - base); itemWithLeastDistance = this.items[j];
3691
- }
3692
- }
3620
+ } else if(this.currentContainer != this.containers[innermostIndex]) {
3621
+
3622
+ //When entering a new container, we will find the item with the least distance and append our item near it
3623
+ var dist = 10000; var itemWithLeastDistance = null; var base = this.positionAbs[this.containers[innermostIndex].floating ? 'left' : 'top'];
3624
+ for (var j = this.items.length - 1; j >= 0; j--) {
3625
+ if(!$.ui.contains(this.containers[innermostIndex].element[0], this.items[j].item[0])) continue;
3626
+ var cur = this.containers[innermostIndex].floating ? this.items[j].item.offset().left : this.items[j].item.offset().top;
3627
+ if(Math.abs(cur - base) < dist) {
3628
+ dist = Math.abs(cur - base); itemWithLeastDistance = this.items[j];
3629
+ this.direction = (cur - base > 0) ? 'down' : 'up';
3630
+ }
3631
+ }
3693
3632
 
3694
- if(!itemWithLeastDistance && !this.options.dropOnEmpty) //Check if dropOnEmpty is enabled
3695
- return;
3633
+ if(!itemWithLeastDistance && !this.options.dropOnEmpty) //Check if dropOnEmpty is enabled
3634
+ return;
3696
3635
 
3697
- this.currentContainer = this.containers[innermostIndex];
3698
- itemWithLeastDistance ? this._rearrange(event, itemWithLeastDistance, null, true) : this._rearrange(event, null, this.containers[innermostIndex].element, true);
3699
- this._trigger("change", event, this._uiHash());
3700
- this.containers[innermostIndex]._trigger("change", event, this._uiHash(this));
3636
+ this.currentContainer = this.containers[innermostIndex];
3637
+ itemWithLeastDistance ? this._rearrange(event, itemWithLeastDistance, null, true) : this._rearrange(event, null, this.containers[innermostIndex].element, true);
3638
+ this._trigger("change", event, this._uiHash());
3639
+ this.containers[innermostIndex]._trigger("change", event, this._uiHash(this));
3701
3640
 
3702
- //Update the placeholder
3703
- this.options.placeholder.update(this.currentContainer, this.placeholder);
3704
-
3705
- this.containers[innermostIndex]._trigger("over", event, this._uiHash(this));
3641
+ //Update the placeholder
3642
+ this.options.placeholder.update(this.currentContainer, this.placeholder);
3643
+
3644
+ this.containers[innermostIndex]._trigger("over", event, this._uiHash(this));
3706
3645
  this.containers[innermostIndex].containerCache.over = 1;
3707
3646
  }
3708
3647
 
@@ -3982,6 +3921,8 @@ $.widget("ui.sortable", $.ui.mouse, {
3982
3921
  for (var i=0; i < delayedTriggers.length; i++) { delayedTriggers[i].call(this, event); }; //Trigger all delayed events
3983
3922
  this._trigger("stop", event, this._uiHash());
3984
3923
  }
3924
+
3925
+ this.fromOutside = false;
3985
3926
  return false;
3986
3927
  }
3987
3928
 
@@ -4024,19 +3965,11 @@ $.widget("ui.sortable", $.ui.mouse, {
4024
3965
  });
4025
3966
 
4026
3967
  $.extend($.ui.sortable, {
4027
- version: "1.8.18"
3968
+ version: "1.8.23"
4028
3969
  });
4029
3970
 
4030
3971
  })(jQuery);
4031
- /*
4032
- * jQuery UI Effects 1.8.18
4033
- *
4034
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
4035
- * Dual licensed under the MIT or GPL Version 2 licenses.
4036
- * http://jquery.org/license
4037
- *
4038
- * http://docs.jquery.com/UI/Effects/
4039
- */
3972
+
4040
3973
  ;jQuery.effects || (function($, undefined) {
4041
3974
 
4042
3975
  $.effects = {};
@@ -4105,7 +4038,8 @@ function getColor(elem, attr) {
4105
4038
  var color;
4106
4039
 
4107
4040
  do {
4108
- color = $.curCSS(elem, attr);
4041
+ // jQuery <1.4.3 uses curCSS, in 1.4.3 - 1.7.2 curCSS = css, 1.8+ only has css
4042
+ color = ($.curCSS || $.css)(elem, attr);
4109
4043
 
4110
4044
  // Keep going until we find an element that has color, or we hit the body
4111
4045
  if ( color != '' && color != 'transparent' || $.nodeName(elem, "body") )
@@ -4266,7 +4200,7 @@ $.effects.animateClass = function(value, duration, easing, callback) {
4266
4200
  originalStyleAttr = that.attr('style') || ' ',
4267
4201
  originalStyle = filterStyles(getElementStyles.call(this)),
4268
4202
  newStyle,
4269
- className = that.attr('class');
4203
+ className = that.attr('class') || "";
4270
4204
 
4271
4205
  $.each(classAnimationActions, function(i, action) {
4272
4206
  if (value[action]) {
@@ -4336,7 +4270,7 @@ $.fn.extend({
4336
4270
  /******************************************************************************/
4337
4271
 
4338
4272
  $.extend($.effects, {
4339
- version: "1.8.18",
4273
+ version: "1.8.23",
4340
4274
 
4341
4275
  // Saves a set of properties in a data storage
4342
4276
  save: function(element, set) {
@@ -4400,7 +4334,16 @@ $.extend($.effects, {
4400
4334
  }),
4401
4335
  active = document.activeElement;
4402
4336
 
4403
- element.wrap(wrapper);
4337
+ // support: Firefox
4338
+ // Firefox incorrectly exposes anonymous content
4339
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=561664
4340
+ try {
4341
+ active.id;
4342
+ } catch( e ) {
4343
+ active = document.body;
4344
+ }
4345
+
4346
+ element.wrap( wrapper );
4404
4347
 
4405
4348
  // Fixes #7595 - Elements lose focus when wrapped.
4406
4349
  if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {
@@ -4449,7 +4392,7 @@ $.extend($.effects, {
4449
4392
  setTransition: function(element, list, factor, value) {
4450
4393
  value = value || {};
4451
4394
  $.each(list, function(i, x){
4452
- unit = element.cssUnit(x);
4395
+ var unit = element.cssUnit(x);
4453
4396
  if (unit[0] > 0) value[x] = unit[0] * factor + unit[1];
4454
4397
  });
4455
4398
  return value;
@@ -4584,225 +4527,53 @@ $.fn.extend({
4584
4527
  /*********************************** EASING ***********************************/
4585
4528
  /******************************************************************************/
4586
4529
 
4587
- /*
4588
- * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
4589
- *
4590
- * Uses the built in easing capabilities added In jQuery 1.1
4591
- * to offer multiple easing options
4592
- *
4593
- * TERMS OF USE - jQuery Easing
4594
- *
4595
- * Open source under the BSD License.
4596
- *
4597
- * Copyright 2008 George McGinley Smith
4598
- * All rights reserved.
4599
- *
4600
- * Redistribution and use in source and binary forms, with or without modification,
4601
- * are permitted provided that the following conditions are met:
4602
- *
4603
- * Redistributions of source code must retain the above copyright notice, this list of
4604
- * conditions and the following disclaimer.
4605
- * Redistributions in binary form must reproduce the above copyright notice, this list
4606
- * of conditions and the following disclaimer in the documentation and/or other materials
4607
- * provided with the distribution.
4608
- *
4609
- * Neither the name of the author nor the names of contributors may be used to endorse
4610
- * or promote products derived from this software without specific prior written permission.
4611
- *
4612
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
4613
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
4614
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
4615
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
4616
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
4617
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
4618
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
4619
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
4620
- * OF THE POSSIBILITY OF SUCH DAMAGE.
4621
- *
4622
- */
4530
+ // based on easing equations from Robert Penner (http://www.robertpenner.com/easing)
4623
4531
 
4624
- // t: current time, b: begInnIng value, c: change In value, d: duration
4625
- $.easing.jswing = $.easing.swing;
4532
+ var baseEasings = {};
4626
4533
 
4627
- $.extend($.easing,
4628
- {
4629
- def: 'easeOutQuad',
4630
- swing: function (x, t, b, c, d) {
4631
- //alert($.easing.default);
4632
- return $.easing[$.easing.def](x, t, b, c, d);
4633
- },
4634
- easeInQuad: function (x, t, b, c, d) {
4635
- return c*(t/=d)*t + b;
4636
- },
4637
- easeOutQuad: function (x, t, b, c, d) {
4638
- return -c *(t/=d)*(t-2) + b;
4639
- },
4640
- easeInOutQuad: function (x, t, b, c, d) {
4641
- if ((t/=d/2) < 1) return c/2*t*t + b;
4642
- return -c/2 * ((--t)*(t-2) - 1) + b;
4643
- },
4644
- easeInCubic: function (x, t, b, c, d) {
4645
- return c*(t/=d)*t*t + b;
4646
- },
4647
- easeOutCubic: function (x, t, b, c, d) {
4648
- return c*((t=t/d-1)*t*t + 1) + b;
4649
- },
4650
- easeInOutCubic: function (x, t, b, c, d) {
4651
- if ((t/=d/2) < 1) return c/2*t*t*t + b;
4652
- return c/2*((t-=2)*t*t + 2) + b;
4653
- },
4654
- easeInQuart: function (x, t, b, c, d) {
4655
- return c*(t/=d)*t*t*t + b;
4656
- },
4657
- easeOutQuart: function (x, t, b, c, d) {
4658
- return -c * ((t=t/d-1)*t*t*t - 1) + b;
4659
- },
4660
- easeInOutQuart: function (x, t, b, c, d) {
4661
- if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
4662
- return -c/2 * ((t-=2)*t*t*t - 2) + b;
4663
- },
4664
- easeInQuint: function (x, t, b, c, d) {
4665
- return c*(t/=d)*t*t*t*t + b;
4666
- },
4667
- easeOutQuint: function (x, t, b, c, d) {
4668
- return c*((t=t/d-1)*t*t*t*t + 1) + b;
4669
- },
4670
- easeInOutQuint: function (x, t, b, c, d) {
4671
- if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
4672
- return c/2*((t-=2)*t*t*t*t + 2) + b;
4673
- },
4674
- easeInSine: function (x, t, b, c, d) {
4675
- return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
4676
- },
4677
- easeOutSine: function (x, t, b, c, d) {
4678
- return c * Math.sin(t/d * (Math.PI/2)) + b;
4679
- },
4680
- easeInOutSine: function (x, t, b, c, d) {
4681
- return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
4682
- },
4683
- easeInExpo: function (x, t, b, c, d) {
4684
- return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
4685
- },
4686
- easeOutExpo: function (x, t, b, c, d) {
4687
- return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
4688
- },
4689
- easeInOutExpo: function (x, t, b, c, d) {
4690
- if (t==0) return b;
4691
- if (t==d) return b+c;
4692
- if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
4693
- return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
4694
- },
4695
- easeInCirc: function (x, t, b, c, d) {
4696
- return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
4697
- },
4698
- easeOutCirc: function (x, t, b, c, d) {
4699
- return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
4700
- },
4701
- easeInOutCirc: function (x, t, b, c, d) {
4702
- if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
4703
- return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
4704
- },
4705
- easeInElastic: function (x, t, b, c, d) {
4706
- var s=1.70158;var p=0;var a=c;
4707
- if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
4708
- if (a < Math.abs(c)) { a=c; var s=p/4; }
4709
- else var s = p/(2*Math.PI) * Math.asin (c/a);
4710
- return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
4534
+ $.each( [ "Quad", "Cubic", "Quart", "Quint", "Expo" ], function( i, name ) {
4535
+ baseEasings[ name ] = function( p ) {
4536
+ return Math.pow( p, i + 2 );
4537
+ };
4538
+ });
4539
+
4540
+ $.extend( baseEasings, {
4541
+ Sine: function ( p ) {
4542
+ return 1 - Math.cos( p * Math.PI / 2 );
4711
4543
  },
4712
- easeOutElastic: function (x, t, b, c, d) {
4713
- var s=1.70158;var p=0;var a=c;
4714
- if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
4715
- if (a < Math.abs(c)) { a=c; var s=p/4; }
4716
- else var s = p/(2*Math.PI) * Math.asin (c/a);
4717
- return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
4544
+ Circ: function ( p ) {
4545
+ return 1 - Math.sqrt( 1 - p * p );
4718
4546
  },
4719
- easeInOutElastic: function (x, t, b, c, d) {
4720
- var s=1.70158;var p=0;var a=c;
4721
- if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5);
4722
- if (a < Math.abs(c)) { a=c; var s=p/4; }
4723
- else var s = p/(2*Math.PI) * Math.asin (c/a);
4724
- if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
4725
- return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
4726
- },
4727
- easeInBack: function (x, t, b, c, d, s) {
4728
- if (s == undefined) s = 1.70158;
4729
- return c*(t/=d)*t*((s+1)*t - s) + b;
4730
- },
4731
- easeOutBack: function (x, t, b, c, d, s) {
4732
- if (s == undefined) s = 1.70158;
4733
- return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
4734
- },
4735
- easeInOutBack: function (x, t, b, c, d, s) {
4736
- if (s == undefined) s = 1.70158;
4737
- if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
4738
- return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
4547
+ Elastic: function( p ) {
4548
+ return p === 0 || p === 1 ? p :
4549
+ -Math.pow( 2, 8 * (p - 1) ) * Math.sin( ( (p - 1) * 80 - 7.5 ) * Math.PI / 15 );
4739
4550
  },
4740
- easeInBounce: function (x, t, b, c, d) {
4741
- return c - $.easing.easeOutBounce (x, d-t, 0, c, d) + b;
4742
- },
4743
- easeOutBounce: function (x, t, b, c, d) {
4744
- if ((t/=d) < (1/2.75)) {
4745
- return c*(7.5625*t*t) + b;
4746
- } else if (t < (2/2.75)) {
4747
- return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
4748
- } else if (t < (2.5/2.75)) {
4749
- return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
4750
- } else {
4751
- return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
4752
- }
4551
+ Back: function( p ) {
4552
+ return p * p * ( 3 * p - 2 );
4753
4553
  },
4754
- easeInOutBounce: function (x, t, b, c, d) {
4755
- if (t < d/2) return $.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
4756
- return $.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
4554
+ Bounce: function ( p ) {
4555
+ var pow2,
4556
+ bounce = 4;
4557
+
4558
+ while ( p < ( ( pow2 = Math.pow( 2, --bounce ) ) - 1 ) / 11 ) {}
4559
+ return 1 / Math.pow( 4, 3 - bounce ) - 7.5625 * Math.pow( ( pow2 * 3 - 2 ) / 22 - p, 2 );
4757
4560
  }
4758
4561
  });
4759
4562
 
4760
- /*
4761
- *
4762
- * TERMS OF USE - EASING EQUATIONS
4763
- *
4764
- * Open source under the BSD License.
4765
- *
4766
- * Copyright 2001 Robert Penner
4767
- * All rights reserved.
4768
- *
4769
- * Redistribution and use in source and binary forms, with or without modification,
4770
- * are permitted provided that the following conditions are met:
4771
- *
4772
- * Redistributions of source code must retain the above copyright notice, this list of
4773
- * conditions and the following disclaimer.
4774
- * Redistributions in binary form must reproduce the above copyright notice, this list
4775
- * of conditions and the following disclaimer in the documentation and/or other materials
4776
- * provided with the distribution.
4777
- *
4778
- * Neither the name of the author nor the names of contributors may be used to endorse
4779
- * or promote products derived from this software without specific prior written permission.
4780
- *
4781
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
4782
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
4783
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
4784
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
4785
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
4786
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
4787
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
4788
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
4789
- * OF THE POSSIBILITY OF SUCH DAMAGE.
4790
- *
4791
- */
4563
+ $.each( baseEasings, function( name, easeIn ) {
4564
+ $.easing[ "easeIn" + name ] = easeIn;
4565
+ $.easing[ "easeOut" + name ] = function( p ) {
4566
+ return 1 - easeIn( 1 - p );
4567
+ };
4568
+ $.easing[ "easeInOut" + name ] = function( p ) {
4569
+ return p < .5 ?
4570
+ easeIn( p * 2 ) / 2 :
4571
+ easeIn( p * -2 + 2 ) / -2 + 1;
4572
+ };
4573
+ });
4792
4574
 
4793
4575
  })(jQuery);
4794
- /*
4795
- * jQuery UI Effects Blind 1.8.18
4796
- *
4797
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
4798
- * Dual licensed under the MIT or GPL Version 2 licenses.
4799
- * http://jquery.org/license
4800
- *
4801
- * http://docs.jquery.com/UI/Effects/Blind
4802
- *
4803
- * Depends:
4804
- * jquery.effects.core.js
4805
- */
4576
+
4806
4577
  (function( $, undefined ) {
4807
4578
 
4808
4579
  $.effects.blind = function(o) {
@@ -4840,18 +4611,7 @@ $.effects.blind = function(o) {
4840
4611
  };
4841
4612
 
4842
4613
  })(jQuery);
4843
- /*
4844
- * jQuery UI Effects Bounce 1.8.18
4845
- *
4846
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
4847
- * Dual licensed under the MIT or GPL Version 2 licenses.
4848
- * http://jquery.org/license
4849
- *
4850
- * http://docs.jquery.com/UI/Effects/Bounce
4851
- *
4852
- * Depends:
4853
- * jquery.effects.core.js
4854
- */
4614
+
4855
4615
  (function( $, undefined ) {
4856
4616
 
4857
4617
  $.effects.bounce = function(o) {
@@ -4874,7 +4634,7 @@ $.effects.bounce = function(o) {
4874
4634
  $.effects.createWrapper(el); // Create Wrapper
4875
4635
  var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left';
4876
4636
  var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg';
4877
- var distance = o.options.distance || (ref == 'top' ? el.outerHeight({margin:true}) / 3 : el.outerWidth({margin:true}) / 3);
4637
+ var distance = o.options.distance || (ref == 'top' ? el.outerHeight(true) / 3 : el.outerWidth(true) / 3);
4878
4638
  if (mode == 'show') el.css('opacity', 0).css(ref, motion == 'pos' ? -distance : distance); // Shift
4879
4639
  if (mode == 'hide') distance = distance / (times * 2);
4880
4640
  if (mode != 'hide') times--;
@@ -4918,18 +4678,7 @@ $.effects.bounce = function(o) {
4918
4678
  };
4919
4679
 
4920
4680
  })(jQuery);
4921
- /*
4922
- * jQuery UI Effects Clip 1.8.18
4923
- *
4924
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
4925
- * Dual licensed under the MIT or GPL Version 2 licenses.
4926
- * http://jquery.org/license
4927
- *
4928
- * http://docs.jquery.com/UI/Effects/Clip
4929
- *
4930
- * Depends:
4931
- * jquery.effects.core.js
4932
- */
4681
+
4933
4682
  (function( $, undefined ) {
4934
4683
 
4935
4684
  $.effects.clip = function(o) {
@@ -4972,18 +4721,7 @@ $.effects.clip = function(o) {
4972
4721
  };
4973
4722
 
4974
4723
  })(jQuery);
4975
- /*
4976
- * jQuery UI Effects Drop 1.8.18
4977
- *
4978
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
4979
- * Dual licensed under the MIT or GPL Version 2 licenses.
4980
- * http://jquery.org/license
4981
- *
4982
- * http://docs.jquery.com/UI/Effects/Drop
4983
- *
4984
- * Depends:
4985
- * jquery.effects.core.js
4986
- */
4724
+
4987
4725
  (function( $, undefined ) {
4988
4726
 
4989
4727
  $.effects.drop = function(o) {
@@ -5002,7 +4740,7 @@ $.effects.drop = function(o) {
5002
4740
  $.effects.createWrapper(el); // Create Wrapper
5003
4741
  var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left';
5004
4742
  var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg';
5005
- var distance = o.options.distance || (ref == 'top' ? el.outerHeight({margin:true}) / 2 : el.outerWidth({margin:true}) / 2);
4743
+ var distance = o.options.distance || (ref == 'top' ? el.outerHeight( true ) / 2 : el.outerWidth( true ) / 2);
5006
4744
  if (mode == 'show') el.css('opacity', 0).css(ref, motion == 'pos' ? -distance : distance); // Shift
5007
4745
 
5008
4746
  // Animation
@@ -5022,18 +4760,7 @@ $.effects.drop = function(o) {
5022
4760
  };
5023
4761
 
5024
4762
  })(jQuery);
5025
- /*
5026
- * jQuery UI Effects Explode 1.8.18
5027
- *
5028
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
5029
- * Dual licensed under the MIT or GPL Version 2 licenses.
5030
- * http://jquery.org/license
5031
- *
5032
- * http://docs.jquery.com/UI/Effects/Explode
5033
- *
5034
- * Depends:
5035
- * jquery.effects.core.js
5036
- */
4763
+
5037
4764
  (function( $, undefined ) {
5038
4765
 
5039
4766
  $.effects.explode = function(o) {
@@ -5101,18 +4828,7 @@ $.effects.explode = function(o) {
5101
4828
  };
5102
4829
 
5103
4830
  })(jQuery);
5104
- /*
5105
- * jQuery UI Effects Fade 1.8.18
5106
- *
5107
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
5108
- * Dual licensed under the MIT or GPL Version 2 licenses.
5109
- * http://jquery.org/license
5110
- *
5111
- * http://docs.jquery.com/UI/Effects/Fade
5112
- *
5113
- * Depends:
5114
- * jquery.effects.core.js
5115
- */
4831
+
5116
4832
  (function( $, undefined ) {
5117
4833
 
5118
4834
  $.effects.fade = function(o) {
@@ -5133,18 +4849,7 @@ $.effects.fade = function(o) {
5133
4849
  };
5134
4850
 
5135
4851
  })(jQuery);
5136
- /*
5137
- * jQuery UI Effects Fold 1.8.18
5138
- *
5139
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
5140
- * Dual licensed under the MIT or GPL Version 2 licenses.
5141
- * http://jquery.org/license
5142
- *
5143
- * http://docs.jquery.com/UI/Effects/Fold
5144
- *
5145
- * Depends:
5146
- * jquery.effects.core.js
5147
- */
4852
+
5148
4853
  (function( $, undefined ) {
5149
4854
 
5150
4855
  $.effects.fold = function(o) {
@@ -5189,18 +4894,7 @@ $.effects.fold = function(o) {
5189
4894
  };
5190
4895
 
5191
4896
  })(jQuery);
5192
- /*
5193
- * jQuery UI Effects Highlight 1.8.18
5194
- *
5195
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
5196
- * Dual licensed under the MIT or GPL Version 2 licenses.
5197
- * http://jquery.org/license
5198
- *
5199
- * http://docs.jquery.com/UI/Effects/Highlight
5200
- *
5201
- * Depends:
5202
- * jquery.effects.core.js
5203
- */
4897
+
5204
4898
  (function( $, undefined ) {
5205
4899
 
5206
4900
  $.effects.highlight = function(o) {
@@ -5239,25 +4933,14 @@ $.effects.highlight = function(o) {
5239
4933
  };
5240
4934
 
5241
4935
  })(jQuery);
5242
- /*
5243
- * jQuery UI Effects Pulsate 1.8.18
5244
- *
5245
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
5246
- * Dual licensed under the MIT or GPL Version 2 licenses.
5247
- * http://jquery.org/license
5248
- *
5249
- * http://docs.jquery.com/UI/Effects/Pulsate
5250
- *
5251
- * Depends:
5252
- * jquery.effects.core.js
5253
- */
4936
+
5254
4937
  (function( $, undefined ) {
5255
4938
 
5256
4939
  $.effects.pulsate = function(o) {
5257
4940
  return this.queue(function() {
5258
4941
  var elem = $(this),
5259
- mode = $.effects.setMode(elem, o.options.mode || 'show');
5260
- times = ((o.options.times || 5) * 2) - 1;
4942
+ mode = $.effects.setMode(elem, o.options.mode || 'show'),
4943
+ times = ((o.options.times || 5) * 2) - 1,
5261
4944
  duration = o.duration ? o.duration / 2 : $.fx.speeds._default / 2,
5262
4945
  isVisible = elem.is(':visible'),
5263
4946
  animateTo = 0;
@@ -5290,18 +4973,7 @@ $.effects.pulsate = function(o) {
5290
4973
  };
5291
4974
 
5292
4975
  })(jQuery);
5293
- /*
5294
- * jQuery UI Effects Scale 1.8.18
5295
- *
5296
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
5297
- * Dual licensed under the MIT or GPL Version 2 licenses.
5298
- * http://jquery.org/license
5299
- *
5300
- * http://docs.jquery.com/UI/Effects/Scale
5301
- *
5302
- * Depends:
5303
- * jquery.effects.core.js
5304
- */
4976
+
5305
4977
  (function( $, undefined ) {
5306
4978
 
5307
4979
  $.effects.puff = function(o) {
@@ -5432,7 +5104,7 @@ $.effects.size = function(o) {
5432
5104
  hProps = hProps.concat(['marginLeft','marginRight']); // Add margins
5433
5105
  props2 = props.concat(vProps).concat(hProps); // Concat
5434
5106
  el.find("*[width]").each(function(){
5435
- child = $(this);
5107
+ var child = $(this);
5436
5108
  if (restore) $.effects.save(child, props2);
5437
5109
  var c_original = {height: child.height(), width: child.width()}; // Save original
5438
5110
  child.from = {height: c_original.height * factor.from.y, width: c_original.width * factor.from.x};
@@ -5468,18 +5140,7 @@ $.effects.size = function(o) {
5468
5140
  };
5469
5141
 
5470
5142
  })(jQuery);
5471
- /*
5472
- * jQuery UI Effects Shake 1.8.18
5473
- *
5474
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
5475
- * Dual licensed under the MIT or GPL Version 2 licenses.
5476
- * http://jquery.org/license
5477
- *
5478
- * http://docs.jquery.com/UI/Effects/Shake
5479
- *
5480
- * Depends:
5481
- * jquery.effects.core.js
5482
- */
5143
+
5483
5144
  (function( $, undefined ) {
5484
5145
 
5485
5146
  $.effects.shake = function(o) {
@@ -5525,18 +5186,7 @@ $.effects.shake = function(o) {
5525
5186
  };
5526
5187
 
5527
5188
  })(jQuery);
5528
- /*
5529
- * jQuery UI Effects Slide 1.8.18
5530
- *
5531
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
5532
- * Dual licensed under the MIT or GPL Version 2 licenses.
5533
- * http://jquery.org/license
5534
- *
5535
- * http://docs.jquery.com/UI/Effects/Slide
5536
- *
5537
- * Depends:
5538
- * jquery.effects.core.js
5539
- */
5189
+
5540
5190
  (function( $, undefined ) {
5541
5191
 
5542
5192
  $.effects.slide = function(o) {
@@ -5555,7 +5205,7 @@ $.effects.slide = function(o) {
5555
5205
  $.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper
5556
5206
  var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left';
5557
5207
  var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg';
5558
- var distance = o.options.distance || (ref == 'top' ? el.outerHeight({margin:true}) : el.outerWidth({margin:true}));
5208
+ var distance = o.options.distance || (ref == 'top' ? el.outerHeight( true ) : el.outerWidth( true ));
5559
5209
  if (mode == 'show') el.css(ref, motion == 'pos' ? (isNaN(distance) ? "-" + distance : -distance) : distance); // Shift
5560
5210
 
5561
5211
  // Animation
@@ -5575,18 +5225,7 @@ $.effects.slide = function(o) {
5575
5225
  };
5576
5226
 
5577
5227
  })(jQuery);
5578
- /*
5579
- * jQuery UI Effects Transfer 1.8.18
5580
- *
5581
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
5582
- * Dual licensed under the MIT or GPL Version 2 licenses.
5583
- * http://jquery.org/license
5584
- *
5585
- * http://docs.jquery.com/UI/Effects/Transfer
5586
- *
5587
- * Depends:
5588
- * jquery.effects.core.js
5589
- */
5228
+
5590
5229
  (function( $, undefined ) {
5591
5230
 
5592
5231
  $.effects.transfer = function(o) {
@@ -5620,19 +5259,7 @@ $.effects.transfer = function(o) {
5620
5259
  };
5621
5260
 
5622
5261
  })(jQuery);
5623
- /*
5624
- * jQuery UI Accordion 1.8.18
5625
- *
5626
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
5627
- * Dual licensed under the MIT or GPL Version 2 licenses.
5628
- * http://jquery.org/license
5629
- *
5630
- * http://docs.jquery.com/UI/Accordion
5631
- *
5632
- * Depends:
5633
- * jquery.ui.core.js
5634
- * jquery.ui.widget.js
5635
- */
5262
+
5636
5263
  (function( $, undefined ) {
5637
5264
 
5638
5265
  $.widget( "ui.accordion", {
@@ -6140,7 +5767,7 @@ $.widget( "ui.accordion", {
6140
5767
  });
6141
5768
 
6142
5769
  $.extend( $.ui.accordion, {
6143
- version: "1.8.18",
5770
+ version: "1.8.23",
6144
5771
  animations: {
6145
5772
  slide: function( options, additions ) {
6146
5773
  options = $.extend({
@@ -6231,20 +5858,7 @@ $.extend( $.ui.accordion, {
6231
5858
  });
6232
5859
 
6233
5860
  })( jQuery );
6234
- /*
6235
- * jQuery UI Autocomplete 1.8.18
6236
- *
6237
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
6238
- * Dual licensed under the MIT or GPL Version 2 licenses.
6239
- * http://jquery.org/license
6240
- *
6241
- * http://docs.jquery.com/UI/Autocomplete
6242
- *
6243
- * Depends:
6244
- * jquery.ui.core.js
6245
- * jquery.ui.widget.js
6246
- * jquery.ui.position.js
6247
- */
5861
+
6248
5862
  (function( $, undefined ) {
6249
5863
 
6250
5864
  // used to prevent race conditions with remote data sources
@@ -6270,6 +5884,7 @@ $.widget( "ui.autocomplete", {
6270
5884
  var self = this,
6271
5885
  doc = this.element[ 0 ].ownerDocument,
6272
5886
  suppressKeyPress;
5887
+ this.isMultiLine = this.element.is( "textarea" );
6273
5888
 
6274
5889
  this.element
6275
5890
  .addClass( "ui-autocomplete-input" )
@@ -6295,14 +5910,10 @@ $.widget( "ui.autocomplete", {
6295
5910
  self._move( "nextPage", event );
6296
5911
  break;
6297
5912
  case keyCode.UP:
6298
- self._move( "previous", event );
6299
- // prevent moving cursor to beginning of text field in some browsers
6300
- event.preventDefault();
5913
+ self._keyEvent( "previous", event );
6301
5914
  break;
6302
5915
  case keyCode.DOWN:
6303
- self._move( "next", event );
6304
- // prevent moving cursor to end of text field in some browsers
6305
- event.preventDefault();
5916
+ self._keyEvent( "next", event );
6306
5917
  break;
6307
5918
  case keyCode.ENTER:
6308
5919
  case keyCode.NUMPAD_ENTER:
@@ -6364,9 +5975,6 @@ $.widget( "ui.autocomplete", {
6364
5975
  }, 150 );
6365
5976
  });
6366
5977
  this._initSource();
6367
- this.response = function() {
6368
- return self._response.apply( self, arguments );
6369
- };
6370
5978
  this.menu = $( "<ul></ul>" )
6371
5979
  .addClass( "ui-autocomplete" )
6372
5980
  .appendTo( $( this.options.appendTo || "body", doc )[0] )
@@ -6501,18 +6109,11 @@ $.widget( "ui.autocomplete", {
6501
6109
  url: url,
6502
6110
  data: request,
6503
6111
  dataType: "json",
6504
- context: {
6505
- autocompleteRequest: ++requestIndex
6506
- },
6507
6112
  success: function( data, status ) {
6508
- if ( this.autocompleteRequest === requestIndex ) {
6509
- response( data );
6510
- }
6113
+ response( data );
6511
6114
  },
6512
6115
  error: function() {
6513
- if ( this.autocompleteRequest === requestIndex ) {
6514
- response( [] );
6515
- }
6116
+ response( [] );
6516
6117
  }
6517
6118
  });
6518
6119
  };
@@ -6543,10 +6144,26 @@ $.widget( "ui.autocomplete", {
6543
6144
  this.pending++;
6544
6145
  this.element.addClass( "ui-autocomplete-loading" );
6545
6146
 
6546
- this.source( { term: value }, this.response );
6147
+ this.source( { term: value }, this._response() );
6148
+ },
6149
+
6150
+ _response: function() {
6151
+ var that = this,
6152
+ index = ++requestIndex;
6153
+
6154
+ return function( content ) {
6155
+ if ( index === requestIndex ) {
6156
+ that.__response( content );
6157
+ }
6158
+
6159
+ that.pending--;
6160
+ if ( !that.pending ) {
6161
+ that.element.removeClass( "ui-autocomplete-loading" );
6162
+ }
6163
+ };
6547
6164
  },
6548
6165
 
6549
- _response: function( content ) {
6166
+ __response: function( content ) {
6550
6167
  if ( !this.options.disabled && content && content.length ) {
6551
6168
  content = this._normalize( content );
6552
6169
  this._suggest( content );
@@ -6554,10 +6171,6 @@ $.widget( "ui.autocomplete", {
6554
6171
  } else {
6555
6172
  this.close();
6556
6173
  }
6557
- this.pending--;
6558
- if ( !this.pending ) {
6559
- this.element.removeClass( "ui-autocomplete-loading" );
6560
- }
6561
6174
  },
6562
6175
 
6563
6176
  close: function( event ) {
@@ -6655,6 +6268,14 @@ $.widget( "ui.autocomplete", {
6655
6268
 
6656
6269
  widget: function() {
6657
6270
  return this.menu.element;
6271
+ },
6272
+ _keyEvent: function( keyEvent, event ) {
6273
+ if ( !this.isMultiLine || this.menu.element.is( ":visible" ) ) {
6274
+ this._move( keyEvent, event );
6275
+
6276
+ // prevents moving cursor to beginning/end of the text field in some browsers
6277
+ event.preventDefault();
6278
+ }
6658
6279
  }
6659
6280
  });
6660
6281
 
@@ -6827,7 +6448,7 @@ $.widget("ui.menu", {
6827
6448
  }
6828
6449
 
6829
6450
  var base = this.active.offset().top,
6830
- height = this.element.height();
6451
+ height = this.element.height(),
6831
6452
  result = this.element.children(".ui-menu-item").filter(function() {
6832
6453
  var close = $(this).offset().top - base + height - $(this).height();
6833
6454
  // TODO improve approximation
@@ -6855,19 +6476,7 @@ $.widget("ui.menu", {
6855
6476
  });
6856
6477
 
6857
6478
  }(jQuery));
6858
- /*
6859
- * jQuery UI Button 1.8.18
6860
- *
6861
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
6862
- * Dual licensed under the MIT or GPL Version 2 licenses.
6863
- * http://jquery.org/license
6864
- *
6865
- * http://docs.jquery.com/UI/Button
6866
- *
6867
- * Depends:
6868
- * jquery.ui.core.js
6869
- * jquery.ui.widget.js
6870
- */
6479
+
6871
6480
  (function( $, undefined ) {
6872
6481
 
6873
6482
  var lastActive, startXPos, startYPos, clickDragged,
@@ -7269,21 +6878,10 @@ $.widget( "ui.buttonset", {
7269
6878
  });
7270
6879
 
7271
6880
  }( jQuery ) );
7272
- /*
7273
- * jQuery UI Datepicker 1.8.18
7274
- *
7275
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
7276
- * Dual licensed under the MIT or GPL Version 2 licenses.
7277
- * http://jquery.org/license
7278
- *
7279
- * http://docs.jquery.com/UI/Datepicker
7280
- *
7281
- * Depends:
7282
- * jquery.ui.core.js
7283
- */
6881
+
7284
6882
  (function( $, undefined ) {
7285
6883
 
7286
- $.extend($.ui, { datepicker: { version: "1.8.18" } });
6884
+ $.extend($.ui, { datepicker: { version: "1.8.23" } });
7287
6885
 
7288
6886
  var PROP_NAME = 'datepicker';
7289
6887
  var dpuuid = new Date().getTime();
@@ -7579,7 +7177,7 @@ $.extend(Datepicker.prototype, {
7579
7177
  this.uuid += 1;
7580
7178
  var id = 'dp' + this.uuid;
7581
7179
  this._dialogInput = $('<input type="text" id="' + id +
7582
- '" style="position: absolute; top: -100px; width: 0px; z-index: -10;"/>');
7180
+ '" style="position: absolute; top: -100px; width: 0px;"/>');
7583
7181
  this._dialogInput.keydown(this._doKeyDown);
7584
7182
  $('body').append(this._dialogInput);
7585
7183
  inst = this._dialogInst = this._newInst(this._dialogInput, false);
@@ -7891,8 +7489,8 @@ $.extend(Datepicker.prototype, {
7891
7489
  $.datepicker._updateDatepicker(inst);
7892
7490
  }
7893
7491
  }
7894
- catch (event) {
7895
- $.datepicker.log(event);
7492
+ catch (err) {
7493
+ $.datepicker.log(err);
7896
7494
  }
7897
7495
  }
7898
7496
  return true;
@@ -7985,6 +7583,7 @@ $.extend(Datepicker.prototype, {
7985
7583
  var borders = $.datepicker._getBorders(inst.dpDiv);
7986
7584
  instActive = inst; // for delegate hover events
7987
7585
  inst.dpDiv.empty().append(this._generateHTML(inst));
7586
+ this._attachHandlers(inst);
7988
7587
  var cover = inst.dpDiv.find('iframe.ui-datepicker-cover'); // IE6- only
7989
7588
  if( !!cover.length ){ //avoid call to outerXXXX() when not in IE6
7990
7589
  cover.css({left: -borders[0], top: -borders[1], width: inst.dpDiv.outerWidth(), height: inst.dpDiv.outerHeight()})
@@ -8035,8 +7634,8 @@ $.extend(Datepicker.prototype, {
8035
7634
  var dpHeight = inst.dpDiv.outerHeight();
8036
7635
  var inputWidth = inst.input ? inst.input.outerWidth() : 0;
8037
7636
  var inputHeight = inst.input ? inst.input.outerHeight() : 0;
8038
- var viewWidth = document.documentElement.clientWidth + $(document).scrollLeft();
8039
- var viewHeight = document.documentElement.clientHeight + $(document).scrollTop();
7637
+ var viewWidth = document.documentElement.clientWidth + (isFixed ? 0 : $(document).scrollLeft());
7638
+ var viewHeight = document.documentElement.clientHeight + (isFixed ? 0 : $(document).scrollTop());
8040
7639
 
8041
7640
  offset.left -= (this._get(inst, 'isRTL') ? (dpWidth - inputWidth) : 0);
8042
7641
  offset.left -= (isFixed && offset.left == inst.input.offset().left) ? $(document).scrollLeft() : 0;
@@ -8071,10 +7670,8 @@ $.extend(Datepicker.prototype, {
8071
7670
  if (this._datepickerShowing) {
8072
7671
  var showAnim = this._get(inst, 'showAnim');
8073
7672
  var duration = this._get(inst, 'duration');
8074
- var self = this;
8075
7673
  var postProcess = function() {
8076
7674
  $.datepicker._tidyDialog(inst);
8077
- self._curInst = null;
8078
7675
  };
8079
7676
  if ($.effects && $.effects[showAnim])
8080
7677
  inst.dpDiv.hide(showAnim, $.datepicker._get(inst, 'showOptions'), duration, postProcess);
@@ -8675,6 +8272,43 @@ $.extend(Datepicker.prototype, {
8675
8272
  return startDate;
8676
8273
  },
8677
8274
 
8275
+ /* Attach the onxxx handlers. These are declared statically so
8276
+ * they work with static code transformers like Caja.
8277
+ */
8278
+ _attachHandlers: function(inst) {
8279
+ var stepMonths = this._get(inst, 'stepMonths');
8280
+ var id = '#' + inst.id.replace( /\\\\/g, "\\" );
8281
+ inst.dpDiv.find('[data-handler]').map(function () {
8282
+ var handler = {
8283
+ prev: function () {
8284
+ window['DP_jQuery_' + dpuuid].datepicker._adjustDate(id, -stepMonths, 'M');
8285
+ },
8286
+ next: function () {
8287
+ window['DP_jQuery_' + dpuuid].datepicker._adjustDate(id, +stepMonths, 'M');
8288
+ },
8289
+ hide: function () {
8290
+ window['DP_jQuery_' + dpuuid].datepicker._hideDatepicker();
8291
+ },
8292
+ today: function () {
8293
+ window['DP_jQuery_' + dpuuid].datepicker._gotoToday(id);
8294
+ },
8295
+ selectDay: function () {
8296
+ window['DP_jQuery_' + dpuuid].datepicker._selectDay(id, +this.getAttribute('data-month'), +this.getAttribute('data-year'), this);
8297
+ return false;
8298
+ },
8299
+ selectMonth: function () {
8300
+ window['DP_jQuery_' + dpuuid].datepicker._selectMonthYear(id, this, 'M');
8301
+ return false;
8302
+ },
8303
+ selectYear: function () {
8304
+ window['DP_jQuery_' + dpuuid].datepicker._selectMonthYear(id, this, 'Y');
8305
+ return false;
8306
+ }
8307
+ };
8308
+ $(this).bind(this.getAttribute('data-event'), handler[this.getAttribute('data-handler')]);
8309
+ });
8310
+ },
8311
+
8678
8312
  /* Generate the HTML for the current state of the date picker. */
8679
8313
  _generateHTML: function(inst) {
8680
8314
  var today = new Date();
@@ -8717,8 +8351,7 @@ $.extend(Datepicker.prototype, {
8717
8351
  this._daylightSavingAdjust(new Date(drawYear, drawMonth - stepMonths, 1)),
8718
8352
  this._getFormatConfig(inst)));
8719
8353
  var prev = (this._canAdjustMonth(inst, -1, drawYear, drawMonth) ?
8720
- '<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_' + dpuuid +
8721
- '.datepicker._adjustDate(\'#' + inst.id + '\', -' + stepMonths + ', \'M\');"' +
8354
+ '<a class="ui-datepicker-prev ui-corner-all" data-handler="prev" data-event="click"' +
8722
8355
  ' title="' + prevText + '"><span class="ui-icon ui-icon-circle-triangle-' + ( isRTL ? 'e' : 'w') + '">' + prevText + '</span></a>' :
8723
8356
  (hideIfNoPrevNext ? '' : '<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+ prevText +'"><span class="ui-icon ui-icon-circle-triangle-' + ( isRTL ? 'e' : 'w') + '">' + prevText + '</span></a>'));
8724
8357
  var nextText = this._get(inst, 'nextText');
@@ -8726,19 +8359,17 @@ $.extend(Datepicker.prototype, {
8726
8359
  this._daylightSavingAdjust(new Date(drawYear, drawMonth + stepMonths, 1)),
8727
8360
  this._getFormatConfig(inst)));
8728
8361
  var next = (this._canAdjustMonth(inst, +1, drawYear, drawMonth) ?
8729
- '<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_' + dpuuid +
8730
- '.datepicker._adjustDate(\'#' + inst.id + '\', +' + stepMonths + ', \'M\');"' +
8362
+ '<a class="ui-datepicker-next ui-corner-all" data-handler="next" data-event="click"' +
8731
8363
  ' title="' + nextText + '"><span class="ui-icon ui-icon-circle-triangle-' + ( isRTL ? 'w' : 'e') + '">' + nextText + '</span></a>' :
8732
8364
  (hideIfNoPrevNext ? '' : '<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'+ nextText + '"><span class="ui-icon ui-icon-circle-triangle-' + ( isRTL ? 'w' : 'e') + '">' + nextText + '</span></a>'));
8733
8365
  var currentText = this._get(inst, 'currentText');
8734
8366
  var gotoDate = (this._get(inst, 'gotoCurrent') && inst.currentDay ? currentDate : today);
8735
8367
  currentText = (!navigationAsDateFormat ? currentText :
8736
8368
  this.formatDate(currentText, gotoDate, this._getFormatConfig(inst)));
8737
- var controls = (!inst.inline ? '<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery_' + dpuuid +
8738
- '.datepicker._hideDatepicker();">' + this._get(inst, 'closeText') + '</button>' : '');
8369
+ var controls = (!inst.inline ? '<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" data-handler="hide" data-event="click">' +
8370
+ this._get(inst, 'closeText') + '</button>' : '');
8739
8371
  var buttonPanel = (showButtonPanel) ? '<div class="ui-datepicker-buttonpane ui-widget-content">' + (isRTL ? controls : '') +
8740
- (this._isInRange(inst, gotoDate) ? '<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery_' + dpuuid +
8741
- '.datepicker._gotoToday(\'#' + inst.id + '\');"' +
8372
+ (this._isInRange(inst, gotoDate) ? '<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" data-handler="today" data-event="click"' +
8742
8373
  '>' + currentText + '</button>' : '') + (isRTL ? '' : controls) + '</div>' : '';
8743
8374
  var firstDay = parseInt(this._get(inst, 'firstDay'),10);
8744
8375
  firstDay = (isNaN(firstDay) ? 0 : firstDay);
@@ -8817,8 +8448,7 @@ $.extend(Datepicker.prototype, {
8817
8448
  (printDate.getTime() == currentDate.getTime() ? ' ' + this._currentClass : '') + // highlight selected day
8818
8449
  (printDate.getTime() == today.getTime() ? ' ui-datepicker-today' : '')) + '"' + // highlight today (if different)
8819
8450
  ((!otherMonth || showOtherMonths) && daySettings[2] ? ' title="' + daySettings[2] + '"' : '') + // cell title
8820
- (unselectable ? '' : ' onclick="DP_jQuery_' + dpuuid + '.datepicker._selectDay(\'#' +
8821
- inst.id + '\',' + printDate.getMonth() + ',' + printDate.getFullYear() + ', this);return false;"') + '>' + // actions
8451
+ (unselectable ? '' : ' data-handler="selectDay" data-event="click" data-month="' + printDate.getMonth() + '" data-year="' + printDate.getFullYear() + '"') + '>' + // actions
8822
8452
  (otherMonth && !showOtherMonths ? '&#xa0;' : // display for other months
8823
8453
  (unselectable ? '<span class="ui-state-default">' + printDate.getDate() + '</span>' : '<a class="ui-state-default' +
8824
8454
  (printDate.getTime() == today.getTime() ? ' ui-state-highlight' : '') +
@@ -8861,9 +8491,7 @@ $.extend(Datepicker.prototype, {
8861
8491
  else {
8862
8492
  var inMinYear = (minDate && minDate.getFullYear() == drawYear);
8863
8493
  var inMaxYear = (maxDate && maxDate.getFullYear() == drawYear);
8864
- monthHtml += '<select class="ui-datepicker-month" ' +
8865
- 'onchange="DP_jQuery_' + dpuuid + '.datepicker._selectMonthYear(\'#' + inst.id + '\', this, \'M\');" ' +
8866
- '>';
8494
+ monthHtml += '<select class="ui-datepicker-month" data-handler="selectMonth" data-event="change">';
8867
8495
  for (var month = 0; month < 12; month++) {
8868
8496
  if ((!inMinYear || month >= minDate.getMonth()) &&
8869
8497
  (!inMaxYear || month <= maxDate.getMonth()))
@@ -8894,9 +8522,7 @@ $.extend(Datepicker.prototype, {
8894
8522
  var endYear = Math.max(year, determineYear(years[1] || ''));
8895
8523
  year = (minDate ? Math.max(year, minDate.getFullYear()) : year);
8896
8524
  endYear = (maxDate ? Math.min(endYear, maxDate.getFullYear()) : endYear);
8897
- inst.yearshtml += '<select class="ui-datepicker-year" ' +
8898
- 'onchange="DP_jQuery_' + dpuuid + '.datepicker._selectMonthYear(\'#' + inst.id + '\', this, \'Y\');" ' +
8899
- '>';
8525
+ inst.yearshtml += '<select class="ui-datepicker-year" data-handler="selectYear" data-event="change">';
8900
8526
  for (; year <= endYear; year++) {
8901
8527
  inst.yearshtml += '<option value="' + year + '"' +
8902
8528
  (year == drawYear ? ' selected="selected"' : '') +
@@ -9088,31 +8714,14 @@ $.fn.datepicker = function(options){
9088
8714
  $.datepicker = new Datepicker(); // singleton instance
9089
8715
  $.datepicker.initialized = false;
9090
8716
  $.datepicker.uuid = new Date().getTime();
9091
- $.datepicker.version = "1.8.18";
8717
+ $.datepicker.version = "1.8.23";
9092
8718
 
9093
8719
  // Workaround for #4055
9094
8720
  // Add another global to avoid noConflict issues with inline event handlers
9095
8721
  window['DP_jQuery_' + dpuuid] = $;
9096
8722
 
9097
8723
  })(jQuery);
9098
- /*
9099
- * jQuery UI Dialog 1.8.18
9100
- *
9101
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
9102
- * Dual licensed under the MIT or GPL Version 2 licenses.
9103
- * http://jquery.org/license
9104
- *
9105
- * http://docs.jquery.com/UI/Dialog
9106
- *
9107
- * Depends:
9108
- * jquery.ui.core.js
9109
- * jquery.ui.widget.js
9110
- * jquery.ui.button.js
9111
- * jquery.ui.draggable.js
9112
- * jquery.ui.mouse.js
9113
- * jquery.ui.position.js
9114
- * jquery.ui.resizable.js
9115
- */
8724
+
9116
8725
  (function( $, undefined ) {
9117
8726
 
9118
8727
  var uiDialogClasses =
@@ -9134,18 +8743,6 @@ var uiDialogClasses =
9134
8743
  maxWidth: true,
9135
8744
  minHeight: true,
9136
8745
  minWidth: true
9137
- },
9138
- // support for jQuery 1.3.2 - handle common attrFn methods for dialog
9139
- attrFn = $.attrFn || {
9140
- val: true,
9141
- css: true,
9142
- html: true,
9143
- text: true,
9144
- data: true,
9145
- width: true,
9146
- height: true,
9147
- offset: true,
9148
- click: true
9149
8746
  };
9150
8747
 
9151
8748
  $.widget("ui.dialog", {
@@ -9494,7 +9091,7 @@ $.widget("ui.dialog", {
9494
9091
  if ( key === "click" ) {
9495
9092
  return;
9496
9093
  }
9497
- if ( key in attrFn ) {
9094
+ if ( key in button ) {
9498
9095
  button[ key ]( value );
9499
9096
  } else {
9500
9097
  button.attr( key, value );
@@ -9799,7 +9396,7 @@ $.widget("ui.dialog", {
9799
9396
  });
9800
9397
 
9801
9398
  $.extend($.ui.dialog, {
9802
- version: "1.8.18",
9399
+ version: "1.8.23",
9803
9400
 
9804
9401
  uuid: 0,
9805
9402
  maxZ: 0,
@@ -9973,15 +9570,7 @@ $.extend($.ui.dialog.overlay.prototype, {
9973
9570
  });
9974
9571
 
9975
9572
  }(jQuery));
9976
- /*
9977
- * jQuery UI Position 1.8.18
9978
- *
9979
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
9980
- * Dual licensed under the MIT or GPL Version 2 licenses.
9981
- * http://jquery.org/license
9982
- *
9983
- * http://docs.jquery.com/UI/Position
9984
- */
9573
+
9985
9574
  (function( $, undefined ) {
9986
9575
 
9987
9576
  $.ui = $.ui || {};
@@ -10218,7 +9807,12 @@ if ( !$.offset.setOffset ) {
10218
9807
  $.fn.offset = function( options ) {
10219
9808
  var elem = this[ 0 ];
10220
9809
  if ( !elem || !elem.ownerDocument ) { return null; }
10221
- if ( options ) {
9810
+ if ( options ) {
9811
+ if ( $.isFunction( options ) ) {
9812
+ return this.each(function( i ) {
9813
+ $( this ).offset( options.call( this, i, $( this ).offset() ) );
9814
+ });
9815
+ }
10222
9816
  return this.each(function() {
10223
9817
  $.offset.setOffset( this, options );
10224
9818
  });
@@ -10227,6 +9821,11 @@ if ( !$.offset.setOffset ) {
10227
9821
  };
10228
9822
  }
10229
9823
 
9824
+ // jQuery <1.4.3 uses curCSS, in 1.4.3 - 1.7.2 curCSS = css, 1.8+ only has css
9825
+ if ( !$.curCSS ) {
9826
+ $.curCSS = $.css;
9827
+ }
9828
+
10230
9829
  // fraction support test (older versions of jQuery don't support fractions)
10231
9830
  (function () {
10232
9831
  var body = document.getElementsByTagName( "body" )[ 0 ],
@@ -10271,19 +9870,7 @@ if ( !$.offset.setOffset ) {
10271
9870
  })();
10272
9871
 
10273
9872
  }( jQuery ));
10274
- /*
10275
- * jQuery UI Progressbar 1.8.18
10276
- *
10277
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
10278
- * Dual licensed under the MIT or GPL Version 2 licenses.
10279
- * http://jquery.org/license
10280
- *
10281
- * http://docs.jquery.com/UI/Progressbar
10282
- *
10283
- * Depends:
10284
- * jquery.ui.core.js
10285
- * jquery.ui.widget.js
10286
- */
9873
+
10287
9874
  (function( $, undefined ) {
10288
9875
 
10289
9876
  $.widget( "ui.progressbar", {
@@ -10376,24 +9963,11 @@ $.widget( "ui.progressbar", {
10376
9963
  });
10377
9964
 
10378
9965
  $.extend( $.ui.progressbar, {
10379
- version: "1.8.18"
9966
+ version: "1.8.23"
10380
9967
  });
10381
9968
 
10382
9969
  })( jQuery );
10383
- /*
10384
- * jQuery UI Slider 1.8.18
10385
- *
10386
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
10387
- * Dual licensed under the MIT or GPL Version 2 licenses.
10388
- * http://jquery.org/license
10389
- *
10390
- * http://docs.jquery.com/UI/Slider
10391
- *
10392
- * Depends:
10393
- * jquery.ui.core.js
10394
- * jquery.ui.mouse.js
10395
- * jquery.ui.widget.js
10396
- */
9970
+
10397
9971
  (function( $, undefined ) {
10398
9972
 
10399
9973
  // number of pages in a slider
@@ -11038,23 +10612,11 @@ $.widget( "ui.slider", $.ui.mouse, {
11038
10612
  });
11039
10613
 
11040
10614
  $.extend( $.ui.slider, {
11041
- version: "1.8.18"
10615
+ version: "1.8.23"
11042
10616
  });
11043
10617
 
11044
10618
  }(jQuery));
11045
- /*
11046
- * jQuery UI Tabs 1.8.18
11047
- *
11048
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
11049
- * Dual licensed under the MIT or GPL Version 2 licenses.
11050
- * http://jquery.org/license
11051
- *
11052
- * http://docs.jquery.com/UI/Tabs
11053
- *
11054
- * Depends:
11055
- * jquery.ui.core.js
11056
- * jquery.ui.widget.js
11057
- */
10619
+
11058
10620
  (function( $, undefined ) {
11059
10621
 
11060
10622
  var tabId = 0,
@@ -11471,7 +11033,7 @@ $.widget( "ui.tabs", {
11471
11033
  // meta-function to give users option to provide a href string instead of a numerical index.
11472
11034
  // also sanitizes numerical indexes to valid values.
11473
11035
  if ( typeof index == "string" ) {
11474
- index = this.anchors.index( this.anchors.filter( "[href$=" + index + "]" ) );
11036
+ index = this.anchors.index( this.anchors.filter( "[href$='" + index + "']" ) );
11475
11037
  }
11476
11038
 
11477
11039
  return index;
@@ -11742,7 +11304,7 @@ $.widget( "ui.tabs", {
11742
11304
  });
11743
11305
 
11744
11306
  $.extend( $.ui.tabs, {
11745
- version: "1.8.18"
11307
+ version: "1.8.23"
11746
11308
  });
11747
11309
 
11748
11310
  /*
@@ -11777,7 +11339,6 @@ $.extend( $.ui.tabs.prototype, {
11777
11339
  }
11778
11340
  }
11779
11341
  : function( e ) {
11780
- t = o.selected;
11781
11342
  rotate();
11782
11343
  });
11783
11344