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 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 >
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
You can’t perform that action at this time.
0 commit comments