9ab0ae3be4331e190b21e2caef88ed5ddbd44ca9 galt Wed Feb 22 15:29:02 2017 -0800 Fixes #18918. hgTrackUi SuperTrack config had id-conflict. Resolved by adding _check suffix to the checkbox id. diff --git src/hg/js/hui.js src/hg/js/hui.js index 33eaf52..0560f61 100644 --- src/hg/js/hui.js +++ src/hg/js/hui.js @@ -1132,31 +1132,33 @@ } }, plusMinus: function (check) { $("input:checkbox").each(function (i) { $(this).attr("checked",check); superT.childChecked(this,1); if (!check) // all are unchecked so we can hide this whole thing. superT.topVis(check); }); }, childChecked: function (cb,defaultVis) { - var sel = $('select[name="' + cb.id + '"]'); + var name = cb.id; + name = name.substring(0, name.length - "_check".length); + var sel = $('select[name="' + name + '"]'); if (sel && sel.length === 1) { sel = sel[0]; var selIx = parseInt($(sel).attr('selectedIndex')); if (cb.checked && selIx === 0) { // What can be done to more intelligently default this? // All to dense? Probably the best idea // When first rendering page? Then how to save? // Logic is: from [+][-] then dense; from cb, then full if (defaultVis === undefined || defaultVis === null) defaultVis = (sel.options.length - 1); // full superT.selChanged(sel,defaultVis); } else if (!(cb.checked) && selIx !== 0) { superT.selChanged(sel,0); } } @@ -1167,31 +1169,31 @@ var selIx = val; if (val === undefined || val === null) // onchange event selIx = $(sel).attr('selectedIndex'); else // called from childChecked() so set value $(sel).attr('selectedIndex',val); if (selIx === 0) { $(sel).removeClass('normalText'); $(sel).addClass('hiddenText'); } else { $(sel).removeClass('hiddenText'); $(sel).addClass('normalText'); superT.topVis(true); } if (val === undefined || val === null) { // onchange event only - var cb = $('input#'+sel.name); + var cb = $('input#'+sel.name+'_check'); if (cb && cb.length === 1) { cb = cb[0]; $(cb).attr('checked',(selIx > 0)); } } } }; var mat = { // Beginings of matrix object matrix: undefined, dimensions: 0, cellInFocus: undefined, cellHover: function (cell,on)