UNPKG

jjb-lc-designable

Version:

基于alibaba-designable源码二次封装的表单设计器。

50 lines (43 loc) 1.01 kB
import { KeyCode, Shortcut, TreeNode } from '../models' /** * 快捷删除,快捷复制粘贴 */ export const DeleteNodes = new Shortcut({ codes: [[KeyCode.Backspace], [KeyCode.Delete]], handler(context) { const operation = context?.workspace.operation if (operation) { TreeNode.remove(operation.selection.selectedNodes) } }, }) interface IClipboard { nodes: TreeNode[] } const Clipboard: IClipboard = { nodes: [], } export const CopyNodes = new Shortcut({ codes: [ [KeyCode.Meta, KeyCode.C], [KeyCode.Control, KeyCode.C], ], handler(context) { const operation = context?.workspace.operation if (operation) { Clipboard.nodes = operation.selection.selectedNodes } }, }) export const PasteNodes = new Shortcut({ codes: [ [KeyCode.Meta, KeyCode.V], [KeyCode.Control, KeyCode.V], ], handler(context) { const operation = context?.workspace.operation if (operation) { TreeNode.clone(Clipboard.nodes) } }, })