Bug fix for list filtering (#566)

- Observe "tristate" values
This commit is contained in:
Oliver 2024-12-06 12:51:02 +11:00 committed by GitHub
parent 707d251853
commit 5dab11ee0c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 11 additions and 2 deletions

View file

@ -50,7 +50,9 @@ abstract class PaginatedSearchState<T extends PaginatedSearchWidget> extends Sta
key = "${prefix}filter_${key}";
Map<String, dynamic> opts = filterOptions[key] ?? {};
dynamic backup = opts["default"];
bool tristate = (opts["tristate"] ?? true) as bool;
dynamic backup = tristate ? null : opts["default"];
final result = await InvenTreeSettingsManager().getValue(key, backup);
return result;
@ -59,7 +61,12 @@ abstract class PaginatedSearchState<T extends PaginatedSearchWidget> extends Sta
// Set the boolean value of a particular boolean filter
Future<void> setFilterValue(String key, dynamic value) async {
key = "${prefix}filter_${key}";
await InvenTreeSettingsManager().setValue(key, value);
if (value == null) {
await InvenTreeSettingsManager().removeValue(key);
} else {
await InvenTreeSettingsManager().setValue(key, value);
}
}
// Construct the boolean filter options for this list