ae63ce55185746c5fabb2ead8cc20215faada36d max Mon Nov 3 08:03:14 2025 -0800 adding ancient dna track, refs #36592 diff --git src/hg/js/subCfg.js src/hg/js/subCfg.js index c8d0dd8d8dd..e18ecfdd32a 100644 --- src/hg/js/subCfg.js +++ src/hg/js/subCfg.js @@ -40,50 +40,55 @@ visIndependent: false, viewTags: [], markChange: function (eventObj, obj) { // Marks a control as having been changed by the user. Naming will send value to cart. // Note this is often called directly as the onchange event function if (!obj || $.type(obj) === "string") obj = this; $(obj).addClass('changed'); // if the user checked a child checkbox that used to be unchecked, and the parent composite is on hide, // then set the parent composite to pack var compEl = $("[name='"+this.compositeName+"'"); if (compEl.length!==0 && obj.type==="checkbox" && obj.checked && compEl.val()==="hide") - compEl.val("pack"); - - // if the user unchecked a child checkbox that used to be checked, and the parent composite is on pack, - // and no more child is checked, then set the parent composite to hide. - var subCfgs = $(".subCB:checked"); - if (subCfgs.length===0) - compEl.val("hide"); + compEl.val("pack").change(); // checkboxes have hidden boolshads which should be marked when unchecked if (obj.type === "checkbox") { var boolshad = normed($("input.cbShadow#boolshad\\."+obj.id)); if (boolshad) { $(boolshad).addClass('changed'); } else { boolshad = normed($("input.cbShadow[name='boolshad\\." + obj.name+"']")); if (boolshad) { $(boolshad).addClass('changed'); } } + + // if the user unchecked a child checkbox that used to be checked, and the parent composite is on pack, + // and no more child is checked, then set the parent composite to hide. + var subCfgs = $(".subCB:checked"); + if (subCfgs.length===0) { + //$(obj).val("pack"); // + //compEl.val("hide").change(); + compEl.val("hide"); + $(obj).val("hide"); + } } + }, clearChange: function (obj) { // Mark as unchanged $(obj).removeClass('changed'); // checkboxes have hidden boolshads which should be cleared in tandem if (obj.type === "checkbox") { var boolshad = normed($("input.cbShadow#boolshad\\."+obj.id)); if (boolshad) { $(boolshad).removeClass('changed'); } else { boolshad = normed($("input.cbShadow[name='boolshad\\." + obj.name+"']")); if (boolshad) { $(boolshad).removeClass('changed');