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

Fix performance issues in table components #199

Open
maxatdetroit opened this issue Apr 19, 2024 · 1 comment · Fixed by #207
Open

Fix performance issues in table components #199

maxatdetroit opened this issue Apr 19, 2024 · 1 comment · Fixed by #207
Assignees
Labels
performance Improve performance of an existing feature

Comments

@maxatdetroit
Copy link
Member

Describe the bug, To Reproduce, Expected behavior:

See CityOfDetroit/detroitmi#1392

Proposed Solution

Remove usage of nested, custom slot components in and child components, then reassess performance profile. Ultimately, the revised table should have an API similar to https://github.com/HTMLElements/smart-table.

If that doesn't achieve the performance we want, we'll have to take a closer look at some of the options in #170.

@maxatdetroit maxatdetroit self-assigned this Apr 19, 2024
@maxatdetroit maxatdetroit added the performance Improve performance of an existing feature label Apr 19, 2024
@maxatdetroit
Copy link
Member Author

Capturing some notes here so I don't lose them:

When it comes to components with many, nested children that need to be styled, but whose content needs to remain in the lightDOM, our options are pretty limited. Good reading: https://is.gd/zAXxtA.

In short:

  • We can't put all the children in a single slot because they won't receive styling from the shadow DOM.
  • We can't remove slots entirely and put everything in the shadowDOM because then content won't receive lightDOM styling.
  • We have to come up with some hybrid wherein most of the children are moved into the ShadowDOM and some are placed into slots (dynamically, not slotted by the user of the design system).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
performance Improve performance of an existing feature
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant