qcast-front/src/hooks/useObject.js
hyojun.choi 4ec191dcb0 1. 외벽선그리기, 배치면그리기 에서 흡착점 동작
2. 외벽선그리기, 배치면그리기 에서 그리드, 흡착점 선택 불가
3. 이동, 복사 시 길이 줄어듬
4. 옵션 설정 닫을 때, 임의그리드,흡착점 선택  해제
2025-05-20 17:02:56 +09:00

29 lines
731 B
JavaScript

import { useRecoilValue } from 'recoil'
import { canvasState } from '@/store/canvasAtom'
export function useObject() {
const canvas = useRecoilValue(canvasState)
const deleteObject = (obj) => {
canvas
?.getObjects()
.filter((item) => item.parent === obj || item.parentId === obj.id)
.forEach((item) => {
canvas.remove(item)
})
}
const handleSelectableObjects = (targetNames = [], bool) => {
if (!canvas) {
return
}
const selectableObjects = canvas.getObjects().filter((obj) => targetNames.includes(obj.name))
selectableObjects.forEach((obj) => {
obj.selectable = bool
})
canvas.renderAll()
}
return { deleteObject, handleSelectableObjects }
}