From 0a258c3807673ea6b776cd2859e4ae8c213abd56 Mon Sep 17 00:00:00 2001 From: ysCha Date: Fri, 1 Aug 2025 13:28:51 +0900 Subject: [PATCH] =?UTF-8?q?[1226]=EB=B8=8C=EB=9D=BC=EC=9A=B0=EC=A0=80?= =?UTF-8?q?=EB=A5=BC=20=EB=8B=A4=EC=8B=9C=20=EB=A1=9C=EB=93=9C=ED=95=98?= =?UTF-8?q?=EB=A9=B4=20=EC=A7=80=EB=B6=95=EC=9E=AC=EA=B0=80=20=EB=A6=AC?= =?UTF-8?q?=EC=85=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/option/useCanvasSetting.js | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/hooks/option/useCanvasSetting.js b/src/hooks/option/useCanvasSetting.js index db374c7f..d5de2e5c 100644 --- a/src/hooks/option/useCanvasSetting.js +++ b/src/hooks/option/useCanvasSetting.js @@ -40,6 +40,7 @@ import { useCommonCode } from '@/hooks/common/useCommonCode' import { useCanvasPopupStatusController } from '@/hooks/common/useCanvasPopupStatusController' import { v4 as uuidv4 } from 'uuid' import { useEvent } from '@/hooks/useEvent' +import { logger } from '@/util/logger' const defaultDotLineGridSetting = { INTERVAL: { @@ -149,15 +150,15 @@ export function useCanvasSetting(executeEffect = true) { } /** 초 1회만 실행하도록 처리 */ - //addRoofMaterials() - }, []) + addRoofMaterials() + }, [executeEffect]) /** * 지붕재 초기세팅 */ const addRoofMaterials = async () => { if (roofMaterials.length !== 0) { - return + return roofMaterials } const { data } = await getRoofMaterialList() @@ -177,6 +178,7 @@ export function useCanvasSetting(executeEffect = true) { angle: item.angle ? parseInt(item.angle) : 21.8, })) setRoofMaterials(roofLists) + return roofLists } useEffect(() => { @@ -336,6 +338,14 @@ export function useCanvasSetting(executeEffect = true) { * 기본설정(PlacementShapeSetting) 조회 및 초기화 */ const fetchBasicSettings = async (planNo, openPoint) => { + // 지붕재 데이터가 없으면 먼저 로드 + let materials = roofMaterials; + if (!materials || materials.length === 0) { + logger.log("Waiting for roofMaterials to be loaded..."); + materials = await addRoofMaterials(); + logger.log("roofMaterials loaded:", materials); + } + try { await get({ url: `/api/canvas-management/canvas-basic-settings/by-object/${correntObjectNo}/${planNo}`, @@ -416,7 +426,7 @@ export function useCanvasSetting(executeEffect = true) { /** 데이터 설정 */ const addRoofs = [] for (let i = 0; i < roofsArray.length; i++) { - roofMaterials?.map((material) => { + materials.map((material) => { if (material.roofMatlCd === roofsArray[i].roofMatlCd) { addRoofs.push({ ...material, @@ -847,7 +857,7 @@ export function useCanvasSetting(executeEffect = true) { gridColor: gridColor, } - console.log('patternData ', patternData) + logger.log('patternData ', patternData) /** * 저장 API 호출