summaryrefslogtreecommitdiff
path: root/lib/scripts/jquery/jquery-ui.js
diff options
context:
space:
mode:
authorAndreas Gohr <andi@splitbrain.org>2011-07-04 23:00:38 +0200
committerAndreas Gohr <andi@splitbrain.org>2011-07-04 23:00:38 +0200
commit04105e5c49405ff6c7d80c8ca4e2915ffc11f44b (patch)
tree450f7783c2dd2c21b46b98a30d606dfef3106d23 /lib/scripts/jquery/jquery-ui.js
parent5566338d2cd5117586de2c881cffe4bc00f61a5a (diff)
downloadrpg-04105e5c49405ff6c7d80c8ca4e2915ffc11f44b.tar.gz
rpg-04105e5c49405ff6c7d80c8ca4e2915ffc11f44b.tar.bz2
Upgraded to jQuery 1.6.2 and jQueryUI 1.8.14
Diffstat (limited to 'lib/scripts/jquery/jquery-ui.js')
-rw-r--r--lib/scripts/jquery/jquery-ui.js282
1 files changed, 190 insertions, 92 deletions
diff --git a/lib/scripts/jquery/jquery-ui.js b/lib/scripts/jquery/jquery-ui.js
index 0602653f0..bc11b0315 100644
--- a/lib/scripts/jquery/jquery-ui.js
+++ b/lib/scripts/jquery/jquery-ui.js
@@ -1,5 +1,5 @@
/*!
- * jQuery UI 1.8.13
+ * jQuery UI 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
@@ -18,7 +18,7 @@ if ( $.ui.version ) {
}
$.extend( $.ui, {
- version: "1.8.13",
+ version: "1.8.14",
keyCode: {
ALT: 18,
@@ -311,7 +311,7 @@ $.extend( $.ui, {
})( jQuery );
/*!
- * jQuery UI Widget 1.8.13
+ * jQuery UI Widget 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
@@ -573,7 +573,7 @@ $.Widget.prototype = {
})( jQuery );
/*!
- * jQuery UI Mouse 1.8.13
+ * jQuery UI Mouse 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
@@ -632,7 +632,7 @@ $.widget("ui.mouse", {
var self = this,
btnIsLeft = (event.which == 1),
- elIsCancel = (typeof this.options.cancel == "string" ? $(event.target).parents().add(event.target).filter(this.options.cancel).length : false);
+ elIsCancel = (typeof this.options.cancel == "string" ? $(event.target).closest(this.options.cancel).length : false);
if (!btnIsLeft || elIsCancel || !this._mouseCapture(event)) {
return true;
}
@@ -733,7 +733,7 @@ $.widget("ui.mouse", {
})(jQuery);
/*
- * jQuery UI Draggable 1.8.13
+ * jQuery UI Draggable 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
@@ -897,6 +897,10 @@ $.widget("ui.draggable", $.ui.mouse, {
this.helper.addClass("ui-draggable-dragging");
this._mouseDrag(event, true); //Execute the drag once - this causes the helper not to be visible before getting its correct position
+
+ //If the ddmanager is used for droppables, inform the manager that dragging has started (see #5003)
+ if ( $.ui.ddmanager ) $.ui.ddmanager.dragStart(this, event);
+
return true;
},
@@ -963,6 +967,9 @@ $.widget("ui.draggable", $.ui.mouse, {
}); //Remove frame helpers
}
+ //If the ddmanager is used for droppables, inform the manager that dragging has stopped (see #5003)
+ if( $.ui.ddmanager ) $.ui.ddmanager.dragStop(this, event);
+
return $.ui.mouse.prototype._mouseUp.call(this, event);
},
@@ -1089,8 +1096,8 @@ $.widget("ui.draggable", $.ui.mouse, {
var o = this.options;
if(o.containment == 'parent') o.containment = this.helper[0].parentNode;
if(o.containment == 'document' || o.containment == 'window') this.containment = [
- (o.containment == 'document' ? 0 : $(window).scrollLeft()) - this.offset.relative.left - this.offset.parent.left,
- (o.containment == 'document' ? 0 : $(window).scrollTop()) - this.offset.relative.top - this.offset.parent.top,
+ o.containment == 'document' ? 0 : $(window).scrollLeft() - this.offset.relative.left - this.offset.parent.left,
+ o.containment == 'document' ? 0 : $(window).scrollTop() - this.offset.relative.top - this.offset.parent.top,
(o.containment == 'document' ? 0 : $(window).scrollLeft()) + $(o.containment == 'document' ? document : window).width() - this.helperProportions.width - this.margins.left,
(o.containment == 'document' ? 0 : $(window).scrollTop()) + ($(o.containment == 'document' ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top
];
@@ -1170,10 +1177,11 @@ $.widget("ui.draggable", $.ui.mouse, {
}
if(o.grid) {
- var top = this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1];
+ //Check for grid elements set to 0 to prevent divide by 0 error causing invalid argument errors in IE (see ticket #6950)
+ var top = o.grid[1] ? this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1] : this.originalPageY;
pageY = containment ? (!(top - this.offset.click.top < containment[1] || top - this.offset.click.top > containment[3]) ? top : (!(top - this.offset.click.top < containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top;
- var left = this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0];
+ var left = o.grid[0] ? this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0] : this.originalPageX;
pageX = containment ? (!(left - this.offset.click.left < containment[0] || left - this.offset.click.left > containment[2]) ? left : (!(left - this.offset.click.left < containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left;
}
@@ -1229,7 +1237,7 @@ $.widget("ui.draggable", $.ui.mouse, {
});
$.extend($.ui.draggable, {
- version: "1.8.13"
+ version: "1.8.14"
});
$.ui.plugin.add("draggable", "connectToSortable", {
@@ -1548,7 +1556,7 @@ $.ui.plugin.add("draggable", "zIndex", {
})(jQuery);
/*
- * jQuery UI Droppable 1.8.13
+ * jQuery UI Droppable 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
@@ -1696,7 +1704,7 @@ $.widget("ui.droppable", {
});
$.extend($.ui.droppable, {
- version: "1.8.13"
+ version: "1.8.14"
});
$.ui.intersect = function(draggable, droppable, toleranceMode) {
@@ -1787,6 +1795,12 @@ $.ui.ddmanager = {
return dropped;
},
+ dragStart: function( draggable, event ) {
+ //Listen for scrolling so that if the dragging causes scrolling the position of the droppables can be recalculated (see #5003)
+ draggable.element.parentsUntil( "body" ).bind( "scroll.droppable", function() {
+ if( !draggable.options.refreshPositions ) $.ui.ddmanager.prepareOffsets( draggable, event );
+ });
+ },
drag: function(draggable, event) {
//If you have a highly dynamic page, you might try this option. It renders positions every time you move the mouse.
@@ -1828,12 +1842,17 @@ $.ui.ddmanager = {
}
});
+ },
+ dragStop: function( draggable, event ) {
+ draggable.element.parentsUntil( "body" ).unbind( "scroll.droppable" );
+ //Call prepareOffsets one final time since IE does not fire return scroll events when overflow was caused by drag (see #5003)
+ if( !draggable.options.refreshPositions ) $.ui.ddmanager.prepareOffsets( draggable, event );
}
};
})(jQuery);
/*
- * jQuery UI Resizable 1.8.13
+ * jQuery UI Resizable 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
@@ -2127,6 +2146,8 @@ $.widget("ui.resizable", $.ui.mouse, {
// Calculate the attrs that will be change
var data = trigger.apply(this, [event, dx, dy]), ie6 = $.browser.msie && $.browser.version < 7, csdif = this.sizeDiff;
+ // Put this in the mouseDrag handler since the user can start pressing shift while resizing
+ this._updateVirtualBoundaries(event.shiftKey);
if (this._aspectRatio || event.shiftKey)
data = this._updateRatio(data, event);
@@ -2185,6 +2206,32 @@ $.widget("ui.resizable", $.ui.mouse, {
},
+ _updateVirtualBoundaries: function(forceAspectRatio) {
+ var o = this.options, pMinWidth, pMaxWidth, pMinHeight, pMaxHeight, b;
+
+ b = {
+ minWidth: isNumber(o.minWidth) ? o.minWidth : 0,
+ maxWidth: isNumber(o.maxWidth) ? o.maxWidth : Infinity,
+ minHeight: isNumber(o.minHeight) ? o.minHeight : 0,
+ maxHeight: isNumber(o.maxHeight) ? o.maxHeight : Infinity
+ };
+
+ if(this._aspectRatio || forceAspectRatio) {
+ // We want to create an enclosing box whose aspect ration is the requested one
+ // First, compute the "projected" size for each dimension based on the aspect ratio and other dimension
+ pMinWidth = b.minHeight * this.aspectRatio;
+ pMinHeight = b.minWidth / this.aspectRatio;
+ pMaxWidth = b.maxHeight * this.aspectRatio;
+ pMaxHeight = b.maxWidth / this.aspectRatio;
+
+ if(pMinWidth > b.minWidth) b.minWidth = pMinWidth;
+ if(pMinHeight > b.minHeight) b.minHeight = pMinHeight;
+ if(pMaxWidth < b.maxWidth) b.maxWidth = pMaxWidth;
+ if(pMaxHeight < b.maxHeight) b.maxHeight = pMaxHeight;
+ }
+ this._vBoundaries = b;
+ },
+
_updateCache: function(data) {
var o = this.options;
this.offset = this.helper.offset();
@@ -2198,8 +2245,8 @@ $.widget("ui.resizable", $.ui.mouse, {
var o = this.options, cpos = this.position, csize = this.size, a = this.axis;
- if (data.height) data.width = (csize.height * this.aspectRatio);
- else if (data.width) data.height = (csize.width / this.aspectRatio);
+ if (isNumber(data.height)) data.width = (data.height * this.aspectRatio);
+ else if (isNumber(data.width)) data.height = (data.width / this.aspectRatio);
if (a == 'sw') {
data.left = cpos.left + (csize.width - data.width);
@@ -2215,7 +2262,7 @@ $.widget("ui.resizable", $.ui.mouse, {
_respectSize: function(data, event) {
- var el = this.helper, o = this.options, pRatio = this._aspectRatio || event.shiftKey, a = this.axis,
+ var el = this.helper, o = this._vBoundaries, pRatio = this._aspectRatio || event.shiftKey, a = this.axis,
ismaxw = isNumber(data.width) && o.maxWidth && (o.maxWidth < data.width), ismaxh = isNumber(data.height) && o.maxHeight && (o.maxHeight < data.height),
isminw = isNumber(data.width) && o.minWidth && (o.minWidth > data.width), isminh = isNumber(data.height) && o.minHeight && (o.minHeight > data.height);
@@ -2355,7 +2402,7 @@ $.widget("ui.resizable", $.ui.mouse, {
});
$.extend($.ui.resizable, {
- version: "1.8.13"
+ version: "1.8.14"
});
/*
@@ -2647,7 +2694,7 @@ var isNumber = function(value) {
})(jQuery);
/*
- * jQuery UI Selectable 1.8.13
+ * jQuery UI Selectable 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
@@ -2908,12 +2955,12 @@ $.widget("ui.selectable", $.ui.mouse, {
});
$.extend($.ui.selectable, {
- version: "1.8.13"
+ version: "1.8.14"
});
})(jQuery);
/*
- * jQuery UI Sortable 1.8.13
+ * jQuery UI Sortable 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
@@ -3898,7 +3945,7 @@ $.widget("ui.sortable", $.ui.mouse, {
// We first have to update the dom position of the actual currentItem
// Note: don't do it if the current item is already removed (by a user), or it gets reappended (see #4088)
- if(!this._noFinalSort && this.currentItem[0].parentNode) this.placeholder.before(this.currentItem);
+ if(!this._noFinalSort && this.currentItem.parent().length) this.placeholder.before(this.currentItem);
this._noFinalSort = null;
if(this.helper[0] == this.currentItem[0]) {
@@ -3985,12 +4032,12 @@ $.widget("ui.sortable", $.ui.mouse, {
});
$.extend($.ui.sortable, {
- version: "1.8.13"
+ version: "1.8.14"
});
})(jQuery);
/*
- * jQuery UI Effects 1.8.13
+ * jQuery UI Effects 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
@@ -4240,7 +4287,7 @@ $.effects.animateClass = function(value, duration, easing, callback) {
that.animate(styleDifference(originalStyle, newStyle), {
queue: false,
duration: duration,
- easding: easing,
+ easing: easing,
complete: function() {
$.each(classAnimationActions, function(i, action) {
if (value[action]) { that[action + 'Class'](value[action]); }
@@ -4297,7 +4344,7 @@ $.fn.extend({
/******************************************************************************/
$.extend($.effects, {
- version: "1.8.13",
+ version: "1.8.14",
// Saves a set of properties in a data storage
save: function(element, set) {
@@ -4736,7 +4783,7 @@ $.extend($.easing,
})(jQuery);
/*
- * jQuery UI Effects Blind 1.8.13
+ * jQuery UI Effects Blind 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
@@ -4785,7 +4832,7 @@ $.effects.blind = function(o) {
})(jQuery);
/*
- * jQuery UI Effects Bounce 1.8.13
+ * jQuery UI Effects Bounce 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
@@ -4863,7 +4910,7 @@ $.effects.bounce = function(o) {
})(jQuery);
/*
- * jQuery UI Effects Clip 1.8.13
+ * jQuery UI Effects Clip 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
@@ -4917,7 +4964,7 @@ $.effects.clip = function(o) {
})(jQuery);
/*
- * jQuery UI Effects Drop 1.8.13
+ * jQuery UI Effects Drop 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
@@ -4967,7 +5014,7 @@ $.effects.drop = function(o) {
})(jQuery);
/*
- * jQuery UI Effects Explode 1.8.13
+ * jQuery UI Effects Explode 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
@@ -5046,7 +5093,7 @@ $.effects.explode = function(o) {
})(jQuery);
/*
- * jQuery UI Effects Fade 1.8.13
+ * jQuery UI Effects Fade 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
@@ -5078,7 +5125,7 @@ $.effects.fade = function(o) {
})(jQuery);
/*
- * jQuery UI Effects Fold 1.8.13
+ * jQuery UI Effects Fold 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
@@ -5134,7 +5181,7 @@ $.effects.fold = function(o) {
})(jQuery);
/*
- * jQuery UI Effects Highlight 1.8.13
+ * jQuery UI Effects Highlight 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
@@ -5184,7 +5231,7 @@ $.effects.highlight = function(o) {
})(jQuery);
/*
- * jQuery UI Effects Pulsate 1.8.13
+ * jQuery UI Effects Pulsate 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
@@ -5235,7 +5282,7 @@ $.effects.pulsate = function(o) {
})(jQuery);
/*
- * jQuery UI Effects Scale 1.8.13
+ * jQuery UI Effects Scale 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
@@ -5413,7 +5460,7 @@ $.effects.size = function(o) {
})(jQuery);
/*
- * jQuery UI Effects Shake 1.8.13
+ * jQuery UI Effects Shake 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
@@ -5470,7 +5517,7 @@ $.effects.shake = function(o) {
})(jQuery);
/*
- * jQuery UI Effects Slide 1.8.13
+ * jQuery UI Effects Slide 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
@@ -5520,7 +5567,7 @@ $.effects.slide = function(o) {
})(jQuery);
/*
- * jQuery UI Effects Transfer 1.8.13
+ * jQuery UI Effects Transfer 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
@@ -5565,7 +5612,7 @@ $.effects.transfer = function(o) {
})(jQuery);
/*
- * jQuery UI Accordion 1.8.13
+ * jQuery UI Accordion 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
@@ -6084,7 +6131,7 @@ $.widget( "ui.accordion", {
});
$.extend( $.ui.accordion, {
- version: "1.8.13",
+ version: "1.8.14",
animations: {
slide: function( options, additions ) {
options = $.extend({
@@ -6176,7 +6223,7 @@ $.extend( $.ui.accordion, {
})( jQuery );
/*
- * jQuery UI Autocomplete 1.8.13
+ * jQuery UI Autocomplete 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
@@ -6788,7 +6835,7 @@ $.widget("ui.menu", {
}(jQuery));
/*
- * jQuery UI Button 1.8.13
+ * jQuery UI Button 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
@@ -6802,17 +6849,15 @@ $.widget("ui.menu", {
*/
(function( $, undefined ) {
-var lastActive,
+var lastActive, startXPos, startYPos, clickDragged,
baseClasses = "ui-button ui-widget ui-state-default ui-corner-all",
stateClasses = "ui-state-hover ui-state-active ",
typeClasses = "ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",
- formResetHandler = function( event ) {
- $( ":ui-button", event.target.form ).each(function() {
- var inst = $( this ).data( "button" );
- setTimeout(function() {
- inst.refresh();
- }, 1 );
- });
+ formResetHandler = function() {
+ var buttons = $( this ).find( ":ui-button" );
+ setTimeout(function() {
+ buttons.button( "refresh" );
+ }, 1 );
},
radioGroup = function( radio ) {
var name = radio.name,
@@ -6885,28 +6930,54 @@ $.widget( "ui.button", {
}
$( this ).removeClass( hoverClass );
})
- .bind( "focus.button", function() {
- // no need to check disabled, focus won't be triggered anyway
- $( this ).addClass( focusClass );
- })
- .bind( "blur.button", function() {
- $( this ).removeClass( focusClass );
- })
.bind( "click.button", function( event ) {
if ( options.disabled ) {
+ event.preventDefault();
event.stopImmediatePropagation();
}
});
+ this.element
+ .bind( "focus.button", function() {
+ // no need to check disabled, focus won't be triggered anyway
+ self.buttonElement.addClass( focusClass );
+ })
+ .bind( "blur.button", function() {
+ self.buttonElement.removeClass( focusClass );
+ });
+
if ( toggleButton ) {
this.element.bind( "change.button", function() {
+ if ( clickDragged ) {
+ return;
+ }
self.refresh();
});
+ // if mouse moves between mousedown and mouseup (drag) set clickDragged flag
+ // prevents issue where button state changes but checkbox/radio checked state
+ // does not in Firefox (see ticket #6970)
+ this.buttonElement
+ .bind( "mousedown.button", function( event ) {
+ if ( options.disabled ) {
+ return;
+ }
+ clickDragged = false;
+ startXPos = event.pageX;
+ startYPos = event.pageY;
+ })
+ .bind( "mouseup.button", function( event ) {
+ if ( options.disabled ) {
+ return;
+ }
+ if ( startXPos !== event.pageX || startYPos !== event.pageY ) {
+ clickDragged = true;
+ }
+ });
}
if ( this.type === "checkbox" ) {
this.buttonElement.bind( "click.button", function() {
- if ( options.disabled ) {
+ if ( options.disabled || clickDragged ) {
return false;
}
$( this ).toggleClass( "ui-state-active" );
@@ -6914,7 +6985,7 @@ $.widget( "ui.button", {
});
} else if ( this.type === "radio" ) {
this.buttonElement.bind( "click.button", function() {
- if ( options.disabled ) {
+ if ( options.disabled || clickDragged ) {
return false;
}
$( this ).addClass( "ui-state-active" );
@@ -6973,6 +7044,7 @@ $.widget( "ui.button", {
// $.Widget.prototype._setOptionDisabled so it's easy to proxy and can
// be overridden by individual plugins
this._setOption( "disabled", options.disabled );
+ this._resetButton();
},
_determineButtonType: function() {
@@ -7040,6 +7112,7 @@ $.widget( "ui.button", {
} else {
this.element.removeAttr( "disabled" );
}
+ return;
}
this._resetButton();
},
@@ -7140,6 +7213,8 @@ $.widget( "ui.buttonset", {
},
refresh: function() {
+ var ltr = this.element.css( "direction" ) === "ltr";
+
this.buttons = this.element.find( this.options.items )
.filter( ":ui-button" )
.button( "refresh" )
@@ -7152,10 +7227,10 @@ $.widget( "ui.buttonset", {
})
.removeClass( "ui-corner-all ui-corner-left ui-corner-right" )
.filter( ":first" )
- .addClass( "ui-corner-left" )
+ .addClass( ltr ? "ui-corner-left" : "ui-corner-right" )
.end()
.filter( ":last" )
- .addClass( "ui-corner-right" )
+ .addClass( ltr ? "ui-corner-right" : "ui-corner-left" )
.end()
.end();
},
@@ -7176,7 +7251,7 @@ $.widget( "ui.buttonset", {
}( jQuery ) );
/*
- * jQuery UI Datepicker 1.8.13
+ * jQuery UI Datepicker 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
@@ -7189,7 +7264,7 @@ $.widget( "ui.buttonset", {
*/
(function( $, undefined ) {
-$.extend($.ui, { datepicker: { version: "1.8.13" } });
+$.extend($.ui, { datepicker: { version: "1.8.14" } });
var PROP_NAME = 'datepicker';
var dpuuid = new Date().getTime();
@@ -7291,6 +7366,9 @@ function Datepicker() {
$.extend(Datepicker.prototype, {
/* Class name added to elements to indicate already configured with a date picker. */
markerClassName: 'hasDatepicker',
+
+ //Keep track of the maximum number of rows displayed (see #7043)
+ maxRows: 4,
/* Debug logging (if enabled). */
log: function () {
@@ -7791,6 +7869,9 @@ $.extend(Datepicker.prototype, {
return;
var inst = $.datepicker._getInst(input);
if ($.datepicker._curInst && $.datepicker._curInst != inst) {
+ if ( $.datepicker._datepickerShowing ) {
+ $.datepicker._triggerOnClose($.datepicker._curInst);
+ }
$.datepicker._curInst.dpDiv.stop(true, true);
}
var beforeShow = $.datepicker._get(inst, 'beforeShow');
@@ -7854,6 +7935,7 @@ $.extend(Datepicker.prototype, {
/* Generate the date picker content. */
_updateDatepicker: function(inst) {
var self = this;
+ self.maxRows = 4; //Reset the max number of rows being displayed (see #7043)
var borders = $.datepicker._getBorders(inst.dpDiv);
instActive = inst; // for delegate hover events
inst.dpDiv.empty().append(this._generateHTML(inst));
@@ -7934,6 +8016,14 @@ $.extend(Datepicker.prototype, {
return [position.left, position.top];
},
+ /* Trigger custom callback of onClose. */
+ _triggerOnClose: function(inst) {
+ var onClose = this._get(inst, 'onClose');
+ if (onClose)
+ onClose.apply((inst.input ? inst.input[0] : null),
+ [(inst.input ? inst.input.val() : ''), inst]);
+ },
+
/* Hide the date picker from view.
@param input element - the input field attached to the date picker */
_hideDatepicker: function(input) {
@@ -7954,10 +8044,7 @@ $.extend(Datepicker.prototype, {
(showAnim == 'fadeIn' ? 'fadeOut' : 'hide'))]((showAnim ? duration : null), postProcess);
if (!showAnim)
postProcess();
- var onClose = this._get(inst, 'onClose');
- if (onClose)
- onClose.apply((inst.input ? inst.input[0] : null),
- [(inst.input ? inst.input.val() : ''), inst]); // trigger custom callback
+ $.datepicker._triggerOnClose(inst);
this._datepickerShowing = false;
this._lastInput = null;
if (this._inDialog) {
@@ -8247,6 +8334,9 @@ $.extend(Datepicker.prototype, {
checkLiteral();
}
}
+ if (iValue < value.length){
+ throw "Extra/unparsed characters found in date: " + value.substring(iValue);
+ }
if (year == -1)
year = new Date().getFullYear();
else if (year < 100)
@@ -8358,7 +8448,7 @@ $.extend(Datepicker.prototype, {
break;
case 'o':
output += formatNumber('o',
- (date.getTime() - new Date(date.getFullYear(), 0, 0).getTime()) / 86400000, 3);
+ Math.round((new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime() - new Date(date.getFullYear(), 0, 0).getTime()) / 86400000), 3);
break;
case 'm':
output += formatNumber('m', date.getMonth() + 1, 2);
@@ -8633,6 +8723,7 @@ $.extend(Datepicker.prototype, {
var html = '';
for (var row = 0; row < numMonths[0]; row++) {
var group = '';
+ this.maxRows = 4;
for (var col = 0; col < numMonths[1]; col++) {
var selectedDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, inst.selectedDay));
var cornerClass = ' ui-corner-all';
@@ -8667,7 +8758,9 @@ $.extend(Datepicker.prototype, {
if (drawYear == inst.selectedYear && drawMonth == inst.selectedMonth)
inst.selectedDay = Math.min(inst.selectedDay, daysInMonth);
var leadDays = (this._getFirstDayOfMonth(drawYear, drawMonth) - firstDay + 7) % 7;
- var numRows = (isMultiMonth ? 6 : Math.ceil((leadDays + daysInMonth) / 7)); // calculate the number of rows to generate
+ var curRows = Math.ceil((leadDays + daysInMonth) / 7); // calculate the number of rows to generate
+ var numRows = (isMultiMonth ? this.maxRows > curRows ? this.maxRows : curRows : curRows); //If multiple months, use the higher number of rows (see #7043)
+ this.maxRows = numRows;
var printDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1 - leadDays));
for (var dRow = 0; dRow < numRows; dRow++) { // create date picker rows
calender += '<tr>';
@@ -8893,18 +8986,23 @@ $.extend(Datepicker.prototype, {
*/
function bindHover(dpDiv) {
var selector = 'button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a';
- return dpDiv.delegate(selector, 'mouseout', function() {
- $(this).removeClass('ui-state-hover');
- if (this.className.indexOf('ui-datepicker-prev') != -1) $(this).removeClass('ui-datepicker-prev-hover');
- if (this.className.indexOf('ui-datepicker-next') != -1) $(this).removeClass('ui-datepicker-next-hover');
+ return dpDiv.bind('mouseout', function(event) {
+ var elem = $( event.target ).closest( selector );
+ if ( !elem.length ) {
+ return;
+ }
+ elem.removeClass( "ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover" );
})
- .delegate(selector, 'mouseover', function(){
- if (!$.datepicker._isDisabledDatepicker( instActive.inline ? dpDiv.parent()[0] : instActive.input[0])) {
- $(this).parents('.ui-datepicker-calendar').find('a').removeClass('ui-state-hover');
- $(this).addClass('ui-state-hover');
- if (this.className.indexOf('ui-datepicker-prev') != -1) $(this).addClass('ui-datepicker-prev-hover');
- if (this.className.indexOf('ui-datepicker-next') != -1) $(this).addClass('ui-datepicker-next-hover');
+ .bind('mouseover', function(event) {
+ var elem = $( event.target ).closest( selector );
+ if ($.datepicker._isDisabledDatepicker( instActive.inline ? dpDiv.parent()[0] : instActive.input[0]) ||
+ !elem.length ) {
+ return;
}
+ elem.parents('.ui-datepicker-calendar').find('a').removeClass('ui-state-hover');
+ elem.addClass('ui-state-hover');
+ if (elem.hasClass('ui-datepicker-prev')) elem.addClass('ui-datepicker-prev-hover');
+ if (elem.hasClass('ui-datepicker-next')) elem.addClass('ui-datepicker-next-hover');
});
}
@@ -8959,7 +9057,7 @@ $.fn.datepicker = function(options){
$.datepicker = new Datepicker(); // singleton instance
$.datepicker.initialized = false;
$.datepicker.uuid = new Date().getTime();
-$.datepicker.version = "1.8.13";
+$.datepicker.version = "1.8.14";
// Workaround for #4055
// Add another global to avoid noConflict issues with inline event handlers
@@ -8967,7 +9065,7 @@ window['DP_jQuery_' + dpuuid] = $;
})(jQuery);
/*
- * jQuery UI Dialog 1.8.13
+ * jQuery UI Dialog 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
@@ -9670,7 +9768,7 @@ $.widget("ui.dialog", {
});
$.extend($.ui.dialog, {
- version: "1.8.13",
+ version: "1.8.14",
uuid: 0,
maxZ: 0,
@@ -9791,8 +9889,8 @@ $.extend($.ui.dialog.overlay, {
width: function() {
var scrollWidth,
offsetWidth;
- // handle IE 6
- if ($.browser.msie && $.browser.version < 7) {
+ // handle IE
+ if ( $.browser.msie ) {
scrollWidth = Math.max(
document.documentElement.scrollWidth,
document.body.scrollWidth
@@ -9845,7 +9943,7 @@ $.extend($.ui.dialog.overlay.prototype, {
}(jQuery));
/*
- * jQuery UI Position 1.8.13
+ * jQuery UI Position 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
@@ -10097,7 +10195,7 @@ if ( !$.offset.setOffset ) {
}( jQuery ));
/*
- * jQuery UI Progressbar 1.8.13
+ * jQuery UI Progressbar 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
@@ -10201,12 +10299,12 @@ $.widget( "ui.progressbar", {
});
$.extend( $.ui.progressbar, {
- version: "1.8.13"
+ version: "1.8.14"
});
})( jQuery );
/*
- * jQuery UI Slider 1.8.13
+ * jQuery UI Slider 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
@@ -10867,12 +10965,12 @@ $.widget( "ui.slider", $.ui.mouse, {
});
$.extend( $.ui.slider, {
- version: "1.8.13"
+ version: "1.8.14"
});
}(jQuery));
/*
- * jQuery UI Tabs 1.8.13
+ * jQuery UI Tabs 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
@@ -11571,7 +11669,7 @@ $.widget( "ui.tabs", {
});
$.extend( $.ui.tabs, {
- version: "1.8.13"
+ version: "1.8.14"
});
/*