9e064b7c08551b56508ae9f7e0b0573d7be7101b
max
  Tue Nov 8 11:03:09 2016 -0800
adding keyboard shortcuts for zoom to x bp, no redmine. This message was approved by cmalee and mspeir

diff --git src/hg/js/hgTracks.js src/hg/js/hgTracks.js
index f18bd59..a8807cd 100644
--- src/hg/js/hgTracks.js
+++ src/hg/js/hgTracks.js
@@ -3327,30 +3327,41 @@
 function gotoGetDnaPage() {
     var position = hgTracks.chromName+":"+hgTracks.winStart+"-"+hgTracks.winEnd;
     if (hgTracks.virtualSingleChrom && (pos.chrom.search("virt") === 0)) {
         position = genomePos.get().replace(/,/g,'');
     } else if (hgTracks.windows && hgTracks.nonVirtPosition) {
         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);
+    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 ) {
             // clear out html after close to prevent problems caused by duplicate html elements
             $('#hgTrackUiDialog').html("");
             popUp.trackName = ""; //set to defaults