569762e235486d02f69f6e677789e774f0f057a2
max
  Fri Mar 7 14:14:40 2025 -0800
adding view conversions link to hgLiftOver results section, refs #20666

diff --git src/hg/hgLiftOver/hgLiftOver.c src/hg/hgLiftOver/hgLiftOver.c
index ea373e895d7..bf060fd009e 100644
--- src/hg/hgLiftOver/hgLiftOver.c
+++ src/hg/hgLiftOver/hgLiftOver.c
@@ -560,32 +560,38 @@
         ct = liftOverPositions(oldTn.forCgi, chainHash, 
                 minMatch, minBlocks, 0, minSizeQ,
                 minChainT, 0,
                 fudgeThick, mapped, unmapped, multiple, NULL, &errCt);
         if (ct == -1)
             /* programming error */
             errAbort("ERROR: Unsupported data format.\n");
 
         webNewSection("Results");
         if (ct > 0)
             {
             /* some records succesfully converted */
             cgiParagraph("");
             printf("Successfully converted %d record", ct);
             printf("%s: ", ct > 1 ? "s" : "");
-            printf("<A HREF=%s TARGET=_blank>View Conversions</A>\n", mappedTn.forCgi);
+            printf("<A HREF=%s TARGET=_blank>Download Conversions</A>\n", mappedTn.forCgi);
+            printf("<a href='#' data-url='%s' class='link' id='viewLink'>View Conversions</a>\n", mappedTn.forCgi);
+            jsInlineF("document.getElementById('viewLink').addEventListener('click', function(ev) { "
+                "ev.preventDefault();"
+                "forceDisplayBedFile(ev.currentTarget.getAttribute('data-url'));"
+                "});");
             }
+
         if (errCt)
             {
             /* some records not converted */
             cgiParagraph("");
             printf("Conversion failed on %d record", errCt);
             printf("%s. &nbsp;&nbsp;&nbsp;", errCt > 1 ? "s" : "");
             printf("<A HREF=%s TARGET=_blank>Display failure file</A>&nbsp; &nbsp;\n",
                              unmappedTn.forCgi);
             printf("<A HREF=\"../cgi-bin/hgLiftOver?%s=1\" TARGET=_blank>Explain failure messages</A>\n", HGLFT_ERRORHELP_VAR);
             puts("<P>Failed input regions:\n");
             struct lineFile *errFile = lineFileOpen(unmappedTn.forCgi, TRUE);
             puts("<BLOCKQUOTE><PRE>\n");
             while (lineFileNext(errFile, &line, &lineSize))
                 puts(line);
             lineFileClose(&errFile);