initializeNodes<E> function

List<EasyTreeNode<E>> initializeNodes<E>(
  1. List<EasyTreeNode<E>>? nodes, {
  2. EasyTreeConfiguration? configuration,
})

Implementation

List<EasyTreeNode<E>> initializeNodes<E>(
  List<EasyTreeNode<E>>? nodes, {
  EasyTreeConfiguration? configuration,
}) {
  if (nodes == null) return [];
  List<EasyTreeNode<E>> stack = [];
  stack.addAll(nodes);
  while (stack.length > 0) {
    EasyTreeNode<E> node = stack.removeAt(0);
    node.key = EasyTreeKeyProvider.instance.key;
    if (!node.isLeaf) {
      for (EasyTreeNode<E> item in node.children!) {
        item
          ..level = node.level + 1
          ..parent = node
          ..key = EasyTreeKeyProvider.instance.key;
      }
      stack.insertAll(0, node.children!);
    }
  }
  return nodes;
}