insertedNode<Data, Tree extends ITreeNode<Data>> static method

Widget insertedNode<Data, Tree extends ITreeNode<Data>>({
  1. required AnimatedListController<Data> animatedListController,
  2. required int index,
  3. required LeveledItemWidgetBuilder<Tree> builder,
  4. required AutoScrollController scrollController,
  5. required Animation<double> animation,
  6. required double? indentPadding,
  7. required ExpansionIndicator? expansionIndicator,
  8. required ValueSetter<Tree>? onItemTap,
  9. required bool showRootNode,
})

Implementation

static Widget insertedNode<Data, Tree extends ITreeNode<Data>>({
  required AnimatedListController<Data> animatedListController,
  required int index,
  required LeveledItemWidgetBuilder<Tree> builder,
  required AutoScrollController scrollController,
  required Animation<double> animation,
  required double? indentPadding,
  required ExpansionIndicator? expansionIndicator,
  required ValueSetter<Tree>? onItemTap,
  required bool showRootNode,
}) {
  return ValueListenableBuilder<INode>(
    valueListenable: animatedListController.list[index],
    builder: (context, treeNode, _) => ValueListenableBuilder(
      valueListenable: (treeNode as Tree).listenableData,
      builder: (context, data, _) => ExpandableNodeItem<Data, Tree>(
        builder: builder,
        animatedListController: animatedListController,
        scrollController: scrollController,
        node: animatedListController.list[index] as Tree,
        index: index,
        animation: animation,
        indentPadding: indentPadding,
        expansionIndicator: expansionIndicator,
        onItemTap: onItemTap,
        minLevelToIndent: showRootNode ? 0 : 1,
      ),
    ),
  );
}