diff --git a/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx b/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx index 3d473156..bfc4949a 100644 --- a/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx +++ b/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx @@ -193,7 +193,7 @@ export default function CircuitTrestleSetting({ id }) { // 사용된 모듈아이템 목록 const getUseModuleItemList = () => { - return selectedModules.itemList.map((m) => { + return selectedModules?.itemList?.map((m) => { return { itemId: m.itemId, mixMatlNo: m.mixMatlNo, diff --git a/src/components/floor-plan/modal/circuitTrestle/step/StepUp.jsx b/src/components/floor-plan/modal/circuitTrestle/step/StepUp.jsx index 804a2770..8726f012 100644 --- a/src/components/floor-plan/modal/circuitTrestle/step/StepUp.jsx +++ b/src/components/floor-plan/modal/circuitTrestle/step/StepUp.jsx @@ -121,6 +121,7 @@ export default function StepUp(props) { name: 'circuitNumber', parentId: targetModule.id, circuitInfo: module.pcsItemId, + selectable: false, visible: isDisplayCircuitNumber, }) targetModule.circuit = moduleCircuitText diff --git a/src/components/floor-plan/modal/circuitTrestle/step/type/PassivityCircuitAllocation.jsx b/src/components/floor-plan/modal/circuitTrestle/step/type/PassivityCircuitAllocation.jsx index c20c995b..e632882b 100644 --- a/src/components/floor-plan/modal/circuitTrestle/step/type/PassivityCircuitAllocation.jsx +++ b/src/components/floor-plan/modal/circuitTrestle/step/type/PassivityCircuitAllocation.jsx @@ -139,6 +139,7 @@ export default function PassivityCircuitAllocation(props) { originX: 'center', originY: 'center', name: 'circuitNumber', + selectable: false, parentId: obj.id, circuitInfo: selectedPcs, visible: isDisplayCircuitNumber, diff --git a/src/hooks/module/useModule.js b/src/hooks/module/useModule.js index 2018d0fc..ad032d15 100644 --- a/src/hooks/module/useModule.js +++ b/src/hooks/module/useModule.js @@ -882,6 +882,14 @@ export function useModule() { const modulesRemove = () => { const activeModule = canvas.getObjects().filter((obj) => canvas.getActiveObjects()[0].id === obj.id)[0] + if (activeModule.circuit) { + swalFire({ + title: getMessage('can.not.remove.module'), + icon: 'error', + type: 'alert', + }) + return + } const modules = canvas .getObjects() .filter((obj) => obj.surfaceId === activeModule.surfaceId && obj.name === POLYGON_TYPE.MODULE && activeModule.id !== obj.id) diff --git a/src/hooks/useContextMenu.js b/src/hooks/useContextMenu.js index 9892788a..bb3c1683 100644 --- a/src/hooks/useContextMenu.js +++ b/src/hooks/useContextMenu.js @@ -176,6 +176,7 @@ export function useContextMenu() { shortcut: ['d', 'D'], name: `${getMessage('contextmenu.auxiliary.remove')}(D)`, fn: () => { + if (!currentObject) return const roof = canvas.getObjects().filter((obj) => obj.id === currentObject.attributes.roofId)[0] const innerLines = roof.innerLines?.filter((line) => currentObject.id !== line.id) roof.innerLines = [...innerLines] @@ -187,6 +188,7 @@ export function useContextMenu() { id: 'auxiliaryVerticalBisector', name: getMessage('contextmenu.auxiliary.vertical.bisector'), fn: () => { + if (!currentObject) return const slope = (currentObject.y2 - currentObject.y1) / (currentObject.x2 - currentObject.x1) const length = currentObject.length