setFilter method
Implementation
@override
void setFilter(FilteredListFilter<PlutoRow>? filter, {bool notify = true}) {
if (filter == null) {
setFilterRows([]);
}
if (filterOnlyEvent) {
eventManager!.addEvent(
PlutoGridSetColumnFilterEvent(filterRows: filterRows),
);
return;
}
for (final row in iterateAllRowAndGroup) {
row.setState(PlutoRowState.none);
}
var savedFilter = filter;
if (filter != null) {
savedFilter = (PlutoRow row) {
return !row.state.isNone || filter(row);
};
}
if (enabledRowGroups) {
setRowGroupFilter(savedFilter);
} else {
refRows.setFilter(savedFilter);
}
resetCurrentState(notify: false);
notifyListeners(notify, setFilter.hashCode);
}