tablex 0.2.0
tablex: ^0.2.0 copied to clipboard
A production-grade Flutter data grid with zero dependency on any third-party grid engine.
0.2.0 #
New features #
TablexConsumer— high-level widget that wrapsTablex.lazyPagedwith a bordered container, optional title/filter header slots, automatic filter-chip bar, and controller lifecycle management.- Sliding-window infinite scroll —
Tablex.infinitenow accepts awindowPagesparameter. Old pages are evicted as new ones arrive; scroll-position compensation viajumpTokeeps the viewport stable. - Skeleton loading —
TablexLoadingBuilderpre-populates the grid with placeholder rows so a shimmer library (e.g. Skeletonizer) has real content to animate over, on bothlazyPagedandinfinitegrids. - Custom pagination footer —
footerBuilderonTablex.lazyPagedandTablexConsumerfully replaces the default footer.enablePageJumpmakes the page indicator an editable text field. TablexToolbar— drop-in toolbar with column-visibility management, CSV export (formula-injection protected), Excel export, CSV import, and Excel import. Each action can be overridden individually.prependRows/removeFirstRows/removeLastRowsonTablexController— used internally by the sliding-window but available for manual row management.- Sort race-condition guard — a generation counter on
Tablex.infiniteensures that in-flight fetch results are discarded when a sort or reset fires before they resolve.
Bug fixes #
- Fixed infinite-scroll first-page load using
appendRowsinstead ofreplaceRowsafter a sort reset, causing skeleton rows to persist above the sorted results. - Fixed header row being included in the skeleton loading scope, causing column headers to shimmer on re-fetch.
Tests #
- Added 13 unit tests for the sliding-window controller methods (
prependRows,removeFirstRows,removeLastRows). - Added 26 widget + unit tests covering
TablexQuery.copyWith, static sort (ascending, descending, clear, icons), lazy-paged fetch (initial query, sort re-fetch, error state, custom error widget), and infinite-scroll (skeleton replace, sort re-fetch, stale-result discard).
0.1.0 #
- Initial release.
- Four grid modes:
static,lazyPaged,infinite, andselect. - Built-in cell renderers:
identifier,twoLine,avatarTwoLine,currency,date,statusChip,actions. - Column resizing, sorting, and column-visibility manager.
- Three density presets:
compact,standard,comfortable. - Multi-row selection with customisable summary bar and bulk actions.
- Theming via
TablexThemeData. - i18n support via
slang.