src/expandCollapseUtilities.js
function (nodes, options) {
    // If there is just one node to expand we need to animate for fisheye view, but if there are more then one node we do not
    if (nodes.length === 1) {
      
      var node = nodes[0];
      if (node._private.data.collapsedChildren != null) {
        // Expand the given node the third parameter indicates that the node is simple which ensures that fisheye parameter will be considered
        this.expandNode(node, options.fisheye, true, options.animate, options.layoutBy);
      }
    } 
    else {
      // First expand given nodes and then perform layout according to the layoutBy parameter
      this.simpleExpandGivenNodes(nodes, options.fisheye);
      this.endOperation(options.layoutBy);
    }

    /*
     * return the nodes to undo the operation
     */
    return nodes;
  }
function (nodes, options) {
    // If there is just one node to expand we need to animate for fisheye view, but if there are more then one node we do not
    if (nodes.length === 1) {
      
      var node = nodes[0];
      if (node._private.data.collapsedChildren != null) {
        // Expand the given node the third parameter indicates that the node is simple which ensures that fisheye parameter will be considered
        this.expandNode(node, options.fisheye, true, options.animate, options.layoutBy);
      }
    } 
    else {
      // First expand given nodes and then perform layout according to the layoutBy parameter
      this.simpleExpandGivenNodes(nodes, options.fisheye);
      this.endOperation(options.layoutBy);
    }

    /*
     * return the nodes to undo the operation
     */
    return nodes;
  }
function ( nodes , options ) { // If there is just one node to expand we need to animate for fisheye view, but if there are more then one node we do not if ( nodes . length === 1 ) { var node = nodes [ 0 ] ; if ( node . _private . data . collapsedChildren != null ) { // Expand the given node the third parameter indicates that the node is simple which ensures that fisheye parameter will be considered this . expandNode ( node , options . fisheye , true , options . animate , options . layoutBy ) ; } } else { // First expand given nodes and then perform layout according to the layoutBy parameter this . simpleExpandGivenNodes ( nodes , options . fisheye ) ; this . endOperation ( options . layoutBy ) ; } /*
     * return the nodes to undo the operation
     */ return nodes ; }
Expand the given nodes perform end operation after expandation
Expand the given nodes perform end operation after expandation