From 31967718f745ceb47f808035b4cdf6be2fe76493 Mon Sep 17 00:00:00 2001 From: mohamedsalem401 Date: Tue, 10 Dec 2024 03:27:52 +0200 Subject: [PATCH] Fix component properties --- packages/core/src/dom_components/model/Component.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/core/src/dom_components/model/Component.ts b/packages/core/src/dom_components/model/Component.ts index da9b81d56..469a72c8b 100644 --- a/packages/core/src/dom_components/model/Component.ts +++ b/packages/core/src/dom_components/model/Component.ts @@ -351,7 +351,10 @@ export default class Component extends StyleableModel { : typeof attributeName === 'string' ? { [attributeName as string]: value } : {}; - const evaluatedProps = ComponentDynamicValueListener.evaluateComponentDef(props, this.em); + const areStaticAttributes = DynamicValueWatcher.areStaticValues(props); + const evaluatedProps = areStaticAttributes + ? props + : ComponentDynamicValueListener.evaluateComponentDef(props, this.em); this.componentDVListener?.watchProps(evaluatedProps); return super.set(evaluatedProps, options); @@ -1561,8 +1564,9 @@ export default class Component extends StyleableModel { */ toJSON(opts: ObjectAny = {}): ComponentDefinition { let obj = Model.prototype.toJSON.call(this, opts); - obj.attributes = this.componentDVListener.getAttributesDefsOrValues(this.getAttributes()); + obj.attributes = this.componentDVListener.getAttributesDefsOrValues(this.getAttributes({ noClass: true })); obj = { ...obj, ...this.componentDVListener.getDynamicPropsDefs() }; + delete obj.traits; delete obj.attributes.class; delete obj.toolbar; delete obj.status;