4b8ba2cfec3666d658121a82d297c1e07fcf629b braney Tue Jan 23 15:11:36 2018 -0800 ongoing work on hgCollection diff --git src/hg/js/hgCollection.js src/hg/js/hgCollection.js index 0414485..e9c27ce 100644 --- src/hg/js/hgCollection.js +++ src/hg/js/hgCollection.js @@ -30,30 +30,35 @@ var parentId = $(selectedNode).attr('id'); $(selectedTree).jstree("copy_node", nodes, parentId,'last'); } } }; if ($(node).attr('children').length > 0) delete items.addItem; return items; } function currentCollectionItems(node) { // populate the menu for the currentCollection tree var items = { + duplicateItem: { // The "duplicate" menu item + label: "Duplicate", + action: function () { + } + }, deleteItem: { // The "delete" menu item label: "Delete", action: function () { var nodes = $(selectedTree).jstree( "get_selected"); isDirty = true; $(selectedTree).jstree( "delete_node", nodes); } } }; // can't delete root //if ($(node).attr('parent') === '#') //delete items.deleteItem; return items; @@ -302,83 +307,85 @@ $("#doNewCollection").click ( newCollection ); var trackOpt = { hideAfterPaletteSelect : true, color : $('#customColorInput').val(), showPalette: true, showInput: true, preferredFormat: "hex", change: colorChange, }; $("#customColorPicker").spectrum(trackOpt); $.jstree.defaults.core.check_callback = checkCallback; $.jstree.defaults.core.themes.dots = true; $.jstree.defaults.contextmenu.show_at_node = false; - var addedOne = false; + var addedOne = true; + if ( $("#currentCollection ul").length === 0) { + addedOne = false; + } $("#currentCollection div").each(function(index) { - addedOne = true; var newTree = this; $(newTree).jstree({ 'plugins' : ['dnd', 'conditionalselect', 'contextmenu'], 'contextmenu': { "items" : currentCollectionItems}, 'dnd': { "check_callback" : checkCallback, } }); recordNames(newTree); trees[this.id] = $(newTree); $(newTree).on("select_node.jstree", selectTreeNode); $(newTree).on("dblclick.jstree", doubleClickTreeNode); $(newTree).on("copy_node.jstree", function (evt, data) { $(evt.target).jstree("open_node", data.parent); $(evt.target).jstree("set_icon", data.node, 'fa fa-minus-square'); }); $(newTree).on('click', '.jstree-themeicon ', minusHit); // select the first cild var firstChild = $(newTree).find("li").first(); $(newTree).jstree("select_node", $(firstChild).attr("id")); selectedTree = newTree; }); - if (!addedOne) { - dialogCollection(); - } treeDiv=$('#tracks'); treeDiv.jstree({ 'plugins' : ['dnd', 'conditionalselect', 'contextmenu'], 'contextmenu': { "items" : currentTrackItems}, 'dnd': { "check_callback" : checkCallback, 'always_copy' : true, is_draggable: isDraggable, }, 'core' : { "check_callback" : checkCallback } }); treeDiv.on("select_node.jstree", function (evt, data) { $(evt.target).jstree("toggle_node", data.node); }); treeDiv.on('click', '.jstree-themeicon ', plusHit); //var firstElement = $("#collectionList li").first(); //selectElements($("#collectionList"), firstElement) ; + if (!addedOne) { + dialogCollection(); + } } function submitForm() { // Submit the form (from GO button -- as in hgGateway.js) // Show a spinner -- sometimes it takes a while for hgTracks to start displaying. $('.gbIconGo').removeClass('fa-play').addClass('fa-spinner fa-spin'); goTracks = true; saveCollections(trees); } function updatePage(responseJson) { // called after AJAX call isDirty = false; if (!responseJson) { return;