Merge pull request '[1226]브라우저를 다시 로드하면 지붕재가 리셋' (#264) from dev into dev-deploy

Reviewed-on: #264
This commit is contained in:
ysCha 2025-08-01 13:30:09 +09:00
commit e1323cd156

View File

@ -40,6 +40,7 @@ import { useCommonCode } from '@/hooks/common/useCommonCode'
import { useCanvasPopupStatusController } from '@/hooks/common/useCanvasPopupStatusController' import { useCanvasPopupStatusController } from '@/hooks/common/useCanvasPopupStatusController'
import { v4 as uuidv4 } from 'uuid' import { v4 as uuidv4 } from 'uuid'
import { useEvent } from '@/hooks/useEvent' import { useEvent } from '@/hooks/useEvent'
import { logger } from '@/util/logger'
const defaultDotLineGridSetting = { const defaultDotLineGridSetting = {
INTERVAL: { INTERVAL: {
@ -149,15 +150,15 @@ export function useCanvasSetting(executeEffect = true) {
} }
/** 초 1회만 실행하도록 처리 */ /** 초 1회만 실행하도록 처리 */
//addRoofMaterials() addRoofMaterials()
}, []) }, [executeEffect])
/** /**
* 지붕재 초기세팅 * 지붕재 초기세팅
*/ */
const addRoofMaterials = async () => { const addRoofMaterials = async () => {
if (roofMaterials.length !== 0) { if (roofMaterials.length !== 0) {
return return roofMaterials
} }
const { data } = await getRoofMaterialList() const { data } = await getRoofMaterialList()
@ -177,6 +178,7 @@ export function useCanvasSetting(executeEffect = true) {
angle: item.angle ? parseInt(item.angle) : 21.8, angle: item.angle ? parseInt(item.angle) : 21.8,
})) }))
setRoofMaterials(roofLists) setRoofMaterials(roofLists)
return roofLists
} }
useEffect(() => { useEffect(() => {
@ -336,6 +338,14 @@ export function useCanvasSetting(executeEffect = true) {
* 기본설정(PlacementShapeSetting) 조회 초기화 * 기본설정(PlacementShapeSetting) 조회 초기화
*/ */
const fetchBasicSettings = async (planNo, openPoint) => { 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 { try {
await get({ await get({
url: `/api/canvas-management/canvas-basic-settings/by-object/${correntObjectNo}/${planNo}`, url: `/api/canvas-management/canvas-basic-settings/by-object/${correntObjectNo}/${planNo}`,
@ -416,7 +426,7 @@ export function useCanvasSetting(executeEffect = true) {
/** 데이터 설정 */ /** 데이터 설정 */
const addRoofs = [] const addRoofs = []
for (let i = 0; i < roofsArray.length; i++) { for (let i = 0; i < roofsArray.length; i++) {
roofMaterials?.map((material) => { materials.map((material) => {
if (material.roofMatlCd === roofsArray[i].roofMatlCd) { if (material.roofMatlCd === roofsArray[i].roofMatlCd) {
addRoofs.push({ addRoofs.push({
...material, ...material,
@ -847,7 +857,7 @@ export function useCanvasSetting(executeEffect = true) {
gridColor: gridColor, gridColor: gridColor,
} }
console.log('patternData ', patternData) logger.log('patternData ', patternData)
/** /**
* 저장 API 호출 * 저장 API 호출