collapseNode method

void collapseNode(
  1. String nodeId, {
  2. bool recursively = true,
  3. String? collapseRootNodeId,
})

Implementation

void collapseNode(
  String nodeId, {
  bool recursively = true,
  String? collapseRootNodeId,
}) {
  collapseRootNodeId ??= nodeId;

  final nodesTo = _graph.getRelationsFrom(nodeId).map((relation) {
    return relation.toNodeId;
  }).toList(growable: false);

  for (final nodeToId in nodesTo) {
    if (nodeToId == collapseRootNodeId) continue;

    if (recursively && nodeIsExpanded(nodeToId)) {
      collapseNode(
        nodeToId,
        recursively: recursively,
        collapseRootNodeId: collapseRootNodeId,
      );
    }
    hideNode(nodeToId);
  }
}