17848d410ab4196fed212aba4d8f036769501205
kate
  Mon Feb 24 17:54:33 2020 -0800
Change syntax of hideEmptySubtracks: add settings for multiBed and sources URLs. refs #23365

diff --git src/hg/lib/trackHub.c src/hg/lib/trackHub.c
index 44a686f..1369462 100644
--- src/hg/lib/trackHub.c
+++ src/hg/lib/trackHub.c
@@ -39,30 +39,31 @@
 #include "twoBit.h"
 #include "dbDb.h"
 #include "net.h"
 #include "bbiFile.h"
 #include "bPlusTree.h"
 #include "hgFind.h"
 #include "hubConnect.h"
 #include "trix.h"
 #include "vcf.h"
 #include "htmshell.h"
 #include "bigBedFind.h"
 #include "customComposite.h"
 #include "interactUi.h"
 #include "bedTabix.h"
 #include "hic.h"
+#include "hui.h"
 
 #ifdef USE_HAL
 #include "halBlockViz.h"
 #endif
 
 static struct hash *hubCladeHash;  // mapping of clade name to hub pointer
 static struct hash *hubAssemblyHash; // mapping of assembly name to genome struct
 static struct hash *hubOrgHash;   // mapping from organism name to hub pointer
 static struct trackHub *globalAssemblyHubList; // list of trackHubs in the user's cart
 static struct hash *trackHubHash;
 
 char *trackHubRelativeUrl(char *hubUrl, char *path)
 /* Return full path (in URL form if it's a remote hub) given
  * path possibly relative to hubUrl. Do a freeMem of result
  * when done. */
@@ -750,30 +751,32 @@
     }
 }
 
 static void expandBigDataUrl(struct trackHub *hub, struct trackHubGenome *genome,
 	struct trackDb *tdb)
 /* Expand bigDataUrls so that no longer relative to genome->trackDbFile */
 {
 expandOneUrl(tdb->settingsHash, genome->trackDbFile, "bigDataUrl");
 expandOneUrl(tdb->settingsHash, genome->trackDbFile, "bigDataIndex");
 expandOneUrl(tdb->settingsHash, genome->trackDbFile, "frames");
 expandOneUrl(tdb->settingsHash, genome->trackDbFile, "summary");
 expandOneUrl(tdb->settingsHash, genome->trackDbFile, "linkDataUrl");
 expandOneUrl(tdb->settingsHash, genome->trackDbFile, "searchTrix");
 expandOneUrl(tdb->settingsHash, genome->trackDbFile, "barChartSampleUrl");
 expandOneUrl(tdb->settingsHash, genome->trackDbFile, "barChartMatrixUrl");
+expandOneUrl(tdb->settingsHash, genome->trackDbFile, SUBTRACK_HIDE_EMPTY_MULTIBED_URL);
+expandOneUrl(tdb->settingsHash, genome->trackDbFile, SUBTRACK_HIDE_EMPTY_SOURCES_URL);
 }
 
 struct trackHubGenome *trackHubFindGenome(struct trackHub *hub, char *genomeName)
 /* Return trackHubGenome of given name associated with hub.  Return NULL if no
  * such genome.  Check genomeName without hub prefix to see if this hub
  * is attached to an assembly hub.*/
 {
 struct trackHubGenome *ret = hashFindVal(hub->genomeHash, genomeName);
 
 if (ret == NULL)
     ret = hashFindVal(hub->genomeHash, hubConnectSkipHubPrefix(genomeName));
 return ret;
 }
 
 static void requireBarChartBars(struct trackHub *hub, struct trackHubGenome *genome, struct trackDb *tdb)