Create reusable Systems table component
Context
The design of the "Scan results" step calls for a sophisticated table with customizable columns.
As of PR #876 the table only supports
- A fixed set of columns
- Checkboxes for selecting rows
There is a SystemsTable component with limited functionality.
Requirements
The confluence doc lists the requirements. In addition:
- Table cells that would overflow should have tooltips to show the full cell text
- Table should be paginated
- The set of columns should be customizable so the component can be used on other pages that list System models.
There is a dataset-specific table that has a lot of similar functionality: https://github.com/ethyca/fides/blob/40b4cc8742fd15aebb00e40c211be309acbc54b0/clients/admin-ui/src/features/dataset/DatasetFieldsTable.tsx#L16
@mfbrown - This issue has some flex, depending on how much we want to commit to the design, and whether this system table is a one-off or will be reused (e.g. on the system page). It's also a unclear to me if the pagination feature is nice-to-have, or if it's must-have (seems likely an org would have lot of results for an AWS scan).
This table is going to make appearances in other scanning tools, potentially our runtime scanner. And yes, I think pagination is a must.
Heh I just stumbled on this issue because, as Michael said, the runtime scanner needs a table like this :)
I'll take an initial stab at generalizing some of it as part of https://github.com/ethyca/fidesctl-plus/pull/229 (I need it in the datamap UI, so I'm hoping to make a portable enough version that we can plop it in fidesui). But I don't think pagination is very useful unless the backend paginates first, so perhaps that can be a follow up ticket?
Follow up paging ticket: https://github.com/ethyca/fidesui/issues/28
Changing the scope of this one to just the table with customizable columns