b795edf30f4dc9d618a3f2afeee5a84909a0c36e tdreszer Fri Sep 17 14:07:49 2010 -0700 superTrack children also need the _sel button diff --git src/hg/js/hgTracks.js src/hg/js/hgTracks.js index 96ecebe..e11d4af 100644 --- src/hg/js/hgTracks.js +++ src/hg/js/hgTracks.js @@ -2192,17 +2192,19 @@ var trackName = visName.substring(0,visName.length - "_id".length) var hiddenVis = $("input[name='"+trackName+"']"); var rec = trackDbJson[trackName]; - var subtrack = rec.isSubtrack; if($(seenVis).val() != "hide") $(hiddenVis).val($(seenVis).val()); else { var selCb = $("input#"+trackName+"_sel_id"); $(selCb).attr('checked',false); // Can't set it to [] because that means default setting is used. However, we are explicitly hiding this! $(seenVis).attr('disabled',true); // Can't set it to [] because that means default setting is used. However, we are explicitly hiding this! + var needSel = (rec.parentTrack != undefined); + if (needSel) { var hiddenSel = $("input[name='"+trackName+"_sel']"); $(hiddenSel).val('0'); // Can't set it to [] because that means default setting is used. However, we are explicitly hiding this! $(hiddenSel).attr('disabled',false); - if(subtrack) + } + if(rec.isSubtrack) $(hiddenVis).val("[]"); else $(hiddenVis).val("hide"); @@ -2220,12 +2222,12 @@ var hiddenVis = $("input[name='"+trackName+"']"); var tr = $(selCb).parents('tr.found'); var rec = trackDbJson[trackName]; - var subtrack = rec.isSubtrack; + var needSel = (rec.parentTrack != undefined); var shouldPack = rec.canPack; if (shouldPack && rec.shouldPack != undefined && !rec.shouldPack) shouldPack = false; var checked = $(selCb).attr('checked'); - //warn(trackName +" selName:"+selName +" justClicked:"+justClicked +" hiddenSel:"+$(hiddenSel).attr('name') +" seenVis:"+$(seenVis).attr('id') +" hiddenVis:"+$(hiddenVis).attr('name') +" subtrack:"+subtrack +" shouldPack:"+shouldPack); + //warn(trackName +" selName:"+selName +" justClicked:"+justClicked +" hiddenSel:"+$(hiddenSel).attr('name') +" seenVis:"+$(seenVis).attr('id') +" hiddenVis:"+$(hiddenVis).attr('name') +" needSel:"+needSel +" shouldPack:"+shouldPack); // First deal with seenVis control if(checked) { @@ -2247,13 +2249,13 @@ if(setHiddenInputs) { if(checked) $(hiddenVis).val($(seenVis).val()); - else if(subtrack) + else if(rec.isSubtrack) $(hiddenVis).val("[]"); else $(hiddenVis).val("hide"); $(hiddenVis).attr('disabled',false); - if(subtrack) { + if(needSel) { if(checked) $(hiddenSel).val('1'); else @@ -2299,21 +2301,7 @@ } function findTracksCheckAll(check) -{ - // NOTE: Difficulties with "_sel" and "vis" controls: - // 1) subtracks need both "sel" and "vis", but non-subtracks need only "vis" - // 2) Submit of form instead of ajax is nice (because it allows cancelling changes), but do not want to set any vars, unless specifically changed on form - // 3) When unchecked, need to delete vars instead of set them - // Solution to "sel", "vis" difficulties - // 1) findTracks remains a submit but: - // 2) 'sel' and 'vis' input are not named (won't be submitted) - // 3) hidden disabled and named 'sel' and 'vis' vars exist - // 4a) check subtrack: enable hidden 'sel' and 'vis' track, set to 'on' and pack/full - // 4b) check non-track: enable hidden 'vis', set to pack/full - // 5a) uncheck subtrack: enable hidden 'sel' and 'vis' track, set to '[]' and '[]' - // 5b) uncheck non-track: enable hidden 'vis', set to '[]' - // 6) Change vis: enable hidden 'vis', set to non-hidden vis - +{ // Checks/unchecks all found tracks. var selCbs = $('input.selCb'); $(selCbs).attr('checked',check); @@ -2331,7 +2319,7 @@ function findTracksCheckAllWithWait(check) { - waitOnFunction( findTracksCheckAll, check); // FIXME: wait cursor not working for some reason + waitOnFunction( findTracksCheckAll, check); } function findTracksCounts()