import * as React from 'react'; import { UndoOutlined, RedoOutlined, ZoomInOutlined, ZoomOutOutlined, RetweetOutlined, FullscreenOutlined, DeleteOutlined, SaveOutlined, } from '@ant-design/icons'; import { Graph, UndoManager } from '@antv/x6'; import * as Tool from '../utils/tool'; import { Commands } from '../model'; export default function getCommands(graph: Graph, undoManager: UndoManager): Commands { return [ [ { name: 'undo', icon: , tooltip: '撤销', shortcut: 'Cmd + Z', handler: (): void => undoManager.undo(), }, { name: 'redo', icon: , tooltip: '重做', shortcut: 'Cmd + Shift + Z', handler: (): void => undoManager.redo(), }, ], [ { name: 'zoomIn', icon: , tooltip: '放大', handler: Tool.zoomIn(graph), }, { name: 'zoomOut', icon: , tooltip: '缩小', handler: Tool.zoomOut(graph), }, ], [ { name: 'resetView', icon: , tooltip: '重置视口', handler: (): void => { graph.zoomTo(1); graph.center(); }, }, { name: 'fitWindow', icon: , tooltip: '适应窗口', handler: (): void => { graph.fit(8); }, }, ], [ { name: 'delete', icon: , tooltip: '删除', shortcut: 'Delete', handler: (): void => graph.deleteCells(), }, ], [ { name: 'save', icon: , tooltip: '保存', shortcut: 'Cmd + S', handler: (): void => { // code }, }, ], ]; }