mirror of
https://gitee.com/hoslay/ddei-editor.git
synced 2025-12-06 09:08:44 +08:00
调整自动避障的策略,增加系统级自动避障参数,增加线段子控件的透明区域截取,取消了线段子控件创建时的白色背景
This commit is contained in:
parent
ec5cddcfc4
commit
5d58d9ba2c
12
package-lock.json
generated
12
package-lock.json
generated
@ -1,19 +1,19 @@
|
||||
{
|
||||
"name": "ddei-editor",
|
||||
"version": "1.2.45",
|
||||
"version": "1.2.46-alpha-1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "ddei-editor",
|
||||
"version": "1.2.45",
|
||||
"version": "1.2.46-alpha-1",
|
||||
"license": "Apache License 2.0",
|
||||
"devDependencies": {
|
||||
"@tsconfig/node18": "^18.2.0",
|
||||
"@types/node": "^18.17.6",
|
||||
"@vitejs/plugin-vue": "^4.2.3",
|
||||
"@vue/tsconfig": "^0.4.0",
|
||||
"ddei-framework": "^1.2.45",
|
||||
"ddei-framework": "^1.2.46-alpha-1",
|
||||
"less": "^4.2.0",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"typescript": "~5.1.6",
|
||||
@ -496,9 +496,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/ddei-framework": {
|
||||
"version": "1.2.45",
|
||||
"resolved": "https://registry.npmjs.org/ddei-framework/-/ddei-framework-1.2.45.tgz",
|
||||
"integrity": "sha512-vGhRs6GE1c0ScSKGPxQKmETKZ3G/+OV48pQJYsw0bXCbBpWHpN4N/PH9S9zddx9ZfhLY//OMkbHmpmFSVUumfw==",
|
||||
"version": "1.2.46-alpha-1",
|
||||
"resolved": "https://registry.npmjs.org/ddei-framework/-/ddei-framework-1.2.46-alpha-1.tgz",
|
||||
"integrity": "sha512-GQwNr/7FoPayQQ79y7pGlQ7GrWJXn2M/5laxZng9oKWZIi2m92FO7aQwwuz6BXUvF4uu/ntZ27Raar6dT6iUJA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=16.0.0"
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "ddei-editor",
|
||||
"version": "1.2.46-1",
|
||||
"version": "1.2.46-alpha-1",
|
||||
"private": false,
|
||||
"type": "module",
|
||||
"author": "hoslay <3697355039@qq.com>",
|
||||
@ -60,6 +60,6 @@
|
||||
"vite": "^4.4.6",
|
||||
"vite-plugin-compression": "^0.5.1",
|
||||
"vue-tsc": "^1.8.6",
|
||||
"ddei-framework": "^1.2.45"
|
||||
"ddei-framework": "^1.2.46-alpha-1"
|
||||
}
|
||||
}
|
||||
|
||||
@ -257,6 +257,7 @@ export default {
|
||||
},
|
||||
menus:[
|
||||
{ name: "ddei-core-menu-disabled-auto-obi" },
|
||||
{ name: "ddei-core-menu-enable-auto-obi" }
|
||||
{ name: "ddei-core-menu-enable-auto-obi" },
|
||||
{ name: "ddei-core-menu-sysdefault-auto-obi" }
|
||||
]
|
||||
}
|
||||
@ -562,9 +562,11 @@ export default {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
//如果取消了避障,则忽略
|
||||
if (line.disabledAutoObi) {
|
||||
|
||||
//如果没有设置自动避障,并且全局也取消自动避障
|
||||
|
||||
if (!line.autoObiPolicy && !model.stage.ddInstance.GLOBAL_AUTO_OBI) {
|
||||
return false;
|
||||
} else if (line.autoObiPolicy == 1){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@ -228,7 +228,7 @@ class DDeiKeyActionStartQuickEdit extends DDeiKeyAction {
|
||||
dataJson["textStyle"] = { paddingWeight: 0 }
|
||||
if (isLineLM){
|
||||
|
||||
dataJson["fill"] = {type:1 ,color: 'white' }
|
||||
// dataJson["fill"] = {type:1 ,color: 'white' }
|
||||
}
|
||||
for (let i in dataJson) {
|
||||
let value = dataJson[i]
|
||||
|
||||
@ -80,7 +80,8 @@ export default {
|
||||
propertyName: "Property",
|
||||
searchResult: "Search Result",
|
||||
enableAutoObi: "Avoiding Obstacles",
|
||||
disabledAutoObi: "Cancel Avoiding Obstacles",
|
||||
disabledAutoObi: "Disable Avoiding Obstacles",
|
||||
sysDefaultAutoObi: "Default Avoiding Obstacles",
|
||||
property: {
|
||||
id: 'id',
|
||||
code: 'Code',
|
||||
|
||||
@ -82,7 +82,8 @@ export default {
|
||||
propertyName:"属性",
|
||||
searchResult: "搜索结果",
|
||||
enableAutoObi: "开启避障",
|
||||
disabledAutoObi: "取消避障",
|
||||
disabledAutoObi: "关闭避障",
|
||||
sysDefaultAutoObi: "默认避障",
|
||||
property:{
|
||||
id:'id',
|
||||
code:'编码',
|
||||
|
||||
@ -9,6 +9,7 @@ import MenuRemoveRow from "./menu-remove-row"
|
||||
import MenuRemoveSheet from "./menu-remove-sheet"
|
||||
import MenuDisabledAutoObi from "./menu-disabled-autoobi"
|
||||
import MenuEnableAutoObi from "./menu-enable-autoobi"
|
||||
import MenuSysDefaultAutoObi from "./menu-sysdefault-autoobi"
|
||||
|
||||
|
||||
/**
|
||||
@ -24,7 +25,7 @@ class DDeiCoreMenus extends DDeiPluginBase{
|
||||
|
||||
|
||||
plugins: object[] = [MenuCancelMergeCell, MenuCopySheet, MenuInsertCol, MenuInsertRow,
|
||||
MenuMergeCell, MenuRemoveCol, MenuRemoveRow, MenuRemoveSheet, MenuDisabledAutoObi,MenuEnableAutoObi]
|
||||
MenuMergeCell, MenuRemoveCol, MenuRemoveRow, MenuRemoveSheet, MenuDisabledAutoObi, MenuEnableAutoObi, MenuSysDefaultAutoObi]
|
||||
|
||||
|
||||
getMenus(editor){
|
||||
@ -59,6 +60,6 @@ class DDeiCoreMenus extends DDeiPluginBase{
|
||||
}
|
||||
export {
|
||||
DDeiCoreMenus, MenuCancelMergeCell, MenuCopySheet, MenuInsertCol, MenuInsertRow,
|
||||
MenuMergeCell, MenuRemoveCol, MenuRemoveRow, MenuRemoveSheet, MenuDisabledAutoObi, MenuEnableAutoObi
|
||||
MenuMergeCell, MenuRemoveCol, MenuRemoveRow, MenuRemoveSheet, MenuDisabledAutoObi, MenuEnableAutoObi, MenuSysDefaultAutoObi
|
||||
}
|
||||
export default DDeiCoreMenus
|
||||
@ -52,7 +52,7 @@ class MenuDisabledAutoObi extends DDeiMenuBase {
|
||||
*/
|
||||
action(model: object, evt: Event): void {
|
||||
if (model?.baseModelType == 'DDeiLine') {
|
||||
model.disabledAutoObi = 1
|
||||
model.autoObiPolicy = 1
|
||||
let ddInstance = model.stage.ddInstance
|
||||
|
||||
model.refreshLinePoints()
|
||||
@ -67,7 +67,10 @@ class MenuDisabledAutoObi extends DDeiMenuBase {
|
||||
*/
|
||||
isVisiable(model: object): boolean {
|
||||
//当前控件为表格控件,TODO 或者布局方式为表格的容器控件
|
||||
if (!this.disabled && model?.baseModelType == 'DDeiLine' && !model.disabledAutoObi) {
|
||||
|
||||
if (!this.disabled && model?.baseModelType == 'DDeiLine'
|
||||
&& ((model.stage.ddInstance.GLOBAL_AUTO_OBI && !model.autoObiPolicy) || (!model.stage.ddInstance.GLOBAL_AUTO_OBI && model.autoObiPolicy == 2))
|
||||
) {
|
||||
return true
|
||||
}
|
||||
return false;
|
||||
|
||||
@ -52,9 +52,9 @@ class MenuEnableAutoObi extends DDeiMenuBase {
|
||||
*/
|
||||
action(model: object, evt: Event): void {
|
||||
if (model?.baseModelType == 'DDeiLine') {
|
||||
delete model.disabledAutoObi
|
||||
model.autoObiPolicy = 2
|
||||
let ddInstance = model.stage.ddInstance
|
||||
|
||||
|
||||
model.refreshLinePoints()
|
||||
ddInstance.bus.push(DDeiEnumBusCommandType.RefreshShape);
|
||||
ddInstance.bus.executeAll();
|
||||
@ -67,7 +67,8 @@ class MenuEnableAutoObi extends DDeiMenuBase {
|
||||
*/
|
||||
isVisiable(model: object): boolean {
|
||||
//当前控件为表格控件,TODO 或者布局方式为表格的容器控件
|
||||
if (!this.disabled && model?.baseModelType == 'DDeiLine' && model.disabledAutoObi) {
|
||||
|
||||
if (!this.disabled && model?.baseModelType == 'DDeiLine' && ((model.stage.ddInstance.GLOBAL_AUTO_OBI && model.autoObiPolicy == 1) || (!model.stage.ddInstance.GLOBAL_AUTO_OBI && !model.autoObiPolicy))) {
|
||||
return true
|
||||
}
|
||||
return false;
|
||||
|
||||
78
plugins/core/menus/menu-sysdefault-autoobi.ts
Normal file
78
plugins/core/menus/menu-sysdefault-autoobi.ts
Normal file
@ -0,0 +1,78 @@
|
||||
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;
|
||||
@ -39,10 +39,11 @@ export default defineComponent({
|
||||
]
|
||||
}
|
||||
const options = markRaw({
|
||||
currentLayout: currentLayout,
|
||||
// currentLayout: currentLayout,
|
||||
config: {
|
||||
ratio: 0.7, //默认缩放比例为120%
|
||||
pixel:2, //调整渲染质量
|
||||
// GLOBAL_AUTO_OBI:false,
|
||||
// readonly:true,
|
||||
// readonly:1,
|
||||
// paper:"A6",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user