Skip to content
Permalink
Browse files

Fixed #4036 (draggable: cssNamespace option should be removed, addCla…

…sses option added)
  • Loading branch information
rdworth committed Feb 2, 2009
1 parent c421640 commit c5df36e277ffef271790ff6d27af47ef64858deb
Showing with 25 additions and 7 deletions.
  1. +1 −0 tests/unit/draggable/draggable_defaults.js
  2. +12 −0 tests/unit/draggable/draggable_options.js
  3. +12 −7 ui/ui.draggable.js
@@ -3,6 +3,7 @@
*/

var draggable_defaults = {
addClasses: true,
appendTo: "parent",
axis: false,
cancel: ":input,option",
@@ -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 = $("<div></div>").draggable({ addClasses: true });
ok(el.is(".ui-draggable"), "'ui-draggable' class added");
});

test("{ addClasses: false }", function() {
el = $("<div></div>").draggable({ addClasses: false });
ok(!el.is(".ui.draggable"), "'ui-draggable' class not added");
});

test("{ appendTo: 'parent' }, default", function() {
equals(draggable_defaults.appendTo, "parent");

@@ -19,24 +19,29 @@ $.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();

},

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();
},

_mouseCapture: function(event) {

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,

0 comments on commit c5df36e

Please sign in to comment.
You can’t perform that action at this time.