设计器快捷调整间距bug解决及细节完善
This commit is contained in:
parent
569b360daf
commit
95bfd19f42
@ -80,6 +80,7 @@ Designer.addFunction("selectVertical", function() {
|
||||
var canvas = $("#designer_canvas");
|
||||
|
||||
container.bind('mousemove.drag',function (a) {
|
||||
Designer.op.destroy()
|
||||
let pos = Utils.getRelativePos(a.pageX, a.pageY, canvas)
|
||||
subline1.css({
|
||||
display : "block",
|
||||
@ -92,6 +93,7 @@ Designer.addFunction("selectVertical", function() {
|
||||
top : pos.y
|
||||
});
|
||||
container.bind('mousedown.drag',function (b) {
|
||||
Designer.op.destroy()
|
||||
container.unbind("mousemove.drag");
|
||||
let pos1 = Utils.getRelativePos(b.pageX, b.pageY, canvas)
|
||||
sublinePos = pos1.y
|
||||
@ -118,6 +120,7 @@ Designer.addFunction("selectVertical", function() {
|
||||
cursor: 'move'
|
||||
});
|
||||
container.bind('mousemove.drag',function (e) {
|
||||
Designer.op.destroy()
|
||||
var newPos = Utils.getRelativePos(e.pageX, e.pageY, canvas);
|
||||
if (newPos.y >= sublinePos) { // 增加
|
||||
subline1.css({
|
||||
@ -205,16 +208,16 @@ Designer.addFunction("selectVertical", function() {
|
||||
含有泳池泳道时要改变泳池泳道的高(宽)
|
||||
*/
|
||||
|
||||
function isLineBelowOrRight(line,type,pos) {
|
||||
function isLineBelowOrRight(line,type,pos) { // 筛选出要移动的线
|
||||
let flag = false
|
||||
if(line.from[type] > pos) {
|
||||
if(line.from[type] >= pos) {
|
||||
flag = true
|
||||
}
|
||||
if(line.to[type] > pos) {
|
||||
if(line.to[type] >= pos) {
|
||||
flag = true
|
||||
}
|
||||
for (let i = 0; i < line.points.length; i++) {
|
||||
if (line.points[i][type] > pos) {
|
||||
if (line.points[i][type] >= pos) {
|
||||
flag = true
|
||||
}
|
||||
}
|
||||
@ -247,24 +250,24 @@ function filterShapeAndLine(type,sublinePos) {
|
||||
}
|
||||
for (let i = 0; i < shapeArr.length; i++) {
|
||||
if(type == 'x') {
|
||||
if (shapeArr[i].props[type] >= sublinePos) {
|
||||
movingShapes.push(shapeArr[i])
|
||||
} else if(shapeArr[i].props.x + shapeArr[i].props.w/2>= sublinePos) {
|
||||
if (shapeArr[i].props[type] > sublinePos) {
|
||||
movingShapes.push(shapeArr[i]) // 在辅助线右侧--移动
|
||||
} else if((shapeArr[i].props.x <= sublinePos) && (shapeArr[i].props.x + shapeArr[i].props.w/2>= sublinePos)) { // 辅助线穿过图形左半部分---移动
|
||||
passedShapes.push(shapeArr[i])
|
||||
movingShapes.push(shapeArr[i])
|
||||
} else if(shapeArr[i].props.x + shapeArr[i].props.w/2 < sublinePos && shapeArr[i].props.x + shapeArr[i].props.w > sublinePos) {
|
||||
} else if(shapeArr[i].props.x + shapeArr[i].props.w/2 < sublinePos && shapeArr[i].props.x + shapeArr[i].props.w >= sublinePos) { // 辅助线穿过图形右半部分---不移动
|
||||
passedMoreShapes.push(shapeArr[i])
|
||||
}
|
||||
else {
|
||||
sublineSideShape.push(shapeArr[i])
|
||||
sublineSideShape.push(shapeArr[i]) // 在辅助线左侧--不需要移动
|
||||
}
|
||||
} else if(type == 'y') {
|
||||
if (shapeArr[i].props[type] >= sublinePos) { // 辅助线以下
|
||||
if (shapeArr[i].props[type] > sublinePos) { // 辅助线以下
|
||||
movingShapes.push(shapeArr[i])
|
||||
} else if(shapeArr[i].props.y + shapeArr[i].props.h/2>= sublinePos) { // 辅助线穿过图形上半
|
||||
} else if((shapeArr[i].props.y <= sublinePos) && (shapeArr[i].props.y + shapeArr[i].props.h/2>= sublinePos)) { // 辅助线穿过图形上半
|
||||
passedShapes.push(shapeArr[i])
|
||||
movingShapes.push(shapeArr[i])
|
||||
} else if(shapeArr[i].props.y + shapeArr[i].props.h/2 < sublinePos && shapeArr[i].props.y + shapeArr[i].props.h > sublinePos) {
|
||||
} else if(shapeArr[i].props.y + shapeArr[i].props.h/2 < sublinePos && shapeArr[i].props.y + shapeArr[i].props.h >= sublinePos) {
|
||||
passedMoreShapes.push(shapeArr[i])
|
||||
}
|
||||
else {
|
||||
@ -272,7 +275,7 @@ function filterShapeAndLine(type,sublinePos) {
|
||||
}
|
||||
}
|
||||
}
|
||||
for (let i = 0; i < lineArr.length; i++) {
|
||||
for (let i = 0; i < lineArr.length; i++) { // 在所有的线中筛选出要移动的线
|
||||
let index = movingLines.findIndex(item => item.id == lineArr[i].id)
|
||||
if(isLineBelowOrRight(lineArr[i],type,sublinePos) && index == -1) {
|
||||
movingLines.push(lineArr[i])
|
||||
@ -332,8 +335,8 @@ function moveShapeAndFile(type,sublinePos,movedDistance) {
|
||||
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)
|
||||
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 ) {
|
||||
@ -360,12 +363,14 @@ function moveShapeAndFile(type,sublinePos,movedDistance) {
|
||||
}
|
||||
}
|
||||
movingLines[i].to[type] += movedDistance
|
||||
|
||||
}
|
||||
Designer.painter.renderLinker(movingLines[i])
|
||||
}
|
||||
Designer.op.hideTip();
|
||||
Utils.unselect();
|
||||
|
||||
|
||||
var movedArr = movingShapes.concat(movingLines)
|
||||
if (movedArr.length > 0) {
|
||||
Model.updateMulti(movedArr);
|
||||
@ -662,6 +667,7 @@ Designer.addFunction("selectHorizontal", function() {
|
||||
var canvas = $("#designer_canvas");
|
||||
|
||||
container.bind('mousemove.drag',function (a) {
|
||||
Designer.op.destroy()
|
||||
let pos = Utils.getRelativePos(a.pageX, a.pageY, canvas)
|
||||
subline1.css({
|
||||
display : "block",
|
||||
@ -674,6 +680,7 @@ Designer.addFunction("selectHorizontal", function() {
|
||||
top : 0
|
||||
});
|
||||
container.bind('mousedown.drag',function (b) {
|
||||
Designer.op.destroy()
|
||||
container.unbind("mousemove.drag");
|
||||
let pos1 = Utils.getRelativePos(b.pageX, b.pageY, canvas)
|
||||
sublinePos = pos1.x
|
||||
@ -700,6 +707,7 @@ Designer.addFunction("selectHorizontal", function() {
|
||||
cursor: 'move'
|
||||
});
|
||||
container.bind('mousemove.drag',function (e) {
|
||||
Designer.op.destroy()
|
||||
var newPos = Utils.getRelativePos(e.pageX, e.pageY, canvas);
|
||||
if (newPos.x >= sublinePos) { // 增加
|
||||
subline1.css({
|
||||
@ -757,16 +765,14 @@ Designer.addFunction("selectHorizontal", function() {
|
||||
subline1.hide()
|
||||
subline2.hide()
|
||||
|
||||
var edgePos = getCanvasContentEdge()
|
||||
var pageSize = Model.define.page;
|
||||
console.log(edgePos.right)
|
||||
console.log(pageSize.width)
|
||||
if(edgePos.right > pageSize.width - pageSize.padding) {
|
||||
Designer.setPageStyle({
|
||||
width: edgePos.right + pageSize.padding + 30
|
||||
});
|
||||
$("#page_size_w").spinner('value',edgePos.right + pageSize.padding + 30);
|
||||
}
|
||||
var edgePos = getCanvasContentEdge()
|
||||
var pageSize = Model.define.page;
|
||||
if(edgePos.right > pageSize.width - pageSize.padding) {
|
||||
Designer.setPageStyle({
|
||||
width: edgePos.right + pageSize.padding + 30
|
||||
});
|
||||
$("#page_size_w").spinner('value',edgePos.right + pageSize.padding + 30);
|
||||
}
|
||||
$(document).unbind("mouseup.drop")
|
||||
})
|
||||
})
|
||||
|
||||
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user