Author: jmorliaguet Date: Tue May 23 22:12:50 2006 New Revision: 3203 Modified: cpsskins/branches/paris-sprint-2006/lib/cpsskins/src/cpsskins.js
Log: - added a minimum distance before starting to drag Modified: cpsskins/branches/paris-sprint-2006/lib/cpsskins/src/cpsskins.js ============================================================================== --- cpsskins/branches/paris-sprint-2006/lib/cpsskins/src/cpsskins.js (original) +++ cpsskins/branches/paris-sprint-2006/lib/cpsskins/src/cpsskins.js Tue May 23 22:12:50 2006 @@ -876,15 +876,22 @@ this.target = $(draggable); var pos = Position.cumulativeOffset(draggable); - - var x = Event.pointerX(e); - var y = Event.pointerY(e); this.x0 = pos[0]; this.y0 = pos[1]; + this.startDragX = Event.pointerX(e); + this.startDragY = Event.pointerY(e); + + Event.observe(document, "mousemove", this.moveEvent); + Event.observe(document, "mouseup", this.dropEvent); + }, + + startDrag: function(x, y) { var dragging = this.def.dragging; var shifting = this.def.shifting; + var draggable = this.target; + if (dragging.offset_x || dragging.offset_y ) { this.x1 = dragging.offset_x || -5; this.y1 = dragging.offset_y || -5; @@ -929,9 +936,6 @@ this.moved.setStyle({cursor: 'move'}); - Event.observe(document, "mousemove", this.moveEvent); - Event.observe(document, "mouseup", this.dropEvent); - if (this.def.dropping) { var highlight = this.def.dropping.highlight; if (highlight && this._dropzones) { @@ -947,6 +951,18 @@ moveEvent: function(e) { var x = Event.pointerX(e); var y = Event.pointerY(e); + var startDragX = this.startDragX; + var startDragY = this.startDragY; + + if (startDragX != null && startDragY != null) { + if (Math.abs(startDragX-x) < 5 || Math.abs(startDragY-y) < 5) { + return false; + } else { + this.startDrag(x, y); + this.startDragX = null; + this.startDragY = null; + } + } var moved = $(this.moved); moved.moveTo({x: x-this.x1, y: y-this.y1, fit: true}); -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins