dev #909

Merged
ysCha merged 2 commits from dev into prd-deploy 2026-06-10 13:15:24 +09:00
Showing only changes of commit 54e6a31dcf - Show all commits

View File

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