UI for multi-select batch editing where eligible item list changes depending on the action
We have a list of items in rows with the first column being a checkbox so you can select it. Additionally, above this grid list of items are several search criteria to narrow down the list i.e. think of the Gmail inbox with emails and the first column is a checkbox and several search type boxes above it to search on specific attributes of the items.
Search By
Filter 1: _____________ Filter 2: _________________
Filter 3: _____________ Filter 4: _________________
Results
[ ] | Item 1 | attribute 1 | attribute 2
[ ] | Item 2 | attribute 1 | attribute 2
[ ] | Item 3 | attribute 1 | attribute 2
The problem is, not every item in the list can have every batch edit action taken upon it. As an example, let's say you search Gmail for a certain subject. The result has emails that are in Trash and your Inbox. If you want to move some of the results to Trash, we don't want the current ones in trash to be selectable.
So we need a way to first let the user tell us what type of action they want to do, then hide checkboxes on the rows where they shouldn't be allowed to do that, then they can check what they want, and finally confirm to perform that action on the selected items.
Idea 1:
We thought about having a button like "Select Items to Move to Trash", which then displays a modal popup that would show only those items that are eligible to move to trash. But they will likely want to do additional filtering by default, and there is already a sophisticated way to filter the items on the current page that we don't want to replicate on the modal. Plus, there is already a sophisticated way to determine which columns they see, which show additional attributes about each item in the list that they may need to make the determination of which items to select. And again, this feature is already on the main page and hence don't want to replicate it.
Idea 2
Add new filters up top to restrict the results below based on the Bulk Action they want to take. i.e. Items Eligible to: Move to Trash or Move to Archive, etc (which are radio buttons). They can select other data limiting filters too, then click Search to bring back the results. In this case, every row would be eligible since we had the highest level filter being that to restrict the results that are eligible for that batch action. If they don't select any of these "Action Filters", we don't display the checkbox column.
Search By
Items Eligible To: [o] Move to Trash [o] Move to Archive
Filter 1: _____________ Filter 2: _________________
Filter 3: _____________ Filter 4: _________________
Results
[ ] | Item 1 | attribute 1 | attribute 2
[ ] | Item 2 | attribute 1 | attribute 2
[ ] | Item 3 | attribute 1 | attribute 2