4140d0e2412d8edb63d1aaac196f6c98612f3328
galt
  Fri Nov 21 16:52:25 2025 -0800
Add hgTables Summary and intersection buttons for knownCanonical. refs #rm36524

diff --git src/hg/hgTables/mainPage.c src/hg/hgTables/mainPage.c
index 046b70160c8..4a14c0706dd 100644
--- src/hg/hgTables/mainPage.c
+++ src/hg/hgTables/mainPage.c
@@ -714,32 +714,35 @@
 
 /* Print group and track line. */
     {
     hPrintf("<TR><TD><DIV ID=\"track-select\">");
     selGroup = showGroupField(hgtaGroup, "change", onChangeGroupOrTrack(), conn, hAllowAllTables());
     nbSpaces(3);
     curTrack = showTrackField(selGroup, hgtaTrack, "change", onChangeGroupOrTrack(), FALSE);
     nbSpaces(3);
     hPrintf("</DIV></TD></TR>\n");
     }
 
 /* Print table line. */
     {
     hPrintf("<TR><TD><DIV ID=\"table-select\">");
     curTable = showTableField(curTrack, hgtaTable, TRUE);
-    if (isHubTrack(curTable) || hashFindVal(fullTableToTdbHash, curTable) != NULL)  /* In same database */
+    if (isHubTrack(curTable) || hashFindVal(fullTableToTdbHash, curTable) != NULL   /* In same database */
+          || sameString(curTable, "knownCanonical")  // not in the trackList but works.
+	)
         {
+	verbose(1,"showMainControlTable DEBUG GALT calling getHti\n");
         hti = getHti(database, curTable, conn);
         isPositional = htiIsPositional(hti);
         }
     isLongTabix = isLongTabixTable( curTable);
     isBam = isBamTable(curTable);
     isHic = isHicTable(curTable);
     isVcf = isVcfTable(curTable, NULL);
     isWig = isWiggle(database, curTable);
     if (isBigWigTable(curTable))
         {
         isPositional = TRUE;
         isWig = TRUE;
         }
     isHalSnake = isHalTable( curTable);
     isMaf = isMafTable(database, curTrack, curTable);