배치면 전체 삭제 시 그리드도 사라지는 현상 수정

This commit is contained in:
hyojun.choi 2025-02-25 10:21:54 +09:00
parent 960046813b
commit a96b90dc3a
2 changed files with 21 additions and 1 deletions

View File

@ -52,7 +52,9 @@ const defaultDotLineGridSetting = {
LINE: false, LINE: false,
} }
export function useCanvasSetting() { // hook 추가 시 executeEffect를 인자로 받고 false일 경우 useEffect를 실행하지 않는다. default true
// 아래 hook에 추가 된 함수만 사용하고 싶을 경우 false로 인자 전달
export function useCanvasSetting(executeEffect = true) {
const canvas = useRecoilValue(canvasState) const canvas = useRecoilValue(canvasState)
/** canvas가 null이 아닐 때에만 getObjects 호출 */ /** canvas가 null이 아닐 때에만 getObjects 호출 */
const canvasObjects = canvas ? canvas.getObjects() : [] const canvasObjects = canvas ? canvas.getObjects() : []
@ -138,6 +140,9 @@ export function useCanvasSetting() {
const { closePopup, closeAll } = usePopup() // 팝업 닫기 const { closePopup, closeAll } = usePopup() // 팝업 닫기
useEffect(() => { useEffect(() => {
if (!executeEffect) {
return
}
const tempFetchRoofMaterials = !fetchRoofMaterials const tempFetchRoofMaterials = !fetchRoofMaterials
/** 초 1회만 실행하도록 처리 */ /** 초 1회만 실행하도록 처리 */
@ -175,6 +180,9 @@ export function useCanvasSetting() {
} }
useEffect(() => { useEffect(() => {
if (!executeEffect) {
return
}
if (addedRoofs.length > 0 && addedRoofs[0].planNo === basicSetting.planNo) { if (addedRoofs.length > 0 && addedRoofs[0].planNo === basicSetting.planNo) {
const raftCodeList = findCommonCode('203800') const raftCodeList = findCommonCode('203800')
setRaftCodes(raftCodeList) setRaftCodes(raftCodeList)
@ -188,6 +196,9 @@ export function useCanvasSetting() {
}, [addedRoofs]) }, [addedRoofs])
useEffect(() => { useEffect(() => {
if (!executeEffect) {
return
}
const selectedRoofMaterial = roofMaterials[0] const selectedRoofMaterial = roofMaterials[0]
if (addedRoofs.length === 0) { if (addedRoofs.length === 0) {
@ -202,6 +213,9 @@ export function useCanvasSetting() {
if (!canvas) { if (!canvas) {
return return
} }
if (!executeEffect) {
return
}
const { column } = corridorDimension const { column } = corridorDimension
const lengthTexts = canvas.getObjects().filter((obj) => obj.name === 'lengthText') const lengthTexts = canvas.getObjects().filter((obj) => obj.name === 'lengthText')
@ -230,6 +244,9 @@ export function useCanvasSetting() {
}, [corridorDimension]) }, [corridorDimension])
useEffect(() => { useEffect(() => {
if (!executeEffect) {
return
}
if (settingsDataSave !== undefined) onClickOption2() if (settingsDataSave !== undefined) onClickOption2()
}, [settingsData]) }, [settingsData])

View File

@ -22,6 +22,7 @@ import { placementShapeDrawingPointsState } from '@/store/placementShapeDrawingA
import { getBackGroundImage } from '@/lib/imageActions' import { getBackGroundImage } from '@/lib/imageActions'
import PlacementSurfaceLineProperty from '@/components/floor-plan/modal/placementShape/PlacementSurfaceLineProperty' import PlacementSurfaceLineProperty from '@/components/floor-plan/modal/placementShape/PlacementSurfaceLineProperty'
import { v4 as uuidv4 } from 'uuid' import { v4 as uuidv4 } from 'uuid'
import { useCanvasSetting } from '@/hooks/option/useCanvasSetting'
export function useSurfaceShapeBatch({ isHidden, setIsHidden }) { export function useSurfaceShapeBatch({ isHidden, setIsHidden }) {
const { getMessage } = useMessage() const { getMessage } = useMessage()
@ -40,6 +41,7 @@ export function useSurfaceShapeBatch({ isHidden, setIsHidden }) {
const { addPopup, closePopup } = usePopup() const { addPopup, closePopup } = usePopup()
const { setSurfaceShapePattern } = useRoofFn() const { setSurfaceShapePattern } = useRoofFn()
const currentCanvasPlan = useRecoilValue(currentCanvasPlanState) const currentCanvasPlan = useRecoilValue(currentCanvasPlanState)
const { fetchSettings } = useCanvasSetting(false)
const applySurfaceShape = (surfaceRefs, selectedType, id) => { const applySurfaceShape = (surfaceRefs, selectedType, id) => {
let length1, length2, length3, length4, length5 let length1, length2, length3, length4, length5
@ -762,6 +764,7 @@ export function useSurfaceShapeBatch({ isHidden, setIsHidden }) {
resetOuterLinePoints() resetOuterLinePoints()
resetPlacementShapeDrawingPoints() resetPlacementShapeDrawingPoints()
fetchSettings()
swalFire({ text: getMessage('plan.message.delete') }) swalFire({ text: getMessage('plan.message.delete') })
}, },
// denyFn: () => { // denyFn: () => {