Skip to content

Commit 1637139

Browse files
Merge pull request #195 from ltctceplrm/remapfields
Fix property mapping text box
2 parents db6058f + 14fbbf8 commit 1637139

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

src/settings/PropertyMappingModelComponent.svelte

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,16 @@
1010
1111
let { model, save }: Props = $props();
1212
13-
let validationResult: { res: boolean; err?: Error } | undefined = $state();
13+
let validationResult: { res: boolean; err?: Error } | undefined = $derived(model.validate());
1414
15-
$effect(() => {
16-
validationResult = model.validate();
17-
});
15+
// Use $state as a variable declaration initializer
16+
let propertyStates = $state(model.properties.map(p => ({ ...p })));
1817
</script>
1918

2019
<div class="media-db-plugin-property-mappings-model-container">
2120
<div class="setting-item-name">{capitalizeFirstLetter(model.type)}</div>
2221
<div class="media-db-plugin-property-mappings-container">
23-
{#each model.properties as property}
22+
{#each propertyStates as property, i}
2423
<div class="media-db-plugin-property-mapping-element">
2524
<div class="media-db-plugin-property-mapping-element-property-name-wrapper">
2625
<pre class="media-db-plugin-property-mapping-element-property-name"><code>{property.property}</code></pre>
@@ -54,6 +53,10 @@
5453
<button
5554
class="media-db-plugin-property-mappings-save-button {validationResult?.res ? 'mod-cta' : 'mod-muted'}"
5655
onclick={() => {
56+
// Sync propertyStates back to model.properties
57+
model.properties.forEach((p, i) => {
58+
Object.assign(p, propertyStates[i]);
59+
});
5760
if (model.validate().res) save(model);
5861
}}
5962
>Save

0 commit comments

Comments
 (0)