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