26ba500da825f5877894e3f300c6b0226ea2c1cc
braney
  Thu Sep 21 21:07:13 2017 -0700
toggle tree nodes on seleect

diff --git src/hg/js/hgCollection.js src/hg/js/hgCollection.js
index 2aa6553..086117d 100644
--- src/hg/js/hgCollection.js
+++ src/hg/js/hgCollection.js
@@ -51,31 +51,31 @@
         selectedNode = node;
         selectedTree = tree;
 
         if (type == 'view') 
             $("#viewFuncDiv").show();
         else
             $("#viewFuncDiv").hide();
 
         $("#CustomTrackOptions").show();
         $("#viewFunc").val(viewFunc);
         $("#customName").val(name);
         $("#customDescription").val(description);
         $("#customVis").val(visibility);
         $("#customColorInput").val(color);
         $("#customColorPicker").spectrum("set", color);
-        $(selectedTree).jstree("open_node", selectedNode);
+        $(selectedTree).jstree("toggle_node", selectedNode);
    }
 
     function selectTreeNode(evt, data)             {
         selectNode(evt.target, data.node);
     }
 
     function checkCallback( operation, node, node_parent, node_position, more) {
         // called during a drag and drop action to see if the target is droppable
         if ((operation === "copy_node") ||  (operation === "move_node")) {
             if (node_parent.li_attr.class !== "folder")
                 return false;
         }
 
         return true;
     }
@@ -314,31 +314,33 @@
            $(newTree).on("select_node.jstree", selectTreeNode);
         });
 
         treeDiv=$('#tracks');
         treeDiv.jstree({
                'plugins' : ['dnd', 'conditionalselect'],
                '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);
+        });
 
         var firstElement = $("#collectionList li").first();
         selectElements($("#collectionList"), firstElement) ;
     }
 
     function updatePage(responseJson) {
         // called after AJAX call
         if (!responseJson) {
             return;
         }
         var message = responseJson.serverSays;
         if (message) {
             alert(message);
         }
     }