Display large sets of tabular data in a sortable, and filterable table.

Contributors

Adam Butterworth (Deactivated) Jeff Witt (Deactivated)Ange Romanska (Deactivated)Lael Birch (Deactivated)Adam Stankiewicz

Slack channel

https://edx-internal.slack.com/archives/C01DR3NNHPV

Paragon Jira ticket

Alpha version: https://openedx.atlassian.net/browse/PAR-122 (blue star)

v1.0: https://openedx.atlassian.net/browse/PAR-269

v1.x: https://openedx.atlassian.net/browse/PAR-261

Other Jira tickets

Insert links to related work...

Design resources

https://www.figma.com/file/eGmDp94FlqEr4iSqy1Uc1K/Paragon-2021?node-id=9076%3A2354

Technical docs

https://edx.github.io/paragon/table/datatable


Design spec

https://www.figma.com/file/eGmDp94FlqEr4iSqy1Uc1K/Paragon-2021?node-id=10469%3A38059

With filters in the data control bar

https://www.figma.com/file/eGmDp94FlqEr4iSqy1Uc1K/Paragon-2021?node-id=6941%3A12034

Composition (DataTableFrame)

https://www.figma.com/file/eGmDp94FlqEr4iSqy1Uc1K/Paragon-2021?node-id=10469%3A39607

Sub components

Table

https://www.figma.com/file/eGmDp94FlqEr4iSqy1Uc1K/Paragon-2021?node-id=10469%3A39710

TableHeaderRow

https://www.figma.com/file/eGmDp94FlqEr4iSqy1Uc1K/Paragon-2021?node-id=10469%3A39100

TableHeaderRow Subcomponents

https://www.figma.com/file/eGmDp94FlqEr4iSqy1Uc1K/Paragon-2021?node-id=10469%3A39105

TableRow

https://www.figma.com/file/eGmDp94FlqEr4iSqy1Uc1K/Paragon-2021?node-id=10469%3A39110

TableRow Subcomponents

https://www.figma.com/file/eGmDp94FlqEr4iSqy1Uc1K/Paragon-2021?node-id=10469%3A39603

DataControlBar

https://www.figma.com/file/eGmDp94FlqEr4iSqy1Uc1K/Paragon-2021?node-id=10469%3A39611

DisplayControlBar

https://www.figma.com/file/eGmDp94FlqEr4iSqy1Uc1K/Paragon-2021?node-id=10469%3A39615


Meeting notes

Table Review!

Present: Lael Birch (Deactivated) Adam Stankiewicz Adam Butterworth (Deactivated) Adrienne Bolger (Deactivated)

Purpose: What’s left to merge this into Paragon?

Release features:

Alpha

1.0

1.x Future

  • Server side sorting
  • Prevent cell overflows (try Bootstrap-Responsive table feature)
  • Agree on Naming/file locations & implement
  • Add a empty table component that can be passed in and has a sensible default
  • Rename and move components as agreed
  • Filter sidebar

  • Fixing the footer

  • Better testing

  • Checkboxes to match design

  • Better documentation

  • Discovery for Column hiding on mobile (determine 1.0 or 1.1)

  • other mobile responsive behavior

Table spike review

Present: Adam Butterworth (Deactivated) Adam Stankiewicz Lael Birch (Deactivated)

We looked at the table components created in the spike

Decisions

a175938e-592a-4c96-9cd4-1bec13a99fc7DECIDEDb7a4c91c-de3f-4390-a31e-7eef5658c5b4Make components that default to server-side filtering and paginationDECIDED462e8fc2-e037-4bf8-b521-5a1e9c91c730Use css-only solutions for stripes on the table and for sticky columnsDECIDEDf9652fd5-e072-4c69-9ddb-51652c25a866Make components library agnostic, only table wrapper will depend on react-table

Action items:

Enterprise UI meeting

Present: Ange Romanska (Deactivated) Brandon Cooley (Deactivated) Lael Birch (Deactivated) Ken Kehoe

We discussed how the enterprise time line is getting tight, and how it might be best to do an MVP of a table without filters if possible. After the spike and ticket creation, we’ll have a better idea of where to go with this.

Ticket creation

Present: Adam Stankiewicz Adam Butterworth (Deactivated) Lael Birch (Deactivated)

Created Epic for table components https://openedx.atlassian.net/browse/PAR-122
Decisions: Do a Table spike, making some components without styling and figure out styling so that we can have more educated decisions about how to use ReactTable.

Action Items:

Sync

Present: Ange Romanska (Deactivated) Jeff Witt (Deactivated) Brandon Cooley (Deactivated) Adam Stankiewicz Adam Butterworth (Deactivated) Lael Birch (Deactivated)

Reviewed refined design, worked out loading states, discussed accessibility issues

Action Items:

Sync

Present: Ange Romanska (Deactivated) Brandon Cooley (Deactivated) Adam Butterworth (Deactivated) Adam Stankiewicz Lael Birch (Deactivated)

Review of initial table design
Adam Butterworth presented an initial design and received feedback
Discussed adding a “table status” row that keeps the state of the table (rows selected, select all, etc.)

Action Items:

We will start making Paragon tickets after that meeting.

Sync

Present: Adam Butterworth (Deactivated) Brandon Cooley (Deactivated) Lael Birch (Deactivated) Adam Stankiewicz

Goal: come up with generalizable solution
Where we are:

What we want:

Action Items

Sync

Reviewed 3rd party component library options.

ff864fc3-e0ae-4319-9adf-552466f87906DECIDED0eb47abf-e4a4-47ec-8128-5e3feedd9e3eAgreement to leverage the UI agnostic (headless) react-table library. Our components will be designed to work seamlessly with react-table’s API.