clean selection manager

This commit is contained in:
Guilhem
2025-11-11 21:14:34 +01:00
parent e1b7efbc80
commit 52ef87e3d2
8 changed files with 8 additions and 34 deletions
@@ -2,14 +2,11 @@
import VirtualItem from '$lib/components/flows/map/VirtualItem.svelte'
import NodeWrapper from './NodeWrapper.svelte'
import type { BranchAllEndN } from '../../graphBuilder.svelte'
import { getGraphContext } from '../../graphContext'
interface Props {
data: BranchAllEndN['data']
}
let { data }: Props = $props()
const { selectionManager } = getGraphContext()
</script>
<NodeWrapper offset={data.offset} enableSourceHandle enableTargetHandle>
@@ -18,7 +15,7 @@
label={'Collect result from all branches'}
id={data.id}
selectable={true}
selected={selectionManager?.isNodeSelected(data.id)}
selected={false}
on:select={(e) => {
data?.eventHandlers?.select(e.detail)
}}
@@ -5,14 +5,11 @@
import NodeWrapper from './NodeWrapper.svelte'
import { X } from 'lucide-svelte'
import type { BranchAllStartN } from '../../graphBuilder.svelte'
import { getGraphContext } from '../../graphContext'
interface Props {
data: BranchAllStartN['data']
}
let { data }: Props = $props()
const { selectionManager } = getGraphContext()
</script>
<NodeWrapper offset={data.offset}>
@@ -20,7 +17,7 @@
<VirtualItem
label={data.label}
selectable
selected={selectionManager?.isNodeSelected(data.id)}
selected={false}
on:select={() => {
setTimeout(() => data.eventHandlers.select(data.id))
}}
@@ -5,14 +5,11 @@
import NodeWrapper from './NodeWrapper.svelte'
import { X } from 'lucide-svelte'
import type { BranchOneStartN } from '../../graphBuilder.svelte'
import { getGraphContext } from '../../graphContext'
interface Props {
data: BranchOneStartN['data']
}
let { data }: Props = $props()
const { selectionManager } = getGraphContext()
</script>
<NodeWrapper offset={data.offset}>
@@ -21,7 +18,7 @@
label={data.label}
preLabel={data.preLabel}
selectable
selected={selectionManager?.isNodeSelected(data.id)}
selected={false}
on:select={() => {
setTimeout(() => data?.eventHandlers?.select(data.id))
}}
@@ -2,14 +2,11 @@
import VirtualItem from '$lib/components/flows/map/VirtualItem.svelte'
import NodeWrapper from './NodeWrapper.svelte'
import type { ForLoopEndN } from '../../graphBuilder.svelte'
import { getGraphContext } from '../../graphContext'
interface Props {
data: ForLoopEndN['data']
}
let { data }: Props = $props()
const { selectionManager } = getGraphContext()
</script>
<NodeWrapper offset={data.offset}>
@@ -18,7 +15,7 @@
<VirtualItem
label={'Each event is processed'}
selectable={false}
selected={selectionManager?.isNodeSelected(data.id)}
selected={false}
id={data.id}
hideId
on:select={(e) => {
@@ -29,7 +26,7 @@
<VirtualItem
label={'Collect result of each iteration'}
selectable={true}
selected={selectionManager?.isNodeSelected(data.id)}
selected={false}
id={data.id}
on:select={(e) => {
setTimeout(() => data?.eventHandlers?.select(e.detail))
@@ -5,7 +5,6 @@
import { getContext } from 'svelte'
import type { PropPickerContext } from '$lib/components/prop_picker'
import type { ForLoopStartN } from '../../graphBuilder.svelte'
import { getGraphContext } from '../../graphContext'
interface Props {
data: ForLoopStartN['data']
}
@@ -51,8 +50,6 @@
return 'none'
}
let filteredInput = $derived(filterIterFromInput($pickablePropertiesFiltered?.flow_input))
const { selectionManager } = getGraphContext()
</script>
<NodeWrapper offset={data.offset}>
@@ -60,7 +57,7 @@
<VirtualItem
label={data.simplifiedTriggerView ? 'For each new event' : 'Do one iteration'}
selectable={false}
selected={selectionManager?.isNodeSelected(data.id)}
selected={false}
id={data.id}
hideId
on:select={(e) => {
@@ -2,14 +2,11 @@
import VirtualItem from '$lib/components/flows/map/VirtualItem.svelte'
import NodeWrapper from './NodeWrapper.svelte'
import type { NoBranchN } from '../../graphBuilder.svelte'
import { getGraphContext } from '../../graphContext'
interface Props {
data: NoBranchN['data']
}
let { data }: Props = $props()
const { selectionManager } = getGraphContext()
</script>
<NodeWrapper offset={data.offset} enableSourceHandle enableTargetHandle>
@@ -19,7 +16,7 @@
id={data.id}
hideId={true}
selectable={true}
selected={selectionManager?.isNodeSelected(data.id)}
selected={false}
on:select={(e) => {
setTimeout(() => data?.eventHandlers?.select(e.detail))
}}
@@ -2,14 +2,11 @@
import VirtualItem from '$lib/components/flows/map/VirtualItem.svelte'
import NodeWrapper from './NodeWrapper.svelte'
import type { BranchOneEndN } from '../../graphBuilder.svelte'
import { getGraphContext } from '../../graphContext'
interface Props {
data: BranchOneEndN['data']
}
let { data }: Props = $props()
const { selectionManager } = getGraphContext()
</script>
<NodeWrapper offset={data.offset}>
@@ -18,7 +15,7 @@
label={'Collect result from chosen branch'}
id={data.id}
selectable={true}
selected={selectionManager?.isNodeSelected(data.id)}
selected={false}
on:select={(e) => {
setTimeout(() => data?.eventHandlers?.select(e.detail))
}}
@@ -170,11 +170,6 @@ export class SelectionManager {
return [...this.selectedIds]
}
// Get primary selected node ID (for backwards compatibility)
get primarySelectedId(): string | undefined {
return this.getSelectedId()
}
// Handle keyboard shortcuts
handleKeyDown(event: KeyboardEvent, nodes?: Node[]) {
if (event.key === 'Escape') {