diff --git a/src/app/floor-plan/layout.js b/src/app/floor-plan/layout.js
index 532a83d6..8c1d393d 100644
--- a/src/app/floor-plan/layout.js
+++ b/src/app/floor-plan/layout.js
@@ -3,20 +3,19 @@
import FloorPlanProvider from './FloorPlanProvider'
import FloorPlan from '@/components/floor-plan/FloorPlan'
import CanvasLayout from '@/components/floor-plan/CanvasLayout'
-import EventProvider from './EventProvider'
export default function FloorPlanLayout({ children }) {
console.log('π ~ FloorPlanLayout ~ FloorPlanLayout:')
return (
<>
-
-
-
- {children}
-
-
-
+ {/**/}
+
+
+ {children}
+
+
+ {/**/}
>
)
}
diff --git a/src/components/common/context-menu/QContextMenu.jsx b/src/components/common/context-menu/QContextMenu.jsx
index e7070aec..19791ffc 100644
--- a/src/components/common/context-menu/QContextMenu.jsx
+++ b/src/components/common/context-menu/QContextMenu.jsx
@@ -1,12 +1,11 @@
'use client'
-import { useContext, useEffect } from 'react'
+import { useEffect } from 'react'
import '@/styles/contents.scss'
import { useRecoilState, useRecoilValue } from 'recoil'
import { contextMenuListState, contextMenuState } from '@/store/contextMenu'
import { useTempGrid } from '@/hooks/useTempGrid'
import { useContextMenu } from '@/hooks/useContextMenu'
import { useEvent } from '@/hooks/useEvent'
-import { EventContext } from '@/app/floor-plan/EventProvider'
export default function QContextMenu(props) {
const { contextRef, canvasProps } = props
@@ -15,8 +14,8 @@ export default function QContextMenu(props) {
const activeObject = canvasProps?.getActiveObject() //μ‘ν°λΈλ κ°μ²΄λ₯Ό κ°μ Έμ΄
const { tempGridMode, setTempGridMode } = useTempGrid()
const { handleKeyup } = useContextMenu()
- // const { addDocumentEventListener, removeDocumentEvent } = useEvent()
- const { addDocumentEventListener, removeDocumentEvent } = useContext(EventContext)
+ const { addDocumentEventListener, removeDocumentEvent } = useEvent()
+ // const { addDocumentEventListener, removeDocumentEvent } = useContext(EventContext)
let contextType = ''
diff --git a/src/components/floor-plan/CanvasMenu.jsx b/src/components/floor-plan/CanvasMenu.jsx
index 65849256..79944044 100644
--- a/src/components/floor-plan/CanvasMenu.jsx
+++ b/src/components/floor-plan/CanvasMenu.jsx
@@ -33,15 +33,12 @@ import useMenu from '@/hooks/common/useMenu'
import { MENU } from '@/common/common'
import { useEstimateController } from '@/hooks/floorPlan/estimate/useEstimateController'
-import { estimateState } from '@/store/floorPlanObjectAtom'
+import { estimateState, floorPlanObjectState } from '@/store/floorPlanObjectAtom'
import DocDownOptionPop from '../estimate/popup/DocDownOptionPop'
import { FloorPlanContext } from '@/app/floor-plan/FloorPlanProvider'
import EstimateCopyPop from '../estimate/popup/EstimateCopyPop'
-
-import { floorPlanObjectState } from '@/store/floorPlanObjectAtom'
import { pwrGnrSimTypeState } from '@/store/simulatorAtom'
import { useAxios } from '@/hooks/useAxios'
-import { EventContext } from '@/app/floor-plan/EventProvider'
export default function CanvasMenu(props) {
const { menuNumber, setMenuNumber } = props
@@ -71,8 +68,8 @@ export default function CanvasMenu(props) {
const { getMessage } = useMessage()
const { currentCanvasPlan, saveCanvas } = usePlan()
const { swalFire } = useSwal()
- // const { initEvent, addCanvasMouseEventListener, addDocumentEventListener } = useEvent()
- const { initEvent, addCanvasMouseEventListener, addDocumentEventListener } = useContext(EventContext)
+ const { initEvent, addCanvasMouseEventListener, addDocumentEventListener } = useEvent()
+ // const { initEvent, addCanvasMouseEventListener, addDocumentEventListener } = useContext(EventContext)
const commonUtils = useRecoilValue(commonUtilsState)
const { commonFunctions } = useCommonUtils()
const SelectOption = [{ name: 'η¦53A' }, { name: 'η¦53A' }]
diff --git a/src/components/floor-plan/modal/basic/BasicSetting.jsx b/src/components/floor-plan/modal/basic/BasicSetting.jsx
index 68bb0a49..68301128 100644
--- a/src/components/floor-plan/modal/basic/BasicSetting.jsx
+++ b/src/components/floor-plan/modal/basic/BasicSetting.jsx
@@ -1,6 +1,6 @@
import { useMessage } from '@/hooks/useMessage'
import WithDraggable from '@/components/common/draggable/WithDraggable'
-import { useContext, useEffect, useRef, useState } from 'react'
+import { useEffect, useRef, useState } from 'react'
import Module from '@/components/floor-plan/modal/basic/step/Module'
import PitchModule from '@/components/floor-plan/modal/basic/step/pitch/PitchModule'
import PitchPlacement from '@/components/floor-plan/modal/basic/step/pitch/PitchPlacement'
@@ -11,7 +11,6 @@ import { usePopup } from '@/hooks/usePopup'
import { Orientation } from '@/components/floor-plan/modal/basic/step/Orientation'
import { useModuleBasicSetting } from '@/hooks/module/useModuleBasicSetting'
import { useEvent } from '@/hooks/useEvent'
-import { EventContext } from '@/app/floor-plan/EventProvider'
export default function BasicSetting({ id, pos = { x: 50, y: 230 } }) {
const { getMessage } = useMessage()
@@ -19,8 +18,8 @@ export default function BasicSetting({ id, pos = { x: 50, y: 230 } }) {
const [tabNum, setTabNum] = useState(1)
const canvasSetting = useRecoilValue(canvasSettingState)
const orientationRef = useRef(null)
- // const { initEvent } = useEvent()
- const { initEvent } = useContext(EventContext)
+ const { initEvent } = useEvent()
+ // const { initEvent } = useContext(EventContext)
const { makeModuleInstArea, manualModuleSetup, autoModuleSetup } = useModuleBasicSetting()
const handleBtnNextStep = () => {
if (tabNum === 1) {
diff --git a/src/components/floor-plan/modal/lineProperty/LinePropertySetting.jsx b/src/components/floor-plan/modal/lineProperty/LinePropertySetting.jsx
index 789d048c..13a00b06 100644
--- a/src/components/floor-plan/modal/lineProperty/LinePropertySetting.jsx
+++ b/src/components/floor-plan/modal/lineProperty/LinePropertySetting.jsx
@@ -3,11 +3,10 @@ import { useRecoilValue } from 'recoil'
import { contextPopupPositionState } from '@/store/popupAtom'
import { useMessage } from '@/hooks/useMessage'
import { usePopup } from '@/hooks/usePopup'
-import { useState, useEffect, useContext } from 'react'
+import { useEffect, useState } from 'react'
import { useSurfaceShapeBatch } from '@/hooks/surface/useSurfaceShapeBatch'
import { useEvent } from '@/hooks/useEvent'
import { LINE_TYPE } from '@/common/common'
-import { EventContext } from '@/app/floor-plan/EventProvider'
export default function LinePropertySetting(props) {
const contextPopupPosition = useRecoilValue(contextPopupPositionState)
@@ -15,8 +14,8 @@ export default function LinePropertySetting(props) {
const { getMessage } = useMessage()
const { closePopup } = usePopup()
const { changeSurfaceLinePropertyEvent, changeSurfaceLineProperty, changeSurfaceLinePropertyReset } = useSurfaceShapeBatch()
- // const { initEvent } = useEvent()
- const { initEvent } = useContext(EventContext)
+ const { initEvent } = useEvent()
+ // const { initEvent } = useContext(EventContext)
const properties = [
{ name: getMessage('eaves.line'), value: LINE_TYPE.WALLLINE.EAVES },
diff --git a/src/components/floor-plan/modal/wallLineOffset/type/Offset.jsx b/src/components/floor-plan/modal/wallLineOffset/type/Offset.jsx
index d3afd459..418a9419 100644
--- a/src/components/floor-plan/modal/wallLineOffset/type/Offset.jsx
+++ b/src/components/floor-plan/modal/wallLineOffset/type/Offset.jsx
@@ -1,12 +1,11 @@
import { useMessage } from '@/hooks/useMessage'
-import { useContext, useEffect, useState } from 'react'
+import { useEffect, useState } from 'react'
import { useEvent } from '@/hooks/useEvent'
-import { EventContext } from '@/app/floor-plan/EventProvider'
export default function Offset({ length1Ref, arrow1Ref, currentWallLineRef }) {
const { getMessage } = useMessage()
- // const { addDocumentEventListener, initEvent } = useEvent()
- const { addDocumentEventListener, initEvent } = useContext(EventContext)
+ const { addDocumentEventListener, initEvent } = useEvent()
+ // const { addDocumentEventListener, initEvent } = useContext(EventContext)
useEffect(() => {
addDocumentEventListener('keydown', document, keyDown)
diff --git a/src/components/floor-plan/modal/wallLineOffset/type/WallLine.jsx b/src/components/floor-plan/modal/wallLineOffset/type/WallLine.jsx
index c736d397..581f57f3 100644
--- a/src/components/floor-plan/modal/wallLineOffset/type/WallLine.jsx
+++ b/src/components/floor-plan/modal/wallLineOffset/type/WallLine.jsx
@@ -1,12 +1,11 @@
import { useMessage } from '@/hooks/useMessage'
-import { forwardRef, useContext, useEffect, useImperativeHandle, useState } from 'react'
+import { forwardRef, useEffect, useImperativeHandle, useState } from 'react'
import { useEvent } from '@/hooks/useEvent'
-import { EventContext } from '@/app/floor-plan/EventProvider'
export default forwardRef(function WallLine({ length1Ref, length2Ref, arrow1Ref, arrow2Ref, radioTypeRef, currentWallLineRef }, ref) {
const { getMessage } = useMessage()
- // const { addDocumentEventListener, initEvent } = useEvent()
- const { addDocumentEventListener, initEvent } = useContext(EventContext)
+ const { addDocumentEventListener, initEvent } = useEvent()
+ // const { addDocumentEventListener, initEvent } = useContext(EventContext)
const [type, setType] = useState(1)
const [arrow1, setArrow1] = useState('up')
const [arrow2, setArrow2] = useState('up')
diff --git a/src/hooks/common/useCommonUtils.js b/src/hooks/common/useCommonUtils.js
index 5c8fcfee..1f9c2063 100644
--- a/src/hooks/common/useCommonUtils.js
+++ b/src/hooks/common/useCommonUtils.js
@@ -1,4 +1,4 @@
-import { useContext, useEffect } from 'react'
+import { useEffect } from 'react'
import { useRecoilState, useRecoilValue } from 'recoil'
import { wordDisplaySelector } from '@/store/settingAtom'
import { useEvent } from '@/hooks/useEvent'
@@ -9,13 +9,12 @@ import { canvasState } from '@/store/canvasAtom'
import { v4 as uuidv4 } from 'uuid'
import { usePopup } from '@/hooks/usePopup'
import Distance from '@/components/floor-plan/modal/distance/Distance'
-import { EventContext } from '@/app/floor-plan/EventProvider'
export function useCommonUtils() {
const canvas = useRecoilValue(canvasState)
const wordDisplay = useRecoilValue(wordDisplaySelector)
- // const { addCanvasMouseEventListener, addDocumentEventListener, initEvent } = useEvent()
- const { addCanvasMouseEventListener, addDocumentEventListener, initEvent } = useContext(EventContext)
+ const { addCanvasMouseEventListener, addDocumentEventListener, initEvent } = useEvent()
+ // const { addCanvasMouseEventListener, addDocumentEventListener, initEvent } = useContext(EventContext)
const dimensionSettings = useRecoilValue(dimensionLineSettingsState)
const dimensionLineTextFont = useRecoilValue(fontSelector('dimensionLineText'))
const commonTextFont = useRecoilValue(fontSelector('commonText'))
diff --git a/src/hooks/module/useModuleBasicSetting.js b/src/hooks/module/useModuleBasicSetting.js
index eb6ac973..07752606 100644
--- a/src/hooks/module/useModuleBasicSetting.js
+++ b/src/hooks/module/useModuleBasicSetting.js
@@ -1,25 +1,22 @@
-import { useContext, useEffect, useState } from 'react'
-import { useRecoilState, useRecoilValue, useSetRecoilState } from 'recoil'
-import { canvasState } from '@/store/canvasAtom'
+import { useRecoilState, useRecoilValue } from 'recoil'
+import { canvasState, moduleIsSetupState, moduleSetupSurfaceState } from '@/store/canvasAtom'
import { rectToPolygon, setSurfaceShapePattern } from '@/util/canvas-util'
import { roofDisplaySelector } from '@/store/settingAtom'
import offsetPolygon from '@/util/qpolygon-utils'
import { QPolygon } from '@/components/fabric/QPolygon'
import { QLine } from '@/components/fabric/QLine'
-import { moduleSetupSurfaceState, moduleIsSetupState } from '@/store/canvasAtom'
import { useEvent } from '@/hooks/useEvent'
-import { POLYGON_TYPE, BATCH_TYPE } from '@/common/common'
+import { BATCH_TYPE, POLYGON_TYPE } from '@/common/common'
import * as turf from '@turf/turf'
-import { EventContext } from '@/app/floor-plan/EventProvider'
export function useModuleBasicSetting() {
const canvas = useRecoilValue(canvasState)
const roofDisplay = useRecoilValue(roofDisplaySelector)
const [moduleSetupSurface, setModuleSetupSurface] = useRecoilState(moduleSetupSurfaceState)
const [moduleIsSetup, setModuleIsSetup] = useRecoilState(moduleIsSetupState)
- // const { addTargetMouseEventListener, addCanvasMouseEventListener, initEvent } = useEvent()
- const { addTargetMouseEventListener, addCanvasMouseEventListener, initEvent } = useContext(EventContext)
+ const { addTargetMouseEventListener, addCanvasMouseEventListener, initEvent } = useEvent()
+ // const { addTargetMouseEventListener, addCanvasMouseEventListener, initEvent } = useContext(EventContext)
let selectedModuleInstSurfaceArray = []
const makeModuleInstArea = () => {
@@ -700,7 +697,7 @@ export function useModuleBasicSetting() {
}
if (leftBottomCnt + rightBottomCnt === 0) {
exposedBottom++
- return
+
}
})
// λ
ΈμΆμλ©΄ 체ν¬
@@ -728,7 +725,7 @@ export function useModuleBasicSetting() {
}
if (leftTopCnt + rightTopCnt === 0) {
exposedTop++
- return
+
}
})
return {
diff --git a/src/hooks/object/useObjectBatch.js b/src/hooks/object/useObjectBatch.js
index 2227e5db..dd67b017 100644
--- a/src/hooks/object/useObjectBatch.js
+++ b/src/hooks/object/useObjectBatch.js
@@ -1,5 +1,5 @@
'use client'
-import { useContext, useEffect } from 'react'
+import { useEffect } from 'react'
import { useMessage } from '@/hooks/useMessage'
import { useRecoilValue } from 'recoil'
import { canvasState } from '@/store/canvasAtom'
@@ -12,13 +12,12 @@ import { usePolygon } from '@/hooks/usePolygon'
import { QPolygon } from '@/components/fabric/QPolygon'
import { v4 as uuidv4 } from 'uuid'
import { fontSelector } from '@/store/fontAtom'
-import { EventContext } from '@/app/floor-plan/EventProvider'
export function useObjectBatch({ isHidden, setIsHidden }) {
const { getMessage } = useMessage()
const canvas = useRecoilValue(canvasState)
- // const { addCanvasMouseEventListener, initEvent, addDocumentEventListener } = useEvent()
- const { addCanvasMouseEventListener, initEvent, addDocumentEventListener } = useContext(EventContext)
+ const { addCanvasMouseEventListener, initEvent, addDocumentEventListener } = useEvent()
+ // const { addCanvasMouseEventListener, initEvent, addDocumentEventListener } = useContext(EventContext)
const { swalFire } = useSwal()
const { drawDirectionArrow } = usePolygon()
const lengthTextFont = useRecoilValue(fontSelector('lengthText'))
diff --git a/src/hooks/roofcover/useAuxiliaryDrawing.js b/src/hooks/roofcover/useAuxiliaryDrawing.js
index 6d5d384f..55053b7e 100644
--- a/src/hooks/roofcover/useAuxiliaryDrawing.js
+++ b/src/hooks/roofcover/useAuxiliaryDrawing.js
@@ -1,4 +1,4 @@
-import { useContext, useEffect, useRef, useState } from 'react'
+import { useEffect, useRef, useState } from 'react'
import { useRecoilState, useRecoilValue } from 'recoil'
import { adsorptionRangeState, canvasState, verticalHorizontalModeState } from '@/store/canvasAtom'
import { useEvent } from '@/hooks/useEvent'
@@ -22,13 +22,12 @@ import { useSwal } from '@/hooks/useSwal'
import { usePopup } from '@/hooks/usePopup'
import { calculateAngle, isSamePoint } from '@/util/qpolygon-utils'
import { POLYGON_TYPE } from '@/common/common'
-import { EventContext } from '@/app/floor-plan/EventProvider'
// 보쑰μ μμ±
export function useAuxiliaryDrawing(id) {
const canvas = useRecoilValue(canvasState)
- // const { addCanvasMouseEventListener, addDocumentEventListener, removeMouseLine, initEvent } = useEvent()
- const { addCanvasMouseEventListener, addDocumentEventListener, removeMouseLine, initEvent } = useContext(EventContext)
+ const { addCanvasMouseEventListener, addDocumentEventListener, removeMouseLine, initEvent } = useEvent()
+ // const { addCanvasMouseEventListener, addDocumentEventListener, removeMouseLine, initEvent } = useContext(EventContext)
const { getIntersectMousePoint } = useMouse()
const { addLine, removeLine } = useLine()
const { tempGridMode } = useTempGrid()
diff --git a/src/hooks/roofcover/useEavesGableEdit.js b/src/hooks/roofcover/useEavesGableEdit.js
index 2c2a9b27..27e00a86 100644
--- a/src/hooks/roofcover/useEavesGableEdit.js
+++ b/src/hooks/roofcover/useEavesGableEdit.js
@@ -1,4 +1,4 @@
-import { useContext, useEffect, useRef, useState } from 'react'
+import { useEffect, useRef, useState } from 'react'
import { useRecoilValue } from 'recoil'
import { ANGLE_TYPE, canvasState, currentAngleTypeSelector, pitchTextSelector } from '@/store/canvasAtom'
import { useMessage } from '@/hooks/useMessage'
@@ -10,14 +10,13 @@ import { outerLineFixState } from '@/store/outerLineAtom'
import { useSwal } from '@/hooks/useSwal'
import { usePopup } from '@/hooks/usePopup'
import { getChonByDegree } from '@/util/canvas-util'
-import { EventContext } from '@/app/floor-plan/EventProvider'
// μ²λ§.μΌλΌλ° λ³κ²½
export function useEavesGableEdit(id) {
const canvas = useRecoilValue(canvasState)
const { getMessage } = useMessage()
- // const { addCanvasMouseEventListener, initEvent } = useEvent()
- const { addCanvasMouseEventListener, initEvent } = useContext(EventContext)
+ const { addCanvasMouseEventListener, initEvent } = useEvent()
+ // const { addCanvasMouseEventListener, initEvent } = useContext(EventContext)
const { closePopup } = usePopup()
const TYPES = {
EAVES: 'eaves',
diff --git a/src/hooks/roofcover/useMovementSetting.js b/src/hooks/roofcover/useMovementSetting.js
index 7051fe49..509c53f3 100644
--- a/src/hooks/roofcover/useMovementSetting.js
+++ b/src/hooks/roofcover/useMovementSetting.js
@@ -2,12 +2,10 @@ import { useRecoilValue } from 'recoil'
import { canvasState, currentObjectState } from '@/store/canvasAtom'
import { usePopup } from '@/hooks/usePopup'
import { useMessage } from '@/hooks/useMessage'
-import { useContext, useEffect, useRef, useState } from 'react'
+import { useEffect, useRef, useState } from 'react'
import { useEvent } from '@/hooks/useEvent'
import { POLYGON_TYPE } from '@/common/common'
import { OUTER_LINE_TYPE } from '@/store/outerLineAtom'
-import { QLine } from '@/components/fabric/QLine'
-import { EventContext } from '@/app/floor-plan/EventProvider'
//λμ μ΄λ ν μ¬λ¦Ό λ΄λ¦Ό
export function useMovementSetting(id) {
@@ -16,8 +14,8 @@ export function useMovementSetting(id) {
UP_DOWN: 'updown', //ν μ¬λ¦Όλ΄λ¦Ό
}
const canvas = useRecoilValue(canvasState)
- // const { initEvent, addCanvasMouseEventListener } = useEvent()
- const { initEvent, addCanvasMouseEventListener } = useContext(EventContext)
+ const { initEvent, addCanvasMouseEventListener } = useEvent()
+ // const { initEvent, addCanvasMouseEventListener } = useContext(EventContext)
const { closePopup } = usePopup()
const { getMessage } = useMessage()
const currentObject = useRecoilValue(currentObjectState)
diff --git a/src/hooks/roofcover/useRoofShapePassivitySetting.js b/src/hooks/roofcover/useRoofShapePassivitySetting.js
index 656094f2..a2c799f4 100644
--- a/src/hooks/roofcover/useRoofShapePassivitySetting.js
+++ b/src/hooks/roofcover/useRoofShapePassivitySetting.js
@@ -1,6 +1,6 @@
import { ANGLE_TYPE, canvasState, currentAngleTypeSelector, currentObjectState, pitchTextSelector } from '@/store/canvasAtom'
import { useRecoilValue } from 'recoil'
-import { useContext, useEffect, useRef, useState } from 'react'
+import { useEffect, useRef, useState } from 'react'
import { useLine } from '@/hooks/useLine'
import { useMessage } from '@/hooks/useMessage'
import { useEvent } from '@/hooks/useEvent'
@@ -11,7 +11,6 @@ import { outerLineFixState } from '@/store/outerLineAtom'
import { useSwal } from '@/hooks/useSwal'
import { usePopup } from '@/hooks/usePopup'
import { getChonByDegree } from '@/util/canvas-util'
-import { EventContext } from '@/app/floor-plan/EventProvider'
//μ§λΆνμ μλ μ€μ
export function useRoofShapePassivitySetting(id) {
@@ -26,8 +25,8 @@ export function useRoofShapePassivitySetting(id) {
const { getMessage } = useMessage()
const { showLine, hideLine, addPitchTextsByOuterLines } = useLine()
const { swalFire } = useSwal()
- // const { addCanvasMouseEventListener, initEvent } = useEvent()
- const { addCanvasMouseEventListener, initEvent } = useContext(EventContext)
+ const { addCanvasMouseEventListener, initEvent } = useEvent()
+ // const { addCanvasMouseEventListener, initEvent } = useContext(EventContext)
const { drawRoofPolygon } = useMode()
const { addPolygonByLines } = usePolygon()
const currentObject = useRecoilValue(currentObjectState)
@@ -204,7 +203,11 @@ export function useRoofShapePassivitySetting(id) {
wall = addPolygonByLines(lines, { name: POLYGON_TYPE.WALL, fill: 'transparent', stroke: 'black' })
} else {
// κ·Έλ₯ λ«μ κ²½μ° μ²λ¦¬
- wall = addPolygonByLines([...initLines.current], { name: POLYGON_TYPE.WALL, fill: 'transparent', stroke: 'black' })
+ wall = addPolygonByLines([...initLines.current], {
+ name: POLYGON_TYPE.WALL,
+ fill: 'transparent',
+ stroke: 'black',
+ })
lines.forEach((line, idx) => {
line.attributes = initLines.current[idx].attributes
})
diff --git a/src/hooks/roofcover/useWallLineOffsetSetting.js b/src/hooks/roofcover/useWallLineOffsetSetting.js
index b673bcc2..22af0f49 100644
--- a/src/hooks/roofcover/useWallLineOffsetSetting.js
+++ b/src/hooks/roofcover/useWallLineOffsetSetting.js
@@ -1,12 +1,11 @@
import { canvasState, currentObjectState } from '@/store/canvasAtom'
import { useRecoilValue } from 'recoil'
-import { useContext, useEffect, useRef, useState } from 'react'
+import { useEffect, useRef, useState } from 'react'
import { useMessage } from '@/hooks/useMessage'
import { useEvent } from '@/hooks/useEvent'
import { useLine } from '@/hooks/useLine'
import { useSwal } from '@/hooks/useSwal'
import { usePopup } from '@/hooks/usePopup'
-import { EventContext } from '@/app/floor-plan/EventProvider'
// μΈλ²½μ νΈμ§ λ° μ€νμ
export function useWallLineOffsetSetting(id) {
@@ -15,8 +14,8 @@ export function useWallLineOffsetSetting(id) {
const { getMessage } = useMessage()
const { closePopup } = usePopup()
const { swalFire } = useSwal()
- // const { addCanvasMouseEventListener, initEvent } = useEvent()
- const { addCanvasMouseEventListener, initEvent } = useContext(EventContext)
+ const { addCanvasMouseEventListener, initEvent } = useEvent()
+ // const { addCanvasMouseEventListener, initEvent } = useContext(EventContext)
const wallLineEditRef = useRef(null)
const length1Ref = useRef(null)
const length2Ref = useRef(null)
diff --git a/src/hooks/surface/usePlacementShapeDrawing.js b/src/hooks/surface/usePlacementShapeDrawing.js
index 822ea5c9..95388ca4 100644
--- a/src/hooks/surface/usePlacementShapeDrawing.js
+++ b/src/hooks/surface/usePlacementShapeDrawing.js
@@ -12,7 +12,7 @@ import { useEvent } from '@/hooks/useEvent'
import { useMouse } from '@/hooks/useMouse'
import { useLine } from '@/hooks/useLine'
import { useTempGrid } from '@/hooks/useTempGrid'
-import { useContext, useEffect, useRef } from 'react'
+import { useEffect, useRef } from 'react'
import { distanceBetweenPoints, setSurfaceShapePattern } from '@/util/canvas-util'
import { fabric } from 'fabric'
import { calculateAngle } from '@/util/qpolygon-utils'
@@ -33,15 +33,15 @@ import { POLYGON_TYPE } from '@/common/common'
import { usePopup } from '@/hooks/usePopup'
import { roofDisplaySelector } from '@/store/settingAtom'
-import { EventContext } from '@/app/floor-plan/EventProvider'
+
// λ©΄νμ λ°°μΉ
export function usePlacementShapeDrawing(id) {
const canvas = useRecoilValue(canvasState)
const roofDisplay = useRecoilValue(roofDisplaySelector)
- // const { addCanvasMouseEventListener, addDocumentEventListener, removeAllMouseEventListeners, removeAllDocumentEventListeners, removeMouseEvent } =
- // useEvent()
const { addCanvasMouseEventListener, addDocumentEventListener, removeAllMouseEventListeners, removeAllDocumentEventListeners, removeMouseEvent } =
- useContext(EventContext)
+ useEvent()
+ // const { addCanvasMouseEventListener, addDocumentEventListener, removeAllMouseEventListeners, removeAllDocumentEventListeners, removeMouseEvent } =
+ // useContext(EventContext)
const { getIntersectMousePoint } = useMouse()
const { addLine, removeLine } = useLine()
const { addPolygonByLines, drawDirectionArrow } = usePolygon()
@@ -432,56 +432,104 @@ export function usePlacementShapeDrawing(id) {
if (prev.length === 0) {
return []
}
- return [...prev, { x: prev[prev.length - 1].x + length1Value / 10, y: prev[prev.length - 1].y + length2Value / 10 }]
+ return [
+ ...prev,
+ {
+ x: prev[prev.length - 1].x + length1Value / 10,
+ y: prev[prev.length - 1].y + length2Value / 10,
+ },
+ ]
})
} else if (arrow1Value === 'β' && arrow2Value === 'β') {
setPoints((prev) => {
if (prev.length === 0) {
return []
}
- return [...prev, { x: prev[prev.length - 1].x - length1Value / 10, y: prev[prev.length - 1].y + length2Value / 10 }]
+ return [
+ ...prev,
+ {
+ x: prev[prev.length - 1].x - length1Value / 10,
+ y: prev[prev.length - 1].y + length2Value / 10,
+ },
+ ]
})
} else if (arrow1Value === 'β' && arrow2Value === 'β') {
setPoints((prev) => {
if (prev.length === 0) {
return []
}
- return [...prev, { x: prev[prev.length - 1].x + length1Value / 10, y: prev[prev.length - 1].y - length2Value / 10 }]
+ return [
+ ...prev,
+ {
+ x: prev[prev.length - 1].x + length1Value / 10,
+ y: prev[prev.length - 1].y - length2Value / 10,
+ },
+ ]
})
} else if (arrow1Value === 'β' && arrow2Value === 'β') {
setPoints((prev) => {
if (prev.length === 0) {
return []
}
- return [...prev, { x: prev[prev.length - 1].x - length1Value / 10, y: prev[prev.length - 1].y - length2Value / 10 }]
+ return [
+ ...prev,
+ {
+ x: prev[prev.length - 1].x - length1Value / 10,
+ y: prev[prev.length - 1].y - length2Value / 10,
+ },
+ ]
})
} else if (arrow1Value === 'β' && arrow2Value === 'β') {
setPoints((prev) => {
if (prev.length === 0) {
return []
}
- return [...prev, { x: prev[prev.length - 1].x + length2Value / 10, y: prev[prev.length - 1].y + length1Value / 10 }]
+ return [
+ ...prev,
+ {
+ x: prev[prev.length - 1].x + length2Value / 10,
+ y: prev[prev.length - 1].y + length1Value / 10,
+ },
+ ]
})
} else if (arrow1Value === 'β' && arrow2Value === 'β') {
setPoints((prev) => {
if (prev.length === 0) {
return []
}
- return [...prev, { x: prev[prev.length - 1].x + length2Value / 10, y: prev[prev.length - 1].y - length1Value / 10 }]
+ return [
+ ...prev,
+ {
+ x: prev[prev.length - 1].x + length2Value / 10,
+ y: prev[prev.length - 1].y - length1Value / 10,
+ },
+ ]
})
} else if (arrow1Value === 'β' && arrow2Value === 'β') {
setPoints((prev) => {
if (prev.length === 0) {
return []
}
- return [...prev, { x: prev[prev.length - 1].x - length2Value / 10, y: prev[prev.length - 1].y + length1Value / 10 }]
+ return [
+ ...prev,
+ {
+ x: prev[prev.length - 1].x - length2Value / 10,
+ y: prev[prev.length - 1].y + length1Value / 10,
+ },
+ ]
})
} else if (arrow1Value === 'β' && arrow2Value === 'β') {
setPoints((prev) => {
if (prev.length === 0) {
return []
}
- return [...prev, { x: prev[prev.length - 1].x - length2Value / 10, y: prev[prev.length - 1].y - length1Value / 10 }]
+ return [
+ ...prev,
+ {
+ x: prev[prev.length - 1].x - length2Value / 10,
+ y: prev[prev.length - 1].y - length1Value / 10,
+ },
+ ]
})
}
@@ -537,35 +585,65 @@ export function usePlacementShapeDrawing(id) {
if (prev.length === 0) {
return []
}
- return [...prev, { x: prev[prev.length - 1].x + length2Value / 10, y: prev[prev.length - 1].y + length1Value / 10 }]
+ return [
+ ...prev,
+ {
+ x: prev[prev.length - 1].x + length2Value / 10,
+ y: prev[prev.length - 1].y + length1Value / 10,
+ },
+ ]
})
} else if (arrow1Value === 'β' && arrow2Value === 'β') {
setPoints((prev) => {
if (prev.length === 0) {
return []
}
- return [...prev, { x: prev[prev.length - 1].x - length2Value / 10, y: prev[prev.length - 1].y + length1Value / 10 }]
+ return [
+ ...prev,
+ {
+ x: prev[prev.length - 1].x - length2Value / 10,
+ y: prev[prev.length - 1].y + length1Value / 10,
+ },
+ ]
})
} else if (arrow1Value === 'β' && arrow2Value === 'β') {
setPoints((prev) => {
if (prev.length === 0) {
return []
}
- return [...prev, { x: prev[prev.length - 1].x + length2Value / 10, y: prev[prev.length - 1].y - length1Value / 10 }]
+ return [
+ ...prev,
+ {
+ x: prev[prev.length - 1].x + length2Value / 10,
+ y: prev[prev.length - 1].y - length1Value / 10,
+ },
+ ]
})
} else if (arrow1Value === 'β' && arrow2Value === 'β') {
setPoints((prev) => {
if (prev.length === 0) {
return []
}
- return [...prev, { x: prev[prev.length - 1].x - length2Value / 10, y: prev[prev.length - 1].y - length1Value / 10 }]
+ return [
+ ...prev,
+ {
+ x: prev[prev.length - 1].x - length2Value / 10,
+ y: prev[prev.length - 1].y - length1Value / 10,
+ },
+ ]
})
} else if (arrow1Value === 'β' && arrow2Value === 'β') {
setPoints((prev) => {
if (prev.length === 0) {
return []
}
- return [...prev, { x: prev[prev.length - 1].x + length1Value / 10, y: prev[prev.length - 1].y + length2Value / 10 }]
+ return [
+ ...prev,
+ {
+ x: prev[prev.length - 1].x + length1Value / 10,
+ y: prev[prev.length - 1].y + length2Value / 10,
+ },
+ ]
})
} else if (arrow1Value === 'β' && arrow2Value === 'β') {
setPoints((prev) => {
diff --git a/src/hooks/surface/useSurfaceShapeBatch.js b/src/hooks/surface/useSurfaceShapeBatch.js
index b0728ac8..844829d3 100644
--- a/src/hooks/surface/useSurfaceShapeBatch.js
+++ b/src/hooks/surface/useSurfaceShapeBatch.js
@@ -2,7 +2,7 @@
import { useRecoilValue } from 'recoil'
import { canvasState, globalPitchState } from '@/store/canvasAtom'
-import { MENU, BATCH_TYPE, POLYGON_TYPE } from '@/common/common'
+import { MENU, POLYGON_TYPE } from '@/common/common'
import { getIntersectionPoint, setSurfaceShapePattern } from '@/util/canvas-util'
import { degreesToRadians } from '@turf/turf'
import { QPolygon } from '@/components/fabric/QPolygon'
@@ -15,8 +15,6 @@ import { usePolygon } from '@/hooks/usePolygon'
import { fontSelector } from '@/store/fontAtom'
import { slopeSelector } from '@/store/commonAtom'
import { QLine } from '@/components/fabric/QLine'
-import { EventContext } from '@/app/floor-plan/EventProvider'
-import { useContext } from 'react'
export function useSurfaceShapeBatch() {
const { getMessage } = useMessage()
@@ -28,8 +26,8 @@ export function useSurfaceShapeBatch() {
const roofDisplay = useRecoilValue(roofDisplaySelector)
const slope = useRecoilValue(slopeSelector(globalPitch))
const { swalFire } = useSwal()
- // const { addCanvasMouseEventListener, initEvent } = useEvent()
- const { addCanvasMouseEventListener, initEvent } = useContext(EventContext)
+ const { addCanvasMouseEventListener, initEvent } = useEvent()
+ // const { addCanvasMouseEventListener, initEvent } = useContext(EventContext)
const { closePopup } = usePopup()
const applySurfaceShape = (surfaceRefs, selectedType, id) => {
@@ -329,8 +327,14 @@ export function useSurfaceShapeBatch() {
const angleInRadians = Math.asin(length2 / length3)
points = [
{ x: pointer.x - length1 / 2, y: pointer.y + length2 / 2 },
- { x: pointer.x - length1 / 2 + length3 * Math.cos(angleInRadians), y: pointer.y + length2 / 2 - length3 * Math.sin(angleInRadians) },
- { x: pointer.x + length1 / 2 + length3 * Math.cos(angleInRadians), y: pointer.y + length2 / 2 - length3 * Math.sin(angleInRadians) },
+ {
+ x: pointer.x - length1 / 2 + length3 * Math.cos(angleInRadians),
+ y: pointer.y + length2 / 2 - length3 * Math.sin(angleInRadians),
+ },
+ {
+ x: pointer.x + length1 / 2 + length3 * Math.cos(angleInRadians),
+ y: pointer.y + length2 / 2 - length3 * Math.sin(angleInRadians),
+ },
{ x: pointer.x + length1 / 2, y: pointer.y + length2 / 2 },
]
@@ -341,9 +345,18 @@ export function useSurfaceShapeBatch() {
{ x: pointer.x - (length1 + length2 + length3) / 2, y: pointer.y - (length4 + length5) / 2 },
{ x: pointer.x - (length1 + length2 + length3) / 2, y: pointer.y + (length4 + length5) / 2 },
{ x: pointer.x - (length1 + length2 + length3) / 2 + length1, y: pointer.y + (length4 + length5) / 2 },
- { x: pointer.x - (length1 + length2 + length3) / 2 + length1, y: pointer.y + (length4 + length5) / 2 - length5 },
- { x: pointer.x - (length1 + length2 + length3) / 2 + length1 + length2, y: pointer.y + (length4 + length5) / 2 - length5 },
- { x: pointer.x - (length1 + length2 + length3) / 2 + length1 + length2, y: pointer.y + (length4 + length5) / 2 - length5 + length5 },
+ {
+ x: pointer.x - (length1 + length2 + length3) / 2 + length1,
+ y: pointer.y + (length4 + length5) / 2 - length5,
+ },
+ {
+ x: pointer.x - (length1 + length2 + length3) / 2 + length1 + length2,
+ y: pointer.y + (length4 + length5) / 2 - length5,
+ },
+ {
+ x: pointer.x - (length1 + length2 + length3) / 2 + length1 + length2,
+ y: pointer.y + (length4 + length5) / 2 - length5 + length5,
+ },
{
x: pointer.x - (length1 + length2 + length3) / 2 + length1 + length2 + length3,
y: pointer.y + (length4 + length5) / 2 - length5 + length5,
@@ -362,8 +375,14 @@ export function useSurfaceShapeBatch() {
{ x: pointer.x - length1 / 2 + length1, y: pointer.y + length4 / 2 },
{ x: pointer.x - length1 / 2 + length1, y: pointer.y + length4 / 2 - length3 },
{ x: pointer.x - length1 / 2 + length1 - (length1 - length2), y: pointer.y + length4 / 2 - length3 },
- { x: pointer.x - length1 / 2 + length1 - (length1 - length2), y: pointer.y + length4 / 2 - length3 + (length3 - length4) },
- { x: pointer.x - length1 / 2 + length1 - (length1 - length2) - length2, y: pointer.y + length4 / 2 - length3 + (length3 - length4) },
+ {
+ x: pointer.x - length1 / 2 + length1 - (length1 - length2),
+ y: pointer.y + length4 / 2 - length3 + (length3 - length4),
+ },
+ {
+ x: pointer.x - length1 / 2 + length1 - (length1 - length2) - length2,
+ y: pointer.y + length4 / 2 - length3 + (length3 - length4),
+ },
]
break
@@ -374,8 +393,14 @@ export function useSurfaceShapeBatch() {
{ x: pointer.x - length1 / 2 + length1, y: pointer.y + length4 / 2 },
{ x: pointer.x - length1 / 2 + length1, y: pointer.y + length4 / 2 - length4 },
{ x: pointer.x - length1 / 2 + length1 - length3, y: pointer.y + length4 / 2 - length4 },
- { x: pointer.x - length1 / 2 + length1 - length3, y: pointer.y + length4 / 2 - length4 + (length4 - length5) },
- { x: pointer.x - length1 / 2 + length1 - length3 - length2, y: pointer.y + length4 / 2 - length4 + (length4 - length5) },
+ {
+ x: pointer.x - length1 / 2 + length1 - length3,
+ y: pointer.y + length4 / 2 - length4 + (length4 - length5),
+ },
+ {
+ x: pointer.x - length1 / 2 + length1 - length3 - length2,
+ y: pointer.y + length4 / 2 - length4 + (length4 - length5),
+ },
]
break
}
@@ -385,8 +410,14 @@ export function useSurfaceShapeBatch() {
{ x: pointer.x + length1 / 2 - length1, y: pointer.y + length4 / 2 },
{ x: pointer.x + length1 / 2 - length1, y: pointer.y + length4 / 2 - length5 },
{ x: pointer.x + length1 / 2 - length1 + length2, y: pointer.y + length4 / 2 - length5 },
- { x: pointer.x + length1 / 2 - length1 + length2, y: pointer.y + length4 / 2 - length5 - (length4 - length5) },
- { x: pointer.x + length1 / 2 - length1 + length2 + length3, y: pointer.y + length4 / 2 - length5 - (length4 - length5) },
+ {
+ x: pointer.x + length1 / 2 - length1 + length2,
+ y: pointer.y + length4 / 2 - length5 - (length4 - length5),
+ },
+ {
+ x: pointer.x + length1 / 2 - length1 + length2 + length3,
+ y: pointer.y + length4 / 2 - length5 - (length4 - length5),
+ },
]
break
}
@@ -396,8 +427,14 @@ export function useSurfaceShapeBatch() {
{ x: pointer.x - length1 / 2 + length1, y: pointer.y + length4 / 2 },
{ x: pointer.x - length1 / 2 + length1, y: pointer.y + length4 / 2 - length5 },
{ x: pointer.x - length1 / 2 + length1 - length2, y: pointer.y + length4 / 2 - length5 },
- { x: pointer.x - length1 / 2 + length1 - length2, y: pointer.y + length4 / 2 - length5 - (length4 - length5) },
- { x: pointer.x - length1 / 2 + length1 - length2 - length3, y: pointer.y + length4 / 2 - length5 - (length4 - length5) },
+ {
+ x: pointer.x - length1 / 2 + length1 - length2,
+ y: pointer.y + length4 / 2 - length5 - (length4 - length5),
+ },
+ {
+ x: pointer.x - length1 / 2 + length1 - length2 - length3,
+ y: pointer.y + length4 / 2 - length5 - (length4 - length5),
+ },
]
break
}
@@ -408,7 +445,10 @@ export function useSurfaceShapeBatch() {
const leftAngle = Math.acos((length1 - length2) / 2 / leftHypotenuse)
points = [
- { x: pointer.x - length1 / 2 + leftHypotenuse * Math.cos(leftAngle), y: pointer.y + length3 / 2 - leftHypotenuse * Math.sin(leftAngle) },
+ {
+ x: pointer.x - length1 / 2 + leftHypotenuse * Math.cos(leftAngle),
+ y: pointer.y + length3 / 2 - leftHypotenuse * Math.sin(leftAngle),
+ },
{ x: pointer.x - length1 / 2, y: pointer.y + length3 / 2 },
{ x: pointer.x + length1 / 2, y: pointer.y + length3 / 2 },
{
@@ -497,7 +537,10 @@ export function useSurfaceShapeBatch() {
{ x: pointer.x - length1 / 2 + length1, y: pointer.y + length4 / 2 - length4 },
{ x: pointer.x - length1 / 2 + length1, y: pointer.y + length4 / 2 - length4 + length4 },
{ x: pointer.x - length1 / 2 + length1 - length3, y: pointer.y + length4 / 2 - length4 + length4 },
- { x: pointer.x - length1 / 2 + length2 + (length1 - length2 - length3) / 2, y: pointer.y + length4 / 2 - length4 + length5 },
+ {
+ x: pointer.x - length1 / 2 + length2 + (length1 - length2 - length3) / 2,
+ y: pointer.y + length4 / 2 - length4 + length5,
+ },
]
break
}
diff --git a/src/hooks/useCanvas.js b/src/hooks/useCanvas.js
index 46dbbb35..c2dca8cc 100644
--- a/src/hooks/useCanvas.js
+++ b/src/hooks/useCanvas.js
@@ -13,7 +13,7 @@ import { writeImage } from '@/lib/canvas'
import { useCanvasEvent } from '@/hooks/useCanvasEvent'
import { useAxios } from '@/hooks/useAxios'
import { useFont } from '@/hooks/common/useFont'
-import { OBJECT_PROTOTYPE, RELOAD_TYPE_PROTOTYPE, SAVE_KEY } from '@/common/common'
+import { OBJECT_PROTOTYPE, SAVE_KEY } from '@/common/common'
export function useCanvas(id) {
const [canvas, setCanvas] = useRecoilState(canvasState)
@@ -37,6 +37,7 @@ export function useCanvas(id) {
selection: false,
})
+ console.log('canvas', c)
setCanvas(c)
setCanvasForEvent(c)
attachDefaultEventOnCanvas()
@@ -394,7 +395,14 @@ export function useCanvas(id) {
await post({ url: '/api/canvas-management/canvas-statuses', data: patternData })
- setThumbnails((prev) => [...prev, { imageName: `/canvasState/${title}.png`, userId, canvasStatus: JSON.stringify(canvasStatus) }])
+ setThumbnails((prev) => [
+ ...prev,
+ {
+ imageName: `/canvasState/${title}.png`,
+ userId,
+ canvasStatus: JSON.stringify(canvasStatus),
+ },
+ ])
}
const handleFlip = () => {
diff --git a/src/hooks/useEvent.js b/src/hooks/useEvent.js
index 16d0896d..2a1562ad 100644
--- a/src/hooks/useEvent.js
+++ b/src/hooks/useEvent.js
@@ -1,4 +1,4 @@
-import { useCallback, useEffect, useRef } from 'react'
+import { useEffect, useRef } from 'react'
import { useRecoilValue, useSetRecoilState } from 'recoil'
import { canvasState, canvasZoomState, currentMenuState, textModeState } from '@/store/canvasAtom'
import { fabric } from 'fabric'
@@ -41,6 +41,7 @@ export function useEvent() {
const addDefaultEvent = () => {
//default Event μΆκ°
+ console.log('addDefaultEvent', canvas)
addCanvasMouseEventListener('mouse:move', defaultMouseMoveEvent)
addCanvasMouseEventListener('mouse:out', defaultMouseOutEvent)
addDocumentEventListener('contextmenu', document, defaultContextMenuEvent)