diff --git a/src/components/floor-plan/CanvasFrame.jsx b/src/components/floor-plan/CanvasFrame.jsx index cf2e0d56..5757b379 100644 --- a/src/components/floor-plan/CanvasFrame.jsx +++ b/src/components/floor-plan/CanvasFrame.jsx @@ -1,6 +1,6 @@ 'use client' -import { useEffect, useRef } from 'react' +import { useContext, useEffect, useRef } from 'react' import { useRecoilValue } from 'recoil' @@ -14,12 +14,14 @@ import { useCanvasConfigInitialize } from '@/hooks/common/useCanvasConfigInitial import { currentMenuState } from '@/store/canvasAtom' import { totalDisplaySelector } from '@/store/settingAtom' import { MENU } from '@/common/common' +import { FloorPlanContext } from '@/app/floor-plan/FloorPlanProvider' export default function CanvasFrame() { const canvasRef = useRef(null) const { canvas } = useCanvas('canvas') const { canvasLoadInit, gridInit } = useCanvasConfigInitialize() const currentMenu = useRecoilValue(currentMenuState) + const { floorPlanState } = useContext(FloorPlanContext) const { contextMenu, handleClick } = useContextMenu() const { selectedPlan } = usePlan() const totalDisplay = useRecoilValue(totalDisplaySelector) // 집계표 표시 여부 @@ -27,7 +29,7 @@ export default function CanvasFrame() { const loadCanvas = () => { if (canvas) { canvas?.clear() // 캔버스를 초기화합니다. - if (selectedPlan?.canvasStatus) { + if (selectedPlan?.canvasStatus && floorPlanState.objectNo === selectedPlan.objectNo) { canvas?.loadFromJSON(JSON.parse(selectedPlan.canvasStatus), function () { canvasLoadInit() //config된 상태로 캔버스 객체를 그린다 canvas?.renderAll() // 캔버스를 다시 그립니다.