가대 설치 후 빽 할 경우 기존 가대관련 데이터 지우기

This commit is contained in:
hyojun.choi 2025-02-03 20:34:36 +09:00
parent a2237de250
commit 679d9f8a32
6 changed files with 22 additions and 8 deletions

View File

@ -177,6 +177,7 @@ export const SAVE_KEY = [
'moduleRowsTotCnt',
'seq',
'smartRackId',
'directionText',
'quotationParam',
'pcses',
]

View File

@ -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) => (
<div
key={index}
className={`circle ${getDegreeInOrientation(compasDeg) === 15 * (12 + index) ? 'act' : ''}`}
onClick={() => setCompasDeg(15 * (12 + index))}
className={`circle ${getDegreeInOrientation(compasDeg) === -1 * (-15 * index + 180) ? 'act' : ''}`}
onClick={() => setCompasDeg(-1 * (-15 * index + 180))}
>
{index === 0 && <i>180°</i>}
{index === 6 && <i>-90°</i>}

View File

@ -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, <BasicSetting id={popupId} />)
break
case MENU.MODULE_CIRCUIT_SETTING.CIRCUIT_TRESTLE_SETTING:

View File

@ -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 }
}

View File

@ -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,

View File

@ -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