设计器快捷调整间距撤销回显 bug解决

This commit is contained in:
mrs_12345@163.com 2022-07-22 14:25:16 +08:00
parent 46f87c615f
commit 17dbfd1a62
2 changed files with 218 additions and 181 deletions

View File

@ -291,6 +291,18 @@ function moveShapeAndFile(type,sublinePos,movedDistance) {
var passedMoreShapes = obj.passedMoreShapes
var laneArr = obj.laneArr
if(laneArr.length == 0) {
if(type == 'y') {
Designer.op.moveShape(movingShapes,{
x: 0,
y: movedDistance
})
} else if(type == 'x') {
Designer.op.moveShape(movingShapes,{
x: movedDistance,
y: 0
})
}
for (let i = 0; i < movingLines.length; i++) {
let fromIndex = passedShapes.findIndex(item => item.id == movingLines[i].from.id)
let toIndex = passedShapes.findIndex(item => item.id == movingLines[i].to.id)
@ -326,19 +338,6 @@ function moveShapeAndFile(type,sublinePos,movedDistance) {
}
Designer.painter.renderLinker(movingLines[i])
}
if(laneArr.length == 0) {
if(type == 'y') {
Designer.op.moveShape(movingShapes,{
x: 0,
y: movedDistance
})
} else if(type == 'x') {
Designer.op.moveShape(movingShapes,{
x: movedDistance,
y: 0
})
}
Designer.op.hideTip();
Utils.unselect();
@ -355,6 +354,8 @@ function moveLanes(type,sublinePos,movedDistance) {
var obj = filterShapeAndLine(type,sublinePos)
var movingLines = obj.movingLines
var movingShapes = obj.movingShapes
var passedShapes = obj.passedShapes
var passedMoreShapes = obj.passedMoreShapes
var laneArr = obj.laneArr
var laneGroupArr = []
var changedLanes = []
@ -509,6 +510,42 @@ function moveLanes(type,sublinePos,movedDistance) {
})
}
for (let i = 0; i < movingLines.length; i++) {
let fromIndex = passedShapes.findIndex(item => item.id == movingLines[i].from.id)
let toIndex = passedShapes.findIndex(item => item.id == movingLines[i].to.id)
let moreFromIndex = passedMoreShapes.findIndex(item => item.id == movingLines[i].from.id)
let moreToIndex = passedMoreShapes.findIndex(item => item.id == movingLines[i].to.id)
for (let j = 0; j < movingLines[i].points.length; j++) {
if(movingLines[i].points[j][type] > sublinePos ) {
movingLines[i].points[j][type] += movedDistance
}
}
if (movingLines[i].from[type] > sublinePos && moreFromIndex == -1) {
movingLines[i].from[type] += movedDistance
} else if(movingLines[i].from[type] <= sublinePos && fromIndex !== -1) {
for (let j = 0; j < movingLines[i].points.length; j++) {
if(movingLines[i].points[j][type] == movingLines[i].from[type]) {
movingLines[i].points[j][type] += movedDistance
}
}
movingLines[i].from[type] += movedDistance
}
if (movingLines[i].to[type] > sublinePos && moreToIndex == -1) {
movingLines[i].to[type] += movedDistance
} else if(passedShapes.length > 0 && movingLines[i].to[type] <= sublinePos && toIndex !== -1) {
for (let j = 0; j < movingLines[i].points.length; j++) {
if(movingLines[i].points[j][type] == movingLines[i].to[type]) {
movingLines[i].points[j][type] += movedDistance
}
}
movingLines[i].to[type] += movedDistance
}
Designer.painter.renderLinker(movingLines[i])
}
Designer.op.hideTip();
Utils.unselect();