Flowfile 0.5.4__py3-none-any.whl → 0.5.6__py3-none-any.whl
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.
- flowfile/__main__.py +94 -1
- flowfile/web/static/assets/{AdminView-f9847d67.js → AdminView-c2c7942b.js} +1 -1
- flowfile/web/static/assets/{CloudConnectionView-faace55b.js → CloudConnectionView-7a3042c6.js} +2 -2
- flowfile/web/static/assets/{CloudStorageReader-d86ecaa7.js → CloudStorageReader-709c4037.js} +8 -8
- flowfile/web/static/assets/{CloudStorageWriter-0f4d9a44.js → CloudStorageWriter-604c51a8.js} +8 -8
- flowfile/web/static/assets/{ColumnActionInput-f4189ae0.js → ColumnActionInput-d63d6746.js} +5 -5
- flowfile/web/static/assets/{ColumnSelector-e66b33da.js → ColumnSelector-0c8cd1cd.js} +1 -1
- flowfile/web/static/assets/ContextMenu-366bf1b4.js +9 -0
- flowfile/web/static/assets/ContextMenu-85cf5b44.js +9 -0
- flowfile/web/static/assets/ContextMenu-9d28ae6d.js +9 -0
- flowfile/web/static/assets/{ContextMenu.vue_vue_type_script_setup_true_lang-a1bd6314.js → ContextMenu.vue_vue_type_script_setup_true_lang-774c517c.js} +1 -1
- flowfile/web/static/assets/{CrossJoin-24694b8f.js → CrossJoin-38e5b99a.js} +9 -9
- flowfile/web/static/assets/{CustomNode-569d45ff.js → CustomNode-76e8f3f5.js} +16 -16
- flowfile/web/static/assets/{DatabaseConnectionSettings-cfc08938.js → DatabaseConnectionSettings-38155669.js} +2 -2
- flowfile/web/static/assets/{DatabaseReader-701feabb.js → DatabaseReader-2e549c8f.js} +11 -11
- flowfile/web/static/assets/{DatabaseView-0482e5b5.js → DatabaseView-dc877c29.js} +2 -2
- flowfile/web/static/assets/{DatabaseWriter-16721989.js → DatabaseWriter-ffb91864.js} +10 -10
- flowfile/web/static/assets/{DesignerView-49abb835.css → DesignerView-71d4e9a1.css} +83 -82
- flowfile/web/static/assets/{DesignerView-f64749fb.js → DesignerView-a4466dab.js} +133 -80
- flowfile/web/static/assets/{DocumentationView-61bd2990.js → DocumentationView-979afc84.js} +1 -1
- flowfile/web/static/assets/{ExploreData-e2735b13.js → ExploreData-e4b92aaf.js} +7 -7
- flowfile/web/static/assets/{ExternalSource-2535c3b2.js → ExternalSource-d08e7227.js} +7 -7
- flowfile/web/static/assets/{Filter-2cdbc93c.js → Filter-7add806d.js} +9 -9
- flowfile/web/static/assets/{Formula-fcda3c2c.js → Formula-36ab24d2.js} +9 -9
- flowfile/web/static/assets/{FuzzyMatch-f8d3b7d3.js → FuzzyMatch-cc01bb04.js} +10 -10
- flowfile/web/static/assets/{GraphSolver-72eaa695.js → GraphSolver-4fb98f3b.js} +8 -8
- flowfile/web/static/assets/{GroupBy-8aa0598b.js → GroupBy-b3c8f429.js} +7 -7
- flowfile/web/static/assets/{Join-e40f0ffa.js → Join-096b7b26.js} +10 -10
- flowfile/web/static/assets/{LoginView-5111c9ae.js → LoginView-c33a246a.js} +1 -1
- flowfile/web/static/assets/{ManualInput-3702e677.css → ManualInput-39111f19.css} +48 -48
- flowfile/web/static/assets/{ManualInput-9b6f3224.js → ManualInput-7307e9b1.js} +55 -13
- flowfile/web/static/assets/{MultiSelect-ef28e19e.js → MultiSelect-14822c48.js} +2 -2
- flowfile/web/static/assets/{MultiSelect.vue_vue_type_script_setup_true_lang-83b3bbfd.js → MultiSelect.vue_vue_type_script_setup_true_lang-90c4d340.js} +1 -1
- flowfile/web/static/assets/{NodeDesigner-d2b7ee2b.js → NodeDesigner-5036c392.js} +3 -3
- flowfile/web/static/assets/{NumericInput-1d789794.js → NumericInput-15cf3b72.js} +2 -2
- flowfile/web/static/assets/{NumericInput.vue_vue_type_script_setup_true_lang-7775f83e.js → NumericInput.vue_vue_type_script_setup_true_lang-91e679d7.js} +1 -1
- flowfile/web/static/assets/{Output-cefef801.js → Output-1f8ed42c.js} +9 -9
- flowfile/web/static/assets/{Pivot-bab1b75b.js → Pivot-0e153f4e.js} +9 -9
- flowfile/web/static/assets/{PivotValidation-e7941f91.js → PivotValidation-5a4f7c79.js} +1 -1
- flowfile/web/static/assets/{PivotValidation-fba09336.js → PivotValidation-81ec2a33.js} +1 -1
- flowfile/web/static/assets/{PolarsCode-740e40fa.js → PolarsCode-a39f15ac.js} +7 -7
- flowfile/web/static/assets/PopOver-ddcfe4f6.js +138 -0
- flowfile/web/static/assets/{Read-225cc63f.js → Read-39b63932.js} +11 -11
- flowfile/web/static/assets/{RecordCount-ffc71eca.js → RecordCount-e9048ccd.js} +6 -6
- flowfile/web/static/assets/{RecordId-a70bb8df.js → RecordId-ad02521d.js} +8 -8
- flowfile/web/static/assets/{SQLQueryComponent-15a421f5.js → SQLQueryComponent-2eeecf0b.js} +1 -1
- flowfile/web/static/assets/{Sample-6c26afc7.js → Sample-9a68c23d.js} +6 -6
- flowfile/web/static/assets/{SecretSelector-ceed9496.js → SecretSelector-2429f35a.js} +2 -2
- flowfile/web/static/assets/{SecretsView-214d255a.js → SecretsView-c6afc915.js} +2 -2
- flowfile/web/static/assets/{Select-8fc29999.js → Select-fcd002b6.js} +9 -9
- flowfile/web/static/assets/{SettingsSection-9f0d1725.js → SettingsSection-5ce15962.js} +1 -1
- flowfile/web/static/assets/{SettingsSection-83090218.js → SettingsSection-c6b1362c.js} +1 -1
- flowfile/web/static/assets/{SettingsSection-3f70e4c3.js → SettingsSection-cebb91d5.js} +1 -1
- flowfile/web/static/assets/{SetupView-3fa0aa03.js → SetupView-2d12e01f.js} +4 -4
- flowfile/web/static/assets/{SetupView-e2da3442.css → SetupView-ec26f76a.css} +38 -38
- flowfile/web/static/assets/{SingleSelect-a4a568cb.js → SingleSelect-b67de4eb.js} +2 -2
- flowfile/web/static/assets/{SingleSelect.vue_vue_type_script_setup_true_lang-c8ebdd33.js → SingleSelect.vue_vue_type_script_setup_true_lang-eedb70eb.js} +1 -1
- flowfile/web/static/assets/{SliderInput-be533e71.js → SliderInput-fd8134ac.js} +1 -1
- flowfile/web/static/assets/{Sort-154dad81.js → Sort-c005a573.js} +7 -7
- flowfile/web/static/assets/{TextInput-454e2bda.js → TextInput-1bb31dab.js} +2 -2
- flowfile/web/static/assets/{TextInput.vue_vue_type_script_setup_true_lang-e86510d0.js → TextInput.vue_vue_type_script_setup_true_lang-a51fe730.js} +1 -1
- flowfile/web/static/assets/{TextToRows-ea73433d.js → TextToRows-4f363753.js} +9 -9
- flowfile/web/static/assets/{ToggleSwitch-9d7b30f1.js → ToggleSwitch-ca0f2e5e.js} +2 -2
- flowfile/web/static/assets/{ToggleSwitch.vue_vue_type_script_setup_true_lang-00f2580e.js → ToggleSwitch.vue_vue_type_script_setup_true_lang-49aa41d8.js} +1 -1
- flowfile/web/static/assets/{UnavailableFields-b72a2c72.js → UnavailableFields-f6147968.js} +2 -2
- flowfile/web/static/assets/{Union-1e44f263.js → Union-c65f17b7.js} +6 -6
- flowfile/web/static/assets/{Unique-a3bc6d0a.js → Unique-a1d96fb2.js} +10 -10
- flowfile/web/static/assets/{Unpivot-e27935fc.js → Unpivot-c2657ff3.js} +8 -8
- flowfile/web/static/assets/{UnpivotValidation-72497680.js → UnpivotValidation-28e29a3b.js} +1 -1
- flowfile/web/static/assets/{VueGraphicWalker-d9ab70a3.js → VueGraphicWalker-2fc3ddd4.js} +1 -1
- flowfile/web/static/assets/{api-a2102880.js → api-df48ec50.js} +1 -1
- flowfile/web/static/assets/{api-f75042b0.js → api-ee542cf7.js} +1 -1
- flowfile/web/static/assets/{dropDown-2798a109.js → dropDown-7576a76a.js} +1 -1
- flowfile/web/static/assets/{fullEditor-cf7d7d93.js → fullEditor-7583bef5.js} +3 -3
- flowfile/web/static/assets/{genericNodeSettings-14eac1c3.js → genericNodeSettings-0155288b.js} +2 -3
- flowfile/web/static/assets/{index-f0a6e5a5.js → index-057d770d.js} +2 -2
- flowfile/web/static/assets/{index-6b367bb5.js → index-aeec439d.js} +1 -1
- flowfile/web/static/assets/{index-387a6f18.js → index-ca6799de.js} +2207 -199
- flowfile/web/static/assets/{index-e96ab018.css → index-d60c9dd4.css} +311 -0
- flowfile/web/static/assets/nodeInput-d478b9ac.js +2 -0
- flowfile/web/static/assets/{outputCsv-3c1757e8.js → outputCsv-c492b15e.js} +3 -3
- flowfile/web/static/assets/outputCsv-cc84e09f.css +2499 -0
- flowfile/web/static/assets/{outputExcel-686e1f48.js → outputExcel-13bfa10f.js} +1 -1
- flowfile/web/static/assets/{outputParquet-df28faa7.js → outputParquet-9be1523a.js} +1 -1
- flowfile/web/static/assets/{readCsv-e37eee21.js → readCsv-5a49a8c9.js} +1 -1
- flowfile/web/static/assets/{readExcel-a13f14bb.js → readExcel-27c30ad8.js} +3 -3
- flowfile/web/static/assets/{readParquet-344cf746.js → readParquet-446bde68.js} +1 -1
- flowfile/web/static/assets/{secrets.api-ae198c5c.js → secrets.api-34431884.js} +1 -1
- flowfile/web/static/assets/{selectDynamic-6b4b0767.js → selectDynamic-5754a2b1.js} +2 -3
- flowfile/web/static/assets/{vue-codemirror.esm-31ba0e0b.js → vue-codemirror.esm-8f46fb36.js} +1 -1
- flowfile/web/static/assets/{vue-content-loader.es-4469c8ff.js → vue-content-loader.es-808fe33a.js} +1 -1
- flowfile/web/static/index.html +2 -2
- {flowfile-0.5.4.dist-info → flowfile-0.5.6.dist-info}/METADATA +1 -1
- {flowfile-0.5.4.dist-info → flowfile-0.5.6.dist-info}/RECORD +99 -99
- flowfile_core/flowfile/flow_data_engine/subprocess_operations/subprocess_operations.py +12 -0
- flowfile_core/main.py +2 -4
- flowfile/web/static/assets/ContextMenu-49463352.js +0 -9
- flowfile/web/static/assets/ContextMenu-dd5f3f25.js +0 -9
- flowfile/web/static/assets/ContextMenu-f709b884.js +0 -9
- flowfile/web/static/assets/PopOver-862d7e28.js +0 -939
- flowfile/web/static/assets/nodeInput-ed2ae8d7.js +0 -2
- flowfile/web/static/assets/outputCsv-b9a072af.css +0 -2499
- {flowfile-0.5.4.dist-info → flowfile-0.5.6.dist-info}/WHEEL +0 -0
- {flowfile-0.5.4.dist-info → flowfile-0.5.6.dist-info}/entry_points.txt +0 -0
- {flowfile-0.5.4.dist-info → flowfile-0.5.6.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,939 +0,0 @@
|
|
|
1
|
-
import { z as defineStore, k as axios, a4 as shallowRef, r as ref, d as defineComponent, an as useCssVars, F as onMounted, o as openBlock, c as createElementBlock, a as createBaseVNode, T as renderSlot, y as createBlock, t as toDisplayString, e as createCommentVNode, a0 as normalizeStyle, n as normalizeClass, ag as Teleport, Z as nextTick, g as _export_sfc } from "./index-387a6f18.js";
|
|
2
|
-
const FLOW_ID_STORAGE_KEY = "last_flow_id";
|
|
3
|
-
const useFlowStore = defineStore("flow", {
|
|
4
|
-
state: () => {
|
|
5
|
-
const savedFlowId = sessionStorage.getItem(FLOW_ID_STORAGE_KEY);
|
|
6
|
-
const initialFlowId = savedFlowId ? parseInt(savedFlowId) : -1;
|
|
7
|
-
return {
|
|
8
|
-
flowId: initialFlowId,
|
|
9
|
-
vueFlowInstance: null
|
|
10
|
-
};
|
|
11
|
-
},
|
|
12
|
-
getters: {
|
|
13
|
-
currentFlowId: (state) => state.flowId
|
|
14
|
-
},
|
|
15
|
-
actions: {
|
|
16
|
-
setFlowId(flowId) {
|
|
17
|
-
this.flowId = flowId;
|
|
18
|
-
try {
|
|
19
|
-
sessionStorage.setItem(FLOW_ID_STORAGE_KEY, flowId.toString());
|
|
20
|
-
} catch (error) {
|
|
21
|
-
console.warn("Failed to store flow ID in session storage:", error);
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
setVueFlowInstance(vueFlowInstance) {
|
|
25
|
-
this.vueFlowInstance = vueFlowInstance;
|
|
26
|
-
},
|
|
27
|
-
getVueFlowInstance() {
|
|
28
|
-
return this.vueFlowInstance;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
class NodeApi {
|
|
33
|
-
/**
|
|
34
|
-
* Get node data for a specific node
|
|
35
|
-
*/
|
|
36
|
-
static async getNodeData(flowId, nodeId) {
|
|
37
|
-
const response = await axios.get("/node", {
|
|
38
|
-
params: { flow_id: flowId, node_id: nodeId },
|
|
39
|
-
headers: { accept: "application/json" }
|
|
40
|
-
});
|
|
41
|
-
return response.data;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Get table example/preview data for a node
|
|
45
|
-
*/
|
|
46
|
-
static async getTableExample(flowId, nodeId) {
|
|
47
|
-
const response = await axios.get("/node/data", {
|
|
48
|
-
params: { flow_id: flowId, node_id: nodeId },
|
|
49
|
-
headers: { accept: "application/json" }
|
|
50
|
-
});
|
|
51
|
-
return response.data;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Get downstream node IDs for a given node
|
|
55
|
-
*/
|
|
56
|
-
static async getDownstreamNodeIds(flowId, nodeId) {
|
|
57
|
-
const response = await axios.get("/node/downstream_node_ids", {
|
|
58
|
-
params: { flow_id: flowId, node_id: nodeId },
|
|
59
|
-
headers: { accept: "application/json" }
|
|
60
|
-
});
|
|
61
|
-
return response.data;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Get node description
|
|
65
|
-
*/
|
|
66
|
-
static async getNodeDescription(flowId, nodeId) {
|
|
67
|
-
const response = await axios.get("/node/description", {
|
|
68
|
-
params: { node_id: nodeId, flow_id: flowId }
|
|
69
|
-
});
|
|
70
|
-
return response.data;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Set/update node description
|
|
74
|
-
*/
|
|
75
|
-
static async setNodeDescription(flowId, nodeId, description) {
|
|
76
|
-
const response = await axios.post("/node/description/", JSON.stringify(description), {
|
|
77
|
-
params: { flow_id: flowId, node_id: nodeId },
|
|
78
|
-
headers: { "Content-Type": "application/json" }
|
|
79
|
-
});
|
|
80
|
-
return response.data;
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Update node settings directly
|
|
84
|
-
*/
|
|
85
|
-
static async updateSettingsDirectly(nodeType, inputData) {
|
|
86
|
-
const response = await axios.post("/update_settings/", inputData, {
|
|
87
|
-
params: { node_type: nodeType }
|
|
88
|
-
});
|
|
89
|
-
return response.data;
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Update user-defined node settings
|
|
93
|
-
*/
|
|
94
|
-
static async updateUserDefinedSettings(nodeType, inputData) {
|
|
95
|
-
const response = await axios.post(
|
|
96
|
-
"/user_defined_components/update_user_defined_node/",
|
|
97
|
-
inputData,
|
|
98
|
-
{
|
|
99
|
-
params: { node_type: nodeType }
|
|
100
|
-
}
|
|
101
|
-
);
|
|
102
|
-
return response.data;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
class ExpressionsApi {
|
|
106
|
-
/**
|
|
107
|
-
* Fetch all available expressions overview/documentation
|
|
108
|
-
*/
|
|
109
|
-
static async getExpressionsOverview() {
|
|
110
|
-
const response = await axios.get("/editor/expression_doc");
|
|
111
|
-
return response.data;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
const useResultsStore = defineStore("results", {
|
|
115
|
-
state: () => ({
|
|
116
|
-
runResults: {},
|
|
117
|
-
runNodeResults: {},
|
|
118
|
-
runNodeValidations: {},
|
|
119
|
-
currentRunResult: null,
|
|
120
|
-
resultVersion: 0
|
|
121
|
-
}),
|
|
122
|
-
getters: {
|
|
123
|
-
getCurrentRunResult: (state) => state.currentRunResult
|
|
124
|
-
},
|
|
125
|
-
actions: {
|
|
126
|
-
// ========== Result Cache Management ==========
|
|
127
|
-
initializeResultCache(flowId) {
|
|
128
|
-
if (!this.runNodeResults[flowId]) {
|
|
129
|
-
this.runNodeResults[flowId] = {};
|
|
130
|
-
}
|
|
131
|
-
},
|
|
132
|
-
setNodeResult(flowId, nodeId, result) {
|
|
133
|
-
this.initializeResultCache(flowId);
|
|
134
|
-
this.runNodeResults[flowId][nodeId] = result;
|
|
135
|
-
},
|
|
136
|
-
getNodeResult(flowId, nodeId) {
|
|
137
|
-
var _a;
|
|
138
|
-
return (_a = this.runNodeResults[flowId]) == null ? void 0 : _a[nodeId];
|
|
139
|
-
},
|
|
140
|
-
resetNodeResult() {
|
|
141
|
-
console.log("Clearing node results");
|
|
142
|
-
this.runNodeResults = {};
|
|
143
|
-
},
|
|
144
|
-
clearFlowResults(flowId) {
|
|
145
|
-
if (this.runNodeResults[flowId]) {
|
|
146
|
-
delete this.runNodeResults[flowId];
|
|
147
|
-
}
|
|
148
|
-
},
|
|
149
|
-
// ========== Validation Cache Management ==========
|
|
150
|
-
initializeValidationCache(flowId) {
|
|
151
|
-
if (!this.runNodeValidations[flowId]) {
|
|
152
|
-
this.runNodeValidations[flowId] = {};
|
|
153
|
-
}
|
|
154
|
-
},
|
|
155
|
-
setNodeValidation(flowId, nodeId, nodeValidationInput) {
|
|
156
|
-
if (typeof nodeId === "string") {
|
|
157
|
-
nodeId = parseInt(nodeId);
|
|
158
|
-
}
|
|
159
|
-
this.initializeValidationCache(flowId);
|
|
160
|
-
const nodeValidation = {
|
|
161
|
-
...nodeValidationInput,
|
|
162
|
-
validationTime: Date.now() / 1e3
|
|
163
|
-
};
|
|
164
|
-
this.runNodeValidations[flowId][nodeId] = nodeValidation;
|
|
165
|
-
},
|
|
166
|
-
resetNodeValidation() {
|
|
167
|
-
this.runNodeValidations = {};
|
|
168
|
-
},
|
|
169
|
-
getNodeValidation(flowId, nodeId) {
|
|
170
|
-
var _a;
|
|
171
|
-
return ((_a = this.runNodeValidations[flowId]) == null ? void 0 : _a[nodeId]) || {
|
|
172
|
-
isValid: true,
|
|
173
|
-
error: "",
|
|
174
|
-
validationTime: 0
|
|
175
|
-
};
|
|
176
|
-
},
|
|
177
|
-
// ========== Run Results Management ==========
|
|
178
|
-
insertRunResult(runResult) {
|
|
179
|
-
this.currentRunResult = runResult;
|
|
180
|
-
this.runResults[runResult.flow_id] = runResult;
|
|
181
|
-
this.initializeResultCache(runResult.flow_id);
|
|
182
|
-
runResult.node_step_result.forEach((nodeResult) => {
|
|
183
|
-
this.runNodeResults[runResult.flow_id][nodeResult.node_id] = nodeResult;
|
|
184
|
-
});
|
|
185
|
-
this.resultVersion++;
|
|
186
|
-
},
|
|
187
|
-
resetRunResults() {
|
|
188
|
-
this.runNodeResults = {};
|
|
189
|
-
this.runResults = {};
|
|
190
|
-
this.currentRunResult = null;
|
|
191
|
-
},
|
|
192
|
-
getRunResult(flowId) {
|
|
193
|
-
return this.runResults[flowId] || null;
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
});
|
|
197
|
-
const useEditorStore = defineStore("editor", {
|
|
198
|
-
state: () => ({
|
|
199
|
-
// Drawer state
|
|
200
|
-
isDrawerOpen: false,
|
|
201
|
-
isAnalysisOpen: false,
|
|
202
|
-
activeDrawerComponent: shallowRef(null),
|
|
203
|
-
drawerProps: ref({}),
|
|
204
|
-
drawCloseFunction: null,
|
|
205
|
-
// Editor state
|
|
206
|
-
initialEditorData: "",
|
|
207
|
-
inputCode: "",
|
|
208
|
-
// Log viewer state
|
|
209
|
-
hideLogViewerForThisRun: false,
|
|
210
|
-
isShowingLogViewer: false,
|
|
211
|
-
isStreamingLogs: false,
|
|
212
|
-
displayLogViewer: true,
|
|
213
|
-
// Code generator state
|
|
214
|
-
showCodeGenerator: false,
|
|
215
|
-
// Run state
|
|
216
|
-
isRunning: false,
|
|
217
|
-
showFlowResult: false,
|
|
218
|
-
tableVisible: false
|
|
219
|
-
}),
|
|
220
|
-
getters: {
|
|
221
|
-
drawerOpen() {
|
|
222
|
-
return !!this.activeDrawerComponent;
|
|
223
|
-
}
|
|
224
|
-
},
|
|
225
|
-
actions: {
|
|
226
|
-
// ========== Drawer Management ==========
|
|
227
|
-
async executeDrawCloseFunction() {
|
|
228
|
-
console.log("Executing draw close function");
|
|
229
|
-
if (this.drawCloseFunction) {
|
|
230
|
-
this.drawCloseFunction();
|
|
231
|
-
}
|
|
232
|
-
},
|
|
233
|
-
setCloseFunction(f) {
|
|
234
|
-
this.drawCloseFunction = f;
|
|
235
|
-
},
|
|
236
|
-
openDrawer(component, nodeTitleInfo, props = {}) {
|
|
237
|
-
this.activeDrawerComponent = component;
|
|
238
|
-
this.drawerProps = { ...nodeTitleInfo, ...props };
|
|
239
|
-
this.isDrawerOpen = true;
|
|
240
|
-
},
|
|
241
|
-
closeDrawer() {
|
|
242
|
-
this.activeDrawerComponent = null;
|
|
243
|
-
if (this.drawCloseFunction)
|
|
244
|
-
;
|
|
245
|
-
},
|
|
246
|
-
toggleDrawer() {
|
|
247
|
-
if (this.isDrawerOpen && this.drawCloseFunction) {
|
|
248
|
-
this.pushNodeData();
|
|
249
|
-
}
|
|
250
|
-
this.isDrawerOpen = !this.isDrawerOpen;
|
|
251
|
-
},
|
|
252
|
-
pushNodeData() {
|
|
253
|
-
if (this.drawCloseFunction && !this.isRunning) {
|
|
254
|
-
this.drawCloseFunction();
|
|
255
|
-
this.drawCloseFunction = null;
|
|
256
|
-
}
|
|
257
|
-
},
|
|
258
|
-
openAnalysisDrawer(closeFunction) {
|
|
259
|
-
console.log("openAnalysisDrawer in editor-store.ts");
|
|
260
|
-
if (this.isAnalysisOpen) {
|
|
261
|
-
this.pushNodeData();
|
|
262
|
-
}
|
|
263
|
-
if (closeFunction) {
|
|
264
|
-
this.drawCloseFunction = closeFunction;
|
|
265
|
-
}
|
|
266
|
-
this.isAnalysisOpen = true;
|
|
267
|
-
},
|
|
268
|
-
closeAnalysisDrawer() {
|
|
269
|
-
this.isAnalysisOpen = false;
|
|
270
|
-
if (this.drawCloseFunction) {
|
|
271
|
-
console.log("closeDrawer in editor-store.ts");
|
|
272
|
-
this.pushNodeData();
|
|
273
|
-
}
|
|
274
|
-
},
|
|
275
|
-
// ========== Code Generator ==========
|
|
276
|
-
toggleCodeGenerator() {
|
|
277
|
-
this.showCodeGenerator = !this.showCodeGenerator;
|
|
278
|
-
},
|
|
279
|
-
setCodeGeneratorVisibility(visible) {
|
|
280
|
-
this.showCodeGenerator = visible;
|
|
281
|
-
},
|
|
282
|
-
// ========== Log Viewer ==========
|
|
283
|
-
showLogViewer() {
|
|
284
|
-
console.log("triggered show log viewer");
|
|
285
|
-
this.isShowingLogViewer = this.displayLogViewer;
|
|
286
|
-
},
|
|
287
|
-
hideLogViewer() {
|
|
288
|
-
this.isShowingLogViewer = false;
|
|
289
|
-
},
|
|
290
|
-
toggleLogViewer() {
|
|
291
|
-
console.log("triggered toggle log viewer");
|
|
292
|
-
this.isShowingLogViewer = !this.isShowingLogViewer;
|
|
293
|
-
},
|
|
294
|
-
updateLogViewerVisibility(showResult) {
|
|
295
|
-
this.isShowingLogViewer = this.displayLogViewer && showResult && !this.hideLogViewerForThisRun;
|
|
296
|
-
},
|
|
297
|
-
// ========== Editor Data ==========
|
|
298
|
-
setInitialEditorData(editorDataString) {
|
|
299
|
-
this.initialEditorData = editorDataString;
|
|
300
|
-
},
|
|
301
|
-
getInitialEditorData() {
|
|
302
|
-
return this.initialEditorData;
|
|
303
|
-
},
|
|
304
|
-
setInputCode(newCode) {
|
|
305
|
-
this.inputCode = newCode;
|
|
306
|
-
},
|
|
307
|
-
// ========== Flow Result Display ==========
|
|
308
|
-
setShowFlowResult(show) {
|
|
309
|
-
this.showFlowResult = show;
|
|
310
|
-
},
|
|
311
|
-
setTableVisible(visible) {
|
|
312
|
-
this.tableVisible = visible;
|
|
313
|
-
},
|
|
314
|
-
setIsRunning(running) {
|
|
315
|
-
this.isRunning = running;
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
});
|
|
319
|
-
const useNodeStore = defineStore("node", {
|
|
320
|
-
state: () => ({
|
|
321
|
-
nodeId: -1,
|
|
322
|
-
previousNodeId: -1,
|
|
323
|
-
nodeValidateFuncs: /* @__PURE__ */ new Map(),
|
|
324
|
-
nodeData: null,
|
|
325
|
-
nodeExists: false,
|
|
326
|
-
isLoaded: false,
|
|
327
|
-
sizeDataPreview: 300,
|
|
328
|
-
dataTypes: ["String", "Datetime", "Int64", "Int32", "Int16", "Float64", "Float32", "Boolean"],
|
|
329
|
-
nodeDescriptions: {},
|
|
330
|
-
allExpressions: null
|
|
331
|
-
}),
|
|
332
|
-
getters: {
|
|
333
|
-
currentNodeId: (state) => state.nodeId,
|
|
334
|
-
currentNodeData: (state) => state.nodeData,
|
|
335
|
-
// Backward compatibility: read-only getters (use snake_case for legacy)
|
|
336
|
-
/** @deprecated Use `nodeId` (camelCase) instead. This getter is read-only. */
|
|
337
|
-
node_id: (state) => state.nodeId,
|
|
338
|
-
/** @deprecated Use `isLoaded` (camelCase) instead. This getter is read-only. */
|
|
339
|
-
is_loaded: (state) => state.isLoaded,
|
|
340
|
-
// Proxy getters to other stores
|
|
341
|
-
/** @deprecated Use `useFlowStore().flowId` directly. This getter is read-only. */
|
|
342
|
-
flow_id() {
|
|
343
|
-
return useFlowStore().flowId;
|
|
344
|
-
},
|
|
345
|
-
/** @deprecated Use `useFlowStore().vueFlowInstance` directly. This getter is read-only. */
|
|
346
|
-
vueFlowInstance() {
|
|
347
|
-
return useFlowStore().vueFlowInstance;
|
|
348
|
-
},
|
|
349
|
-
/** @deprecated Use `useEditorStore().isRunning` directly. This getter is read-only. */
|
|
350
|
-
isRunning() {
|
|
351
|
-
var _a;
|
|
352
|
-
return ((_a = useEditorStore()) == null ? void 0 : _a.isRunning) || false;
|
|
353
|
-
},
|
|
354
|
-
/** @deprecated Use `useEditorStore().isDrawerOpen` directly. This getter is read-only. */
|
|
355
|
-
isDrawerOpen() {
|
|
356
|
-
var _a;
|
|
357
|
-
return ((_a = useEditorStore()) == null ? void 0 : _a.isDrawerOpen) || false;
|
|
358
|
-
},
|
|
359
|
-
/** @deprecated Use `useEditorStore().activeDrawerComponent` directly. This getter is read-only. */
|
|
360
|
-
activeDrawerComponent() {
|
|
361
|
-
var _a;
|
|
362
|
-
return (_a = useEditorStore()) == null ? void 0 : _a.activeDrawerComponent;
|
|
363
|
-
},
|
|
364
|
-
/** @deprecated Use `useEditorStore().drawerProps` directly. This getter is read-only. */
|
|
365
|
-
drawerProps() {
|
|
366
|
-
var _a;
|
|
367
|
-
return ((_a = useEditorStore()) == null ? void 0 : _a.drawerProps) || {};
|
|
368
|
-
},
|
|
369
|
-
/** @deprecated Use `useEditorStore().showCodeGenerator` directly. This getter is read-only. */
|
|
370
|
-
showCodeGenerator() {
|
|
371
|
-
var _a;
|
|
372
|
-
return ((_a = useEditorStore()) == null ? void 0 : _a.showCodeGenerator) || false;
|
|
373
|
-
},
|
|
374
|
-
/** @deprecated Use `useEditorStore().showFlowResult` directly. This getter is read-only. */
|
|
375
|
-
showFlowResult() {
|
|
376
|
-
var _a;
|
|
377
|
-
return ((_a = useEditorStore()) == null ? void 0 : _a.showFlowResult) || false;
|
|
378
|
-
},
|
|
379
|
-
/** @deprecated Use `useEditorStore().isShowingLogViewer` directly. This getter is read-only. */
|
|
380
|
-
isShowingLogViewer() {
|
|
381
|
-
var _a;
|
|
382
|
-
return ((_a = useEditorStore()) == null ? void 0 : _a.isShowingLogViewer) || false;
|
|
383
|
-
},
|
|
384
|
-
/** @deprecated Use `useEditorStore().hideLogViewerForThisRun` directly. This getter is read-only. */
|
|
385
|
-
hideLogViewerForThisRun() {
|
|
386
|
-
var _a;
|
|
387
|
-
return ((_a = useEditorStore()) == null ? void 0 : _a.hideLogViewerForThisRun) || false;
|
|
388
|
-
},
|
|
389
|
-
/** @deprecated Use `useEditorStore().displayLogViewer` directly. This getter is read-only. */
|
|
390
|
-
displayLogViewer() {
|
|
391
|
-
const editorStore = useEditorStore();
|
|
392
|
-
return (editorStore == null ? void 0 : editorStore.displayLogViewer) !== void 0 ? editorStore.displayLogViewer : true;
|
|
393
|
-
},
|
|
394
|
-
/** @deprecated Use `useEditorStore().inputCode` directly. This getter is read-only. */
|
|
395
|
-
inputCode() {
|
|
396
|
-
var _a;
|
|
397
|
-
return ((_a = useEditorStore()) == null ? void 0 : _a.inputCode) || "";
|
|
398
|
-
},
|
|
399
|
-
/** @deprecated Use `useResultsStore().currentRunResult` directly. This getter is read-only. */
|
|
400
|
-
currentRunResult() {
|
|
401
|
-
var _a;
|
|
402
|
-
return (_a = useResultsStore()) == null ? void 0 : _a.currentRunResult;
|
|
403
|
-
},
|
|
404
|
-
/** @deprecated Use `useResultsStore().runResults` directly. This getter is read-only. */
|
|
405
|
-
runResults() {
|
|
406
|
-
var _a;
|
|
407
|
-
return ((_a = useResultsStore()) == null ? void 0 : _a.runResults) || {};
|
|
408
|
-
}
|
|
409
|
-
},
|
|
410
|
-
actions: {
|
|
411
|
-
// ========== Node Data Management ==========
|
|
412
|
-
async getNodeData(nodeId, useCache = true) {
|
|
413
|
-
const flowStore = useFlowStore();
|
|
414
|
-
if (this.nodeId === nodeId && useCache) {
|
|
415
|
-
if (this.nodeData) {
|
|
416
|
-
this.isLoaded = true;
|
|
417
|
-
return this.nodeData;
|
|
418
|
-
}
|
|
419
|
-
}
|
|
420
|
-
try {
|
|
421
|
-
console.log("Getting node data");
|
|
422
|
-
const data = await NodeApi.getNodeData(flowStore.flowId, nodeId);
|
|
423
|
-
this.nodeData = data;
|
|
424
|
-
this.isLoaded = true;
|
|
425
|
-
this.nodeExists = true;
|
|
426
|
-
return this.nodeData;
|
|
427
|
-
} catch (error) {
|
|
428
|
-
console.error("Error fetching node data:", error);
|
|
429
|
-
this.nodeData = null;
|
|
430
|
-
this.isLoaded = false;
|
|
431
|
-
this.nodeExists = false;
|
|
432
|
-
return null;
|
|
433
|
-
}
|
|
434
|
-
},
|
|
435
|
-
async reloadCurrentNodeData() {
|
|
436
|
-
return this.getNodeData(this.nodeId, false);
|
|
437
|
-
},
|
|
438
|
-
getCurrentNodeData() {
|
|
439
|
-
return this.nodeData;
|
|
440
|
-
},
|
|
441
|
-
async getTableExample(flowId, nodeId) {
|
|
442
|
-
try {
|
|
443
|
-
return await NodeApi.getTableExample(flowId, nodeId);
|
|
444
|
-
} catch (error) {
|
|
445
|
-
console.error("Error fetching table example:", error);
|
|
446
|
-
return null;
|
|
447
|
-
}
|
|
448
|
-
},
|
|
449
|
-
// ========== Node ID Management ==========
|
|
450
|
-
setFlowIdAndNodeId(flowId, nodeId) {
|
|
451
|
-
const flowStore = useFlowStore();
|
|
452
|
-
if (this.nodeId === nodeId && flowStore.flowId === flowId) {
|
|
453
|
-
return;
|
|
454
|
-
}
|
|
455
|
-
console.log("Automatically pushing the node data");
|
|
456
|
-
if (flowStore.flowId !== flowId) {
|
|
457
|
-
flowStore.setFlowId(flowId);
|
|
458
|
-
}
|
|
459
|
-
this.nodeId = nodeId;
|
|
460
|
-
},
|
|
461
|
-
doReset() {
|
|
462
|
-
this.isLoaded = false;
|
|
463
|
-
},
|
|
464
|
-
// ========== Node Validation ==========
|
|
465
|
-
setNodeValidateFunc(nodeId, func) {
|
|
466
|
-
if (typeof nodeId === "string") {
|
|
467
|
-
nodeId = parseInt(nodeId);
|
|
468
|
-
}
|
|
469
|
-
this.nodeValidateFuncs.set(nodeId, func);
|
|
470
|
-
},
|
|
471
|
-
async validateNode(nodeId) {
|
|
472
|
-
if (typeof nodeId === "string") {
|
|
473
|
-
nodeId = parseInt(nodeId);
|
|
474
|
-
}
|
|
475
|
-
const func = this.nodeValidateFuncs.get(nodeId);
|
|
476
|
-
if (func) {
|
|
477
|
-
func();
|
|
478
|
-
}
|
|
479
|
-
},
|
|
480
|
-
// ========== Node Descriptions ==========
|
|
481
|
-
initializeDescriptionCache(flowId) {
|
|
482
|
-
if (!this.nodeDescriptions[flowId]) {
|
|
483
|
-
this.nodeDescriptions[flowId] = {};
|
|
484
|
-
}
|
|
485
|
-
},
|
|
486
|
-
cacheNodeDescriptionDict(flowId, nodeId, description) {
|
|
487
|
-
this.initializeDescriptionCache(flowId);
|
|
488
|
-
this.nodeDescriptions[flowId][nodeId] = description;
|
|
489
|
-
if (this.nodeData && this.nodeData.node_id === nodeId && this.nodeData.setting_input) {
|
|
490
|
-
this.nodeData.setting_input.description = description;
|
|
491
|
-
}
|
|
492
|
-
},
|
|
493
|
-
clearNodeDescriptionCache(flowId, nodeId) {
|
|
494
|
-
if (this.nodeDescriptions[flowId] && this.nodeDescriptions[flowId][nodeId]) {
|
|
495
|
-
delete this.nodeDescriptions[flowId][nodeId];
|
|
496
|
-
}
|
|
497
|
-
},
|
|
498
|
-
clearFlowDescriptionCache(flowId) {
|
|
499
|
-
if (this.nodeDescriptions[flowId]) {
|
|
500
|
-
delete this.nodeDescriptions[flowId];
|
|
501
|
-
}
|
|
502
|
-
},
|
|
503
|
-
clearAllDescriptionCaches() {
|
|
504
|
-
this.nodeDescriptions = {};
|
|
505
|
-
},
|
|
506
|
-
async getNodeDescription(nodeId, forceRefresh = false) {
|
|
507
|
-
var _a, _b;
|
|
508
|
-
const flowStore = useFlowStore();
|
|
509
|
-
this.initializeDescriptionCache(flowStore.flowId);
|
|
510
|
-
if (!forceRefresh && ((_a = this.nodeDescriptions[flowStore.flowId]) == null ? void 0 : _a[nodeId])) {
|
|
511
|
-
return this.nodeDescriptions[flowStore.flowId][nodeId];
|
|
512
|
-
}
|
|
513
|
-
try {
|
|
514
|
-
const description = await NodeApi.getNodeDescription(flowStore.flowId, nodeId);
|
|
515
|
-
this.cacheNodeDescriptionDict(flowStore.flowId, nodeId, description);
|
|
516
|
-
return description;
|
|
517
|
-
} catch (error) {
|
|
518
|
-
console.info("Error fetching node description:", error);
|
|
519
|
-
if ((_b = this.nodeDescriptions[flowStore.flowId]) == null ? void 0 : _b[nodeId]) {
|
|
520
|
-
console.warn("Using cached description due to API error");
|
|
521
|
-
return this.nodeDescriptions[flowStore.flowId][nodeId];
|
|
522
|
-
}
|
|
523
|
-
return "";
|
|
524
|
-
}
|
|
525
|
-
},
|
|
526
|
-
async setNodeDescription(nodeId, description) {
|
|
527
|
-
const flowStore = useFlowStore();
|
|
528
|
-
try {
|
|
529
|
-
this.cacheNodeDescriptionDict(flowStore.flowId, nodeId, description);
|
|
530
|
-
const result = await NodeApi.setNodeDescription(flowStore.flowId, nodeId, description);
|
|
531
|
-
if (result === true) {
|
|
532
|
-
console.log("Description updated successfully");
|
|
533
|
-
} else {
|
|
534
|
-
console.warn("Unexpected response:", result);
|
|
535
|
-
}
|
|
536
|
-
} catch (error) {
|
|
537
|
-
if (error.response) {
|
|
538
|
-
console.error("API error:", error.response.data.message);
|
|
539
|
-
} else if (error.request) {
|
|
540
|
-
console.error("The request was made but no response was received");
|
|
541
|
-
} else {
|
|
542
|
-
console.error("Error", error.message);
|
|
543
|
-
}
|
|
544
|
-
throw error;
|
|
545
|
-
}
|
|
546
|
-
},
|
|
547
|
-
updateNodeDescription(nodeId, description) {
|
|
548
|
-
const flowStore = useFlowStore();
|
|
549
|
-
this.cacheNodeDescriptionDict(flowStore.flowId, nodeId, description);
|
|
550
|
-
},
|
|
551
|
-
// ========== Node Settings Updates ==========
|
|
552
|
-
async updateSettingsDirectly(inputData) {
|
|
553
|
-
var _a, _b;
|
|
554
|
-
const flowStore = useFlowStore();
|
|
555
|
-
try {
|
|
556
|
-
const node = (_a = flowStore.vueFlowInstance) == null ? void 0 : _a.findNode(String(inputData.node_id));
|
|
557
|
-
inputData.pos_x = node.position.x;
|
|
558
|
-
inputData.pos_y = node.position.y;
|
|
559
|
-
const response = await NodeApi.updateSettingsDirectly(
|
|
560
|
-
node.data.nodeTemplate.item,
|
|
561
|
-
inputData
|
|
562
|
-
);
|
|
563
|
-
const downstreamNodeIds = await NodeApi.getDownstreamNodeIds(
|
|
564
|
-
flowStore.flowId,
|
|
565
|
-
inputData.node_id
|
|
566
|
-
);
|
|
567
|
-
downstreamNodeIds.map((nodeId) => {
|
|
568
|
-
this.validateNode(nodeId);
|
|
569
|
-
});
|
|
570
|
-
return response;
|
|
571
|
-
} catch (error) {
|
|
572
|
-
console.error("Error updating settings directly:", (_b = error.response) == null ? void 0 : _b.data);
|
|
573
|
-
throw error;
|
|
574
|
-
}
|
|
575
|
-
},
|
|
576
|
-
async updateUserDefinedSettings(inputData) {
|
|
577
|
-
var _a, _b;
|
|
578
|
-
const flowStore = useFlowStore();
|
|
579
|
-
try {
|
|
580
|
-
const node = (_a = flowStore.vueFlowInstance) == null ? void 0 : _a.findNode(String(inputData.value.node_id));
|
|
581
|
-
const nodeType = node.data.nodeTemplate.item;
|
|
582
|
-
inputData.value.pos_x = node.position.x;
|
|
583
|
-
inputData.value.pos_y = node.position.y;
|
|
584
|
-
const response = await NodeApi.updateUserDefinedSettings(nodeType, inputData.value);
|
|
585
|
-
const downstreamNodeIds = await NodeApi.getDownstreamNodeIds(
|
|
586
|
-
flowStore.flowId,
|
|
587
|
-
inputData.value.node_id
|
|
588
|
-
);
|
|
589
|
-
downstreamNodeIds.map((nodeId) => {
|
|
590
|
-
this.validateNode(nodeId);
|
|
591
|
-
});
|
|
592
|
-
return response;
|
|
593
|
-
} catch (error) {
|
|
594
|
-
console.error("Error updating settings:", (_b = error.response) == null ? void 0 : _b.data);
|
|
595
|
-
throw error;
|
|
596
|
-
}
|
|
597
|
-
},
|
|
598
|
-
async updateSettings(inputData, inputNodeType) {
|
|
599
|
-
var _a, _b;
|
|
600
|
-
const flowStore = useFlowStore();
|
|
601
|
-
try {
|
|
602
|
-
const node = (_a = flowStore.vueFlowInstance) == null ? void 0 : _a.findNode(String(inputData.value.node_id));
|
|
603
|
-
const nodeType = inputNodeType ?? node.data.nodeTemplate.item;
|
|
604
|
-
inputData.value.pos_x = node.position.x;
|
|
605
|
-
inputData.value.pos_y = node.position.y;
|
|
606
|
-
const response = await NodeApi.updateSettingsDirectly(nodeType, inputData.value);
|
|
607
|
-
const downstreamNodeIds = await NodeApi.getDownstreamNodeIds(
|
|
608
|
-
flowStore.flowId,
|
|
609
|
-
inputData.value.node_id
|
|
610
|
-
);
|
|
611
|
-
downstreamNodeIds.map((nodeId) => {
|
|
612
|
-
this.validateNode(nodeId);
|
|
613
|
-
});
|
|
614
|
-
return response;
|
|
615
|
-
} catch (error) {
|
|
616
|
-
console.error("Error updating settings:", (_b = error.response) == null ? void 0 : _b.data);
|
|
617
|
-
throw error;
|
|
618
|
-
}
|
|
619
|
-
},
|
|
620
|
-
// ========== Expressions ==========
|
|
621
|
-
async fetchExpressionsOverview() {
|
|
622
|
-
try {
|
|
623
|
-
const expressions = await ExpressionsApi.getExpressionsOverview();
|
|
624
|
-
this.allExpressions = expressions;
|
|
625
|
-
return this.allExpressions;
|
|
626
|
-
} catch (error) {
|
|
627
|
-
console.error("Error fetching expressions overview:", error);
|
|
628
|
-
return [];
|
|
629
|
-
}
|
|
630
|
-
},
|
|
631
|
-
async getExpressionsOverview() {
|
|
632
|
-
if (this.allExpressions) {
|
|
633
|
-
return this.allExpressions;
|
|
634
|
-
} else {
|
|
635
|
-
return await this.fetchExpressionsOverview();
|
|
636
|
-
}
|
|
637
|
-
},
|
|
638
|
-
// ========== Utilities ==========
|
|
639
|
-
getDataTypes() {
|
|
640
|
-
return this.dataTypes;
|
|
641
|
-
},
|
|
642
|
-
getSizeDataPreview() {
|
|
643
|
-
return this.sizeDataPreview;
|
|
644
|
-
},
|
|
645
|
-
setSizeDataPreview(newHeight) {
|
|
646
|
-
this.sizeDataPreview = newHeight;
|
|
647
|
-
},
|
|
648
|
-
getEditorNodeData() {
|
|
649
|
-
var _a;
|
|
650
|
-
const flowStore = useFlowStore();
|
|
651
|
-
if (this.nodeId) {
|
|
652
|
-
return (_a = flowStore.vueFlowInstance) == null ? void 0 : _a.findNode(String(this.nodeId));
|
|
653
|
-
}
|
|
654
|
-
return null;
|
|
655
|
-
},
|
|
656
|
-
// ========== Backward Compatibility Actions (Proxy to other stores) ==========
|
|
657
|
-
/** @deprecated Use `useFlowStore().setFlowId()` directly instead. */
|
|
658
|
-
setFlowId(flowId) {
|
|
659
|
-
const flowStore = useFlowStore();
|
|
660
|
-
flowStore.setFlowId(flowId);
|
|
661
|
-
},
|
|
662
|
-
/** @deprecated Use `useFlowStore().setVueFlowInstance()` directly instead. */
|
|
663
|
-
setVueFlowInstance(vueFlowInstance) {
|
|
664
|
-
const flowStore = useFlowStore();
|
|
665
|
-
flowStore.setVueFlowInstance(vueFlowInstance);
|
|
666
|
-
},
|
|
667
|
-
/** @deprecated Use `useFlowStore().getVueFlowInstance()` directly instead. */
|
|
668
|
-
getVueFlowInstance() {
|
|
669
|
-
const flowStore = useFlowStore();
|
|
670
|
-
return flowStore.getVueFlowInstance();
|
|
671
|
-
},
|
|
672
|
-
/** @deprecated Use `useResultsStore().setNodeResult()` directly instead. */
|
|
673
|
-
setNodeResult(nodeId, result) {
|
|
674
|
-
const flowStore = useFlowStore();
|
|
675
|
-
const resultsStore = useResultsStore();
|
|
676
|
-
resultsStore.setNodeResult(flowStore.flowId, nodeId, result);
|
|
677
|
-
},
|
|
678
|
-
/** @deprecated Use `useResultsStore().getNodeResult()` directly instead. */
|
|
679
|
-
getNodeResult(nodeId) {
|
|
680
|
-
const flowStore = useFlowStore();
|
|
681
|
-
const resultsStore = useResultsStore();
|
|
682
|
-
return resultsStore.getNodeResult(flowStore.flowId, nodeId);
|
|
683
|
-
},
|
|
684
|
-
/** @deprecated Use `useResultsStore().resetNodeResult()` directly instead. */
|
|
685
|
-
resetNodeResult() {
|
|
686
|
-
const resultsStore = useResultsStore();
|
|
687
|
-
resultsStore.resetNodeResult();
|
|
688
|
-
},
|
|
689
|
-
/** @deprecated Use `useResultsStore().clearFlowResults()` directly instead. */
|
|
690
|
-
clearFlowResults(flowId) {
|
|
691
|
-
const resultsStore = useResultsStore();
|
|
692
|
-
resultsStore.clearFlowResults(flowId);
|
|
693
|
-
},
|
|
694
|
-
/** @deprecated Use `useResultsStore().setNodeValidation()` directly instead. */
|
|
695
|
-
setNodeValidation(nodeId, nodeValidationInput) {
|
|
696
|
-
const flowStore = useFlowStore();
|
|
697
|
-
const resultsStore = useResultsStore();
|
|
698
|
-
resultsStore.setNodeValidation(flowStore.flowId, nodeId, nodeValidationInput);
|
|
699
|
-
},
|
|
700
|
-
/** @deprecated Use `useResultsStore().resetNodeValidation()` directly instead. */
|
|
701
|
-
resetNodeValidation() {
|
|
702
|
-
const resultsStore = useResultsStore();
|
|
703
|
-
resultsStore.resetNodeValidation();
|
|
704
|
-
},
|
|
705
|
-
/** @deprecated Use `useResultsStore().getNodeValidation()` directly instead. */
|
|
706
|
-
getNodeValidation(nodeId) {
|
|
707
|
-
const flowStore = useFlowStore();
|
|
708
|
-
const resultsStore = useResultsStore();
|
|
709
|
-
return resultsStore.getNodeValidation(flowStore.flowId, nodeId);
|
|
710
|
-
},
|
|
711
|
-
/** @deprecated Use `useResultsStore().insertRunResult()` directly instead. */
|
|
712
|
-
insertRunResult(runResult) {
|
|
713
|
-
const resultsStore = useResultsStore();
|
|
714
|
-
resultsStore.insertRunResult(runResult);
|
|
715
|
-
},
|
|
716
|
-
/** @deprecated Use `useResultsStore().resetRunResults()` directly instead. */
|
|
717
|
-
resetRunResults() {
|
|
718
|
-
const resultsStore = useResultsStore();
|
|
719
|
-
resultsStore.resetRunResults();
|
|
720
|
-
},
|
|
721
|
-
/** @deprecated Use `useResultsStore().getRunResult()` directly instead. */
|
|
722
|
-
getRunResult(flowId) {
|
|
723
|
-
const resultsStore = useResultsStore();
|
|
724
|
-
return resultsStore.getRunResult(flowId);
|
|
725
|
-
},
|
|
726
|
-
/** @deprecated Use `useEditorStore().openDrawer()` directly instead. */
|
|
727
|
-
openDrawer(component, nodeTitleInfo, props = {}) {
|
|
728
|
-
const editorStore = useEditorStore();
|
|
729
|
-
editorStore.openDrawer(component, nodeTitleInfo, props);
|
|
730
|
-
},
|
|
731
|
-
/** @deprecated Use `useEditorStore().closeDrawer()` directly instead. */
|
|
732
|
-
closeDrawer() {
|
|
733
|
-
const editorStore = useEditorStore();
|
|
734
|
-
editorStore.closeDrawer();
|
|
735
|
-
this.nodeId = -1;
|
|
736
|
-
},
|
|
737
|
-
/** @deprecated Use `useEditorStore().toggleDrawer()` directly instead. */
|
|
738
|
-
toggleDrawer() {
|
|
739
|
-
const editorStore = useEditorStore();
|
|
740
|
-
editorStore.toggleDrawer();
|
|
741
|
-
},
|
|
742
|
-
/** @deprecated Use `useEditorStore().pushNodeData()` directly instead. */
|
|
743
|
-
pushNodeData() {
|
|
744
|
-
const editorStore = useEditorStore();
|
|
745
|
-
editorStore.pushNodeData();
|
|
746
|
-
},
|
|
747
|
-
/** @deprecated Use `useEditorStore().setCloseFunction()` directly instead. */
|
|
748
|
-
setCloseFunction(f) {
|
|
749
|
-
const editorStore = useEditorStore();
|
|
750
|
-
editorStore.setCloseFunction(f);
|
|
751
|
-
},
|
|
752
|
-
/** @deprecated Use `useEditorStore().executeDrawCloseFunction()` directly instead. */
|
|
753
|
-
executeDrawCloseFunction() {
|
|
754
|
-
const editorStore = useEditorStore();
|
|
755
|
-
return editorStore.executeDrawCloseFunction();
|
|
756
|
-
},
|
|
757
|
-
/** @deprecated Use `useEditorStore().toggleCodeGenerator()` directly instead. */
|
|
758
|
-
toggleCodeGenerator() {
|
|
759
|
-
const editorStore = useEditorStore();
|
|
760
|
-
editorStore.toggleCodeGenerator();
|
|
761
|
-
},
|
|
762
|
-
/** @deprecated Use `useEditorStore().setCodeGeneratorVisibility()` directly instead. */
|
|
763
|
-
setCodeGeneratorVisibility(visible) {
|
|
764
|
-
const editorStore = useEditorStore();
|
|
765
|
-
editorStore.setCodeGeneratorVisibility(visible);
|
|
766
|
-
},
|
|
767
|
-
/** @deprecated Use `useEditorStore().showLogViewer()` directly instead. */
|
|
768
|
-
showLogViewer() {
|
|
769
|
-
const editorStore = useEditorStore();
|
|
770
|
-
editorStore.showLogViewer();
|
|
771
|
-
},
|
|
772
|
-
/** @deprecated Use `useEditorStore().hideLogViewer()` directly instead. */
|
|
773
|
-
hideLogViewer() {
|
|
774
|
-
const editorStore = useEditorStore();
|
|
775
|
-
editorStore.hideLogViewer();
|
|
776
|
-
},
|
|
777
|
-
/** @deprecated Use `useEditorStore().toggleLogViewer()` directly instead. */
|
|
778
|
-
toggleLogViewer() {
|
|
779
|
-
const editorStore = useEditorStore();
|
|
780
|
-
editorStore.toggleLogViewer();
|
|
781
|
-
},
|
|
782
|
-
/** @deprecated Use `useEditorStore().setInputCode()` directly instead. */
|
|
783
|
-
setInputCode(newCode) {
|
|
784
|
-
const editorStore = useEditorStore();
|
|
785
|
-
editorStore.setInputCode(newCode);
|
|
786
|
-
},
|
|
787
|
-
/** @deprecated Use `useEditorStore().setInitialEditorData()` directly instead. */
|
|
788
|
-
setInitialEditorData(editorDataString) {
|
|
789
|
-
const editorStore = useEditorStore();
|
|
790
|
-
editorStore.setInitialEditorData(editorDataString);
|
|
791
|
-
},
|
|
792
|
-
/** @deprecated Use `useEditorStore().getInitialEditorData()` directly instead. */
|
|
793
|
-
getInitialEditorData() {
|
|
794
|
-
const editorStore = useEditorStore();
|
|
795
|
-
return editorStore.getInitialEditorData();
|
|
796
|
-
}
|
|
797
|
-
}
|
|
798
|
-
});
|
|
799
|
-
const _hoisted_1 = { class: "popover-container" };
|
|
800
|
-
const _hoisted_2 = { key: 0 };
|
|
801
|
-
const _hoisted_3 = ["innerHTML"];
|
|
802
|
-
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
803
|
-
__name: "PopOver",
|
|
804
|
-
props: {
|
|
805
|
-
content: {
|
|
806
|
-
type: String,
|
|
807
|
-
required: true
|
|
808
|
-
},
|
|
809
|
-
title: {
|
|
810
|
-
type: String,
|
|
811
|
-
default: ""
|
|
812
|
-
},
|
|
813
|
-
placement: {
|
|
814
|
-
type: String,
|
|
815
|
-
default: "top"
|
|
816
|
-
},
|
|
817
|
-
minWidth: {
|
|
818
|
-
type: Number,
|
|
819
|
-
default: 100
|
|
820
|
-
},
|
|
821
|
-
zIndex: {
|
|
822
|
-
type: Number,
|
|
823
|
-
default: 9999
|
|
824
|
-
}
|
|
825
|
-
},
|
|
826
|
-
setup(__props) {
|
|
827
|
-
useCssVars((_ctx) => ({
|
|
828
|
-
"355ab648": props.minWidth + "px"
|
|
829
|
-
}));
|
|
830
|
-
const visible = ref(false);
|
|
831
|
-
const referenceEl = ref(null);
|
|
832
|
-
const popoverEl = ref(null);
|
|
833
|
-
const props = __props;
|
|
834
|
-
const popoverStyle = ref({
|
|
835
|
-
top: "0px",
|
|
836
|
-
left: "0px",
|
|
837
|
-
zIndex: props.zIndex.toString()
|
|
838
|
-
});
|
|
839
|
-
const showPopover = () => {
|
|
840
|
-
visible.value = true;
|
|
841
|
-
nextTick(() => {
|
|
842
|
-
updatePosition();
|
|
843
|
-
});
|
|
844
|
-
};
|
|
845
|
-
const hidePopover = () => {
|
|
846
|
-
visible.value = false;
|
|
847
|
-
};
|
|
848
|
-
const updatePosition = () => {
|
|
849
|
-
if (!referenceEl.value || !popoverEl.value)
|
|
850
|
-
return;
|
|
851
|
-
const referenceRect = referenceEl.value.getBoundingClientRect();
|
|
852
|
-
const popoverRect = popoverEl.value.getBoundingClientRect();
|
|
853
|
-
const offset = 20;
|
|
854
|
-
let top = 0;
|
|
855
|
-
let left = 0;
|
|
856
|
-
switch (props.placement) {
|
|
857
|
-
case "top":
|
|
858
|
-
top = referenceRect.top - popoverRect.height - offset;
|
|
859
|
-
left = referenceRect.left + referenceRect.width / 2 - popoverRect.width / 2;
|
|
860
|
-
break;
|
|
861
|
-
case "bottom":
|
|
862
|
-
top = referenceRect.bottom + offset;
|
|
863
|
-
left = referenceRect.left + referenceRect.width / 2 - popoverRect.width / 2;
|
|
864
|
-
break;
|
|
865
|
-
case "left":
|
|
866
|
-
top = referenceRect.top + referenceRect.height / 2 - popoverRect.height / 2;
|
|
867
|
-
left = referenceRect.left - popoverRect.width - offset;
|
|
868
|
-
break;
|
|
869
|
-
case "right":
|
|
870
|
-
top = referenceRect.top + referenceRect.height / 2 - popoverRect.height / 2;
|
|
871
|
-
left = referenceRect.right + offset;
|
|
872
|
-
break;
|
|
873
|
-
}
|
|
874
|
-
const viewportWidth = window.innerWidth;
|
|
875
|
-
const viewportHeight = window.innerHeight;
|
|
876
|
-
if (left < 10)
|
|
877
|
-
left = 10;
|
|
878
|
-
if (left + popoverRect.width > viewportWidth - 10) {
|
|
879
|
-
left = viewportWidth - popoverRect.width - 10;
|
|
880
|
-
}
|
|
881
|
-
if (top < 10)
|
|
882
|
-
top = 10;
|
|
883
|
-
if (top + popoverRect.height > viewportHeight - 10) {
|
|
884
|
-
top = viewportHeight - popoverRect.height - 10;
|
|
885
|
-
}
|
|
886
|
-
popoverStyle.value = {
|
|
887
|
-
top: `${top}px`,
|
|
888
|
-
left: `${left}px`,
|
|
889
|
-
zIndex: props.zIndex.toString()
|
|
890
|
-
};
|
|
891
|
-
};
|
|
892
|
-
onMounted(() => {
|
|
893
|
-
window.addEventListener("resize", () => {
|
|
894
|
-
if (visible.value) {
|
|
895
|
-
updatePosition();
|
|
896
|
-
}
|
|
897
|
-
});
|
|
898
|
-
});
|
|
899
|
-
return (_ctx, _cache) => {
|
|
900
|
-
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
901
|
-
createBaseVNode("div", {
|
|
902
|
-
ref_key: "referenceEl",
|
|
903
|
-
ref: referenceEl,
|
|
904
|
-
class: "popover-reference",
|
|
905
|
-
onMouseenter: showPopover,
|
|
906
|
-
onMouseleave: hidePopover
|
|
907
|
-
}, [
|
|
908
|
-
renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
909
|
-
], 544),
|
|
910
|
-
visible.value ? (openBlock(), createBlock(Teleport, {
|
|
911
|
-
key: 0,
|
|
912
|
-
to: "body"
|
|
913
|
-
}, [
|
|
914
|
-
createBaseVNode("div", {
|
|
915
|
-
ref_key: "popoverEl",
|
|
916
|
-
ref: popoverEl,
|
|
917
|
-
style: normalizeStyle(popoverStyle.value),
|
|
918
|
-
class: normalizeClass(["popover", { "popover--left": props.placement === "left" }])
|
|
919
|
-
}, [
|
|
920
|
-
props.title !== "" ? (openBlock(), createElementBlock("h3", _hoisted_2, toDisplayString(props.title), 1)) : createCommentVNode("", true),
|
|
921
|
-
createBaseVNode("p", {
|
|
922
|
-
class: "content",
|
|
923
|
-
innerHTML: props.content
|
|
924
|
-
}, null, 8, _hoisted_3)
|
|
925
|
-
], 6)
|
|
926
|
-
])) : createCommentVNode("", true)
|
|
927
|
-
]);
|
|
928
|
-
};
|
|
929
|
-
}
|
|
930
|
-
});
|
|
931
|
-
const PopOver_vue_vue_type_style_index_0_scoped_8b5d0b86_lang = "";
|
|
932
|
-
const PopOver = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-8b5d0b86"]]);
|
|
933
|
-
export {
|
|
934
|
-
PopOver as P,
|
|
935
|
-
useEditorStore as a,
|
|
936
|
-
useResultsStore as b,
|
|
937
|
-
useFlowStore as c,
|
|
938
|
-
useNodeStore as u
|
|
939
|
-
};
|