05045ac1625397ef12d688d245cf27e920f64d72 max Fri Mar 3 10:28:16 2017 -0800 fixing a small bug that appears with an empt cart in the new highlight shortcut, refs #18936 diff --git src/hg/js/hgTracks.js src/hg/js/hgTracks.js index 248fa8c..b3f7080 100644 --- src/hg/js/hgTracks.js +++ src/hg/js/hgTracks.js @@ -988,38 +988,39 @@ { if (selection.x1 !== selection.x2) { if (genomePos.check(img, selection)) { genomePos.update(img, selection, false); jQuery('body').css('cursor', dragSelect.originalCursor); } else { jQuery('body').css('cursor', 'not-allowed'); } } return true; }, highlightThisRegion: function(newPosition, doAdd) // set highlighting newPosition in server-side cart and apply the highlighting in local UI. { + var hlColor = '#1ff3f0'; var pos = parsePosition(newPosition); var start = pos.start; var end = pos.end; - var newHighlight = getDb() + "." + pos.chrom + ":" + start + "-" + end + '#77cccc'; + var newHighlight = getDb() + "." + pos.chrom + ":" + start + "-" + end + hlColor; newHighlight = imageV2.disguiseHighlight(newHighlight); var oldHighlight = hgTracks.highlight; - if (doAdd===undefined || doAdd===false || oldHighlight==="") { - // overwrite the old highlight position + if (oldHighlight===undefined || doAdd===undefined || doAdd===false || oldHighlight==="") { + // just set/overwrite the old highlight position, this used to be the default hgTracks.highlight = newHighlight; } else { // add to the end of a |-separated list hgTracks.highlight = oldHighlight+"|"+newHighlight; } // we include enableHighlightingDialog because it may have been changed by the dialog var cartSettings = { 'highlight': hgTracks.highlight, 'enableHighlightingDialog': hgTracks.enableHighlightingDialog ? 1 : 0 }; if (hgTracks.windows && !hgTracks.virtualSingleChrom) { var nonVirtChrom = ""; var nonVirtStart = -1; var nonVirtEnd = -1; for (i=0,len=hgTracks.windows.length; i < len; ++i) { @@ -1032,49 +1033,49 @@ var ce = e - w.virtStart + w.winStart; if (nonVirtChrom === "") { nonVirtChrom = w.chromName; nonVirtStart = cs; nonVirtEnd = ce; } else { if (w.chromName === nonVirtChrom) { nonVirtEnd = Math.max(ce, nonVirtEnd); } else { break; } } } } if (nonVirtChrom !== "") - cartSettings.nonVirtHighlight = getDb() + '.' + nonVirtChrom + ':' + nonVirtStart + '-' + (nonVirtEnd+1) + '#AAFFFF'; + cartSettings.nonVirtHighlight = getDb() + '.' + nonVirtChrom + ':' + nonVirtStart + '-' + (nonVirtEnd+1) + hlColor; } else if (hgTracks.windows && hgTracks.virtualSingleChrom) { cartSettings.nonVirtHighlight = hgTracks.highlight; } // TODO if not virt, do we need to erase cart nonVirtHighlight ? cart.setVarsObj(cartSettings); imageV2.highlightRegion(); }, selectionEndDialog: function (newPosition) // Let user choose between zoom-in and highlighting. { var dragSelectDialog = $("#dragSelectDialog")[0]; if (!dragSelectDialog) { $("body").append("
" + "

" + "Don't show this dialog again and always zoom.
" + "(Re-enable highlight via the 'configure' menu at any time.)

"+ - "Using the keyboard, you can highlight the current position with 'm then a' and clear all highlights with 'm then c'.

"); + "Using the keyboard, you can highlight the current range with 'h then m' (mark) and clear all highlights with 'h then c'. Type '?' to show the other shortcuts.

"); dragSelectDialog = $("#dragSelectDialog")[0]; } if (hgTracks.windows) { var i,len; var newerPosition = newPosition; if (hgTracks.virtualSingleChrom && (newPosition.search("virt:")===0)) { newerPosition = genomePos.disguisePosition(newPosition); } var str = newerPosition + "
\n"; var str2 = "
\n"; str2 += "