tree2 function

  1. @Riverpod(dependencies: [ComponentTreeNotifier])
List<TreeViewNode<ElementNode>> tree2(
  1. Ref ref
)

Implementation

@Riverpod(dependencies: [ComponentTreeNotifier])
List<TreeViewNode<ElementNode>> tree2(Ref ref) {
  final node = ref.watch(componentTreeNotifierProvider);
  List<TreeViewNode<ElementNode>> getNodes(List<Tree> tree) {
    return [
      for (final node in tree)
        TreeViewNode(
          node.data.data,
          children: getNodes(node.children),
          expanded: node.data.isExpanded,
        ),
    ];
  }

  return getNodes(node.children);
}