From 05a2d6abd00c374b884f76c3ac0f82f3ddd02407 Mon Sep 17 00:00:00 2001 From: yoosangwook Date: Wed, 25 Sep 2024 15:34:29 +0900 Subject: [PATCH 1/3] refactor: Add init value in QselectBox --- src/components/common/select/QSelectBox.jsx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/components/common/select/QSelectBox.jsx b/src/components/common/select/QSelectBox.jsx index dcd6896b..d0538f1d 100644 --- a/src/components/common/select/QSelectBox.jsx +++ b/src/components/common/select/QSelectBox.jsx @@ -1,7 +1,7 @@ 'use client' -import { useState } from 'react' +import { useEffect, useState } from 'react' -export default function QSelectBox({ title = '', options, onChange }) { +export default function QSelectBox({ title = '', options, onChange, value }) { const [openSelect, setOpenSelect] = useState(false) const [selected, setSelected] = useState(title === '' ? options[0].name : title) @@ -10,6 +10,10 @@ export default function QSelectBox({ title = '', options, onChange }) { onChange?.(option) } + useEffect(() => { + value && handleClickSelectOption(value) + }, [value]) + return (
setOpenSelect(!openSelect)}>

{selected}

From 2992e4bc403a8bcd75e36df95923e7cda535c8b4 Mon Sep 17 00:00:00 2001 From: yoosangwook Date: Wed, 25 Sep 2024 16:16:00 +0900 Subject: [PATCH 2/3] refactor: modify canvas cleanup func --- src/hooks/useCanvas.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/hooks/useCanvas.js b/src/hooks/useCanvas.js index 052605b6..37ffdc5f 100644 --- a/src/hooks/useCanvas.js +++ b/src/hooks/useCanvas.js @@ -38,7 +38,8 @@ export function useCanvas(id) { setCanvasForEvent(c) return () => { - c.dispose() + // c.dispose() + c.clear() } }, []) From f703f68c4b670bfd737297b00e8de56b6c884ba1 Mon Sep 17 00:00:00 2001 From: yjnoh Date: Wed, 25 Sep 2024 16:36:02 +0900 Subject: [PATCH 3/3] =?UTF-8?q?=EC=9E=90=EB=8F=99=EC=85=80,=20=EC=88=98?= =?UTF-8?q?=EB=8F=99=EC=85=80=20=EC=9E=91=EC=97=85=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Roof2.jsx | 30 +++ src/components/ui/SurfaceShape.jsx | 16 ++ src/hooks/useMode.js | 348 ++++++++++++++++++++++++++++- 3 files changed, 384 insertions(+), 10 deletions(-) diff --git a/src/components/Roof2.jsx b/src/components/Roof2.jsx index fe79d2b5..a31f54e7 100644 --- a/src/components/Roof2.jsx +++ b/src/components/Roof2.jsx @@ -135,6 +135,7 @@ export default function Roof2(props) { createRoofRack, drawRoofPolygon, drawCellInTrestle, + drawCellManualInTrestle, setDirectionTrestles, cutHelpLines, } = useMode() @@ -629,6 +630,32 @@ export default function Roof2(props) { const setDirectionStringToArrow = () => { drawDirectionStringToArrow(canvas, globalCampass) + + /** + * 나중에 유틸로 다시 구현 + */ + // const groupShapes = canvas?.getObjects().filter((obj) => obj.name === 'cellGroup') + + // console.log('groupShapes', groupShapes) + + // groupShapes.forEach((obj) => { + // let originAngle = obj._objects.find((array) => array.originAngle !== undefined).originAngle + + // console.log('originAngle', originAngle) + + // let rotateAngle = globalCampass + + // // let rotateAngle = originAngle + globalCampass + // // if (rotateAngle > 360) { + // // rotateAngle -= 360 + // // } + + // console.log('rotateAngle', rotateAngle) + + // obj.set({ angle: rotateAngle, originX: 'center', originY: 'center' }) + // obj.setCoords() + // }) + canvas?.renderAll() } const setAllGableRoof = () => { @@ -832,6 +859,9 @@ export default function Roof2(props) { +