diff --git a/packages/core/src/dom_components/model/Component.ts b/packages/core/src/dom_components/model/Component.ts index 78871aad26..ceff75e9c0 100644 --- a/packages/core/src/dom_components/model/Component.ts +++ b/packages/core/src/dom_components/model/Component.ts @@ -1588,6 +1588,7 @@ export default class Component extends StyleableModel { let obj = Model.prototype.toJSON.call(this, opts); obj = { ...obj, ...this.componentDVListener.getDynamicPropsDefs() }; obj.attributes = this.componentDVListener.getAttributesDefsOrValues(this.getAttributes()); + delete obj.componentDVListener; delete obj.attributes.class; delete obj.toolbar; delete obj.traits; diff --git a/packages/core/src/dom_components/model/SymbolUtils.ts b/packages/core/src/dom_components/model/SymbolUtils.ts index 94e4affd6e..137126f37a 100644 --- a/packages/core/src/dom_components/model/SymbolUtils.ts +++ b/packages/core/src/dom_components/model/SymbolUtils.ts @@ -208,20 +208,12 @@ export const updateSymbolComps = (symbol: Component, m: Component, c: Components changed: 'components:reset', }); const cmps = coll.models; - const newSymbols = new Set(); logSymbol(symbol, 'reset', toUp, { components: cmps }); toUp.forEach((rel) => { const relCmps = rel.components(); const toReset = cmps.map((cmp, i) => { - // This particular case here is to handle reset from `resetFromString` - // where we can receive an array of regulat components or already - // existing symbols (updated already before reset) - if (!isSymbol(cmp) || newSymbols.has(cmp)) { - newSymbols.add(cmp); - return cmp.clone({ symbol: true }); - } - return relCmps.at(i); + return cmp.clone({ symbol: isSymbol(cmp) }); }); relCmps.reset(toReset, { fromInstance: symbol, ...c } as any); });