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"
 "           &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %s &nbsp;&nbsp;&nbsp;\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. */