升级了版本

This commit is contained in:
猴赛雷 2024-10-18 16:06:47 +08:00
parent 3012d67c97
commit 27481e856a
5 changed files with 87 additions and 43 deletions

13
package-lock.json generated
View File

@ -1,15 +1,15 @@
{ {
"name": "ddei-editor", "name": "ddei-editor",
"version": "1.2.41-211-3", "version": "1.2.41-211-10",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "ddei-editor", "name": "ddei-editor",
"version": "1.2.41-211-3", "version": "1.2.41-211-10",
"license": "Apache License 2.0", "license": "Apache License 2.0",
"dependencies": { "dependencies": {
"ddei-framework": "file:///Users/hoslay/work/ddei/ddei-framework/ddei-framework-1.2.41-211.tgz" "ddei-framework": "^1.2.41"
}, },
"devDependencies": { "devDependencies": {
"@tsconfig/node18": "^18.2.0", "@tsconfig/node18": "^18.2.0",
@ -518,10 +518,9 @@
"integrity": "sha512-tdMuLdcJyreope1BWfnYqTQaIkSIrU/KtY9yX5mNGd+tYeJ0Y99ARHDuYnEABPX/8yh/r0Kl169v5ODg2vr98g==" "integrity": "sha512-tdMuLdcJyreope1BWfnYqTQaIkSIrU/KtY9yX5mNGd+tYeJ0Y99ARHDuYnEABPX/8yh/r0Kl169v5ODg2vr98g=="
}, },
"node_modules/ddei-framework": { "node_modules/ddei-framework": {
"version": "1.2.41-211", "version": "1.2.41",
"resolved": "file:../ddei-framework/ddei-framework-1.2.41-211.tgz", "resolved": "https://registry.npmjs.org/ddei-framework/-/ddei-framework-1.2.41.tgz",
"integrity": "sha512-HHO9DiumwucTt3DNPzQqcF7zfvu8t7I2EvGNIpSuWysk27wr8GpjvtDF1px2UfjMgxegvQybEa8Q0nFJIgVgmg==", "integrity": "sha512-zcdAf54qLILPE8wN8VTQ7VOqLtBSQDUK+H9wDZjioBvWYMBkDwdpqJgOYXZPkl3JyWScYDNVlp26KJUxI5nJbg==",
"license": "Apache License 2.0",
"dependencies": { "dependencies": {
"ddei-autolink": "^1.1.1", "ddei-autolink": "^1.1.1",
"lodash": "^4.17.21", "lodash": "^4.17.21",

View File

@ -1,6 +1,6 @@
{ {
"name": "ddei-editor", "name": "ddei-editor",
"version": "1.2.41-211-3", "version": "1.2.41",
"private": false, "private": false,
"type": "module", "type": "module",
"author": "hoslay <3697355039@qq.com>", "author": "hoslay <3697355039@qq.com>",
@ -49,7 +49,7 @@
"type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false"
}, },
"dependencies": { "dependencies": {
"ddei-framework": "file:///Users/hoslay/work/ddei/ddei-framework/ddei-framework-1.2.41-211.tgz" "ddei-framework": "^1.2.41"
}, },
"devDependencies": { "devDependencies": {
"@tsconfig/node18": "^18.2.0", "@tsconfig/node18": "^18.2.0",

View File

@ -27,6 +27,17 @@ class DDeiKeyActionCopy extends DDeiKeyAction {
] ]
} }
isActive(element: object): boolean {
if (!element) {
return true
}
if (element.tagName == 'BODY' || element.tagName == 'HEAD' || element.tagName == 'HTML') {
return true
}
return false
}
getHotKeys(editor) { getHotKeys(editor) {
return [this]; return [this];
} }
@ -57,9 +68,9 @@ class DDeiKeyActionCopy extends DDeiKeyAction {
// ============================ 方法 =============================== // ============================ 方法 ===============================
async action(evt: Event, ddInstance: DDei, editor: DDeiEditor): void { async action(evt: Event, ddInstance: DDei, editor: DDeiEditor): boolean {
//修改当前操作控件坐标 //修改当前操作控件坐标
if (ddInstance && ddInstance.stage) { if (ddInstance && ddInstance.stage && this.isActive(document.activeElement)) {
//当前激活的图层 //当前激活的图层
let selectedControls = ddInstance.stage.selectedModels; let selectedControls = ddInstance.stage.selectedModels;
let rsState = DDeiUtil.invokeCallbackFunc("EVENT_COPY_BEFORE", "COPY", { models: selectedControls}, ddInstance) let rsState = DDeiUtil.invokeCallbackFunc("EVENT_COPY_BEFORE", "COPY", { models: selectedControls}, ddInstance)
@ -214,9 +225,12 @@ class DDeiKeyActionCopy extends DDeiKeyAction {
if (!DDeiConfig.ALLOW_CLIPBOARD) { if (!DDeiConfig.ALLOW_CLIPBOARD) {
window.DDEI_CLIPBOARD = blob window.DDEI_CLIPBOARD = blob
} }
return true;
} }
} }
} }
return false
} }
} }

View File

@ -60,11 +60,21 @@ class DDeiKeyActionPaste extends DDeiKeyAction {
return DDeiKeyActionPaste; return DDeiKeyActionPaste;
} }
isActive(element: object): boolean {
if (!element) {
return true
}
if (element.tagName == 'BODY' || element.tagName == 'HEAD' || element.tagName == 'HTML') {
return true
}
return false
}
// ============================ 方法 =============================== // ============================ 方法 ===============================
action(evt: Event, ddInstance: DDei): void { action(evt: Event, ddInstance: DDei): boolean {
//修改当前操作控件坐标 //修改当前操作控件坐标
if (ddInstance && ddInstance.stage) { if (ddInstance && ddInstance.stage && this.isActive(document.activeElement)) {
let modeName = DDeiUtil.getConfigValue("MODE_NAME", ddInstance); let modeName = DDeiUtil.getConfigValue("MODE_NAME", ddInstance);
let accessCreate = DDeiUtil.isAccess( let accessCreate = DDeiUtil.isAccess(
DDeiEnumOperateType.CREATE, null, null, modeName, DDeiEnumOperateType.CREATE, null, null, modeName,
@ -73,8 +83,11 @@ class DDeiKeyActionPaste extends DDeiKeyAction {
//校验权限 //校验权限
if (accessCreate) { if (accessCreate) {
this.doPaste(evt, ddInstance); this.doPaste(evt, ddInstance);
return true;
} }
} }
return false
} }
/** /**

View File

@ -1,4 +1,4 @@
import {DDeiConfig} from "ddei-framework"; import { DDeiEditorUtil } from "ddei-framework";
import {DDei} from "ddei-framework"; import {DDei} from "ddei-framework";
import {DDeiKeyAction} from "ddei-framework"; import {DDeiKeyAction} from "ddei-framework";
import {DDeiEnumBusCommandType} from "ddei-framework"; import {DDeiEnumBusCommandType} from "ddei-framework";
@ -52,43 +52,61 @@ class DDeiKeyActionRemoveModels extends DDeiKeyAction {
} }
return DDeiKeyActionRemoveModels; return DDeiKeyActionRemoveModels;
} }
isActive(element: object): boolean {
if (!element) {
return true
}
if (element.tagName == 'BODY' || element.tagName == 'HEAD' || element.tagName == 'HTML') {
return true
}
return false
}
// ============================ 方法 =============================== // ============================ 方法 ===============================
action(evt: Event, ddInstance: DDei): void { action(evt: Event, ddInstance: DDei):boolean {
//修改当前操作控件坐标 //修改当前操作控件坐标
if (ddInstance && ddInstance.stage) { if (ddInstance && ddInstance.stage) {
let stageRender = ddInstance.stage.render; //必须是canvas的子控件
let optContainer = stageRender.currentOperateContainer; if (this.isActive(document.activeElement)){
if (optContainer) { let stageRender = ddInstance.stage.render;
let selectedModels = optContainer.getSelectedModels(); let optContainer = stageRender.currentOperateContainer;
//加载事件的配置 if (optContainer) {
let rsState = DDeiUtil.invokeCallbackFunc("EVENT_CONTROL_DEL_BEFORE", DDeiEnumOperateType.DEL, { models: Array.from(selectedModels.values()) }, ddInstance, evt) let selectedModels = optContainer.getSelectedModels();
if (rsState == 0 || rsState == 1) { //加载事件的配置
let models = Array.from(selectedModels.values()) let rsState = DDeiUtil.invokeCallbackFunc("EVENT_CONTROL_DEL_BEFORE", DDeiEnumOperateType.DEL, { models: Array.from(selectedModels.values()) }, ddInstance, evt)
models[0].layer.opPoints = []; if (rsState == 0 || rsState == 1) {
let models = Array.from(selectedModels.values())
models[0].layer.opPoints = [];
if (models[0].layer.opLine?.render) { if (models[0].layer.opLine?.render) {
models[0].layer.opLine.render.enableRefreshShape() models[0].layer.opLine.render.enableRefreshShape()
}
delete models[0].layer.opLine;
optContainer.removeModels(models, true)
optContainer.cascadeRemoveSelf()
ddInstance.bus.push(DDeiEnumBusCommandType.UpdatePaperArea);
ddInstance.bus.push(DDeiEnumBusCommandType.StageChangeSelectModels);
ddInstance.bus.push(DDeiEnumBusCommandType.UpdateSelectorBounds);
ddInstance.bus.push(DDeiEnumBusCommandType.NodifyChange);
ddInstance.bus.push(DDeiEnumBusCommandType.AddHistroy);
ddInstance.bus.push(DDeiEnumBusCommandType.ChangeStageWPV, {
dragObj: { dx: 0, dy: 0 }, x: 0, y: 0
})
//渲染图形
ddInstance.bus.push(DDeiEnumBusCommandType.RefreshShape);
ddInstance.bus.executeAll();
return true;
} }
delete models[0].layer.opLine;
optContainer.removeModels(models, true)
optContainer.cascadeRemoveSelf()
ddInstance.bus.push(DDeiEnumBusCommandType.UpdatePaperArea);
ddInstance.bus.push(DDeiEnumBusCommandType.StageChangeSelectModels);
ddInstance.bus.push(DDeiEnumBusCommandType.UpdateSelectorBounds);
ddInstance.bus.push(DDeiEnumBusCommandType.NodifyChange);
ddInstance.bus.push(DDeiEnumBusCommandType.AddHistroy);
ddInstance.bus.push(DDeiEnumBusCommandType.ChangeStageWPV, {
dragObj: { dx: 0, dy: 0 }, x: 0, y: 0
})
//渲染图形
ddInstance.bus.push(DDeiEnumBusCommandType.RefreshShape);
ddInstance.bus.executeAll();
} }
} }
} }
return false;
} }
} }