4a7a8a5cfc6cddef3873bdef663321bb4d78b5c5 kate Mon Apr 19 11:38:02 2021 -0700 First cut Ana's UI recs for TB main page. refs #27408 diff --git src/hg/hgTables/mainPage.c src/hg/hgTables/mainPage.c index 93668e7..900ae87 100644 --- src/hg/hgTables/mainPage.c +++ src/hg/hgTables/mainPage.c @@ -537,44 +537,82 @@ { slAddTail(&otList, &otAllFields); slAddTail(&otList, &otSelected); } showOutDropDown(otList, otDefault); } void nbSpaces(int count) /* Print some non-breaking spaces. */ { int i; for (i=0; i STEP_MAX) + errAbort("Internal error: table browser help problem"); +hPrintf(" "); +hPrintf(""); +hPrintf("Step %d: %s    %s\n", + num, stepLabels[num-1], stepHelpLinks[num-1], HELP_LABEL); +hPrintf(""); +hPrintf(" "); +} + void showMainControlTable(struct sqlConnection *conn) /* Put up table with main controls for main page. */ { struct grp *selGroup; boolean isWig = FALSE, isPositional = FALSE, isMaf = FALSE, isBedGr = FALSE, isChromGraphCt = FALSE, isPal = FALSE, isArray = FALSE, isBam = FALSE, isVcf = FALSE, isHalSnake = FALSE, isLongTabix = FALSE, isHic = FALSE; boolean gotClade = hGotClade(); struct hTableInfo *hti = NULL; hPrintf("\n"); +int stepNumber = 1; +printStep(stepNumber++); + /* Print clade, genome and assembly line. */ { + if (gotClade) { hPrintf(""); - /* Region line */ { +printStep(stepNumber++); + char *regionType; if (cartVarExists(cart, "hgFind.matches")) // coming back from a search regionType = cartUsualString(cart, hgtaRegionType, hgtaRegionTypeRange); else regionType = cartUsualString(cart, hgtaRegionType, hgtaRegionTypeGenome); char *range = cartUsualString(cart, hgtaRange, ""); if (isPositional) { boolean doEncode = FALSE; if (!trackHubDatabase(database)) doEncode = sqlTableExists(conn, "encodeRegions"); @@ -759,30 +798,32 @@ cgiMakeButton(hgtaDoPasteIdentifiers, "paste list"); hPrintf(" "); cgiMakeButton(hgtaDoUploadIdentifiers, "upload list"); if (identifierFileName() != NULL) { hPrintf(" "); cgiMakeButton(hgtaDoClearIdentifiers, "clear list"); } hPrintf("\n"); } } /* microarray options */ /* button for option page here (median/log-ratio, etc) */ +printStep(stepNumber++); + /* Filter line. */ { hPrintf("\n"); } /* Print output type line. */ + +printStep(stepNumber++); showOutputTypeRow(isWig, isBedGr, isPositional, isMaf, isChromGraphCt, isPal, isArray, isHalSnake); /* Print output destination line. */ { char *compressType = cartUsualString(cart, hgtaCompressType, textOutCompressNone); char *fileName = cartUsualString(cart, hgtaOutFileName, ""); hPrintf("\n"); hPrintf("
clade:\n"); printCladeListHtml(hGenome(database), "change", onChangeClade()); nbSpaces(3); hPrintf("genome:\n"); printGenomeListForCladeHtml(database, "change", onChangeOrg()); } else { hPrintf("
genome:\n"); printGenomeListHtml(database, "change", onChangeOrg()); } nbSpaces(3); hPrintf("assembly:\n"); @@ -652,33 +690,34 @@ else curTrack = tdb; isMaf = isMafTable(database, curTrack, curTable); } /* Table-specific options */ if (isHicTable(curTable)) hicMainPageConfig(cart, hTrackDbForTrack(database,curTable)); hPrintf("
filter:\n"); if (anyFilter()) { cgiMakeButton(hgtaDoFilterPage, "edit"); hPrintf(" "); cgiMakeButton(hgtaDoClearFilter, "clear"); if (isWig || isBedGr) wigShowFilter(conn); } else { cgiMakeButton(hgtaDoFilterPage, "create"); } @@ -864,30 +905,32 @@ { hPrintf("
 (debug: '%s', '%s(%s)')", curTrack->type, tdb2->type, table2); } /* debugging debug ^^^^^ */ #endif } else cgiMakeButton(hgtaDoCorrelatePage, "create"); hPrintf("
\n"); hPrintf("output file: "); cgiMakeTextVar(hgtaOutFileName, fileName, 29); hPrintf(" (leave blank to keep output in browser)
\n"); hPrintf("file type returned: "); cgiMakeRadioButton(hgtaCompressType, textOutCompressNone, sameWord(textOutCompressNone, compressType));