refactor hacky tracking to solid primitive

This commit is contained in:
Chris Kruining 2025-02-25 22:44:06 +11:00
parent 789d14330a
commit 44549c36be
No known key found for this signature in database
GPG key ID: EB894A3560CCCAD2
5 changed files with 12 additions and 6 deletions

View file

@ -6,6 +6,7 @@
"dependencies": {
"@solid-primitives/clipboard": "^1.6.0",
"@solid-primitives/context": "^0.3.0",
"@solid-primitives/deep": "^0.3.0",
"@solid-primitives/destructure": "^0.2.0",
"@solid-primitives/event-listener": "^2.4.0",
"@solid-primitives/i18n": "^2.2.0",
@ -358,6 +359,8 @@
"@solid-primitives/cursor": ["@solid-primitives/cursor@0.0.115", "", { "dependencies": { "@solid-primitives/utils": "^6.2.3" }, "peerDependencies": { "solid-js": "^1.6.12" } }, "sha512-8nEmUN/sacXPChwuJOAi6Yi6VnxthW/Jk8VGvvcF38AenjUvOA6FHI6AkJILuFXjQw1PGxia1YbH/Mn77dPiOA=="],
"@solid-primitives/deep": ["@solid-primitives/deep@0.3.0", "", { "dependencies": { "@solid-primitives/memo": "^1.4.0" }, "peerDependencies": { "solid-js": "^1.6.12" } }, "sha512-v+B8OYCSqGpjQdj9SyJxydlyb+px4/i834ksTtPhv13OsLtibKreY5raOxelYuh/sX2MNFW8NTSsrWt+xo6D+Q=="],
"@solid-primitives/destructure": ["@solid-primitives/destructure@0.2.0", "", { "dependencies": { "@solid-primitives/utils": "^6.3.0" }, "peerDependencies": { "solid-js": "^1.6.12" } }, "sha512-nfE6nSkyLle+hIQzvxGwzyt3TvFwgBjhFiQ7y2Cq+amBiwpvVVm+1qncE8tKaKk6JNn/CilgXZgJ/KMb/p3csA=="],
"@solid-primitives/event-listener": ["@solid-primitives/event-listener@2.4.0", "", { "dependencies": { "@solid-primitives/utils": "^6.3.0" }, "peerDependencies": { "solid-js": "^1.6.12" } }, "sha512-TSfR1PNTfojFEYGSxSMCnUhXsaYWBo4p+cm73QmWODa9YnaQAk6PB7VjzG2bOT2D817VlvuOqTj0Qdq+MZrdGg=="],
@ -368,6 +371,8 @@
"@solid-primitives/media": ["@solid-primitives/media@2.3.0", "", { "dependencies": { "@solid-primitives/event-listener": "^2.4.0", "@solid-primitives/rootless": "^1.5.0", "@solid-primitives/static-store": "^0.1.0", "@solid-primitives/utils": "^6.3.0" }, "peerDependencies": { "solid-js": "^1.6.12" } }, "sha512-7+C3wfbWnGE/WPoNsqcp/EeOP2aNNB92RCpsWhBth8E5lZo/J+rK6jMb7umVsK0zguT8HBpeXp1pFyFbcsHStA=="],
"@solid-primitives/memo": ["@solid-primitives/memo@1.4.0", "", { "dependencies": { "@solid-primitives/scheduled": "^1.5.0", "@solid-primitives/utils": "^6.3.0" }, "peerDependencies": { "solid-js": "^1.6.12" } }, "sha512-Q0eSnGnhzbUPUNES2OOcEj6qF/9YZntoq04nmQEAIp6QhKdpAsH9mNFrVQtB1by41H/QndNui7Yd2wjI7PUpPA=="],
"@solid-primitives/platform": ["@solid-primitives/platform@0.1.2", "", { "peerDependencies": { "solid-js": "^1.6.12" } }, "sha512-sSxcZfuUrtxcwV0vdjmGnZQcflACzMfLriVeIIWXKp8hzaS3Or3tO6EFQkTd3L8T5dTq+kTtLvPscXIpL0Wzdg=="],
"@solid-primitives/refs": ["@solid-primitives/refs@1.1.0", "", { "dependencies": { "@solid-primitives/utils": "^6.3.0" }, "peerDependencies": { "solid-js": "^1.6.12" } }, "sha512-QJ3bTSQOlPdHBP2m6llrT13FvVzAwZfx41lTN8lQrRwwcZoWb7kfCAjhaohPnwkAsQ6nJpLjtGfT5GOyuCA4tA=="],

View file

@ -8,6 +8,7 @@
"dependencies": {
"@solid-primitives/clipboard": "^1.6.0",
"@solid-primitives/context": "^0.3.0",
"@solid-primitives/deep": "^0.3.0",
"@solid-primitives/destructure": "^0.2.0",
"@solid-primitives/event-listener": "^2.4.0",
"@solid-primitives/i18n": "^2.2.0",

View file

@ -1,3 +1,4 @@
import { trackStore } from "@solid-primitives/deep";
import { Accessor, createEffect, createMemo, untrack } from "solid-js";
import { createStore } from "solid-js/store";
import { CustomPartial } from "solid-js/store/types/store.js";
@ -93,8 +94,7 @@ export const createDataSet = <T extends Record<string, any>>(data: Accessor<T[]>
});
const mutations = createMemo(() => {
// enumerate all values to make sure the memo is recalculated on any change
Object.values(state.value).map(entry => Object.values(entry ?? {}));
trackStore(state.value);
return deepDiff(state.snapshot, state.value).toArray();
});

View file

@ -35,7 +35,7 @@
"newKey": {
"title": "Which key do you want to create?",
"placeholder": "Name of the new key",
"description": "Hint: use `.` to denote nested keys,\ni.e. `this.is.some.key` would be a key that is four levels deep."
"description": "Hint: use `.` to denote nested keys,\n\ni.e. `this.is.some.key` would be a key that is four levels deep."
},
"newLanguage": {
"title": "Which language do you want to add?",

View file

@ -35,7 +35,7 @@
"newKey": {
"title": "Welke sleutel wil je toevoegen?",
"placeholder": "Naam van de nieuwe sleutel",
"description": "Hint: gebruik een `.` voor geneste sleutels,\nbijv. `this.is.some.key` is een sleutel die vier lagen diep is."
"description": "Hint: gebruik een `.` voor geneste sleutels,\n\nbijv. `this.is.some.key` is een sleutel die vier lagen diep is."
},
"newLanguage": {
"title": "Welke taal wil je toevoegen?",