dev #909
@ -49,7 +49,16 @@ export default function PassivityCircuitAllocation(props) {
|
|||||||
obj.on('mousedown', (e) => handleTargetModules(obj))
|
obj.on('mousedown', (e) => handleTargetModules(obj))
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// [CIRCUIT-BOX-SELECT 2026-06-10] 手動回路割り当て 에서만 드래그 박스 복수선택 활성화 (이 화면 한정)
|
||||||
|
const prevSelection = canvas.selection
|
||||||
|
canvas.selection = true
|
||||||
|
canvas.on('selection:created', handleBoxSelect)
|
||||||
|
canvas.on('selection:updated', handleBoxSelect)
|
||||||
|
|
||||||
return () => {
|
return () => {
|
||||||
|
canvas.off('selection:created', handleBoxSelect)
|
||||||
|
canvas.off('selection:updated', handleBoxSelect)
|
||||||
|
canvas.selection = prevSelection
|
||||||
canvas
|
canvas
|
||||||
.getObjects()
|
.getObjects()
|
||||||
.filter((obj) => obj.name === POLYGON_TYPE.MODULE)
|
.filter((obj) => obj.name === POLYGON_TYPE.MODULE)
|
||||||
@ -57,6 +66,7 @@ export default function PassivityCircuitAllocation(props) {
|
|||||||
obj.set({ strokeWidth: 0.3 })
|
obj.set({ strokeWidth: 0.3 })
|
||||||
obj.off('mousedown')
|
obj.off('mousedown')
|
||||||
})
|
})
|
||||||
|
canvas.discardActiveObject()
|
||||||
canvas.renderAll()
|
canvas.renderAll()
|
||||||
}
|
}
|
||||||
}, [])
|
}, [])
|
||||||
@ -84,6 +94,28 @@ export default function PassivityCircuitAllocation(props) {
|
|||||||
canvas.renderAll()
|
canvas.renderAll()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// [CIRCUIT-BOX-SELECT 2026-06-10] 드래그 박스(activeSelection) 로 잡힌 모듈을 targetModules 에 가산 병합 후 fabric 선택 해제
|
||||||
|
const handleBoxSelect = () => {
|
||||||
|
const active = canvas.getActiveObject()
|
||||||
|
if (!active || active.type !== 'activeSelection') return
|
||||||
|
const boxModules = active.getObjects().filter((obj) => obj.name === POLYGON_TYPE.MODULE)
|
||||||
|
if (boxModules.length === 0) return
|
||||||
|
|
||||||
|
setTargetModules((prev) => {
|
||||||
|
const next = Array.isArray(prev) ? [...prev] : []
|
||||||
|
boxModules.forEach((obj) => {
|
||||||
|
if (!next.includes(obj.id)) {
|
||||||
|
obj.set({ strokeWidth: 2 })
|
||||||
|
next.push(obj.id)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return next
|
||||||
|
})
|
||||||
|
|
||||||
|
canvas.discardActiveObject()
|
||||||
|
canvas.renderAll()
|
||||||
|
}
|
||||||
|
|
||||||
const handleCircuitNumberFix = () => {
|
const handleCircuitNumberFix = () => {
|
||||||
const pcsTpCd = selectedPcs.pcsTpCd // 실내집중형, 옥외멀티형
|
const pcsTpCd = selectedPcs.pcsTpCd // 실내집중형, 옥외멀티형
|
||||||
let uniqueCircuitNumbers = [
|
let uniqueCircuitNumbers = [
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user