Skip to content
Permalink
Browse files

draggable,droppable,sortable: properly implemented cssNamespace optio…

…n across plugins (selectable & resizable to go, so those options should stay undocumented until all plugins are converted. Fixes #3707)
  • Loading branch information...
Paul Bakaus
Paul Bakaus committed Jan 7, 2009
1 parent 5eca842 commit ba757146216704c60feeda1dca5cfc08387b6ed3
Showing with 18 additions and 17 deletions.
  1. +5 −5 ui/ui.draggable.js
  2. +2 −2 ui/ui.droppable.js
  3. +11 −10 ui/ui.sortable.js
@@ -20,23 +20,23 @@ $.widget("ui.draggable", $.extend({}, $.ui.mouse, {
this.element[0].style.position = 'relative';

(this.options.cssNamespace && this.element.addClass(this.options.cssNamespace+"-draggable"));
(this.options.disabled && this.element.addClass('ui-draggable-disabled'));
(this.options.disabled && this.element.addClass(this.options.cssNamespace+'-draggable-disabled'));

this._mouseInit();

},

destroy: function() {
if(!this.element.data('draggable')) return;
this.element.removeData("draggable").unbind(".draggable").removeClass('ui-draggable ui-draggable-dragging ui-draggable-disabled');
this.element.removeData("draggable").unbind(".draggable").removeClass(this.options.cssNamespace+'-draggable '+this.options.cssNamespace+'-draggable-dragging '+this.options.cssNamespace+'-draggable-disabled');
this._mouseDestroy();
},

_mouseCapture: function(event) {

var o = this.options;

if (this.helper || o.disabled || $(event.target).is('.ui-resizable-handle'))
if (this.helper || o.disabled || $(event.target).is('.'+this.options.cssNamespace+'-resizable-handle'))
return false;

//Quit if we're not on a valid handle
@@ -111,7 +111,7 @@ $.widget("ui.draggable", $.extend({}, $.ui.mouse, {
if ($.ui.ddmanager && !o.dropBehaviour)
$.ui.ddmanager.prepareOffsets(this, event);

this.helper.addClass("ui-draggable-dragging");
this.helper.addClass(o.cssNamespace+"-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;
},
@@ -328,7 +328,7 @@ $.widget("ui.draggable", $.extend({}, $.ui.mouse, {
},

_clear: function() {
this.helper.removeClass("ui-draggable-dragging");
this.helper.removeClass(this.options.cssNamespace+"-draggable-dragging");
if(this.helper[0] != this.element[0] && !this.cancelHelperRemoval) this.helper.remove();
//if($.ui.ddmanager) $.ui.ddmanager.current = null;
this.helper = null;
@@ -42,7 +42,7 @@ $.widget("ui.droppable", {
drop.splice(i, 1);

this.element
.removeClass("ui-droppable-disabled")
.removeClass(this.options.cssNamespace+"-droppable "+this.options.cssNamespace+"-droppable-disabled")
.removeData("droppable")
.unbind(".droppable");
},
@@ -105,7 +105,7 @@ $.widget("ui.droppable", {
if (!draggable || (draggable.currentItem || draggable.element)[0] == this.element[0]) return false; // Bail if draggable and droppable are same element

var childrenIntersection = false;
this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function() {
this.element.find(":data(droppable)").not("."+draggable.options.cssNamespace+"-draggable-dragging").each(function() {
var inst = $.data(this, 'droppable');
if(inst.options.greedy && $.ui.intersect(draggable, $.extend(inst, { offset: inst.element.offset() }), inst.options.tolerance)) {
childrenIntersection = true; return false;
@@ -17,7 +17,7 @@ $.widget("ui.sortable", $.extend({}, $.ui.mouse, {

var o = this.options;
this.containerCache = {};
this.element.addClass("ui-sortable");
(this.options.cssNamespace && this.element.addClass(this.options.cssNamespace+"-sortable"));

//Get the items
this.refresh();
@@ -35,7 +35,7 @@ $.widget("ui.sortable", $.extend({}, $.ui.mouse, {

destroy: function() {
this.element
.removeClass("ui-sortable ui-sortable-disabled")
.removeClass(this.options.cssNamespace+"-sortable "+this.options.cssNamespace+"-sortable-disabled")
.removeData("sortable")
.unbind(".sortable");
this._mouseDestroy();
@@ -169,7 +169,7 @@ $.widget("ui.sortable", $.extend({}, $.ui.mouse, {

this.dragging = true;

this.helper.addClass('ui-sortable-helper');
this.helper.addClass(o.cssNamespace+'-sortable-helper');
this._mouseDrag(event); //Execute the drag once - this causes the helper not to be visible before getting its correct position
return true;

@@ -270,7 +270,7 @@ $.widget("ui.sortable", $.extend({}, $.ui.mouse, {
this._mouseUp();

if(this.options.helper == "original")
this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper");
this.currentItem.css(this._storedCSS).removeClass(this.options.cssNamespace+"-sortable-helper");
else
this.currentItem.show();

@@ -422,13 +422,13 @@ $.widget("ui.sortable", $.extend({}, $.ui.mouse, {
for (var j = cur.length - 1; j >= 0; j--){
var inst = $.data(cur[j], 'sortable');
if(inst && inst != this && !inst.options.disabled) {
queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element) : $(inst.options.items, inst.element).not(".ui-sortable-helper"), inst]);
queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element) : $(inst.options.items, inst.element).not("."+inst.options.cssNamespace+"-sortable-helper"), inst]);
}
};
};
}

queries.push([$.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : $(this.options.items, this.element).not(".ui-sortable-helper"), this]);
queries.push([$.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : $(this.options.items, this.element).not("."+this.options.cssNamespace+"-sortable-helper"), this]);

for (var i = queries.length - 1; i >= 0; i--){
queries[i][0].each(function() {
@@ -552,8 +552,8 @@ $.widget("ui.sortable", $.extend({}, $.ui.mouse, {
element: function() {

var el = $(document.createElement(self.currentItem[0].nodeName))
.addClass(className || self.currentItem[0].className+" ui-sortable-placeholder")
.removeClass('ui-sortable-helper')[0];
.addClass(className || self.currentItem[0].className+" "+self.options.cssNamespace+"-sortable-placeholder")
.removeClass(self.options.cssNamespace+'-sortable-helper')[0];

if(!className) {
el.style.visibility = "hidden";
@@ -823,12 +823,12 @@ $.widget("ui.sortable", $.extend({}, $.ui.mouse, {
for(var i in this._storedCSS) {
if(this._storedCSS[i] == 'auto' || this._storedCSS[i] == 'static') this._storedCSS[i] = '';
}
this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper");
this.currentItem.css(this._storedCSS).removeClass(this.options.cssNamespace+"-sortable-helper");
} else {
this.currentItem.show();
}

if(this.domPosition.prev != this.currentItem.prev().not(".ui-sortable-helper")[0] || this.domPosition.parent != this.currentItem.parent()[0]) this._propagate("update", event, null, noPropagation); //Trigger update callback if the DOM position has changed
if(this.domPosition.prev != this.currentItem.prev().not("."+this.options.cssNamespace+"-sortable-helper")[0] || this.domPosition.parent != this.currentItem.parent()[0]) this._propagate("update", event, null, noPropagation); //Trigger update callback if the DOM position has changed
if(!$.ui.contains(this.element[0], this.currentItem[0])) { //Node was moved out of the current element
this._propagate("remove", event, null, noPropagation);
for (var i = this.containers.length - 1; i >= 0; i--){
@@ -896,6 +896,7 @@ $.extend($.ui.sortable, {
accurateIntersection: true,
appendTo: "parent",
cancel: ":input,option",
cssNamespace: 'ui',
delay: 0,
distance: 1,
dropOnEmpty: true,

0 comments on commit ba75714

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