2
0
mirror of https://github.com/inventree/inventree-app.git synced 2026-01-22 10:49:41 +00:00

Default filters (#755)

* 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

* Add "default ordering" option

* Enable pathstring sorting

* dart format
This commit is contained in:
Oliver
2026-01-20 09:11:40 +11:00
committed by GitHub
parent 74f468dc1b
commit 97e4c98e46
4 changed files with 33 additions and 13 deletions

View File

@@ -974,6 +974,9 @@
"passwordEmpty": "Password cannot be empty", "passwordEmpty": "Password cannot be empty",
"@passwordEmpty": {}, "@passwordEmpty": {},
"path": "Path",
"@path": {},
"pending": "Pending", "pending": "Pending",
"@pending": {}, "@pending": {},
@@ -1046,23 +1049,23 @@
"projectCode": "Project Code", "projectCode": "Project Code",
"@projectCode": {}, "@projectCode": {},
"purchaseOrderConfirmScan": "Confirm Scan Data", "purchaseOrderConfirmScan": "Confirm Scan Data",
"@purchaseOrderConfirmScan": {}, "@purchaseOrderConfirmScan": {},
"purchaseOrderConfirmScanDetail": "Confirm details when scanning in items", "purchaseOrderConfirmScanDetail": "Confirm details when scanning in items",
"@purchaseOrderConfirmScanDetail": {}, "@purchaseOrderConfirmScanDetail": {},
"purchaseOrderEnable": "Enable Purchase Orders", "purchaseOrderEnable": "Enable Purchase Orders",
"@purchaseOrderEnable": {}, "@purchaseOrderEnable": {},
"purchaseOrderEnableDetail": "Enable purchase order functionality", "purchaseOrderEnableDetail": "Enable purchase order functionality",
"@purchaseOrderEnableDetail": {}, "@purchaseOrderEnableDetail": {},
"purchaseOrderShowCamera": "Camera Shortcut", "purchaseOrderShowCamera": "Camera Shortcut",
"@purchaseOrderShowCamera": {}, "@purchaseOrderShowCamera": {},
"purchaseOrderShowCameraDetail": "Enable image upload shortcut on purchase order screen", "purchaseOrderShowCameraDetail": "Enable image upload shortcut on purchase order screen",
"@purchaseOrderShowCameraDetail": {}, "@purchaseOrderShowCameraDetail": {},
"purchaseOrder": "Purchase Order", "purchaseOrder": "Purchase Order",
"@purchaseOrder": {}, "@purchaseOrder": {},

View File

@@ -42,6 +42,9 @@ abstract class PaginatedSearchState<T extends PaginatedSearchWidget>
// Override in implementing class // Override in implementing class
String get prefix => "prefix_"; String get prefix => "prefix_";
// Default ordering option (can be overridden)
String get defaultOrdering => "";
// Should be overridden by an implementing subclass // Should be overridden by an implementing subclass
Map<String, Map<String, dynamic>> get filterOptions => {}; Map<String, Map<String, dynamic>> get filterOptions => {};
@@ -103,6 +106,9 @@ abstract class PaginatedSearchState<T extends PaginatedSearchWidget>
if (field != null && orderingOptions.containsKey(field.toString())) { if (field != null && orderingOptions.containsKey(field.toString())) {
// A valid ordering field has been found // A valid ordering field has been found
return field.toString(); return field.toString();
} else if (defaultOrdering.isNotEmpty) {
// A default ordering value is supplied
return defaultOrdering;
} else if (orderingOptions.isNotEmpty) { } else if (orderingOptions.isNotEmpty) {
// By default, return the first specified key // By default, return the first specified key
return orderingOptions.keys.first; return orderingOptions.keys.first;

View File

@@ -61,9 +61,16 @@ class _PaginatedPartCategoryListState
}, },
}; };
@override
String get defaultOrdering => "pathstring";
@override @override
Map<String, String> get orderingOptions { Map<String, String> get orderingOptions {
Map<String, String> options = {"name": L10().name, "level": L10().level}; Map<String, String> options = {
"name": L10().name,
"pathstring": L10().path,
"level": L10().level,
};
// Note: API v69 changed 'parts' to 'part_count' // Note: API v69 changed 'parts' to 'part_count'
if (InvenTreeAPI().apiVersion >= 69) { if (InvenTreeAPI().apiVersion >= 69) {

View File

@@ -52,10 +52,14 @@ class _PaginatedStockLocationListState
@override @override
Map<String, String> get orderingOptions => { Map<String, String> get orderingOptions => {
"name": L10().name, "name": L10().name,
"pathstring": L10().path,
"items": L10().stockItems, "items": L10().stockItems,
"level": L10().level, "level": L10().level,
}; };
@override
String get defaultOrdering => "pathstring";
@override @override
Map<String, Map<String, dynamic>> get filterOptions => { Map<String, Map<String, dynamic>> get filterOptions => {
"cascade": { "cascade": {