diff --git a/src/common/common.js b/src/common/common.js
index a35dc8c4..2578e138 100644
--- a/src/common/common.js
+++ b/src/common/common.js
@@ -177,6 +177,7 @@ export const SAVE_KEY = [
'moduleRowsTotCnt',
'seq',
'smartRackId',
+ 'directionText',
'quotationParam',
'pcses',
]
diff --git a/src/components/floor-plan/modal/basic/step/Orientation.jsx b/src/components/floor-plan/modal/basic/step/Orientation.jsx
index 590c9d46..d06b6b39 100644
--- a/src/components/floor-plan/modal/basic/step/Orientation.jsx
+++ b/src/components/floor-plan/modal/basic/step/Orientation.jsx
@@ -28,8 +28,10 @@ export const Orientation = forwardRef(({ tabNum }, ref) => {
}, [compasDeg])
const checkDegree = (e) => {
- if (numberCheck(Number(e)) && Number(e) >= -180 && Number(e) <= 180) {
- setCompasDeg(Number(e))
+ if (Number(e) >= -180 && Number(e) <= 180) {
+ if (numberCheck(Number(e))) {
+ setCompasDeg(Number(e))
+ }
} else {
setCompasDeg(compasDeg)
}
@@ -46,8 +48,8 @@ export const Orientation = forwardRef(({ tabNum }, ref) => {
{Array.from({ length: 180 / 15 }).map((dot, index) => (
setCompasDeg(15 * (12 + index))}
+ className={`circle ${getDegreeInOrientation(compasDeg) === -1 * (-15 * index + 180) ? 'act' : ''}`}
+ onClick={() => setCompasDeg(-1 * (-15 * index + 180))}
>
{index === 0 && 180°}
{index === 6 && -90°}
diff --git a/src/hooks/common/useMenu.js b/src/hooks/common/useMenu.js
index c0a4e1d5..5eadcf18 100644
--- a/src/hooks/common/useMenu.js
+++ b/src/hooks/common/useMenu.js
@@ -19,6 +19,7 @@ import { useSurfaceShapeBatch } from '@/hooks/surface/useSurfaceShapeBatch'
import { useRecoilValue } from 'recoil'
import { currentMenuState } from '@/store/canvasAtom'
import { MENU } from '@/common/common'
+import { useTrestle } from '@/hooks/module/useTrestle'
export default function useMenu() {
const menus = []
@@ -26,6 +27,7 @@ export default function useMenu() {
const [popupId, setPopupId] = useState(uuidv4())
const { addPopup } = usePopup()
const { deleteAllSurfacesAndObjects } = useSurfaceShapeBatch({})
+ const { clear: trestleClear } = useTrestle()
const handleMenu = (type) => {
if (type === 'outline') {
switch (currentMenu) {
@@ -79,6 +81,7 @@ export default function useMenu() {
if (type === 'module') {
switch (currentMenu) {
case MENU.MODULE_CIRCUIT_SETTING.BASIC_SETTING:
+ trestleClear()
addPopup(popupId, 1, )
break
case MENU.MODULE_CIRCUIT_SETTING.CIRCUIT_TRESTLE_SETTING:
diff --git a/src/hooks/module/useTrestle.js b/src/hooks/module/useTrestle.js
index 2fd95ba2..f9aa1de0 100644
--- a/src/hooks/module/useTrestle.js
+++ b/src/hooks/module/useTrestle.js
@@ -1882,5 +1882,13 @@ export const useTrestle = () => {
}
}
- return { apply, getTrestleParams }
+ const clear = () => {
+ canvas.getObjects().forEach((obj) => {
+ if (obj.name === 'eaveBar' || obj.name === 'rack' || obj.name === 'halfEaveBar' || obj.name === 'smartRack') {
+ canvas.remove(obj)
+ }
+ })
+ }
+
+ return { apply, getTrestleParams, clear }
}
diff --git a/src/hooks/useTempGrid.js b/src/hooks/useTempGrid.js
index 7bfcf263..d43a19c0 100644
--- a/src/hooks/useTempGrid.js
+++ b/src/hooks/useTempGrid.js
@@ -13,7 +13,7 @@ export function useTempGrid() {
//임의 그리드 모드일 경우
let pointer = canvas.getPointer(e.e)
- const tempGrid = new fabric.Line([pointer.x, 0, pointer.x, canvas.height], {
+ const tempGrid = new fabric.Line([pointer.x, -1500, pointer.x, 2500], {
stroke: gridColor,
strokeWidth: 1,
selectable: true,
@@ -41,7 +41,7 @@ export function useTempGrid() {
//임의 그리드 모드일 경우
let pointer = { x: e.offsetX, y: e.offsetY }
- const tempGrid = new fabric.Line([0, pointer.y, canvas.width, pointer.y], {
+ const tempGrid = new fabric.Line([-1500, pointer.y, 2500, pointer.y], {
stroke: gridColor,
strokeWidth: 1,
selectable: true,
diff --git a/src/util/canvas-util.js b/src/util/canvas-util.js
index 5df32879..2204eaec 100644
--- a/src/util/canvas-util.js
+++ b/src/util/canvas-util.js
@@ -957,7 +957,7 @@ export const getAllRelatedObjects = (id, canvas) => {
// 모듈,회로 구성에서 사용하는 degree 범위 별 값
export const getDegreeInOrientation = (degree) => {
- if (degree >= 352) {
+ if (degree >= 180 || degree < -180) {
return 0
}
if (degree % 15 === 0) return degree