f8b81fa07495f9e71fabbed2f539adee95dd2403 chmalee Tue Nov 7 15:47:59 2023 -0800 Put some basic code for checking associated chain vis into the chainHprc details tables. Needs to be fixed up more, refs #32562 diff --git src/hg/js/hgc.js src/hg/js/hgc.js index 211a1d3..4798290 100644 --- src/hg/js/hgc.js +++ src/hg/js/hgc.js @@ -138,31 +138,31 @@ newTableNode = makePopTable(data); else newTableNode = makeGenericTable(data); return newTableNode ; } function makeVisInput(parentEl, name, trackName="", defaultVis="Hide") { ["Hide","Dense","Squish","Pack","Full"].forEach(function(vis) { let label = document.createElement("label"); //label.classList.add(name); let ctrl = document.createElement("input"); ctrl.classList.add(name); ctrl.type = "radio"; ctrl.name = name; ctrl.value = vis; - if (defaultVis == vis) { + if (defaultVis.toLowerCase() === vis.toLowerCase()) { ctrl.checked = true; } ctrl.setAttribute("data-default", ctrl.checked); if (trackName.length > 0) { ctrl.setAttribute("data-trackName", trackName); } label.appendChild(ctrl); label.append(vis); parentEl.append(label); }); } function makeSetAllDiv(parentEl, text, classPre) { let textDiv = document.createElement("div"); textDiv.append(text); @@ -209,31 +209,33 @@ newForm.append(submitBtn); let newTblDiv = document.createElement("div"); newTblDiv.classList.add("chainBreak"); newForm.append(newTblDiv); setAllText = "Change display mode of all assembly chain tracks"; makeSetAllDiv(newTblDiv, setAllText, "topSetAll"); // go through and make each link asms.split(",").forEach(function(asm) { asmSafe = asm.replaceAll(".","_"); let trackTextDiv = document.createElement("div"); trackTextDiv.append(asmSafe + " display mode:"); newTblDiv.append(trackTextDiv); let trackCtrlDiv = document.createElement("div"); - makeVisInput(trackCtrlDiv, asmSafe+"SetVis", trackName=asm); + let defaultVis = "Hide"; + if (typeof chainVis !== "undefined" && asm in chainVis) {defaultVis = chainVis[asm];} + makeVisInput(trackCtrlDiv, asmSafe+"SetVis", trackName=asm, defaultVis=defaultVis); newTblDiv.append(trackCtrlDiv); trackTextDiv.classList.add("gridItem"); trackCtrlDiv.classList.add("gridItem"); // TODO: allow makeVisInput to take a default vis $("."+asmSafe+"SetVis").each(function(i, clickedElem) { clickedElem.addEventListener("click", function(e) { $("[class$=SetAllVis]").each(function(i, radioElem) { if (radioElem.checked) { radioElem.checked = false; } }); }); }); }); if (asms.split(",").length > 25 ) {