3eb3e3814708879cc95ec61b4010d3d65c0ebb6b
kate
Thu Feb 9 17:52:03 2017 -0800
Add CSP compliance (mostly working). refs #18538
diff --git src/hg/hgGtexTrackSettings/hgGtexTrackSettings.c src/hg/hgGtexTrackSettings/hgGtexTrackSettings.c
index 68738c3..00f5bef 100644
--- src/hg/hgGtexTrackSettings/hgGtexTrackSettings.c
+++ src/hg/hgGtexTrackSettings/hgGtexTrackSettings.c
@@ -234,71 +234,93 @@
and a lower panel with a tissue selection list.
*/
{
puts(
"\n"
"
\n"
"
\n");
printConfigPanel(tdb);
printTissueTable(tdb);
puts(
"
\n"
"
\n");
printBodyMap();
puts(
"
\n"
-"
\n");
+" \n"
+);
+}
+
+static void onclickJumpToTop(char *id)
+/* CSP-safe click handler arrows that cause scroll to top */
+{
+char javascript[1024];
+safef(javascript, sizeof javascript, "$('html,body').scrollTop(0);");
+jsOnEventById("click", id, javascript);
}
static void printDataInfo(char *db, struct trackDb *tdb)
{
puts(
"\n"
" \n"
"
Data Information
\n"
"
\n"
-// TODO: move click handler to JS
-" \n"
+);
+#define DATA_INFO_JUMP_ARROW_ID "hgGtexDataInfo_jumpArrow"
+printf(
+" \n",
+DATA_INFO_JUMP_ARROW_ID
+);
+onclickJumpToTop(DATA_INFO_JUMP_ARROW_ID);
+puts(
"
\n"
"
\n"
);
puts(
" \n"
"
\n");
puts("
");
printUpdateTime(db, tdb, NULL);
puts("
");
puts("
");
makeSchemaLink(db, tdb, "View table schema");
puts("
");
puts(
"
\n"
"
\n");
}
static void printTrackDescription(struct trackDb *tdb)
{
puts(
"\n"
" \n"
"
Track Description
\n"
"
\n"
-" \n"
+);
+#define TRACK_INFO_JUMP_ARROW_ID "hgGtexTrackInfo_jumpArrow"
+printf(
+" \n",
+TRACK_INFO_JUMP_ARROW_ID
+);
+onclickJumpToTop(TRACK_INFO_JUMP_ARROW_ID);
+puts(
"
\n"
"
\n"
" \n"
"
\n");
puts(tdb->html);
puts(
"
\n"
"
\n");
}
static struct trackDb *getTrackDb(char *db, char *track)
/* Check if this is an assembly with GTEx track and get trackDb */
{
struct sqlConnection *conn = sqlConnect(db);
if (conn == NULL)