Skip to content
This repository was archived by the owner on May 20, 2023. It is now read-only.

Commit 1c2b513

Browse files
Googlernshahan
authored andcommitted
Use generic type for table selection model SelectableGetter.
PiperOrigin-RevId: 173287447
1 parent ef24ea0 commit 1c2b513

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

lib/model/selection/table_selection_model.dart

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ abstract class BaseTableSelectionModel<T> implements SelectionModel<T> {
4848
/// be selected at a time and the select-all control is not available.
4949
factory BaseTableSelectionModel.single(
5050
{KeyProvider<T> keyProvider,
51-
SelectableGetter getSelectable,
51+
SelectableGetter<T> getSelectable,
5252
bool deselectOnRemove: true}) =>
5353
new _SingleTableSelectionModelImpl(
5454
keyProvider: keyProvider,
@@ -61,7 +61,7 @@ abstract class BaseTableSelectionModel<T> implements SelectionModel<T> {
6161
/// tool cell for selecting table entries.
6262
factory BaseTableSelectionModel.multi(
6363
{KeyProvider<T> keyProvider,
64-
SelectableGetter getSelectable,
64+
SelectableGetter<T> getSelectable,
6565
bool deselectOnRemove: true}) {
6666
return new _TableSelectionModelImpl(
6767
keyProvider: keyProvider,
@@ -74,10 +74,10 @@ abstract class BaseTableSelectionModel<T> implements SelectionModel<T> {
7474
/// user intent to do bulk action on all entries (even those not currently
7575
/// visible in a given context).
7676
abstract class TableSelectionModel<T> extends BaseTableSelectionModel<T>
77-
implements SelectableWithComposition, MultiSelectionModel<T> {
77+
implements SelectableWithComposition<T>, MultiSelectionModel<T> {
7878
factory TableSelectionModel(
7979
{KeyProvider<T> keyProvider,
80-
SelectableGetter getSelectable,
80+
SelectableGetter<T> getSelectable,
8181
bool deselectOnRemove: true}) {
8282
return new _TableSelectionModelImpl(
8383
keyProvider: keyProvider,
@@ -86,7 +86,7 @@ abstract class TableSelectionModel<T> extends BaseTableSelectionModel<T>
8686
}
8787

8888
@override
89-
SelectableGetter getSelectable;
89+
SelectableGetter<T> getSelectable;
9090

9191
/// If the table supports selection over multiple pages.
9292
bool supportsMultiplePageSelection;
@@ -143,7 +143,7 @@ class _SingleTableSelectionModelImpl<T> extends Observable<ChangeRecord>
143143
IsIndeterminate isIndeterminate;
144144

145145
@override
146-
SelectableGetter getSelectable;
146+
SelectableGetter<T> getSelectable;
147147

148148
_SingleTableSelectionModelImpl(
149149
{KeyProvider<T> keyProvider,
@@ -245,7 +245,7 @@ class _TableSelectionModelImpl<T> extends Observable<ChangeRecord>
245245
bool supportsMultiplePageSelection = true;
246246

247247
@override
248-
SelectableGetter getSelectable;
248+
SelectableGetter<T> getSelectable;
249249

250250
/// Returns number of items selected in the model.
251251
int get _selectedCount => _backingModel.selectedValues.length;

lib/src/model/selection/interfaces/selectable.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
/// - Hidden - the item is not selectable, and no checkbox is present.
1111
enum SelectableOption { Selectable, Disabled, Hidden }
1212

13-
typedef SelectableOption SelectableGetter(var entity);
13+
typedef SelectableOption SelectableGetter<T>(T entity);
1414

1515
/// Interface for determining if an entity [T] should be shown as selectable.
1616
///
@@ -34,7 +34,7 @@ abstract class Selectable<T> {
3434
/// class MySelectionOptions = SelectionOptions with SelectableWithComposition;
3535
abstract class SelectableWithComposition<T> {
3636
/// Whether [item] should be shown as selectable.
37-
SelectableGetter getSelectable = (T item) => SelectableOption.Selectable;
37+
SelectableGetter<T> getSelectable = (T item) => SelectableOption.Selectable;
3838
}
3939

4040
/// An optional interface for describing why an item is/is not selectable.

0 commit comments

Comments
 (0)