1b074613b1c6b7f84953c3f490631b91d844c9a9 galt Thu Sep 8 22:40:20 2022 -0700 Adapting Angie's existing variant effects to the new dbSnp that uses SPDI and provided via json formatted data. So users can see variant effects with version 153 or later. refs #29989 diff --git src/hg/inc/hui.h src/hg/inc/hui.h index db18064..b69c6d7 100644 --- src/hg/inc/hui.h +++ src/hg/inc/hui.h @@ -1563,16 +1563,33 @@ /* add a checkbox for the user to select a component of a label (e.g. ID, name, other info). * NOTE: This does not have a track name argument, so the correct tdb must be passed in: * if setting is at composite level, then pass in composite tdb, likewise for view. */ int defaultFieldLocation(char *field); /* Sometimes we get bigBed filters with field names that are not in the AS file. * Try to guess what the user means. */ void printInfoIcon(char *mouseover); /* Print info icon (i) with explanatory text on mouseover * Uses jquery icon set, with style customized to GB in jquery-ui.css */ void printRelatedTracks(char *database, struct hash *trackHash, struct trackDb *tdb, struct cart *cart); /* Maybe print a "related track" section */ +struct trackDb *snp125FetchGeneTracks(char *database, struct cart *cart); +/* Get a list of genePred tracks. */ + +struct trackDb *tdbOrAncestorByName(struct trackDb *tdb, char *name); +/* For reasons Angie cannot fathom, if a composite or view is passed to cfgByCfgType then + * cfgByCfgType passes a leaf subtrack to its callees like bigDbSnpCfgUi. That is why we + * see so many calls to isNameAtParentLevel, which returns true if the tdb was originally + * at the composite or view level, which we can only tell by comparing with the original track name. + * labelMakeCheckBox, called by many handlers in hgTrackUi that must be always top-level + * (or have a special handler that bypasses cfgByCfgType like refSeqComposite), + * is blissfully unaware of this. It uses the same tdb for looking in cart ClosestToHome + * and for making the HTML element's cart var name, trusting that the correct tdb has been + * handed to it. + * So in order for a callee of cfgByCfgType to call labelMakeCheckBox with the correct tdb, + * we need to walk back up comparing name like isNameAtParentLevel does. + * If name doesn't match tdb or any of its ancestors then this returns NULL. */ + #endif /* HUI_H */