jquery-ui-rails 4.2.0 → 4.2.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


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

Files changed (63) hide show
  1. data/History.md +4 -0
  2. data/VERSIONS.md +1 -0
  3. data/app/assets/javascripts/jquery.ui.accordion.js +13 -15
  4. data/app/assets/javascripts/jquery.ui.autocomplete.js +12 -16
  5. data/app/assets/javascripts/jquery.ui.button.js +21 -45
  6. data/app/assets/javascripts/jquery.ui.core.js +3 -3
  7. data/app/assets/javascripts/jquery.ui.datepicker-es.js +7 -7
  8. data/app/assets/javascripts/jquery.ui.datepicker-fi.js +1 -1
  9. data/app/assets/javascripts/jquery.ui.datepicker-fr-CH.js +7 -7
  10. data/app/assets/javascripts/jquery.ui.datepicker-fr.js +6 -6
  11. data/app/assets/javascripts/jquery.ui.datepicker-is.js +1 -1
  12. data/app/assets/javascripts/jquery.ui.datepicker-lt.js +2 -2
  13. data/app/assets/javascripts/jquery.ui.datepicker-lv.js +4 -4
  14. data/app/assets/javascripts/jquery.ui.datepicker-pt.js +1 -1
  15. data/app/assets/javascripts/jquery.ui.datepicker.js +4 -4
  16. data/app/assets/javascripts/jquery.ui.dialog.js +25 -10
  17. data/app/assets/javascripts/jquery.ui.draggable.js +3 -3
  18. data/app/assets/javascripts/jquery.ui.droppable.js +31 -14
  19. data/app/assets/javascripts/jquery.ui.effect-blind.js +2 -2
  20. data/app/assets/javascripts/jquery.ui.effect-bounce.js +2 -2
  21. data/app/assets/javascripts/jquery.ui.effect-clip.js +2 -2
  22. data/app/assets/javascripts/jquery.ui.effect-drop.js +2 -2
  23. data/app/assets/javascripts/jquery.ui.effect-explode.js +2 -2
  24. data/app/assets/javascripts/jquery.ui.effect-fade.js +2 -2
  25. data/app/assets/javascripts/jquery.ui.effect-fold.js +2 -2
  26. data/app/assets/javascripts/jquery.ui.effect-highlight.js +2 -2
  27. data/app/assets/javascripts/jquery.ui.effect-pulsate.js +2 -2
  28. data/app/assets/javascripts/jquery.ui.effect-scale.js +2 -2
  29. data/app/assets/javascripts/jquery.ui.effect-shake.js +2 -2
  30. data/app/assets/javascripts/jquery.ui.effect-slide.js +2 -2
  31. data/app/assets/javascripts/jquery.ui.effect-transfer.js +2 -2
  32. data/app/assets/javascripts/jquery.ui.effect.js +3 -3
  33. data/app/assets/javascripts/jquery.ui.menu.js +14 -8
  34. data/app/assets/javascripts/jquery.ui.mouse.js +3 -3
  35. data/app/assets/javascripts/jquery.ui.position.js +11 -7
  36. data/app/assets/javascripts/jquery.ui.progressbar.js +3 -3
  37. data/app/assets/javascripts/jquery.ui.resizable.js +20 -10
  38. data/app/assets/javascripts/jquery.ui.selectable.js +3 -3
  39. data/app/assets/javascripts/jquery.ui.slider.js +11 -7
  40. data/app/assets/javascripts/jquery.ui.sortable.js +18 -14
  41. data/app/assets/javascripts/jquery.ui.spinner.js +9 -5
  42. data/app/assets/javascripts/jquery.ui.tabs.js +8 -5
  43. data/app/assets/javascripts/jquery.ui.tooltip.js +3 -3
  44. data/app/assets/javascripts/jquery.ui.widget.js +5 -5
  45. data/app/assets/stylesheets/jquery.ui.accordion.css.erb +3 -3
  46. data/app/assets/stylesheets/jquery.ui.all.css.erb +3 -3
  47. data/app/assets/stylesheets/jquery.ui.autocomplete.css.erb +3 -3
  48. data/app/assets/stylesheets/jquery.ui.base.css.erb +3 -3
  49. data/app/assets/stylesheets/jquery.ui.button.css.erb +3 -3
  50. data/app/assets/stylesheets/jquery.ui.core.css.erb +3 -3
  51. data/app/assets/stylesheets/jquery.ui.datepicker.css.erb +3 -6
  52. data/app/assets/stylesheets/jquery.ui.dialog.css.erb +5 -4
  53. data/app/assets/stylesheets/jquery.ui.menu.css.erb +3 -3
  54. data/app/assets/stylesheets/jquery.ui.progressbar.css.erb +3 -3
  55. data/app/assets/stylesheets/jquery.ui.resizable.css.erb +2 -4
  56. data/app/assets/stylesheets/jquery.ui.selectable.css.erb +2 -4
  57. data/app/assets/stylesheets/jquery.ui.slider.css.erb +3 -3
  58. data/app/assets/stylesheets/jquery.ui.spinner.css.erb +5 -5
  59. data/app/assets/stylesheets/jquery.ui.tabs.css.erb +8 -9
  60. data/app/assets/stylesheets/jquery.ui.theme.css.erb +8 -4
  61. data/app/assets/stylesheets/jquery.ui.tooltip.css.erb +4 -2
  62. data/lib/jquery/ui/rails/version.rb +2 -2
  63. metadata +3 -3
