ddei-editor/plugins/core/menus/menu-sysdefault-autoobi.ts

79 lines
1.9 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import {DDeiEnumBusCommandType} from "ddei-framework";
import {DDeiMenuBase} from "ddei-framework";
/**
* 采用系统避障策略
*/
class MenuSysDefaultAutoObi extends DDeiMenuBase {
name: string = "ddei-core-menu-sysdefault-auto-obi"
/**
* 缺省实例
*/
static defaultIns: MenuSysDefaultAutoObi = new MenuSysDefaultAutoObi();
defaultOptions: object = {
'label': 'ddei.sysDefaultAutoObi',
'disabled': false
}
static configuration(options, fullConfig: boolean = false) {
//解析options只使用自己相关的
if (options) {
let newOptions = {}
if (fullConfig) {
if (fullConfig) {
if (options[MenuSysDefaultAutoObi.defaultIns.name]) {
for (let i in options[MenuSysDefaultAutoObi.defaultIns.name]) {
newOptions[i] = options[MenuSysDefaultAutoObi.defaultIns.name][i]
}
}
}
} else {
newOptions = options
}
if (newOptions && Object.keys(newOptions).length !== 0) {
let panels = new MenuSysDefaultAutoObi(newOptions);
return panels;
}
}
return MenuSysDefaultAutoObi;
}
static modify(fn) {
return MenuSysDefaultAutoObi.defaultIns.modify(fn)
}
/**
* 执行的方法
*/
action(model: object, evt: Event): void {
if (model?.baseModelType == 'DDeiLine') {
delete model.autoObiPolicy
let ddInstance = model.stage.ddInstance
model.refreshLinePoints()
ddInstance.bus.push(DDeiEnumBusCommandType.RefreshShape);
ddInstance.bus.executeAll();
}
}
/**
* 判定是否显示的方法
*/
isVisiable(model: object): boolean {
if (!this.disabled && model?.baseModelType == 'DDeiLine'
&& ((model.stage.ddInstance.GLOBAL_AUTO_OBI && model.autoObiPolicy == 2) || (!model.stage.ddInstance.GLOBAL_AUTO_OBI && model.autoObiPolicy == 1))) {
return true
}
return false;
}
}
export default MenuSysDefaultAutoObi;