]> source.dussan.org Git - jquery-ui.git/commitdiff
Datepicker - Fixed #4787 - Datepicker: fix animation control
authorKeith Wood <kbwood.au@gmail.com>
Sun, 29 Nov 2009 22:56:30 +0000 (22:56 +0000)
committerKeith Wood <kbwood.au@gmail.com>
Sun, 29 Nov 2009 22:56:30 +0000 (22:56 +0000)
ui/jquery.ui.datepicker.js

index db076090cdf08808266bca560ba20f29b50e30c0..181af6ab0d8708fb4371f13b252ac8903cba34ef 100644 (file)
@@ -607,7 +607,7 @@ $.extend(Datepicker.prototype, {
                        'static' : (isFixed ? 'fixed' : 'absolute')), display: 'none',
                        left: offset.left + 'px', top: offset.top + 'px'});
                if (!inst.inline) {
-                       var showAnim = $.datepicker._get(inst, 'showAnim') || 'show';
+                       var showAnim = $.datepicker._get(inst, 'showAnim');
                        var duration = $.datepicker._get(inst, 'duration');
                        var postProcess = function() {
                                $.datepicker._datepickerShowing = true;
@@ -619,8 +619,8 @@ $.extend(Datepicker.prototype, {
                        if ($.effects && $.effects[showAnim])
                                inst.dpDiv.show(showAnim, $.datepicker._get(inst, 'showOptions'), duration, postProcess);
                        else
-                               inst.dpDiv[showAnim](duration, postProcess);
-                       if (duration == '')
+                               inst.dpDiv[showAnim || 'show']((showAnim ? duration : ''), postProcess);
+                       if (!showAnim)
                                postProcess();
                        if (inst.input[0].type != 'hidden')
                                inst.input[0].focus();
@@ -720,19 +720,18 @@ $.extend(Datepicker.prototype, {
                if (!inst || (input && inst != $.data(input, PROP_NAME)))
                        return;
                if (this._datepickerShowing) {
-                       duration = (duration != null ? duration : this._get(inst, 'duration'));
+                       duration = duration || this._get(inst, 'duration');
                        var showAnim = this._get(inst, 'showAnim');
                        var postProcess = function() {
                                $.datepicker._tidyDialog(inst);
                        };
-                       if (duration != '' && $.effects && $.effects[showAnim])
-                               inst.dpDiv.hide(showAnim, $.datepicker._get(inst, 'showOptions'),
-                                       duration, postProcess);
+                       if ($.effects && $.effects[showAnim])
+                               inst.dpDiv.hide(showAnim, $.datepicker._get(inst, 'showOptions'), duration, postProcess);
                        else
-                               inst.dpDiv[(duration == '' ? 'hide' : (showAnim == 'slideDown' ? 'slideUp' :
-                                       (showAnim == 'fadeIn' ? 'fadeOut' : 'hide')))](duration, postProcess);
-                       if (duration == '')
-                               this._tidyDialog(inst);
+                               inst.dpDiv[(showAnim == 'slideDown' ? 'slideUp' :
+                                       (showAnim == 'fadeIn' ? 'fadeOut' : 'hide'))]((showAnim ? duration : ''), postProcess);
+                       if (!showAnim)
+                               postProcess();
                        var onClose = this._get(inst, 'onClose');
                        if (onClose)
                                onClose.apply((inst.input ? inst.input[0] : null),