From 641a11d412fa94b2ea35a2d86f45624037cb1e28 Mon Sep 17 00:00:00 2001 From: kangwei Date: Tue, 5 May 2020 18:40:58 +0800 Subject: [PATCH] fix initial get root rect --- packages/designer/src/component-meta.ts | 22 +++++++++---------- .../designer/src/document/document-model.ts | 9 ++++---- packages/designer/src/document/node/node.ts | 3 +++ packages/react-renderer/src/engine/base.jsx | 1 - packages/vision-preset/src/editor.ts | 1 + 5 files changed, 20 insertions(+), 16 deletions(-) diff --git a/packages/designer/src/component-meta.ts b/packages/designer/src/component-meta.ts index f892f7dd8..dd4b964c4 100644 --- a/packages/designer/src/component-meta.ts +++ b/packages/designer/src/component-meta.ts @@ -331,17 +331,6 @@ const builtinComponentActions: ComponentAction[] = [ }, important: true, }, - { - name: 'copy', - content: { - icon: IconClone, - title: intlNode('copy'), - action(node: Node) { - // node.remove(); - }, - }, - important: true, - }, { name: 'hide', content: { @@ -356,6 +345,17 @@ const builtinComponentActions: ComponentAction[] = [ }, important: true, }, + { + name: 'copy', + content: { + icon: IconClone, + title: intlNode('copy'), + action(node: Node) { + // node.remove(); + }, + }, + important: true, + }, ]; export function removeBuiltinComponentAction(name: string) { diff --git a/packages/designer/src/document/document-model.ts b/packages/designer/src/document/document-model.ts index ac739d625..bd31c9677 100644 --- a/packages/designer/src/document/document-model.ts +++ b/packages/designer/src/document/document-model.ts @@ -461,14 +461,11 @@ export class DocumentModel { return config.checkNestingDown(parent, obj) && this.checkNestingUp(parent, obj); } - // ======= compatibles + // ======= compatibles for vision getRoot() { return this.rootNode; } - /** - * 兼容vision - */ getHistory(): History { return this.history; } @@ -476,6 +473,10 @@ export class DocumentModel { get root() { return this.rootNode; } + + toData() { + return this.export(TransformStage.Save); + } } export function isDocumentModel(obj: any): obj is DocumentModel { diff --git a/packages/designer/src/document/node/node.ts b/packages/designer/src/document/node/node.ts index 1aae13208..f0c5efde6 100644 --- a/packages/designer/src/document/node/node.ts +++ b/packages/designer/src/document/node/node.ts @@ -685,6 +685,9 @@ export class Node { } getRect(): DOMRect | null { + if (this.isRoot()) { + return this.document.simulator?.viewport.contentBounds || null; + } return this.document.simulator?.computeRect(this) || null; } diff --git a/packages/react-renderer/src/engine/base.jsx b/packages/react-renderer/src/engine/base.jsx index 742c24574..14059f015 100644 --- a/packages/react-renderer/src/engine/base.jsx +++ b/packages/react-renderer/src/engine/base.jsx @@ -228,7 +228,6 @@ export default class BaseEngine extends PureComponent { let Comp = components[schema.componentName] || Div; - console.info('node schema', schema, engine.props); if (schema.hidden) { return null; } diff --git a/packages/vision-preset/src/editor.ts b/packages/vision-preset/src/editor.ts index 1b9a21263..ff4288f81 100644 --- a/packages/vision-preset/src/editor.ts +++ b/packages/vision-preset/src/editor.ts @@ -108,4 +108,5 @@ addBuiltinComponentAction({ name: 'instance-node-selector', content: InstanceNodeSelector, important: true, + condition: 'always' });