filter method
Filter up to limit
results using filterQuery
. limit
is used instead
of lockedLimit iff unlockLimit is true.
Implementation
@override
DisposableFuture<bool> filter(Object filterQuery, {int? limit = UNLIMITED}) {
_currentLimit = _unlockLimit ? limit : lockedLimit;
// If the limit is locked and finite, only filter one extra item to
// determine if results will be truncated to meet the lockedLimit.
if (limit != null) {
if (!(_unlockLimit || limit == UNLIMITED)) {
limit++;
}
}
DisposableFuture<bool> filtered =
(_options as Filterable).filter(filterQuery, limit: limit);
filtered.then((_) {
_updateFilteredOptions();
});
return filtered;
}