[two_dimensional_scrollables] Expose addAutomaticKeepAlives in Table delegates (#5597)

Fixes https://github.com/flutter/flutter/issues/133583

This was waiting on the stable release that add keep alive support. Now it is available in the tableView delegates.
This commit is contained in:
Kate Lovett
2023-12-07 13:19:06 -06:00
committed by GitHub
parent 073bea49a2
commit 0b78be3c08
5 changed files with 31 additions and 6 deletions

View File

@ -1,5 +1,6 @@
## NEXT ## 0.0.5
* Exposes addAutomaticKeepAlives in TableCellBuilderDelegate and TableCellListDelegate
* Fixes bug where having one reversed axis caused incorrect painting of a pinned row. * Fixes bug where having one reversed axis caused incorrect painting of a pinned row.
* Adds support for BorderRadius in TableSpanDecorations. * Adds support for BorderRadius in TableSpanDecorations.

View File

@ -6,8 +6,8 @@ publish_to: 'none'
version: 1.0.0+1 version: 1.0.0+1
environment: environment:
sdk: '>=3.1.0 <4.0.0' sdk: '>=3.2.0 <4.0.0'
flutter: ">=3.13.0" flutter: ">=3.16.0"
dependencies: dependencies:
flutter: flutter:

View File

@ -125,6 +125,7 @@ class TableCellBuilderDelegate extends TwoDimensionalChildBuilderDelegate
int pinnedColumnCount = 0, int pinnedColumnCount = 0,
int pinnedRowCount = 0, int pinnedRowCount = 0,
super.addRepaintBoundaries, super.addRepaintBoundaries,
super.addAutomaticKeepAlives,
required TableViewCellBuilder cellBuilder, required TableViewCellBuilder cellBuilder,
required TableSpanBuilder columnBuilder, required TableSpanBuilder columnBuilder,
required TableSpanBuilder rowBuilder, required TableSpanBuilder rowBuilder,
@ -219,6 +220,7 @@ class TableCellListDelegate extends TwoDimensionalChildListDelegate
int pinnedColumnCount = 0, int pinnedColumnCount = 0,
int pinnedRowCount = 0, int pinnedRowCount = 0,
super.addRepaintBoundaries, super.addRepaintBoundaries,
super.addAutomaticKeepAlives,
required List<List<Widget>> cells, required List<List<Widget>> cells,
required TableSpanBuilder columnBuilder, required TableSpanBuilder columnBuilder,
required TableSpanBuilder rowBuilder, required TableSpanBuilder rowBuilder,

View File

@ -1,12 +1,12 @@
name: two_dimensional_scrollables name: two_dimensional_scrollables
description: Widgets that scroll using the two dimensional scrolling foundation. description: Widgets that scroll using the two dimensional scrolling foundation.
version: 0.0.4 version: 0.0.5
repository: https://github.com/flutter/packages/tree/main/packages/two_dimensional_scrollables repository: https://github.com/flutter/packages/tree/main/packages/two_dimensional_scrollables
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+two_dimensional_scrollables%22+ issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+two_dimensional_scrollables%22+
environment: environment:
sdk: '>=3.1.0 <4.0.0' sdk: '>=3.2.0 <4.0.0'
flutter: ">=3.13.0" flutter: ">=3.16.0"
dependencies: dependencies:
flutter: flutter:

View File

@ -11,6 +11,18 @@ const Widget cell = SizedBox.shrink();
void main() { void main() {
group('TableCellBuilderDelegate', () { group('TableCellBuilderDelegate', () {
test('exposes addAutomaticKeepAlives from super class', () {
final TableCellBuilderDelegate delegate = TableCellBuilderDelegate(
cellBuilder: (_, __) => cell,
columnBuilder: (_) => span,
rowBuilder: (_) => span,
columnCount: 5,
rowCount: 6,
addAutomaticKeepAlives: false,
);
expect(delegate.addAutomaticKeepAlives, isFalse);
});
test('asserts valid counts for rows and columns', () { test('asserts valid counts for rows and columns', () {
TableCellBuilderDelegate? delegate; TableCellBuilderDelegate? delegate;
expect( expect(
@ -205,6 +217,16 @@ void main() {
}); });
group('TableCellListDelegate', () { group('TableCellListDelegate', () {
test('exposes addAutomaticKeepAlives from super class', () {
final TableCellListDelegate delegate = TableCellListDelegate(
cells: <List<Widget>>[<Widget>[]],
columnBuilder: (_) => span,
rowBuilder: (_) => span,
addAutomaticKeepAlives: false,
);
expect(delegate.addAutomaticKeepAlives, isFalse);
});
test('asserts valid counts for rows and columns', () { test('asserts valid counts for rows and columns', () {
TableCellListDelegate? delegate; TableCellListDelegate? delegate;
expect( expect(