From c5df36e277ffef271790ff6d27af47ef64858deb Mon Sep 17 00:00:00 2001 From: Richard Worth Date: Mon, 2 Feb 2009 06:45:50 +0000 Subject: [PATCH] Fixed #4036 (draggable: cssNamespace option should be removed, addClasses option added) --- tests/unit/draggable/draggable_defaults.js | 1 + tests/unit/draggable/draggable_options.js | 12 ++++++++++++ ui/ui.draggable.js | 19 ++++++++++++------- 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/tests/unit/draggable/draggable_defaults.js b/tests/unit/draggable/draggable_defaults.js index 493ed9087..4b0aaca19 100644 --- a/tests/unit/draggable/draggable_defaults.js +++ b/tests/unit/draggable/draggable_defaults.js @@ -3,6 +3,7 @@ */ var draggable_defaults = { + addClasses: true, appendTo: "parent", axis: false, cancel: ":input,option", diff --git a/tests/unit/draggable/draggable_options.js b/tests/unit/draggable/draggable_options.js index d5709576d..7039b3c56 100644 --- a/tests/unit/draggable/draggable_options.js +++ b/tests/unit/draggable/draggable_options.js @@ -23,6 +23,18 @@ var margin = function(el, side) { return parseInt(el.css('margin-' + side)); } module("draggable: options"); +test("{ addClasses: true }, default", function() { + equals(draggable_defaults.addClasses, true); + + el = $("
").draggable({ addClasses: true }); + ok(el.is(".ui-draggable"), "'ui-draggable' class added"); +}); + +test("{ addClasses: false }", function() { + el = $("
").draggable({ addClasses: false }); + ok(!el.is(".ui.draggable"), "'ui-draggable' class not added"); +}); + test("{ appendTo: 'parent' }, default", function() { equals(draggable_defaults.appendTo, "parent"); diff --git a/ui/ui.draggable.js b/ui/ui.draggable.js index 2fc541f95..58c000eae 100644 --- a/ui/ui.draggable.js +++ b/ui/ui.draggable.js @@ -19,8 +19,8 @@ $.widget("ui.draggable", $.extend({}, $.ui.mouse, { if (this.options.helper == 'original' && !(/^(?:r|a|f)/).test(this.element.css("position"))) this.element[0].style.position = 'relative'; - (this.options.cssNamespace && this.element.addClass(this.options.cssNamespace+"-draggable")); - (this.options.disabled && this.element.addClass(this.options.cssNamespace+'-draggable-disabled')); + (this.options.addClasses && this.element.addClass("ui-draggable")); + (this.options.disabled && this.element.addClass("ui-draggable-disabled")); this._mouseInit(); @@ -28,7 +28,12 @@ $.widget("ui.draggable", $.extend({}, $.ui.mouse, { destroy: function() { if(!this.element.data('draggable')) return; - this.element.removeData("draggable").unbind(".draggable").removeClass(this.options.cssNamespace+'-draggable '+this.options.cssNamespace+'-draggable-dragging '+this.options.cssNamespace+'-draggable-disabled'); + this.element + .removeData("draggable") + .unbind(".draggable") + .removeClass("ui-draggable" + + " ui-draggable-dragging" + + " ui-draggable-disabled"); this._mouseDestroy(); }, @@ -36,7 +41,7 @@ $.widget("ui.draggable", $.extend({}, $.ui.mouse, { var o = this.options; - if (this.helper || o.disabled || $(event.target).is('.'+this.options.cssNamespace+'-resizable-handle')) + if (this.helper || o.disabled || $(event.target).is('.ui-resizable-handle')) return false; //Quit if we're not on a valid handle @@ -113,7 +118,7 @@ $.widget("ui.draggable", $.extend({}, $.ui.mouse, { if ($.ui.ddmanager && !o.dropBehaviour) $.ui.ddmanager.prepareOffsets(this, event); - this.helper.addClass(o.cssNamespace+"-draggable-dragging"); + this.helper.addClass("ui-draggable-dragging"); this._mouseDrag(event, true); //Execute the drag once - this causes the helper not to be visible before getting its correct position return true; }, @@ -365,7 +370,7 @@ $.widget("ui.draggable", $.extend({}, $.ui.mouse, { }, _clear: function() { - this.helper.removeClass(this.options.cssNamespace+"-draggable-dragging"); + this.helper.removeClass("ui-draggable-dragging"); if(this.helper[0] != this.element[0] && !this.cancelHelperRemoval) this.helper.remove(); //if($.ui.ddmanager) $.ui.ddmanager.current = null; this.helper = null; @@ -398,12 +403,12 @@ $.extend($.ui.draggable, { version: "@VERSION", eventPrefix: "drag", defaults: { + addClasses: true, appendTo: "parent", axis: false, cancel: ":input,option", connectToSortable: false, containment: false, - cssNamespace: "ui", cursor: "auto", cursorAt: false, delay: 0,