Fix issues with multi selectioni

This commit is contained in:
Andrew Kingston 2024-09-16 13:51:29 +01:00
parent 518f29030f
commit 1eee556bee
No known key found for this signature in database
3 changed files with 8 additions and 9 deletions

View File

@ -6,7 +6,7 @@
useSvelteFlow,
} from "@xyflow/svelte"
import { Icon, TooltipPosition } from "@budibase/bbui"
import { onMount, getContext } from "svelte"
import { getContext } from "svelte"
import { roles } from "stores/builder"
export let sourceX
@ -20,11 +20,11 @@
export let target
const flow = useSvelteFlow()
const { updateRole, selectedNode } = getContext("flow")
const { updateRole, selectedNodes } = getContext("flow")
let iconHovered = false
$: active = source === $selectedNode || target === $selectedNode
$: active = $selectedNodes.includes(source) || $selectedNodes.includes(target)
$: edgeClasses = getEdgeClasses(active, iconHovered)
$: [edgePath, labelX, labelY] = getBezierPath({
sourceX,

View File

@ -24,9 +24,8 @@
const nodes = writable([])
const edges = writable([])
const dragging = writable(false)
const selectedNode = derived(
nodes,
$nodes => $nodes.find(x => x.selected)?.id
const selectedNodes = derived(nodes, $nodes =>
$nodes.filter(x => x.selected).map(x => x.id)
)
// Ensure role changes are synced with nodes and edges
@ -192,7 +191,7 @@
nodes,
edges,
dragging,
selectedNode,
selectedNodes,
createRole,
updateRole,
deleteRole,
@ -219,6 +218,7 @@
onconnectstart={() => dragging.set(true)}
onconnectend={() => dragging.set(false)}
onconnect={onConnect}
deleteKey={null}
>
<Background variant={BackgroundVariant.Dots} />
<Controls />

View File

@ -1,5 +1,5 @@
<script>
import { Handle, Position, useSvelteFlow } from "@xyflow/svelte"
import { Handle, Position } from "@xyflow/svelte"
import {
Icon,
Input,
@ -18,7 +18,6 @@
export let selected
const { dragging, updateRole, deleteRole } = getContext("flow")
const flow = useSvelteFlow()
let anchor
let modal