3e902a1d402062b326fee458ca6fafc02cdcaa64 kate Mon Jan 14 16:08:16 2013 -0800 Limit override of displaySubtracks setting to large composites having a matrix (so large tracks w/o matrix can default show all subtracks) diff --git src/hg/lib/hui.c src/hg/lib/hui.c index ccece19..176f0f5 100644 --- src/hg/lib/hui.c +++ src/hg/lib/hui.c @@ -3966,32 +3966,34 @@ membersForAll_t* membersForAll = membersForAllSubGroupsGet(parentTdb,NULL); int dimCount=0,di; for (di=0;di<membersForAll->dimMax;di++) { if (membersForAll->members[di]) dimCount++; } sortOrder_t* sortOrder = sortOrderGet(cart,parentTdb); boolean preSorted = FALSE; boolean useDragAndDrop = sameOk("subTracks",trackDbSetting(parentTdb, "dragAndDrop")); char buffer[SMALLBUF]; char *displaySubs = NULL; int subCount = slCount(subtrackRefList); #define LARGE_COMPOSITE_CUTOFF 30 -if (subCount > LARGE_COMPOSITE_CUTOFF) +if (subCount > LARGE_COMPOSITE_CUTOFF && membersForAll->dimensions != NULL) { + // ignore displaySubtracks setting for large composites with a matrix as + // matrix effectively shows all safef(buffer,SMALLBUF,"%s.displaySubtracks",parentTdb->track); displaySubs = cartUsualString(cart, buffer,"some"); // track specific defaults to only selected } else { displaySubs = cartUsualString(cart, "displaySubtracks", "all"); // browser wide defaults to all } boolean displayAll = sameString(displaySubs, "all"); // Determine whether there is a restricted until date column boolean restrictions = FALSE; for (subtrackRef = subtrackRefList; subtrackRef != NULL; subtrackRef = subtrackRef->next) { subtrack = subtrackRef->val; (void)metadataForTable(db,subtrack,NULL);