gridInit 분리 및 firstOption useEffect 수정

This commit is contained in:
hyojun.choi 2024-10-25 14:20:03 +09:00
parent 5f9e3a15b9
commit 67ba090993
4 changed files with 15 additions and 12 deletions

View File

@ -22,7 +22,7 @@ export default function CanvasFrame({ plan }) {
}, },
}) })
const { checkCanvasObjectEvent, checkUnsavedCanvasPlan } = usePlan() const { checkCanvasObjectEvent, checkUnsavedCanvasPlan } = usePlan()
const { canvasLoadInit } = useCanvasConfigInitialize() const { canvasLoadInit, gridInit } = useCanvasConfigInitialize()
const currentObject = useRecoilValue(currentObjectState) const currentObject = useRecoilValue(currentObjectState)
useEvent() useEvent()
@ -32,10 +32,11 @@ export default function CanvasFrame({ plan }) {
canvas?.clear() // . canvas?.clear() // .
if (plan?.canvasStatus) { if (plan?.canvasStatus) {
canvas?.loadFromJSON(JSON.parse(plan.canvasStatus), function () { canvas?.loadFromJSON(JSON.parse(plan.canvasStatus), function () {
canvas?.renderAll() // .
canvasLoadInit() //config canvasLoadInit() //config
canvas?.renderAll() // .
}) })
} }
gridInit()
} }
} }

View File

@ -31,6 +31,12 @@ export function useCanvasConfigInitialize() {
roofInit() //화면표시 초기화 roofInit() //화면표시 초기화
} }
const gridInit = () => {
setDotLineGridSetting((prev) => {
return { ...prev, INTERVAL: { ...prev.INTERVAL } }
})
}
//치수표시, 화면표시, 글꼴등 초기화 //치수표시, 화면표시, 글꼴등 초기화
const roofInit = () => { const roofInit = () => {
setSettingModalFirstOptions((prev) => { setSettingModalFirstOptions((prev) => {
@ -46,10 +52,7 @@ export function useCanvasConfigInitialize() {
}) })
return { ...prev, option1, option2, dimensionDisplay } return { ...prev, option1, option2, dimensionDisplay }
}) })
gridInit()
setDotLineGridSetting((prev) => {
return { ...prev }
})
setGlobalFonts((prev) => { setGlobalFonts((prev) => {
const commonText = { ...prev.commonText } const commonText = { ...prev.commonText }
@ -61,5 +64,5 @@ export function useCanvasConfigInitialize() {
}) })
} }
return { canvasLoadInit } return { canvasLoadInit, gridInit }
} }

View File

@ -33,7 +33,7 @@ export function useFirstOption() {
optionName = ['outerLine', 'wallLine'] optionName = ['outerLine', 'wallLine']
break break
case 'gridDisplay': //그리드 표시 case 'gridDisplay': //그리드 표시
optionName = ['lindGrid', 'dotGrid'] optionName = ['lineGrid', 'dotGrid']
break break
case 'lineDisplay': //지붕선 표시 case 'lineDisplay': //지붕선 표시
optionName = ['roof', 'roofBase'] optionName = ['roof', 'roofBase']
@ -45,7 +45,7 @@ export function useFirstOption() {
optionName = ['7'] optionName = ['7']
break break
case 'flowDisplay': //흐름방향 표시 case 'flowDisplay': //흐름방향 표시
optionName = ['arrow'] optionName = ['arrow', 'flowText']
break break
case 'trestleDisplay': //가대 표시 case 'trestleDisplay': //가대 표시
optionName = ['8'] optionName = ['8']
@ -66,6 +66,8 @@ export function useFirstOption() {
//obj.set({ visible: !obj.visible }) //obj.set({ visible: !obj.visible })
}) })
canvas.renderAll()
// console.log( // console.log(
// 'optionName', // 'optionName',
// optionName, // optionName,

View File

@ -12,7 +12,6 @@ import { defineQPloygon } from '@/util/qpolygon-utils'
import { writeImage } from '@/lib/canvas' import { writeImage } from '@/lib/canvas'
import { useCanvasEvent } from '@/hooks/useCanvasEvent' import { useCanvasEvent } from '@/hooks/useCanvasEvent'
import { useAxios } from '@/hooks/useAxios' import { useAxios } from '@/hooks/useAxios'
import { v4 as uuidv4 } from 'uuid'
import { useFont } from '@/hooks/common/useFont' import { useFont } from '@/hooks/common/useFont'
export function useCanvas(id) { export function useCanvas(id) {
@ -93,8 +92,6 @@ export function useCanvas(id) {
canvas.getObjects().length > 0 && canvas?.clear() canvas.getObjects().length > 0 && canvas?.clear()
// settings for all canvas in the app // settings for all canvas in the app
fabric.Object.prototype.transparentCorners = false fabric.Object.prototype.transparentCorners = false
fabric.Object.prototype.id = uuidv4()
fabric.Object.prototype.uuid = uuidv4()
fabric.Object.prototype.selectable = true fabric.Object.prototype.selectable = true
fabric.Object.prototype.lockMovementX = true fabric.Object.prototype.lockMovementX = true
fabric.Object.prototype.lockMovementY = true fabric.Object.prototype.lockMovementY = true