feat(svelte) Expose edgeLookup, fix(svelte) dragging behaviour when selectable=false
This commit is contained in:
@@ -200,11 +200,24 @@ export function createStore({
|
|||||||
.map((edge) => edge.id);
|
.map((edge) => edge.id);
|
||||||
|
|
||||||
if (selectedNodeIds.length) {
|
if (selectedNodeIds.length) {
|
||||||
store.nodes.update((ns) => ns.map(resetSelectedItem(selectedNodeIds)));
|
const nodeLookup = get(store.nodeLookup);
|
||||||
|
selectedNodeIds.forEach((id) => {
|
||||||
|
const node = nodeLookup.get(id);
|
||||||
|
if (node) {
|
||||||
|
node.selected = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
store.nodes.set(get(store.nodes));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (selectedEdgeIds.length) {
|
if (selectedEdgeIds.length) {
|
||||||
store.edges.update((es) => es.map(resetSelectedItem(selectedEdgeIds)));
|
const edgeLookup = get(store.edgeLookup);
|
||||||
|
selectedEdgeIds.forEach((id) => {
|
||||||
|
const edge = edgeLookup.get(id);
|
||||||
|
if (edge) {
|
||||||
|
edge.selected = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,8 @@ import {
|
|||||||
type OnConnectStart,
|
type OnConnectStart,
|
||||||
type OnConnectEnd,
|
type OnConnectEnd,
|
||||||
type NodeLookup,
|
type NodeLookup,
|
||||||
type OnBeforeDelete
|
type OnBeforeDelete,
|
||||||
|
type EdgeLookup
|
||||||
} from '@xyflow/system';
|
} from '@xyflow/system';
|
||||||
|
|
||||||
import DefaultNode from '$lib/components/nodes/DefaultNode.svelte';
|
import DefaultNode from '$lib/components/nodes/DefaultNode.svelte';
|
||||||
@@ -99,6 +100,7 @@ export const getInitialStore = ({
|
|||||||
flowId: writable<string | null>(null),
|
flowId: writable<string | null>(null),
|
||||||
nodes: createNodesStore(nextNodes, nodeLookup),
|
nodes: createNodesStore(nextNodes, nodeLookup),
|
||||||
nodeLookup: readable<NodeLookup>(nodeLookup),
|
nodeLookup: readable<NodeLookup>(nodeLookup),
|
||||||
|
edgeLookup: readable<EdgeLookup>(edgeLookup),
|
||||||
visibleNodes: readable<Node[]>([]),
|
visibleNodes: readable<Node[]>([]),
|
||||||
edges: createEdgesStore(edges, connectionLookup, edgeLookup),
|
edges: createEdgesStore(edges, connectionLookup, edgeLookup),
|
||||||
visibleEdges: readable<EdgeLayouted[]>([]),
|
visibleEdges: readable<EdgeLayouted[]>([]),
|
||||||
|
|||||||
Reference in New Issue
Block a user