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": {},
"path": "Path",
"@path": {},
"pending": "Pending",
"@pending": {},
@@ -1046,23 +1049,23 @@
"projectCode": "Project Code",
"@projectCode": {},
"purchaseOrderConfirmScan": "Confirm Scan Data",
"@purchaseOrderConfirmScan": {},
"purchaseOrderConfirmScan": "Confirm Scan Data",
"@purchaseOrderConfirmScan": {},
"purchaseOrderConfirmScanDetail": "Confirm details when scanning in items",
"@purchaseOrderConfirmScanDetail": {},
"purchaseOrderConfirmScanDetail": "Confirm details when scanning in items",
"@purchaseOrderConfirmScanDetail": {},
"purchaseOrderEnable": "Enable Purchase Orders",
"@purchaseOrderEnable": {},
"purchaseOrderEnable": "Enable Purchase Orders",
"@purchaseOrderEnable": {},
"purchaseOrderEnableDetail": "Enable purchase order functionality",
"@purchaseOrderEnableDetail": {},
"purchaseOrderEnableDetail": "Enable purchase order functionality",
"@purchaseOrderEnableDetail": {},
"purchaseOrderShowCamera": "Camera Shortcut",
"@purchaseOrderShowCamera": {},
"purchaseOrderShowCamera": "Camera Shortcut",
"@purchaseOrderShowCamera": {},
"purchaseOrderShowCameraDetail": "Enable image upload shortcut on purchase order screen",
"@purchaseOrderShowCameraDetail": {},
"purchaseOrderShowCameraDetail": "Enable image upload shortcut on purchase order screen",
"@purchaseOrderShowCameraDetail": {},
"purchaseOrder": "Purchase Order",
"@purchaseOrder": {},

View File

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

View File

@@ -61,9 +61,16 @@ class _PaginatedPartCategoryListState
},
};
@override
String get defaultOrdering => "pathstring";
@override
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'
if (InvenTreeAPI().apiVersion >= 69) {

View File

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