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 호출