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 type { Edge, Node } from '$lib/types';
|
||||
import type { Viewport } from '@xyflow/system';
|
||||
|
||||
/**
|
||||
* Hook for getting the current nodes from the store.
|
||||
@@ -12,8 +14,14 @@ export function useNodes() {
|
||||
get current() {
|
||||
return store.nodes;
|
||||
},
|
||||
set current(val) {
|
||||
store.nodes = val;
|
||||
set current(nodes) {
|
||||
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() {
|
||||
return store.edges;
|
||||
},
|
||||
set current(val) {
|
||||
store.edges = val;
|
||||
set current(edges) {
|
||||
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() {
|
||||
return store.viewport;
|
||||
},
|
||||
set current(val) {
|
||||
store.viewport = val;
|
||||
set current(viewport: Viewport) {
|
||||
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