모듈 있을때 '배치면 초기설정', '지붕덮개' 접근 제한
This commit is contained in:
parent
3b2dfa3ed4
commit
c4bcc3033f
@ -183,43 +183,38 @@ export default function CanvasMenu(props) {
|
||||
await reloadCanvasStatus(objectNo, pid)
|
||||
break
|
||||
case 'surface':
|
||||
if (['module', 'estimate', 'simulation'].some((menu) => menu === selectedMenu)) {
|
||||
const modules = canvas.getObjects().filter((module) => module.name === POLYGON_TYPE.MODULE)
|
||||
const modules = canvas.getObjects().filter((module) => module.name === POLYGON_TYPE.MODULE)
|
||||
if (modules.length > 0) {
|
||||
swalFire({
|
||||
text: getMessage('module.delete.confirm'),
|
||||
type: 'confirm',
|
||||
confirmFn: () => {
|
||||
//해당 메뉴 이동시 배치면 삭제
|
||||
initRoofs()
|
||||
|
||||
if (modules.length > 0) {
|
||||
swalFire({
|
||||
text: getMessage('module.delete.confirm'),
|
||||
type: 'confirm',
|
||||
confirmFn: () => {
|
||||
//해당 메뉴 이동시 배치면 삭제
|
||||
initRoofs()
|
||||
const moduleSurfacesArray = canvas
|
||||
.getObjects()
|
||||
.filter(
|
||||
(obj) =>
|
||||
obj.name === POLYGON_TYPE.MODULE_SETUP_SURFACE || obj.name === POLYGON_TYPE.MODULE || obj.name === POLYGON_TYPE.OBJECT_SURFACE,
|
||||
)
|
||||
|
||||
const moduleSurfacesArray = canvas
|
||||
.getObjects()
|
||||
.filter(
|
||||
(obj) =>
|
||||
obj.name === POLYGON_TYPE.MODULE_SETUP_SURFACE || obj.name === POLYGON_TYPE.MODULE || obj.name === POLYGON_TYPE.OBJECT_SURFACE,
|
||||
)
|
||||
|
||||
if (moduleSurfacesArray.length > 0) {
|
||||
// 모듈면 있을 경우 지붕면 할당 다시해야함
|
||||
moduleSurfacesArray.forEach((moduleSurface) => {
|
||||
canvas.remove(moduleSurface)
|
||||
})
|
||||
canvas.renderAll()
|
||||
onClickNav(menu)
|
||||
}
|
||||
},
|
||||
denyFn: () => {
|
||||
return
|
||||
},
|
||||
})
|
||||
return
|
||||
} else {
|
||||
}
|
||||
} else {
|
||||
setSelectedMenu(menu.type)
|
||||
if (moduleSurfacesArray.length > 0) {
|
||||
// 모듈면 있을 경우 지붕면 할당 다시해야함
|
||||
moduleSurfacesArray.forEach((moduleSurface) => {
|
||||
canvas.remove(moduleSurface)
|
||||
})
|
||||
canvas.renderAll()
|
||||
onClickNav(menu)
|
||||
}
|
||||
},
|
||||
denyFn: () => {
|
||||
return
|
||||
},
|
||||
})
|
||||
return
|
||||
}
|
||||
setSelectedMenu(menu.type)
|
||||
await reloadCanvasStatus(objectNo, pid)
|
||||
break
|
||||
case 'module':
|
||||
@ -311,18 +306,6 @@ export default function CanvasMenu(props) {
|
||||
if (selectedMenu === 'placement') {
|
||||
onClickPlacementInitialMenu()
|
||||
}
|
||||
if (selectedMenu === 'surface') {
|
||||
const moduleSurfacesArray = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.MODULE_SETUP_SURFACE)
|
||||
if (moduleSurfacesArray.length > 0) {
|
||||
initRoofs()
|
||||
moduleSurfacesArray.forEach((moduleSurface) => {
|
||||
canvas.remove(...moduleSurface.modules)
|
||||
canvas.remove(moduleSurface)
|
||||
moduleSurface.modules = []
|
||||
})
|
||||
canvas.renderAll()
|
||||
}
|
||||
}
|
||||
}, [selectedMenu])
|
||||
|
||||
// 저장버튼(btn08) 클릭 시 호출되는 함수
|
||||
@ -425,10 +408,16 @@ export default function CanvasMenu(props) {
|
||||
const checkMenuState = (menu) => {
|
||||
return (
|
||||
(['2', '3'].includes(canvasSetting?.roofSizeSet) && menu.type === 'outline') ||
|
||||
(selectedMenu === 'module' && ['drawing', 'placement'].includes(menu.type))
|
||||
(selectedMenu === 'module' && ['drawing', 'placement'].includes(menu.type)) ||
|
||||
(isExistModule() && ['placement', 'outline'].some((num) => num === menu.type))
|
||||
)
|
||||
}
|
||||
|
||||
const isExistModule = () => {
|
||||
const modules = canvas?.getObjects().filter((module) => module.name === POLYGON_TYPE.MODULE) ?? []
|
||||
return modules.length > 0
|
||||
}
|
||||
|
||||
/**
|
||||
* 모듈, 회로 구성 이전 메뉴에서 메뉴 클릭으로 넘어올때
|
||||
* 지붕면 할당이 끝난 지붕이 하나라도 있는지 체크
|
||||
@ -546,6 +535,7 @@ export default function CanvasMenu(props) {
|
||||
onClick={async () => {
|
||||
if (['2', '3'].includes(canvasSetting?.roofSizeSet) && menu.type === 'outline') return
|
||||
if (selectedMenu === 'module' && ['drawing', 'placement'].includes(menu.type)) return
|
||||
if (isExistModule() && ['placement', 'outline'].some((num) => num === menu.type)) return
|
||||
await onClickNav(menu)
|
||||
}}
|
||||
>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user