Preserve Dashboard batch selections when switching mobile/desktop modes.

Review Request #1805 — Created Dec. 9, 2019 and submitted

Review Board
When the Dashboard switches between mobile and desktop modes, the batch
selection state gets all messed up. The internal model knows what's
supposed to be selected, but the checkboxes don't reflect it. The reason
is that the datagrid, behind the scenes, keeps up to two rendered copies
of the table: one for mobile, one for desktop. This means we have two
separate set of checkboxes to deal with, not one.

Now, whenever we switch modes, we re-apply the model's version of the
selection back to the page, ensuring it's always consistent.

Testing Done:
Manually tested by going back-and-forth between modes, toggling
checkboxes each time. Verified that the model and checkboxes were always
in sync.

Unit tests unfortunately cannot be provided due to limitations in the
base DataGrid support, preventing the simulation of mobile/desktop mode.

Reviewed at

Review request changed

Status: Closed (submitted)