CarpenterTreeTable<T> constructor

const CarpenterTreeTable<T>({
  1. Key? key,
  2. required List<CarpenterTreeNode<T>> nodes,
  3. CarpenterTreeController? controller,
  4. String treeColumnId = 'tree',
  5. String treeHeader = 'Name',
  6. @Deprecated('Use treeWidth: CarpenterTableColumnWidth.flexible(flex: ...) instead.') int treeFlex = 2,
  7. CarpenterTableColumnWidth? treeWidth,
  8. CarpenterTableColumnAlignment treeAlignment = CarpenterTableColumnAlignment.start,
  9. CarpenterTableColumnVerticalAlignment treeVerticalAlignment = CarpenterTableColumnVerticalAlignment.center,
  10. bool treeResizable = true,
  11. CarpenterTreeTableTreeCellBuilder<T>? treeCellBuilder,
  12. List<CarpenterTreeTableColumn<T>> columns = const [],
  13. Map<String, LengthUnit> columnWidths = const {},
  14. CarpenterTreeTableColumnWidthChanged? onColumnWidthChanged,
  15. Set<Object> expandedIds = const {},
  16. Set<Object> selectedIds = const {},
  17. Set<Object> cutIds = const {},
  18. CarpenterTreeSelectionMode selectionMode = CarpenterTreeSelectionMode.single,
  19. CollectionMultiSelectionBehavior multipleSelectionBehavior = CollectionMultiSelectionBehavior.toggle,
  20. ScrollController? scrollController,
  21. CarpenterTreeExpansionChanged? onExpansionChanged,
  22. CarpenterTreeSelectionChanged? onSelectionChanged,
  23. CarpenterTreeActivation<T>? onActivated,
  24. CarpenterTreeNodePredicate<T>? filter,
  25. CarpenterTreeDropCallback<T>? onDrop,
  26. CarpenterTreeDropAcceptance<T>? canDrop,
  27. CarpenterTreeNodeCallback<T>? onRetryLoad,
  28. CarpenterTreeActionsBuilder<T>? actions,
  29. CarpenterTreeActionsBuilder<T>? secondaryActions,
  30. String actionsHeader = '',
  31. String actionsOverflowLabel = 'Действия',
  32. CarpenterTreeIconBuilder<T>? iconBuilder,
  33. CarpenterDragActivation dragActivation = CarpenterDragActivation.immediate,
  34. Set<CarpenterDragOperation> dragOperations = const {CarpenterDragOperation.move},
  35. bool framed = true,
  36. String semanticLabel = 'Древовидная таблица',
})

Creates a controlled tree-table projection of nodes.

Implementation

const CarpenterTreeTable({
  super.key,
  required this.nodes,
  this.controller,
  this.treeColumnId = 'tree',
  this.treeHeader = 'Name',
  @Deprecated(
    'Use treeWidth: CarpenterTableColumnWidth.flexible(flex: ...) instead.',
  )
  this.treeFlex = 2,
  this.treeWidth,
  this.treeAlignment = CarpenterTableColumnAlignment.start,
  this.treeVerticalAlignment = CarpenterTableColumnVerticalAlignment.center,
  this.treeResizable = true,
  this.treeCellBuilder,
  this.columns = const [],
  this.columnWidths = const {},
  this.onColumnWidthChanged,
  this.expandedIds = const {},
  this.selectedIds = const {},
  this.cutIds = const {},
  this.selectionMode = CarpenterTreeSelectionMode.single,
  this.multipleSelectionBehavior = CollectionMultiSelectionBehavior.toggle,
  this.scrollController,
  this.onExpansionChanged,
  this.onSelectionChanged,
  this.onActivated,
  this.filter,
  this.onDrop,
  this.canDrop,
  this.onRetryLoad,
  this.actions,
  this.secondaryActions,
  this.actionsHeader = '',
  this.actionsOverflowLabel = 'Действия',
  this.iconBuilder,
  this.dragActivation = CarpenterDragActivation.immediate,
  this.dragOperations = const {CarpenterDragOperation.move},
  this.framed = true,
  this.semanticLabel = 'Древовидная таблица',
}) : assert(treeFlex > 0);