c3a239aa11cde08e85f3235b3e47861a507215cc
chmalee
  Thu Aug 1 13:34:53 2024 -0700
Add a configure page option for controlling whether hgc clicks open in pop-ups, refs #33216

diff --git src/hg/hgTracks/config.c src/hg/hgTracks/config.c
index 4a28939..535e0f6 100644
--- src/hg/hgTracks/config.c
+++ src/hg/hgTracks/config.c
@@ -731,30 +731,41 @@
 hPrintf("Show exon numbers");
 hPrintf("</TD></TR>\n");
 
 hPrintf("<TR><TD>");
 hCheckBox("showDinkButtons", cartUsualBoolean(cart, "showDinkButtons", FALSE));
 hPrintf("</TD><TD>");
 hPrintf("Show move left/right limit buttons under image");
 hPrintf("</TD></TR>\n");
 
 hPrintf("<TR><TD>");
 hCheckBox("enableHighlightingDialog", cartUsualBoolean(cart, "enableHighlightingDialog", TRUE));
 hPrintf("</TD><TD>");
 hPrintf("Enable highlight with drag-and-select "
         "(if unchecked, drag-and-select always zooms to selection)");
 hPrintf("</TD></TR>\n");
+
+// check if we can do hgc pages in a pop up before putting up the user control
+if (cfgOptionBooleanDefault("canDoHgcInPopUp", FALSE))
+    {
+    // put a checkbox, on by default, to control whether item clicks stay on hgTracks or
+    // go to hgTracks
+    hPrintf("<tr><td>");
+    hCheckBox("doHgcInPopUp", cartUsualBoolean(cart, "doHgcInPopUp", TRUE));
+    hPrintf("<td>Item clicks open in pop-up</td></tr>\n");
+    }
+
 hTableEnd();
 
 
 cgiDown(0.9);
 
 char buf[256];
 char *freeze = hFreezeFromDb(database);
 if (freeze == NULL)
     safef(buf, sizeof buf, "Configure Tracks on %s %s: %s",
 	  organization, browserName, trackHubSkipHubName(organism));
 else if (stringIn(database, freeze))
     safef(buf, sizeof buf, "Configure Tracks on %s %s: %s %s",
 	  organization, browserName, trackHubSkipHubName(organism), freeze);
 else
     safef(buf, sizeof buf, "Configure Tracks on %s %s: %s %s (%s)",