From 51025f01f1db7a7402ccbfc3daf754973702b31e Mon Sep 17 00:00:00 2001 From: "wuyue.xht" Date: Mon, 22 Jun 2020 09:49:28 +0800 Subject: [PATCH 1/4] feat: export Monitor --- packages/editor-core/src/utils/monitor.ts | 5 ++--- packages/editor-preset-vision/src/index.ts | 4 +++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/editor-core/src/utils/monitor.ts b/packages/editor-core/src/utils/monitor.ts index 0c616c3ce..f11dc61df 100644 --- a/packages/editor-core/src/utils/monitor.ts +++ b/packages/editor-core/src/utils/monitor.ts @@ -2,7 +2,7 @@ class Monitor { fn = (params: any) => { const { AES } = window as any; if (typeof AES.log === 'function') { - const { p1, p2, p3, p4 = 'OTHER', ...rest } = params || {}; + const { p1 = '', p2 = '', p3 = '', p4 = 'OTHER', ...rest } = params || {}; AES.log('event', { p1, p2, @@ -42,5 +42,4 @@ class Monitor { } } -const monitor = new Monitor(); -export { monitor }; +export { Monitor }; diff --git a/packages/editor-preset-vision/src/index.ts b/packages/editor-preset-vision/src/index.ts index 556fa050d..78778a199 100644 --- a/packages/editor-preset-vision/src/index.ts +++ b/packages/editor-preset-vision/src/index.ts @@ -4,7 +4,7 @@ import Icons from '@ali/ve-icons'; import logger from '@ali/vu-logger'; import { render } from 'react-dom'; import I18nUtil from './i18n-util'; -import { hotkey as Hotkey } from '@ali/lowcode-editor-core'; +import { hotkey as Hotkey, Monitor } from '@ali/lowcode-editor-core'; import { createElement } from 'react'; import { VE_EVENTS as EVENTS, VE_HOOKS as HOOKS, VERSION as Version } from './base/const'; import Bus from './bus'; @@ -84,6 +84,7 @@ const VisualEngine = { I18nUtil, Hotkey, Env, + Monitor, /* pub/sub 集线器 */ Bus, /* 事件 */ @@ -132,6 +133,7 @@ export { I18nUtil, Hotkey, Env, + Monitor, /* pub/sub 集线器 */ Bus, /* 事件 */ From fa2482151d8ac5fb7ccaeca01ba8ee3580bd2365 Mon Sep 17 00:00:00 2001 From: "wuyue.xht" Date: Mon, 22 Jun 2020 09:50:55 +0800 Subject: [PATCH 2/4] =?UTF-8?q?feat:=20=E5=A4=A7=E7=BA=B2=E6=A0=91?= =?UTF-8?q?=E5=9F=8B=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin-outline-pane/src/tree-master.ts | 21 +++++++++++++++++++ .../src/views/tree-title.tsx | 12 ++++++++++- .../plugin-outline-pane/src/views/tree.tsx | 12 ++++++++++- 3 files changed, 43 insertions(+), 2 deletions(-) diff --git a/packages/plugin-outline-pane/src/tree-master.ts b/packages/plugin-outline-pane/src/tree-master.ts index 2775d2c42..b89f116a2 100644 --- a/packages/plugin-outline-pane/src/tree-master.ts +++ b/packages/plugin-outline-pane/src/tree-master.ts @@ -12,7 +12,9 @@ export interface ITreeBoard { export class TreeMaster { constructor(readonly designer: Designer) { + let startTime: any; designer.dragon.onDragstart(() => { + startTime = Date.now() / 1000; // needs? this.toVision(); }); @@ -33,6 +35,25 @@ export class TreeMaster { board.scrollToNode(treeNode, detail); }); }); + designer.dragon.onDragend(() => { + const endTime: any = Date.now() / 1000; + const editor = designer?.editor; + const nodes = designer.currentSelection?.getNodes(); + editor?.emit('outlinePane.drag', { + selected: nodes + ?.map((n) => { + if (!n) { + return; + } + const npm = n?.componentMeta?.npm; + return ( + [npm?.package, npm?.componentName].filter((item) => !!item).join('-') || n?.componentMeta?.componentName + ); + }) + .join('&'), + time: (endTime - startTime).toFixed(2), + }); + }); } private toVision() { diff --git a/packages/plugin-outline-pane/src/views/tree-title.tsx b/packages/plugin-outline-pane/src/views/tree-title.tsx index 2417102ae..53a69f33b 100644 --- a/packages/plugin-outline-pane/src/views/tree-title.tsx +++ b/packages/plugin-outline-pane/src/views/tree-title.tsx @@ -1,6 +1,6 @@ import { Component, KeyboardEvent, FocusEvent, Fragment } from 'react'; import classNames from 'classnames'; -import { observer, Title, Tip } from '@ali/lowcode-editor-core'; +import { observer, Title, Tip, globalContext, Editor } from '@ali/lowcode-editor-core'; import { IconArrowRight } from '../icons/arrow-right'; import { IconEyeClose } from '../icons/eye-close'; import { IconLock } from '../icons/lock'; @@ -165,6 +165,16 @@ class HideBtn extends Component<{ treeNode: TreeNode }> { onClick={(e) => { e.stopPropagation(); treeNode.setHidden(!treeNode.hidden); + const editor = globalContext.get(Editor); + const node = treeNode?.node; + const npm = node?.componentMeta?.npm; + const selected = + [npm?.package, npm?.componentName].filter((item) => !!item).join('-') || + node?.componentMeta?.componentName || + ''; + editor?.emit('outlinePane.hide', { + selected, + }); }} > {treeNode.hidden ? : } diff --git a/packages/plugin-outline-pane/src/views/tree.tsx b/packages/plugin-outline-pane/src/views/tree.tsx index 8512825d6..0f7ba2ca1 100644 --- a/packages/plugin-outline-pane/src/views/tree.tsx +++ b/packages/plugin-outline-pane/src/views/tree.tsx @@ -1,5 +1,5 @@ import { Component, MouseEvent as ReactMouseEvent } from 'react'; -import { observer } from '@ali/lowcode-editor-core'; +import { observer, Editor, globalContext } from '@ali/lowcode-editor-core'; import { isRootNode, Node, DragObjectType, isShaken } from '@ali/lowcode-designer'; import { isFormEvent } from '@ali/lowcode-utils'; import { Tree } from '../tree'; @@ -60,6 +60,16 @@ export default class TreeView extends Component<{ tree: Tree }> { } } else { selection.select(id); + const editor = globalContext.get(Editor); + const selectedNode = designer.currentSelection?.getNodes()?.[0]; + const npm = selectedNode?.componentMeta?.npm; + const selected = + [npm?.package, npm?.componentName].filter((item) => !!item).join('-') || + selectedNode?.componentMeta?.componentName || + ''; + editor?.emit('outlinePane.select', { + selected, + }); } }; From 9915937e9879e476c265d9f265707f827b0d69a9 Mon Sep 17 00:00:00 2001 From: "wuyue.xht" Date: Mon, 22 Jun 2020 09:51:06 +0800 Subject: [PATCH 3/4] =?UTF-8?q?chore:=20=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/designer/src/builtin-simulator/host.ts | 6 +++--- packages/editor-skeleton/src/widget/panel.ts | 1 - 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/designer/src/builtin-simulator/host.ts b/packages/designer/src/builtin-simulator/host.ts index 6111977f7..48318add5 100644 --- a/packages/designer/src/builtin-simulator/host.ts +++ b/packages/designer/src/builtin-simulator/host.ts @@ -1,4 +1,4 @@ -import { obx, autorun, computed, getPublicPath, hotkey, focusTracker, globalContext, Editor } from '@ali/lowcode-editor-core'; +import { obx, autorun, computed, getPublicPath, hotkey, focusTracker } from '@ali/lowcode-editor-core'; import { ISimulatorHost, Component, NodeInstance, ComponentInstance } from '../simulator'; import Viewport from './viewport'; import { createSimulator } from './create-simulator'; @@ -266,7 +266,7 @@ export class BuiltinSimulatorHost implements ISimulatorHost !!item).join('-') || @@ -432,7 +432,7 @@ export class BuiltinSimulatorHost implements ISimulatorHost !!item).join('-') || diff --git a/packages/editor-skeleton/src/widget/panel.ts b/packages/editor-skeleton/src/widget/panel.ts index 25c343cd0..6f9010dc0 100644 --- a/packages/editor-skeleton/src/widget/panel.ts +++ b/packages/editor-skeleton/src/widget/panel.ts @@ -54,7 +54,6 @@ export default class Panel implements IWidget { get content(): ReactNode { const area = this.config?.area || this.parent?.name; - console.log(area); if (this.plain) { return createElement(PanelView, { panel: this, From 2a249d20867099f602772ca065f9d1645e0418d6 Mon Sep 17 00:00:00 2001 From: "wuyue.xht" Date: Mon, 22 Jun 2020 11:42:03 +0800 Subject: [PATCH 4/4] chore: export single instance of Monitor --- packages/editor-core/src/utils/monitor.ts | 3 ++- packages/editor-preset-vision/src/index.ts | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/editor-core/src/utils/monitor.ts b/packages/editor-core/src/utils/monitor.ts index f11dc61df..66ec0f39b 100644 --- a/packages/editor-core/src/utils/monitor.ts +++ b/packages/editor-core/src/utils/monitor.ts @@ -42,4 +42,5 @@ class Monitor { } } -export { Monitor }; +const monitor = new Monitor(); +export { monitor }; diff --git a/packages/editor-preset-vision/src/index.ts b/packages/editor-preset-vision/src/index.ts index 78778a199..9df95fbc6 100644 --- a/packages/editor-preset-vision/src/index.ts +++ b/packages/editor-preset-vision/src/index.ts @@ -4,7 +4,7 @@ import Icons from '@ali/ve-icons'; import logger from '@ali/vu-logger'; import { render } from 'react-dom'; import I18nUtil from './i18n-util'; -import { hotkey as Hotkey, Monitor } from '@ali/lowcode-editor-core'; +import { hotkey as Hotkey, monitor } from '@ali/lowcode-editor-core'; import { createElement } from 'react'; import { VE_EVENTS as EVENTS, VE_HOOKS as HOOKS, VERSION as Version } from './base/const'; import Bus from './bus'; @@ -84,7 +84,7 @@ const VisualEngine = { I18nUtil, Hotkey, Env, - Monitor, + monitor, /* pub/sub 集线器 */ Bus, /* 事件 */ @@ -133,7 +133,7 @@ export { I18nUtil, Hotkey, Env, - Monitor, + monitor, /* pub/sub 集线器 */ Bus, /* 事件 */