diff --git a/src/components/floor-plan/CanvasMenu.jsx b/src/components/floor-plan/CanvasMenu.jsx index 68808aa9..00bf5f73 100644 --- a/src/components/floor-plan/CanvasMenu.jsx +++ b/src/components/floor-plan/CanvasMenu.jsx @@ -172,12 +172,19 @@ export default function CanvasMenu(props) { setType('surface') break case 4: - if (!checkMenuAndCanvasState()) { - swalFire({ text: getMessage('menu.validation.canvas.roof') }) - return + console.log('π ~ onClickNav ~ menu:', menu) + console.log('π ~ onClickNav ~ menuNumber:', menuNumber) + if (menuNumber < menu.index) { + if (!checkMenuAndCanvasState()) { + swalFire({ text: getMessage('menu.validation.canvas.roof') }) + return + } else { + setType('module') + } } else { - setType('module') + router.push(`/floor-plan?pid=${pid}&objectNo=${objectNo}`) } + break case 5: // let pid = urlParams.get('pid') @@ -364,6 +371,11 @@ export default function CanvasMenu(props) { return (['2', '3'].includes(canvasSetting?.roofSizeSet) && menu.index === 2) || (menuNumber === 4 && [1, 2].includes(menu.index)) } + /** + * λͺ¨λ, νλ‘ κ΅¬μ± μ΄μ λ©λ΄μμ λ©λ΄ ν΄λ¦μΌλ‘ λμ΄μ¬λ + * μ§λΆλ©΄ ν λΉμ΄ λλ μ§λΆμ΄ νλλΌλ μλμ§ μ²΄ν¬ + * @returns {boolean} + */ const checkMenuAndCanvasState = () => { const roofs = canvas?.getObjects().filter((obj) => obj.name === POLYGON_TYPE.ROOF) // μ§λΆλ©΄ ν λΉμ΄ λλ μ§λΆμ΄ νλλΌλ μλμ§ μ²΄ν¬ diff --git a/src/components/floor-plan/MenuDepth01.jsx b/src/components/floor-plan/MenuDepth01.jsx index 1253c491..c1f40140 100644 --- a/src/components/floor-plan/MenuDepth01.jsx +++ b/src/components/floor-plan/MenuDepth01.jsx @@ -26,7 +26,7 @@ export default function MenuDepth01() { useEffect(() => { handleMenu(type) - canvas.discardActiveObject() + canvas?.discardActiveObject() }, [currentMenu]) return (