From d2c637396223b2bdbb58467cd6e3585280e23585 Mon Sep 17 00:00:00 2001 From: yoosangwook Date: Thu, 6 Feb 2025 12:25:20 +0900 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=8Cfix:=20=EB=AA=A8=EB=93=88=20?= =?UTF-8?q?=ED=9A=8C=EB=A1=9C=EA=B5=AC=EC=84=B1=20=EB=A9=94=EB=89=B4=20?= =?UTF-8?q?=EC=A7=84=EC=9E=85=EC=8B=9C=20=EC=A1=B0=EA=B1=B4=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/floor-plan/CanvasMenu.jsx | 20 ++++++++++++++++---- src/components/floor-plan/MenuDepth01.jsx | 2 +- 2 files changed, 17 insertions(+), 5 deletions(-) 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 (