Author: jmorliaguet Date: Sun Mar 12 18:44:48 2006 New Revision: 2626 Modified: cpsskins/branches/jmo-perspectives/ui/framework/cpsskins.js Log:
- drag-and-drop fixes, the feedback box is added to the document's body Modified: cpsskins/branches/jmo-perspectives/ui/framework/cpsskins.js ============================================================================== --- cpsskins/branches/jmo-perspectives/ui/framework/cpsskins.js (original) +++ cpsskins/branches/jmo-perspectives/ui/framework/cpsskins.js Sun Mar 12 18:44:48 2006 @@ -642,12 +642,18 @@ if (!draggable) { return false; } + + var pos = Position.cumulativeOffset(draggable); + this.x0 = pos[0]; + this.y0 = pos[1]; + this.x1 = Event.pointerX(e) - this.x0; + this.y1 = Event.pointerY(e) - this.y0; + if (this.def.dragging.feedback) { var dim = draggable.getDimensions(); var feedback = CPSSkins.Canvas.createNode({"tag": "div"}); feedback.setStyle({ 'z-index': parseInt(draggable.getStyle('z-index') || 0) +1, - 'position': 'absolute', 'width': dim.width + 'px', 'height': dim.height + 'px' }); @@ -662,17 +668,15 @@ }) } feedback.setOpacity(this.def.dragging.feedback.opacity); - draggable.parentNode.insertBefore(feedback, draggable); + document.getElementsByTagName('body')[0].appendChild(feedback); this.moved = feedback; } else { this.moved = draggable; - this.moved.setStyle({'position': 'absolute'}); } - var pos = Position.cumulativeOffset(this.moved); - this.x0 = pos[0]; - this.y0 = pos[1]; - this.x1 = Event.pointerX(e) - this.x0; - this.y1 = Event.pointerY(e) - this.y0; + + this.moved.setStyle({'position': 'absolute'}); + this.moved.moveTo({'x': this.x0, 'y': this.y0}); + Event.observe(document, "mousemove", this.moveEvent); Event.observe(document, "mouseup", this.dropEvent); -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins