360c4c5eac8d3601965eeb830067f45466427437
larrym
Thu Jan 19 09:10:35 2012 -0800
move an input tag to make sure it's inside a td (fixes IE 8 problem; see 4665#note-44)
diff --git src/hg/lib/hui.c src/hg/lib/hui.c
index 42c747e..dd819d9 100644
--- src/hg/lib/hui.c
+++ src/hg/lib/hui.c
@@ -4099,30 +4099,38 @@
{
if ( divisionIfNeeded(lastDivide,dividers,membership) )
colorIx = (colorIx == COLOR_BG_DEFAULT_IX ? COLOR_BG_ALTDEFAULT_IX : COLOR_BG_DEFAULT_IX);
}
// Start the TR which must have an id that is directly related to the checkBox id
char *id = checkBoxIdMakeForTrack(subtrack,membersForAll->members,membersForAll->dimMax,membership); // view is known tag
printf("
\n",id,(!visibleCB && !displayAll?" style='display:none'":""));
// Now the TD that holds the checkbox
printf("
",
(enabledCB?"":" title='view is hidden'"),
(useDragAndDrop?" class='dragHandle' title='Drag to reorder'":""));
+ // A hidden field to keep track of subtrack order if it could change
+ if (sortOrder != NULL || useDragAndDrop)
+ {
+ safef(buffer, sizeof(buffer), "%s.priority", subtrack->track);
+ float priority = (float)cartUsualDouble(cart, buffer, subtrack->priority);
+ printf("", buffer, priority); // keeing track of priority
+ }
+
// The checkbox has identifying classes including subCB and the tag for each dimension (e.g. class='subCB GM12878 CTCF Peak')
dyStringClear(dyHtml);
dyStringAppend(dyHtml, "subCB"); // always first
if (membersForAll->dimensions)
{
for(di=dimX;didimMax;di++)
{
if (membersForAll->members[di] && -1 != (ix = stringArrayIx(membersForAll->members[di]->groupTag, membership->subgroups, membership->count)))
dyStringPrintf(dyHtml," %s",membership->membership[ix]);
}
if (membersForAll->members[dimV] && -1 != (ix = stringArrayIx(membersForAll->members[dimV]->groupTag, membership->subgroups, membership->count)))
dyStringPrintf(dyHtml, " %s",membership->membership[ix]); // Saved view for last
}
else if (membersForAll->abcCount) // "dimensions" don't exist but there may be subgroups anyway
{
@@ -4138,60 +4146,52 @@
#ifdef SUBTRACK_CFG
if (!enabledCB)
{
dyStringAppend(dyHtml, " disabled");
cgiMakeCheckBoxFourWay(buffer,checkedCB,enabledCB,id,dyStringContents(dyHtml),"onclick='matSubCbClick(this);' style='cursor:pointer' title='view is hidden'");
}
else
#endif///def SUBTRACK_CFG
cgiMakeCheckBoxFourWay(buffer,checkedCB,enabledCB,id,dyStringContents(dyHtml),"onclick='matSubCbClick(this);' style='cursor:pointer'");
if (useDragAndDrop)
printf(" ");
#ifdef SUBTRACK_CFG
if (!tdbIsMultiTrack(parentTdb)) // MultiTracks never have independent vis
{
- printf("
"); // An extra column for subVis/wrench so dragAndDrop works
+ printf("
"); // An extra column for subVis/wrench so dragAndDrop works
enum trackVisibility vis = tdbVisLimitedByAncestors(cart,subtrack,FALSE,FALSE);
char *view = NULL;
if (membersForAll->members[dimV]
&& -1 != (ix = stringArrayIx(membersForAll->members[dimV]->groupTag, membership->subgroups, membership->count)))
view = membership->membership[ix];
char classList[256];
if (view != NULL)
safef(classList,sizeof(classList),"clickable fauxInput%s subVisDD %s",(visibleCB ? "":" disabled"),view); // view should be last!
else
safef(classList,sizeof(classList),"clickable fauxInput%s subVisDD",(visibleCB ? "":" disabled"));
#define SUBTRACK_CFG_VIS "
%s
\n"
printf(SUBTRACK_CFG_VIS,subtrack->track,classList,subtrack->track,hStringFromTv(vis));
if (cType != cfgNone) // make a wrench
{
#define SUBTRACK_CFG_WRENCH "\n"
printf(SUBTRACK_CFG_WRENCH,(visibleCB ? "":" disabled"),subtrack->track);
}
- printf("
");
}
+ printf("
");
#endif///def SUBTRACK_CFG
- // A hidden field to keep track of subtrack order if it could change
- if (sortOrder != NULL || useDragAndDrop)
- {
- safef(buffer, sizeof(buffer), "%s.priority", subtrack->track);
- float priority = (float)cartUsualDouble(cart, buffer, subtrack->priority);
- printf("", buffer, priority); // keeing track of priority
- }
-
// A color patch which helps distinguish subtracks in some types of composites
if (doColorPatch)
{
printf("
",
subtrack->colorR, subtrack->colorG, subtrack->colorB);
}
// If sortable, then there must be a column per sortable dimension
if (sortOrder != NULL)
{
int sIx=0;
for(sIx=0;sIxcount;sIx++)
{
ix = stringArrayIx(sortOrder->column[sIx], membership->subgroups, membership->count); // TODO: Sort needs to expand from subGroups to labels as well
if (ix >= 0)