Previews use the old BodyTable component which is renamed to BodyPreviewTable. We probably want to consolidate these, but I left the old one in place to make sure nothing breaks, as the two tables behave differently.
Rows for the virtualized body are fetched in batches of 100 rows from /ds/get and stored in local state.
ContentLoader (animated loading state placeholders) are shown when the overall table is first loading and when new rows are being fetched but haven't yet returned from the server.
TODO: the local state used to store fetched rows will grow indefinitely, and could get huge if a user loads an entire dataset with many 100-row api calls. We will want to limit the size of this local state, and prune rows that are far away from the section the user is viewing. We can punt on this until it becomes a problem.
Adds
react-virtualized
toBodyTable
(Closes #158)BodyTable
component which is renamed toBodyPreviewTable
. We probably want to consolidate these, but I left the old one in place to make sure nothing breaks, as the two tables behave differently./ds/get
and stored in local state.ContentLoader
(animated loading state placeholders) are shown when the overall table is first loading and when new rows are being fetched but haven't yet returned from the server.TODO: the local state used to store fetched rows will grow indefinitely, and could get huge if a user loads an entire dataset with many 100-row api calls. We will want to limit the size of this local state, and prune rows that are far away from the section the user is viewing. We can punt on this until it becomes a problem.