@@ -3,10 +3,10 @@
3
3
  //= require jquery.ui.position
4
4
 
5
5
  /*!
6
- * jQuery UI Menu 1.10.3
6
+ * jQuery UI Menu 1.10.4
7
7
  * http://jqueryui.com
8
8
  *
9
- * Copyright 2013 jQuery Foundation and other contributors
9
+ * Copyright 2014 jQuery Foundation and other contributors
10
10
  * Released under the MIT license.
11
11
  * http://jquery.org/license
12
12
  *
@@ -20,7 +20,7 @@
20
20
  (function( $, undefined ) {
21
21
 
22
22
  $.widget( "ui.menu", {
23
- version: "1.10.3",
23
+ version: "1.10.4",
24
24
  defaultElement: "<ul>",
25
25
  delay: 300,
26
26
  options: {
@@ -79,13 +79,18 @@ $.widget( "ui.menu", {
79
79
  "click .ui-menu-item:has(a)": function( event ) {
80
80
  var target = $( event.target ).closest( ".ui-menu-item" );
81
81
  if ( !this.mouseHandled && target.not( ".ui-state-disabled" ).length ) {
82
- this.mouseHandled = true;
83
-
84
82
  this.select( event );
83
+
84
+ // Only set the mouseHandled flag if the event will bubble, see #9469.
85
+ if ( !event.isPropagationStopped() ) {
86
+ this.mouseHandled = true;
87
+ }
88
+
85
89
  // Open submenu on click
86
90
  if ( target.has( ".ui-menu" ).length ) {
87
91
  this.expand( event );
88
- } else if ( !this.element.is( ":focus" ) ) {
92
+ } else if ( !this.element.is( ":focus" ) && $( this.document[ 0 ].activeElement ).closest( ".ui-menu" ).length ) {
93
+
89
94
  // Redirect focus to the menu
90
95
  this.element.trigger( "focus", [ true ] );
91
96
 
@@ -178,7 +183,6 @@ $.widget( "ui.menu", {
178
183
  },
179
184
 
180
185
  _keydown: function( event ) {
181
- /*jshint maxcomplexity:20*/
182
186
  var match, prev, character, skip, regex,
183
187
  preventDefault = true;
184
188
 
