Default filters (#749)

* Bug fix for filters

- Fix key shadowing

* Adjust default filters for stock list

* Adjust default filter values

* Add "active" filter for stock items

* Code formatting
This commit is contained in:
Oliver 2026-01-15 13:20:24 +11:00 committed by GitHub
parent 9002fb78d3
commit 74f468dc1b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 24 additions and 9 deletions

View file

@ -47,25 +47,28 @@ abstract class PaginatedSearchState<T extends PaginatedSearchWidget>
// Return the boolean value of a particular boolean filter
Future<dynamic> getFilterValue(String key) async {
key = "${prefix}filter_${key}";
final String settings_key = "${prefix}filter_${key}";
Map<String, dynamic> opts = filterOptions[key] ?? {};
bool tristate = (opts["tristate"] ?? true) as bool;
dynamic backup = tristate ? null : opts["default"];
final result = await InvenTreeSettingsManager().getValue(key, backup);
dynamic backup = tristate ? opts["default"] : opts["default"] ?? false;
final result = await InvenTreeSettingsManager().getValue(
settings_key,
backup,
);
return result;
}
// Set the boolean value of a particular boolean filter
Future<void> setFilterValue(String key, dynamic value) async {
key = "${prefix}filter_${key}";
final String settings_key = "${prefix}filter_${key}";
if (value == null) {
await InvenTreeSettingsManager().removeValue(key);
await InvenTreeSettingsManager().removeValue(settings_key);
} else {
await InvenTreeSettingsManager().setValue(key, value);
await InvenTreeSettingsManager().setValue(settings_key, value);
}
}