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