You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.8 KiB
61 lines
1.8 KiB
import _ from 'lodash'
|
|
import hotkeys from 'hotkeys-js'
|
|
import AlarmMeta from '@/designer/viewWidgets/alarm/AlarmMeta'
|
|
import LoggerMeta from '@/designer/viewWidgets/logger/LoggerMeta'
|
|
import ModeltreeMeta from '@/designer/viewWidgets/modeltree/ModeltreeMeta'
|
|
import MonitorMeta from '@/designer/viewWidgets/monitor/MonitorMeta'
|
|
import PropertyMeta from '@/designer/viewWidgets/property/PropertyMeta'
|
|
import ScriptMeta from '@/designer/viewWidgets/script/ScriptMeta'
|
|
import TaskMeta from '@/designer/viewWidgets/task/TaskMeta'
|
|
import ToolboxMeta from '@/designer/viewWidgets/toolbox/ToolboxMeta'
|
|
|
|
import FileMenu from '@/designer/menus/FileMenu.ts'
|
|
import EditMenu from '@/designer/menus/EditMenu.ts'
|
|
import ToolsMenu from '@/designer/menus/Tools.ts'
|
|
import Model3DView from '@/designer/menus/Model3DView.ts'
|
|
import { forEachMenu } from '@/runtime/DefineMenu.ts'
|
|
import { normalizeShortKey } from '@/utils/webutils.ts'
|
|
import WorldModel from '@/designer/WorldModel.ts'
|
|
|
|
/**
|
|
* 初始化模型编辑器的基础控件
|
|
*/
|
|
export function ModelMainInit() {
|
|
AlarmMeta.install()
|
|
LoggerMeta.install()
|
|
ModeltreeMeta.install()
|
|
MonitorMeta.install()
|
|
PropertyMeta.install()
|
|
ScriptMeta.install()
|
|
TaskMeta.install()
|
|
ToolboxMeta.install()
|
|
|
|
FileMenu.install()
|
|
EditMenu.install()
|
|
ToolsMenu.install()
|
|
Model3DView.install()
|
|
|
|
new WorldModel().init()
|
|
}
|
|
|
|
export function ModelMainMounted() {
|
|
forEachMenu((menu) => {
|
|
if (typeof menu.click === 'function') {
|
|
|
|
const shortKey = normalizeShortKey(menu.tip)
|
|
if (shortKey) {
|
|
menu.tip = shortKey
|
|
hotkeys(shortKey, (event) => {
|
|
event.preventDefault()
|
|
menu.click()
|
|
})
|
|
// console.log('hotkeys', menu.tip, menu.click)
|
|
}
|
|
}
|
|
})
|
|
}
|
|
|
|
export function ModelMainUnmounted() {
|
|
// 移除所有的热键绑定 unbind all
|
|
hotkeys.unbind()
|
|
}
|