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)