summer_plugin 1.0.6 copy "summer_plugin: ^1.0.6" to clipboard
summer_plugin: ^1.0.6 copied to clipboard

A high-performance table for Flutter with virtual scrolling, fixed columns and header, sorting, filtering, selection, tree data and grouped headers.

CHANGELOG #

1.0.6 #

  • Feature: SummerDataColumn.headerTooltip — a new field that adds a hover tooltip to header cells (previously declared but never rendered).
  • Performance: Pre-computed the disabled-row key set in _buildBody so each body row no longer calls rowDisabler individually — cuts O(n) rowDisabler + rowKey calls per visible row.
  • Performance: Fixed a double rowKey(r) call in the select-all header key set (was calling rowKey twice per row in the set comprehension; now uses a local variable).

1.0.5 #

  • Example/docs only: Fixed a layout overflow in the demo footer on narrow viewports — the summary row used a fixed-width spacer that exceeded the available width; it now renders a plain label consistent with the README example. No library or API changes; consumers on 1.0.4 are unaffected.

1.0.4 #

  • Performance: Memoized the header select-all key set, the expandable-row flatten list, and the column layout — these were previously O(n) per build and now rebuild only when their inputs actually change. Disabled addAutomaticKeepAlives on the body ListView (row data lives in the source, so keep-alive was wasted memory).
  • Footer / summary row: New footer widget property renders a row below the body and above pagination, wrapped with the header background and a top border for visual consistency.

1.0.3 #

  • Theme expansion: 8 new theme fields — iconInactiveColor, controlBorderColor, sortInactiveIcon, paginationActiveColor, paginationHeight, pageButtonSize, fixedColumnShadow, pinnedColumnBackgroundColor, filterResetLabel, filterConfirmLabel.
  • Sort icon fix (P0): _sortIndicator now correctly uses sortAscendingIcon/sortDescendingIcon from the theme instead of hardcoded icons.
  • Row borders: Body cells now draw a full grid (bottom border added), outer DecoratedBox uses top+left+right to avoid double lines.
  • Fixed column shadow: Optional fixedColumnShadow drawn at pinned-column inner edges when the middle band is horizontally scrollable.
  • Pagination theming: paginationActiveColor/paginationHeight/pageButtonSize replace hardcoded values.
  • copyWith nullable reset: Sentinel pattern allows resetting nullable fields (e.g. altRowBackgroundColor, hoverColor) back to null.
  • Filter overlay anchoring: Dropdown now follows table scrolls (no longer drifts from its icon).
  • i18n: Hardcoded Chinese texts replaced — empty state shows 'No data', filter buttons use configurable filterResetLabel/filterConfirmLabel (default 'Reset'/'Confirm').
  • Column visibility: SummerDataColumn.visible controls whether a column is rendered.
  • Selection enhancements: Radio selection can be cancelled by tapping again; SummerRowSelection.rowDisabler supports per-row disable.
  • rowKey stability warning: Documentation now warns that the default rowKey implementation returns the row index, which is unstable under row mutations.
  • Scaffold cleanup: Removed obsolete plugin scaffold files and plugin_platform_interface dependency (the package is a pure-Dart component, not a Flutter plugin).

1.0.2 #

Changelog formatting update: rewritten from Chinese to English to improve readability on pub.dev.

1.0.1 #

No functional code changes in this release. The changelog format itself was updated — the previous list-style version entries were rewritten into flowing narrative paragraphs, making it easier to follow the evolution of the component across releases. This is a documentation-only formatting improvement.

1.0.0 #

First stable release. Introduces the core data table component SummerDataTable. Built on a vertical ListView.builder for virtual scrolling and a single horizontal RenderBox for panning, it achieves solid rendering performance and maintainability without a custom paint loop. Ships with a comprehensive set of commonly needed features out of the box:

  • Fixed header row and pinned left/right columns
  • Single- and multi-column sorting (Shift-click to stack, with priority indicators)
  • Column filter dropdowns
  • Row selection via checkbox or radio
  • Expandable row detail panels
  • Column width drag-to-resize
  • Text ellipsis with tooltip
  • Tree and hierarchical data support
  • Grouped (merged) table headers
  • Loading, empty, and pagination states
  • Theme-based style customization
1
likes
160
points
25
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A high-performance table for Flutter with virtual scrolling, fixed columns and header, sorting, filtering, selection, tree data and grouped headers.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter

More

Packages that depend on summer_plugin