This commit is contained in:
hyojun.choi 2025-08-01 16:44:16 +09:00
commit 856086a271

View File

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