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);
|
||||
|
||||
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) {
|
||||
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 OnConnectEnd,
|
||||
type NodeLookup,
|
||||
type OnBeforeDelete
|
||||
type OnBeforeDelete,
|
||||
type EdgeLookup
|
||||
} from '@xyflow/system';
|
||||
|
||||
import DefaultNode from '$lib/components/nodes/DefaultNode.svelte';
|
||||
@@ -99,6 +100,7 @@ export const getInitialStore = ({
|
||||
flowId: writable<string | null>(null),
|
||||
nodes: createNodesStore(nextNodes, nodeLookup),
|
||||
nodeLookup: readable<NodeLookup>(nodeLookup),
|
||||
edgeLookup: readable<EdgeLookup>(edgeLookup),
|
||||
visibleNodes: readable<Node[]>([]),
|
||||
edges: createEdgesStore(edges, connectionLookup, edgeLookup),
|
||||
visibleEdges: readable<EdgeLayouted[]>([]),
|
||||
|
||||
Reference in New Issue
Block a user