3f68f3064052f4ed11651f954ee121282456ab1f max Thu Dec 12 03:05:56 2024 -0800 fix after code review, refs #34936 diff --git src/hg/js/hgTracks.js src/hg/js/hgTracks.js index 1109b70..d2a089e 100644 --- src/hg/js/hgTracks.js +++ src/hg/js/hgTracks.js @@ -4747,40 +4747,40 @@ } }, drawHighlights: function() // highlight vertical region in imgTbl based on hgTracks.highlight (#709). // For PDF/hgRenderTracks output, the highlights are drawn by hgTracks.c:drawHighlights() { var pos; var hexColor = dragSelect.hlColorDefault; // if possible, re-use the color that the user picked last time if (hgTracks.prevHlColor) hexColor = hgTracks.prevHlColor; var defHexColor = hexColor; $('.highlightItem').remove(); + var db = getDb(); + if (hgTracks.highlight) { var hlArray = hgTracks.highlight.split("|"); // support multiple highlight items for (var i = 0; i < hlArray.length; i++) { hlString = hlArray[i]; pos = parsePositionWithDb(hlString); // UN-DISGUISE imageV2.undisguiseHighlight(pos); - var db = getDb(); - if (pos && pos.db===db && pos.chrom === hgTracks.chromName && (pos.start-1) <= hgTracks.imgBoxPortalEnd && pos.end >= hgTracks.imgBoxPortalStart) { pos.start--; // make start 0-based to match hgTracks.winStart var portalWidthBases = hgTracks.imgBoxPortalEnd - hgTracks.imgBoxPortalStart; var portal = $('#imgTbl td.tdData')[0]; var leftPixels = $(portal).offset().left + imageV2.LEFTADD; var pixelsPerBase = ($(portal).width() - 2) / portalWidthBases; var clippedStartBases = Math.max(pos.start, hgTracks.imgBoxPortalStart); var clippedEndBases = Math.min(pos.end, hgTracks.imgBoxPortalEnd); var widthPixels = (clippedEndBases - clippedStartBases) * pixelsPerBase; if (hgTracks.revCmplDisp) leftPixels += (hgTracks.imgBoxPortalEnd - clippedEndBases) * pixelsPerBase - 1; else leftPixels += (clippedStartBases - hgTracks.imgBoxPortalStart) * pixelsPerBase; // Impossible to get perfect... Okay to overrun by a pixel on each side