From f164edbdd97fb0c4e1dd1012d79225b8a66205e5 Mon Sep 17 00:00:00 2001 From: Richard Worth Date: Sat, 19 Sep 2009 15:19:42 +0000 Subject: [PATCH] slider: fixed disabled on init, methods enable and disable --- tests/unit/slider/slider_methods.js | 16 ++++++++++++++-- ui/jquery.ui.slider.js | 6 ++++++ 2 files changed, 20 insertions(+), 2 deletions(-) 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': -- 2.39.5