7a900c00cc6f3f7bc046dac0f6c8432394c8a43d max Tue Nov 8 16:08:24 2016 -0800 fix to zoom shortcuts for multi-exon mode, refs #18367 diff --git src/hg/js/hgTracks.js src/hg/js/hgTracks.js index a8807cd..3a9b3c2 100644 --- src/hg/js/hgTracks.js +++ src/hg/js/hgTracks.js @@ -3332,33 +3332,35 @@ position = hgTracks.nonVirtPosition; } var pos = parsePosition(position); if (pos) { var url = "hgc?hgsid="+getHgsid()+"&g=getDna&i=mixed&c="+pos.chrom+"&l="+pos.start+"&r="+pos.end+"&db="+getDb(); window.location.href = url; } return false; } // A function for the keyboard shortcuts "zoom to x bp" function zoomTo(zoomSize) { var flankSize = Math.floor(zoomSize/2); var pos = parsePosition(genomePos.get()); var mid = pos.start+(Math.floor((pos.end-pos.start)/2)); - var newStart = Math.max(mid - flankSize, hgTracks.chromStart); - var newEnd = Math.min(mid + flankSize - 1, hgTracks.chromEnd); - var newPos = genomePos.setByCoordinates(hgTracks.chromName, newStart, newEnd); + var newStart = Math.max(mid - flankSize, 0); + var newEnd = mid + flankSize - 1; + var newPos = genomePos.setByCoordinates(pos.chrom, newStart, newEnd); + if (hgTracks.virtualSingleChrom && (newPos.search("virt:")===0)) + newPos = genomePos.disguisePosition(newPosition); // DISGUISE? imageV2.navigateInPlace("position="+newPos, null, true); } ////////////////////////////////// //// popup (aka modal dialog) //// ////////////////////////////////// var popUp = { trackName: "", trackDescriptionOnly: false, saveAllVars: null, cleanup: function () { // Clean out the popup box on close if ($('#hgTrackUiDialog').html().length > 0 ) {