flutter_basic_table 2.0.0
flutter_basic_table: ^2.0.0 copied to clipboard
A comprehensive and customizable table widget for Flutter with Map-based column management, sorting, selection, theming, and interactive features.
Changelog #
2.0.0 #
π¨ BREAKING CHANGES #
Complete architectural rewrite with Map-based column management. All existing code must be updated.
What Changed
- Columns:
List<BasicTableColumn>
βMap<String, BasicTableColumn>
- Rows:
List<BasicTableCell>
βMap<String, BasicTableCell>
- Column identification: Index-based β ID-based
- Column ordering: List position β
order
field - Callback:
onColumnReorder(int, int)
βonColumnReorder(String, int)
Migration Required
- Add
id
andorder
to all columns - Convert row cells to Map structure
- Update callback signatures
- See Migration Guide for details
β¨ What's New #
Performance π
- 80% faster column reordering (no row data reorganization needed)
- 20% faster cell lookup (direct Map access)
- Sort states persist across column reordering
New Features
- Map-based architecture with ID-based column management
- Enhanced ColumnSortManager with ID-based operations
- Debug tools with column order visualization
- Data validation with integrity checking
- Helper methods for easier migration and data manipulation
New API Methods
BasicTableColumn.reorderColumn()
- Smart column reorderingBasicTableColumn.normalizeOrders()
- Fix order gapsBasicTableRow.getSortedCells()
- Ordered cell renderingBasicTableRow.fillMissingColumns()
- Handle missing cellsonColumnSortById
- ID-based sorting (recommended)
π Fixes #
- Fixed sort state loss during column reordering
- Improved null safety for missing cells
- Enhanced error handling for invalid operations
1.0.2 #
Example Improvements #
- Added column visibility feature with FilterChip controls
- Improved code structure with separated components
- Enhanced UI and state management
1.0.1 #
Fixed #
- Resolved issues with column reordering, ensuring drag-and-drop functionality works correctly across all platforms.
- Fixed sorting bugs, improving the stability of ID-based sorting in
ColumnSortManager
to maintain correct sort states after column reordering. - Enhanced robustness of column reordering and sorting logic to handle dynamic column changes seamlessly.
1.0.0 #
Added #
- Initial release of FlutterBasicTable package
BasicTable
widget with comprehensive table functionality- Support for text, custom widgets, and status indicators in cells
- Column sorting (ascending/descending/none) and reordering
- Row selection with checkbox support
- Complete theming system for all table components
- Custom tooltip system with overflow detection
- Responsive column width calculation
- Row and cell interaction callbacks (tap, double-tap, right-click)
- Synchronized horizontal and vertical scrollbars
- Cross-platform support (Android, iOS, Web, Desktop)