add set and update functions to nodes,edges & viewport hooks
This commit is contained in:
@@ -1,4 +1,6 @@
|
|||||||
import { useStore } from '$lib/store';
|
import { useStore } from '$lib/store';
|
||||||
|
import type { Edge, Node } from '$lib/types';
|
||||||
|
import type { Viewport } from '@xyflow/system';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Hook for getting the current nodes from the store.
|
* Hook for getting the current nodes from the store.
|
||||||
@@ -12,8 +14,14 @@ export function useNodes() {
|
|||||||
get current() {
|
get current() {
|
||||||
return store.nodes;
|
return store.nodes;
|
||||||
},
|
},
|
||||||
set current(val) {
|
set current(nodes) {
|
||||||
store.nodes = val;
|
store.nodes = nodes;
|
||||||
|
},
|
||||||
|
update(updateFn: (nodes: Node[]) => Node[]) {
|
||||||
|
store.nodes = updateFn(store.nodes);
|
||||||
|
},
|
||||||
|
set(nodes: Node[]) {
|
||||||
|
store.nodes = nodes;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -30,8 +38,14 @@ export function useEdges() {
|
|||||||
get current() {
|
get current() {
|
||||||
return store.edges;
|
return store.edges;
|
||||||
},
|
},
|
||||||
set current(val) {
|
set current(edges) {
|
||||||
store.edges = val;
|
store.edges = edges;
|
||||||
|
},
|
||||||
|
update(updateFn: (edges: Edge[]) => Edge[]) {
|
||||||
|
store.edges = updateFn(store.edges);
|
||||||
|
},
|
||||||
|
set(edges: Edge[]) {
|
||||||
|
store.edges = edges;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -48,8 +62,14 @@ export function useViewport() {
|
|||||||
get current() {
|
get current() {
|
||||||
return store.viewport;
|
return store.viewport;
|
||||||
},
|
},
|
||||||
set current(val) {
|
set current(viewport: Viewport) {
|
||||||
store.viewport = val;
|
store.viewport = viewport;
|
||||||
|
},
|
||||||
|
update(updateFn: (viewport: Viewport) => Viewport) {
|
||||||
|
store.viewport = updateFn(store.viewport);
|
||||||
|
},
|
||||||
|
set(viewport: Viewport) {
|
||||||
|
store.viewport = viewport;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user