42e858d2e24ec0a9ad1c352c5fc27eaecb6bddda tdreszer Mon Jun 6 13:39:07 2011 -0700 individual track visibility options are confusing when rightClicking the sideButton and the sideButton is for more than one track. They are being removed. diff --git src/hg/js/hgTracks.js src/hg/js/hgTracks.js index 86d931c..23f1f68 100644 --- src/hg/js/hgTracks.js +++ src/hg/js/hgTracks.js @@ -1899,65 +1899,73 @@ var menu = []; var selectedImg = makeImgTag("greenChecksm.png"); var blankImg = makeImgTag("invisible16.png"); var done = false; if(selectedMenuItem && selectedMenuItem.id != null) { var href = selectedMenuItem.href; var isHgc, isGene; if(href) { isGene = href.match("hgGene"); isHgc = href.match("hgc"); } var id = selectedMenuItem.id; var rec = trackDbJson[id]; var offerHideSubset = false; var offerHideComposite = false; + var offerSingles = true; var row = $( 'tr#tr_' + id ); if (row) { var btn = $(row).find('p.btnBlue'); // btnBlue means cursor over left button if (btn.length == 1) { var compositeSet = imgTblCompositeSet(row); if (compositeSet && compositeSet.length > 0) { // There is a composite set offerHideComposite = true; $( compositeSet ).find('p.btn').addClass('blueButtons'); // blue persists var subSet = imgTblContiguousRowSet(row); - if (subSet && subSet.length > 1 && subSet.length < compositeSet.length) { + if (subSet && subSet.length > 1) { + offerSingles = false; + if(subSet.length < compositeSet.length) { offerHideSubset = true; $( subSet ).addClass("greenRows"); // green persists } } } } + } - // First option is hide whole set + // First option is hide sets if (offerHideComposite) { if (offerHideSubset) { var o = new Object(); o[blankImg + " hide track subset (green)"] = {onclick: makeContextMenuHitCallback('hideSet')}; menu.push(o); } var o = new Object(); var str = blankImg + " hide track set"; if (offerHideSubset) str += " (blue)"; o[str] = {onclick: makeContextMenuHitCallback('hideComposite')}; menu.push(o); - menu.push($.contextMenu.separator); } + // Second set of options: visibility for single track + if (offerSingles) { + if (offerHideComposite) + menu.push($.contextMenu.separator); + // XXXX what if select is not available (b/c trackControlsOnMain is off)? // Move functionality to a hidden variable? var select = $("select[name=" + id + "]"); if (select.length > 1) // Not really needed if $('#hgTrackUiDialog').html(""); has worked select = [ $(select)[0] ]; var cur = $(select).val(); if(cur) { $(select).children().each(function(index, o) { var title = $(this).val(); var str = blankImg + " " + title; if(title == cur) str = selectedImg + " " + title; var o = new Object(); o[str] = {onclick: function (menuItemClicked, menuObject) { contextMenuHit(menuItemClicked, menuObject, title); return true;}}; menu.push(o); @@ -1974,30 +1982,32 @@ if(rec.canPack || (visibilityStrs[i] != "pack" && visibilityStrs[i] != "squish")) { if(rec.localVisibility) { if(visibilityStrs[i] == rec.localVisibility) { str = selectedImg + " " + visibilityStrs[i]; } } else if(visibilityStrs[i] == visibilityStrsOrder[rec.visibility]) { str = selectedImg + " " + visibilityStrs[i]; } o[str] = {onclick: makeContextMenuHitCallback(visibilityStrs[i])}; menu.push(o); } } done = true; } } + } + if(done) { var o = new Object(); var any = false; var title = selectedMenuItem.title || "feature"; if(isGene || isHgc || id == "wikiTrack") { // Add "Open details..." item var displayItemFunctions = false; if(rec) { if(rec.type.indexOf("wig") == 0 || rec.type.indexOf("bigWig") == 0 || id == "wikiTrack") { displayItemFunctions = false; } else if(rec.type.indexOf("expRatio") == 0) { displayItemFunctions = title != "zoomInMore"; } else { displayItemFunctions = true; }