From 56b8ed1d732026f039b622260803ca9d8973cf44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=98=8E=E5=8D=8E?= <51693922+WangMingHua111@users.noreply.github.com> Date: Mon, 22 Aug 2022 17:36:02 +0800 Subject: [PATCH] =?UTF-8?q?=20refactor(editor):=20=E6=94=AF=E6=8C=81doPast?= =?UTF-8?q?e=E6=8F=92=E4=BB=B6=20(#299)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * refactor(editor): 粘贴时添加粘贴选项,用于格式化粘贴对象数据。 * refactor(editor): 支持doPaste插件 --- packages/editor/src/services/editor.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/editor/src/services/editor.ts b/packages/editor/src/services/editor.ts index 5460d805..112d937c 100644 --- a/packages/editor/src/services/editor.ts +++ b/packages/editor/src/services/editor.ts @@ -71,6 +71,7 @@ class Editor extends BaseService { 'sort', 'copy', 'paste', + 'doPaste', 'duAlignCenter', 'alignCenter', 'moveLayer', @@ -556,11 +557,16 @@ class Editor extends BaseService { if (!Array.isArray(config)) return; - const pasteConfigs = await beforePaste(position, config); + const pasteConfigs = await this.doPaste(config, position); return this.add(pasteConfigs); } + public async doPaste(config: MNode[], position: PastePosition = {}): Promise { + const pasteConfigs = await beforePaste(position, cloneDeep(config)); + return pasteConfigs; + } + public async doAlignCenter(config: MNode): Promise { const parent = this.getParentById(config.id);