From 3291d3951ab177cde692f9c763248027b3c5a128 Mon Sep 17 00:00:00 2001 From: "Richard D. Worth" Date: Fri, 9 Apr 2010 14:43:44 -0400 Subject: sortable: don't call the base widget _setOption for disabled to avoid the ui-state-disabled class being added. Fixes #5501 - sortable: disabled should not have the ui-state-disabled class --- tests/unit/sortable/sortable_methods.js | 3 ++- ui/jquery.ui.sortable.js | 12 ++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/tests/unit/sortable/sortable_methods.js b/tests/unit/sortable/sortable_methods.js index adccc8c87..c4b5cdc08 100644 --- a/tests/unit/sortable/sortable_methods.js +++ b/tests/unit/sortable/sortable_methods.js @@ -84,7 +84,7 @@ test("enable", function() { }); test("disable", function() { - expect(6); + expect(7); el = $("#sortable").sortable({ disabled: false }); sort($("li", el)[0], 0, 40, 2, '.sortable({ disabled: false })'); @@ -97,6 +97,7 @@ test("disable", function() { sort($("li", el)[0], 0, 40, 2, '.sortable({ disabled: false })'); el.sortable("option", "disabled", true); equals(el.sortable("option", "disabled"), true, "disabled option setter"); + ok(el.sortable("widget").is(":not(.ui-state-disabled)"), "sortable element does not get ui-state-disabled since it's an interaction"); sort($("li", el)[0], 0, 40, 0, '.sortable("option", "disabled", true)'); var expected = $('
').sortable(), diff --git a/ui/jquery.ui.sortable.js b/ui/jquery.ui.sortable.js index 28be062f6..0fa3a1253 100644 --- a/ui/jquery.ui.sortable.js +++ b/ui/jquery.ui.sortable.js @@ -73,6 +73,18 @@ $.widget("ui.sortable", $.ui.mouse, { return this; }, + _setOption: function(key, value){ + if ( key === "disabled" ) { + this.options[ key ] = value; + + this.widget() + [ value ? "addClass" : "removeClass"]( "ui-sortable-disabled" ); + } else { + // Don't call widget base _setOption for disable as it adds ui-state-disabled class + $.Widget.prototype._setOption.apply(self, arguments); + } + }, + _mouseCapture: function(event, overrideHandle) { if (this.reverting) { -- cgit v1.2.3