ff9f567866c9c0e9e429e010fcdde9b6af5ea92e
kate
Mon Oct 14 10:07:49 2019 -0700
Add collapsible panel for details of individual interactions in a cluster. Requested by QA. refs #24037
diff --git src/hg/hgc/interactClick.c src/hg/hgc/interactClick.c
index df3824b..dcd49b2 100644
--- src/hg/hgc/interactClick.c
+++ src/hg/hgc/interactClick.c
@@ -1,28 +1,29 @@
/* Details page for interact type tracks */
/* Copyright (C) 2018 The Regents of the University of California
* See README in this or parent directory for licensing information. */
#include "common.h"
#include "obscure.h"
#include "hdb.h"
#include "jksql.h"
#include "hgc.h"
#include "customTrack.h"
#include "trashDir.h"
#include "hex.h"
+#include "jsHelper.h"
#include
#include "interact.h"
#include "interactUi.h"
struct interactPlusRow
{
/* Keep field values in string format, for url processing */
struct interactPlusRow *next;
struct interact *interact;
char **row;
};
static struct interactPlusRow *getInteractsFromTable(struct trackDb *tdb, char *chrom,
int start, int end, char *name, char *foot)
@@ -448,35 +449,46 @@
printf("%s interactions region: "
"%s:%s-%s ",
item, chrom, start+1, end, chrom, startBuf, endBuf);
printf(" %s bp
\n", sizeBuf);
}
else
{
// overlapping items, same start/end/name
doInteractRegionDetails(tdb, inters);
}
multiRegionLink(tdb, item, inters);
printf("
");
}
//genericHeader(tdb, item);
+if (clusterMode && count > 1)
+ {
+ puts("");
+ jsBeginCollapsibleSectionFontSize(cart, tdb->track, "clusterInteractions",
+ "Show individual interactions in cluster", FALSE, "inherit");
+ }
static struct interactPlusRow *ipr = NULL;
for (ipr = iprs; ipr != NULL; ipr = ipr->next)
{
if (count > 1)
printf("
\n");
doInteractItemDetails(tdb, ipr, item, count > 1);
if (foot || (clusterMode && count > 1))
{
struct interact *inter = ipr->interact;
// just one interact (we have these in list for handling clusters earlier)
inter->next = NULL;
doInteractRegionDetails(tdb, inter);
multiRegionLink(tdb, inter->name, inter);
}
if (count > 1 && !isEmptyTextField(ipr->interact->name) && sameString(ipr->interact->name, item))
printf("
\n");
}
+if (clusterMode && count > 1)
+ {
+ jsEndCollapsibleSection();
+ puts("
");
+ }
}