We have a hierarchy of products (documents) where there is a global library at the top that consists of all the products we have, a user’s account library that is a subset of the global products, and then locations within the account that are a subset of account products. Account admins can add products from the global library into their account, and to (0, 1 or more) locations within their account. Useful to imagine as a Venn diagram.
Users view their list of products in a table with search and filter options at the top of the table (example table, not the actual application):
Account admins want to be able to filter the products to see where products are assigned or not assigned. One approach we have tried uses check boxes in the filter dropdown, where the checkboxes don’t propagate their state up or down, so any box can be checked or unchecked without regard to another box.
This allows to select at any level, such as the scenario where they want to see all products that are assigned to their account but not assigned to a location:
However, this seems to be very unintuitive (based on observing users), probably due to expectations on how checkboxes work, and where products are assigned in both Account and Location at the same time. In addition it is problematic because when you assign a product to a location, it disappears when the Account filter alone is on as above. If a user has 50 locations and a product is assigned to one location, in order to assign to other locations, the user has to “find” the product (turn on the filter for the location where it is assigned) in order to assign it to other locations. These are the other scenarios customers want:
- see all products in the global library that aren’t currently assigned to my Account;
- See all products in a location or set of locations
We also tried something like this below where the user can ask for the account records that are/aren’t assigned to locations, but that seemed confusing to customers and they seemed to overlook the other options and fine details and scratch their head in wonder when it didn’t behave like they thought:
Is there a better design pattern that is more intuitive for showing/filtering products in these different scenarios?
Thanks in advance for any help.