dev #909
@ -49,7 +49,16 @@ export default function PassivityCircuitAllocation(props) {
|
||||
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 () => {
|
||||
canvas.off('selection:created', handleBoxSelect)
|
||||
canvas.off('selection:updated', handleBoxSelect)
|
||||
canvas.selection = prevSelection
|
||||
canvas
|
||||
.getObjects()
|
||||
.filter((obj) => obj.name === POLYGON_TYPE.MODULE)
|
||||
@ -57,6 +66,7 @@ export default function PassivityCircuitAllocation(props) {
|
||||
obj.set({ strokeWidth: 0.3 })
|
||||
obj.off('mousedown')
|
||||
})
|
||||
canvas.discardActiveObject()
|
||||
canvas.renderAll()
|
||||
}
|
||||
}, [])
|
||||
@ -84,6 +94,28 @@ export default function PassivityCircuitAllocation(props) {
|
||||
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 pcsTpCd = selectedPcs.pcsTpCd // 실내집중형, 옥외멀티형
|
||||
let uniqueCircuitNumbers = [
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user