UNPKG

@ant-design/pro-flow

Version:
57 lines 1.59 kB
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray"; import { ZoomInOutlined, ZoomOutOutlined } from '@ant-design/icons'; import { BoxSelectIcon, ClipboardList } from 'lucide-react'; import { useMemo } from 'react'; import { useReactFlow } from 'reactflow'; import { useStore } from "../../store"; import { jsx as _jsx } from "react/jsx-runtime"; var size = 16; export var useMenuActions = function useMenuActions() { var instance = useReactFlow(); var _useStore = useStore(function (s) { return [s.selectAll]; }), _useStore2 = _slicedToArray(_useStore, 1), selectAll = _useStore2[0]; return useMemo(function () { return { DIVIDER: { type: 'divider' }, paste: { key: 'paste', label: '粘贴', onClick: selectAll, icon: /*#__PURE__*/_jsx(ClipboardList, { size: size }), shortcut: ['meta', 'V'] }, selectAll: { key: 'selectAll', label: '选择全部', icon: /*#__PURE__*/_jsx(BoxSelectIcon, { size: size }), onClick: selectAll, shortcut: ['meta', 'A'] }, zoomIn: { label: '放大', icon: /*#__PURE__*/_jsx(ZoomInOutlined, {}), onClick: function onClick() { instance.zoomIn(); }, key: 'zoomIn' }, zoomOut: { label: '缩小', icon: /*#__PURE__*/_jsx(ZoomOutOutlined, {}), onClick: function onClick() { instance.zoomOut(); }, key: 'zoomOut' } }; }, []); };