feat(angular,solid,vue): add core signal reactivity feature #6181
feat(angular,solid,vue): add core signal reactivity feature #6181riccardoperra wants to merge 4 commits intoalphafrom
Conversation
|
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
f3f8c5f to
67d022a
Compare
|
View your CI Pipeline Execution ↗ for commit f4d29ce
☁️ Nx Cloud last updated this comment at |
5cf10b3 to
00f2180
Compare
40513ea to
b5086d5
Compare
* feat: update @tanstack/store to v9 * Update packages/table-core/src/core/table/constructTable.ts Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: lockfile * ci: apply automated fixes * feat: add solid table devtools * feat: add table devtools options panel * feat: move reactivity feature to core * feat: refactor reactivity feature with notifier impl * feat: try to refactor vue adapter * ci: apply automated fixes * wip vue adapter * wip options as store + some fixes in solid, angular adapter. fix react adapter * fix vue adapter * fix types * fix table devtools * fix lint * fix table devtools * fix knip issues --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
976cd8f to
f4d29ce
Compare
| /** | ||
| * The latest table options value (non reactive). | ||
| */ | ||
| latestOptions: TableOptions<TFeatures, TData> |
There was a problem hiding this comment.
I'm trying to follow along. Why is this needed?
There was a problem hiding this comment.
I'm trying to figure out whether we still need it or not. I initially added it because I was running into recursive and infinite access issues in the Angular adapter.
In theory, from TanStack Store I expected to have an untracked utility to read a signal’s value without triggering the dependency auto-tracking system, exactly how you can do in solid, angular or like Preact with the peek method
There was a problem hiding this comment.
had seen some inconsistencies in my tests expecially while using table_mergeOptions and table_setOptions utils since they access the "reactive" version of the options, so I've temporarly introduced a non-reactive property that you can access there, until I check better the issues I had
Table will expose a
optionsStorewhich is a store storing the table options. This remove the necessity to calltable.baseStore.setOptions(prev => ({...prev}))on everysetOptionsin our adapters.Since
optionswill be reactive and patched with thenotifiergiven by the adapter through thetableReactivityFeature, solid/vue table will update even if an option change after table construction (properties given as a getter)