51d89ce7eda1b4b3a8669379230be74ec76e8150
kate
  Mon Oct 7 15:00:54 2019 -0700
Fixes and flexibility for other track types, new filtering. refs #23365

diff --git src/hg/inc/hui.h src/hg/inc/hui.h
index df4c3ab..454eb6b 100644
--- src/hg/inc/hui.h
+++ src/hg/inc/hui.h
@@ -965,36 +965,42 @@
  * non-NULL, don't allow it to be cleared and only offer subtracks
  * that have the same type.  If fakeSubmit is non-NULL, add a hidden
  * var with that name so it looks like it was pressed. */
 
 char *compositeGroupLabel(struct trackDb *childTdb, char *group, char *id);
 /* Given ID from group, return corresponding label,  looking through parent's subGroupN's */
 
 char *compositeGroupId(struct trackDb *tdb, char *group, char *id);
 /* Given label, return id,  looking through parent's subGroupN's */
 
 char *compositeLabelWithVocabLink(char *db,struct trackDb *parentTdb, struct trackDb *childTdb,
 	char *vocabType, char *label);
 /* If the parentTdb has an ENCODE controlledVocabulary setting and the vocabType is found,
    then label will be wrapped with the link to display it.  Return string is cloned. */
 
-boolean compositeHideEmptySubtracks(struct cart *cart, struct trackDb *childTdb,
-                                        char **retMutiBedFile, char **retSubtrackIdFile)
+
+boolean compositeHideEmptySubtracks(struct cart *cart, struct trackDb *tdb,
+                                        char **retMultiBedFile, char **retSubtrackIdFile);
 /* Parse hideEmptySubtracks setting and check cart
  * Return TRUE if we should hide empties
  */
 
+boolean compositeChildHideEmptySubtracks(struct cart *cart, struct trackDb *childTdb,
+                                        char **retMultiBedFile, char **retSubtrackIdFile);
+/* Parse hideEmptySubtracks setting and check cart
+ * Return TRUE if we should hide empties
+ */
 
 char *wgEncodeVocabLink(char *file,char *term,char *value,char *title, char *label,char *suffix);
 // returns allocated string of HTML link to ENCODE controlled vocabulary term
 
 char *metadataAsHtmlTable(char *db,struct trackDb *tdb,boolean
         showLongLabel,boolean showShortLabel);
 /* If metadata from metaDb exists, return string of html with table definition */
 
 boolean compositeMetadataToggle(char *db,struct trackDb *tdb,char *title,
         boolean embeddedInText,boolean showLongLabel);
 /* If metadata from metaTbl exists, create a link that will allow toggling it's display */
 
 boolean superTrackDropDownWithExtra(struct cart *cart, struct trackDb *tdb,
                                     int visibleChild, struct slPair *events);
 /* Displays hide/show dropdown for supertrack.