diff --git a/lib/widget/part/bom_list.dart b/lib/widget/part/bom_list.dart index 0e87506e..842361d3 100644 --- a/lib/widget/part/bom_list.dart +++ b/lib/widget/part/bom_list.dart @@ -113,7 +113,7 @@ class _PaginatedBomListState extends PaginatedSearchState { _PaginatedBomListState() : super(); @override - String get prefix => "bom_"; + String get prefix => widget.isParentPart ? "bom_" : "used_in_"; @override Map get orderingOptions => { @@ -122,24 +122,39 @@ class _PaginatedBomListState extends PaginatedSearchState { }; @override - Map> get filterOptions => { - "sub_part_active": { - "label": L10().filterActive, - "help_text": L10().filterActiveDetail, - "tristate": true, - "default": true, - }, - "sub_part_assembly": { - "label": L10().filterAssembly, - "help_text": L10().filterAssemblyDetail, - }, - "sub_part_virtual": { - "label": L10().filterVirtual, - "help_text": L10().filterVirtualDetail, - "tristate": true, - "default": true, - }, - }; + Map> get filterOptions { + Map> filters = {}; + + if (widget.isParentPart) { + // We are displaying a list of components used in this assembly + filters["sub_part_active"] = { + "label": L10().filterActive, + "help_text": L10().filterActiveDetail, + "tristate": true, + "default": true, + }; + filters["sub_part_assembly"] = { + "label": L10().filterAssembly, + "help_text": L10().filterAssemblyDetail, + }; + filters["sub_part_virtual"] = { + "label": L10().filterVirtual, + "help_text": L10().filterVirtualDetail, + "tristate": true, + "default": true, + }; + } else { + // We are displaying a list of assemblies where this part is used + filters["part_active"] = { + "label": L10().filterActive, + "help_text": L10().filterActiveDetail, + "tristate": true, + "default": true, + }; + } + + return filters; + } @override Future requestPage(