From: Richard Worth Date: Sat, 19 Sep 2009 15:19:42 +0000 (+0000) Subject: slider: fixed disabled on init, methods enable and disable X-Git-Tag: 1.8a2~67 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=f164edbdd97fb0c4e1dd1012d79225b8a66205e5;p=jquery-ui.git slider: fixed disabled on init, methods enable and disable --- diff --git a/tests/unit/slider/slider_methods.js b/tests/unit/slider/slider_methods.js index 711c16f2c..37977efb9 100644 --- a/tests/unit/slider/slider_methods.js +++ b/tests/unit/slider/slider_methods.js @@ -69,14 +69,26 @@ test("enable", function() { var expected = $('
').slider(), actual = expected.slider('enable'); equals(actual, expected, 'enable is chainable'); - ok(false, "missing test - untested code is broken code."); + + var el = $('
').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 = $('
').slider(), actual = expected.slider('disable'); equals(actual, expected, 'disable is chainable'); - ok(false, "missing test - untested code is broken code."); + + var el = $('
').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() { diff --git a/ui/jquery.ui.slider.js b/ui/jquery.ui.slider.js index f2ea5f67e..ca2dad2eb 100644 --- a/ui/jquery.ui.slider.js +++ b/ui/jquery.ui.slider.js @@ -29,6 +29,10 @@ $.widget("ui.slider", $.extend({}, $.ui.mouse, { + " 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 @@ $.widget("ui.slider", $.extend({}, $.ui.mouse, { 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':