82 lines
2.2 KiB
JavaScript
82 lines
2.2 KiB
JavaScript
// kill drag drop dependency
|
|
if(YAHOO.util.DragDrop){
|
|
YAHOO.ext.dd.DropZone = function(el, config){
|
|
YAHOO.ext.dd.DropZone.superclass.constructor.call(this, el, config);
|
|
};
|
|
|
|
YAHOO.extendX(YAHOO.ext.dd.DropZone, YAHOO.ext.dd.DropTarget, {
|
|
getTargetFromEvent : function(e){
|
|
return YAHOO.ext.dd.Registry.getTargetFromEvent(e);
|
|
},
|
|
|
|
onNodeEnter : function(n, dd, e, data){
|
|
|
|
},
|
|
|
|
onNodeOver : function(n, dd, e, data){
|
|
return this.dropAllowed;
|
|
},
|
|
|
|
onNodeOut : function(n, dd, e, data){
|
|
|
|
},
|
|
|
|
onNodeDrop : function(n, dd, e, data){
|
|
return false;
|
|
},
|
|
|
|
onContainerOver : function(n, dd, e, data){
|
|
return this.dropNotAllowed;
|
|
},
|
|
|
|
onContainerDrop : function(n, dd, e, data){
|
|
return false;
|
|
},
|
|
|
|
notifyEnter : function(dd, e, data){
|
|
return this.dropNotAllowed;
|
|
},
|
|
|
|
notifyOver : function(dd, e, data){
|
|
var n = this.getTargetFromEvent(e);
|
|
if(!n){ // not over valid drop target
|
|
if(this.lastOverNode){
|
|
this.onNodeOut(this.lastOverNode, dd, e, data);
|
|
this.lastOverNode = null;
|
|
}
|
|
return this.onContainerOver(dd, e, data);
|
|
}
|
|
if(this.lastOverNode != n){
|
|
if(this.lastOverNode){
|
|
this.onNodeOut(this.lastOverNode, dd, e, data);
|
|
}
|
|
this.onNodeEnter(n, dd, e, data);
|
|
this.lastOverNode = n;
|
|
}
|
|
return this.onNodeOver(n, dd, e, data);
|
|
},
|
|
|
|
notifyOut : function(dd, e, data){
|
|
if(this.lastOverNode){
|
|
this.onNodeOut(this.lastOverNode, dd, e, data);
|
|
this.lastOverNode = null;
|
|
}
|
|
},
|
|
|
|
notifyDrop : function(dd, e, data){
|
|
if(this.lastOverNode){
|
|
this.onNodeOut(this.lastOverNode, dd, e, data);
|
|
this.lastOverNode = null;
|
|
}
|
|
var n = this.getTargetFromEvent(e);
|
|
return n ?
|
|
this.onNodeDrop(n, dd, e, data) :
|
|
this.onContainerDrop(n, dd, e, data);
|
|
},
|
|
|
|
triggerCacheRefresh : function(){
|
|
YAHOO.util.DDM.refreshCache(this.groups);
|
|
}
|
|
});
|
|
}
|