Merge pull request 'dev' (#183) from dev into dev-deploy
Reviewed-on: #183
This commit is contained in:
commit
a3d2ef7ca5
@ -182,4 +182,46 @@ export const QLine = fabric.util.createClass(fabric.Line, {
|
|||||||
}
|
}
|
||||||
return this
|
return this
|
||||||
},
|
},
|
||||||
|
|
||||||
|
containsPoint: function(point) {
|
||||||
|
const boundingRect = this.getBoundingRect(true)
|
||||||
|
|
||||||
|
// 선의 방향 판단
|
||||||
|
const dx = Math.abs(this.x2 - this.x1)
|
||||||
|
const dy = Math.abs(this.y2 - this.y1)
|
||||||
|
const isVertical = dx < dy && dx < 10 // 세로선 (가로 변화가 작음)
|
||||||
|
const isDiagonal = dx > 10 && dy > 10 // 대각선 (가로, 세로 모두 변화)
|
||||||
|
|
||||||
|
let reducedWidth, reducedHeight
|
||||||
|
|
||||||
|
if (isDiagonal) {
|
||||||
|
// 대각선의 경우: 1/2 크기
|
||||||
|
reducedWidth = boundingRect.width / 2
|
||||||
|
reducedHeight = boundingRect.height / 2
|
||||||
|
} else if (isVertical) {
|
||||||
|
// 세로선의 경우: 가로 선택범위 2배
|
||||||
|
reducedWidth = boundingRect.width * 2
|
||||||
|
reducedHeight = boundingRect.height / 3
|
||||||
|
} else {
|
||||||
|
// 가로선의 경우: 세로 선택범위 2배
|
||||||
|
reducedWidth = boundingRect.width / 3
|
||||||
|
reducedHeight = boundingRect.height * 2
|
||||||
|
}
|
||||||
|
|
||||||
|
// 축소된 영역의 중심점 계산
|
||||||
|
const centerX = boundingRect.left + boundingRect.width / 2
|
||||||
|
const centerY = boundingRect.top + boundingRect.height / 2
|
||||||
|
|
||||||
|
// 축소된 영역의 경계 계산
|
||||||
|
const left = centerX - reducedWidth / 2
|
||||||
|
const top = centerY - reducedHeight / 2
|
||||||
|
const right = centerX + reducedWidth / 2
|
||||||
|
const bottom = centerY + reducedHeight / 2
|
||||||
|
|
||||||
|
// 점이 축소된 영역 내에 있는지 확인
|
||||||
|
return point.x >= left &&
|
||||||
|
point.x <= right &&
|
||||||
|
point.y >= top &&
|
||||||
|
point.y <= bottom
|
||||||
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
@ -124,8 +124,8 @@ export default function CircuitTrestleSetting({ id }) {
|
|||||||
// 캡쳐 전 처리
|
// 캡쳐 전 처리
|
||||||
const beforeCapture = () => {
|
const beforeCapture = () => {
|
||||||
// setCanvasZoom(100)
|
// setCanvasZoom(100)
|
||||||
const x = canvas.width / 2
|
const x = 0
|
||||||
const y = canvas.height / 2
|
const y = 0
|
||||||
canvas.zoomToPoint(new fabric.Point(x, y), 0.5)
|
canvas.zoomToPoint(new fabric.Point(x, y), 0.5)
|
||||||
changeFontSize('lengthText', '28')
|
changeFontSize('lengthText', '28')
|
||||||
changeFontSize('circuitNumber', '28')
|
changeFontSize('circuitNumber', '28')
|
||||||
|
|||||||
@ -27,7 +27,7 @@ export default function ActualSizeSetting(props) {
|
|||||||
|
|
||||||
const handleFinish = () => {
|
const handleFinish = () => {
|
||||||
swalFire({
|
swalFire({
|
||||||
text: '완료 하시겠습니까?',
|
text: getMessage("modal.roof.allocation.auxiliary.accept"),
|
||||||
type: 'confirm',
|
type: 'confirm',
|
||||||
confirmFn: () => {
|
confirmFn: () => {
|
||||||
handleAlloc()
|
handleAlloc()
|
||||||
@ -37,7 +37,7 @@ export default function ActualSizeSetting(props) {
|
|||||||
|
|
||||||
const handleClose = () => {
|
const handleClose = () => {
|
||||||
swalFire({
|
swalFire({
|
||||||
text: '완료 하시겠습니까?',
|
text: getMessage("modal.roof.allocation.auxiliary.accept"),
|
||||||
type: 'confirm',
|
type: 'confirm',
|
||||||
confirmFn: () => {
|
confirmFn: () => {
|
||||||
handleAlloc()
|
handleAlloc()
|
||||||
|
|||||||
@ -807,59 +807,57 @@ export const useTrestle = () => {
|
|||||||
const getAzimuth = (parent) => {
|
const getAzimuth = (parent) => {
|
||||||
const { moduleCompass, surfaceCompass, direction } = parent
|
const { moduleCompass, surfaceCompass, direction } = parent
|
||||||
|
|
||||||
|
if(surfaceCompass) {
|
||||||
|
return -surfaceCompass
|
||||||
|
}
|
||||||
|
|
||||||
let resultAzimuth = surfaceCompass || moduleCompass
|
let resultAzimuth = surfaceCompass || moduleCompass
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
switch (direction) {
|
switch (direction) {
|
||||||
case 'south': {
|
case 'south': {
|
||||||
if (resultAzimuth < 0) {
|
return resultAzimuth
|
||||||
return -1 * resultAzimuth
|
|
||||||
} else if (resultAzimuth === 0) {
|
|
||||||
return 0
|
|
||||||
} else if (resultAzimuth < 180) {
|
|
||||||
return -1 * resultAzimuth
|
|
||||||
} else if (resultAzimuth === 180) {
|
|
||||||
return 180
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
case 'north': {
|
case 'north': {
|
||||||
if (resultAzimuth < 0) {
|
if (resultAzimuth < 0) {
|
||||||
return -1 * (180 + resultAzimuth)
|
return 180 + resultAzimuth
|
||||||
} else if (resultAzimuth === 0) {
|
} else if (resultAzimuth === 0) {
|
||||||
return 180
|
return 180
|
||||||
} else if (resultAzimuth < 180) {
|
} else if (resultAzimuth < 180) {
|
||||||
return 180 - resultAzimuth
|
return resultAzimuth - 180
|
||||||
} else if (resultAzimuth === 180) {
|
} else if (resultAzimuth === 180) {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case 'west': {
|
case 'west': {
|
||||||
if (resultAzimuth > -180 && resultAzimuth < 0) {
|
if (resultAzimuth > -180 && resultAzimuth < 0) {
|
||||||
return -1 * (90 + resultAzimuth)
|
return 90 + resultAzimuth
|
||||||
} else if (resultAzimuth === 0) {
|
} else if (resultAzimuth === 0) {
|
||||||
return -180 + (90 - resultAzimuth)
|
return 90 - resultAzimuth
|
||||||
} else if (resultAzimuth < 180) {
|
} else if (resultAzimuth < 180) {
|
||||||
if (resultAzimuth > 90) {
|
if (resultAzimuth > 90) {
|
||||||
return 180 + (90 - resultAzimuth)
|
return -180 + (resultAzimuth - 90)
|
||||||
}
|
}
|
||||||
return -180 + (90 - resultAzimuth)
|
|
||||||
} else if (resultAzimuth === 180) {
|
|
||||||
return 180 + (90 - resultAzimuth)
|
return 180 + (90 - resultAzimuth)
|
||||||
|
} else if (resultAzimuth === 180) {
|
||||||
|
return -180 + (resultAzimuth - 90)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
case 'east': {
|
case 'east': {
|
||||||
if (resultAzimuth === 0) {
|
if (resultAzimuth === 0) {
|
||||||
return 90 - resultAzimuth
|
return -180 + (90 - resultAzimuth)
|
||||||
} else if (resultAzimuth > 0 && resultAzimuth < 180) {
|
} else if (resultAzimuth > 0 && resultAzimuth < 180) {
|
||||||
return 90 - resultAzimuth
|
return resultAzimuth - 90
|
||||||
} else if (resultAzimuth === 180) {
|
} else if (resultAzimuth === 180) {
|
||||||
return 90 - resultAzimuth
|
return resultAzimuth - 90
|
||||||
} else if (resultAzimuth > -180 && resultAzimuth < 0) {
|
} else if (resultAzimuth > -180 && resultAzimuth < 0) {
|
||||||
if (resultAzimuth < -90) {
|
if (resultAzimuth <= -90) {
|
||||||
return -180 - (90 + resultAzimuth)
|
return 180 + (90 + resultAzimuth)
|
||||||
}
|
}
|
||||||
return 180 - (90 + resultAzimuth)
|
return -180 + (90 + resultAzimuth)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -342,7 +342,7 @@ export function useRoofAllocationSetting(id) {
|
|||||||
if (!checkInnerLines()) {
|
if (!checkInnerLines()) {
|
||||||
apply()
|
apply()
|
||||||
} else {
|
} else {
|
||||||
swalFire({ type: 'alert', icon: 'error', text: getMessage('실제치수를 입력해 주세요.') })
|
swalFire({ type: 'alert', icon: 'error', text: getMessage('modal.roof.allocation.auxiliary.size.form') })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1117,5 +1117,7 @@
|
|||||||
"modal.module.basic.setting.module.placement.max.rows.multiple": "2種混合時\rの最大段数",
|
"modal.module.basic.setting.module.placement.max.rows.multiple": "2種混合時\rの最大段数",
|
||||||
"modal.module.basic.setting.module.placement.mix.asg.yn.error": "混合インストール不可能なモジュールです。 (JA)",
|
"modal.module.basic.setting.module.placement.mix.asg.yn.error": "混合インストール不可能なモジュールです。 (JA)",
|
||||||
"modal.module.basic.setting.module.placement.mix.asg.yn": "混合",
|
"modal.module.basic.setting.module.placement.mix.asg.yn": "混合",
|
||||||
"modal.module.basic.setting.module.placement.over.max.row": "{0} 最大段数超過しました。最大段数表を参考にしてください。"
|
"modal.module.basic.setting.module.placement.over.max.row": "{0} 最大段数超過しました。最大段数表を参考にしてください。",
|
||||||
|
"modal.roof.allocation.auxiliary.accept": "完了しますか?",
|
||||||
|
"modal.roof.allocation.auxiliary.size.form": "補助線の寸法を入力してください。"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1117,5 +1117,7 @@
|
|||||||
"modal.module.basic.setting.module.placement.max.rows.multiple": "2종 혼합 최대단수",
|
"modal.module.basic.setting.module.placement.max.rows.multiple": "2종 혼합 최대단수",
|
||||||
"modal.module.basic.setting.module.placement.mix.asg.yn.error": "혼합 설치 불가능한 모듈입니다.",
|
"modal.module.basic.setting.module.placement.mix.asg.yn.error": "혼합 설치 불가능한 모듈입니다.",
|
||||||
"modal.module.basic.setting.module.placement.mix.asg.yn": "혼합",
|
"modal.module.basic.setting.module.placement.mix.asg.yn": "혼합",
|
||||||
"modal.module.basic.setting.module.placement.over.max.row": "{0}의 최대단수를 초과했습니다. 최대단수표를 참고해 주세요."
|
"modal.module.basic.setting.module.placement.over.max.row": "{0}의 최대단수를 초과했습니다. 최대단수표를 참고해 주세요.",
|
||||||
|
"modal.roof.allocation.auxiliary.accept": "완료하시겠습니까?",
|
||||||
|
"modal.roof.allocation.auxiliary.size.form": "실제치수를 입력해 주세요."
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user