747eae7a2f3f12196fe59f6b2340f2c61eedac45 kate Tue Nov 15 14:44:59 2016 -0800 Add last updated and schema link. refs #17369 diff --git src/hg/hgGtexTrackSettings/hgGtexTrackSettings.c src/hg/hgGtexTrackSettings/hgGtexTrackSettings.c index 060c1d5..cbb7ff9 100644 --- src/hg/hgGtexTrackSettings/hgGtexTrackSettings.c +++ src/hg/hgGtexTrackSettings/hgGtexTrackSettings.c @@ -28,31 +28,31 @@ { char *assembly = stringBetween("(", ")", hFreezeFromDb(db)); puts( "<a name='TRACK_TOP'></a>\n" " <div class='row gbTrackTitle'>\n" " <div class='col-md-10'>\n" ); printf( " <span class='gbTrackName'>\n" " %s Track\n" " <span class='gbAssembly'>%s</span>\n" " </span>\n" " %s \n" , trackDb->shortLabel, assembly, trackDb->longLabel); puts( -" <a href='#TRACK_HTML' title='Jump to the track description'><span class='gbFaStack fa-stack'><i class='gbGoIcon fa fa-circle fa-stack-2x'></i><i class='gbIconText fa fa-info fa-stack-1x'></i></span></a>\n" +" <a href='#INFO_SECTION' title='Jump to the track description'><span class='gbFaStack fa-stack'><i class='gbGoIcon fa fa-circle fa-stack-2x'></i><i class='gbIconText fa fa-info fa-stack-1x'></i></span></a>\n" " </div>\n" " <div class='col-md-2 text-right'>\n" " <div class='goButtonContainer' title='Go to the Genome Browser'>\n" " <div class='gbGoButton'>GO</div>\n" " <i class='gbGoIcon fa fa-play fa-2x'></i>\n" " </div>\n" " </div>\n" " </div>\n"); } static void printBodyMap() { puts( " <!-- Body Map panel -->\n" " <object id='bodyMapSvg' type='image/svg+xml' class='gbImage gtexBodyMap' data='/images/gtexBodyMap.svg'>\n" @@ -233,60 +233,90 @@ puts( "<!-- Track Configuration Panels -->\n" " <div class='row'>\n" " <div class='col-md-6'>\n"); printBodyMap(); puts( " </div>\n" " <div class='col-md-6'>\n"); printConfigPanel(); printTissueTable(); puts( " </div>\n" " </div>\n"); } +static void printDataInfo() +{ +puts( +"<a name='INFO_SECTION'></a>\n" +" <div class='row gbSectionBanner gbSimpleBanner'>\n" +" <div class='col-md-11'>Data Information</div>\n" +" <div class='col-md-1'>\n" +" <a href='#TRACK_TOP' title='Jump to top of page'>\n" +" <i class='gbBannerIcon gbGoIcon fa fa-lg fa-arrow-circle-up'></i>\n" +" </a>\n" +" </div>\n" +" </div>\n" +); +puts( +" <div class='trackDescriptionPanel'>\n" +" <div class='trackDescription'>\n"); +puts("<div class='dataInfo'>"); +printUpdateTime(db, trackDb, NULL); +puts("</div>"); + +puts("<div class='dataInfo'>"); +makeSchemaLink(db, trackDb, "View table schema"); +puts("</div>"); + +puts( +" </div>\n" +" </div>\n"); +} + static void printTrackDescription() { puts( "<a name='TRACK_HTML'></a>\n" " <div class='row gbSectionBanner gbSimpleBanner'>\n" " <div class='col-md-11'>Track Description</div>\n" " <div class='col-md-1'>\n" " <a href='#TRACK_TOP' title='Jump to top of page'>\n" " <i class='gbBannerIcon gbGoIcon fa fa-lg fa-arrow-circle-up'></i>\n" " </a>\n" " </div>\n" " </div>\n" " <div class='trackDescriptionPanel'>\n" " <div class='trackDescription'>\n"); puts(trackDb->html); puts( " </div>\n" " </div>\n"); } static struct trackDb *getTrackDb(char *database, char *track) /* Check if this is an assembly with GTEx track and get trackDb */ { struct sqlConnection *conn = sqlConnect(db); if (conn == NULL) errAbort("Can't connect to database %s\n", db); char where[256]; safef(where, sizeof(where), "tableName='%s'", track); // TODO: use hdb, hTrackDbList to get table names of trackDb, struct trackDb *tdb = trackDbLoadWhere(conn, "trackDb", where); +trackDbAddTableField(tdb); sqlDisconnect(&conn); return tdb; } static void doMiddle(struct cart *theCart) /* Send HTML with javascript to display the user interface. */ { cart = theCart; // Start web page with new-style header webStartJWestNoBanner(cart, db, "Genome Browser GTEx Track Settings"); puts("<link rel='stylesheet' href='../style/bootstrap.min.css'>"); puts("<link rel='stylesheet' href='../style/hgGtexTrackSettings.css'>"); char *genome = NULL, *clade = NULL; @@ -297,30 +327,31 @@ errAbort("No GTEx track %s found in database %s\n", track, db); version = gtexVersion(track); // Container for bootstrap grid layout puts( "<div class='container-fluid'>\n"); // Print form with configuration HTML, and track description printf( "<form action='%s' name='MAIN_FORM' method=%s>\n\n", hgTracksName(), cartUsualString(cart, "formMethod", "POST")); printTrackHeader(); printTrackConfig(); puts( "</form>"); +printDataInfo(); if (trackDb->html) printTrackDescription(); puts( "</div>"); // Initialize illustration display and handle mouseover and clicks puts("<script src='../js/hgGtexTrackSettings.js'></script>"); webIncludeFile("inc/jWestFooter.html"); webEndJWest(); } int main(int argc, char *argv[]) /* Process CGI / command line. */