From ef68436ac04da078ffdcacd7e1f785473a303d45 Mon Sep 17 00:00:00 2001 From: Giulio Cesare Solaroli Date: Sun, 02 Oct 2011 23:56:18 +0000 Subject: First version of the newly restructured repository --- (limited to 'frontend/beta/js/YUI-extensions/dd/DropZone.js') diff --git a/frontend/beta/js/YUI-extensions/dd/DropZone.js b/frontend/beta/js/YUI-extensions/dd/DropZone.js new file mode 100644 index 0000000..ce446fb --- a/dev/null +++ b/frontend/beta/js/YUI-extensions/dd/DropZone.js @@ -0,0 +1,81 @@ +// 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); + } +}); +} -- cgit v0.9.0.2