Cmen
3 years ago
3 changed files with 130 additions and 11 deletions
@ -0,0 +1,117 @@ |
|||||||
|
import { message, Modal, Table } from "antd"; |
||||||
|
import { useState } from "react"; |
||||||
|
import MenuGroup from "./MenuGroup"; |
||||||
|
|
||||||
|
const Hotkeys = [ |
||||||
|
{ |
||||||
|
key: "Alt + O", |
||||||
|
condition: "", |
||||||
|
description: "打开GeoJSON", |
||||||
|
}, |
||||||
|
{ |
||||||
|
key: "Ctrl + Alt + O", |
||||||
|
condition: "", |
||||||
|
description: "打开工程文件", |
||||||
|
}, |
||||||
|
{ |
||||||
|
key: "Alt + S", |
||||||
|
condition: "", |
||||||
|
description: "暂存工程至浏览器缓存", |
||||||
|
}, |
||||||
|
{ |
||||||
|
key: "Ctrl + S", |
||||||
|
condition: "", |
||||||
|
description: "导出GeoJSON", |
||||||
|
}, |
||||||
|
{ |
||||||
|
key: "Ctrl + Alt + S", |
||||||
|
condition: "", |
||||||
|
description: "导出工程", |
||||||
|
}, |
||||||
|
{ |
||||||
|
key: "Alt + C", |
||||||
|
condition: "", |
||||||
|
description: "清空所有覆盖物", |
||||||
|
}, |
||||||
|
{ |
||||||
|
key: "Alt + 1", |
||||||
|
condition: "", |
||||||
|
description: "创建矩形覆盖物", |
||||||
|
}, |
||||||
|
{ |
||||||
|
key: "Alt + 2", |
||||||
|
condition: "", |
||||||
|
description: "创建多边形覆盖物", |
||||||
|
}, |
||||||
|
{ |
||||||
|
key: "Alt + 3", |
||||||
|
condition: "", |
||||||
|
description: "创建多段线覆盖物", |
||||||
|
}, |
||||||
|
{ |
||||||
|
key: "Alt + 4", |
||||||
|
condition: "", |
||||||
|
description: "创建圆形覆盖物", |
||||||
|
}, |
||||||
|
{ |
||||||
|
key: "Alt + D", |
||||||
|
condition: "选中覆盖物", |
||||||
|
description: "复制选中的覆盖物", |
||||||
|
}, |
||||||
|
{ |
||||||
|
key: "Space", |
||||||
|
condition: "正在创建/编辑覆盖物", |
||||||
|
description: "完成创建/编辑覆盖物", |
||||||
|
}, |
||||||
|
{ |
||||||
|
key: "Delete", |
||||||
|
condition: "选中覆盖物", |
||||||
|
description: "删除选中覆盖物", |
||||||
|
}, |
||||||
|
]; |
||||||
|
|
||||||
|
const TableColumns = [ |
||||||
|
{ title: "快捷键", key: "key", dataIndex: "key" }, |
||||||
|
{ title: "先决条件", key: "condition", dataIndex: "condition" }, |
||||||
|
{ title: "作用", key: "description", dataIndex: "description" }, |
||||||
|
]; |
||||||
|
|
||||||
|
const HelpMenu = () => { |
||||||
|
const onDocMenuClick = () => message.info("文档正在积极建设中"); |
||||||
|
const [hotkeyModalVisible, setHotkeyModalVisible] = useState(false); |
||||||
|
|
||||||
|
return ( |
||||||
|
<> |
||||||
|
<MenuGroup |
||||||
|
{...{ |
||||||
|
name: "帮助", |
||||||
|
items: [ |
||||||
|
{ |
||||||
|
name: "文档", |
||||||
|
onClick: onDocMenuClick, |
||||||
|
}, |
||||||
|
{ |
||||||
|
name: "快捷键", |
||||||
|
onClick: () => setHotkeyModalVisible(true), |
||||||
|
}, |
||||||
|
], |
||||||
|
}} |
||||||
|
/> |
||||||
|
<Modal |
||||||
|
width={640} |
||||||
|
footer={[]} |
||||||
|
visible={hotkeyModalVisible} |
||||||
|
onCancel={() => setHotkeyModalVisible(false)} |
||||||
|
> |
||||||
|
<Table |
||||||
|
dataSource={Hotkeys} |
||||||
|
columns={TableColumns} |
||||||
|
pagination={false} |
||||||
|
scroll={{ y: 480 }} |
||||||
|
></Table> |
||||||
|
</Modal> |
||||||
|
</> |
||||||
|
); |
||||||
|
}; |
||||||
|
|
||||||
|
export default HelpMenu; |
Loading…
Reference in new issue