a1231722750f05b919cd3fcf244a5431e26b2b7c braney Sat Feb 17 08:14:05 2018 -0800 add hgCollection menus to top bar and hgTracks right click diff --git src/hg/js/hgTracks.js src/hg/js/hgTracks.js index a1a372b..524e911 100644 --- src/hg/js/hgTracks.js +++ src/hg/js/hgTracks.js @@ -2720,31 +2720,31 @@ imageV2.fullReload(); } else if (cmd === 'addCollection') { var shortLabel = $(menuItemClicked).text().substring(9).slice(0,-1); var ii; var collectionName; for(ii=0; ii < hgTracks.collections.length; ii++) { if ( hgTracks.collections[ii].shortLabel === shortLabel) { collectionName = hgTracks.collections[ii].track; break; } } $.ajax({ type: "PUT", - async: false, + async: true, url: "../cgi-bin/hgCollection", data: "cmd=addTrack&track=" + id + "&collection=" + collectionName + "&hgsid=" + getHgsid(), trueSuccess: mySuccess, success: catchErrorOrDispatch, error: errorHandler, }); imageV2.fullReload(); } else if ((cmd === 'sortExp') || (cmd === 'sortSim')) { url = "hgTracks?hgsid=" + getHgsid() + "&" + cmd + "="; rec = hgTracks.trackDb[id]; if (tdbHasParent(rec) && tdbIsLeaf(rec)) url += rec.parentTrack; else { // The button already has the ref @@ -3261,36 +3261,56 @@ if ( currentlySeen ) { // Remove only when seen o[rightClick.makeImgTag("highlightRemove.png") + " Remove highlight"] = { onclick: rightClick.makeHitCallback('removeHighlight') }; } menu.push(o); } } if (rec.isCustomComposite) { // add delete from composite } + else if ((!rec.hasChildren && !rec.type.startsWith("wigMaf")) && + (rec.type.startsWith("bigWig") || rec.type.startsWith("multiWig") || rec.type.startsWith("wig") || rec.type.startsWith("bedGraph"))) { + o = {}; + o[" Make a New Collection with \"" + rec.shortLabel + "\""] = { + onclick: rightClick.makeHitCallback("newCollection") + }; + menu.push(o); + + if (hgTracks.collections) { + var ii; + for(ii=0; ii < hgTracks.collections.length; ii++) { + o = {}; + o[" Add to \"" + hgTracks.collections[ii].shortLabel + "\""] = { + onclick: rightClick.makeHitCallback("addCollection") + }; + menu.push(o); + } + } + menu.push($.contextMenu.separator); + } // add sort options if this is a custom composite if (rec.isCustomComposite) { o = {}; - o[" Sort by Expression "] = { + o[" Sort by Magnitude "] = { onclick: function(menuItemClicked, menuObject) { rightClick.hit(menuItemClicked, menuObject, "sortExp"); return true; } }; menu.push(o); o = {}; o[" Sort by Similarity "] = { onclick: function(menuItemClicked, menuObject) { rightClick.hit(menuItemClicked, menuObject, "sortSim"); return true; } }; menu.push(o); menu.push($.contextMenu.separator);