1c232cf435b6001dd59a4b266130fc59aea1215d tdreszer Wed Jul 7 13:21:09 2010 -0700 Fixed side button chrome bug where hgTrackUi wasn't called because of drag reorder diff --git src/hg/js/hgTracks.js src/hg/js/hgTracks.js index 66ed44c..63a021e 100644 --- src/hg/js/hgTracks.js +++ src/hg/js/hgTracks.js @@ -5,6 +5,7 @@ var originalPosition; var originalSize; var originalCursor; +var originalMouseOffset = {x:0, y:0}; var clickClipHeight; var revCmplDisp; var insideX; @@ -1046,11 +1047,43 @@ ///////////////////////////////////////////////////// +function saveMouseOffset(ev) +{ // Save the mouse offset associated with this event + originalMouseOffset = {x: ev.clientX, y: ev.clientY}; +} + +function mouseHasMoved(ev) +{ // return true if mouse has moved a significant amount + var minPixels = 10; + var movedX = ev.clientX - originalMouseOffset.x; + var movedY = ev.clientY - originalMouseOffset.y; + if ( arguments.length == 2) { + var num = Number(arguments[1]); + if(isNaN(num)) { + if ( arguments[1].toLowerCase() == "x" ) + return (movedX > minPixels || movedX < (minPixels * -1)); + if ( arguments[1].toLowerCase() == "y" ) + return (movedY > minPixels || movedY < (minPixels * -1)); + } + else + minPixels = num; + } + return ( movedX > minPixels || movedX < (minPixels * -1) + || movedY > minPixels || movedY < (minPixels * -1)); +} + function blockTheMap(e) { blockUseMap=true; } +function blockTheMapOnMouseMove(ev) +{ + if (!blockUseMap && mouseHasMoved(ev)) { + blockUseMap=true; + } +} + // wait for jStore to prepare the storage engine (this token reload code is experimental and currently dead). jQuery.jStore && jQuery.jStore.ready(function(engine) { // alert(engine.jri); @@ -1157,8 +1190,9 @@ $(imgTable).tableDnD({ onDragClass: "trDrag", dragHandle: "dragHandle", - onDragStart: function(table, row) { - $(document).bind('mousemove',blockTheMap); + onDragStart: function(ev, table, row) { + saveMouseOffset(ev); + $(document).bind('mousemove',blockTheMapOnMouseMove); }, onDrop: function(table, row, dragStartIndex) { if($(row).attr('rowIndex') != dragStartIndex) { @@ -1167,7 +1201,7 @@ } imgTblZipButtons( table ); } - $(document).unbind('mousemove',blockTheMap); + $(document).unbind('mousemove',blockTheMapOnMouseMove); setTimeout('blockUseMap=false;',50); // Necessary incase the selectEnd was over a map item. select takes precedence. } });