flutter_folderview 0.5.3
flutter_folderview: ^0.5.3 copied to clipboard
A customizable Flutter widget for displaying hierarchical data in tree and folder views with rich theming support.
0.5.3 #
- fix: Recursively collect parent nodes from nested folders in tree mode
0.5.2 #
- perf: Replace
setStatewithValueNotifierfor horizontal scroll offset and hover state to prevent full widget tree rebuilds - perf: Eliminate recursive list spreading in
FlattenService.flatten()by reusing a single mutable list with add/removeLast pattern
0.5.1 #
- fix: Show full text on horizontal scroll instead of ellipsis-truncated text using
OverflowBox
0.5.0 #
- BREAKING CHANGE: Remove
isExpandedproperty fromNode<T>model - nodes are now immutable - BREAKING CHANGE: Add
expandedNodeIdsparameter toFolderView,FolderViewContent, andNodeWidgetfor external expansion state management - BREAKING CHANGE: Update
SizeServicemethods to acceptexpandedNodeIdsparameter - perf: Add incremental expand/collapse with
expandNode()andcollapseNode()methods inFlattenService - perf: Implement text width caching via
_textWidthCacheto reduce expensiveTextPainterlayout calls - perf: Add lazy content width measurement - calculate as nodes render instead of upfront O(N) traversal
- perf: Optimize scroll performance for 20k+ nodes with
Transform.translateanditemExtentonListView.builder - fix: Clamp scroll offset to valid range instead of skipping sync when out of range
- fix: Preserve scroll position on bulk expand/collapse (expandAll/collapseAll) using viewport anchor node
0.4.0 #
- feat: Add
labelResolvertoFolderNodeTheme,ParentNodeTheme,ChildNodeThemefor dynamic label resolution based onnode.data - fix: Update animation controller duration in
didUpdateWidgetwhen themeanimationDurationchanges at runtime
0.2.4 #
- feat: Add
labelResolverto all node themes for dynamic label display
0.2.3 #
- feat: Add
colorandexpandedColorproperties toExpandIconThemefor expand icon color theming
0.2.2 #
- refactor: Unified expand icon logic to ensure consistent node layout alignment
- refactor: Add
isChildparameter to_buildExpandIconfor proper child node spacing
0.2.1 #
- feat: Add
hoverColor,splashColor, andhighlightColorproperties to all node themes for interaction color theming - feat: Add comprehensive tooltip support with
NodeTooltipThemeclass for all node types - feat: Add
rowHeightproperty toFlutterFolderViewThemefor configurable row height - feat: Add
rowSpacingproperty toFlutterFolderViewThemefor vertical spacing between rows - refactor: Remove
iconToTextSpacingproperty from all node themes - now controlled via iconmargin.right
0.2.0 #
- BREAKING CHANGE: Migrate from unified
FolderViewTextThemeandFolderViewIconThemeto node-type specific themes (FolderNodeTheme,ParentNodeTheme,ChildNodeTheme,ExpandIconTheme) - feat: Add custom
Widget?support for each node type instead of hardcodedIconwidgets - feat: Add
openWidgetproperty for folder nodes (displayed when expanded) - feat: Add
paddingandmarginproperties for each widget type - feat: Add
clickIntervalproperty toChildNodeThemefor configurable double-click detection (default: 300ms) - feat: Add
animationDurationproperty toFlutterFolderViewThemefor configurable expand/collapse animation speed - feat: Add theme resolver functions (
widgetResolver,textStyleResolver,selectedTextStyleResolver,openWidgetResolver) for dynamic styling based on node data - feat: Add generic type support
<T>to all theme classes for type-safe access tonode.data
0.1.2 #
- fix: Fixed scroll position being reset when expanding/collapsing nodes by removing contentHeight from SyncedScrollControllers key
0.1.1 #
- fix: Fixed scroll position calculation when switching between view modes or expanding/collapsing nodes
0.1.0 #
- feat: Add dual view modes (Tree and Folder)
- feat: Add three node types (Folder, Parent, Child) for flexible hierarchy representation
- feat: Add multiple line styles (Connector, Scope, None) for visual tree structure
- feat: Add comprehensive theming system (icon, text, line, scrollbar, spacing, node style)
- feat: Add interactive features (selection, tap handlers, expand/collapse animations)
- feat: Add synchronized horizontal and vertical scrolling with custom scrollbars
- feat: Add depth-based indentation for nested nodes
- fix: Correct indent and line positioning for nested nodes based on depth level