모듈 있을때 '배치면 초기설정', '지붕덮개' 접근 제한
This commit is contained in:
parent
3b2dfa3ed4
commit
c4bcc3033f
@ -183,9 +183,7 @@ 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)
|
||||
|
||||
if (modules.length > 0) {
|
||||
swalFire({
|
||||
text: getMessage('module.delete.confirm'),
|
||||
@ -215,11 +213,8 @@ export default function CanvasMenu(props) {
|
||||
},
|
||||
})
|
||||
return
|
||||
} else {
|
||||
}
|
||||
} else {
|
||||
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