From 7dca1aaf4ad499cb2870cee882a136a6f9332686 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=AF=BC=EC=8B=9D?= <43837214+Minsiki@users.noreply.github.com> Date: Thu, 6 Mar 2025 11:05:26 +0900 Subject: [PATCH 1/5] =?UTF-8?q?=EC=9D=BC=EB=B3=B8=EC=96=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/locales/ja.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/locales/ja.json b/src/locales/ja.json index 64b2f0f4..e65051ee 100644 --- a/src/locales/ja.json +++ b/src/locales/ja.json @@ -293,10 +293,10 @@ "modal.object.setting.height": "縦長", "modal.object.setting.area.cross": "エリア交差", "modal.object.setting.size.setting": "サイズ設定", - "modal.object.setting.agreement.depth": "棟の長さ・深さ", - "modal.object.setting.offset.depth": "出幅(深さ)", + "modal.object.setting.agreement.depth": "棟の長さ", + "modal.object.setting.offset.depth": "棟の出幅", "modal.object.setting.size.width": "幅", - "modal.object.setting.offset.width": "出幅(幅)", + "modal.object.setting.offset.width": "幅の出幅", "modal.object.setting.offset.slope": "勾配", "modal.object.setting.direction.select": "方向の選択", "modal.placement.surface.setting.info": "ⓘ①の長さ入力後、対角線長を入力すると②の長さを自動計算します。", From 4bab88e272a664a3ff2705a975c22c80e9f2ce64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=AF=BC=EC=8B=9D?= <43837214+Minsiki@users.noreply.github.com> Date: Thu, 6 Mar 2025 11:11:37 +0900 Subject: [PATCH 2/5] =?UTF-8?q?=EA=B2=AC=EC=A0=81=EC=84=9C=EC=97=90?= =?UTF-8?q?=EC=84=9C=20floor-plan=20=EB=93=A4=EC=96=B4=EC=99=94=EC=9D=84?= =?UTF-8?q?=EB=95=8C=20=EC=9D=B4=EB=B2=A4=ED=8A=B8=20=EC=B4=88=EA=B8=B0?= =?UTF-8?q?=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/floor-plan/CanvasFrame.jsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/components/floor-plan/CanvasFrame.jsx b/src/components/floor-plan/CanvasFrame.jsx index 7144a920..de3674db 100644 --- a/src/components/floor-plan/CanvasFrame.jsx +++ b/src/components/floor-plan/CanvasFrame.jsx @@ -28,6 +28,7 @@ import { import { useCanvasPopupStatusController } from '@/hooks/common/useCanvasPopupStatusController' import { useCanvasSetting } from '@/hooks/option/useCanvasSetting' import { useCanvasMenu } from '@/hooks/common/useCanvasMenu' +import { useEvent } from '@/hooks/useEvent' export default function CanvasFrame() { const canvasRef = useRef(null) @@ -49,6 +50,7 @@ export default function CanvasFrame() { const { handleModuleSelectionTotal } = useCanvasPopupStatusController() const { fetchBasicSettings } = useCanvasSetting() const { setSelectedMenu } = useCanvasMenu() + const { initEvent } = useEvent() const loadCanvas = () => { if (!canvas) return @@ -64,6 +66,7 @@ export default function CanvasFrame() { if (canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.MODULE).length > 0) { setSelectedMenu('module') } + initEvent() }) } } From 037fff7c4a55bdba20c34b19356e236daf52e086 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=AF=BC=EC=8B=9D?= <43837214+Minsiki@users.noreply.github.com> Date: Thu, 6 Mar 2025 11:12:16 +0900 Subject: [PATCH 3/5] =?UTF-8?q?=EA=B0=80=EB=8C=80=20=EC=97=86=EC=9D=B4=20?= =?UTF-8?q?=ED=9A=8C=EB=A1=9C=EB=A7=8C=20=ED=95=A0=EB=8B=B9=20=ED=9B=84=20?= =?UTF-8?q?modal=20=EB=8B=AB=EC=9D=84=EB=95=8C=20=ED=9A=8C=EB=A1=9C=20?= =?UTF-8?q?=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../circuitTrestle/CircuitTrestleSetting.jsx | 30 +++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx b/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx index 92bc7f3c..f9f97833 100644 --- a/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx +++ b/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx @@ -503,19 +503,25 @@ export default function CircuitTrestleSetting({ id }) { // 닫기 버튼 클릭 시 처리하는 함수 추가 const handleClose = () => { // // 회로 번호 텍스트 제거 - // const circuitTexts = canvas.getObjects().filter((obj) => obj.name === 'circuitNumber') - // canvas.remove(...circuitTexts) - // // 모듈의 회로 정보 초기화 - // canvas - // .getObjects() - // .filter((obj) => obj.name === POLYGON_TYPE.MODULE) - // .forEach((obj) => { - // obj.circuit = null - // obj.pcsItemId = null - // obj.circuitNumber = null - // }) + if ( + canvas + .getObjects() + .filter((obj) => obj.name === POLYGON_TYPE.MODULE_SETUP_SURFACE) + .some((surface) => !surface.isComplete) + ) { + canvas.remove(...canvas.getObjects().filter((obj) => obj.name === 'circuitNumber')) + canvas + .getObjects() + .filter((obj) => obj.name === POLYGON_TYPE.MODULE) + .forEach((obj) => { + obj.circuit = null + obj.pcsItemId = null + obj.circuitNumber = null + }) + + canvas.renderAll() + } - // canvas.renderAll() closePopup(id) } From 927b6265bc3b6d9c86bf28ed7c5c467463fdbfa7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=AF=BC=EC=8B=9D?= <43837214+Minsiki@users.noreply.github.com> Date: Thu, 6 Mar 2025 11:13:04 +0900 Subject: [PATCH 4/5] =?UTF-8?q?useCanvasSetting=EC=97=90=20executeEffect?= =?UTF-8?q?=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/floor-plan/FloorPlan.jsx | 2 +- src/hooks/useContextMenu.js | 2 +- src/hooks/usePlan.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/floor-plan/FloorPlan.jsx b/src/components/floor-plan/FloorPlan.jsx index 18f3ea0d..775d7678 100644 --- a/src/components/floor-plan/FloorPlan.jsx +++ b/src/components/floor-plan/FloorPlan.jsx @@ -18,7 +18,7 @@ export default function FloorPlan({ children }) { const { closeAll } = usePopup() const { selectedMenu, setSelectedMenu } = useCanvasMenu() - const { fetchSettings } = useCanvasSetting() + const { fetchSettings } = useCanvasSetting(false) const resetCurrentMenu = useResetRecoilState(currentMenuState) useEffect(() => { return () => { diff --git a/src/hooks/useContextMenu.js b/src/hooks/useContextMenu.js index 144272f8..df291c51 100644 --- a/src/hooks/useContextMenu.js +++ b/src/hooks/useContextMenu.js @@ -68,7 +68,7 @@ export function useContextMenu() { const { removeGrid } = useGrid() const { removeAdsorptionPoint } = useAdsorptionPoint() const commonTextFont = useRecoilValue(fontSelector('commonText')) - const { settingsData, setSettingsDataSave } = useCanvasSetting() + const { settingsData, setSettingsDataSave } = useCanvasSetting(false) const { swalFire } = useSwal() const { alignModule, modulesRemove, moduleRoofRemove } = useModule() const { removeRoofMaterial, removeAllRoofMaterial, moveRoofMaterial, removeOuterLines } = useRoofFn() diff --git a/src/hooks/usePlan.js b/src/hooks/usePlan.js index f7fa7508..ee3f0aa8 100644 --- a/src/hooks/usePlan.js +++ b/src/hooks/usePlan.js @@ -49,7 +49,7 @@ export function usePlan(params = {}) { const resetOuterLinePoints = useResetRecoilState(outerLinePointsState) const resetPlacementShapeDrawingPoints = useResetRecoilState(placementShapeDrawingPointsState) - const { fetchBasicSettings, basicSettingCopySave } = useCanvasSetting() + const { fetchBasicSettings, basicSettingCopySave } = useCanvasSetting(false) const [canvasSetting, setCanvasSetting] = useRecoilState(canvasSettingState) /** From 044f3024619fdd2d3493f9fa7c8933dc1f1bcc2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=AF=BC=EC=8B=9D?= <43837214+Minsiki@users.noreply.github.com> Date: Thu, 6 Mar 2025 11:13:20 +0900 Subject: [PATCH 5/5] =?UTF-8?q?=EB=AA=A8=EB=93=88=20=EB=B3=B5=EC=82=AC=20?= =?UTF-8?q?=EB=B2=84=EA=B7=B8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/module/useModule.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/hooks/module/useModule.js b/src/hooks/module/useModule.js index e4e783e9..c21dab89 100644 --- a/src/hooks/module/useModule.js +++ b/src/hooks/module/useModule.js @@ -226,7 +226,7 @@ export function useModule() { } modules.forEach((module) => { - const { top, left } = getPosotion(module, direction, Number(length) + Number(moduleLength), false) + const { top, left } = getPosotion(module, direction, Number(length) + Number(moduleLength), true) module.clone((obj) => { obj.set({ parentId: module.parentId, @@ -677,6 +677,7 @@ export function useModule() { } let width = -1 let isWarning = false + const { moduleIntvlHor, moduleIntvlVer } = moduleSetupSurface.trestleDetail if (targetModules.length === 0) { swalFire({ title: '마지막 모듈입니다.', @@ -706,7 +707,7 @@ export function useModule() { canvas.renderAll() otherModules = getOtherModules(columnModules) columnModules.forEach((module) => { - const { top, left } = getPosotion(module, type, module.width, true) + const { top, left } = getPosotion(module, type, module.width + moduleIntvlHor, true) let copyModule = null module.clone((obj) => { obj.set({ @@ -803,11 +804,12 @@ export function useModule() { } let height = -1 let isWarning = false + const { moduleIntvlHor, moduleIntvlVer } = moduleSetupSurface.trestleDetail canvas.discardActiveObject() targetModules.forEach((module) => { if (height === -1) height = type === MODULE_INSERT_TYPE.TOP ? Number(activeModule.top) - Number(module.top) : Number(module.top) - Number(activeModule.top) - const { top, left } = getPosotion(module, type, activeModule.height, true) + const { top, left } = getPosotion(module, type, activeModule.height + moduleIntvlVer, true) module.originPos = { left: module.left, top: module.top, @@ -823,7 +825,7 @@ export function useModule() { canvas.renderAll() otherModules = getOtherModules(rowModules) rowModules.forEach((module) => { - const { top, left } = getPosotion(module, type, activeModule.height, true) + const { top, left } = getPosotion(module, type, activeModule.height + moduleIntvlVer, true) let copyModule = null module.clone((obj) => { obj.set({