개구, 도머 설치시 sizesetting popup open
This commit is contained in:
parent
40970c5580
commit
d1da73849f
@ -1,8 +1,8 @@
|
||||
'use client'
|
||||
import { useEffect } from 'react'
|
||||
import { useEffect, useState } from 'react'
|
||||
import { useMessage } from '@/hooks/useMessage'
|
||||
import { useRecoilValue } from 'recoil'
|
||||
import { canvasState } from '@/store/canvasAtom'
|
||||
import { canvasState, currentObjectState } from '@/store/canvasAtom'
|
||||
import { BATCH_TYPE, INPUT_TYPE, POLYGON_TYPE } from '@/common/common'
|
||||
import { useEvent } from '@/hooks/useEvent'
|
||||
import {
|
||||
@ -23,10 +23,13 @@ import { useRoofFn } from '@/hooks/common/useRoofFn'
|
||||
import { roofDisplaySelector } from '@/store/settingAtom'
|
||||
import { usePopup } from '@/hooks/usePopup'
|
||||
import { useMouse } from '@/hooks/useMouse'
|
||||
import { useTurf } from '@/hooks/common/useTurf'
|
||||
import SizeSetting from '@/components/floor-plan/modal/object/SizeSetting'
|
||||
|
||||
export function useObjectBatch({ isHidden, setIsHidden }) {
|
||||
const { getMessage } = useMessage()
|
||||
const canvas = useRecoilValue(canvasState)
|
||||
const [popupId, setPopupId] = useState(uuidv4())
|
||||
const { addCanvasMouseEventListener, initEvent, addDocumentEventListener } = useEvent()
|
||||
// const { addCanvasMouseEventListener, initEvent, addDocumentEventListener } = useContext(EventContext)
|
||||
const { swalFire } = useSwal()
|
||||
@ -34,8 +37,10 @@ export function useObjectBatch({ isHidden, setIsHidden }) {
|
||||
const { setSurfaceShapePattern } = useRoofFn()
|
||||
const lengthTextFont = useRecoilValue(fontSelector('lengthText'))
|
||||
const roofDisplay = useRecoilValue(roofDisplaySelector)
|
||||
const { closePopup } = usePopup()
|
||||
const { closePopup, closeAll, addPopup } = usePopup()
|
||||
const { getIntersectMousePoint } = useMouse()
|
||||
const { checkModuleDisjointSurface } = useTurf()
|
||||
const currentObject = useRecoilValue(currentObjectState)
|
||||
|
||||
useEffect(() => {
|
||||
if (canvas) {
|
||||
@ -166,7 +171,7 @@ export function useObjectBatch({ isHidden, setIsHidden }) {
|
||||
//그림자는 배치면이 겹친부분에도 그려져야 한다
|
||||
if (rect.name === BATCH_TYPE.OPENING_TEMP) {
|
||||
//지붕 밖으로 그렸을때
|
||||
if (!turf.booleanWithin(rectPolygon, selectedSurfacePolygon)) {
|
||||
if (!checkModuleDisjointSurface(rectPolygon, selectedSurfacePolygon)) {
|
||||
swalFire({ text: getMessage('batch.object.outside.roof'), icon: 'error' })
|
||||
//일단 지워
|
||||
deleteTempObjects()
|
||||
@ -189,9 +194,11 @@ export function useObjectBatch({ isHidden, setIsHidden }) {
|
||||
isDown = false
|
||||
rect.set({ name: objName, parentId: selectedSurface.id, points: rectToPolygon(rect) })
|
||||
rect.setCoords()
|
||||
canvas.setActiveObject(rect) //선택된 상태로
|
||||
initEvent()
|
||||
|
||||
if (setIsHidden) setIsHidden(false)
|
||||
closeAll()
|
||||
addPopup(popupId, 1, <SizeSetting id={popupId} target={rect} />)
|
||||
}
|
||||
})
|
||||
} else if (selectedType === INPUT_TYPE.DIMENSION) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user