그리드 초기화 기능 추가

This commit is contained in:
hyojun.choi 2024-08-27 14:02:06 +09:00
parent 76f4ed1cf9
commit f5d1783972

View File

@ -13,6 +13,7 @@ import {
compassState, compassState,
currentObjectState, currentObjectState,
fontSizeState, fontSizeState,
guideLineState,
roofMaterialState, roofMaterialState,
roofState, roofState,
sortedPolygonArray, sortedPolygonArray,
@ -30,6 +31,7 @@ import SettingsModal from './SettingsModal'
import { useAxios } from '@/hooks/useAxios' import { useAxios } from '@/hooks/useAxios'
import QPolygonContextMenu from '@/components/common/context-menu/QPolygonContextMenu' import QPolygonContextMenu from '@/components/common/context-menu/QPolygonContextMenu'
import QLineContextMenu from '@/components/common/context-menu/QLineContextMenu' import QLineContextMenu from '@/components/common/context-menu/QLineContextMenu'
import { isObjectNotEmpty } from '@/util/common-utils'
export default function Roof2(props) { export default function Roof2(props) {
const { name, userId, email, isLoggedIn } = props const { name, userId, email, isLoggedIn } = props
@ -72,6 +74,8 @@ export default function Roof2(props) {
const [scale, setScale] = useState(1) const [scale, setScale] = useState(1)
const currentObject = useRecoilValue(currentObjectState) const currentObject = useRecoilValue(currentObjectState)
const [guideLine, setGuideLine] = useRecoilState(guideLineState)
//canvas //canvas
const [thumbnails, setThumbnails] = useState([]) const [thumbnails, setThumbnails] = useState([])
const thumbnailProps = { const thumbnailProps = {
@ -575,15 +579,28 @@ export default function Roof2(props) {
{canvas && ( {canvas && (
<> <>
<div className=" my-8 w-full text:pretty"> <div className=" my-8 w-full text:pretty">
<Button {!isObjectNotEmpty(guideLine) ? (
className="m-1 p-2" <Button
onClick={() => { className="m-1 p-2"
setContent(<SettingsModal canvasProps={canvas} />) onClick={() => {
setOpen(true) setContent(<SettingsModal canvasProps={canvas} />)
}} setOpen(true)
> }}
그리드 설정 >
</Button> 그리드 설정
</Button>
) : (
<Button
className="m-1 p-2"
onClick={() => {
const guideLines = canvas?._objects.filter((obj) => obj.name === 'guideLine' || obj.name === 'guideDot')
guideLines?.forEach((item) => canvas?.remove(item))
setGuideLine({})
}}
>
그리드 초기화
</Button>
)}
<Button className="m-1 p-2" color={`${mode === Mode.DEFAULT ? 'primary' : 'default'}`} onClick={() => setMode(Mode.DEFAULT)}> <Button className="m-1 p-2" color={`${mode === Mode.DEFAULT ? 'primary' : 'default'}`} onClick={() => setMode(Mode.DEFAULT)}>
모드 DEFAULT 모드 DEFAULT
</Button> </Button>