feat: 新增页面框选效果

This commit is contained in:
奔跑的面条
2022-08-18 20:30:02 +08:00
parent a54a007c5a
commit f02e92a58e
9 changed files with 179 additions and 21 deletions
+4 -1
View File
@@ -21,7 +21,8 @@ export enum EditCanvasTypeEnum {
USER_SCALE = 'userScale',
LOCK_SCALE = 'lockScale',
IS_CREATE = 'isCreate',
IS_DRAG = 'isDrag'
IS_DRAG = 'isDrag',
IS_SELECT = 'isSelect'
}
// 编辑区域
@@ -41,6 +42,8 @@ export type EditCanvasType = {
[EditCanvasTypeEnum.IS_CREATE]: boolean
// 拖拽中
[EditCanvasTypeEnum.IS_DRAG]: boolean
// 框选中
[EditCanvasTypeEnum.IS_SELECT]: boolean
}
// 滤镜/背景色/宽高主题等
@@ -52,7 +52,9 @@ export const useChartEditStore = defineStore({
// 初始化
isCreate: false,
// 拖拽中
isDrag: false
isDrag: false,
// 框选中
isSelect: false
},
// 右键菜单
rightMenuShow: false,
@@ -216,10 +218,10 @@ export const useChartEditStore = defineStore({
},
// * 设置鼠标位置
setMousePosition(x?: number, y?: number, startX?: number, startY?: number): void {
if (startX) this.mousePosition.startX = startX
if (startY) this.mousePosition.startY = startY
if (x) this.mousePosition.x = x
if (y) this.mousePosition.y = y
if (startX) this.mousePosition.startX = startX
if (startY) this.mousePosition.startY = startY
},
// * 找到目标 id 数据的下标位置,id可为父级或子集数组(无则返回-1)
fetchTargetIndex(id?: string): number {