diff --git a/packages/plugin-outline-pane/src/views/tree-title.tsx b/packages/plugin-outline-pane/src/views/tree-title.tsx index 53a69f33b..ec7b9cd33 100644 --- a/packages/plugin-outline-pane/src/views/tree-title.tsx +++ b/packages/plugin-outline-pane/src/views/tree-title.tsx @@ -12,6 +12,18 @@ import { IconCond } from '../icons/cond'; import { IconLoop } from '../icons/loop'; import { createIcon } from '@ali/lowcode-utils'; +function report(type: string, treeNode: TreeNode, rest?: object) { + 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.${type}`, { + selected, + ...rest, + }); +} + @observer export default class TreeTitle extends Component<{ treeNode: TreeNode; @@ -37,7 +49,9 @@ export default class TreeTitle extends Component<{ private saveEdit = (e: FocusEvent | KeyboardEvent) => { const { treeNode } = this.props; - treeNode.setTitleLabel((e.target as HTMLInputElement).value || ''); + const value = (e.target as HTMLInputElement).value || ''; + treeNode.setTitleLabel(value); + report('rename', treeNode, { value }); this.cancelEdit(); }; @@ -164,17 +178,8 @@ class HideBtn extends Component<{ treeNode: TreeNode }> { className="tree-node-hide-btn" onClick={(e) => { e.stopPropagation(); + report(treeNode.hidden ? 'show' : 'hide', treeNode); 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 ? : }