File tree Expand file tree Collapse file tree 1 file changed +8
-5
lines changed Expand file tree Collapse file tree 1 file changed +8
-5
lines changed Original file line number Diff line number Diff line change 10
10
11
11
let { model, save }: Props = $props ();
12
12
13
- let validationResult: { res: boolean ; err? : Error } | undefined = $state ( );
13
+ let validationResult: { res: boolean ; err? : Error } | undefined = $derived ( model . validate () );
14
14
15
- $effect (() => {
16
- validationResult = model .validate ();
17
- });
15
+ // Use $state as a variable declaration initializer
16
+ let propertyStates = $state (model .properties .map (p => ({ ... p })));
18
17
</script >
19
18
20
19
<div class =" media-db-plugin-property-mappings-model-container" >
21
20
<div class ="setting-item-name" >{capitalizeFirstLetter (model .type )}</div >
22
21
<div class =" media-db-plugin-property-mappings-container" >
23
- {#each model . properties as property }
22
+ {#each propertyStates as property , i }
24
23
<div class =" media-db-plugin-property-mapping-element" >
25
24
<div class =" media-db-plugin-property-mapping-element-property-name-wrapper" >
26
25
<pre class ="media-db-plugin-property-mapping-element-property-name" ><code >{property .property }</code ></pre >
54
53
<button
55
54
class ="media-db-plugin-property-mappings-save-button {validationResult ?.res ? ' mod-cta' : ' mod-muted' }"
56
55
onclick ={() => {
56
+ // Sync propertyStates back to model.properties
57
+ model .properties .forEach ((p , i ) => {
58
+ Object .assign (p , propertyStates [i ]);
59
+ });
57
60
if (model .validate ().res ) save (model );
58
61
}}
59
62
>Save
You can’t perform that action at this time.
0 commit comments