r2601 - Merged r2350 to 1.7.2 (fixes reopened #4240 - Datepicker: destroy, disable, and enable me...

r2601 - Merged r2350 to 1.7.2 (fixes reopened #4240 - Datepicker: destroy, disable, and enable me...


Author: rdworth
Date: Tue May 26 03:43:26 2009
New Revision: 2601
Modified:
branches/1.7.2/ (props changed)
branches/1.7.2/demos/accordion/collapsible.html (props changed)
branches/1.7.2/demos/datepicker/images/calendar.gif (props changed)
branches/1.7.2/demos/datepicker/localization.html (props changed)
branches/1.7.2/demos/tabs/collapsible.html (props changed)
branches/1.7.2/tests/unit/accordion/accordion.html (props changed)
branches/1.7.2/tests/unit/core/core.html (props changed)
branches/1.7.2/tests/unit/core/core.js (props changed)
branches/1.7.2/tests/unit/datepicker/datepicker.html (props changed)
branches/1.7.2/tests/unit/draggable/draggable.html (props changed)
branches/1.7.2/tests/unit/draggable/draggable_core.js (props changed)
branches/1.7.2/tests/unit/droppable/droppable.html (props changed)
branches/1.7.2/tests/unit/droppable/droppable_core.js (props changed)
branches/1.7.2/tests/unit/progressbar/progressbar.html (props changed)
branches/1.7.2/tests/unit/resizable/images/ (props changed)
branches/1.7.2/tests/unit/resizable/resizable.html (props changed)
branches/1.7.2/tests/unit/selectable/selectable.html (props changed)
branches/1.7.2/tests/unit/slider/slider.html (props changed)
branches/1.7.2/tests/unit/sortable/sortable.html (props changed)
branches/1.7.2/tests/unit/tabs/tabs.html (props changed)
branches/1.7.2/tests/unit/testsuite.css (props changed)
branches/1.7.2/tests/unit/testsuite.js (props changed)
branches/1.7.2/tests/visual/accordion/ (props changed)
branches/1.7.2/tests/visual/datepicker/ (props changed)
branches/1.7.2/tests/visual/resizable/ (props changed)
branches/1.7.2/tests/visual/selectable/ (props changed)
branches/1.7.2/tests/visual/slider/ (props changed)
branches/1.7.2/ui/i18n/ui.datepicker-ro.js (props changed)
branches/1.7.2/ui/i18n/ui.datepicker-sq.js (props changed)
branches/1.7.2/ui/i18n/ui.datepicker-uk.js (props changed)
branches/1.7.2/ui/ui.accordion.js (props changed)
branches/1.7.2/ui/ui.datepicker.js (contents, props changed)
branches/1.7.2/ui/ui.droppable.js (props changed)
branches/1.7.2/ui/ui.resizable.js (props changed)
branches/1.7.2/ui/ui.selectable.js (props changed)
branches/1.7.2/ui/ui.slider.js (props changed)
Log:
Merged r2350 to 1.7.2 (fixes reopened #4240 - Datepicker: destroy, disable,
and enable methods affect sibling datepickers)
Modified: branches/1.7.2/ui/ui.datepicker.js
==============================================================================
--- branches/1.7.2/ui/ui.datepicker.js    (original)
+++ branches/1.7.2/ui/ui.datepicker.js    Tue May 26 03:43:26 2009
@@ -166,13 +166,16 @@
    /* Attach the date picker to an input field. */
    _connectDatepicker: function(target, inst) {
        var input = $(target);
+        inst.append = $([]);
        inst.trigger = $([]);
        if (input.hasClass(this.markerClassName))
            return;
        var appendText = this._get(inst, 'appendText');
        var isRTL = this._get(inst, 'isRTL');
-        if (appendText)
-            input[isRTL ? 'before' : 'after']('<span class="' + this._appendClass
+ '">' + appendText + '</span>');
+        if (appendText) {
+            inst.append = $('<span class="' + this._appendClass + '">' + appendText
+ '</span>');
+            input[isRTL ? 'before' : 'after'](inst.append);
+        }
        var showOn = this._get(inst, 'showOn');
        if (showOn == 'focus' || showOn == 'both') // pop-up date picker when in
the marked field
            input.focus(this._showDatepicker);
@@ -277,9 +280,9 @@
        var nodeName = target.nodeName.toLowerCase();
        $.removeData(target, PROP_NAME);
        if (nodeName == 'input') {
+            inst.append.remove();
            inst.trigger.remove();
-            $target.siblings('.' + this._appendClass).remove().end().
-                removeClass(this.markerClassName).
+            $target.removeClass(this.markerClassName).
                unbind('focus', this._showDatepicker).
                unbind('keydown', this._doKeyDown).
                unbind('keypress', this._doKeyPress);
@@ -297,11 +300,10 @@
        }
        var nodeName = target.nodeName.toLowerCase();
        if (nodeName == 'input') {
-        target.disabled = false;
-            inst.trigger.filter("button").
-            each(function() { this.disabled = false; }).end().
-                filter("img").
-                css({opacity: '1.0', cursor: ''});
+            target.disabled = false;
+            inst.trigger.filter('button').
+                each(function() { this.disabled = false; }).end().
+                filter('img').css({opacity: '1.0', cursor: ''});
        }
        else if (nodeName == 'div' || nodeName == 'span') {
            var inline = $target.children('.' + this._inlineClass);
@@ -321,11 +323,10 @@
        }
        var nodeName = target.nodeName.toLowerCase();
        if (nodeName == 'input') {
-        target.disabled = true;
-            inst.trigger.filter("button").
-            each(function() { this.disabled = true; }).end().
-                filter("img").
-                css({opacity: '0.5', cursor: 'default'});
+            target.disabled = true;
+            inst.trigger.filter('button').
+                each(function() { this.disabled = true; }).end().
+                filter('img').css({opacity: '0.5', cursor: 'default'});
        }
        else if (nodeName == 'div' || nodeName == 'span') {
            var inline = $target.children('.' + this._inlineClass);