Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Master-child column position synchronization feature #14

Open
webJose opened this issue May 26, 2024 · 1 comment
Open

Master-child column position synchronization feature #14

webJose opened this issue May 26, 2024 · 1 comment
Labels
enhancement New feature or request

Comments

@webJose
Copy link
Contributor

webJose commented May 26, 2024

Motivation

When visualizing tabular data that can be drilled down to more specific records (which is a scenario this data view component is meant to address with its expandable rows feature), it is commonplace that the drilldown table (the table shown as the result of expanding a row) contains at least a subset of the parent table's columns or vice versa.

For example, a financial summary table with columns Continent, Month, Year, Total Income might be the result of summing up more detailed records, say, by individual store sales. Drilling down (expaning a row) a line of this financial summary could reveal an intermediate summary by country with columns Country, Month, Year, Total Income. This intermediate summary, in turn, could be drilled down further.

Proposal

It is a nice visual aid for users reading the data if the columns that are common between the "master" table and the "child" table were aligned. Furthermore, alignment should remain intact even if the user:

  • Pinned a column in the master or child table
  • Resized a column in the master or child table
  • Hid a column in the master or child table

Furthermore, a single master table should be able to synchronize any number of child tables.

Requirements

  • Generally speaking, the number of columns can differ between master and children.
  • The children are not required to be equal among them: A child table's columns may differ from all the other children.
  • Pinning, hiding or resizing a synchronized column in the master or any of the children triggers the same change in all other tables with a corresponding column.
  • Gaps in the layout that arise from the presence of columns that are not part of the synchronization will be filled with filler (blank) columns.
  • Child tables, upon synchronization, may advertise a horizontal offset (positive or negative) for calculation corrections due to potential padding that child tables might receive.
  • Column mapping is done, by default, by comparing column key values, but the API should allow custom mapping.
  • The mapped columns must not be in disarray related to its master table: Generally speaking, if the unmapped colums from the master and child tables were to be removed, the order of the columns that remain (the mapped columns) must be the same.
@webJose webJose added the enhancement New feature or request label May 26, 2024
@webJose
Copy link
Contributor Author

webJose commented Jul 31, 2024

This is a worksheet that depicts what I have so far identified for the algorithm. Anyone is free to comment on the worksheet.

Worksheet link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant