windmill-components 1.379.4 → 1.382.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package/components/ArgInput.svelte +33 -3
- package/package/components/DisplayResult.svelte +17 -5
- package/package/components/ErrorOrRecoveryHandler.svelte +3 -2
- package/package/components/FlowBuilder.svelte +3 -0
- package/package/components/FlowBuilder.svelte.d.ts +1 -0
- package/package/components/FlowGraphViewer.svelte +6 -5
- package/package/components/FlowJobResult.svelte +4 -2
- package/package/components/FlowJobResult.svelte.d.ts +2 -0
- package/package/components/FlowStatusViewerInner.svelte +17 -6
- package/package/components/FlowViewer.svelte +1 -0
- package/package/components/HighlightCode.svelte +2 -2
- package/package/components/ModulePreviewForm.svelte +1 -1
- package/package/components/ObjectResourceInput.svelte +7 -2
- package/package/components/ObjectResourceInput.svelte.d.ts +2 -0
- package/package/components/ResourcePicker.svelte +60 -48
- package/package/components/ScriptVersionHistory.svelte +63 -7
- package/package/components/apps/components/display/dbtable/DbExplorerCount.svelte +3 -2
- package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +22 -5
- package/package/components/apps/components/display/table/AppAggridTable.svelte +14 -5
- package/package/components/apps/components/display/table/AppAggridTableActions.svelte +23 -8
- package/package/components/apps/components/display/table/AppAggridTableActions.svelte.d.ts +5 -3
- package/package/components/apps/components/display/table/utils.js +8 -7
- package/package/components/apps/components/helpers/RunnableComponent.svelte +13 -1
- package/package/components/apps/components/helpers/eval.js +31 -25
- package/package/components/apps/editor/AppEditorHeader.svelte +1 -0
- package/package/components/apps/editor/AppReportsDrawer.svelte +4 -3
- package/package/components/apps/editor/component/components.d.ts +1 -1
- package/package/components/apps/editor/settingsPanel/DecisionTreeGraphEditor.svelte +0 -1
- package/package/components/apps/editor/settingsPanel/DecisionTreeGraphHeader.svelte +55 -45
- package/package/components/apps/editor/settingsPanel/DecisionTreeGraphHeader.svelte.d.ts +7 -9
- package/package/components/apps/editor/settingsPanel/DecisionTreeGraphNode.svelte +66 -59
- package/package/components/apps/editor/settingsPanel/DecisionTreeGraphNode.svelte.d.ts +9 -11
- package/package/components/apps/editor/settingsPanel/decisionTree/DecisionTreePreview.svelte +213 -254
- package/package/components/apps/editor/settingsPanel/decisionTree/DecisionTreePreview.svelte.d.ts +0 -1
- package/package/components/apps/editor/settingsPanel/decisionTree/nodeHelpers.d.ts +1 -1
- package/package/components/apps/editor/settingsPanel/decisionTree/nodeHelpers.js +2 -6
- package/package/components/details/DetailPageDetailPanel.svelte +9 -1
- package/package/components/details/DetailPageDetailPanel.svelte.d.ts +2 -1
- package/package/components/details/DetailPageLayout.svelte +2 -0
- package/package/components/details/DetailPageLayout.svelte.d.ts +3 -0
- package/package/components/details/EmailTriggerPanel.svelte +128 -0
- package/package/components/details/EmailTriggerPanel.svelte.d.ts +20 -0
- package/package/components/details/WebhooksPanel.svelte +7 -68
- package/package/components/flows/FlowHistory.svelte +1 -0
- package/package/components/flows/content/FlowInputs.svelte +0 -1
- package/package/components/flows/content/FlowModuleScript.svelte +33 -3
- package/package/components/flows/content/FlowModuleScript.svelte.d.ts +2 -0
- package/package/components/flows/content/FlowModuleSuspend.svelte +15 -0
- package/package/components/flows/flowInfers.js +1 -1
- package/package/components/flows/map/FlowJobsMenu.svelte +39 -44
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +1 -2
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +4 -3
- package/package/components/flows/map/InsertModuleButton.svelte +16 -9
- package/package/components/flows/map/MapItem.svelte +3 -97
- package/package/components/flows/map/MapItem.svelte.d.ts +0 -5
- package/package/components/flows/map/VirtualItem.svelte +6 -159
- package/package/components/flows/map/VirtualItem.svelte.d.ts +0 -15
- package/package/components/graph/FlowGraphV2.svelte +256 -0
- package/package/components/graph/{FlowGraph.svelte.d.ts → FlowGraphV2.svelte.d.ts} +8 -8
- package/package/components/graph/graphBuilder.d.ts +15 -0
- package/package/components/graph/graphBuilder.js +337 -0
- package/package/components/graph/index.d.ts +0 -1
- package/package/components/graph/index.js +0 -1
- package/package/components/graph/model.d.ts +1 -8
- package/package/components/graph/renderers/edges/BaseEdge.svelte +109 -0
- package/package/components/graph/renderers/edges/BaseEdge.svelte.d.ts +35 -0
- package/package/components/graph/renderers/edges/DataflowEdge.svelte +37 -0
- package/package/components/graph/renderers/edges/DataflowEdge.svelte.d.ts +29 -0
- package/package/components/graph/renderers/edges/EmptyEdge.svelte +22 -0
- package/package/components/graph/renderers/edges/EmptyEdge.svelte.d.ts +23 -0
- package/package/components/graph/renderers/nodes/BranchAllStart.svelte +44 -0
- package/package/components/graph/renderers/nodes/BranchAllStart.svelte.d.ts +29 -0
- package/package/components/graph/renderers/nodes/BranchOneStart.svelte +41 -0
- package/package/components/graph/renderers/nodes/BranchOneStart.svelte.d.ts +29 -0
- package/package/components/graph/renderers/nodes/ForLoopEndNode.svelte +19 -0
- package/package/components/graph/renderers/nodes/ForLoopEndNode.svelte.d.ts +24 -0
- package/package/components/graph/renderers/nodes/ForLoopStartNode.svelte +20 -0
- package/package/components/graph/renderers/nodes/ForLoopStartNode.svelte.d.ts +25 -0
- package/package/components/graph/renderers/nodes/InputNode.svelte +74 -0
- package/package/components/graph/renderers/nodes/InputNode.svelte.d.ts +23 -0
- package/package/components/graph/renderers/nodes/ModuleNode.svelte +71 -0
- package/package/components/graph/renderers/nodes/ModuleNode.svelte.d.ts +41 -0
- package/package/components/graph/renderers/nodes/NoBranchNode.svelte +20 -0
- package/package/components/graph/renderers/nodes/NoBranchNode.svelte.d.ts +27 -0
- package/package/components/graph/renderers/nodes/NodeWrapper.svelte +21 -0
- package/package/components/graph/renderers/nodes/NodeWrapper.svelte.d.ts +22 -0
- package/package/components/graph/renderers/nodes/ResultNode.svelte +24 -0
- package/package/components/graph/renderers/nodes/ResultNode.svelte.d.ts +22 -0
- package/package/components/graph/renderers/nodes/branchAllEndNode.svelte +19 -0
- package/package/components/graph/renderers/nodes/branchAllEndNode.svelte.d.ts +26 -0
- package/package/components/graph/renderers/nodes/branchOneEndNode.svelte +19 -0
- package/package/components/graph/renderers/nodes/branchOneEndNode.svelte.d.ts +24 -0
- package/package/components/graph/renderers/utils.d.ts +8 -0
- package/package/components/graph/renderers/utils.js +26 -0
- package/package/components/graph/util.d.ts +1 -2
- package/package/components/graph/util.js +2 -8
- package/package/components/runs/RunsFilter.svelte +15 -17
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +3 -0
- package/package/gen/schemas.gen.js +3 -0
- package/package/gen/services.gen.d.ts +22 -3
- package/package/gen/services.gen.js +38 -2
- package/package/gen/types.gen.d.ts +69 -6
- package/package/hub.d.ts +11 -0
- package/package/hub.js +2 -0
- package/package/hubPaths.json +9 -0
- package/package/init_scripts/python_failure_module.d.ts +1 -1
- package/package/init_scripts/python_failure_module.js +4 -3
- package/package/script_helpers.d.ts +2 -2
- package/package/script_helpers.js +11 -9
- package/package.json +2 -1
- package/package/components/graph/FlowGraph.svelte +0 -614
- package/package/components/graph/svelvet/LICENSE +0 -21
- package/package/components/graph/svelvet/container/README.md +0 -7
- package/package/components/graph/svelvet/container/controllers/middleware.d.ts +0 -11
- package/package/components/graph/svelvet/container/controllers/middleware.js +0 -87
- package/package/components/graph/svelvet/container/models/index.d.ts +0 -0
- package/package/components/graph/svelvet/container/models/index.js +0 -1
- package/package/components/graph/svelvet/container/views/GraphView.svelte +0 -262
- package/package/components/graph/svelvet/container/views/GraphView.svelte.d.ts +0 -26
- package/package/components/graph/svelvet/container/views/Svelvet.svelte +0 -121
- package/package/components/graph/svelvet/container/views/Svelvet.svelte.d.ts +0 -36
- package/package/components/graph/svelvet/customCss/controllers/getCss.d.ts +0 -2
- package/package/components/graph/svelvet/customCss/controllers/getCss.js +0 -46
- package/package/components/graph/svelvet/d3/controllers/d3.d.ts +0 -5
- package/package/components/graph/svelvet/d3/controllers/d3.js +0 -59
- package/package/components/graph/svelvet/edges/controllers/anchorCbDev.d.ts +0 -4
- package/package/components/graph/svelvet/edges/controllers/anchorCbDev.js +0 -92
- package/package/components/graph/svelvet/edges/controllers/anchorCbUser.d.ts +0 -57
- package/package/components/graph/svelvet/edges/controllers/anchorCbUser.js +0 -73
- package/package/components/graph/svelvet/edges/controllers/util.d.ts +0 -37
- package/package/components/graph/svelvet/edges/controllers/util.js +0 -71
- package/package/components/graph/svelvet/edges/models/Anchor.d.ts +0 -48
- package/package/components/graph/svelvet/edges/models/Anchor.js +0 -122
- package/package/components/graph/svelvet/edges/models/Edge.d.ts +0 -48
- package/package/components/graph/svelvet/edges/models/Edge.js +0 -109
- package/package/components/graph/svelvet/edges/types/types.d.ts +0 -18
- package/package/components/graph/svelvet/edges/types/types.js +0 -1
- package/package/components/graph/svelvet/edges/views/Edges/BaseEdge.svelte +0 -104
- package/package/components/graph/svelvet/edges/views/Edges/BaseEdge.svelte.d.ts +0 -18
- package/package/components/graph/svelvet/edges/views/Edges/EdgeText.svelte +0 -42
- package/package/components/graph/svelvet/edges/views/Edges/EdgeText.svelte.d.ts +0 -17
- package/package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte +0 -151
- package/package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte.d.ts +0 -17
- package/package/components/graph/svelvet/edges/views/Edges/SmoothStepEdge.svelte +0 -157
- package/package/components/graph/svelvet/edges/views/Edges/SmoothStepEdge.svelte.d.ts +0 -60
- package/package/components/graph/svelvet/edges/views/Edges/StepEdge.svelte +0 -8
- package/package/components/graph/svelvet/edges/views/Edges/StepEdge.svelte.d.ts +0 -25
- package/package/components/graph/svelvet/edges/views/Edges/types.d.ts +0 -52
- package/package/components/graph/svelvet/edges/views/Edges/types.js +0 -1
- package/package/components/graph/svelvet/edges/views/Edges/utils.d.ts +0 -33
- package/package/components/graph/svelvet/edges/views/Edges/utils.js +0 -31
- package/package/components/graph/svelvet/nodes/controllers/util.d.ts +0 -9
- package/package/components/graph/svelvet/nodes/controllers/util.js +0 -13
- package/package/components/graph/svelvet/nodes/models/Node.d.ts +0 -74
- package/package/components/graph/svelvet/nodes/models/Node.js +0 -156
- package/package/components/graph/svelvet/nodes/views/Node.svelte +0 -84
- package/package/components/graph/svelvet/nodes/views/Node.svelte.d.ts +0 -21
- package/package/components/graph/svelvet/store/controllers/storeApi.d.ts +0 -25
- package/package/components/graph/svelvet/store/controllers/storeApi.js +0 -91
- package/package/components/graph/svelvet/store/controllers/userApi.d.ts +0 -3
- package/package/components/graph/svelvet/store/controllers/userApi.js +0 -18
- package/package/components/graph/svelvet/store/controllers/util.d.ts +0 -24
- package/package/components/graph/svelvet/store/controllers/util.js +0 -148
- package/package/components/graph/svelvet/store/models/store.d.ts +0 -13
- package/package/components/graph/svelvet/store/models/store.js +0 -12
- package/package/components/graph/svelvet/store/types/types.d.ts +0 -127
- package/package/components/graph/svelvet/store/types/types.js +0 -1
- package/package/components/graph/svelvet/types/README.md +0 -3
- package/package/components/graph/svelvet/types/index.d.ts +0 -2
- package/package/components/graph/svelvet/types/index.js +0 -1
- package/package/components/graph/svelvet/types/types.d.ts +0 -50
- package/package/components/graph/svelvet/types/types.js +0 -18
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
const pkStringGenerator = () => (Math.random() + 1).toString(36).substring(7); // these are callbacks used to calculate anchor position relative to node
|
|
2
|
-
import { dynamicCbCreator, fixedCbCreator } from '../../edges/controllers/anchorCbDev';
|
|
3
|
-
import { getAnchors } from '../../edges/controllers/util';
|
|
4
|
-
import { Anchor } from '../../edges/models/Anchor';
|
|
5
|
-
import { Edge } from '../../edges/models/Edge';
|
|
6
|
-
import { Node } from '../../nodes/models/Node';
|
|
7
|
-
/**
|
|
8
|
-
* Creates an Anchor on the targeted Node with infomation the userNode holds
|
|
9
|
-
* @param store An object containing the state of the Svelvet component. You can access the following through `store`: nodesStore, edgesStore, anchorsStore, etc.
|
|
10
|
-
* @param userNode A node that the user specifies. This is NOT the same as a Node object.
|
|
11
|
-
* @param sourceOrTarget User specified information of source or target
|
|
12
|
-
* @param canvasId The id of the canvas that holds the Anchor and its attached Node
|
|
13
|
-
* @param edge An edge that the user specifies. It should target the userNode as source or target. This is NOT the same as an Edge object
|
|
14
|
-
* @returns An Anchor object
|
|
15
|
-
*/
|
|
16
|
-
function createAnchor(store, userNode, sourceOrTarget, canvasId, edge) {
|
|
17
|
-
// edge case
|
|
18
|
-
if (userNode === null)
|
|
19
|
-
throw `you cannot create an anchor without a user node (for now)`;
|
|
20
|
-
const edgeId = edge.id;
|
|
21
|
-
const anchorId = pkStringGenerator();
|
|
22
|
-
// userCb is the appropriate source or taret callback from userEdge object. It is
|
|
23
|
-
// possible the user to NOT set userCb in which case userCb will be undefined
|
|
24
|
-
let userCb;
|
|
25
|
-
if (sourceOrTarget === 'target')
|
|
26
|
-
userCb = edge.targetAnchorCb;
|
|
27
|
-
else
|
|
28
|
-
userCb = edge.sourceAnchorCb;
|
|
29
|
-
// create anchor callbacks
|
|
30
|
-
let cb;
|
|
31
|
-
if (userCb === undefined)
|
|
32
|
-
cb = dynamicCbCreator(store, edgeId, anchorId);
|
|
33
|
-
else
|
|
34
|
-
cb = fixedCbCreator(store, edgeId, anchorId, userNode.id, userCb);
|
|
35
|
-
// Create a new anchor.
|
|
36
|
-
const anchor = new Anchor(anchorId, userNode.id, edgeId, sourceOrTarget, -1, // dummy variables for x,y,angle for now
|
|
37
|
-
-1, // dummy variables for x,y,angle for now
|
|
38
|
-
cb, canvasId, 0 // dummy variables for x,y,angle for now
|
|
39
|
-
);
|
|
40
|
-
// return
|
|
41
|
-
return anchor;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Populates edgesStore of Edges. This function does not return the edgesStore. Instead it sets the nodesStore of Svelvet store.
|
|
45
|
-
* @param store An object containing the state of the Svelvet component. You can access the following through `store`: nodesStore, edgesStore, anchorsStore, etc.
|
|
46
|
-
* @param edges An edge that the user specifies. This is NOT the same as a Edge object.
|
|
47
|
-
* @param canvasId The canvasId of the Svelvet component that holds the Edges
|
|
48
|
-
*/
|
|
49
|
-
export function populateEdgesStore(store, edges, canvasId) {
|
|
50
|
-
const edgesStore = {};
|
|
51
|
-
for (let i = 0; i < edges.length; i++) {
|
|
52
|
-
const userEdge = edges[i];
|
|
53
|
-
// { id: 'e1-2', source: 1, type: 'straight', target: 2, label: 'e1-2' },
|
|
54
|
-
// source is node.id for the source node
|
|
55
|
-
// target is node.id for the target node
|
|
56
|
-
// We need to get the anchors
|
|
57
|
-
const { id: edgeId } = userEdge;
|
|
58
|
-
const anchors = getAnchors(store, { edgeId: edgeId });
|
|
59
|
-
// check that we have two anchors for every edge
|
|
60
|
-
if (anchors.length !== 2)
|
|
61
|
-
throw 'We should have two anchors for every node';
|
|
62
|
-
// check that we have 1 source anchor and 1 target anchor. Since sourceOrTarget is typed to be either 'source'
|
|
63
|
-
// or 'target', it suffices to check whether there are two unique elements
|
|
64
|
-
if (new Set(anchors.map((e) => e.sourceOrTarget)).size !== 2)
|
|
65
|
-
throw 'we should have one source and one target anchor';
|
|
66
|
-
// get source and target anchor
|
|
67
|
-
let sourceAnchor, targetAnchor;
|
|
68
|
-
if (anchors[0].sourceOrTarget === 'source') {
|
|
69
|
-
sourceAnchor = anchors[0];
|
|
70
|
-
targetAnchor = anchors[1];
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
sourceAnchor = anchors[1];
|
|
74
|
-
targetAnchor = anchors[0];
|
|
75
|
-
}
|
|
76
|
-
edgesStore[edgeId] = new Edge(edgeId, sourceAnchor.positionX, sourceAnchor.positionY, targetAnchor.positionX, targetAnchor.positionY, canvasId, userEdge.label === undefined ? '' : userEdge.label, userEdge.type === undefined ? 'bezier' : userEdge.type, userEdge.labelBgColor === undefined ? 'white' : userEdge.labelBgColor, userEdge.labelTextColor === undefined ? 'black' : userEdge.labelTextColor, userEdge.edgeColor === undefined ? 'black' : userEdge.edgeColor, userEdge.animate === undefined ? false : userEdge.animate, userEdge.noHandle === undefined ? false : userEdge.noHandle, userEdge.arrow === undefined ? false : userEdge.arrow, userEdge.clickCallback === undefined ? () => { } : userEdge.clickCallback, userEdge.className === undefined ? '' : userEdge.className, userEdge.offset);
|
|
77
|
-
}
|
|
78
|
-
store.edgesStore.set(edgesStore);
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Finds userNode (with UserNodeType; Not the same as the Node) by the node id from nodesStore
|
|
82
|
-
* @param id The id of the Node in its nodesStore
|
|
83
|
-
* @param userNodes The array of userNodes (NOT the same as Node object)
|
|
84
|
-
* @returns The node that user specified or null if not found
|
|
85
|
-
*/
|
|
86
|
-
function findUserNodeById(id, userNodes) {
|
|
87
|
-
for (let i = 0; i < userNodes.length; i++) {
|
|
88
|
-
const userNode = userNodes[i];
|
|
89
|
-
if (userNode.id === id)
|
|
90
|
-
return userNode;
|
|
91
|
-
}
|
|
92
|
-
return null;
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Populates the anchorsStore. This will overwrite any data in the AnchorsStore.
|
|
96
|
-
* @param store The Svelvet store containing the state of the Svelvet component
|
|
97
|
-
* @param nodes An array of user specified nodes
|
|
98
|
-
* @param edges An array of user specified edges
|
|
99
|
-
* @param canvasId The canvasId of the Svelvet component that holds the nodes and edges
|
|
100
|
-
*/
|
|
101
|
-
export function populateAnchorsStore(store, nodes, edges, canvasId) {
|
|
102
|
-
// anchorsStore will populated and eventaully synchronized to store.anchorsStore
|
|
103
|
-
const anchorsStore = {};
|
|
104
|
-
// iterate through user edges. Note the user never explicitly defines anchors; we calculate anchors
|
|
105
|
-
// from the user edge/node information
|
|
106
|
-
for (let i = 0; i < edges.length; i++) {
|
|
107
|
-
const userEdge = edges[i];
|
|
108
|
-
// find the source and target userNodes. These will be used to create the nodeId foreign key and
|
|
109
|
-
// determine placement of the anchor based on userNode.targetPosition, useNode.sourcePosition
|
|
110
|
-
const { source: sourceNodeId, target: targetNodeId } = userEdge;
|
|
111
|
-
const sourceUserNode = findUserNodeById(sourceNodeId, nodes);
|
|
112
|
-
const targetUserNode = findUserNodeById(targetNodeId, nodes);
|
|
113
|
-
// create source anchor
|
|
114
|
-
const sourceAnchor = createAnchor(store, sourceUserNode, 'source', canvasId, userEdge);
|
|
115
|
-
// create target anchor
|
|
116
|
-
const targetAnchor = createAnchor(store, targetUserNode, 'target', canvasId, userEdge);
|
|
117
|
-
// store source and target anchors
|
|
118
|
-
anchorsStore[sourceAnchor.id] = sourceAnchor;
|
|
119
|
-
anchorsStore[targetAnchor.id] = targetAnchor;
|
|
120
|
-
}
|
|
121
|
-
//populates the anchorsStore
|
|
122
|
-
store.anchorsStore.set(anchorsStore);
|
|
123
|
-
// set anchor positions. We can only set anchor positions after anchorsStore and nodesStore
|
|
124
|
-
// has been populated. TODO: maybe add a check to see that anchorsStore and NodesStore populated?
|
|
125
|
-
const anchors = getAnchors(store);
|
|
126
|
-
for (const anchor of anchors)
|
|
127
|
-
anchor.callback();
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Populates the nodesStore. This will overwrite any data in the nodesStore.
|
|
131
|
-
* @param store The Svelvet store containing the state of the Svelvet component
|
|
132
|
-
* @param nodes An array of user specifed nodes
|
|
133
|
-
* @param canvasId The canvasId of the Svelvet component that holds the nodes
|
|
134
|
-
*/
|
|
135
|
-
export function populateNodesStore(store, nodes, canvasId) {
|
|
136
|
-
// this is the nodesStore object. THIS IS NOT THE SAME AS A NODESTORE
|
|
137
|
-
const nodesStore = {};
|
|
138
|
-
// iterate through user nodes and create node objects
|
|
139
|
-
for (let i = 0; i < nodes.length; i++) {
|
|
140
|
-
const userNode = nodes[i];
|
|
141
|
-
const nodeId = userNode.id;
|
|
142
|
-
// TODO: move sanitizing default values to middleware
|
|
143
|
-
const node = new Node(nodeId.toString(), userNode.position.x, userNode.position.y, userNode.width, userNode.height, userNode.bgColor ?? 'white', userNode.data, canvasId, userNode.borderColor === undefined ? 'black' : userNode.borderColor, userNode.image === undefined ? false : userNode.image, userNode.src === undefined ? '' : userNode.src, userNode.textColor === undefined ? '' : userNode.textColor, userNode.borderRadius === undefined ? 0 : userNode.borderRadius, userNode.childNodes === undefined ? [] : userNode.childNodes, userNode.className === undefined ? '' : userNode.className, userNode.clickCallback === undefined ? () => { } : userNode.clickCallback);
|
|
144
|
-
nodesStore[nodeId] = node;
|
|
145
|
-
}
|
|
146
|
-
// This is actually what sets the store
|
|
147
|
-
store.nodesStore.set(nodesStore);
|
|
148
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { StoreType } from '../types/types';
|
|
2
|
-
export declare function findStore(canvasId: string): StoreType;
|
|
3
|
-
/**
|
|
4
|
-
`store` is a dictionary of Svelvet stores.
|
|
5
|
-
* The reason why we have multiple Svelvet stores is to handle multiple canvases on the same page.
|
|
6
|
-
* A Svelvet store is the single source of truth for a canvas state.
|
|
7
|
-
* We discourage developers from interacting with stores directly; instead use the api methods in
|
|
8
|
-
`src/lib/controllers/storeApi.ts`. However, if need to direct access you can do so by importing:
|
|
9
|
-
`import { store } from 'src/lib/models/store';`
|
|
10
|
-
*/
|
|
11
|
-
export declare const stores: {
|
|
12
|
-
[key: string]: StoreType;
|
|
13
|
-
};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export function findStore(canvasId) {
|
|
2
|
-
return stores[canvasId];
|
|
3
|
-
}
|
|
4
|
-
/**
|
|
5
|
-
`store` is a dictionary of Svelvet stores.
|
|
6
|
-
* The reason why we have multiple Svelvet stores is to handle multiple canvases on the same page.
|
|
7
|
-
* A Svelvet store is the single source of truth for a canvas state.
|
|
8
|
-
* We discourage developers from interacting with stores directly; instead use the api methods in
|
|
9
|
-
`src/lib/controllers/storeApi.ts`. However, if need to direct access you can do so by importing:
|
|
10
|
-
`import { store } from 'src/lib/models/store';`
|
|
11
|
-
*/
|
|
12
|
-
export const stores = {};
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
/// <reference types="svelte" />
|
|
2
|
-
import type { Writable } from 'svelte/store';
|
|
3
|
-
import type { AnchorType } from '../../edges/types/types';
|
|
4
|
-
export interface ResizeNodeType {
|
|
5
|
-
id: string;
|
|
6
|
-
nodeId: string;
|
|
7
|
-
edgeId?: string;
|
|
8
|
-
canvasId: string;
|
|
9
|
-
anchorId?: string;
|
|
10
|
-
positionX: number;
|
|
11
|
-
positionY: number;
|
|
12
|
-
setPositionAndCascade: Function;
|
|
13
|
-
setPosition: Function;
|
|
14
|
-
delete: Function;
|
|
15
|
-
}
|
|
16
|
-
export interface StoreType {
|
|
17
|
-
nodesStore: Writable<{
|
|
18
|
-
[key: string]: NodeType;
|
|
19
|
-
}>;
|
|
20
|
-
edgesStore: Writable<{
|
|
21
|
-
[key: string]: EdgeType;
|
|
22
|
-
}>;
|
|
23
|
-
anchorsStore: Writable<{
|
|
24
|
-
[key: string]: AnchorType;
|
|
25
|
-
}>;
|
|
26
|
-
potentialAnchorsStore: Writable<{
|
|
27
|
-
[key: string]: PotentialAnchorType;
|
|
28
|
-
}>;
|
|
29
|
-
widthStore: Writable<number>;
|
|
30
|
-
heightStore: Writable<number>;
|
|
31
|
-
backgroundStore: Writable<boolean>;
|
|
32
|
-
movementStore: Writable<boolean>;
|
|
33
|
-
nodeIdSelected: Writable<number>;
|
|
34
|
-
nodeSelected: Writable<boolean>;
|
|
35
|
-
d3Scale: Writable<number>;
|
|
36
|
-
options: Writable<{
|
|
37
|
-
[key: string]: any;
|
|
38
|
-
}>;
|
|
39
|
-
temporaryEdgeStore: Writable<TemporaryEdgeType[]>;
|
|
40
|
-
nodeCreate: Writable<boolean>;
|
|
41
|
-
boundary: Writable<boolean | PositionType>;
|
|
42
|
-
edgeEditModal: Writable<null | string>;
|
|
43
|
-
lockedOption: Writable<boolean>;
|
|
44
|
-
editableOption: Writable<boolean>;
|
|
45
|
-
d3ZoomParameters: Writable<{
|
|
46
|
-
[key: string]: number;
|
|
47
|
-
}>;
|
|
48
|
-
highlightEdgesOption: Writable<boolean>;
|
|
49
|
-
}
|
|
50
|
-
export interface PositionType {
|
|
51
|
-
x: number;
|
|
52
|
-
y: number;
|
|
53
|
-
}
|
|
54
|
-
export interface NodeType {
|
|
55
|
-
id: string;
|
|
56
|
-
width: number;
|
|
57
|
-
height: number;
|
|
58
|
-
positionX: number;
|
|
59
|
-
positionY: number;
|
|
60
|
-
bgColor: string;
|
|
61
|
-
data: {
|
|
62
|
-
html?: any;
|
|
63
|
-
custom?: {
|
|
64
|
-
component: any;
|
|
65
|
-
props?: any;
|
|
66
|
-
cb?: (e: string, detail: any) => void;
|
|
67
|
-
};
|
|
68
|
-
img?: any;
|
|
69
|
-
label?: string;
|
|
70
|
-
};
|
|
71
|
-
canvasId: string;
|
|
72
|
-
setPositionFromMovement: Function;
|
|
73
|
-
setSizeFromMovement: Function;
|
|
74
|
-
setExportableData: Function;
|
|
75
|
-
borderColor: string;
|
|
76
|
-
image: boolean;
|
|
77
|
-
src: string;
|
|
78
|
-
textColor: string;
|
|
79
|
-
borderRadius: number;
|
|
80
|
-
childNodes: string[];
|
|
81
|
-
className: string;
|
|
82
|
-
clickCallback: Function;
|
|
83
|
-
}
|
|
84
|
-
export interface EdgeType {
|
|
85
|
-
id: string;
|
|
86
|
-
sourceX: number;
|
|
87
|
-
sourceY: number;
|
|
88
|
-
targetX: number;
|
|
89
|
-
targetY: number;
|
|
90
|
-
canvasId: string;
|
|
91
|
-
label: string;
|
|
92
|
-
type: 'straight' | 'smoothstep' | 'step' | 'bezier';
|
|
93
|
-
labelBgColor: string;
|
|
94
|
-
labelTextColor: string;
|
|
95
|
-
edgeColor: string;
|
|
96
|
-
animate: boolean;
|
|
97
|
-
noHandle: boolean;
|
|
98
|
-
arrow: boolean;
|
|
99
|
-
clickCallback: Function;
|
|
100
|
-
className: string;
|
|
101
|
-
delete: Function;
|
|
102
|
-
setExportableData: Function;
|
|
103
|
-
}
|
|
104
|
-
export interface PotentialAnchorType {
|
|
105
|
-
id: string;
|
|
106
|
-
nodeId: string;
|
|
107
|
-
callback: Function;
|
|
108
|
-
positionX: number;
|
|
109
|
-
positionY: number;
|
|
110
|
-
angle: number;
|
|
111
|
-
canvasId: string;
|
|
112
|
-
delete: Function;
|
|
113
|
-
}
|
|
114
|
-
export interface TemporaryEdgeType {
|
|
115
|
-
id: string;
|
|
116
|
-
sourcePotentialAnchorId: string;
|
|
117
|
-
sourceX: number;
|
|
118
|
-
sourceY: number;
|
|
119
|
-
targetPotentialAnchorId: string | null;
|
|
120
|
-
targetX: number;
|
|
121
|
-
targetY: number;
|
|
122
|
-
canvasId: string;
|
|
123
|
-
type: string;
|
|
124
|
-
edgeColor: string;
|
|
125
|
-
createEdge: Function;
|
|
126
|
-
createNode: Function;
|
|
127
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
export interface UserNodeType {
|
|
2
|
-
id: string;
|
|
3
|
-
width: number;
|
|
4
|
-
height: number;
|
|
5
|
-
bgColor?: string;
|
|
6
|
-
data: {
|
|
7
|
-
html?: any;
|
|
8
|
-
custom?: {
|
|
9
|
-
component: any;
|
|
10
|
-
props?: any;
|
|
11
|
-
cb?: (e: string, detail: any) => void;
|
|
12
|
-
};
|
|
13
|
-
img?: any;
|
|
14
|
-
};
|
|
15
|
-
position: {
|
|
16
|
-
x: number;
|
|
17
|
-
y: number;
|
|
18
|
-
};
|
|
19
|
-
borderColor?: string | undefined;
|
|
20
|
-
image?: boolean;
|
|
21
|
-
src?: string;
|
|
22
|
-
textColor?: string;
|
|
23
|
-
targetPosition?: 'left' | 'right' | 'top' | 'bottom';
|
|
24
|
-
sourcePosition?: 'left' | 'right' | 'top' | 'bottom';
|
|
25
|
-
borderRadius?: number;
|
|
26
|
-
childNodes?: string[];
|
|
27
|
-
className?: string;
|
|
28
|
-
clickCallback?: Function;
|
|
29
|
-
}
|
|
30
|
-
export interface UserEdgeType {
|
|
31
|
-
id: string;
|
|
32
|
-
source: string;
|
|
33
|
-
target: string;
|
|
34
|
-
sourceAnchorCb?: Function;
|
|
35
|
-
targetAnchorCb?: Function;
|
|
36
|
-
label?: string;
|
|
37
|
-
labelBgColor?: string;
|
|
38
|
-
labelTextColor?: string;
|
|
39
|
-
edgeColor?: string;
|
|
40
|
-
type?: 'straight' | 'smoothstep' | 'step' | 'bezier' | undefined;
|
|
41
|
-
animate?: boolean;
|
|
42
|
-
noHandle?: boolean;
|
|
43
|
-
arrow?: boolean;
|
|
44
|
-
clickCallback?: Function;
|
|
45
|
-
className?: string;
|
|
46
|
-
offset?: number;
|
|
47
|
-
}
|
|
48
|
-
export declare function getD3PositionX(canvasId: string): number;
|
|
49
|
-
export declare function getD3PositionY(canvasId: string): number;
|
|
50
|
-
export declare function getD3Zoom(canvasId: string): number;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { findStore } from '../store/models/store';
|
|
2
|
-
import { get } from 'svelte/store';
|
|
3
|
-
export function getD3PositionX(canvasId) {
|
|
4
|
-
const store = findStore(canvasId);
|
|
5
|
-
const width = get(store.widthStore);
|
|
6
|
-
const x = width / 2 - get(store.d3ZoomParameters).x; // user input is shifted so that x=0, y=0 occurs in the center
|
|
7
|
-
return x;
|
|
8
|
-
}
|
|
9
|
-
export function getD3PositionY(canvasId) {
|
|
10
|
-
const store = findStore(canvasId);
|
|
11
|
-
const height = get(store.heightStore);
|
|
12
|
-
const y = height / 2 - get(store.d3ZoomParameters).y; // user input is shifted so that x=0, y=0 occurs in the center
|
|
13
|
-
return y;
|
|
14
|
-
}
|
|
15
|
-
export function getD3Zoom(canvasId) {
|
|
16
|
-
const store = findStore(canvasId);
|
|
17
|
-
return get(store.d3ZoomParameters).k;
|
|
18
|
-
}
|