From 4ec191dcb0bbc60c835260a927265a8088c88039 Mon Sep 17 00:00:00 2001 From: "hyojun.choi" Date: Tue, 20 May 2025 17:02:56 +0900 Subject: [PATCH] =?UTF-8?q?1.=20=EC=99=B8=EB=B2=BD=EC=84=A0=EA=B7=B8?= =?UTF-8?q?=EB=A6=AC=EA=B8=B0,=20=EB=B0=B0=EC=B9=98=EB=A9=B4=EA=B7=B8?= =?UTF-8?q?=EB=A6=AC=EA=B8=B0=20=EC=97=90=EC=84=9C=20=ED=9D=A1=EC=B0=A9?= =?UTF-8?q?=EC=A0=90=20=EB=8F=99=EC=9E=91=202.=20=EC=99=B8=EB=B2=BD?= =?UTF-8?q?=EC=84=A0=EA=B7=B8=EB=A6=AC=EA=B8=B0,=20=EB=B0=B0=EC=B9=98?= =?UTF-8?q?=EB=A9=B4=EA=B7=B8=EB=A6=AC=EA=B8=B0=20=EC=97=90=EC=84=9C=20?= =?UTF-8?q?=EA=B7=B8=EB=A6=AC=EB=93=9C,=20=ED=9D=A1=EC=B0=A9=EC=A0=90=20?= =?UTF-8?q?=EC=84=A0=ED=83=9D=20=EB=B6=88=EA=B0=80=203.=20=EC=9D=B4?= =?UTF-8?q?=EB=8F=99,=20=EB=B3=B5=EC=82=AC=20=EC=8B=9C=20=EA=B8=B8?= =?UTF-8?q?=EC=9D=B4=20=EC=A4=84=EC=96=B4=EB=93=AC=204.=20=EC=98=B5?= =?UTF-8?q?=EC=85=98=20=EC=84=A4=EC=A0=95=20=EB=8B=AB=EC=9D=84=20=EB=95=8C?= =?UTF-8?q?,=20=EC=9E=84=EC=9D=98=EA=B7=B8=EB=A6=AC=EB=93=9C,=ED=9D=A1?= =?UTF-8?q?=EC=B0=A9=EC=A0=90=20=EC=84=A0=ED=83=9D=20=20=ED=95=B4=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../floor-plan/modal/setting01/GridOption.jsx | 10 ++ .../modal/setting01/SettingModal01.jsx | 25 ++++- src/hooks/common/useGrid.js | 16 +-- src/hooks/roofcover/useOuterLineWall.js | 8 +- src/hooks/surface/usePlacementShapeDrawing.js | 102 +++--------------- src/hooks/useEvent.js | 46 +++++++- src/hooks/useObject.js | 14 ++- 7 files changed, 117 insertions(+), 104 deletions(-) diff --git a/src/components/floor-plan/modal/setting01/GridOption.jsx b/src/components/floor-plan/modal/setting01/GridOption.jsx index b5b61acc..5931b561 100644 --- a/src/components/floor-plan/modal/setting01/GridOption.jsx +++ b/src/components/floor-plan/modal/setting01/GridOption.jsx @@ -105,6 +105,16 @@ export default function GridOption(props) { initEvent() }, [gridOptions]) + useEffect(() => { + return () => { + setAdsorptionPointAddMode(false) + setTempGridMode(false) + setTimeout(() => { + initEvent() + }, 100) + } + }, []) + const dotLineGridProps = { id: dotLineId, setIsShow: setShowDotLineGridModal, diff --git a/src/components/floor-plan/modal/setting01/SettingModal01.jsx b/src/components/floor-plan/modal/setting01/SettingModal01.jsx index 4e6f91ea..71c19a83 100644 --- a/src/components/floor-plan/modal/setting01/SettingModal01.jsx +++ b/src/components/floor-plan/modal/setting01/SettingModal01.jsx @@ -6,16 +6,22 @@ import WithDraggable from '@/components/common/draggable/WithDraggable' import SecondOption from '@/components/floor-plan/modal/setting01/SecondOption' import { useMessage } from '@/hooks/useMessage' import GridOption from '@/components/floor-plan/modal/setting01/GridOption' -import { canGridOptionSeletor } from '@/store/canvasAtom' -import { useRecoilValue } from 'recoil' +import { adsorptionPointAddModeState, canGridOptionSeletor, tempGridModeState } from '@/store/canvasAtom' +import { useRecoilState, useRecoilValue } from 'recoil' import { usePopup } from '@/hooks/usePopup' import { useCanvasSetting } from '@/hooks/option/useCanvasSetting' +import { useTempGrid } from '@/hooks/useTempGrid' +import { settingModalGridOptionsState } from '@/store/settingAtom' +import { useEvent } from '@/hooks/useEvent' export default function SettingModal01(props) { const { id } = props const [buttonAct, setButtonAct] = useState(1) const { getMessage } = useMessage() const canGridOptionSeletorValue = useRecoilValue(canGridOptionSeletor) + const [gridOptions, setGridOptions] = useRecoilState(settingModalGridOptionsState) + const [tempGridMode, setTempGridMode] = useRecoilState(tempGridModeState) + const [adsorptionPointAddMode, setAdsorptionPointAddMode] = useRecoilState(adsorptionPointAddModeState) const { closePopup } = usePopup() const { @@ -71,9 +77,22 @@ export default function SettingModal01(props) { setButtonAct(num) } + const onClose = () => { + setTempGridMode(false) + setAdsorptionPointAddMode(false) + setGridOptions((prev) => { + const newSettingOptions = [...prev] + newSettingOptions[0].selected = false + newSettingOptions[2].selected = false + return [...newSettingOptions] + }) + + closePopup(id, true) + } + return ( - closePopup(id, true)} /> +