diff --git a/src/ui/components/SchemeEditor.vue b/src/ui/components/SchemeEditor.vue index c3537d3e3..e6a6afc6c 100644 --- a/src/ui/components/SchemeEditor.vue +++ b/src/ui/components/SchemeEditor.vue @@ -145,6 +145,7 @@ :y="floatingHelperPanel.y" :item="floatingHelperPanel.item" :schemeContainer="schemeContainer" + @item-updated="onItemUpdatedInFloatingHelperPanel" @edit-path-requested="onEditPathRequested" @image-crop-requested="startCroppingImage" @close="floatingHelperPanel.shown = false" @@ -1908,6 +1909,10 @@ export default { }, + onItemUpdatedInFloatingHelperPanel(item) { + this.schemeContainer.updateItemClones(item); + }, + // this is triggered from specific text slot in side panel onTextPropertyChanged(textSlotName, propertyName, value) { let itemIds = ''; diff --git a/src/ui/components/editor/FloatingHelperPanel.vue b/src/ui/components/editor/FloatingHelperPanel.vue index b3a208da6..32c2c3135 100644 --- a/src/ui/components/editor/FloatingHelperPanel.vue +++ b/src/ui/components/editor/FloatingHelperPanel.vue @@ -170,6 +170,7 @@ export default { updateShapeProp(name, value) { this.item.shapeProps[name] = value; + this.$emit('item-updated', this.item); EditorEventBus.item.changed.specific.$emit(this.editorId, this.item.id, `shapeProps.${name}`); EditorEventBus.schemeChangeCommitted.$emit(this.editorId, `item.${this.item.id}.shapeProps.${name}`); }, @@ -198,6 +199,7 @@ export default { applyItemStyle(style) { if (applyItemStyle(this.item, style)) { + this.$emit('item-updated', this.item); EditorEventBus.item.changed.specific.$emit(this.editorId, this.item.id); EditorEventBus.schemeChangeCommitted.$emit(this.editorId, `item.${this.item.id}.styles`); }