@@ -287,6 +291,8 @@ $.widget( "ui.menu", {
287
291
  icon = this.options.icons.submenu,
288
292
  submenus = this.element.find( this.options.menus );
289
293
 
294
+ this.element.toggleClass( "ui-menu-icons", !!this.element.find( ".ui-icon" ).length );
295
+
290
296
  // Initialize nested menus
291
297
  submenus.filter( ":not(.ui-menu)" )
292
298
  .addClass( "ui-menu ui-widget ui-widget-content ui-corner-all" )
@@ -387,7 +393,7 @@ $.widget( "ui.menu", {
387
393
  }
388
394
 
389
395
  nested = item.children( ".ui-menu" );
390
- if ( nested.length && ( /^mouse/.test( event.type ) ) ) {
396
+ if ( nested.length && event && ( /^mouse/.test( event.type ) ) ) {
391
397
  this._startOpening(nested);
392
398
  }
393
399
  this.activeMenu = item.parent();
@@ -2,10 +2,10 @@
2
2
  //= require jquery.ui.widget
3
3
 
4
4
  /*!
5
- * jQuery UI Mouse 1.10.3
5
+ * jQuery UI Mouse 1.10.4
6
6
  * http://jqueryui.com
7
7
  *
8
- * Copyright 2013 jQuery Foundation and other contributors
8
+ * Copyright 2014 jQuery Foundation and other contributors
9
9
  * Released under the MIT license.
10
10
  * http://jquery.org/license
11
11
  *
@@ -22,7 +22,7 @@ $( document ).mouseup( function() {
22
22
  });
23
23
 
24
24
  $.widget("ui.mouse", {
25
- version: "1.10.3",
25
+ version: "1.10.4",
26
26
  options: {
27
27
  cancel: "input,textarea,button,select,option",
28
28
  distance: 1,
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * jQuery UI Position 1.10.3
2
+ * jQuery UI Position 1.10.4
3
3
  * http://jqueryui.com
4
4
  *
5
- * Copyright 2013 jQuery Foundation and other contributors
5
+ * Copyright 2014 jQuery Foundation and other contributors
6
6
  * Released under the MIT license.
7
7
  * http://jquery.org/license
8
8
  *
@@ -70,7 +70,7 @@ $.position = {
70
70
  return cachedScrollbarWidth;
71
71
  }
72
72
  var w1, w2,
73
- div = $( "<div style='display:block;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>" ),
73
+ div = $( "<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>" ),
74
74
  innerDiv = div.children()[0];
75
75
 
76
76
  $( "body" ).append( div );
@@ -88,8 +88,10 @@ $.position = {
88
88
  return (cachedScrollbarWidth = w1 - w2);
89
89
  },
90
90
  getScrollInfo: function( within ) {
91
- var overflowX = within.isWindow ? "" : within.element.css( "overflow-x" ),
92
- overflowY = within.isWindow ? "" : within.element.css( "overflow-y" ),
91
+ var overflowX = within.isWindow || within.isDocument ? "" :
92
+ within.element.css( "overflow-x" ),
93
+ overflowY = within.isWindow || within.isDocument ? "" :
94
+ within.element.css( "overflow-y" ),
93
95
  hasOverflowX = overflowX === "scroll" ||
94
96
  ( overflowX === "auto" && within.width < within.element[0].scrollWidth ),
95
97
  hasOverflowY = overflowY === "scroll" ||
@@ -101,10 +103,12 @@ $.position = {
101
103
  },
102
104
  getWithinInfo: function( element ) {
103
105
  var withinElement = $( element || window ),
104
- isWindow = $.isWindow( withinElement[0] );
106
+ isWindow = $.isWindow( withinElement[0] ),
107
+ isDocument = !!withinElement[ 0 ] && withinElement[ 0 ].nodeType === 9;
105
108
  return {
106
109
  element: withinElement,
107
110
  isWindow: isWindow,
111
+ isDocument: isDocument,
108
112
  offset: withinElement.offset() || { left: 0, top: 0 },
109
113
  scrollLeft: withinElement.scrollLeft(),
110
114
  scrollTop: withinElement.scrollTop(),
@@ -436,7 +440,7 @@ $.ui.position = {
436
440
  }
437
441
  }
438
442
  else if ( overBottom > 0 ) {
439
- newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + offset - offsetTop;
443
+ newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + offset - offsetTop;
440
444
  if ( ( position.top + myOffset + atOffset + offset) > overBottom && ( newOverTop > 0 || abs( newOverTop ) < overBottom ) ) {
441
445
  position.top += myOffset + atOffset + offset;
442
446
  }
@@ -2,10 +2,10 @@
2
2
  //= require jquery.ui.widget
3
3
 
4
4
  /*!
5
- * jQuery UI Progressbar 1.10.3
5
+ * jQuery UI Progressbar 1.10.4
6
6
  * http://jqueryui.com
7
7
  *
8
- * Copyright 2013 jQuery Foundation and other contributors
8
+ * Copyright 2014 jQuery Foundation and other contributors
9
9
  * Released under the MIT license.
10
10
  * http://jquery.org/license
11
11
  *
@@ -18,7 +18,7 @@
18
18
  (function( $, undefined ) {
19
19
 
20
20
  $.widget( "ui.progressbar", {
21
- version: "1.10.3",
21
+ version: "1.10.4",
22
22
  options: {
23
23
  max: 100,
24
24
  value: 0,
@@ -3,10 +3,10 @@
3
3
  //= require jquery.ui.mouse
4
4
 
5
5
  /*!
6
- * jQuery UI Resizable 1.10.3
6
+ * jQuery UI Resizable 1.10.4
7
7
  * http://jqueryui.com
8
8
  *
9
- * Copyright 2013 jQuery Foundation and other contributors
9
+ * Copyright 2014 jQuery Foundation and other contributors
10
10
  * Released under the MIT license.
11
11
  * http://jquery.org/license
12
12
  *
@@ -28,7 +28,7 @@ function isNumber(value) {
28
28
  }
29
29
 
30
30
  $.widget("ui.resizable", $.ui.mouse, {
31
- version: "1.10.3",
31
+ version: "1.10.4",
32
32
  widgetEventPrefix: "resize",
33
33
  options: {
34
34
  alsoResize: false,
@@ -297,7 +297,7 @@ $.widget("ui.resizable", $.ui.mouse, {
297
297
  //Store needed variables
298
298
  this.offset = this.helper.offset();
299
299
  this.position = { left: curleft, top: curtop };
300
- this.size = this._helper ? { width: el.outerWidth(), height: el.outerHeight() } : { width: el.width(), height: el.height() };
300
+ this.size = this._helper ? { width: this.helper.width(), height: this.helper.height() } : { width: el.width(), height: el.height() };
301
301
  this.originalSize = this._helper ? { width: el.outerWidth(), height: el.outerHeight() } : { width: el.width(), height: el.height() };
302
302
  this.originalPosition = { left: curleft, top: curtop };
303
303
  this.sizeDiff = { width: el.outerWidth() - el.width(), height: el.outerHeight() - el.height() };
@@ -778,8 +778,8 @@ $.ui.plugin.add("resizable", "containment", {
778
778
  isParent = that.containerElement.get(0) === that.element.parent().get(0);
779
779
  isOffsetRelative = /relative|absolute/.test(that.containerElement.css("position"));
780
780
 
781
- if(isParent && isOffsetRelative) {
782
- woset -= that.parentData.left;
781
+ if ( isParent && isOffsetRelative ) {
782
+ woset -= Math.abs( that.parentData.left );
783
783
  }
784
784
 
785
785
  if (woset + that.size.width >= that.parentData.width) {
@@ -960,10 +960,20 @@ $.ui.plugin.add("resizable", "grid", {
960
960
  that.size.height = newHeight;
961
961
  that.position.left = op.left - ox;
962
962
  } else {
963
- that.size.width = newWidth;
964
- that.size.height = newHeight;
965
- that.position.top = op.top - oy;
966
- that.position.left = op.left - ox;
963
+ if ( newHeight - gridY > 0 ) {
964
+ that.size.height = newHeight;
965
+ that.position.top = op.top - oy;
966
+ } else {
967
+ that.size.height = gridY;
968
+ that.position.top = op.top + os.height - gridY;
969
+ }
970
+ if ( newWidth - gridX > 0 ) {
971
+ that.size.width = newWidth;
972
+ that.position.left = op.left - ox;
973
+ } else {
974
+ that.size.width = gridX;
975
+ that.position.left = op.left + os.width - gridX;
976
+ }
967
977
  }
968
978
  }
969
979
 
@@ -3,10 +3,10 @@
3
3
  //= require jquery.ui.mouse
4
4
 
5
5
  /*!
6
- * jQuery UI Selectable 1.10.3
6
+ * jQuery UI Selectable 1.10.4
7
7
  * http://jqueryui.com
8
8
  *
9
- * Copyright 2013 jQuery Foundation and other contributors
9
+ * Copyright 2014 jQuery Foundation and other contributors
10
10
  * Released under the MIT license.
11
11
  * http://jquery.org/license
12
12
  *
@@ -20,7 +20,7 @@
20
20
  (function( $, undefined ) {
21
21
 
22
22
  $.widget("ui.selectable", $.ui.mouse, {
23
- version: "1.10.3",
23
+ version: "1.10.4",
24
24
  options: {
25
25
  appendTo: "body",
26
26
  autoRefresh: true,
@@ -3,10 +3,10 @@
3
3
  //= require jquery.ui.mouse
4
4
 
5
5
  /*!
6
- * jQuery UI Slider 1.10.3
6
+ * jQuery UI Slider 1.10.4
7
7
  * http://jqueryui.com
8
8
  *
9
- * Copyright 2013 jQuery Foundation and other contributors
9
+ * Copyright 2014 jQuery Foundation and other contributors
10
10
  * Released under the MIT license.
11
11
  * http://jquery.org/license
12
12
  *
@@ -24,7 +24,7 @@
24
24
  var numPages = 5;
25
25
 
26
26
  $.widget( "ui.slider", $.ui.mouse, {
27
- version: "1.10.3",
27
+ version: "1.10.4",
28
28
  widgetEventPrefix: "slide",
29
29
 
30
30
  options: {
@@ -135,7 +135,10 @@ $.widget( "ui.slider", $.ui.mouse, {
135
135
  this.range.addClass( classes +
136
136
  ( ( options.range === "min" || options.range === "max" ) ? " ui-slider-range-" + options.range : "" ) );
137
137
  } else {
138
- this.range = $([]);
138
+ if ( this.range ) {
139
+ this.range.remove();
140
+ }
141
+ this.range = null;
139
142
  }
140
143
  },
141
144
 
@@ -149,7 +152,9 @@ $.widget( "ui.slider", $.ui.mouse, {
149
152
 
150
153
  _destroy: function() {
151
154
  this.handles.remove();
152
- this.range.remove();
155
+ if ( this.range ) {
156
+ this.range.remove();
157
+ }
153
158
 
154
159
  this.element
155
160
  .removeClass( "ui-slider" +
@@ -321,7 +326,7 @@ $.widget( "ui.slider", $.ui.mouse, {
321
326
  } );
322
327
  otherVal = this.values( index ? 0 : 1 );
323
328
  if ( allowed !== false ) {
324
- this.values( index, newVal, true );
329
+ this.values( index, newVal );
325
330
  }
326
331
  }
327
332
  } else {
@@ -593,7 +598,6 @@ $.widget( "ui.slider", $.ui.mouse, {
593
598
 
594
599
  _handleEvents: {
595
600
  keydown: function( event ) {
596
- /*jshint maxcomplexity:25*/
597
601
  var allowed, curVal, newVal, step,
598
602
  index = $( event.target ).data( "ui-slider-handle-index" );
599
603
 
@@ -3,10 +3,10 @@
3
3
  //= require jquery.ui.mouse
4
4
 
5
5
  /*!
6
- * jQuery UI Sortable 1.10.3
6
+ * jQuery UI Sortable 1.10.4
7
7
  * http://jqueryui.com
8
8
  *
9
- * Copyright 2013 jQuery Foundation and other contributors
9
+ * Copyright 2014 jQuery Foundation and other contributors
10
10
  * Released under the MIT license.
11
11
  * http://jquery.org/license
12
12
  *
@@ -19,8 +19,6 @@
19
19
  */
20
20
  (function( $, undefined ) {
21
21
 
22
- /*jshint loopfunc: true */
23
-
24
22
  function isOverAxis( x, reference, size ) {
25
23
  return ( x > reference ) && ( x < ( reference + size ) );
26
24
  }
@@ -30,7 +28,7 @@ function isFloating(item) {
30
28
  }
31
29
 
32
30
  $.widget("ui.sortable", $.ui.mouse, {
33
- version: "1.10.3",
31
+ version: "1.10.4",
34
32
  widgetEventPrefix: "sort",
35
33
  ready: false,
36
34
  options: {
@@ -371,12 +369,12 @@ $.widget("ui.sortable", $.ui.mouse, {
371
369
  }
372
370
 
373
371
  // Only put the placeholder inside the current Container, skip all
374
- // items form other containers. This works because when moving
372
+ // items from other containers. This works because when moving
375
373
  // an item from one container to another the
376
374
  // currentContainer is switched before the placeholder is moved.
377
375
  //
378
- // Without this moving items in "sub-sortables" can cause the placeholder to jitter
379
- // beetween the outer and inner container.
376
+ // Without this, moving items in "sub-sortables" can cause
377
+ // the placeholder to jitter beetween the outer and inner container.
380
378
  if (item.instance !== this.currentContainer) {
381
379
  continue;
382
380
  }
@@ -644,10 +642,11 @@ $.widget("ui.sortable", $.ui.mouse, {
644
642
 
645
643
  queries.push([$.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : $(this.options.items, this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), this]);
646
644
 
645
+ function addItems() {
646
+ items.push( this );
647
+ }
647
648
  for (i = queries.length - 1; i >= 0; i--){
648
- queries[i][0].each(function() {
649
- items.push(this);
650
- });
649
+ queries[i][0].each( addItems );
651
650
  }
652
651
 
653
652
  return $(items);
@@ -1205,12 +1204,17 @@ $.widget("ui.sortable", $.ui.mouse, {
1205
1204
 
1206
1205
 
1207
1206
  //Post events to containers
1207
+ function delayEvent( type, instance, container ) {
1208
+ return function( event ) {
1209
+ container._trigger( type, event, instance._uiHash( instance ) );
1210
+ };
1211
+ }
1208
1212
  for (i = this.containers.length - 1; i >= 0; i--){
1209
- if(!noPropagation) {
1210
- delayedTriggers.push((function(c) { return function(event) { c._trigger("deactivate", event, this._uiHash(this)); }; }).call(this, this.containers[i]));
1213
+ if (!noPropagation) {
1214
+ delayedTriggers.push( delayEvent( "deactivate", this, this.containers[ i ] ) );
1211
1215
  }
1212
1216
  if(this.containers[i].containerCache.over) {
1213
- delayedTriggers.push((function(c) { return function(event) { c._trigger("out", event, this._uiHash(this)); }; }).call(this, this.containers[i]));
1217
+ delayedTriggers.push( delayEvent( "out", this, this.containers[ i ] ) );
1214
1218
  this.containers[i].containerCache.over = 0;
1215
1219
  }
1216
1220
  }
@@ -3,10 +3,10 @@
3
3
  //= require jquery.ui.button
4
4
 
5
5
  /*!
6
- * jQuery UI Spinner 1.10.3
6
+ * jQuery UI Spinner 1.10.4
7
7
  * http://jqueryui.com
8
8
  *
9
- * Copyright 2013 jQuery Foundation and other contributors
9
+ * Copyright 2014 jQuery Foundation and other contributors
10
10
  * Released under the MIT license.
11
11
  * http://jquery.org/license
12
12
  *
@@ -31,7 +31,7 @@ function modifier( fn ) {
31
31
  }
32
32
 
33
33
  $.widget( "ui.spinner", {
34
- version: "1.10.3",
34
+ version: "1.10.4",
35
35
  defaultElement: "<input>",
36
36
  widgetEventPrefix: "spin",
37
37
  options: {
@@ -59,8 +59,12 @@ $.widget( "ui.spinner", {
59
59
  this._setOption( "min", this.options.min );
60
60
  this._setOption( "step", this.options.step );
61
61
 
62
- // format the value, but don't constrain
63
- this._value( this.element.val(), true );
62
+ // Only format if there is a value, prevents the field from being marked
63
+ // as invalid in Firefox, see #9573.
64
+ if ( this.value() !== "" ) {
65
+ // Format the value, but don't constrain.
66
+ this._value( this.element.val(), true );
67
+ }
64
68
 
65
69
  this._draw();
66
70
  this._on( this._events );
@@ -2,10 +2,10 @@
2
2
  //= require jquery.ui.widget
3
3
 
4
4
  /*!
5
- * jQuery UI Tabs 1.10.3
5
+ * jQuery UI Tabs 1.10.4
6
6
  * http://jqueryui.com
7
7
  *
8
- * Copyright 2013 jQuery Foundation and other contributors
8
+ * Copyright 2014 jQuery Foundation and other contributors
9
9
  * Released under the MIT license.
10
10
  * http://jquery.org/license
11
11
  *
@@ -25,13 +25,17 @@ function getNextTabId() {
25
25
  }
26
26
 
27
27
  function isLocal( anchor ) {
28
+ // support: IE7
29
+ // IE7 doesn't normalize the href property when set via script (#9317)
30
+ anchor = anchor.cloneNode( false );
31
+
28
32
  return anchor.hash.length > 1 &&
29
33
  decodeURIComponent( anchor.href.replace( rhash, "" ) ) ===
30
34
  decodeURIComponent( location.href.replace( rhash, "" ) );
31
35
  }
32
36
 
33
37
  $.widget( "ui.tabs", {
34
- version: "1.10.3",
38
+ version: "1.10.4",
35
39
  delay: 300,
36
40
  options: {
37
41
  active: null,
@@ -153,7 +157,6 @@ $.widget( "ui.tabs", {
153
157
  },
154
158
 
155
159
  _tabKeydown: function( event ) {
156
- /*jshint maxcomplexity:15*/
157
160
  var focusedTab = $( this.document[0].activeElement ).closest( "li" ),
158
161
  selectedIndex = this.tabs.index( focusedTab ),
159
162
  goingForward = true;
@@ -441,7 +444,7 @@ $.widget( "ui.tabs", {
441
444
 
442
445
  // allow overriding how to find the list for rare usage scenarios (#7715)
443
446
  _getList: function() {
444
- return this.element.find( "ol,ul" ).eq( 0 );
447
+ return this.tablist || this.element.find( "ol,ul" ).eq( 0 );
445
448
  },
446
449
 
447
450
  _createPanel: function( id ) {