Hello everyone! I’m here to discuss with you batch selection & batch actions in live data.
Current situation
Currently, we don’t have an UI for batch actions for Live Data, nor for Live Table.
New Live Data Property - Enable batch selection
The user may not want all tables to have batch actions available, so we should add to Live Data a property to enable or disable batch actions.
Enabling batch actions would add a column of checkboxes at the beginning of the table.
Design 
Initial state (non-selected)
The column of checkboxes is empty at first.
It will have as a header a 3-state checkbox.
This column cannot be searched, filtered or sorted through.
Selection state
Behavior of selection
The header checkbox and all the items checkboxes function exactly how the Gmail checkboxes work, to keep a familiar UX pattern.
The selection of items is made at page level and filter/sort level. This means that if the user changes the page or inputs a search filter or adds a new sorting rule in any way, the checks made by the user are NOT kept after the query change.
This is pretty similar to how Gmail does it, except they preserve checkboxes state when going to another page, even though they allow batch actions only on the current page.
UI changes when selecting items
When selecting at least 1 item, the batch actions row gets visible below the row of pagination.
The table actions button (for filtering, sorting, etc.) gets hidden to keep the UI cleaner and the attention on the left side.
The number of selected items is signaled first, and then it’s followed immediately by the possible batch actions. We keep everything aligned to the left.
If the user navigates to another page after selection, the row of batch actions disappears and all checkboxes get reset to state 0 (unchecked).
We should also recolor the selected item’s row. See benefits in the proposal page.
This means:
- changing the background color to the one of an info box
- changing the text color to the info box’s text color, to ensure accessibility
- preserve original border color
Design
Batch Deletion screen
After selecting a number of items in a Live Data table, the user chooses Delete and is led to the following screen.
We need a separate screen and not just a confirmation modal because we should let the user select a new target for the deleted pages.
The screen mainly consists of a new live data table made with only the selected pages from the previous screen, with one action column.
That action column, Set new target, can have one of 2 actions available:
- Configure - setting the actual new target, clicking it opens a modal you’ll see next
- Edit - this action will appear only if the user already set the new target, enabling him to edit it. Clicking it leads to the same modal for Configure, just with fields filled in.
The live data table doesn’t need to be filterable, sortable, searchable and shouldn’t have pages.
Set new target modal
Batch Move Screen
After selecting a number of items in a Live Data table, the user chooses Move and is led to the following screen.
In the Items to be moved section, if the user chooses to expand it, he will see all the selected items in a live data. This live data table doesn’t need to be filterable, sortable, searchable and shouldn’t have pages. There are no actions available for these items.