From 4a190176623e58095c6e323a10161b3be54b6e53 Mon Sep 17 00:00:00 2001 From: roymondchen Date: Fri, 27 May 2022 18:44:15 +0800 Subject: [PATCH] =?UTF-8?q?fix(editor):=20=E7=BB=84=E4=BB=B6=E9=85=8D?= =?UTF-8?q?=E7=BD=AEwidth=E4=B8=BA100%=E6=97=B6=EF=BC=8C=E6=B0=B4=E5=B9=B3?= =?UTF-8?q?=E5=B1=85=E4=B8=AD=E5=A4=B1=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/editor/src/services/editor.ts | 27 +++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/packages/editor/src/services/editor.ts b/packages/editor/src/services/editor.ts index bf19c8e8..5096e1ce 100644 --- a/packages/editor/src/services/editor.ts +++ b/packages/editor/src/services/editor.ts @@ -194,6 +194,20 @@ class Editor extends BaseService { historyService.empty(); } + if (node?.id) { + this.get('stage') + ?.renderer.runtime?.getApp?.() + ?.emit( + 'editor:select', + { + node, + page, + parent, + }, + getNodePath(node.id, this.get('root').items), + ); + } + this.emit('select', node); return node!; @@ -504,7 +518,18 @@ class Editor extends BaseService { return; } - if (parent.style?.width && node.style?.width) { + if (!node.style) return; + + const stage = this.get('stage'); + const doc = stage?.renderer.contentWindow?.document; + + if (doc) { + const parentEl = doc.getElementById(`${parent.id}`); + const el = doc.getElementById(`${node.id}`); + if (parentEl && el) { + node.style.left = (parentEl.clientWidth - el.clientWidth) / 2; + } + } else if (parent.style && isNumber(parent.style?.width) && isNumber(node.style?.width)) { node.style.left = (parent.style.width - node.style.width) / 2; }