From: Jan Schneider Date: Tue, 17 Mar 2009 17:17:21 +0000 (+0100) Subject: Find drop targets if using ghosts. X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=aa9ed0a5d3c06fe135b764765d6e64490d9c1c6a;p=horde.git Find drop targets if using ghosts. --- diff --git a/imp/js/src/dragdrop.js b/imp/js/src/dragdrop.js index 831762d30..d37473644 100644 --- a/imp/js/src/dragdrop.js +++ b/imp/js/src/dragdrop.js @@ -379,7 +379,7 @@ Drag = Class.create({ d = DragDrop.Drops.drop, div = DragDrop.Drags.div, d_update = true, - elt = e.element(); + elt = this._findElement(e); /* elt will be null if we drag off the browser window. */ if (!Object.isElement(elt)) { @@ -443,6 +443,25 @@ Drag = Class.create({ this._setCaption(div, xy); }, + _findElement: function(e) + { + if (this.options.caption || this.options.offset) { + return e.element(); + } + + if (!DragDrop.Drops.drops.size()) { + return; + } + + Position.prepare(); + var drop = DragDrop.Drops.drops.find(function(drop) { + return Position.within(drop.value.element, e.pointerX(), e.pointerY()); + }); + if (drop) { + return drop.value.element; + } + }, + _setCaption: function(div, xy) { if (this.lastcaption) {