diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index cab9260c..4f6560f3 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -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": {}, diff --git a/lib/widget/paginator.dart b/lib/widget/paginator.dart index 4aa6be1c..123c7abe 100644 --- a/lib/widget/paginator.dart +++ b/lib/widget/paginator.dart @@ -42,6 +42,9 @@ abstract class PaginatedSearchState // 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> get filterOptions => {}; @@ -103,6 +106,9 @@ abstract class PaginatedSearchState 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; diff --git a/lib/widget/part/category_list.dart b/lib/widget/part/category_list.dart index ced2783b..b90f2f6b 100644 --- a/lib/widget/part/category_list.dart +++ b/lib/widget/part/category_list.dart @@ -61,9 +61,16 @@ class _PaginatedPartCategoryListState }, }; + @override + String get defaultOrdering => "pathstring"; + @override Map get orderingOptions { - Map options = {"name": L10().name, "level": L10().level}; + Map options = { + "name": L10().name, + "pathstring": L10().path, + "level": L10().level, + }; // Note: API v69 changed 'parts' to 'part_count' if (InvenTreeAPI().apiVersion >= 69) { diff --git a/lib/widget/stock/location_list.dart b/lib/widget/stock/location_list.dart index a27182d1..d59c369e 100644 --- a/lib/widget/stock/location_list.dart +++ b/lib/widget/stock/location_list.dart @@ -52,10 +52,14 @@ class _PaginatedStockLocationListState @override Map get orderingOptions => { "name": L10().name, + "pathstring": L10().path, "items": L10().stockItems, "level": L10().level, }; + @override + String get defaultOrdering => "pathstring"; + @override Map> get filterOptions => { "cascade": {