r3264 committed - slider: fixed disabled on init, methods enable and disable

r3264 committed - slider: fixed disabled on init, methods enable and disable


Revision: 3264
Author: rdworth
Date: Sat Sep 19 08:19:42 2009
Log: slider: fixed disabled on init, methods enable and disable
http://code.google.com/p/jquery-ui/source/detail?r=3264
Modified:
/trunk/tests/unit/slider/slider_methods.js
/trunk/ui/jquery.ui.slider.js
=======================================
--- /trunk/tests/unit/slider/slider_methods.js    Tue Sep 15 01:25:00 2009
+++ /trunk/tests/unit/slider/slider_methods.js    Sat Sep 19 08:19:42 2009
@@ -69,14 +69,26 @@
    var expected = $('<div></div>').slider(),
        actual = expected.slider('enable');
    equals(actual, expected, 'enable is chainable');
-    ok(false, "missing test - untested code is broken code.");
+
+    var el = $('<div></div>').slider({ disabled: true });
+    ok(el.hasClass('.ui-disabled'), 'slider has ui-disabled class before
enable method call');
+    ok(el.hasClass('.ui-slider-disabled'), 'slider has ui-slider-disabled
class before enable method call');
+    el.slider('enable');
+    ok(!el.hasClass('.ui-disabled'), 'slider does not have ui-disabled class
after enable method call');
+    ok(!el.hasClass('.ui-slider-disabled'), 'slider does not have
ui-slider-disabled class after enable method call');
});
test("disable", function() {
    var expected = $('<div></div>').slider(),
        actual = expected.slider('disable');
    equals(actual, expected, 'disable is chainable');
-    ok(false, "missing test - untested code is broken code.");
+
+    var el = $('<div></div>').slider({ disabled: false });
+    ok(!el.hasClass('.ui-disabled'), 'slider does not have ui-disabled class
before disabled method call');
+    ok(!el.hasClass('.ui-slider-disabled'), 'slider does not have
ui-slider-disabled class before disable method call');
+    el.slider('disable');
+    ok(el.hasClass('.ui-disabled'), 'slider has ui-disabled class after
disable method call');
+    ok(el.hasClass('.ui-slider-disabled'), 'slider has ui-slider-disabled
class after disable method call');
});
test("value", function() {
=======================================
--- /trunk/ui/jquery.ui.slider.js    Thu Sep 17 03:39:12 2009
+++ /trunk/ui/jquery.ui.slider.js    Sat Sep 19 08:19:42 2009
@@ -29,6 +29,10 @@
                + " ui-widget"
                + " ui-widget-content"
                + " ui-corner-all");
+
+        if (o.disabled) {
+            this.element.addClass('ui-slider-disabled ui-disabled');
+        }
        this.range = $([]);
@@ -439,8 +443,10 @@
                    this.handles.filter(".ui-state-focus").blur();
                    this.handles.removeClass("ui-state-hover");
                    this.handles.attr("disabled", "disabled");
+                    this.element.addClass("ui-disabled");
                } else {
                    this.handles.removeAttr("disabled");
+                    this.element.removeClass("ui-disabled");
                }
            case 'orientation':