-
Notifications
You must be signed in to change notification settings - Fork 8
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
nimble-table data doesn't render in Safari #984
Comments
Possibly related FAST bug: microsoft/fast#6537 It links to a webkit bug which is closed as "expected behavior" due to a recent web components spec change and discussion about whether the spec change is a good idea. |
@rajsite noticed that the table cell has an isConnected call that should be |
Sweet! It fixes it for me! |
# Pull Request ## 🤨 Rationale Fixes #984 ## 👩💻 Implementation As @rajsite and @msmithNI suggested in the linked issue, use `this.$fastController.isConnected` instead of `this.isConnected` in the table cell's `cellTemplateChanged()` method. ## 🧪 Testing I manually tested in Safari in Storybook and the Angular example app. Malcolm tested in Playwright's Safari. Auto tests would be covered by #990. ## ✅ Checklist <!--- Review the list and put an x in the boxes that apply or ~~strike through~~ around items that don't (along with an explanation). --> - [x] I have updated the project documentation to reflect my changes or determined no changes are needed.
🐛 Bug Report
When you open a demo page that contains a
nimble-table
in Safari, the table shows empty cells and there are errors in the dev tools console.💻 Repro or Code Sample
Visit https://nimble.ni.dev/storybook/example-client-app/#/customapp in Safari and scroll to the table example
🤔 Expected Behavior
Table renders data like it does in other browsers.
😯 Current Behavior
Repeated console errors:
💁 Possible Solution
Not a solution, but some initial debugging showed:
cellTemplateChanged()
(incell/index.ts
) is called many times butthis.isConnected
is false so it exits early.cellTemplateChanged()
is being called many times butthis.isConnected
is true. Howeverthis.cellContentContainer
is undefined. This results in a call within FAST code toview.appendTo(undefined)
and thusundefined.appendChild()
.🔦 Context
First noticed when testing virtualization in different browsers: #966 (comment)
When this is fixed we should re-validate that scrolling performance is good in Safari (no flickering).
🌍 Your Environment
@msmithNI also reproduced in the Windows WebKit build from Playwright: https://playwright.azureedge.net/builds/webkit/1751/webkit-win64.zip
The text was updated successfully, but these errors were encountered: