Flowfile 0.3.9__py3-none-any.whl → 0.4.0__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.
Potentially problematic release.
This version of Flowfile might be problematic. Click here for more details.
- flowfile/__init__.py +6 -1
- flowfile/api.py +0 -1
- flowfile/web/static/assets/{CloudConnectionManager-c97c25f8.js → CloudConnectionManager-109ecc3c.js} +2 -2
- flowfile/web/static/assets/{CloudStorageReader-f1ff509e.js → CloudStorageReader-19cdd67a.js} +11 -78
- flowfile/web/static/assets/{CloudStorageWriter-034f8b78.js → CloudStorageWriter-48e0ae20.js} +12 -79
- flowfile/web/static/assets/{CloudStorageWriter-49c9a4b2.css → CloudStorageWriter-b0ee067f.css} +24 -24
- flowfile/web/static/assets/ColumnSelector-47996a16.css +10 -0
- flowfile/web/static/assets/ColumnSelector-ecaf7c44.js +83 -0
- flowfile/web/static/assets/ContextMenu-2b348c4c.js +41 -0
- flowfile/web/static/assets/{SettingsSection-9c836ecc.css → ContextMenu-4c74eef1.css} +0 -21
- flowfile/web/static/assets/ContextMenu-63cfa99b.css +26 -0
- flowfile/web/static/assets/ContextMenu-a779eed7.js +41 -0
- flowfile/web/static/assets/ContextMenu-c13f91d0.css +26 -0
- flowfile/web/static/assets/ContextMenu-eca26a03.js +41 -0
- flowfile/web/static/assets/{CrossJoin-41efa4cb.css → CrossJoin-1119d18e.css} +18 -18
- flowfile/web/static/assets/{CrossJoin-9e156ebe.js → CrossJoin-a88f8142.js} +14 -84
- flowfile/web/static/assets/CustomNode-74a37f74.css +32 -0
- flowfile/web/static/assets/CustomNode-cb863dff.js +211 -0
- flowfile/web/static/assets/{DatabaseConnectionSettings-d5c625b3.js → DatabaseConnectionSettings-819d3267.js} +3 -3
- flowfile/web/static/assets/{DatabaseManager-265adc5e.js → DatabaseManager-84ee2834.js} +2 -2
- flowfile/web/static/assets/{DatabaseReader-0b10551e.js → DatabaseReader-060dd412.js} +14 -114
- flowfile/web/static/assets/{DatabaseReader-f50c6558.css → DatabaseReader-ae61773c.css} +0 -27
- flowfile/web/static/assets/{DatabaseWriter-c17c6916.js → DatabaseWriter-7fc7750f.js} +13 -74
- flowfile/web/static/assets/{ExploreData-5bdae813.css → ExploreData-2d0cf4db.css} +8 -14
- flowfile/web/static/assets/ExploreData-82c95991.js +192 -0
- flowfile/web/static/assets/{ExternalSource-3a66556c.js → ExternalSource-e1a6ddc7.js} +8 -79
- flowfile/web/static/assets/{Filter-91ad87e7.js → Filter-8aca894a.js} +12 -85
- flowfile/web/static/assets/{Filter-a9d08ba1.css → Filter-f62091b3.css} +3 -3
- flowfile/web/static/assets/{Formula-29f19d21.css → Formula-bb96803d.css} +4 -4
- flowfile/web/static/assets/{Formula-3c395ab1.js → Formula-e33686d9.js} +18 -85
- flowfile/web/static/assets/{FuzzyMatch-6857de82.css → FuzzyMatch-1010f966.css} +42 -42
- flowfile/web/static/assets/{FuzzyMatch-2df0d230.js → FuzzyMatch-abda150d.js} +16 -87
- flowfile/web/static/assets/{GraphSolver-d285877f.js → GraphSolver-4ecad1d7.js} +13 -159
- flowfile/web/static/assets/GraphSolver-f0cb7bfb.css +22 -0
- flowfile/web/static/assets/{GroupBy-0bd1cc6b.js → GroupBy-656d07f3.js} +12 -75
- flowfile/web/static/assets/{Unique-b5615727.css → GroupBy-b9505323.css} +8 -8
- flowfile/web/static/assets/{Join-5a78a203.js → Join-b84ec849.js} +15 -85
- flowfile/web/static/assets/{Join-f45eff22.css → Join-fd79b451.css} +20 -20
- flowfile/web/static/assets/{ManualInput-a71b52c6.css → ManualInput-3246a08d.css} +20 -20
- flowfile/web/static/assets/{ManualInput-93aef9d6.js → ManualInput-346f4135.js} +11 -82
- flowfile/web/static/assets/MultiSelect-61b98268.js +5 -0
- flowfile/web/static/assets/MultiSelect.vue_vue_type_script_setup_true_lang-2a7c8312.js +63 -0
- flowfile/web/static/assets/NumericInput-e36602c2.js +5 -0
- flowfile/web/static/assets/NumericInput.vue_vue_type_script_setup_true_lang-211a1990.js +35 -0
- flowfile/web/static/assets/Output-ddc9079f.css +37 -0
- flowfile/web/static/assets/{Output-411ecaee.js → Output-eb041599.js} +13 -243
- flowfile/web/static/assets/Pivot-cf333e3d.css +22 -0
- flowfile/web/static/assets/{Pivot-89db4b04.js → Pivot-f5c774f4.js} +14 -138
- flowfile/web/static/assets/PivotValidation-26546cbc.js +61 -0
- flowfile/web/static/assets/PivotValidation-891ddfb0.css +13 -0
- flowfile/web/static/assets/PivotValidation-c46cd420.css +13 -0
- flowfile/web/static/assets/PivotValidation-e150a24b.js +61 -0
- flowfile/web/static/assets/{PolarsCode-a9f974f8.js → PolarsCode-da3a7abf.js} +13 -80
- flowfile/web/static/assets/Read-0c768769.js +243 -0
- flowfile/web/static/assets/Read-6b17491f.css +62 -0
- flowfile/web/static/assets/RecordCount-84736276.js +53 -0
- flowfile/web/static/assets/{RecordId-55ae7d36.js → RecordId-60055e6d.js} +8 -80
- flowfile/web/static/assets/SQLQueryComponent-36cef432.css +27 -0
- flowfile/web/static/assets/SQLQueryComponent-8a486004.js +38 -0
- flowfile/web/static/assets/{Sample-b4a18476.js → Sample-2d662611.js} +8 -77
- flowfile/web/static/assets/{SecretManager-b066d13a.js → SecretManager-ef586cab.js} +2 -2
- flowfile/web/static/assets/{Select-727688dc.js → Select-2e4a6965.js} +11 -85
- flowfile/web/static/assets/SettingsSection-2e4d03c4.css +21 -0
- flowfile/web/static/assets/{SettingsSection-695ac487.js → SettingsSection-310b61c0.js} +2 -40
- flowfile/web/static/assets/SettingsSection-5634f439.js +45 -0
- flowfile/web/static/assets/SettingsSection-5c696bee.css +20 -0
- flowfile/web/static/assets/SettingsSection-71e6b7e3.css +21 -0
- flowfile/web/static/assets/SettingsSection-7c68b19f.js +53 -0
- flowfile/web/static/assets/SingleSelect-7298811a.js +5 -0
- flowfile/web/static/assets/SingleSelect.vue_vue_type_script_setup_true_lang-43807bad.js +62 -0
- flowfile/web/static/assets/SliderInput-53105476.js +40 -0
- flowfile/web/static/assets/SliderInput-b8fb6a8c.css +4 -0
- flowfile/web/static/assets/{GroupBy-ab1ea74b.css → Sort-3643d625.css} +8 -8
- flowfile/web/static/assets/{Sort-be3339a8.js → Sort-4fdebe74.js} +12 -97
- flowfile/web/static/assets/TextInput-28366b7e.js +5 -0
- flowfile/web/static/assets/TextInput.vue_vue_type_script_setup_true_lang-9cad14ba.js +32 -0
- flowfile/web/static/assets/{TextToRows-c92d1ec2.css → TextToRows-5d2c1190.css} +9 -9
- flowfile/web/static/assets/{TextToRows-7b8998da.js → TextToRows-73ffa692.js} +14 -83
- flowfile/web/static/assets/ToggleSwitch-598add30.js +5 -0
- flowfile/web/static/assets/ToggleSwitch.vue_vue_type_script_setup_true_lang-f620cd32.js +31 -0
- flowfile/web/static/assets/{UnavailableFields-8b0cb48e.js → UnavailableFields-66239e83.js} +2 -2
- flowfile/web/static/assets/Union-26b10614.js +77 -0
- flowfile/web/static/assets/{Union-8d9ac7f9.css → Union-af6c3d9b.css} +6 -6
- flowfile/web/static/assets/{Unique-af5a80b4.js → Unique-33b9edbb.js} +22 -91
- flowfile/web/static/assets/{Sort-7ccfa0fe.css → Unique-f9fb0809.css} +8 -8
- flowfile/web/static/assets/Unpivot-1e422df3.css +30 -0
- flowfile/web/static/assets/{Unpivot-5195d411.js → Unpivot-ef69d0e2.js} +12 -166
- flowfile/web/static/assets/UnpivotValidation-0d240eeb.css +13 -0
- flowfile/web/static/assets/UnpivotValidation-8658388e.js +51 -0
- flowfile/web/static/assets/{ExploreData-18a4fe52.js → VueGraphicWalker-4d7861f4.js} +4 -264
- flowfile/web/static/assets/VueGraphicWalker-ed5ab88b.css +6 -0
- flowfile/web/static/assets/{api-023d1733.js → api-2d1394bd.js} +1 -1
- flowfile/web/static/assets/{api-cb00cce6.js → api-c908fffe.js} +1 -1
- flowfile/web/static/assets/{designer-6c322d8e.js → designer-1667687d.js} +2201 -705
- flowfile/web/static/assets/{designer-2197d782.css → designer-665e9408.css} +836 -201
- flowfile/web/static/assets/{documentation-4d1fafe1.js → documentation-5eed779e.js} +1 -1
- flowfile/web/static/assets/{dropDown-0b46dd77.js → dropDown-41ebe3c2.js} +1 -1
- flowfile/web/static/assets/{fullEditor-ec4e4f95.js → fullEditor-0670d32d.js} +2 -2
- flowfile/web/static/assets/{genericNodeSettings-def5879b.js → genericNodeSettings-38410ebf.js} +3 -3
- flowfile/web/static/assets/{index-681a3ed0.css → index-50508d4d.css} +8 -0
- flowfile/web/static/assets/{index-683fc198.js → index-5ec791df.js} +210 -31
- flowfile/web/static/assets/outputCsv-059583b6.js +86 -0
- flowfile/web/static/assets/{Output-48f81019.css → outputCsv-9cc59e0b.css} +0 -143
- flowfile/web/static/assets/outputExcel-76b1e02c.js +56 -0
- flowfile/web/static/assets/outputExcel-b41305c0.css +102 -0
- flowfile/web/static/assets/outputParquet-440fd4c7.js +31 -0
- flowfile/web/static/assets/outputParquet-cf8cf3f2.css +4 -0
- flowfile/web/static/assets/readCsv-9813903a.js +178 -0
- flowfile/web/static/assets/readCsv-bca3ed53.css +52 -0
- flowfile/web/static/assets/readExcel-7f40d237.js +203 -0
- flowfile/web/static/assets/readExcel-e1b381ea.css +64 -0
- flowfile/web/static/assets/readParquet-22d56002.js +26 -0
- flowfile/web/static/assets/readParquet-cee068e2.css +19 -0
- flowfile/web/static/assets/{secretApi-baceb6f9.js → secretApi-b3cb072e.js} +1 -1
- flowfile/web/static/assets/{selectDynamic-de91449a.js → selectDynamic-7ad95bca.js} +7 -7
- flowfile/web/static/assets/{selectDynamic-b062bc9b.css → selectDynamic-aa913ff4.css} +16 -16
- flowfile/web/static/assets/user-defined-icon-0ae16c90.png +0 -0
- flowfile/web/static/assets/{vue-codemirror.esm-dc5e3348.js → vue-codemirror.esm-b1dfaa46.js} +59 -33
- flowfile/web/static/assets/{vue-content-loader.es-ba94b82f.js → vue-content-loader.es-22bac17c.js} +1 -1
- flowfile/web/static/index.html +2 -2
- {flowfile-0.3.9.dist-info → flowfile-0.4.0.dist-info}/METADATA +1 -1
- {flowfile-0.3.9.dist-info → flowfile-0.4.0.dist-info}/RECORD +160 -102
- flowfile_core/configs/flow_logger.py +5 -13
- flowfile_core/configs/node_store/__init__.py +30 -0
- flowfile_core/configs/node_store/nodes.py +383 -99
- flowfile_core/configs/node_store/user_defined_node_registry.py +193 -0
- flowfile_core/configs/settings.py +2 -1
- flowfile_core/database/connection.py +5 -21
- flowfile_core/fileExplorer/funcs.py +239 -121
- flowfile_core/flowfile/flow_data_engine/flow_file_column/interface.py +4 -0
- flowfile_core/flowfile/flow_data_engine/flow_file_column/main.py +19 -34
- flowfile_core/flowfile/flow_data_engine/flow_file_column/type_registry.py +36 -0
- flowfile_core/flowfile/flow_data_engine/subprocess_operations/subprocess_operations.py +28 -8
- flowfile_core/flowfile/flow_graph.py +117 -34
- flowfile_core/flowfile/flow_node/flow_node.py +45 -13
- flowfile_core/flowfile/handler.py +22 -3
- flowfile_core/flowfile/manage/open_flowfile.py +9 -1
- flowfile_core/flowfile/node_designer/__init__.py +47 -0
- flowfile_core/flowfile/node_designer/_type_registry.py +197 -0
- flowfile_core/flowfile/node_designer/custom_node.py +371 -0
- flowfile_core/flowfile/node_designer/data_types.py +146 -0
- flowfile_core/flowfile/node_designer/ui_components.py +277 -0
- flowfile_core/flowfile/schema_callbacks.py +8 -4
- flowfile_core/flowfile/setting_generator/settings.py +0 -1
- flowfile_core/main.py +5 -1
- flowfile_core/routes/routes.py +73 -28
- flowfile_core/routes/user_defined_components.py +55 -0
- flowfile_core/schemas/input_schema.py +7 -1
- flowfile_core/schemas/output_model.py +5 -2
- flowfile_core/schemas/schemas.py +8 -3
- flowfile_core/schemas/transform_schema.py +1 -0
- flowfile_core/utils/validate_setup.py +3 -1
- flowfile_worker/__init__.py +6 -35
- flowfile_worker/main.py +5 -2
- flowfile_worker/routes.py +47 -5
- shared/__init__.py +15 -0
- shared/storage_config.py +258 -0
- flowfile/web/static/assets/GraphSolver-17fd26db.css +0 -68
- flowfile/web/static/assets/Pivot-f415e85f.css +0 -35
- flowfile/web/static/assets/Read-80dc1675.css +0 -197
- flowfile/web/static/assets/Read-c3b1929c.js +0 -701
- flowfile/web/static/assets/RecordCount-4e95f98e.js +0 -122
- flowfile/web/static/assets/Union-89fd73dc.js +0 -146
- flowfile/web/static/assets/Unpivot-246e9bbd.css +0 -77
- flowfile/web/static/assets/nodeTitle-a16db7c3.js +0 -227
- flowfile/web/static/assets/nodeTitle-f4b12bcb.css +0 -134
- {flowfile-0.3.9.dist-info → flowfile-0.4.0.dist-info}/LICENSE +0 -0
- {flowfile-0.3.9.dist-info → flowfile-0.4.0.dist-info}/WHEEL +0 -0
- {flowfile-0.3.9.dist-info → flowfile-0.4.0.dist-info}/entry_points.txt +0 -0
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
+
var __publicField = (obj, key, value) => {
|
|
4
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
+
return value;
|
|
6
|
+
};
|
|
7
|
+
import { a as axios, r as ref, o as onUnmounted, E as ElNotification, d as defineComponent, b as resolveComponent, c as openBlock, e as createElementBlock, f as createVNode, w as withCtx, g as createTextVNode, u as unref, h as createBlock, i as createCommentVNode, _ as _export_sfc, j as defineStore, k as getDefaultExportFromCjs, l as computed$1, m as watch$1, n as onMounted, p as createBaseVNode, t as toDisplayString, F as Fragment, q as renderList, s as normalizeClass, v as withModifiers, x as withKeys, y as _imports_1, z as ElMessage, A as ElMessageBox, B as inject, C as effectScope, D as provide, G as getCurrentInstance, H as getCurrentScope, I as onScopeDispose, J as createPropsRestProxy, K as toRef, L as renderSlot, M as reactive, N as useSlots, O as isRef, P as toRefs$1, Q as customRef, R as nextTick, S as onBeforeMount, T as normalizeStyle, U as onBeforeUnmount, V as isMemoSame, W as toValue$1, X as shallowRef, Y as h, Z as markRaw$1, $ as readonly, a0 as useAttrs, a1 as mergeProps, a2 as resolveDynamicComponent, a3 as watchEffect, a4 as normalizeProps, a5 as defineAsyncComponent, a6 as onErrorCaptured, a7 as __vitePreload, a8 as withDirectives, a9 as vModelText, aa as Teleport, ab as guardReactiveProps, ac as Transition$2, ad as createStaticVNode, ae as render, af as vShow, ag as authService, ah as flowfileCorebaseURL } from "./index-5ec791df.js";
|
|
8
|
+
import { u as useNodeStore, P as PopOver, a as Parser, N as NodeSet, b as NodeType, D as DefaultBufferLength, c as NodeProp, T as Tree, I as IterMode, s as styleTags, t as tags, L as LanguageSupport, d as syntaxTree, i as ifNotIn, e as LRLanguage, f as indentNodeProp, g as delimitedIndent, h as foldNodeProp, j as foldInside, k as completeFromList, l as NodeWeakMap, m as snippetCompletion, H as HighlightStyle, n as syntaxHighlighting, E as EditorView, o as T } from "./vue-codemirror.esm-b1dfaa46.js";
|
|
3
9
|
const saveFlow = async (flowId, flowPath) => {
|
|
4
10
|
try {
|
|
5
11
|
await axios.get("/save_flow", {
|
|
@@ -15,14 +21,17 @@ const saveFlow = async (flowId, flowPath) => {
|
|
|
15
21
|
console.error("There was an error saving the flow:", error);
|
|
16
22
|
}
|
|
17
23
|
};
|
|
18
|
-
async function createFlow(flowPath) {
|
|
19
|
-
console.log("Creating flow", flowPath);
|
|
24
|
+
async function createFlow(flowPath = null, name = null) {
|
|
25
|
+
console.log("Creating flow", flowPath, name);
|
|
20
26
|
const response = await axios.post(
|
|
21
27
|
"/editor/create_flow",
|
|
22
28
|
{},
|
|
23
29
|
{
|
|
24
30
|
headers: { accept: "application/json" },
|
|
25
|
-
params: {
|
|
31
|
+
params: {
|
|
32
|
+
flow_path: flowPath,
|
|
33
|
+
name
|
|
34
|
+
}
|
|
26
35
|
}
|
|
27
36
|
);
|
|
28
37
|
if (response.status === 200) {
|
|
@@ -72,8 +81,291 @@ const updateRunStatus = async (flowId, nodeStore, showRunResults = true) => {
|
|
|
72
81
|
}
|
|
73
82
|
return response;
|
|
74
83
|
};
|
|
75
|
-
const
|
|
76
|
-
|
|
84
|
+
const _FlowExecutionState = class _FlowExecutionState {
|
|
85
|
+
constructor() {
|
|
86
|
+
__publicField(this, "pollingIntervals", /* @__PURE__ */ new Map());
|
|
87
|
+
__publicField(this, "activeExecutions", /* @__PURE__ */ new Map());
|
|
88
|
+
}
|
|
89
|
+
static getInstance() {
|
|
90
|
+
if (!_FlowExecutionState.instance) {
|
|
91
|
+
_FlowExecutionState.instance = new _FlowExecutionState();
|
|
92
|
+
}
|
|
93
|
+
return _FlowExecutionState.instance;
|
|
94
|
+
}
|
|
95
|
+
setPollingInterval(key, interval2) {
|
|
96
|
+
this.pollingIntervals.set(key, interval2);
|
|
97
|
+
}
|
|
98
|
+
getPollingInterval(key) {
|
|
99
|
+
return this.pollingIntervals.get(key) || null;
|
|
100
|
+
}
|
|
101
|
+
clearPollingInterval(key) {
|
|
102
|
+
const interval2 = this.pollingIntervals.get(key);
|
|
103
|
+
if (interval2) {
|
|
104
|
+
clearInterval(interval2);
|
|
105
|
+
this.pollingIntervals.delete(key);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
setExecutionState(key, state2) {
|
|
109
|
+
this.activeExecutions.set(key, state2);
|
|
110
|
+
}
|
|
111
|
+
getExecutionState(key) {
|
|
112
|
+
return this.activeExecutions.get(key) || false;
|
|
113
|
+
}
|
|
114
|
+
clearAll() {
|
|
115
|
+
this.pollingIntervals.forEach((interval2) => clearInterval(interval2));
|
|
116
|
+
this.pollingIntervals.clear();
|
|
117
|
+
this.activeExecutions.clear();
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
__publicField(_FlowExecutionState, "instance");
|
|
121
|
+
let FlowExecutionState = _FlowExecutionState;
|
|
122
|
+
function useFlowExecution(flowId, pollingConfig = {
|
|
123
|
+
interval: 2e3,
|
|
124
|
+
enabled: true,
|
|
125
|
+
maxAttempts: Infinity
|
|
126
|
+
}, options = {}) {
|
|
127
|
+
const nodeStore = useNodeStore();
|
|
128
|
+
const state2 = FlowExecutionState.getInstance();
|
|
129
|
+
const localPollingInterval = ref(null);
|
|
130
|
+
const isExecuting = ref(false);
|
|
131
|
+
const getFlowId = () => {
|
|
132
|
+
return typeof flowId === "number" ? flowId : flowId.value;
|
|
133
|
+
};
|
|
134
|
+
const getPollingKey = (suffix = "") => {
|
|
135
|
+
const customKey = options.pollingKey || `flow_${getFlowId()}`;
|
|
136
|
+
return suffix ? `${customKey}_${suffix}` : customKey;
|
|
137
|
+
};
|
|
138
|
+
const freezeFlow = () => {
|
|
139
|
+
const vueFlowElement = nodeStore.vueFlowInstance;
|
|
140
|
+
if (vueFlowElement) {
|
|
141
|
+
vueFlowElement.nodesDraggable.value = false;
|
|
142
|
+
vueFlowElement.nodesConnectable.value = false;
|
|
143
|
+
vueFlowElement.elementsSelectable.value = false;
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
const unFreezeFlow = () => {
|
|
147
|
+
const vueFlowElement = nodeStore.vueFlowInstance;
|
|
148
|
+
if (vueFlowElement) {
|
|
149
|
+
vueFlowElement.nodesDraggable.value = true;
|
|
150
|
+
vueFlowElement.nodesConnectable.value = true;
|
|
151
|
+
vueFlowElement.elementsSelectable.value = true;
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
const showNotification = (title, message, type, dangerouslyUseHTMLString) => {
|
|
155
|
+
ElNotification({
|
|
156
|
+
title,
|
|
157
|
+
message,
|
|
158
|
+
type,
|
|
159
|
+
position: "top-left",
|
|
160
|
+
dangerouslyUseHTMLString
|
|
161
|
+
});
|
|
162
|
+
};
|
|
163
|
+
const startPolling = (checkFn, pollingKeySuffix = "") => {
|
|
164
|
+
const key = getPollingKey(pollingKeySuffix);
|
|
165
|
+
if (options.persistPolling) {
|
|
166
|
+
const existingInterval = state2.getPollingInterval(key);
|
|
167
|
+
if (existingInterval === null && pollingConfig.enabled) {
|
|
168
|
+
const interval2 = setInterval(checkFn, pollingConfig.interval || 2e3);
|
|
169
|
+
state2.setPollingInterval(key, interval2);
|
|
170
|
+
}
|
|
171
|
+
} else {
|
|
172
|
+
if (localPollingInterval.value === null && pollingConfig.enabled) {
|
|
173
|
+
localPollingInterval.value = setInterval(
|
|
174
|
+
checkFn,
|
|
175
|
+
pollingConfig.interval || 2e3
|
|
176
|
+
);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
};
|
|
180
|
+
const stopPolling = (pollingKeySuffix = "") => {
|
|
181
|
+
if (options.persistPolling) {
|
|
182
|
+
const key = getPollingKey(pollingKeySuffix);
|
|
183
|
+
state2.clearPollingInterval(key);
|
|
184
|
+
} else {
|
|
185
|
+
if (localPollingInterval.value !== null) {
|
|
186
|
+
clearInterval(localPollingInterval.value);
|
|
187
|
+
localPollingInterval.value = null;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
};
|
|
191
|
+
const isPollingActive = (pollingKeySuffix = "") => {
|
|
192
|
+
if (options.persistPolling) {
|
|
193
|
+
const key = getPollingKey(pollingKeySuffix);
|
|
194
|
+
return state2.getPollingInterval(key) !== null;
|
|
195
|
+
}
|
|
196
|
+
return localPollingInterval.value !== null;
|
|
197
|
+
};
|
|
198
|
+
const createNotificationConfig = (runInfo) => ({
|
|
199
|
+
title: runInfo.success ? "Success" : "Error",
|
|
200
|
+
message: runInfo.success ? "The operation has completed successfully" : "There were issues with the operation, check the logging for more information",
|
|
201
|
+
type: runInfo.success ? "success" : "error"
|
|
202
|
+
});
|
|
203
|
+
const checkRunStatus = async (customSuccessMessage, pollingKeySuffix = "") => {
|
|
204
|
+
try {
|
|
205
|
+
const response = await updateRunStatus(getFlowId(), nodeStore);
|
|
206
|
+
if (response.status === 200) {
|
|
207
|
+
stopPolling(pollingKeySuffix);
|
|
208
|
+
unFreezeFlow();
|
|
209
|
+
nodeStore.isRunning = false;
|
|
210
|
+
isExecuting.value = false;
|
|
211
|
+
state2.setExecutionState(getPollingKey(pollingKeySuffix), false);
|
|
212
|
+
console.log("response data", response.data);
|
|
213
|
+
const notificationConfig = createNotificationConfig(response.data);
|
|
214
|
+
if (customSuccessMessage && response.data.success) {
|
|
215
|
+
notificationConfig.message = customSuccessMessage;
|
|
216
|
+
}
|
|
217
|
+
showNotification(
|
|
218
|
+
notificationConfig.title,
|
|
219
|
+
notificationConfig.message,
|
|
220
|
+
notificationConfig.type
|
|
221
|
+
);
|
|
222
|
+
} else if (response.status === 404) {
|
|
223
|
+
stopPolling(pollingKeySuffix);
|
|
224
|
+
unFreezeFlow();
|
|
225
|
+
nodeStore.isRunning = false;
|
|
226
|
+
isExecuting.value = false;
|
|
227
|
+
state2.setExecutionState(getPollingKey(pollingKeySuffix), false);
|
|
228
|
+
nodeStore.runResults = {};
|
|
229
|
+
}
|
|
230
|
+
} catch (error) {
|
|
231
|
+
console.error("Error checking run status:", error);
|
|
232
|
+
stopPolling(pollingKeySuffix);
|
|
233
|
+
unFreezeFlow();
|
|
234
|
+
nodeStore.isRunning = false;
|
|
235
|
+
isExecuting.value = false;
|
|
236
|
+
state2.setExecutionState(getPollingKey(pollingKeySuffix), false);
|
|
237
|
+
}
|
|
238
|
+
};
|
|
239
|
+
const escapeHtml = (text) => {
|
|
240
|
+
const div = document.createElement("div");
|
|
241
|
+
div.textContent = text;
|
|
242
|
+
return div.innerHTML;
|
|
243
|
+
};
|
|
244
|
+
const runFlow = async () => {
|
|
245
|
+
const flowSettings = await getFlowSettings(getFlowId());
|
|
246
|
+
if (!flowSettings) {
|
|
247
|
+
throw new Error("Failed to retrieve flow settings");
|
|
248
|
+
}
|
|
249
|
+
freezeFlow();
|
|
250
|
+
nodeStore.resetNodeResult();
|
|
251
|
+
isExecuting.value = true;
|
|
252
|
+
nodeStore.isRunning = true;
|
|
253
|
+
nodeStore.hideLogViewerForThisRun = false;
|
|
254
|
+
state2.setExecutionState(getPollingKey(), true);
|
|
255
|
+
const executionLocationText = flowSettings.execution_location === "local" ? "Local" : "Remote";
|
|
256
|
+
const escapedFlowName = escapeHtml(flowSettings.name);
|
|
257
|
+
const notificationMessage = `
|
|
258
|
+
<div style="line-height: 1.4;">
|
|
259
|
+
<div><strong>Flow:</strong> "${escapedFlowName}"</div>
|
|
260
|
+
<div><strong>Mode:</strong> ${flowSettings.execution_mode}</div>
|
|
261
|
+
<div><strong>Location:</strong> ${executionLocationText}</div>
|
|
262
|
+
</div>
|
|
263
|
+
`;
|
|
264
|
+
showNotification("🚀 Flow Started", notificationMessage, void 0, true);
|
|
265
|
+
try {
|
|
266
|
+
await axios.post("/flow/run/", null, {
|
|
267
|
+
params: { flow_id: getFlowId() },
|
|
268
|
+
headers: { accept: "application/json" }
|
|
269
|
+
});
|
|
270
|
+
nodeStore.showLogViewer();
|
|
271
|
+
startPolling(() => checkRunStatus());
|
|
272
|
+
} catch (error) {
|
|
273
|
+
console.error("Error starting run:", error);
|
|
274
|
+
unFreezeFlow();
|
|
275
|
+
nodeStore.isRunning = false;
|
|
276
|
+
isExecuting.value = false;
|
|
277
|
+
state2.setExecutionState(getPollingKey(), false);
|
|
278
|
+
showNotification("Error", "Failed to start the flow", "error");
|
|
279
|
+
}
|
|
280
|
+
};
|
|
281
|
+
const triggerNodeFetch = async (nodeId) => {
|
|
282
|
+
var _a, _b;
|
|
283
|
+
const pollingKeySuffix = `node_${nodeId}`;
|
|
284
|
+
if (isPollingActive(pollingKeySuffix)) {
|
|
285
|
+
console.log(`Node ${nodeId} fetch already in progress`);
|
|
286
|
+
return;
|
|
287
|
+
}
|
|
288
|
+
freezeFlow();
|
|
289
|
+
nodeStore.resetNodeResult();
|
|
290
|
+
isExecuting.value = true;
|
|
291
|
+
nodeStore.isRunning = true;
|
|
292
|
+
state2.setExecutionState(getPollingKey(pollingKeySuffix), true);
|
|
293
|
+
showNotification(
|
|
294
|
+
"📊 Fetching Node Data",
|
|
295
|
+
`Starting data fetch for node ${nodeId}...`,
|
|
296
|
+
void 0,
|
|
297
|
+
false
|
|
298
|
+
);
|
|
299
|
+
try {
|
|
300
|
+
await axios.post("/node/trigger_fetch_data", null, {
|
|
301
|
+
params: {
|
|
302
|
+
flow_id: getFlowId(),
|
|
303
|
+
node_id: nodeId
|
|
304
|
+
},
|
|
305
|
+
headers: { accept: "application/json" }
|
|
306
|
+
});
|
|
307
|
+
nodeStore.showLogViewer();
|
|
308
|
+
startPolling(
|
|
309
|
+
() => checkRunStatus("Node data has been fetched successfully", pollingKeySuffix),
|
|
310
|
+
pollingKeySuffix
|
|
311
|
+
);
|
|
312
|
+
} catch (error) {
|
|
313
|
+
console.error("Error triggering node fetch:", error);
|
|
314
|
+
unFreezeFlow();
|
|
315
|
+
nodeStore.isRunning = false;
|
|
316
|
+
isExecuting.value = false;
|
|
317
|
+
state2.setExecutionState(getPollingKey(pollingKeySuffix), false);
|
|
318
|
+
const errorMessage = ((_b = (_a = error.response) == null ? void 0 : _a.data) == null ? void 0 : _b.detail) || "Failed to fetch node data";
|
|
319
|
+
showNotification("Error", errorMessage, "error");
|
|
320
|
+
throw error;
|
|
321
|
+
}
|
|
322
|
+
};
|
|
323
|
+
const cancelFlow = async () => {
|
|
324
|
+
try {
|
|
325
|
+
await axios.post("/flow/cancel/", null, {
|
|
326
|
+
params: { flow_id: getFlowId() },
|
|
327
|
+
headers: { accept: "application/json" }
|
|
328
|
+
});
|
|
329
|
+
showNotification("Cancelling", "The operation is being cancelled");
|
|
330
|
+
unFreezeFlow();
|
|
331
|
+
nodeStore.isRunning = false;
|
|
332
|
+
isExecuting.value = false;
|
|
333
|
+
stopPolling();
|
|
334
|
+
if (options.persistPolling) {
|
|
335
|
+
for (let i2 = 0; i2 < 100; i2++) {
|
|
336
|
+
state2.clearPollingInterval(getPollingKey(`node_${i2}`));
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
} catch (error) {
|
|
340
|
+
console.error("Error cancelling run:", error);
|
|
341
|
+
showNotification("Error", "Failed to cancel the operation", "error");
|
|
342
|
+
}
|
|
343
|
+
};
|
|
344
|
+
onUnmounted(() => {
|
|
345
|
+
if (!options.persistPolling && localPollingInterval.value !== null) {
|
|
346
|
+
clearInterval(localPollingInterval.value);
|
|
347
|
+
localPollingInterval.value = null;
|
|
348
|
+
}
|
|
349
|
+
});
|
|
350
|
+
return {
|
|
351
|
+
// State
|
|
352
|
+
isExecuting,
|
|
353
|
+
// Methods
|
|
354
|
+
runFlow,
|
|
355
|
+
triggerNodeFetch,
|
|
356
|
+
cancelFlow,
|
|
357
|
+
showNotification,
|
|
358
|
+
startPolling,
|
|
359
|
+
stopPolling,
|
|
360
|
+
checkRunStatus,
|
|
361
|
+
isPollingActive,
|
|
362
|
+
// Expose flow control if needed
|
|
363
|
+
freezeFlow,
|
|
364
|
+
unFreezeFlow
|
|
365
|
+
};
|
|
366
|
+
}
|
|
367
|
+
const _hoisted_1$k = { class: "button-group" };
|
|
368
|
+
const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
77
369
|
__name: "run",
|
|
78
370
|
props: {
|
|
79
371
|
flowId: { type: Number, required: true },
|
|
@@ -84,133 +376,20 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
84
376
|
enabled: true,
|
|
85
377
|
maxAttempts: Infinity
|
|
86
378
|
})
|
|
379
|
+
},
|
|
380
|
+
persistPolling: {
|
|
381
|
+
type: Boolean,
|
|
382
|
+
default: false
|
|
383
|
+
// RunButton doesn't need persistent polling by default
|
|
87
384
|
}
|
|
88
385
|
},
|
|
89
386
|
emits: ["logs-start", "logs-stop"],
|
|
90
387
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
91
388
|
const nodeStore = useNodeStore();
|
|
92
|
-
const pollingInterval = ref(null);
|
|
93
389
|
const props2 = __props;
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
vueFlowElement.nodesDraggable.value = false;
|
|
98
|
-
vueFlowElement.nodesConnectable.value = false;
|
|
99
|
-
vueFlowElement.elementsSelectable.value = false;
|
|
100
|
-
}
|
|
101
|
-
};
|
|
102
|
-
const unFreezeFlow = () => {
|
|
103
|
-
let vueFlowElement = nodeStore.vueFlowInstance;
|
|
104
|
-
if (vueFlowElement) {
|
|
105
|
-
vueFlowElement.nodesDraggable.value = true;
|
|
106
|
-
vueFlowElement.nodesConnectable.value = true;
|
|
107
|
-
vueFlowElement.elementsSelectable.value = true;
|
|
108
|
-
}
|
|
109
|
-
};
|
|
110
|
-
const showNotification = (title, message, type, dangerouslyUseHTMLString) => {
|
|
111
|
-
ElNotification({
|
|
112
|
-
title,
|
|
113
|
-
message,
|
|
114
|
-
type,
|
|
115
|
-
position: "top-left",
|
|
116
|
-
dangerouslyUseHTMLString
|
|
117
|
-
});
|
|
118
|
-
};
|
|
119
|
-
const startPolling = (checkFn) => {
|
|
120
|
-
if (pollingInterval.value === null && props2.pollingConfig.enabled) {
|
|
121
|
-
pollingInterval.value = setInterval(checkFn, props2.pollingConfig.interval);
|
|
122
|
-
}
|
|
123
|
-
};
|
|
124
|
-
const stopPolling = () => {
|
|
125
|
-
if (pollingInterval.value !== null) {
|
|
126
|
-
clearInterval(pollingInterval.value);
|
|
127
|
-
pollingInterval.value = null;
|
|
128
|
-
}
|
|
129
|
-
};
|
|
130
|
-
const createNotificationConfig = (runInfo) => ({
|
|
131
|
-
title: runInfo.success ? "Success" : "Error",
|
|
132
|
-
message: runInfo.success ? "The flow has completed" : "There were issues with the flow run, check the logging for more information",
|
|
133
|
-
type: runInfo.success ? "success" : "error"
|
|
134
|
-
});
|
|
135
|
-
const checkRunStatus = async () => {
|
|
136
|
-
try {
|
|
137
|
-
const response = await updateRunStatus(props2.flowId, nodeStore);
|
|
138
|
-
if (response.status === 200) {
|
|
139
|
-
stopPolling();
|
|
140
|
-
unFreezeFlow();
|
|
141
|
-
nodeStore.isRunning = false;
|
|
142
|
-
const notificationConfig = createNotificationConfig(response.data);
|
|
143
|
-
showNotification(
|
|
144
|
-
notificationConfig.title,
|
|
145
|
-
notificationConfig.message,
|
|
146
|
-
notificationConfig.type
|
|
147
|
-
);
|
|
148
|
-
} else if (response.status === 404) {
|
|
149
|
-
stopPolling();
|
|
150
|
-
unFreezeFlow();
|
|
151
|
-
nodeStore.isRunning = false;
|
|
152
|
-
nodeStore.runResults = {};
|
|
153
|
-
}
|
|
154
|
-
} catch (error) {
|
|
155
|
-
console.error("Error checking run status:", error);
|
|
156
|
-
stopPolling();
|
|
157
|
-
unFreezeFlow();
|
|
158
|
-
nodeStore.isRunning = false;
|
|
159
|
-
}
|
|
160
|
-
};
|
|
161
|
-
const runFlow = async () => {
|
|
162
|
-
const flowSettings = await getFlowSettings(nodeStore.flow_id);
|
|
163
|
-
if (!flowSettings) {
|
|
164
|
-
throw new Error("Failed to retrieve flow settings");
|
|
165
|
-
}
|
|
166
|
-
const escapeHtml = (text) => {
|
|
167
|
-
const div = document.createElement("div");
|
|
168
|
-
div.textContent = text;
|
|
169
|
-
return div.innerHTML;
|
|
170
|
-
};
|
|
171
|
-
freezeFlow();
|
|
172
|
-
nodeStore.resetNodeResult();
|
|
173
|
-
const executionLocationText = flowSettings.execution_location === "local" ? "Local" : "Remote";
|
|
174
|
-
const escapedFlowName = escapeHtml(flowSettings.name);
|
|
175
|
-
const notificationMessage = `
|
|
176
|
-
<div style="line-height: 1.4;">
|
|
177
|
-
<div><strong>Flow:</strong> "${escapedFlowName}"</div>
|
|
178
|
-
<div><strong>Mode:</strong> ${flowSettings.execution_mode}</div>
|
|
179
|
-
<div><strong>Location:</strong> ${executionLocationText}</div>
|
|
180
|
-
</div>
|
|
181
|
-
`;
|
|
182
|
-
showNotification("🚀 Flow Started", notificationMessage, void 0, true);
|
|
183
|
-
try {
|
|
184
|
-
await axios.post("/flow/run/", null, {
|
|
185
|
-
params: { flow_id: props2.flowId },
|
|
186
|
-
headers: { accept: "application/json" }
|
|
187
|
-
});
|
|
188
|
-
nodeStore.isRunning = true;
|
|
189
|
-
nodeStore.showLogViewer();
|
|
190
|
-
startPolling(checkRunStatus);
|
|
191
|
-
} catch (error) {
|
|
192
|
-
console.error("Error starting run:", error);
|
|
193
|
-
unFreezeFlow();
|
|
194
|
-
nodeStore.isRunning = false;
|
|
195
|
-
}
|
|
196
|
-
};
|
|
197
|
-
const cancelFlow = async () => {
|
|
198
|
-
try {
|
|
199
|
-
await axios.post("/flow/cancel/", null, {
|
|
200
|
-
params: { flow_id: props2.flowId },
|
|
201
|
-
headers: { accept: "application/json" }
|
|
202
|
-
});
|
|
203
|
-
showNotification("Cancelling", "The flow is being cancelled");
|
|
204
|
-
unFreezeFlow();
|
|
205
|
-
nodeStore.isRunning = false;
|
|
206
|
-
stopPolling();
|
|
207
|
-
} catch (error) {
|
|
208
|
-
console.error("Error cancelling run:", error);
|
|
209
|
-
showNotification("Error", "Failed to cancel the flow", "error");
|
|
210
|
-
}
|
|
211
|
-
};
|
|
212
|
-
onUnmounted(() => {
|
|
213
|
-
stopPolling();
|
|
390
|
+
const { runFlow, cancelFlow, showNotification, startPolling, stopPolling, checkRunStatus } = useFlowExecution(props2.flowId, props2.pollingConfig, {
|
|
391
|
+
persistPolling: props2.persistPolling,
|
|
392
|
+
pollingKey: `run_button_${props2.flowId}`
|
|
214
393
|
});
|
|
215
394
|
__expose({
|
|
216
395
|
startPolling,
|
|
@@ -222,12 +401,12 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
222
401
|
});
|
|
223
402
|
return (_ctx, _cache) => {
|
|
224
403
|
const _component_el_button = resolveComponent("el-button");
|
|
225
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
404
|
+
return openBlock(), createElementBlock("div", _hoisted_1$k, [
|
|
226
405
|
createVNode(_component_el_button, {
|
|
227
406
|
size: "small",
|
|
228
407
|
disabled: unref(nodeStore).isRunning,
|
|
229
408
|
round: "",
|
|
230
|
-
onClick: _cache[0] || (_cache[0] = ($event) => runFlow())
|
|
409
|
+
onClick: _cache[0] || (_cache[0] = ($event) => unref(runFlow)())
|
|
231
410
|
}, {
|
|
232
411
|
default: withCtx(() => _cache[2] || (_cache[2] = [
|
|
233
412
|
createTextVNode(" Run ")
|
|
@@ -239,7 +418,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
239
418
|
key: 0,
|
|
240
419
|
size: "small",
|
|
241
420
|
round: "",
|
|
242
|
-
onClick: _cache[1] || (_cache[1] = ($event) => cancelFlow())
|
|
421
|
+
onClick: _cache[1] || (_cache[1] = ($event) => unref(cancelFlow)())
|
|
243
422
|
}, {
|
|
244
423
|
default: withCtx(() => _cache[3] || (_cache[3] = [
|
|
245
424
|
createTextVNode(" Cancel ")
|
|
@@ -251,8 +430,8 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
251
430
|
};
|
|
252
431
|
}
|
|
253
432
|
});
|
|
254
|
-
const
|
|
255
|
-
const RunButton = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
433
|
+
const run_vue_vue_type_style_index_0_scoped_c0f9acc7_lang = "";
|
|
434
|
+
const RunButton = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-c0f9acc7"]]);
|
|
256
435
|
const _imports_0 = "/images/sheets.png";
|
|
257
436
|
const useFileBrowserStore = defineStore("fileBrowser", {
|
|
258
437
|
state: () => ({
|
|
@@ -275,7 +454,7 @@ const useFileBrowserStore = defineStore("fileBrowser", {
|
|
|
275
454
|
}
|
|
276
455
|
}
|
|
277
456
|
});
|
|
278
|
-
const handleApiError = (error) => {
|
|
457
|
+
const handleApiError$1 = (error) => {
|
|
279
458
|
var _a, _b, _c;
|
|
280
459
|
throw {
|
|
281
460
|
message: ((_b = (_a = error.response) == null ? void 0 : _a.data) == null ? void 0 : _b.detail) || "An unknown error occurred",
|
|
@@ -287,7 +466,7 @@ const getCurrentDirectoryContents = async (params) => {
|
|
|
287
466
|
const response = await axios.get("files/current_directory_contents/", { params });
|
|
288
467
|
return response.data;
|
|
289
468
|
} catch (error) {
|
|
290
|
-
return handleApiError(error);
|
|
469
|
+
return handleApiError$1(error);
|
|
291
470
|
}
|
|
292
471
|
};
|
|
293
472
|
const navigateUp = async () => {
|
|
@@ -295,7 +474,7 @@ const navigateUp = async () => {
|
|
|
295
474
|
const response = await axios.post("files/navigate_up/");
|
|
296
475
|
return response.data;
|
|
297
476
|
} catch (error) {
|
|
298
|
-
return handleApiError(error);
|
|
477
|
+
return handleApiError$1(error);
|
|
299
478
|
}
|
|
300
479
|
};
|
|
301
480
|
const navigateInto = async (directoryName) => {
|
|
@@ -305,7 +484,7 @@ const navigateInto = async (directoryName) => {
|
|
|
305
484
|
});
|
|
306
485
|
return response.data;
|
|
307
486
|
} catch (error) {
|
|
308
|
-
return handleApiError(error);
|
|
487
|
+
return handleApiError$1(error);
|
|
309
488
|
}
|
|
310
489
|
};
|
|
311
490
|
const navigateTo = async (directoryPath) => {
|
|
@@ -315,7 +494,7 @@ const navigateTo = async (directoryPath) => {
|
|
|
315
494
|
});
|
|
316
495
|
return response.data;
|
|
317
496
|
} catch (error) {
|
|
318
|
-
return handleApiError(error);
|
|
497
|
+
return handleApiError$1(error);
|
|
319
498
|
}
|
|
320
499
|
};
|
|
321
500
|
const getCurrentPath = async () => {
|
|
@@ -323,7 +502,7 @@ const getCurrentPath = async () => {
|
|
|
323
502
|
const response = await axios.get("files/current_path/");
|
|
324
503
|
return response.data;
|
|
325
504
|
} catch (error) {
|
|
326
|
-
return handleApiError(error);
|
|
505
|
+
return handleApiError$1(error);
|
|
327
506
|
}
|
|
328
507
|
};
|
|
329
508
|
function assertPath(path2) {
|
|
@@ -749,16 +928,16 @@ var posix = {
|
|
|
749
928
|
posix.posix = posix;
|
|
750
929
|
var pathBrowserify = posix;
|
|
751
930
|
const path = /* @__PURE__ */ getDefaultExportFromCjs(pathBrowserify);
|
|
752
|
-
const _hoisted_1$
|
|
753
|
-
const _hoisted_2$
|
|
754
|
-
const _hoisted_3$
|
|
755
|
-
const _hoisted_4$
|
|
756
|
-
const _hoisted_5$
|
|
757
|
-
const _hoisted_6$
|
|
758
|
-
const _hoisted_7$
|
|
759
|
-
const _hoisted_8$
|
|
760
|
-
const _hoisted_9 = { class: "sort-controls" };
|
|
761
|
-
const _hoisted_10 = { class: "material-icons" };
|
|
931
|
+
const _hoisted_1$j = { class: "file-browser" };
|
|
932
|
+
const _hoisted_2$h = { class: "browser-content" };
|
|
933
|
+
const _hoisted_3$g = { class: "browser-toolbar" };
|
|
934
|
+
const _hoisted_4$b = { class: "path-navigation" };
|
|
935
|
+
const _hoisted_5$8 = ["disabled"];
|
|
936
|
+
const _hoisted_6$7 = { class: "current-path" };
|
|
937
|
+
const _hoisted_7$5 = { class: "controls-row" };
|
|
938
|
+
const _hoisted_8$3 = { class: "search-container" };
|
|
939
|
+
const _hoisted_9$2 = { class: "sort-controls" };
|
|
940
|
+
const _hoisted_10$1 = { class: "material-icons" };
|
|
762
941
|
const _hoisted_11 = { class: "show-hidden-toggle" };
|
|
763
942
|
const _hoisted_12 = { class: "browser-main" };
|
|
764
943
|
const _hoisted_13 = {
|
|
@@ -788,7 +967,7 @@ const _hoisted_20 = { class: "file-details" };
|
|
|
788
967
|
const _hoisted_21 = { class: "file-info" };
|
|
789
968
|
const _hoisted_22 = { class: "browser-actions" };
|
|
790
969
|
const _hoisted_23 = { class: "dialog-footer" };
|
|
791
|
-
const _sfc_main$
|
|
970
|
+
const _sfc_main$m = /* @__PURE__ */ defineComponent({
|
|
792
971
|
__name: "fileBrowser",
|
|
793
972
|
props: {
|
|
794
973
|
allowedFileTypes: { default: () => [] },
|
|
@@ -1069,16 +1248,16 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
|
1069
1248
|
const _component_el_form_item = resolveComponent("el-form-item");
|
|
1070
1249
|
const _component_el_form = resolveComponent("el-form");
|
|
1071
1250
|
const _component_el_dialog = resolveComponent("el-dialog");
|
|
1072
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
1073
|
-
_cache[
|
|
1251
|
+
return openBlock(), createElementBlock("div", _hoisted_1$j, [
|
|
1252
|
+
_cache[16] || (_cache[16] = createBaseVNode("div", { class: "browser-header" }, [
|
|
1074
1253
|
createBaseVNode("div", { class: "browser-title" }, [
|
|
1075
1254
|
createBaseVNode("span", { class: "material-icons" }, "folder"),
|
|
1076
1255
|
createBaseVNode("span", null, "File Browser")
|
|
1077
1256
|
])
|
|
1078
1257
|
], -1)),
|
|
1079
|
-
createBaseVNode("div", _hoisted_2$
|
|
1080
|
-
createBaseVNode("div", _hoisted_3$
|
|
1081
|
-
createBaseVNode("div", _hoisted_4$
|
|
1258
|
+
createBaseVNode("div", _hoisted_2$h, [
|
|
1259
|
+
createBaseVNode("div", _hoisted_3$g, [
|
|
1260
|
+
createBaseVNode("div", _hoisted_4$b, [
|
|
1082
1261
|
createBaseVNode("button", {
|
|
1083
1262
|
class: "nav-button",
|
|
1084
1263
|
disabled: loading.value,
|
|
@@ -1086,11 +1265,11 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
|
1086
1265
|
}, _cache[7] || (_cache[7] = [
|
|
1087
1266
|
createBaseVNode("span", { class: "material-icons" }, "arrow_upward", -1),
|
|
1088
1267
|
createBaseVNode("span", null, "Up", -1)
|
|
1089
|
-
]), 8, _hoisted_5$
|
|
1090
|
-
createBaseVNode("div", _hoisted_6$
|
|
1268
|
+
]), 8, _hoisted_5$8),
|
|
1269
|
+
createBaseVNode("div", _hoisted_6$7, toDisplayString(currentPath.value), 1)
|
|
1091
1270
|
]),
|
|
1092
|
-
createBaseVNode("div", _hoisted_7$
|
|
1093
|
-
createBaseVNode("div", _hoisted_8$
|
|
1271
|
+
createBaseVNode("div", _hoisted_7$5, [
|
|
1272
|
+
createBaseVNode("div", _hoisted_8$3, [
|
|
1094
1273
|
createVNode(_component_el_input, {
|
|
1095
1274
|
modelValue: searchTerm.value,
|
|
1096
1275
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchTerm.value = $event),
|
|
@@ -1103,7 +1282,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
|
1103
1282
|
_: 1
|
|
1104
1283
|
}, 8, ["modelValue"])
|
|
1105
1284
|
]),
|
|
1106
|
-
createBaseVNode("div", _hoisted_9, [
|
|
1285
|
+
createBaseVNode("div", _hoisted_9$2, [
|
|
1107
1286
|
createVNode(_component_el_select, {
|
|
1108
1287
|
modelValue: sortBy.value,
|
|
1109
1288
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => sortBy.value = $event),
|
|
@@ -1137,7 +1316,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
|
1137
1316
|
onClick: toggleSortDirection
|
|
1138
1317
|
}, {
|
|
1139
1318
|
default: withCtx(() => [
|
|
1140
|
-
createBaseVNode("span", _hoisted_10, toDisplayString(sortDirection.value === "asc" ? "arrow_upward" : "arrow_downward"), 1)
|
|
1319
|
+
createBaseVNode("span", _hoisted_10$1, toDisplayString(sortDirection.value === "asc" ? "arrow_upward" : "arrow_downward"), 1)
|
|
1141
1320
|
]),
|
|
1142
1321
|
_: 1
|
|
1143
1322
|
})
|
|
@@ -1253,21 +1432,6 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
|
1253
1432
|
])),
|
|
1254
1433
|
_: 1,
|
|
1255
1434
|
__: [13]
|
|
1256
|
-
}, 8, ["disabled"])) : createCommentVNode("", true),
|
|
1257
|
-
_ctx.mode === "open" && selectedFile.value && !selectedFile.value.is_directory ? (openBlock(), createBlock(_component_el_button, {
|
|
1258
|
-
key: 3,
|
|
1259
|
-
type: "primary",
|
|
1260
|
-
disabled: loading.value,
|
|
1261
|
-
size: "small",
|
|
1262
|
-
style: { "background-color": "rgb(92, 92, 92)", "color": "white" },
|
|
1263
|
-
onClick: handleOpenFile
|
|
1264
|
-
}, {
|
|
1265
|
-
default: withCtx(() => _cache[14] || (_cache[14] = [
|
|
1266
|
-
createBaseVNode("span", { class: "material-icons" }, "open_in_new", -1),
|
|
1267
|
-
createTextVNode(" Open File ")
|
|
1268
|
-
])),
|
|
1269
|
-
_: 1,
|
|
1270
|
-
__: [14]
|
|
1271
1435
|
}, 8, ["disabled"])) : createCommentVNode("", true)
|
|
1272
1436
|
])
|
|
1273
1437
|
]),
|
|
@@ -1284,22 +1448,22 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
|
1284
1448
|
createVNode(_component_el_button, {
|
|
1285
1449
|
onClick: _cache[5] || (_cache[5] = ($event) => showCreateDialog.value = false)
|
|
1286
1450
|
}, {
|
|
1287
|
-
default: withCtx(() => _cache[
|
|
1451
|
+
default: withCtx(() => _cache[14] || (_cache[14] = [
|
|
1288
1452
|
createTextVNode("Cancel")
|
|
1289
1453
|
])),
|
|
1290
1454
|
_: 1,
|
|
1291
|
-
__: [
|
|
1455
|
+
__: [14]
|
|
1292
1456
|
}),
|
|
1293
1457
|
createVNode(_component_el_button, {
|
|
1294
1458
|
type: "primary",
|
|
1295
1459
|
disabled: !newFileName.value.trim(),
|
|
1296
1460
|
onClick: handleCreateFile
|
|
1297
1461
|
}, {
|
|
1298
|
-
default: withCtx(() => _cache[
|
|
1462
|
+
default: withCtx(() => _cache[15] || (_cache[15] = [
|
|
1299
1463
|
createTextVNode(" Create ")
|
|
1300
1464
|
])),
|
|
1301
1465
|
_: 1,
|
|
1302
|
-
__: [
|
|
1466
|
+
__: [15]
|
|
1303
1467
|
}, 8, ["disabled"])
|
|
1304
1468
|
])
|
|
1305
1469
|
]),
|
|
@@ -1334,15 +1498,19 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
|
1334
1498
|
};
|
|
1335
1499
|
}
|
|
1336
1500
|
});
|
|
1337
|
-
const
|
|
1338
|
-
const FileBrowser = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1339
|
-
const _hoisted_1$
|
|
1340
|
-
const _hoisted_2$
|
|
1341
|
-
const _hoisted_3$
|
|
1342
|
-
const _hoisted_4$
|
|
1343
|
-
const _hoisted_5$
|
|
1344
|
-
const _hoisted_6$
|
|
1345
|
-
const
|
|
1501
|
+
const fileBrowser_vue_vue_type_style_index_0_scoped_b74852a7_lang = "";
|
|
1502
|
+
const FileBrowser = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-b74852a7"]]);
|
|
1503
|
+
const _hoisted_1$i = { class: "action-buttons" };
|
|
1504
|
+
const _hoisted_2$g = { class: "quick-create-modal" };
|
|
1505
|
+
const _hoisted_3$f = { class: "form-group" };
|
|
1506
|
+
const _hoisted_4$a = { class: "preview-text" };
|
|
1507
|
+
const _hoisted_5$7 = { class: "dialog-footer" };
|
|
1508
|
+
const _hoisted_6$6 = { key: 0 };
|
|
1509
|
+
const _hoisted_7$4 = { class: "settings-modal-content" };
|
|
1510
|
+
const _hoisted_8$2 = { class: "form-group" };
|
|
1511
|
+
const _hoisted_9$1 = { class: "form-group" };
|
|
1512
|
+
const _hoisted_10 = { class: "form-group" };
|
|
1513
|
+
const _sfc_main$l = /* @__PURE__ */ defineComponent({
|
|
1346
1514
|
__name: "HeaderButtons",
|
|
1347
1515
|
emits: ["openFlow", "refreshFlow", "logs-start", "logs-stop"],
|
|
1348
1516
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
@@ -1350,16 +1518,35 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
1350
1518
|
const modalVisibleForOpen = ref(false);
|
|
1351
1519
|
const modalVisibleForSave = ref(false);
|
|
1352
1520
|
const modalVisibleForCreate = ref(false);
|
|
1521
|
+
const modalVisibleForQuickCreate = ref(false);
|
|
1353
1522
|
const modalVisibleForSettings = ref(false);
|
|
1354
1523
|
const flowSettings = ref(null);
|
|
1355
1524
|
const savePath = ref(void 0);
|
|
1356
1525
|
const runButton = ref(null);
|
|
1526
|
+
const quickCreateName = ref("");
|
|
1357
1527
|
const executionModes = ref(["Development", "Performance"]);
|
|
1358
1528
|
const executionLocationOptions = ref([
|
|
1359
1529
|
{ key: "local", label: "Local" },
|
|
1360
1530
|
{ key: "remote", label: "Remote" }
|
|
1361
1531
|
]);
|
|
1362
1532
|
const emit = __emit;
|
|
1533
|
+
const generateDefaultFileName = () => {
|
|
1534
|
+
const now2 = /* @__PURE__ */ new Date();
|
|
1535
|
+
const year = now2.getFullYear();
|
|
1536
|
+
const month = String(now2.getMonth() + 1).padStart(2, "0");
|
|
1537
|
+
const day = String(now2.getDate()).padStart(2, "0");
|
|
1538
|
+
const hours = String(now2.getHours()).padStart(2, "0");
|
|
1539
|
+
const minutes = String(now2.getMinutes()).padStart(2, "0");
|
|
1540
|
+
const seconds = String(now2.getSeconds()).padStart(2, "0");
|
|
1541
|
+
return `${year}${month}${day}_${hours}${minutes}${seconds}_flow.flowfile`;
|
|
1542
|
+
};
|
|
1543
|
+
const getPreviewFileName = () => {
|
|
1544
|
+
if (quickCreateName.value.trim()) {
|
|
1545
|
+
const name = quickCreateName.value.trim();
|
|
1546
|
+
return name.endsWith(".flowfile") ? name : `${name}.flowfile`;
|
|
1547
|
+
}
|
|
1548
|
+
return generateDefaultFileName();
|
|
1549
|
+
};
|
|
1363
1550
|
const loadFlowSettings = async () => {
|
|
1364
1551
|
if (!(nodeStore.flow_id && nodeStore.flow_id > 0))
|
|
1365
1552
|
return;
|
|
@@ -1422,11 +1609,23 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
1422
1609
|
const pathWithoutExtension = flowPath.replace(/\.[^/.]+$/, "");
|
|
1423
1610
|
const normalizedPath = `${pathWithoutExtension}.flowfile`;
|
|
1424
1611
|
const createdFlowId = await createFlow(normalizedPath);
|
|
1425
|
-
await saveFlow(createdFlowId, normalizedPath);
|
|
1426
1612
|
modalVisibleForCreate.value = false;
|
|
1427
1613
|
nodeStore.flow_id = createdFlowId;
|
|
1428
1614
|
emit("refreshFlow");
|
|
1429
1615
|
};
|
|
1616
|
+
const handleQuickCreateAction = async () => {
|
|
1617
|
+
const fileName = getPreviewFileName();
|
|
1618
|
+
console.log("Creating flow with name:", fileName);
|
|
1619
|
+
try {
|
|
1620
|
+
const createdFlowId = await createFlow(null, fileName);
|
|
1621
|
+
modalVisibleForQuickCreate.value = false;
|
|
1622
|
+
quickCreateName.value = "";
|
|
1623
|
+
nodeStore.flow_id = createdFlowId;
|
|
1624
|
+
emit("refreshFlow");
|
|
1625
|
+
} catch (error) {
|
|
1626
|
+
console.error("Failed to create quick flow:", error);
|
|
1627
|
+
}
|
|
1628
|
+
};
|
|
1430
1629
|
const openSettingsModal = () => {
|
|
1431
1630
|
modalVisibleForSettings.value = true;
|
|
1432
1631
|
};
|
|
@@ -1441,6 +1640,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
1441
1640
|
__expose({
|
|
1442
1641
|
loadFlowSettings,
|
|
1443
1642
|
openCreateDialog: () => modalVisibleForCreate.value = true,
|
|
1643
|
+
handleQuickCreateAction,
|
|
1444
1644
|
openOpenDialog: () => modalVisibleForOpen.value = true,
|
|
1445
1645
|
openSaveModal: () => modalVisibleForSave.value = true,
|
|
1446
1646
|
runFlow
|
|
@@ -1452,36 +1652,45 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
1452
1652
|
});
|
|
1453
1653
|
return (_ctx, _cache) => {
|
|
1454
1654
|
const _component_el_dialog = resolveComponent("el-dialog");
|
|
1655
|
+
const _component_el_input = resolveComponent("el-input");
|
|
1656
|
+
const _component_el_button = resolveComponent("el-button");
|
|
1455
1657
|
const _component_el_option = resolveComponent("el-option");
|
|
1456
1658
|
const _component_el_select = resolveComponent("el-select");
|
|
1457
1659
|
const _component_el_checkbox = resolveComponent("el-checkbox");
|
|
1458
1660
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
1459
|
-
createBaseVNode("div", _hoisted_1$
|
|
1661
|
+
createBaseVNode("div", _hoisted_1$i, [
|
|
1460
1662
|
createBaseVNode("button", {
|
|
1461
1663
|
class: "action-btn",
|
|
1462
1664
|
onClick: openSaveModal
|
|
1463
|
-
}, _cache[
|
|
1665
|
+
}, _cache[13] || (_cache[13] = [
|
|
1464
1666
|
createBaseVNode("span", { class: "material-icons btn-icon" }, "save", -1),
|
|
1465
1667
|
createBaseVNode("span", { class: "btn-text" }, "Save", -1)
|
|
1466
1668
|
])),
|
|
1467
1669
|
createBaseVNode("button", {
|
|
1468
1670
|
class: "action-btn",
|
|
1469
1671
|
onClick: _cache[0] || (_cache[0] = ($event) => modalVisibleForOpen.value = true)
|
|
1470
|
-
}, _cache[
|
|
1672
|
+
}, _cache[14] || (_cache[14] = [
|
|
1471
1673
|
createBaseVNode("span", { class: "material-icons btn-icon" }, "folder_open", -1),
|
|
1472
1674
|
createBaseVNode("span", { class: "btn-text" }, "Open", -1)
|
|
1473
1675
|
])),
|
|
1474
1676
|
createBaseVNode("button", {
|
|
1475
1677
|
class: "action-btn",
|
|
1476
1678
|
onClick: _cache[1] || (_cache[1] = ($event) => modalVisibleForCreate.value = true)
|
|
1477
|
-
}, _cache[
|
|
1679
|
+
}, _cache[15] || (_cache[15] = [
|
|
1478
1680
|
createBaseVNode("span", { class: "material-icons btn-icon" }, "add_circle_outline", -1),
|
|
1479
1681
|
createBaseVNode("span", { class: "btn-text" }, "Create", -1)
|
|
1480
1682
|
])),
|
|
1683
|
+
createBaseVNode("button", {
|
|
1684
|
+
class: "action-btn",
|
|
1685
|
+
onClick: _cache[2] || (_cache[2] = ($event) => modalVisibleForQuickCreate.value = true)
|
|
1686
|
+
}, _cache[16] || (_cache[16] = [
|
|
1687
|
+
createBaseVNode("span", { class: "material-icons btn-icon" }, "flash_on", -1),
|
|
1688
|
+
createBaseVNode("span", { class: "btn-text" }, "Quick Create", -1)
|
|
1689
|
+
])),
|
|
1481
1690
|
createBaseVNode("button", {
|
|
1482
1691
|
class: "action-btn",
|
|
1483
1692
|
onClick: openSettingsModal
|
|
1484
|
-
}, _cache[
|
|
1693
|
+
}, _cache[17] || (_cache[17] = [
|
|
1485
1694
|
createBaseVNode("span", { class: "material-icons btn-icon" }, "settings", -1),
|
|
1486
1695
|
createBaseVNode("span", { class: "btn-text" }, "Settings", -1)
|
|
1487
1696
|
])),
|
|
@@ -1494,14 +1703,14 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
1494
1703
|
class: normalizeClass(["action-btn", { active: unref(nodeStore).showCodeGenerator }]),
|
|
1495
1704
|
title: "Generate Python Code (Ctrl+G)",
|
|
1496
1705
|
onClick: toggleCodeGenerator
|
|
1497
|
-
}, _cache[
|
|
1706
|
+
}, _cache[18] || (_cache[18] = [
|
|
1498
1707
|
createBaseVNode("span", { class: "material-icons btn-icon" }, "code", -1),
|
|
1499
1708
|
createBaseVNode("span", { class: "btn-text" }, "Generate code", -1)
|
|
1500
1709
|
]), 2)
|
|
1501
1710
|
]),
|
|
1502
1711
|
createVNode(_component_el_dialog, {
|
|
1503
1712
|
modelValue: modalVisibleForOpen.value,
|
|
1504
|
-
"onUpdate:modelValue": _cache[
|
|
1713
|
+
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => modalVisibleForOpen.value = $event),
|
|
1505
1714
|
title: "Select or Enter a Flow File",
|
|
1506
1715
|
width: "70%"
|
|
1507
1716
|
}, {
|
|
@@ -1516,7 +1725,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
1516
1725
|
}, 8, ["modelValue"]),
|
|
1517
1726
|
createVNode(_component_el_dialog, {
|
|
1518
1727
|
modelValue: modalVisibleForSave.value,
|
|
1519
|
-
"onUpdate:modelValue": _cache[
|
|
1728
|
+
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => modalVisibleForSave.value = $event),
|
|
1520
1729
|
title: "Select save location",
|
|
1521
1730
|
width: "70%"
|
|
1522
1731
|
}, {
|
|
@@ -1535,7 +1744,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
1535
1744
|
}, 8, ["modelValue"]),
|
|
1536
1745
|
createVNode(_component_el_dialog, {
|
|
1537
1746
|
modelValue: modalVisibleForCreate.value,
|
|
1538
|
-
"onUpdate:modelValue": _cache[
|
|
1747
|
+
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => modalVisibleForCreate.value = $event),
|
|
1539
1748
|
title: "Select save location",
|
|
1540
1749
|
width: "70%"
|
|
1541
1750
|
}, {
|
|
@@ -1549,20 +1758,70 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
1549
1758
|
]),
|
|
1550
1759
|
_: 1
|
|
1551
1760
|
}, 8, ["modelValue"]),
|
|
1761
|
+
createVNode(_component_el_dialog, {
|
|
1762
|
+
modelValue: modalVisibleForQuickCreate.value,
|
|
1763
|
+
"onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => modalVisibleForQuickCreate.value = $event),
|
|
1764
|
+
title: "Create New Flow",
|
|
1765
|
+
width: "400px"
|
|
1766
|
+
}, {
|
|
1767
|
+
footer: withCtx(() => [
|
|
1768
|
+
createBaseVNode("span", _hoisted_5$7, [
|
|
1769
|
+
createVNode(_component_el_button, {
|
|
1770
|
+
onClick: _cache[7] || (_cache[7] = ($event) => modalVisibleForQuickCreate.value = false)
|
|
1771
|
+
}, {
|
|
1772
|
+
default: withCtx(() => _cache[22] || (_cache[22] = [
|
|
1773
|
+
createTextVNode("Cancel")
|
|
1774
|
+
])),
|
|
1775
|
+
_: 1,
|
|
1776
|
+
__: [22]
|
|
1777
|
+
}),
|
|
1778
|
+
createVNode(_component_el_button, {
|
|
1779
|
+
type: "primary",
|
|
1780
|
+
onClick: handleQuickCreateAction
|
|
1781
|
+
}, {
|
|
1782
|
+
default: withCtx(() => _cache[23] || (_cache[23] = [
|
|
1783
|
+
createTextVNode("Create Flow")
|
|
1784
|
+
])),
|
|
1785
|
+
_: 1,
|
|
1786
|
+
__: [23]
|
|
1787
|
+
})
|
|
1788
|
+
])
|
|
1789
|
+
]),
|
|
1790
|
+
default: withCtx(() => [
|
|
1791
|
+
createBaseVNode("div", _hoisted_2$g, [
|
|
1792
|
+
createBaseVNode("div", _hoisted_3$f, [
|
|
1793
|
+
_cache[19] || (_cache[19] = createBaseVNode("label", { for: "flow-name" }, "Flow Name (optional):", -1)),
|
|
1794
|
+
createVNode(_component_el_input, {
|
|
1795
|
+
id: "flow-name",
|
|
1796
|
+
modelValue: quickCreateName.value,
|
|
1797
|
+
"onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => quickCreateName.value = $event),
|
|
1798
|
+
placeholder: "Leave empty for auto-generated name",
|
|
1799
|
+
clearable: ""
|
|
1800
|
+
}, null, 8, ["modelValue"])
|
|
1801
|
+
]),
|
|
1802
|
+
createBaseVNode("div", _hoisted_4$a, [
|
|
1803
|
+
_cache[20] || (_cache[20] = createBaseVNode("strong", null, "File will be created as:", -1)),
|
|
1804
|
+
_cache[21] || (_cache[21] = createBaseVNode("br", null, null, -1)),
|
|
1805
|
+
createBaseVNode("code", null, toDisplayString(getPreviewFileName()), 1)
|
|
1806
|
+
])
|
|
1807
|
+
])
|
|
1808
|
+
]),
|
|
1809
|
+
_: 1
|
|
1810
|
+
}, 8, ["modelValue"]),
|
|
1552
1811
|
createVNode(_component_el_dialog, {
|
|
1553
1812
|
modelValue: modalVisibleForSettings.value,
|
|
1554
|
-
"onUpdate:modelValue": _cache[
|
|
1813
|
+
"onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => modalVisibleForSettings.value = $event),
|
|
1555
1814
|
title: "Execution Settings",
|
|
1556
1815
|
width: "30%"
|
|
1557
1816
|
}, {
|
|
1558
1817
|
default: withCtx(() => [
|
|
1559
|
-
flowSettings.value ? (openBlock(), createElementBlock("div",
|
|
1560
|
-
createBaseVNode("div",
|
|
1561
|
-
createBaseVNode("div",
|
|
1562
|
-
_cache[
|
|
1818
|
+
flowSettings.value ? (openBlock(), createElementBlock("div", _hoisted_6$6, [
|
|
1819
|
+
createBaseVNode("div", _hoisted_7$4, [
|
|
1820
|
+
createBaseVNode("div", _hoisted_8$2, [
|
|
1821
|
+
_cache[24] || (_cache[24] = createBaseVNode("label", null, "Execution Mode:", -1)),
|
|
1563
1822
|
createVNode(_component_el_select, {
|
|
1564
1823
|
modelValue: flowSettings.value.execution_mode,
|
|
1565
|
-
"onUpdate:modelValue": _cache[
|
|
1824
|
+
"onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => flowSettings.value.execution_mode = $event),
|
|
1566
1825
|
size: "small",
|
|
1567
1826
|
placeholder: "Select run mode",
|
|
1568
1827
|
style: { "width": "100%" },
|
|
@@ -1580,11 +1839,11 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
1580
1839
|
_: 1
|
|
1581
1840
|
}, 8, ["modelValue"])
|
|
1582
1841
|
]),
|
|
1583
|
-
createBaseVNode("div",
|
|
1584
|
-
_cache[
|
|
1842
|
+
createBaseVNode("div", _hoisted_9$1, [
|
|
1843
|
+
_cache[25] || (_cache[25] = createBaseVNode("label", null, "Execution location:", -1)),
|
|
1585
1844
|
createVNode(_component_el_select, {
|
|
1586
1845
|
modelValue: flowSettings.value.execution_location,
|
|
1587
|
-
"onUpdate:modelValue": _cache[
|
|
1846
|
+
"onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => flowSettings.value.execution_location = $event),
|
|
1588
1847
|
size: "small",
|
|
1589
1848
|
placeholder: "Select the execution location",
|
|
1590
1849
|
style: { "width": "100%" },
|
|
@@ -1602,10 +1861,10 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
1602
1861
|
_: 1
|
|
1603
1862
|
}, 8, ["modelValue"])
|
|
1604
1863
|
]),
|
|
1605
|
-
createBaseVNode("div",
|
|
1864
|
+
createBaseVNode("div", _hoisted_10, [
|
|
1606
1865
|
createVNode(_component_el_checkbox, {
|
|
1607
1866
|
modelValue: flowSettings.value.show_detailed_progress,
|
|
1608
|
-
"onUpdate:modelValue": _cache[
|
|
1867
|
+
"onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => flowSettings.value.show_detailed_progress = $event),
|
|
1609
1868
|
label: "Show details during execution",
|
|
1610
1869
|
size: "small",
|
|
1611
1870
|
onChange: pushFlowSettings
|
|
@@ -1620,8 +1879,385 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
1620
1879
|
};
|
|
1621
1880
|
}
|
|
1622
1881
|
});
|
|
1623
|
-
const
|
|
1624
|
-
const HeaderButtons = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1882
|
+
const HeaderButtons_vue_vue_type_style_index_0_scoped_2566c44c_lang = "";
|
|
1883
|
+
const HeaderButtons = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-2566c44c"]]);
|
|
1884
|
+
const useItemStore = defineStore("itemStore", () => {
|
|
1885
|
+
const items = ref({});
|
|
1886
|
+
const initialItemStates = ref({});
|
|
1887
|
+
const groups = ref({});
|
|
1888
|
+
const inResizing = ref(false);
|
|
1889
|
+
const idItemClicked = ref(null);
|
|
1890
|
+
const idItemVisible = ref(null);
|
|
1891
|
+
const layoutPresets = {
|
|
1892
|
+
sidePanel: { width: 400, height: "100%" },
|
|
1893
|
+
bottomPanel: { width: "100%", height: 300 },
|
|
1894
|
+
dataView: { width: 600, height: 400 },
|
|
1895
|
+
logView: { width: 600, height: 400 }
|
|
1896
|
+
};
|
|
1897
|
+
const getGroupItems = computed$1(() => (groupName) => {
|
|
1898
|
+
if (!groups.value[groupName])
|
|
1899
|
+
return [];
|
|
1900
|
+
return groups.value[groupName].map((id2) => items.value[id2]).filter(Boolean);
|
|
1901
|
+
});
|
|
1902
|
+
const registerInitialState = (id2, initialState) => {
|
|
1903
|
+
if (!initialItemStates.value[id2]) {
|
|
1904
|
+
initialItemStates.value[id2] = { ...initialState };
|
|
1905
|
+
}
|
|
1906
|
+
};
|
|
1907
|
+
const bringToFront = (id2) => {
|
|
1908
|
+
if (!items.value[id2]) {
|
|
1909
|
+
console.warn(`Item ${id2} not found`);
|
|
1910
|
+
return;
|
|
1911
|
+
}
|
|
1912
|
+
if (items.value[id2].fullScreen)
|
|
1913
|
+
return;
|
|
1914
|
+
let maxZIndex = 99;
|
|
1915
|
+
Object.entries(items.value).forEach(([itemId, item]) => {
|
|
1916
|
+
if (!item.fullScreen && itemId !== id2) {
|
|
1917
|
+
maxZIndex = Math.max(maxZIndex, item.zIndex);
|
|
1918
|
+
}
|
|
1919
|
+
});
|
|
1920
|
+
items.value[id2].zIndex = maxZIndex + 1;
|
|
1921
|
+
saveItemState(id2);
|
|
1922
|
+
};
|
|
1923
|
+
const setItemState = (id2, state2) => {
|
|
1924
|
+
if (!items.value[id2]) {
|
|
1925
|
+
items.value[id2] = {
|
|
1926
|
+
width: 400,
|
|
1927
|
+
height: 300,
|
|
1928
|
+
left: 100,
|
|
1929
|
+
top: 100,
|
|
1930
|
+
stickynessPosition: "free",
|
|
1931
|
+
fullWidth: false,
|
|
1932
|
+
fullHeight: false,
|
|
1933
|
+
zIndex: 100,
|
|
1934
|
+
fullScreen: false,
|
|
1935
|
+
clicked: false
|
|
1936
|
+
};
|
|
1937
|
+
}
|
|
1938
|
+
const oldGroup = items.value[id2].group;
|
|
1939
|
+
Object.assign(items.value[id2], state2);
|
|
1940
|
+
if (state2.group !== void 0) {
|
|
1941
|
+
if (oldGroup && groups.value[oldGroup]) {
|
|
1942
|
+
groups.value[oldGroup] = groups.value[oldGroup].filter((itemId) => itemId !== id2);
|
|
1943
|
+
}
|
|
1944
|
+
if (state2.group) {
|
|
1945
|
+
if (!groups.value[state2.group]) {
|
|
1946
|
+
groups.value[state2.group] = [];
|
|
1947
|
+
}
|
|
1948
|
+
if (!groups.value[state2.group].includes(id2)) {
|
|
1949
|
+
groups.value[state2.group].push(id2);
|
|
1950
|
+
}
|
|
1951
|
+
if (state2.syncDimensions) {
|
|
1952
|
+
syncGroupDimensions(state2.group, id2);
|
|
1953
|
+
}
|
|
1954
|
+
}
|
|
1955
|
+
}
|
|
1956
|
+
};
|
|
1957
|
+
const syncGroupDimensions = (groupName, sourceId) => {
|
|
1958
|
+
const groupItems = groups.value[groupName];
|
|
1959
|
+
if (!groupItems || groupItems.length < 2)
|
|
1960
|
+
return;
|
|
1961
|
+
const referenceId = sourceId || groupItems[0];
|
|
1962
|
+
const reference = items.value[referenceId];
|
|
1963
|
+
if (!reference)
|
|
1964
|
+
return;
|
|
1965
|
+
groupItems.forEach((id2) => {
|
|
1966
|
+
var _a;
|
|
1967
|
+
if (id2 !== referenceId && ((_a = items.value[id2]) == null ? void 0 : _a.syncDimensions)) {
|
|
1968
|
+
items.value[id2].width = reference.width;
|
|
1969
|
+
items.value[id2].height = reference.height;
|
|
1970
|
+
saveItemState(id2);
|
|
1971
|
+
}
|
|
1972
|
+
});
|
|
1973
|
+
};
|
|
1974
|
+
const arrangeItems = (arrangement) => {
|
|
1975
|
+
const visibleItems = Object.entries(items.value).filter(([, item]) => !item.fullScreen).sort((a3, b2) => a3[1].zIndex - b2[1].zIndex);
|
|
1976
|
+
switch (arrangement) {
|
|
1977
|
+
case "cascade": {
|
|
1978
|
+
let offset = 0;
|
|
1979
|
+
visibleItems.forEach(([id2, item]) => {
|
|
1980
|
+
item.left = 100 + offset;
|
|
1981
|
+
item.top = 100 + offset;
|
|
1982
|
+
item.stickynessPosition = "free";
|
|
1983
|
+
offset += 30;
|
|
1984
|
+
saveItemState(id2);
|
|
1985
|
+
});
|
|
1986
|
+
break;
|
|
1987
|
+
}
|
|
1988
|
+
case "tile": {
|
|
1989
|
+
const screenWidth = window.innerWidth;
|
|
1990
|
+
const screenHeight = window.innerHeight;
|
|
1991
|
+
const itemCount = visibleItems.length;
|
|
1992
|
+
const cols = Math.ceil(Math.sqrt(itemCount));
|
|
1993
|
+
const rows = Math.ceil(itemCount / cols);
|
|
1994
|
+
const itemWidth = Math.floor(screenWidth / cols) - 20;
|
|
1995
|
+
const itemHeight = Math.floor(screenHeight / rows) - 20;
|
|
1996
|
+
visibleItems.forEach(([id2, item], index) => {
|
|
1997
|
+
const col = index % cols;
|
|
1998
|
+
const row = Math.floor(index / cols);
|
|
1999
|
+
item.left = col * (itemWidth + 10) + 10;
|
|
2000
|
+
item.top = row * (itemHeight + 10) + 10;
|
|
2001
|
+
item.width = itemWidth;
|
|
2002
|
+
item.height = itemHeight;
|
|
2003
|
+
item.stickynessPosition = "free";
|
|
2004
|
+
saveItemState(id2);
|
|
2005
|
+
});
|
|
2006
|
+
break;
|
|
2007
|
+
}
|
|
2008
|
+
case "stack": {
|
|
2009
|
+
visibleItems.forEach(([id2, item]) => {
|
|
2010
|
+
item.left = 100;
|
|
2011
|
+
item.top = 100;
|
|
2012
|
+
item.stickynessPosition = "free";
|
|
2013
|
+
saveItemState(id2);
|
|
2014
|
+
});
|
|
2015
|
+
break;
|
|
2016
|
+
}
|
|
2017
|
+
}
|
|
2018
|
+
};
|
|
2019
|
+
const preventOverlap = (id2) => {
|
|
2020
|
+
const item = items.value[id2];
|
|
2021
|
+
if (!item || item.stickynessPosition !== "free")
|
|
2022
|
+
return;
|
|
2023
|
+
const threshold = 50;
|
|
2024
|
+
let adjusted = false;
|
|
2025
|
+
Object.entries(items.value).forEach(([otherId, otherItem]) => {
|
|
2026
|
+
if (otherId === id2 || otherItem.fullScreen)
|
|
2027
|
+
return;
|
|
2028
|
+
const horizontalOverlap = item.left < otherItem.left + otherItem.width && item.left + item.width > otherItem.left;
|
|
2029
|
+
const verticalOverlap = item.top < otherItem.top + otherItem.height && item.top + item.height > otherItem.top;
|
|
2030
|
+
if (horizontalOverlap && verticalOverlap) {
|
|
2031
|
+
item.left = otherItem.left + otherItem.width + threshold;
|
|
2032
|
+
if (item.left + item.width > window.innerWidth) {
|
|
2033
|
+
item.left = 100;
|
|
2034
|
+
item.top = otherItem.top + otherItem.height + threshold;
|
|
2035
|
+
}
|
|
2036
|
+
adjusted = true;
|
|
2037
|
+
}
|
|
2038
|
+
});
|
|
2039
|
+
if (adjusted) {
|
|
2040
|
+
saveItemState(id2);
|
|
2041
|
+
}
|
|
2042
|
+
};
|
|
2043
|
+
const saveItemState = (id2) => {
|
|
2044
|
+
const itemState = items.value[id2];
|
|
2045
|
+
localStorage.setItem(`overlayPositionAndSize_${id2}`, JSON.stringify(itemState));
|
|
2046
|
+
if (itemState.group) {
|
|
2047
|
+
const groupData = { groups: groups.value };
|
|
2048
|
+
localStorage.setItem("overlayGroups", JSON.stringify(groupData));
|
|
2049
|
+
}
|
|
2050
|
+
};
|
|
2051
|
+
const loadItemState = (id2) => {
|
|
2052
|
+
const savedState = localStorage.getItem(`overlayPositionAndSize_${id2}`);
|
|
2053
|
+
if (savedState) {
|
|
2054
|
+
const state2 = JSON.parse(savedState);
|
|
2055
|
+
setItemState(id2, state2);
|
|
2056
|
+
}
|
|
2057
|
+
const savedGroups = localStorage.getItem("overlayGroups");
|
|
2058
|
+
if (savedGroups) {
|
|
2059
|
+
const groupData = JSON.parse(savedGroups);
|
|
2060
|
+
groups.value = groupData.groups || {};
|
|
2061
|
+
}
|
|
2062
|
+
};
|
|
2063
|
+
const applyPreset = (id2, presetName) => {
|
|
2064
|
+
const preset = layoutPresets[presetName];
|
|
2065
|
+
const updates = {};
|
|
2066
|
+
if (preset.width === "100%") {
|
|
2067
|
+
updates.width = window.innerWidth;
|
|
2068
|
+
updates.fullWidth = true;
|
|
2069
|
+
} else {
|
|
2070
|
+
updates.width = preset.width;
|
|
2071
|
+
updates.fullWidth = false;
|
|
2072
|
+
}
|
|
2073
|
+
if (preset.height === "100%") {
|
|
2074
|
+
updates.height = window.innerHeight;
|
|
2075
|
+
updates.fullHeight = true;
|
|
2076
|
+
} else {
|
|
2077
|
+
updates.height = preset.height;
|
|
2078
|
+
updates.fullHeight = false;
|
|
2079
|
+
}
|
|
2080
|
+
setItemState(id2, updates);
|
|
2081
|
+
saveItemState(id2);
|
|
2082
|
+
};
|
|
2083
|
+
const toggleFullScreen = (id2) => {
|
|
2084
|
+
if (!items.value[id2])
|
|
2085
|
+
return;
|
|
2086
|
+
setFullScreen(id2, !items.value[id2].fullScreen);
|
|
2087
|
+
};
|
|
2088
|
+
const setFullScreen = (id2, fullScreen) => {
|
|
2089
|
+
if (!items.value[id2])
|
|
2090
|
+
return;
|
|
2091
|
+
if (items.value[id2].fullScreen !== fullScreen) {
|
|
2092
|
+
if (fullScreen) {
|
|
2093
|
+
Object.keys(items.value).forEach((otherId) => {
|
|
2094
|
+
if (otherId !== id2) {
|
|
2095
|
+
items.value[otherId].zIndex = 1;
|
|
2096
|
+
}
|
|
2097
|
+
});
|
|
2098
|
+
items.value[id2].fullScreen = true;
|
|
2099
|
+
items.value[id2].prevWidth = items.value[id2].width;
|
|
2100
|
+
items.value[id2].prevHeight = items.value[id2].height;
|
|
2101
|
+
items.value[id2].prevLeft = items.value[id2].left;
|
|
2102
|
+
items.value[id2].prevTop = items.value[id2].top;
|
|
2103
|
+
items.value[id2].width = window.innerWidth;
|
|
2104
|
+
items.value[id2].height = window.innerHeight;
|
|
2105
|
+
items.value[id2].left = 0;
|
|
2106
|
+
items.value[id2].top = 0;
|
|
2107
|
+
items.value[id2].zIndex = 9999;
|
|
2108
|
+
} else {
|
|
2109
|
+
items.value[id2].fullScreen = false;
|
|
2110
|
+
items.value[id2].width = items.value[id2].prevWidth || 400;
|
|
2111
|
+
items.value[id2].height = items.value[id2].prevHeight || 300;
|
|
2112
|
+
items.value[id2].left = items.value[id2].prevLeft || 100;
|
|
2113
|
+
items.value[id2].top = items.value[id2].prevTop || 100;
|
|
2114
|
+
items.value[id2].zIndex = 1e3;
|
|
2115
|
+
Object.keys(items.value).forEach((otherId) => {
|
|
2116
|
+
if (otherId !== id2) {
|
|
2117
|
+
items.value[otherId].zIndex = 100;
|
|
2118
|
+
}
|
|
2119
|
+
});
|
|
2120
|
+
}
|
|
2121
|
+
saveItemState(id2);
|
|
2122
|
+
clickOnItem(id2);
|
|
2123
|
+
}
|
|
2124
|
+
};
|
|
2125
|
+
const resetLayout = () => {
|
|
2126
|
+
Object.keys(items.value).forEach((id2) => {
|
|
2127
|
+
localStorage.removeItem(`overlayPositionAndSize_${id2}`);
|
|
2128
|
+
});
|
|
2129
|
+
localStorage.removeItem("overlayGroups");
|
|
2130
|
+
groups.value = {};
|
|
2131
|
+
Object.keys(initialItemStates.value).forEach((id2) => {
|
|
2132
|
+
const initialState = initialItemStates.value[id2];
|
|
2133
|
+
if (!initialState)
|
|
2134
|
+
return;
|
|
2135
|
+
const resetState = {
|
|
2136
|
+
width: initialState.width || 400,
|
|
2137
|
+
height: initialState.height || 300,
|
|
2138
|
+
left: initialState.left || 100,
|
|
2139
|
+
top: initialState.top || 100,
|
|
2140
|
+
stickynessPosition: initialState.stickynessPosition || "free",
|
|
2141
|
+
fullWidth: initialState.fullWidth || false,
|
|
2142
|
+
fullHeight: initialState.fullHeight || false,
|
|
2143
|
+
zIndex: 100,
|
|
2144
|
+
fullScreen: false,
|
|
2145
|
+
clicked: false,
|
|
2146
|
+
group: initialState.group,
|
|
2147
|
+
syncDimensions: initialState.syncDimensions
|
|
2148
|
+
};
|
|
2149
|
+
items.value[id2] = resetState;
|
|
2150
|
+
if (resetState.group) {
|
|
2151
|
+
if (!groups.value[resetState.group]) {
|
|
2152
|
+
groups.value[resetState.group] = [];
|
|
2153
|
+
}
|
|
2154
|
+
if (!groups.value[resetState.group].includes(id2)) {
|
|
2155
|
+
groups.value[resetState.group].push(id2);
|
|
2156
|
+
}
|
|
2157
|
+
}
|
|
2158
|
+
});
|
|
2159
|
+
setTimeout(() => {
|
|
2160
|
+
window.dispatchEvent(
|
|
2161
|
+
new CustomEvent("layout-reset", {
|
|
2162
|
+
detail: { initialStates: initialItemStates.value }
|
|
2163
|
+
})
|
|
2164
|
+
);
|
|
2165
|
+
}, 0);
|
|
2166
|
+
};
|
|
2167
|
+
const resetSingleItem = (id2) => {
|
|
2168
|
+
var _a;
|
|
2169
|
+
const initialState = initialItemStates.value[id2];
|
|
2170
|
+
if (!initialState) {
|
|
2171
|
+
console.warn(`No initial state found for item ${id2}`);
|
|
2172
|
+
return;
|
|
2173
|
+
}
|
|
2174
|
+
localStorage.removeItem(`overlayPositionAndSize_${id2}`);
|
|
2175
|
+
const resetState = {
|
|
2176
|
+
width: initialState.width || 400,
|
|
2177
|
+
height: initialState.height || 300,
|
|
2178
|
+
left: initialState.left || 100,
|
|
2179
|
+
top: initialState.top || 100,
|
|
2180
|
+
stickynessPosition: initialState.stickynessPosition || "free",
|
|
2181
|
+
fullWidth: initialState.fullWidth || false,
|
|
2182
|
+
fullHeight: initialState.fullHeight || false,
|
|
2183
|
+
zIndex: ((_a = items.value[id2]) == null ? void 0 : _a.zIndex) || 100,
|
|
2184
|
+
fullScreen: false,
|
|
2185
|
+
clicked: false,
|
|
2186
|
+
group: initialState.group,
|
|
2187
|
+
syncDimensions: initialState.syncDimensions
|
|
2188
|
+
};
|
|
2189
|
+
items.value[id2] = resetState;
|
|
2190
|
+
};
|
|
2191
|
+
const clickOnItem = (id2) => {
|
|
2192
|
+
if (!items.value[id2] || items.value[id2].fullScreen)
|
|
2193
|
+
return;
|
|
2194
|
+
let maxZIndex = 99;
|
|
2195
|
+
Object.values(items.value).forEach((item) => {
|
|
2196
|
+
if (!item.fullScreen) {
|
|
2197
|
+
maxZIndex = Math.max(maxZIndex, item.zIndex);
|
|
2198
|
+
}
|
|
2199
|
+
});
|
|
2200
|
+
if (items.value[id2].zIndex <= maxZIndex) {
|
|
2201
|
+
items.value[id2].zIndex = maxZIndex + 1;
|
|
2202
|
+
saveItemState(id2);
|
|
2203
|
+
}
|
|
2204
|
+
idItemClicked.value = id2;
|
|
2205
|
+
};
|
|
2206
|
+
const setResizing = (resizing) => {
|
|
2207
|
+
inResizing.value = resizing;
|
|
2208
|
+
};
|
|
2209
|
+
const getResizing = () => {
|
|
2210
|
+
return inResizing.value;
|
|
2211
|
+
};
|
|
2212
|
+
const scrollOnItem = (id2) => {
|
|
2213
|
+
const itemElement = document.getElementById(id2);
|
|
2214
|
+
if (!itemElement)
|
|
2215
|
+
return;
|
|
2216
|
+
const observer = new IntersectionObserver(
|
|
2217
|
+
(entries) => {
|
|
2218
|
+
entries.forEach((entry) => {
|
|
2219
|
+
if (entry.isIntersecting) {
|
|
2220
|
+
idItemVisible.value = id2;
|
|
2221
|
+
items.value[id2].zIndex = 1e3;
|
|
2222
|
+
} else if (idItemVisible.value === id2) {
|
|
2223
|
+
items.value[id2].zIndex = 100;
|
|
2224
|
+
idItemVisible.value = null;
|
|
2225
|
+
}
|
|
2226
|
+
});
|
|
2227
|
+
},
|
|
2228
|
+
{
|
|
2229
|
+
threshold: 0.5
|
|
2230
|
+
}
|
|
2231
|
+
);
|
|
2232
|
+
observer.observe(itemElement);
|
|
2233
|
+
};
|
|
2234
|
+
return {
|
|
2235
|
+
inResizing,
|
|
2236
|
+
items,
|
|
2237
|
+
groups,
|
|
2238
|
+
layoutPresets,
|
|
2239
|
+
initialItemStates,
|
|
2240
|
+
registerInitialState,
|
|
2241
|
+
setItemState,
|
|
2242
|
+
saveItemState,
|
|
2243
|
+
loadItemState,
|
|
2244
|
+
setResizing,
|
|
2245
|
+
getResizing,
|
|
2246
|
+
clickOnItem,
|
|
2247
|
+
scrollOnItem,
|
|
2248
|
+
idItemVisible,
|
|
2249
|
+
toggleFullScreen,
|
|
2250
|
+
setFullScreen,
|
|
2251
|
+
arrangeItems,
|
|
2252
|
+
preventOverlap,
|
|
2253
|
+
syncGroupDimensions,
|
|
2254
|
+
applyPreset,
|
|
2255
|
+
getGroupItems,
|
|
2256
|
+
resetLayout,
|
|
2257
|
+
resetSingleItem,
|
|
2258
|
+
bringToFront
|
|
2259
|
+
};
|
|
2260
|
+
});
|
|
1625
2261
|
/*! Element Plus Icons Vue v2.3.1 */
|
|
1626
2262
|
var arrow_down_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
1627
2263
|
name: "ArrowDown",
|
|
@@ -1719,13 +2355,14 @@ var warning_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
1719
2355
|
}
|
|
1720
2356
|
});
|
|
1721
2357
|
var warning_filled_default = warning_filled_vue_vue_type_script_setup_true_lang_default;
|
|
1722
|
-
const _hoisted_1$
|
|
1723
|
-
const _hoisted_2$
|
|
1724
|
-
const _hoisted_3$
|
|
1725
|
-
const _sfc_main$
|
|
2358
|
+
const _hoisted_1$h = { class: "status-wrapper" };
|
|
2359
|
+
const _hoisted_2$f = { class: "flow-card" };
|
|
2360
|
+
const _hoisted_3$e = ["title"];
|
|
2361
|
+
const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
1726
2362
|
__name: "status",
|
|
1727
2363
|
setup(__props) {
|
|
1728
2364
|
const nodeStore = useNodeStore();
|
|
2365
|
+
const draggableItemStore = useItemStore();
|
|
1729
2366
|
const lastStatusChange = ref(/* @__PURE__ */ new Date());
|
|
1730
2367
|
const isRunning = computed$1(() => nodeStore.isRunning);
|
|
1731
2368
|
const showFlowResult = computed$1(() => nodeStore.showFlowResult);
|
|
@@ -1761,17 +2398,21 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
1761
2398
|
const toggleResults = () => {
|
|
1762
2399
|
nodeStore.showFlowResult = !nodeStore.showFlowResult;
|
|
1763
2400
|
nodeStore.isShowingLogViewer = nodeStore.showFlowResult;
|
|
2401
|
+
if (nodeStore.isShowingLogViewer) {
|
|
2402
|
+
draggableItemStore.bringToFront("logViewer");
|
|
2403
|
+
draggableItemStore.bringToFront("flowresults");
|
|
2404
|
+
}
|
|
1764
2405
|
};
|
|
1765
2406
|
return (_ctx, _cache) => {
|
|
1766
2407
|
const _component_el_icon = resolveComponent("el-icon");
|
|
1767
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
2408
|
+
return openBlock(), createElementBlock("div", _hoisted_1$h, [
|
|
1768
2409
|
createVNode(PopOver, {
|
|
1769
2410
|
content: tooltipContent.value,
|
|
1770
2411
|
title: isRunning.value ? "Processing Flow" : "Flow Idle",
|
|
1771
2412
|
placement: "left"
|
|
1772
2413
|
}, {
|
|
1773
2414
|
default: withCtx(() => [
|
|
1774
|
-
createBaseVNode("div", _hoisted_2$
|
|
2415
|
+
createBaseVNode("div", _hoisted_2$f, [
|
|
1775
2416
|
(openBlock(), createElementBlock("svg", {
|
|
1776
2417
|
viewBox: "0 0 100 100",
|
|
1777
2418
|
class: normalizeClass(["flow-animation", { "is-flowing": isRunning.value }])
|
|
@@ -1860,7 +2501,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
1860
2501
|
]),
|
|
1861
2502
|
_: 1
|
|
1862
2503
|
})) : createCommentVNode("", true)
|
|
1863
|
-
], 10, _hoisted_3$
|
|
2504
|
+
], 10, _hoisted_3$e)
|
|
1864
2505
|
]),
|
|
1865
2506
|
_: 1
|
|
1866
2507
|
})
|
|
@@ -1868,8 +2509,8 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
1868
2509
|
};
|
|
1869
2510
|
}
|
|
1870
2511
|
});
|
|
1871
|
-
const
|
|
1872
|
-
const Status = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
2512
|
+
const status_vue_vue_type_style_index_0_scoped_4aa2388b_lang = "";
|
|
2513
|
+
const Status = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-4aa2388b"]]);
|
|
1873
2514
|
function tryOnScopeDispose(fn) {
|
|
1874
2515
|
if (getCurrentScope()) {
|
|
1875
2516
|
onScopeDispose(fn);
|
|
@@ -8475,7 +9116,7 @@ const __default__$f = {
|
|
|
8475
9116
|
name: "Handle",
|
|
8476
9117
|
compatConfig: { MODE: 3 }
|
|
8477
9118
|
};
|
|
8478
|
-
const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
9119
|
+
const _sfc_main$f$1 = /* @__PURE__ */ defineComponent({
|
|
8479
9120
|
...__default__$f,
|
|
8480
9121
|
props: {
|
|
8481
9122
|
id: { default: null },
|
|
@@ -8636,9 +9277,9 @@ const DefaultNode = function({
|
|
|
8636
9277
|
}) {
|
|
8637
9278
|
const label = data.label || _label;
|
|
8638
9279
|
return [
|
|
8639
|
-
h(_sfc_main$f, { type: "target", position: targetPosition, connectable, isValidConnection: isValidTargetPos }),
|
|
9280
|
+
h(_sfc_main$f$1, { type: "target", position: targetPosition, connectable, isValidConnection: isValidTargetPos }),
|
|
8640
9281
|
typeof label !== "string" && label ? h(label) : h(Fragment, [label]),
|
|
8641
|
-
h(_sfc_main$f, { type: "source", position: sourcePosition, connectable, isValidConnection: isValidSourcePos })
|
|
9282
|
+
h(_sfc_main$f$1, { type: "source", position: sourcePosition, connectable, isValidConnection: isValidSourcePos })
|
|
8642
9283
|
];
|
|
8643
9284
|
};
|
|
8644
9285
|
DefaultNode.props = ["sourcePosition", "targetPosition", "label", "isValidTargetPos", "isValidSourcePos", "connectable", "data"];
|
|
@@ -8654,7 +9295,7 @@ const OutputNode = function({
|
|
|
8654
9295
|
}) {
|
|
8655
9296
|
const label = data.label || _label;
|
|
8656
9297
|
return [
|
|
8657
|
-
h(_sfc_main$f, { type: "target", position: targetPosition, connectable, isValidConnection: isValidTargetPos }),
|
|
9298
|
+
h(_sfc_main$f$1, { type: "target", position: targetPosition, connectable, isValidConnection: isValidTargetPos }),
|
|
8658
9299
|
typeof label !== "string" && label ? h(label) : h(Fragment, [label])
|
|
8659
9300
|
];
|
|
8660
9301
|
};
|
|
@@ -8672,7 +9313,7 @@ const InputNode = function({
|
|
|
8672
9313
|
const label = data.label || _label;
|
|
8673
9314
|
return [
|
|
8674
9315
|
typeof label !== "string" && label ? h(label) : h(Fragment, [label]),
|
|
8675
|
-
h(_sfc_main$f, { type: "source", position: sourcePosition, connectable, isValidConnection: isValidSourcePos })
|
|
9316
|
+
h(_sfc_main$f$1, { type: "source", position: sourcePosition, connectable, isValidConnection: isValidSourcePos })
|
|
8676
9317
|
];
|
|
8677
9318
|
};
|
|
8678
9319
|
InputNode.props = ["sourcePosition", "label", "isValidSourcePos", "connectable", "data"];
|
|
@@ -8686,7 +9327,7 @@ const __default__$e = {
|
|
|
8686
9327
|
name: "EdgeText",
|
|
8687
9328
|
compatConfig: { MODE: 3 }
|
|
8688
9329
|
};
|
|
8689
|
-
const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
9330
|
+
const _sfc_main$e$1 = /* @__PURE__ */ defineComponent({
|
|
8690
9331
|
...__default__$e,
|
|
8691
9332
|
props: {
|
|
8692
9333
|
x: {},
|
|
@@ -8802,7 +9443,7 @@ const _sfc_main$d$1 = /* @__PURE__ */ defineComponent({
|
|
|
8802
9443
|
"stroke-opacity": 0,
|
|
8803
9444
|
class: "vue-flow__edge-interaction"
|
|
8804
9445
|
}, null, 8, _hoisted_2$1$1)) : createCommentVNode("", true),
|
|
8805
|
-
_ctx.label && _ctx.labelX && _ctx.labelY ? (openBlock(), createBlock(_sfc_main$e, {
|
|
9446
|
+
_ctx.label && _ctx.labelX && _ctx.labelY ? (openBlock(), createBlock(_sfc_main$e$1, {
|
|
8806
9447
|
key: 1,
|
|
8807
9448
|
ref_key: "labelEl",
|
|
8808
9449
|
ref: labelEl,
|
|
@@ -10248,8 +10889,8 @@ const _sfc_main$8$1 = /* @__PURE__ */ defineComponent({
|
|
|
10248
10889
|
}
|
|
10249
10890
|
});
|
|
10250
10891
|
const _hoisted_1$5$1 = ["id"];
|
|
10251
|
-
const _hoisted_2$
|
|
10252
|
-
const _hoisted_3$
|
|
10892
|
+
const _hoisted_2$e = ["id"];
|
|
10893
|
+
const _hoisted_3$d = ["id"];
|
|
10253
10894
|
const __default__$7 = {
|
|
10254
10895
|
name: "A11yDescriptions",
|
|
10255
10896
|
compatConfig: { MODE: 3 }
|
|
@@ -10267,14 +10908,14 @@ const _sfc_main$7$1 = /* @__PURE__ */ defineComponent({
|
|
|
10267
10908
|
createBaseVNode("div", {
|
|
10268
10909
|
id: `${unref(ARIA_EDGE_DESC_KEY)}-${unref(id2)}`,
|
|
10269
10910
|
style: { "display": "none" }
|
|
10270
|
-
}, " Press enter or space to select an edge. You can then press delete to remove it or press escape to cancel. ", 8, _hoisted_2$
|
|
10911
|
+
}, " Press enter or space to select an edge. You can then press delete to remove it or press escape to cancel. ", 8, _hoisted_2$e),
|
|
10271
10912
|
!unref(disableKeyboardA11y) ? (openBlock(), createElementBlock("div", {
|
|
10272
10913
|
key: 0,
|
|
10273
10914
|
id: `${unref(ARIA_LIVE_MESSAGE)}-${unref(id2)}`,
|
|
10274
10915
|
"aria-live": "assertive",
|
|
10275
10916
|
"aria-atomic": "true",
|
|
10276
10917
|
style: { "position": "absolute", "width": "1px", "height": "1px", "margin": "-1px", "border": "0", "padding": "0", "overflow": "hidden", "clip": "rect(0px, 0px, 0px, 0px)", "clip-path": "inset(100%)" }
|
|
10277
|
-
}, toDisplayString(unref(ariaLiveMessage)), 9, _hoisted_3$
|
|
10918
|
+
}, toDisplayString(unref(ariaLiveMessage)), 9, _hoisted_3$d)) : createCommentVNode("", true)
|
|
10278
10919
|
], 64);
|
|
10279
10920
|
};
|
|
10280
10921
|
}
|
|
@@ -11321,7 +11962,7 @@ function useStylesLoadedWarning() {
|
|
|
11321
11962
|
}
|
|
11322
11963
|
});
|
|
11323
11964
|
}
|
|
11324
|
-
const _hoisted_1$
|
|
11965
|
+
const _hoisted_1$g = /* @__PURE__ */ createBaseVNode("div", { class: "vue-flow__edge-labels" }, null, -1);
|
|
11325
11966
|
const __default__$1$1 = {
|
|
11326
11967
|
name: "VueFlow",
|
|
11327
11968
|
compatConfig: { MODE: 3 }
|
|
@@ -11414,7 +12055,7 @@ const _sfc_main$1$2 = /* @__PURE__ */ defineComponent({
|
|
|
11414
12055
|
createVNode(_sfc_main$8$1, null, {
|
|
11415
12056
|
default: withCtx(() => [
|
|
11416
12057
|
createVNode(_sfc_main$4$1),
|
|
11417
|
-
_hoisted_1$
|
|
12058
|
+
_hoisted_1$g,
|
|
11418
12059
|
createVNode(_sfc_main$2$1),
|
|
11419
12060
|
renderSlot(_ctx.$slots, "zoom-pane")
|
|
11420
12061
|
]),
|
|
@@ -11430,7 +12071,7 @@ const __default__$3 = {
|
|
|
11430
12071
|
name: "Panel",
|
|
11431
12072
|
compatConfig: { MODE: 3 }
|
|
11432
12073
|
};
|
|
11433
|
-
const _sfc_main$
|
|
12074
|
+
const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
11434
12075
|
...__default__$3,
|
|
11435
12076
|
props: {
|
|
11436
12077
|
position: {}
|
|
@@ -14172,14 +14813,14 @@ const _sfc_main$1$1 = /* @__PURE__ */ defineComponent({
|
|
|
14172
14813
|
};
|
|
14173
14814
|
}
|
|
14174
14815
|
});
|
|
14175
|
-
const _hoisted_1$
|
|
14176
|
-
const _hoisted_2$
|
|
14177
|
-
const _hoisted_3$
|
|
14816
|
+
const _hoisted_1$f = ["width", "height", "viewBox", "aria-labelledby"];
|
|
14817
|
+
const _hoisted_2$d = ["id"];
|
|
14818
|
+
const _hoisted_3$c = ["d", "fill", "stroke", "stroke-width"];
|
|
14178
14819
|
const __default__ = {
|
|
14179
14820
|
name: "MiniMap",
|
|
14180
14821
|
compatConfig: { MODE: 3 }
|
|
14181
14822
|
};
|
|
14182
|
-
const _sfc_main$
|
|
14823
|
+
const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
14183
14824
|
...__default__,
|
|
14184
14825
|
props: {
|
|
14185
14826
|
nodeColor: { type: [String, Function], default: "#e2e2e2" },
|
|
@@ -14342,7 +14983,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
14342
14983
|
emit("nodeMouseleave", param);
|
|
14343
14984
|
}
|
|
14344
14985
|
return (_ctx, _cache) => {
|
|
14345
|
-
return openBlock(), createBlock(unref(_sfc_main$
|
|
14986
|
+
return openBlock(), createBlock(unref(_sfc_main$j), {
|
|
14346
14987
|
position: _ctx.position,
|
|
14347
14988
|
class: normalizeClass(["vue-flow__minimap", { pannable: _ctx.pannable, zoomable: _ctx.zoomable }])
|
|
14348
14989
|
}, {
|
|
@@ -14360,7 +15001,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
14360
15001
|
_ctx.ariaLabel ? (openBlock(), createElementBlock("title", {
|
|
14361
15002
|
key: 0,
|
|
14362
15003
|
id: `vue-flow__minimap-${unref(id2)}`
|
|
14363
|
-
}, toDisplayString(_ctx.ariaLabel), 9, _hoisted_2$
|
|
15004
|
+
}, toDisplayString(_ctx.ariaLabel), 9, _hoisted_2$d)) : createCommentVNode("", true),
|
|
14364
15005
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(getNodesInitialized), (node) => {
|
|
14365
15006
|
return openBlock(), createBlock(_sfc_main$1$1, {
|
|
14366
15007
|
id: node.id,
|
|
@@ -14392,8 +15033,8 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
14392
15033
|
stroke: _ctx.maskStrokeColor,
|
|
14393
15034
|
"stroke-width": _ctx.maskStrokeWidth,
|
|
14394
15035
|
"fill-rule": "evenodd"
|
|
14395
|
-
}, null, 8, _hoisted_3$
|
|
14396
|
-
], 8, _hoisted_1$
|
|
15036
|
+
}, null, 8, _hoisted_3$c)
|
|
15037
|
+
], 8, _hoisted_1$f))
|
|
14397
15038
|
]),
|
|
14398
15039
|
_: 1
|
|
14399
15040
|
}, 8, ["position", "class"]);
|
|
@@ -14408,16 +15049,327 @@ function toSnakeCase(str) {
|
|
|
14408
15049
|
return str;
|
|
14409
15050
|
return str.replace(/([A-Z])/g, "_$1").replace(/^_/, "").toLowerCase();
|
|
14410
15051
|
}
|
|
14411
|
-
const
|
|
14412
|
-
const
|
|
15052
|
+
const __vite_glob_0_0 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAYAAACoYAD2AAACO0lEQVR4nN2Yz0vbYBjHv29NbZUy0B43QUG9zNPEHUT05NCTiu6o0NbDLk5a/RMERaonkSrO8zw4alFQtBsMBG96kJ5EUTcRh78QRGvsu4O8MSk1fdMmaeLnlL7p++ST53kfkjeADSCKX5GI4Ci+XQCl3uwzKXUkyYD4ZWjXKDnpUuxA+BbeBEij9hD0SgwMl+kplY5McoLmHEVMNYi06E/eNs4iEQf/zjEyonDRR9IAxMCQ5OYopIgawlz4gR1bVhKECJgPvwOsLAlAoIgAFpdMgXgAQFD704M/ZI4NAOf85IvnLJ1Jhi0kVcvNUCtFvvAsKVtk0haSXOU2s8sz8XoyqWfjsKpMJ3bQUVmNt6WerHNMzSQT/ByPYXDrJyq/z+Li/i7rPK5M6gET7NqIYvloXxovd7mzzjW1cdrXFrHx91BzXNPKnS6Y1HDjhjYOy1TnelQp6Aum7QDVMSyTTLAnHsPK8fMaTPqCIESLokGScsGlwz1pPBdBgLPciR4fd8CaN0+72871qDKD/pCmEsvhkmQX5qVtdRHxE2WT5CoI6Ng4/to6zDR9wlRiWymosUkyoduaHG1oBgAEt35JY7muwXR0eeJ4BCfKXW78Pn36iDH+sQXBuno9QgPglIy1dqme97pLAAA752eGvNZxSbZXVHEF+/r+Q14yL2GL90lbSKqW28hdohYsnUkCeglYXPKx2NkHyCQpJT8Kp5MJmkTv4A0gk3zsD3WnQMYKJyWHXouBYVehLV4f/wHit6c8llKODwAAAABJRU5ErkJggg==";
|
|
15053
|
+
const __vite_glob_0_1 = "/assets/airbyte-292aa232.png";
|
|
15054
|
+
const __vite_glob_0_2 = "/assets/cloud_storage_reader-aa1415d6.png";
|
|
15055
|
+
const __vite_glob_0_3 = "data:image/png;base64,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";
|
|
15056
|
+
const __vite_glob_0_4 = "/assets/cross_join-d30c0290.png";
|
|
15057
|
+
const __vite_glob_0_5 = "/assets/database_reader-ce1e55f3.svg";
|
|
15058
|
+
const __vite_glob_0_6 = "/assets/database_writer-b4ad0753.svg";
|
|
15059
|
+
const __vite_glob_0_7 = "/assets/explore_data-8a0a2861.png";
|
|
15060
|
+
const __vite_glob_0_8 = "data:image/png;base64,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";
|
|
15061
|
+
const __vite_glob_0_9 = "/assets/filter-d7708bda.png";
|
|
15062
|
+
const __vite_glob_0_10 = "/assets/formula-eeeb1611.png";
|
|
15063
|
+
const __vite_glob_0_11 = "/assets/fuzzy_match-40c161b2.png";
|
|
15064
|
+
const __vite_glob_0_12 = "data:image/png;base64,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";
|
|
15065
|
+
const __vite_glob_0_13 = "/assets/graph_solver-8b7888b8.png";
|
|
15066
|
+
const __vite_glob_0_14 = "/assets/group_by-80561fc3.png";
|
|
15067
|
+
const __vite_glob_0_15 = "/assets/input_data-ab2eb678.png";
|
|
15068
|
+
const __vite_glob_0_16 = "/assets/join-349043ae.png";
|
|
15069
|
+
const __vite_glob_0_17 = "/assets/manual_input-ae98f31d.png";
|
|
15070
|
+
const __vite_glob_0_18 = "/assets/old_join-5d0eb604.png";
|
|
15071
|
+
const __vite_glob_0_19 = "/assets/output-06ec0371.png";
|
|
15072
|
+
const __vite_glob_0_20 = "/assets/pivot-9660df51.png";
|
|
15073
|
+
const __vite_glob_0_21 = "/assets/polars_code-05ce5dc6.png";
|
|
15074
|
+
const __vite_glob_0_22 = "/assets/record_count-dab44eb5.png";
|
|
15075
|
+
const __vite_glob_0_23 = "/assets/record_id-0b15856b.png";
|
|
15076
|
+
const __vite_glob_0_24 = "/assets/sample-693a88b5.png";
|
|
15077
|
+
const __vite_glob_0_25 = "/assets/select-b0d0437a.png";
|
|
15078
|
+
const __vite_glob_0_26 = "/assets/sort-2aa579f0.png";
|
|
15079
|
+
const __vite_glob_0_27 = "/assets/summarize-2a099231.png";
|
|
15080
|
+
const __vite_glob_0_28 = "/assets/text_to_rows-859b29ea.png";
|
|
15081
|
+
const __vite_glob_0_29 = "/assets/union-2d8609f4.png";
|
|
15082
|
+
const __vite_glob_0_30 = "/assets/unique-1958b98a.png";
|
|
15083
|
+
const __vite_glob_0_31 = "/assets/unpivot-d3cb4b5b.png";
|
|
15084
|
+
const __vite_glob_0_32 = "/assets/user-defined-icon-0ae16c90.png";
|
|
15085
|
+
const __vite_glob_0_33 = "/assets/view-7a0f0be1.png";
|
|
15086
|
+
const getImageUrl = (name) => {
|
|
15087
|
+
return new URL((/* @__PURE__ */ Object.assign({ "./assets/icons/Output2.png": __vite_glob_0_0, "./assets/icons/airbyte.png": __vite_glob_0_1, "./assets/icons/cloud_storage_reader.png": __vite_glob_0_2, "./assets/icons/cloud_storage_writer.png": __vite_glob_0_3, "./assets/icons/cross_join.png": __vite_glob_0_4, "./assets/icons/database_reader.svg": __vite_glob_0_5, "./assets/icons/database_writer.svg": __vite_glob_0_6, "./assets/icons/explore_data.png": __vite_glob_0_7, "./assets/icons/external_source.png": __vite_glob_0_8, "./assets/icons/filter.png": __vite_glob_0_9, "./assets/icons/formula.png": __vite_glob_0_10, "./assets/icons/fuzzy_match.png": __vite_glob_0_11, "./assets/icons/google_sheet.png": __vite_glob_0_12, "./assets/icons/graph_solver.png": __vite_glob_0_13, "./assets/icons/group_by.png": __vite_glob_0_14, "./assets/icons/input_data.png": __vite_glob_0_15, "./assets/icons/join.png": __vite_glob_0_16, "./assets/icons/manual_input.png": __vite_glob_0_17, "./assets/icons/old_join.png": __vite_glob_0_18, "./assets/icons/output.png": __vite_glob_0_19, "./assets/icons/pivot.png": __vite_glob_0_20, "./assets/icons/polars_code.png": __vite_glob_0_21, "./assets/icons/record_count.png": __vite_glob_0_22, "./assets/icons/record_id.png": __vite_glob_0_23, "./assets/icons/sample.png": __vite_glob_0_24, "./assets/icons/select.png": __vite_glob_0_25, "./assets/icons/sort.png": __vite_glob_0_26, "./assets/icons/summarize.png": __vite_glob_0_27, "./assets/icons/text_to_rows.png": __vite_glob_0_28, "./assets/icons/union.png": __vite_glob_0_29, "./assets/icons/unique.png": __vite_glob_0_30, "./assets/icons/unpivot.png": __vite_glob_0_31, "./assets/icons/user-defined-icon.png": __vite_glob_0_32, "./assets/icons/view.png": __vite_glob_0_33 }))[`./assets/icons/${name}`], self.location).href;
|
|
15088
|
+
};
|
|
15089
|
+
const fetchNodes = async () => {
|
|
15090
|
+
const response = await axios.get("/node_list");
|
|
15091
|
+
const listNodes = response.data;
|
|
15092
|
+
return listNodes;
|
|
15093
|
+
};
|
|
15094
|
+
const _hoisted_1$e = { class: "component-wrapper" };
|
|
15095
|
+
const _hoisted_2$c = { class: "tooltip-text" };
|
|
15096
|
+
const _hoisted_3$b = ["src", "alt"];
|
|
15097
|
+
const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
15098
|
+
__name: "nodeButton",
|
|
15099
|
+
props: {
|
|
15100
|
+
nodeId: {},
|
|
15101
|
+
imageSrc: {},
|
|
15102
|
+
title: {},
|
|
15103
|
+
drawerComponent: {},
|
|
15104
|
+
drawerProps: {},
|
|
15105
|
+
nodeTitleInfo: {}
|
|
15106
|
+
},
|
|
15107
|
+
emits: ["click"],
|
|
15108
|
+
setup(__props, { emit: __emit }) {
|
|
15109
|
+
const description = ref("");
|
|
15110
|
+
const mouseX = ref(0);
|
|
15111
|
+
const mouseY = ref(0);
|
|
15112
|
+
const nodeStore = useNodeStore();
|
|
15113
|
+
const props2 = __props;
|
|
15114
|
+
const isSelected = computed$1(() => {
|
|
15115
|
+
return nodeStore.node_id == props2.nodeId;
|
|
15116
|
+
});
|
|
15117
|
+
computed$1(() => {
|
|
15118
|
+
const overlayWidth = 400;
|
|
15119
|
+
const overlayHeight = 200;
|
|
15120
|
+
const buffer = 100;
|
|
15121
|
+
let left = mouseX.value + buffer;
|
|
15122
|
+
let top = mouseY.value + buffer;
|
|
15123
|
+
if (left + overlayWidth > window.innerWidth) {
|
|
15124
|
+
left -= overlayWidth + 2 * buffer;
|
|
15125
|
+
}
|
|
15126
|
+
if (top + overlayHeight > window.innerHeight) {
|
|
15127
|
+
top -= overlayHeight + 2 * buffer;
|
|
15128
|
+
}
|
|
15129
|
+
left = Math.max(left, buffer);
|
|
15130
|
+
top = Math.max(top, buffer);
|
|
15131
|
+
return {
|
|
15132
|
+
top: `${top}px`,
|
|
15133
|
+
left: `${left}px`
|
|
15134
|
+
};
|
|
15135
|
+
});
|
|
15136
|
+
const nodeResult = computed$1(() => {
|
|
15137
|
+
const nodeResult2 = nodeStore.getNodeResult(props2.nodeId);
|
|
15138
|
+
const nodeValidation = nodeStore.getNodeValidation(props2.nodeId);
|
|
15139
|
+
if (nodeResult2 && nodeResult2.is_running) {
|
|
15140
|
+
return {
|
|
15141
|
+
success: void 0,
|
|
15142
|
+
statusIndicator: "running",
|
|
15143
|
+
hasRun: false,
|
|
15144
|
+
error: void 0
|
|
15145
|
+
};
|
|
15146
|
+
}
|
|
15147
|
+
if (nodeResult2 && !nodeResult2.is_running) {
|
|
15148
|
+
if (nodeValidation) {
|
|
15149
|
+
if (nodeResult2.success === true && !nodeValidation.isValid && nodeValidation.validationTime > nodeResult2.start_timestamp) {
|
|
15150
|
+
return {
|
|
15151
|
+
success: true,
|
|
15152
|
+
statusIndicator: "warning",
|
|
15153
|
+
error: nodeValidation.error,
|
|
15154
|
+
hasRun: true
|
|
15155
|
+
};
|
|
15156
|
+
}
|
|
15157
|
+
if (nodeResult2.success === true && nodeValidation.isValid) {
|
|
15158
|
+
return {
|
|
15159
|
+
success: true,
|
|
15160
|
+
statusIndicator: "success",
|
|
15161
|
+
error: nodeResult2.error || nodeValidation.error,
|
|
15162
|
+
hasRun: true
|
|
15163
|
+
};
|
|
15164
|
+
}
|
|
15165
|
+
if (nodeResult2.success === false && nodeValidation.isValid && nodeValidation.validationTime > nodeResult2.start_timestamp) {
|
|
15166
|
+
return {
|
|
15167
|
+
success: false,
|
|
15168
|
+
statusIndicator: "unknown",
|
|
15169
|
+
error: nodeResult2.error || nodeValidation.error,
|
|
15170
|
+
hasRun: true
|
|
15171
|
+
};
|
|
15172
|
+
}
|
|
15173
|
+
if (nodeResult2.success === false && (!nodeValidation.isValid || !nodeValidation.validationTime)) {
|
|
15174
|
+
return {
|
|
15175
|
+
success: false,
|
|
15176
|
+
statusIndicator: "failure",
|
|
15177
|
+
error: nodeResult2.error || nodeValidation.error,
|
|
15178
|
+
hasRun: true
|
|
15179
|
+
};
|
|
15180
|
+
}
|
|
15181
|
+
}
|
|
15182
|
+
return {
|
|
15183
|
+
success: nodeResult2.success ?? false,
|
|
15184
|
+
statusIndicator: nodeResult2.success ? "success" : "failure",
|
|
15185
|
+
error: nodeResult2.error,
|
|
15186
|
+
hasRun: true
|
|
15187
|
+
};
|
|
15188
|
+
}
|
|
15189
|
+
if (nodeValidation) {
|
|
15190
|
+
if (!nodeValidation.isValid) {
|
|
15191
|
+
return {
|
|
15192
|
+
success: false,
|
|
15193
|
+
statusIndicator: "warning",
|
|
15194
|
+
error: nodeValidation.error,
|
|
15195
|
+
hasRun: false
|
|
15196
|
+
};
|
|
15197
|
+
}
|
|
15198
|
+
if (nodeValidation.isValid) {
|
|
15199
|
+
return {
|
|
15200
|
+
success: true,
|
|
15201
|
+
statusIndicator: "unknown",
|
|
15202
|
+
error: nodeValidation.error,
|
|
15203
|
+
hasRun: false
|
|
15204
|
+
};
|
|
15205
|
+
}
|
|
15206
|
+
}
|
|
15207
|
+
return void 0;
|
|
15208
|
+
});
|
|
15209
|
+
const tooltipContent = computed$1(() => {
|
|
15210
|
+
var _a, _b, _c;
|
|
15211
|
+
switch ((_a = nodeResult.value) == null ? void 0 : _a.statusIndicator) {
|
|
15212
|
+
case "success":
|
|
15213
|
+
return "Operation successful";
|
|
15214
|
+
case "failure":
|
|
15215
|
+
return "Operation failed: \n" + (((_b = nodeResult.value) == null ? void 0 : _b.error) || "No error message available");
|
|
15216
|
+
case "warning":
|
|
15217
|
+
return "Operation warning: \n" + (((_c = nodeResult.value) == null ? void 0 : _c.error) || "No warning message available");
|
|
15218
|
+
case "running":
|
|
15219
|
+
return "Operation in progress...";
|
|
15220
|
+
case "unknown":
|
|
15221
|
+
default:
|
|
15222
|
+
return "Status unknown";
|
|
15223
|
+
}
|
|
15224
|
+
});
|
|
15225
|
+
const getNodeDescription = async () => {
|
|
15226
|
+
description.value = await nodeStore.getNodeDescription(props2.nodeId);
|
|
15227
|
+
};
|
|
15228
|
+
watch$1(
|
|
15229
|
+
() => nodeStore.node_id,
|
|
15230
|
+
(newNodeId, oldNodeId) => {
|
|
15231
|
+
if (String(newNodeId) === String(props2.nodeId) && props2.drawerComponent) {
|
|
15232
|
+
nodeStore.openDrawer(props2.drawerComponent, props2.nodeTitleInfo);
|
|
15233
|
+
}
|
|
15234
|
+
},
|
|
15235
|
+
{ immediate: true }
|
|
15236
|
+
);
|
|
15237
|
+
onMounted(() => {
|
|
15238
|
+
watch$1(
|
|
15239
|
+
() => props2.nodeId,
|
|
15240
|
+
async (newVal) => {
|
|
15241
|
+
if (newVal !== -1) {
|
|
15242
|
+
await nextTick();
|
|
15243
|
+
getNodeDescription();
|
|
15244
|
+
}
|
|
15245
|
+
}
|
|
15246
|
+
);
|
|
15247
|
+
});
|
|
15248
|
+
return (_ctx, _cache) => {
|
|
15249
|
+
var _a;
|
|
15250
|
+
return openBlock(), createElementBlock("div", _hoisted_1$e, [
|
|
15251
|
+
createBaseVNode("div", {
|
|
15252
|
+
class: normalizeClass(["status-indicator", (_a = nodeResult.value) == null ? void 0 : _a.statusIndicator])
|
|
15253
|
+
}, [
|
|
15254
|
+
createBaseVNode("span", _hoisted_2$c, toDisplayString(tooltipContent.value), 1)
|
|
15255
|
+
], 2),
|
|
15256
|
+
createBaseVNode("button", {
|
|
15257
|
+
class: normalizeClass(["node-button", { selected: isSelected.value }]),
|
|
15258
|
+
onClick: _cache[0] || (_cache[0] = //@ts-ignore
|
|
15259
|
+
(...args) => _ctx.onClick && _ctx.onClick(...args))
|
|
15260
|
+
}, [
|
|
15261
|
+
createBaseVNode("img", {
|
|
15262
|
+
src: unref(getImageUrl)(props2.imageSrc),
|
|
15263
|
+
alt: props2.title,
|
|
15264
|
+
width: "50"
|
|
15265
|
+
}, null, 8, _hoisted_3$b)
|
|
15266
|
+
], 2)
|
|
15267
|
+
]);
|
|
15268
|
+
};
|
|
15269
|
+
}
|
|
15270
|
+
});
|
|
15271
|
+
const nodeButton_vue_vue_type_style_index_0_scoped_3af13a13_lang = "";
|
|
15272
|
+
const NodeButton = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-3af13a13"]]);
|
|
15273
|
+
const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
15274
|
+
__name: "GenericNode",
|
|
15275
|
+
props: {
|
|
15276
|
+
nodeId: {},
|
|
15277
|
+
nodeData: {}
|
|
15278
|
+
},
|
|
15279
|
+
setup(__props) {
|
|
15280
|
+
const drawerModules = /* @__PURE__ */ Object.assign({ "./elements/cloudStorageReader/CloudStorageReader.vue": () => __vitePreload(() => import("./CloudStorageReader-19cdd67a.js"), true ? ["assets/CloudStorageReader-19cdd67a.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/vue-content-loader.es-22bac17c.js","assets/vue-codemirror.esm-b1dfaa46.js","assets/vue-codemirror-bccfde04.css","assets/api-c908fffe.js","assets/genericNodeSettings-38410ebf.js","assets/genericNodeSettings-924759c7.css","assets/CloudStorageReader-29d14fcc.css"] : void 0), "./elements/cloudStorageWriter/CloudStorageWriter.vue": () => __vitePreload(() => import("./CloudStorageWriter-48e0ae20.js"), true ? ["assets/CloudStorageWriter-48e0ae20.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/vue-content-loader.es-22bac17c.js","assets/vue-codemirror.esm-b1dfaa46.js","assets/vue-codemirror-bccfde04.css","assets/api-c908fffe.js","assets/genericNodeSettings-38410ebf.js","assets/genericNodeSettings-924759c7.css","assets/CloudStorageWriter-b0ee067f.css"] : void 0), "./elements/crossJoin/CrossJoin.vue": () => __vitePreload(() => import("./CrossJoin-a88f8142.js"), true ? ["assets/CrossJoin-a88f8142.js","assets/vue-content-loader.es-22bac17c.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/vue-codemirror.esm-b1dfaa46.js","assets/vue-codemirror-bccfde04.css","assets/selectDynamic-7ad95bca.js","assets/UnavailableFields-66239e83.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-aa913ff4.css","assets/genericNodeSettings-38410ebf.js","assets/genericNodeSettings-924759c7.css","assets/CrossJoin-1119d18e.css"] : void 0), "./elements/customNode/CustomNode.vue": () => __vitePreload(() => import("./CustomNode-cb863dff.js"), true ? ["assets/CustomNode-cb863dff.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/vue-codemirror.esm-b1dfaa46.js","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-38410ebf.js","assets/genericNodeSettings-924759c7.css","assets/MultiSelect.vue_vue_type_script_setup_true_lang-2a7c8312.js","assets/ToggleSwitch.vue_vue_type_script_setup_true_lang-f620cd32.js","assets/TextInput.vue_vue_type_script_setup_true_lang-9cad14ba.js","assets/NumericInput.vue_vue_type_script_setup_true_lang-211a1990.js","assets/SliderInput-53105476.js","assets/SliderInput-b8fb6a8c.css","assets/SingleSelect.vue_vue_type_script_setup_true_lang-43807bad.js","assets/ColumnSelector-ecaf7c44.js","assets/ColumnSelector-47996a16.css","assets/CustomNode-74a37f74.css"] : void 0), "./elements/customNode/components/ColumnSelector.vue": () => __vitePreload(() => import("./ColumnSelector-ecaf7c44.js"), true ? ["assets/ColumnSelector-ecaf7c44.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/ColumnSelector-47996a16.css"] : void 0), "./elements/customNode/components/MultiSelect.vue": () => __vitePreload(() => import("./MultiSelect-61b98268.js"), true ? ["assets/MultiSelect-61b98268.js","assets/MultiSelect.vue_vue_type_script_setup_true_lang-2a7c8312.js","assets/index-5ec791df.js","assets/index-50508d4d.css"] : void 0), "./elements/customNode/components/NumericInput.vue": () => __vitePreload(() => import("./NumericInput-e36602c2.js"), true ? ["assets/NumericInput-e36602c2.js","assets/NumericInput.vue_vue_type_script_setup_true_lang-211a1990.js","assets/index-5ec791df.js","assets/index-50508d4d.css"] : void 0), "./elements/customNode/components/SingleSelect.vue": () => __vitePreload(() => import("./SingleSelect-7298811a.js"), true ? ["assets/SingleSelect-7298811a.js","assets/SingleSelect.vue_vue_type_script_setup_true_lang-43807bad.js","assets/index-5ec791df.js","assets/index-50508d4d.css"] : void 0), "./elements/customNode/components/SliderInput.vue": () => __vitePreload(() => import("./SliderInput-53105476.js"), true ? ["assets/SliderInput-53105476.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/SliderInput-b8fb6a8c.css"] : void 0), "./elements/customNode/components/TextInput.vue": () => __vitePreload(() => import("./TextInput-28366b7e.js"), true ? ["assets/TextInput-28366b7e.js","assets/TextInput.vue_vue_type_script_setup_true_lang-9cad14ba.js","assets/index-5ec791df.js","assets/index-50508d4d.css"] : void 0), "./elements/customNode/components/ToggleSwitch.vue": () => __vitePreload(() => import("./ToggleSwitch-598add30.js"), true ? ["assets/ToggleSwitch-598add30.js","assets/ToggleSwitch.vue_vue_type_script_setup_true_lang-f620cd32.js","assets/index-5ec791df.js","assets/index-50508d4d.css"] : void 0), "./elements/databaseReader/DatabaseConnectionSettings.vue": () => __vitePreload(() => import("./DatabaseConnectionSettings-819d3267.js"), true ? ["assets/DatabaseConnectionSettings-819d3267.js","assets/secretApi-b3cb072e.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/DatabaseConnectionSettings-0c04b2e5.css"] : void 0), "./elements/databaseReader/DatabaseReader.vue": () => __vitePreload(() => import("./DatabaseReader-060dd412.js"), true ? ["assets/DatabaseReader-060dd412.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/vue-content-loader.es-22bac17c.js","assets/vue-codemirror.esm-b1dfaa46.js","assets/vue-codemirror-bccfde04.css","assets/api-2d1394bd.js","assets/DatabaseConnectionSettings-819d3267.js","assets/secretApi-b3cb072e.js","assets/DatabaseConnectionSettings-0c04b2e5.css","assets/SQLQueryComponent-8a486004.js","assets/SQLQueryComponent-36cef432.css","assets/genericNodeSettings-38410ebf.js","assets/genericNodeSettings-924759c7.css","assets/DatabaseReader-ae61773c.css"] : void 0), "./elements/databaseReader/SQLQueryComponent.vue": () => __vitePreload(() => import("./SQLQueryComponent-8a486004.js"), true ? ["assets/SQLQueryComponent-8a486004.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/SQLQueryComponent-36cef432.css"] : void 0), "./elements/databaseWriter/DatabaseWriter.vue": () => __vitePreload(() => import("./DatabaseWriter-7fc7750f.js"), true ? ["assets/DatabaseWriter-7fc7750f.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/vue-content-loader.es-22bac17c.js","assets/vue-codemirror.esm-b1dfaa46.js","assets/vue-codemirror-bccfde04.css","assets/api-2d1394bd.js","assets/DatabaseConnectionSettings-819d3267.js","assets/secretApi-b3cb072e.js","assets/DatabaseConnectionSettings-0c04b2e5.css","assets/genericNodeSettings-38410ebf.js","assets/genericNodeSettings-924759c7.css","assets/DatabaseWriter-2f570e53.css"] : void 0), "./elements/exploreData/ExploreData.vue": () => __vitePreload(() => import("./ExploreData-82c95991.js"), true ? ["assets/ExploreData-82c95991.js","assets/vue-content-loader.es-22bac17c.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/VueGraphicWalker-4d7861f4.js","assets/VueGraphicWalker-ed5ab88b.css","assets/vue-codemirror.esm-b1dfaa46.js","assets/vue-codemirror-bccfde04.css","assets/ExploreData-2d0cf4db.css"] : void 0), "./elements/exploreData/vueGraphicWalker/VueGraphicWalker.vue": () => __vitePreload(() => import("./VueGraphicWalker-4d7861f4.js"), true ? ["assets/VueGraphicWalker-4d7861f4.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/VueGraphicWalker-ed5ab88b.css"] : void 0), "./elements/externalSource/ExternalSource.vue": () => __vitePreload(() => import("./ExternalSource-e1a6ddc7.js"), true ? ["assets/ExternalSource-e1a6ddc7.js","assets/vue-content-loader.es-22bac17c.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/vue-codemirror.esm-b1dfaa46.js","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-38410ebf.js","assets/genericNodeSettings-924759c7.css","assets/ExternalSource-e37b6275.css"] : void 0), "./elements/filter/Filter.vue": () => __vitePreload(() => import("./Filter-8aca894a.js"), true ? ["assets/Filter-8aca894a.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/vue-content-loader.es-22bac17c.js","assets/dropDown-41ebe3c2.js","assets/dropDown-35135ba8.css","assets/vue-codemirror.esm-b1dfaa46.js","assets/vue-codemirror-bccfde04.css","assets/fullEditor-0670d32d.js","assets/fullEditor-178376bb.css","assets/genericNodeSettings-38410ebf.js","assets/genericNodeSettings-924759c7.css","assets/Filter-f62091b3.css"] : void 0), "./elements/formula/Formula.vue": () => __vitePreload(() => import("./Formula-e33686d9.js"), true ? ["assets/Formula-e33686d9.js","assets/vue-content-loader.es-22bac17c.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/vue-codemirror.esm-b1dfaa46.js","assets/vue-codemirror-bccfde04.css","assets/fullEditor-0670d32d.js","assets/fullEditor-178376bb.css","assets/dropDown-41ebe3c2.js","assets/dropDown-35135ba8.css","assets/genericNodeSettings-38410ebf.js","assets/genericNodeSettings-924759c7.css","assets/Formula-bb96803d.css"] : void 0), "./elements/fuzzyMatch/FuzzyMatch.vue": () => __vitePreload(() => import("./FuzzyMatch-abda150d.js"), true ? ["assets/FuzzyMatch-abda150d.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/vue-codemirror.esm-b1dfaa46.js","assets/vue-codemirror-bccfde04.css","assets/dropDown-41ebe3c2.js","assets/dropDown-35135ba8.css","assets/selectDynamic-7ad95bca.js","assets/UnavailableFields-66239e83.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-aa913ff4.css","assets/genericNodeSettings-38410ebf.js","assets/genericNodeSettings-924759c7.css","assets/vue-content-loader.es-22bac17c.js","assets/FuzzyMatch-1010f966.css"] : void 0), "./elements/graphSolver/ContextMenu.vue": () => __vitePreload(() => import("./ContextMenu-2b348c4c.js"), true ? ["assets/ContextMenu-2b348c4c.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/ContextMenu-63cfa99b.css"] : void 0), "./elements/graphSolver/GraphSolver.vue": () => __vitePreload(() => import("./GraphSolver-4ecad1d7.js"), true ? ["assets/GraphSolver-4ecad1d7.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/vue-codemirror.esm-b1dfaa46.js","assets/vue-codemirror-bccfde04.css","assets/ContextMenu-2b348c4c.js","assets/ContextMenu-63cfa99b.css","assets/SettingsSection-5634f439.js","assets/SettingsSection-5c696bee.css","assets/genericNodeSettings-38410ebf.js","assets/genericNodeSettings-924759c7.css","assets/GraphSolver-f0cb7bfb.css"] : void 0), "./elements/graphSolver/PivotValidation.vue": () => __vitePreload(() => import("./PivotValidation-e150a24b.js"), true ? ["assets/PivotValidation-e150a24b.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/PivotValidation-891ddfb0.css"] : void 0), "./elements/graphSolver/SettingsSection.vue": () => __vitePreload(() => import("./SettingsSection-5634f439.js"), true ? ["assets/SettingsSection-5634f439.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/SettingsSection-5c696bee.css"] : void 0), "./elements/groupBy/GroupBy.vue": () => __vitePreload(() => import("./GroupBy-656d07f3.js"), true ? ["assets/GroupBy-656d07f3.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/vue-content-loader.es-22bac17c.js","assets/vue-codemirror.esm-b1dfaa46.js","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-38410ebf.js","assets/genericNodeSettings-924759c7.css","assets/GroupBy-b9505323.css"] : void 0), "./elements/join/Join.vue": () => __vitePreload(() => import("./Join-b84ec849.js"), true ? ["assets/Join-b84ec849.js","assets/vue-content-loader.es-22bac17c.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/vue-codemirror.esm-b1dfaa46.js","assets/vue-codemirror-bccfde04.css","assets/dropDown-41ebe3c2.js","assets/dropDown-35135ba8.css","assets/selectDynamic-7ad95bca.js","assets/UnavailableFields-66239e83.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-aa913ff4.css","assets/genericNodeSettings-38410ebf.js","assets/genericNodeSettings-924759c7.css","assets/Join-fd79b451.css"] : void 0), "./elements/manualInput/ManualInput.vue": () => __vitePreload(() => import("./ManualInput-346f4135.js"), true ? ["assets/ManualInput-346f4135.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/vue-codemirror.esm-b1dfaa46.js","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-38410ebf.js","assets/genericNodeSettings-924759c7.css","assets/ManualInput-3246a08d.css"] : void 0), "./elements/output/Output.vue": () => __vitePreload(() => import("./Output-eb041599.js"), true ? ["assets/Output-eb041599.js","assets/vue-codemirror.esm-b1dfaa46.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/vue-codemirror-bccfde04.css","assets/outputCsv-059583b6.js","assets/outputCsv-9cc59e0b.css","assets/outputExcel-76b1e02c.js","assets/outputExcel-b41305c0.css","assets/outputParquet-440fd4c7.js","assets/outputParquet-cf8cf3f2.css","assets/Output-ddc9079f.css"] : void 0), "./elements/output/outputCsv.vue": () => __vitePreload(() => import("./outputCsv-059583b6.js"), true ? ["assets/outputCsv-059583b6.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/outputCsv-9cc59e0b.css"] : void 0), "./elements/output/outputExcel.vue": () => __vitePreload(() => import("./outputExcel-76b1e02c.js"), true ? ["assets/outputExcel-76b1e02c.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/outputExcel-b41305c0.css"] : void 0), "./elements/output/outputParquet.vue": () => __vitePreload(() => import("./outputParquet-440fd4c7.js"), true ? ["assets/outputParquet-440fd4c7.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/outputParquet-cf8cf3f2.css"] : void 0), "./elements/pivot/ContextMenu.vue": () => __vitePreload(() => import("./ContextMenu-eca26a03.js"), true ? ["assets/ContextMenu-eca26a03.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/ContextMenu-4c74eef1.css"] : void 0), "./elements/pivot/Pivot.vue": () => __vitePreload(() => import("./Pivot-f5c774f4.js"), true ? ["assets/Pivot-f5c774f4.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/vue-codemirror.esm-b1dfaa46.js","assets/vue-codemirror-bccfde04.css","assets/ContextMenu-eca26a03.js","assets/ContextMenu-4c74eef1.css","assets/SettingsSection-310b61c0.js","assets/SettingsSection-71e6b7e3.css","assets/PivotValidation-26546cbc.js","assets/PivotValidation-c46cd420.css","assets/genericNodeSettings-38410ebf.js","assets/genericNodeSettings-924759c7.css","assets/Pivot-cf333e3d.css"] : void 0), "./elements/pivot/PivotValidation.vue": () => __vitePreload(() => import("./PivotValidation-26546cbc.js"), true ? ["assets/PivotValidation-26546cbc.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/PivotValidation-c46cd420.css"] : void 0), "./elements/pivot/SettingsSection.vue": () => __vitePreload(() => import("./SettingsSection-310b61c0.js"), true ? ["assets/SettingsSection-310b61c0.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/SettingsSection-71e6b7e3.css"] : void 0), "./elements/polarsCode/PolarsCode.vue": () => __vitePreload(() => import("./PolarsCode-da3a7abf.js"), true ? ["assets/PolarsCode-da3a7abf.js","assets/vue-content-loader.es-22bac17c.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/vue-codemirror.esm-b1dfaa46.js","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-38410ebf.js","assets/genericNodeSettings-924759c7.css","assets/PolarsCode-650322d1.css"] : void 0), "./elements/read/Read.vue": () => __vitePreload(() => import("./Read-0c768769.js"), true ? ["assets/Read-0c768769.js","assets/vue-content-loader.es-22bac17c.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/readExcel-7f40d237.js","assets/dropDown-41ebe3c2.js","assets/dropDown-35135ba8.css","assets/readExcel-e1b381ea.css","assets/readCsv-9813903a.js","assets/readCsv-bca3ed53.css","assets/readParquet-22d56002.js","assets/readParquet-cee068e2.css","assets/vue-codemirror.esm-b1dfaa46.js","assets/vue-codemirror-bccfde04.css","assets/Read-6b17491f.css"] : void 0), "./elements/read/readCsv.vue": () => __vitePreload(() => import("./readCsv-9813903a.js"), true ? ["assets/readCsv-9813903a.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/readCsv-bca3ed53.css"] : void 0), "./elements/read/readExcel.vue": () => __vitePreload(() => import("./readExcel-7f40d237.js"), true ? ["assets/readExcel-7f40d237.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/dropDown-41ebe3c2.js","assets/dropDown-35135ba8.css","assets/vue-content-loader.es-22bac17c.js","assets/readExcel-e1b381ea.css"] : void 0), "./elements/read/readParquet.vue": () => __vitePreload(() => import("./readParquet-22d56002.js"), true ? ["assets/readParquet-22d56002.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/readParquet-cee068e2.css"] : void 0), "./elements/recordCount/RecordCount.vue": () => __vitePreload(() => import("./RecordCount-84736276.js"), true ? ["assets/RecordCount-84736276.js","assets/vue-codemirror.esm-b1dfaa46.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-38410ebf.js","assets/genericNodeSettings-924759c7.css"] : void 0), "./elements/recordId/RecordId.vue": () => __vitePreload(() => import("./RecordId-60055e6d.js"), true ? ["assets/RecordId-60055e6d.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/vue-codemirror.esm-b1dfaa46.js","assets/vue-codemirror-bccfde04.css","assets/ContextMenu-eca26a03.js","assets/ContextMenu-4c74eef1.css","assets/SettingsSection-310b61c0.js","assets/SettingsSection-71e6b7e3.css","assets/genericNodeSettings-38410ebf.js","assets/genericNodeSettings-924759c7.css"] : void 0), "./elements/sample/Sample.vue": () => __vitePreload(() => import("./Sample-2d662611.js"), true ? ["assets/Sample-2d662611.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/vue-codemirror.esm-b1dfaa46.js","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-38410ebf.js","assets/genericNodeSettings-924759c7.css"] : void 0), "./elements/select/Select.vue": () => __vitePreload(() => import("./Select-2e4a6965.js"), true ? ["assets/Select-2e4a6965.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/vue-content-loader.es-22bac17c.js","assets/vue-codemirror.esm-b1dfaa46.js","assets/vue-codemirror-bccfde04.css","assets/selectDynamic-7ad95bca.js","assets/UnavailableFields-66239e83.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-aa913ff4.css","assets/genericNodeSettings-38410ebf.js","assets/genericNodeSettings-924759c7.css"] : void 0), "./elements/sort/Sort.vue": () => __vitePreload(() => import("./Sort-4fdebe74.js"), true ? ["assets/Sort-4fdebe74.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/vue-codemirror.esm-b1dfaa46.js","assets/vue-codemirror-bccfde04.css","assets/vue-content-loader.es-22bac17c.js","assets/genericNodeSettings-38410ebf.js","assets/genericNodeSettings-924759c7.css","assets/Sort-3643d625.css"] : void 0), "./elements/textToRows/TextToRows.vue": () => __vitePreload(() => import("./TextToRows-73ffa692.js"), true ? ["assets/TextToRows-73ffa692.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/vue-codemirror.esm-b1dfaa46.js","assets/vue-codemirror-bccfde04.css","assets/dropDown-41ebe3c2.js","assets/dropDown-35135ba8.css","assets/UnavailableFields-66239e83.js","assets/UnavailableFields-5edd5322.css","assets/genericNodeSettings-38410ebf.js","assets/genericNodeSettings-924759c7.css","assets/vue-content-loader.es-22bac17c.js","assets/TextToRows-5d2c1190.css"] : void 0), "./elements/union/Union.vue": () => __vitePreload(() => import("./Union-26b10614.js"), true ? ["assets/Union-26b10614.js","assets/vue-codemirror.esm-b1dfaa46.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-38410ebf.js","assets/genericNodeSettings-924759c7.css","assets/Union-af6c3d9b.css"] : void 0), "./elements/unique/Unique.vue": () => __vitePreload(() => import("./Unique-33b9edbb.js"), true ? ["assets/Unique-33b9edbb.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/vue-content-loader.es-22bac17c.js","assets/vue-codemirror.esm-b1dfaa46.js","assets/vue-codemirror-bccfde04.css","assets/selectDynamic-7ad95bca.js","assets/UnavailableFields-66239e83.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-aa913ff4.css","assets/genericNodeSettings-38410ebf.js","assets/genericNodeSettings-924759c7.css","assets/Unique-f9fb0809.css"] : void 0), "./elements/unpivot/ContextMenu.vue": () => __vitePreload(() => import("./ContextMenu-a779eed7.js"), true ? ["assets/ContextMenu-a779eed7.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/ContextMenu-c13f91d0.css"] : void 0), "./elements/unpivot/SettingsSection.vue": () => __vitePreload(() => import("./SettingsSection-7c68b19f.js"), true ? ["assets/SettingsSection-7c68b19f.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/SettingsSection-2e4d03c4.css"] : void 0), "./elements/unpivot/Unpivot.vue": () => __vitePreload(() => import("./Unpivot-ef69d0e2.js"), true ? ["assets/Unpivot-ef69d0e2.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/vue-codemirror.esm-b1dfaa46.js","assets/vue-codemirror-bccfde04.css","assets/ContextMenu-a779eed7.js","assets/ContextMenu-c13f91d0.css","assets/SettingsSection-7c68b19f.js","assets/SettingsSection-2e4d03c4.css","assets/genericNodeSettings-38410ebf.js","assets/genericNodeSettings-924759c7.css","assets/Unpivot-1e422df3.css"] : void 0), "./elements/unpivot/UnpivotValidation.vue": () => __vitePreload(() => import("./UnpivotValidation-8658388e.js"), true ? ["assets/UnpivotValidation-8658388e.js","assets/index-5ec791df.js","assets/index-50508d4d.css","assets/UnpivotValidation-0d240eeb.css"] : void 0) });
|
|
15281
|
+
const props2 = __props;
|
|
15282
|
+
const drawerComponent = shallowRef(null);
|
|
15283
|
+
onMounted(() => {
|
|
15284
|
+
loadDrawerComponent();
|
|
15285
|
+
});
|
|
15286
|
+
const toCamelCase = (str) => {
|
|
15287
|
+
return str.replace(/_([a-z])/g, (_2, letter) => letter.toUpperCase());
|
|
15288
|
+
};
|
|
15289
|
+
const loadDrawerComponent = () => {
|
|
15290
|
+
try {
|
|
15291
|
+
let componentName;
|
|
15292
|
+
let folderName;
|
|
15293
|
+
if (props2.nodeData.custom_node) {
|
|
15294
|
+
componentName = "CustomNode";
|
|
15295
|
+
folderName = "customNode";
|
|
15296
|
+
} else {
|
|
15297
|
+
componentName = toTitleCase(props2.nodeData.item);
|
|
15298
|
+
folderName = toCamelCase(props2.nodeData.item.toLowerCase());
|
|
15299
|
+
}
|
|
15300
|
+
const componentPath = `./elements/${folderName}/${componentName}.vue`;
|
|
15301
|
+
const componentLoader = drawerModules[componentPath];
|
|
15302
|
+
if (!componentLoader) {
|
|
15303
|
+
console.error(`Component not found at path: ${componentPath}`);
|
|
15304
|
+
console.log(
|
|
15305
|
+
"Available paths:",
|
|
15306
|
+
Object.keys(drawerModules).filter((path2) => path2.includes(`/${folderName}/`))
|
|
15307
|
+
);
|
|
15308
|
+
return;
|
|
15309
|
+
}
|
|
15310
|
+
drawerComponent.value = markRaw$1(
|
|
15311
|
+
defineAsyncComponent({
|
|
15312
|
+
loader: componentLoader,
|
|
15313
|
+
errorComponent: void 0,
|
|
15314
|
+
timeout: 3e3,
|
|
15315
|
+
onError(error, retry, fail, attempts) {
|
|
15316
|
+
console.error(`Failed to load drawer component for ${props2.nodeData.item}:`, error);
|
|
15317
|
+
if (attempts <= 3) {
|
|
15318
|
+
retry();
|
|
15319
|
+
} else {
|
|
15320
|
+
fail();
|
|
15321
|
+
}
|
|
15322
|
+
}
|
|
15323
|
+
})
|
|
15324
|
+
);
|
|
15325
|
+
} catch (error) {
|
|
15326
|
+
console.error(`Error setting up drawer component for ${props2.nodeData.item}:`, error);
|
|
15327
|
+
}
|
|
15328
|
+
};
|
|
15329
|
+
const imageSrc = computed$1(() => {
|
|
15330
|
+
var _a;
|
|
15331
|
+
return ((_a = props2.nodeData) == null ? void 0 : _a.image) || "default.png";
|
|
15332
|
+
});
|
|
15333
|
+
const nodeTitle = computed$1(() => {
|
|
15334
|
+
var _a, _b;
|
|
15335
|
+
const displayName = ((_a = props2.nodeData) == null ? void 0 : _a.label) || ((_b = props2.nodeData) == null ? void 0 : _b.name) || "Node";
|
|
15336
|
+
return `${props2.nodeId}: ${displayName}`;
|
|
15337
|
+
});
|
|
15338
|
+
const nodeTitleInfo = computed$1(() => {
|
|
15339
|
+
var _a, _b;
|
|
15340
|
+
return {
|
|
15341
|
+
title: ((_a = props2.nodeData) == null ? void 0 : _a.drawer_title) || "Node Configuration",
|
|
15342
|
+
intro: ((_b = props2.nodeData) == null ? void 0 : _b.drawer_intro) || "Configure node settings"
|
|
15343
|
+
};
|
|
15344
|
+
});
|
|
15345
|
+
onErrorCaptured((error) => {
|
|
15346
|
+
console.error("Error in GenericNode component:", error);
|
|
15347
|
+
return false;
|
|
15348
|
+
});
|
|
15349
|
+
return (_ctx, _cache) => {
|
|
15350
|
+
return openBlock(), createBlock(NodeButton, {
|
|
15351
|
+
ref: "nodeButton",
|
|
15352
|
+
"node-id": _ctx.nodeId,
|
|
15353
|
+
"image-src": imageSrc.value,
|
|
15354
|
+
title: nodeTitle.value,
|
|
15355
|
+
"drawer-component": drawerComponent.value,
|
|
15356
|
+
"node-title-info": nodeTitleInfo.value
|
|
15357
|
+
}, null, 8, ["node-id", "image-src", "title", "drawer-component", "node-title-info"]);
|
|
15358
|
+
};
|
|
15359
|
+
}
|
|
15360
|
+
});
|
|
15361
|
+
const GenericNode_vue_vue_type_style_index_0_scoped_00eceaf3_lang = "";
|
|
15362
|
+
const GenericNode = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-00eceaf3"]]);
|
|
15363
|
+
const _hoisted_1$d = { class: "description-text" };
|
|
15364
|
+
const _hoisted_2$b = {
|
|
14413
15365
|
key: 0,
|
|
14414
15366
|
class: "truncated-indicator",
|
|
14415
15367
|
title: "Click to see full description"
|
|
14416
15368
|
};
|
|
14417
|
-
const _hoisted_3$
|
|
14418
|
-
const _hoisted_4$
|
|
15369
|
+
const _hoisted_3$a = ["id"];
|
|
15370
|
+
const _hoisted_4$9 = ["id"];
|
|
14419
15371
|
const CHAR_LIMIT = 100;
|
|
14420
|
-
const _sfc_main$
|
|
15372
|
+
const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
14421
15373
|
__name: "CustomNode",
|
|
14422
15374
|
props: {
|
|
14423
15375
|
data: {
|
|
@@ -14435,6 +15387,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
14435
15387
|
const showMenu = ref(false);
|
|
14436
15388
|
const contextMenuX = ref(0);
|
|
14437
15389
|
const contextMenuY = ref(0);
|
|
15390
|
+
const props2 = __props;
|
|
14438
15391
|
const onTitleClick = (event) => {
|
|
14439
15392
|
toggleEditMode(true);
|
|
14440
15393
|
mouseX.value = event.clientX;
|
|
@@ -14483,22 +15436,25 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
14483
15436
|
window.removeEventListener("click", handleClickOutsideMenu);
|
|
14484
15437
|
};
|
|
14485
15438
|
const copyNode2 = () => {
|
|
15439
|
+
var _a, _b, _c, _d, _e;
|
|
14486
15440
|
const nodeCopyValue = {
|
|
14487
15441
|
nodeIdToCopyFrom: props2.data.id,
|
|
14488
|
-
type: props2.data.component.__name || "unknown",
|
|
15442
|
+
type: ((_a = props2.data.nodeTemplate) == null ? void 0 : _a.item) || ((_b = props2.data.component) == null ? void 0 : _b.__name) || "unknown",
|
|
14489
15443
|
label: props2.data.label,
|
|
14490
15444
|
description: description.value,
|
|
14491
15445
|
numberOfInputs: props2.data.inputs.length,
|
|
14492
15446
|
numberOfOutputs: props2.data.outputs.length,
|
|
14493
|
-
typeSnakeCase: toSnakeCase(props2.data.component.__name || "unknown"),
|
|
14494
|
-
flowIdToCopyFrom: nodeStore.flow_id
|
|
15447
|
+
typeSnakeCase: ((_c = props2.data.nodeTemplate) == null ? void 0 : _c.item) || toSnakeCase(((_d = props2.data.component) == null ? void 0 : _d.__name) || "unknown"),
|
|
15448
|
+
flowIdToCopyFrom: nodeStore.flow_id,
|
|
15449
|
+
multi: (_e = props2.data.nodeTemplate) == null ? void 0 : _e.multi,
|
|
15450
|
+
nodeTemplate: props2.data.nodeTemplate
|
|
14495
15451
|
};
|
|
14496
15452
|
localStorage.setItem("copiedNode", JSON.stringify(nodeCopyValue));
|
|
14497
15453
|
console.log("Node copied:", nodeCopyValue);
|
|
14498
15454
|
closeContextMenu();
|
|
14499
15455
|
};
|
|
14500
15456
|
const deleteNode2 = () => {
|
|
14501
|
-
console.log("
|
|
15457
|
+
console.log("Deleting node");
|
|
14502
15458
|
if (nodeStore.vueFlowInstance) {
|
|
14503
15459
|
let vueFlow = nodeStore.vueFlowInstance;
|
|
14504
15460
|
vueFlow.removeNodes(props2.data.id.toLocaleString(), true);
|
|
@@ -14601,7 +15557,6 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
14601
15557
|
}
|
|
14602
15558
|
return description.value;
|
|
14603
15559
|
});
|
|
14604
|
-
const props2 = __props;
|
|
14605
15560
|
function getHandleStyle(index, total) {
|
|
14606
15561
|
const topMargin = 30;
|
|
14607
15562
|
const bottomMargin = 25;
|
|
@@ -14672,8 +15627,8 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
14672
15627
|
createBaseVNode("path", { d: "M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z" })
|
|
14673
15628
|
], -1)
|
|
14674
15629
|
])),
|
|
14675
|
-
createBaseVNode("pre", _hoisted_1$
|
|
14676
|
-
isTruncated.value ? (openBlock(), createElementBlock("span", _hoisted_2$
|
|
15630
|
+
createBaseVNode("pre", _hoisted_1$d, toDisplayString(descriptionSummary.value), 1),
|
|
15631
|
+
isTruncated.value ? (openBlock(), createElementBlock("span", _hoisted_2$b, "...")) : createCommentVNode("", true)
|
|
14677
15632
|
], 4)) : (openBlock(), createElementBlock("div", {
|
|
14678
15633
|
key: 1,
|
|
14679
15634
|
id: props2.data.id.toLocaleString(),
|
|
@@ -14687,10 +15642,10 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
14687
15642
|
class: "description-input",
|
|
14688
15643
|
data: "description_input",
|
|
14689
15644
|
onBlur: _cache[2] || (_cache[2] = ($event) => toggleEditMode(false))
|
|
14690
|
-
}, null, 40, _hoisted_4$
|
|
15645
|
+
}, null, 40, _hoisted_4$9), [
|
|
14691
15646
|
[vModelText, description.value]
|
|
14692
15647
|
])
|
|
14693
|
-
], 12, _hoisted_3$
|
|
15648
|
+
], 12, _hoisted_3$a))
|
|
14694
15649
|
])
|
|
14695
15650
|
], 32),
|
|
14696
15651
|
createBaseVNode("div", {
|
|
@@ -14699,16 +15654,21 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
14699
15654
|
class: "custom-node",
|
|
14700
15655
|
onContextmenu: withModifiers(showContextMenu, ["prevent"])
|
|
14701
15656
|
}, [
|
|
14702
|
-
(openBlock(), createBlock(
|
|
15657
|
+
__props.data.nodeTemplate ? (openBlock(), createBlock(GenericNode, {
|
|
15658
|
+
key: 0,
|
|
15659
|
+
"node-id": __props.data.id,
|
|
15660
|
+
"node-data": { ...__props.data.nodeTemplate, id: __props.data.id, label: __props.data.label }
|
|
15661
|
+
}, null, 8, ["node-id", "node-data"])) : __props.data.component ? (openBlock(), createBlock(resolveDynamicComponent(__props.data.component), {
|
|
15662
|
+
key: 1,
|
|
14703
15663
|
"node-id": __props.data.id
|
|
14704
|
-
}, null, 8, ["node-id"])),
|
|
15664
|
+
}, null, 8, ["node-id"])) : createCommentVNode("", true),
|
|
14705
15665
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.data.inputs, (input, index) => {
|
|
14706
15666
|
return openBlock(), createElementBlock("div", {
|
|
14707
15667
|
key: input.id,
|
|
14708
15668
|
class: "handle-input",
|
|
14709
15669
|
style: normalizeStyle(getHandleStyle(index, __props.data.inputs.length))
|
|
14710
15670
|
}, [
|
|
14711
|
-
createVNode(unref(_sfc_main$f), {
|
|
15671
|
+
createVNode(unref(_sfc_main$f$1), {
|
|
14712
15672
|
id: input.id,
|
|
14713
15673
|
type: "target",
|
|
14714
15674
|
position: input.position
|
|
@@ -14721,7 +15681,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
14721
15681
|
class: "handle-output",
|
|
14722
15682
|
style: normalizeStyle(getHandleStyle(index, __props.data.outputs.length))
|
|
14723
15683
|
}, [
|
|
14724
|
-
createVNode(unref(_sfc_main$f), {
|
|
15684
|
+
createVNode(unref(_sfc_main$f$1), {
|
|
14725
15685
|
id: output.id,
|
|
14726
15686
|
type: "source",
|
|
14727
15687
|
position: output.position
|
|
@@ -14729,7 +15689,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
14729
15689
|
], 4);
|
|
14730
15690
|
}), 128)),
|
|
14731
15691
|
showMenu.value ? (openBlock(), createBlock(Teleport, {
|
|
14732
|
-
key:
|
|
15692
|
+
key: 2,
|
|
14733
15693
|
to: "body"
|
|
14734
15694
|
}, [
|
|
14735
15695
|
createBaseVNode("div", {
|
|
@@ -14797,36 +15757,82 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
14797
15757
|
};
|
|
14798
15758
|
}
|
|
14799
15759
|
});
|
|
14800
|
-
const
|
|
14801
|
-
const CustomNode = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
14802
|
-
const
|
|
14803
|
-
|
|
14804
|
-
|
|
14805
|
-
|
|
14806
|
-
|
|
14807
|
-
|
|
14808
|
-
|
|
14809
|
-
|
|
14810
|
-
|
|
14811
|
-
const componentCache = {};
|
|
14812
|
-
function getComponent(name) {
|
|
14813
|
-
if (!componentCache[name]) {
|
|
14814
|
-
componentCache[name] = __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "../../nodes/CloudStorageReader.vue": () => __vitePreload(() => import("./CloudStorageReader-f1ff509e.js"), true ? ["assets/CloudStorageReader-f1ff509e.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-ba94b82f.js","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/api-cb00cce6.js","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/CloudStorageReader-29d14fcc.css"] : void 0), "../../nodes/CloudStorageWriter.vue": () => __vitePreload(() => import("./CloudStorageWriter-034f8b78.js"), true ? ["assets/CloudStorageWriter-034f8b78.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-ba94b82f.js","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/api-cb00cce6.js","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/CloudStorageWriter-49c9a4b2.css"] : void 0), "../../nodes/CrossJoin.vue": () => __vitePreload(() => import("./CrossJoin-9e156ebe.js"), true ? ["assets/CrossJoin-9e156ebe.js","assets/vue-content-loader.es-ba94b82f.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/selectDynamic-de91449a.js","assets/UnavailableFields-8b0cb48e.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-b062bc9b.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/CrossJoin-41efa4cb.css"] : void 0), "../../nodes/DatabaseReader.vue": () => __vitePreload(() => import("./DatabaseReader-0b10551e.js"), true ? ["assets/DatabaseReader-0b10551e.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-ba94b82f.js","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/api-023d1733.js","assets/DatabaseConnectionSettings-d5c625b3.js","assets/secretApi-baceb6f9.js","assets/DatabaseConnectionSettings-0c04b2e5.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/DatabaseReader-f50c6558.css"] : void 0), "../../nodes/DatabaseWriter.vue": () => __vitePreload(() => import("./DatabaseWriter-c17c6916.js"), true ? ["assets/DatabaseWriter-c17c6916.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-ba94b82f.js","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/api-023d1733.js","assets/DatabaseConnectionSettings-d5c625b3.js","assets/secretApi-baceb6f9.js","assets/DatabaseConnectionSettings-0c04b2e5.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/DatabaseWriter-2f570e53.css"] : void 0), "../../nodes/ExploreData.vue": () => __vitePreload(() => import("./ExploreData-18a4fe52.js"), true ? ["assets/ExploreData-18a4fe52.js","assets/vue-content-loader.es-ba94b82f.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/ExploreData-5bdae813.css"] : void 0), "../../nodes/ExternalSource.vue": () => __vitePreload(() => import("./ExternalSource-3a66556c.js"), true ? ["assets/ExternalSource-3a66556c.js","assets/vue-content-loader.es-ba94b82f.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/ExternalSource-e37b6275.css"] : void 0), "../../nodes/Filter.vue": () => __vitePreload(() => import("./Filter-91ad87e7.js"), true ? ["assets/Filter-91ad87e7.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-ba94b82f.js","assets/dropDown-0b46dd77.js","assets/dropDown-35135ba8.css","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/fullEditor-ec4e4f95.js","assets/fullEditor-178376bb.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/Filter-a9d08ba1.css"] : void 0), "../../nodes/Formula.vue": () => __vitePreload(() => import("./Formula-3c395ab1.js"), true ? ["assets/Formula-3c395ab1.js","assets/vue-content-loader.es-ba94b82f.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/fullEditor-ec4e4f95.js","assets/fullEditor-178376bb.css","assets/dropDown-0b46dd77.js","assets/dropDown-35135ba8.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/Formula-29f19d21.css"] : void 0), "../../nodes/FuzzyMatch.vue": () => __vitePreload(() => import("./FuzzyMatch-2df0d230.js"), true ? ["assets/FuzzyMatch-2df0d230.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/dropDown-0b46dd77.js","assets/dropDown-35135ba8.css","assets/selectDynamic-de91449a.js","assets/UnavailableFields-8b0cb48e.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-b062bc9b.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/vue-content-loader.es-ba94b82f.js","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/FuzzyMatch-6857de82.css"] : void 0), "../../nodes/GraphSolver.vue": () => __vitePreload(() => import("./GraphSolver-d285877f.js"), true ? ["assets/GraphSolver-d285877f.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/GraphSolver-17fd26db.css"] : void 0), "../../nodes/GroupBy.vue": () => __vitePreload(() => import("./GroupBy-0bd1cc6b.js"), true ? ["assets/GroupBy-0bd1cc6b.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-ba94b82f.js","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/GroupBy-ab1ea74b.css"] : void 0), "../../nodes/Join.vue": () => __vitePreload(() => import("./Join-5a78a203.js"), true ? ["assets/Join-5a78a203.js","assets/vue-content-loader.es-ba94b82f.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/dropDown-0b46dd77.js","assets/dropDown-35135ba8.css","assets/selectDynamic-de91449a.js","assets/UnavailableFields-8b0cb48e.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-b062bc9b.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/Join-f45eff22.css"] : void 0), "../../nodes/ManualInput.vue": () => __vitePreload(() => import("./ManualInput-93aef9d6.js"), true ? ["assets/ManualInput-93aef9d6.js","assets/nodeTitle-a16db7c3.js","assets/vue-codemirror.esm-dc5e3348.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror-bccfde04.css","assets/nodeTitle-f4b12bcb.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/ManualInput-a71b52c6.css"] : void 0), "../../nodes/Output.vue": () => __vitePreload(() => import("./Output-411ecaee.js"), true ? ["assets/Output-411ecaee.js","assets/vue-codemirror.esm-dc5e3348.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror-bccfde04.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/Output-48f81019.css"] : void 0), "../../nodes/Pivot.vue": () => __vitePreload(() => import("./Pivot-89db4b04.js"), true ? ["assets/Pivot-89db4b04.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/SettingsSection-695ac487.js","assets/SettingsSection-9c836ecc.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/Pivot-f415e85f.css"] : void 0), "../../nodes/PolarsCode.vue": () => __vitePreload(() => import("./PolarsCode-a9f974f8.js"), true ? ["assets/PolarsCode-a9f974f8.js","assets/vue-content-loader.es-ba94b82f.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/PolarsCode-650322d1.css"] : void 0), "../../nodes/Read.vue": () => __vitePreload(() => import("./Read-c3b1929c.js"), true ? ["assets/Read-c3b1929c.js","assets/vue-content-loader.es-ba94b82f.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/dropDown-0b46dd77.js","assets/dropDown-35135ba8.css","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/Read-80dc1675.css"] : void 0), "../../nodes/RecordCount.vue": () => __vitePreload(() => import("./RecordCount-4e95f98e.js"), true ? ["assets/RecordCount-4e95f98e.js","assets/vue-codemirror.esm-dc5e3348.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css"] : void 0), "../../nodes/RecordId.vue": () => __vitePreload(() => import("./RecordId-55ae7d36.js"), true ? ["assets/RecordId-55ae7d36.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/SettingsSection-695ac487.js","assets/SettingsSection-9c836ecc.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css"] : void 0), "../../nodes/Sample.vue": () => __vitePreload(() => import("./Sample-b4a18476.js"), true ? ["assets/Sample-b4a18476.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css"] : void 0), "../../nodes/Select.vue": () => __vitePreload(() => import("./Select-727688dc.js"), true ? ["assets/Select-727688dc.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-ba94b82f.js","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/selectDynamic-de91449a.js","assets/UnavailableFields-8b0cb48e.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-b062bc9b.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css"] : void 0), "../../nodes/Sort.vue": () => __vitePreload(() => import("./Sort-be3339a8.js"), true ? ["assets/Sort-be3339a8.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/vue-content-loader.es-ba94b82f.js","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/Sort-7ccfa0fe.css"] : void 0), "../../nodes/TextToRows.vue": () => __vitePreload(() => import("./TextToRows-7b8998da.js"), true ? ["assets/TextToRows-7b8998da.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/dropDown-0b46dd77.js","assets/dropDown-35135ba8.css","assets/UnavailableFields-8b0cb48e.js","assets/UnavailableFields-5edd5322.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/vue-content-loader.es-ba94b82f.js","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/TextToRows-c92d1ec2.css"] : void 0), "../../nodes/Union.vue": () => __vitePreload(() => import("./Union-89fd73dc.js"), true ? ["assets/Union-89fd73dc.js","assets/vue-codemirror.esm-dc5e3348.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/Union-8d9ac7f9.css"] : void 0), "../../nodes/Unique.vue": () => __vitePreload(() => import("./Unique-af5a80b4.js"), true ? ["assets/Unique-af5a80b4.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-ba94b82f.js","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/selectDynamic-de91449a.js","assets/UnavailableFields-8b0cb48e.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-b062bc9b.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/Unique-b5615727.css"] : void 0), "../../nodes/Unpivot.vue": () => __vitePreload(() => import("./Unpivot-5195d411.js"), true ? ["assets/Unpivot-5195d411.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/Unpivot-246e9bbd.css"] : void 0) }), `../../nodes/${toTitleCase(name)}.vue`).then((module) => {
|
|
14815
|
-
const component = markRaw$1(module.default);
|
|
14816
|
-
return component;
|
|
14817
|
-
});
|
|
14818
|
-
}
|
|
14819
|
-
return componentCache[name];
|
|
15760
|
+
const CustomNode_vue_vue_type_style_index_0_scoped_e5db3d68_lang = "";
|
|
15761
|
+
const CustomNode = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-e5db3d68"]]);
|
|
15762
|
+
const componentCache = /* @__PURE__ */ new Map();
|
|
15763
|
+
function getComponent(nodeOrItem) {
|
|
15764
|
+
const cacheKey = "generic-node";
|
|
15765
|
+
if (componentCache.has(cacheKey)) {
|
|
15766
|
+
return componentCache.get(cacheKey);
|
|
15767
|
+
}
|
|
15768
|
+
const componentPromise = Promise.resolve(markRaw$1(GenericNode));
|
|
15769
|
+
componentCache.set(cacheKey, componentPromise);
|
|
15770
|
+
return componentPromise;
|
|
14820
15771
|
}
|
|
14821
15772
|
function getComponentRaw(name) {
|
|
14822
|
-
|
|
14823
|
-
componentCache[name] = __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "../../nodes/CloudStorageReader.vue": () => __vitePreload(() => import("./CloudStorageReader-f1ff509e.js"), true ? ["assets/CloudStorageReader-f1ff509e.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-ba94b82f.js","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/api-cb00cce6.js","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/CloudStorageReader-29d14fcc.css"] : void 0), "../../nodes/CloudStorageWriter.vue": () => __vitePreload(() => import("./CloudStorageWriter-034f8b78.js"), true ? ["assets/CloudStorageWriter-034f8b78.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-ba94b82f.js","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/api-cb00cce6.js","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/CloudStorageWriter-49c9a4b2.css"] : void 0), "../../nodes/CrossJoin.vue": () => __vitePreload(() => import("./CrossJoin-9e156ebe.js"), true ? ["assets/CrossJoin-9e156ebe.js","assets/vue-content-loader.es-ba94b82f.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/selectDynamic-de91449a.js","assets/UnavailableFields-8b0cb48e.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-b062bc9b.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/CrossJoin-41efa4cb.css"] : void 0), "../../nodes/DatabaseReader.vue": () => __vitePreload(() => import("./DatabaseReader-0b10551e.js"), true ? ["assets/DatabaseReader-0b10551e.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-ba94b82f.js","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/api-023d1733.js","assets/DatabaseConnectionSettings-d5c625b3.js","assets/secretApi-baceb6f9.js","assets/DatabaseConnectionSettings-0c04b2e5.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/DatabaseReader-f50c6558.css"] : void 0), "../../nodes/DatabaseWriter.vue": () => __vitePreload(() => import("./DatabaseWriter-c17c6916.js"), true ? ["assets/DatabaseWriter-c17c6916.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-ba94b82f.js","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/api-023d1733.js","assets/DatabaseConnectionSettings-d5c625b3.js","assets/secretApi-baceb6f9.js","assets/DatabaseConnectionSettings-0c04b2e5.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/DatabaseWriter-2f570e53.css"] : void 0), "../../nodes/ExploreData.vue": () => __vitePreload(() => import("./ExploreData-18a4fe52.js"), true ? ["assets/ExploreData-18a4fe52.js","assets/vue-content-loader.es-ba94b82f.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/ExploreData-5bdae813.css"] : void 0), "../../nodes/ExternalSource.vue": () => __vitePreload(() => import("./ExternalSource-3a66556c.js"), true ? ["assets/ExternalSource-3a66556c.js","assets/vue-content-loader.es-ba94b82f.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/ExternalSource-e37b6275.css"] : void 0), "../../nodes/Filter.vue": () => __vitePreload(() => import("./Filter-91ad87e7.js"), true ? ["assets/Filter-91ad87e7.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-ba94b82f.js","assets/dropDown-0b46dd77.js","assets/dropDown-35135ba8.css","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/fullEditor-ec4e4f95.js","assets/fullEditor-178376bb.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/Filter-a9d08ba1.css"] : void 0), "../../nodes/Formula.vue": () => __vitePreload(() => import("./Formula-3c395ab1.js"), true ? ["assets/Formula-3c395ab1.js","assets/vue-content-loader.es-ba94b82f.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/fullEditor-ec4e4f95.js","assets/fullEditor-178376bb.css","assets/dropDown-0b46dd77.js","assets/dropDown-35135ba8.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/Formula-29f19d21.css"] : void 0), "../../nodes/FuzzyMatch.vue": () => __vitePreload(() => import("./FuzzyMatch-2df0d230.js"), true ? ["assets/FuzzyMatch-2df0d230.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/dropDown-0b46dd77.js","assets/dropDown-35135ba8.css","assets/selectDynamic-de91449a.js","assets/UnavailableFields-8b0cb48e.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-b062bc9b.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/vue-content-loader.es-ba94b82f.js","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/FuzzyMatch-6857de82.css"] : void 0), "../../nodes/GraphSolver.vue": () => __vitePreload(() => import("./GraphSolver-d285877f.js"), true ? ["assets/GraphSolver-d285877f.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/GraphSolver-17fd26db.css"] : void 0), "../../nodes/GroupBy.vue": () => __vitePreload(() => import("./GroupBy-0bd1cc6b.js"), true ? ["assets/GroupBy-0bd1cc6b.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-ba94b82f.js","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/GroupBy-ab1ea74b.css"] : void 0), "../../nodes/Join.vue": () => __vitePreload(() => import("./Join-5a78a203.js"), true ? ["assets/Join-5a78a203.js","assets/vue-content-loader.es-ba94b82f.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/dropDown-0b46dd77.js","assets/dropDown-35135ba8.css","assets/selectDynamic-de91449a.js","assets/UnavailableFields-8b0cb48e.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-b062bc9b.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/Join-f45eff22.css"] : void 0), "../../nodes/ManualInput.vue": () => __vitePreload(() => import("./ManualInput-93aef9d6.js"), true ? ["assets/ManualInput-93aef9d6.js","assets/nodeTitle-a16db7c3.js","assets/vue-codemirror.esm-dc5e3348.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror-bccfde04.css","assets/nodeTitle-f4b12bcb.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/ManualInput-a71b52c6.css"] : void 0), "../../nodes/Output.vue": () => __vitePreload(() => import("./Output-411ecaee.js"), true ? ["assets/Output-411ecaee.js","assets/vue-codemirror.esm-dc5e3348.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror-bccfde04.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/Output-48f81019.css"] : void 0), "../../nodes/Pivot.vue": () => __vitePreload(() => import("./Pivot-89db4b04.js"), true ? ["assets/Pivot-89db4b04.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/SettingsSection-695ac487.js","assets/SettingsSection-9c836ecc.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/Pivot-f415e85f.css"] : void 0), "../../nodes/PolarsCode.vue": () => __vitePreload(() => import("./PolarsCode-a9f974f8.js"), true ? ["assets/PolarsCode-a9f974f8.js","assets/vue-content-loader.es-ba94b82f.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/PolarsCode-650322d1.css"] : void 0), "../../nodes/Read.vue": () => __vitePreload(() => import("./Read-c3b1929c.js"), true ? ["assets/Read-c3b1929c.js","assets/vue-content-loader.es-ba94b82f.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/dropDown-0b46dd77.js","assets/dropDown-35135ba8.css","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/Read-80dc1675.css"] : void 0), "../../nodes/RecordCount.vue": () => __vitePreload(() => import("./RecordCount-4e95f98e.js"), true ? ["assets/RecordCount-4e95f98e.js","assets/vue-codemirror.esm-dc5e3348.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css"] : void 0), "../../nodes/RecordId.vue": () => __vitePreload(() => import("./RecordId-55ae7d36.js"), true ? ["assets/RecordId-55ae7d36.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/SettingsSection-695ac487.js","assets/SettingsSection-9c836ecc.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css"] : void 0), "../../nodes/Sample.vue": () => __vitePreload(() => import("./Sample-b4a18476.js"), true ? ["assets/Sample-b4a18476.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css"] : void 0), "../../nodes/Select.vue": () => __vitePreload(() => import("./Select-727688dc.js"), true ? ["assets/Select-727688dc.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-ba94b82f.js","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/selectDynamic-de91449a.js","assets/UnavailableFields-8b0cb48e.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-b062bc9b.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css"] : void 0), "../../nodes/Sort.vue": () => __vitePreload(() => import("./Sort-be3339a8.js"), true ? ["assets/Sort-be3339a8.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/vue-content-loader.es-ba94b82f.js","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/Sort-7ccfa0fe.css"] : void 0), "../../nodes/TextToRows.vue": () => __vitePreload(() => import("./TextToRows-7b8998da.js"), true ? ["assets/TextToRows-7b8998da.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/dropDown-0b46dd77.js","assets/dropDown-35135ba8.css","assets/UnavailableFields-8b0cb48e.js","assets/UnavailableFields-5edd5322.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/vue-content-loader.es-ba94b82f.js","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/TextToRows-c92d1ec2.css"] : void 0), "../../nodes/Union.vue": () => __vitePreload(() => import("./Union-89fd73dc.js"), true ? ["assets/Union-89fd73dc.js","assets/vue-codemirror.esm-dc5e3348.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/Union-8d9ac7f9.css"] : void 0), "../../nodes/Unique.vue": () => __vitePreload(() => import("./Unique-af5a80b4.js"), true ? ["assets/Unique-af5a80b4.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-ba94b82f.js","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/selectDynamic-de91449a.js","assets/UnavailableFields-8b0cb48e.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-b062bc9b.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/Unique-b5615727.css"] : void 0), "../../nodes/Unpivot.vue": () => __vitePreload(() => import("./Unpivot-5195d411.js"), true ? ["assets/Unpivot-5195d411.js","assets/index-683fc198.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-dc5e3348.js","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-def5879b.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-a16db7c3.js","assets/nodeTitle-f4b12bcb.css","assets/Unpivot-246e9bbd.css"] : void 0) }), `../../nodes/${name}.vue`).then((module) => {
|
|
14824
|
-
|
|
14825
|
-
|
|
14826
|
-
|
|
15773
|
+
return getComponent();
|
|
15774
|
+
}
|
|
15775
|
+
let nodeTemplatesCache = null;
|
|
15776
|
+
let cachePromise = null;
|
|
15777
|
+
async function fetchNodeTemplates() {
|
|
15778
|
+
if (nodeTemplatesCache !== null) {
|
|
15779
|
+
return nodeTemplatesCache;
|
|
15780
|
+
}
|
|
15781
|
+
if (cachePromise !== null) {
|
|
15782
|
+
return cachePromise;
|
|
15783
|
+
}
|
|
15784
|
+
cachePromise = axios.get("/node_list").then((response) => {
|
|
15785
|
+
const allNodes = response.data;
|
|
15786
|
+
nodeTemplatesCache = allNodes.filter((node) => node.prod_ready);
|
|
15787
|
+
return nodeTemplatesCache;
|
|
15788
|
+
}).catch((error) => {
|
|
15789
|
+
console.error("Failed to fetch node templates:", error);
|
|
15790
|
+
cachePromise = null;
|
|
15791
|
+
throw error;
|
|
15792
|
+
});
|
|
15793
|
+
return cachePromise;
|
|
15794
|
+
}
|
|
15795
|
+
function clearNodeTemplatesCache() {
|
|
15796
|
+
nodeTemplatesCache = null;
|
|
15797
|
+
cachePromise = null;
|
|
15798
|
+
}
|
|
15799
|
+
async function getNodeTemplateByItem(item) {
|
|
15800
|
+
try {
|
|
15801
|
+
const allNodes = await fetchNodeTemplates();
|
|
15802
|
+
return allNodes.find((node) => node.item === item);
|
|
15803
|
+
} catch (error) {
|
|
15804
|
+
console.error(`Failed to get node template for item ${item}:`, error);
|
|
15805
|
+
return void 0;
|
|
14827
15806
|
}
|
|
14828
|
-
return componentCache[name];
|
|
14829
15807
|
}
|
|
15808
|
+
const useNodes = () => {
|
|
15809
|
+
const nodes = ref([]);
|
|
15810
|
+
const loading = ref(false);
|
|
15811
|
+
const error = ref(null);
|
|
15812
|
+
const fetchNodes2 = async () => {
|
|
15813
|
+
loading.value = true;
|
|
15814
|
+
error.value = null;
|
|
15815
|
+
try {
|
|
15816
|
+
nodes.value = await fetchNodeTemplates();
|
|
15817
|
+
} catch (err) {
|
|
15818
|
+
error.value = err;
|
|
15819
|
+
nodes.value = [];
|
|
15820
|
+
} finally {
|
|
15821
|
+
loading.value = false;
|
|
15822
|
+
}
|
|
15823
|
+
};
|
|
15824
|
+
onMounted(fetchNodes2);
|
|
15825
|
+
return {
|
|
15826
|
+
nodes,
|
|
15827
|
+
loading,
|
|
15828
|
+
error,
|
|
15829
|
+
refetch: fetchNodes2,
|
|
15830
|
+
clearCache: () => {
|
|
15831
|
+
clearNodeTemplatesCache();
|
|
15832
|
+
return fetchNodes2();
|
|
15833
|
+
}
|
|
15834
|
+
};
|
|
15835
|
+
};
|
|
14830
15836
|
const connectNode = async (flowId, nodeConnection) => {
|
|
14831
15837
|
console.log("Connecting node where it should happen", nodeConnection);
|
|
14832
15838
|
try {
|
|
@@ -15035,7 +16041,9 @@ function useDragAndDrop() {
|
|
|
15035
16041
|
outputs: Array.from({ length: node.numberOfOutputs }, (_2, i2) => ({
|
|
15036
16042
|
id: `output-${i2}`,
|
|
15037
16043
|
position: Position.Right
|
|
15038
|
-
}))
|
|
16044
|
+
})),
|
|
16045
|
+
// Include nodeTemplate if available
|
|
16046
|
+
nodeTemplate: node.nodeTemplate
|
|
15039
16047
|
}
|
|
15040
16048
|
};
|
|
15041
16049
|
const nodePromise = {
|
|
@@ -15057,7 +16065,8 @@ function useDragAndDrop() {
|
|
|
15057
16065
|
};
|
|
15058
16066
|
async function getNodeToAdd(node) {
|
|
15059
16067
|
const numberOfInputs = node.multi ? 1 : node.input;
|
|
15060
|
-
const
|
|
16068
|
+
const nodeTemplate = await getNodeTemplateByItem(node.item);
|
|
16069
|
+
const component = await getComponent(nodeTemplate || node.item);
|
|
15061
16070
|
const newNode = {
|
|
15062
16071
|
id: String(node.id),
|
|
15063
16072
|
type: "custom-node",
|
|
@@ -15076,7 +16085,9 @@ function useDragAndDrop() {
|
|
|
15076
16085
|
outputs: Array.from({ length: node.output }, (_2, i2) => ({
|
|
15077
16086
|
id: `output-${i2}`,
|
|
15078
16087
|
position: Position.Right
|
|
15079
|
-
}))
|
|
16088
|
+
})),
|
|
16089
|
+
// IMPORTANT: Include the complete NodeTemplate
|
|
16090
|
+
nodeTemplate
|
|
15080
16091
|
}
|
|
15081
16092
|
};
|
|
15082
16093
|
return newNode;
|
|
@@ -15107,21 +16118,17 @@ function useDragAndDrop() {
|
|
|
15107
16118
|
if (!event.dataTransfer)
|
|
15108
16119
|
return;
|
|
15109
16120
|
const nodeData = JSON.parse(event.dataTransfer.getData("application/vueflow"));
|
|
15110
|
-
console.log("nodeData:", nodeData);
|
|
15111
16121
|
const nodeId = getId();
|
|
15112
|
-
getComponent(
|
|
16122
|
+
getComponent().then((component) => {
|
|
15113
16123
|
const numberOfInputs = nodeData.multi ? 1 : nodeData.input;
|
|
15114
|
-
console.log("logging", numberOfInputs);
|
|
15115
16124
|
const newNode = {
|
|
15116
16125
|
id: String(nodeId),
|
|
15117
16126
|
type: "custom-node",
|
|
15118
16127
|
position,
|
|
15119
16128
|
data: {
|
|
15120
16129
|
id: nodeId,
|
|
15121
|
-
// Pass nodeId here
|
|
15122
16130
|
label: nodeData.name,
|
|
15123
16131
|
component: markRaw$1(component),
|
|
15124
|
-
// Pass component directly
|
|
15125
16132
|
inputs: Array.from({ length: numberOfInputs }, (_2, i2) => ({
|
|
15126
16133
|
id: `input-${i2}`,
|
|
15127
16134
|
position: Position.Left
|
|
@@ -15130,7 +16137,8 @@ function useDragAndDrop() {
|
|
|
15130
16137
|
id: `output-${i2}`,
|
|
15131
16138
|
position: Position.Right
|
|
15132
16139
|
})),
|
|
15133
|
-
|
|
16140
|
+
// IMPORTANT: Pass the complete NodeTemplate data
|
|
16141
|
+
nodeTemplate: nodeData
|
|
15134
16142
|
}
|
|
15135
16143
|
};
|
|
15136
16144
|
const { off } = onNodesInitialized(() => {
|
|
@@ -15145,9 +16153,7 @@ function useDragAndDrop() {
|
|
|
15145
16153
|
});
|
|
15146
16154
|
off();
|
|
15147
16155
|
});
|
|
15148
|
-
console.log("nodeData", nodeData);
|
|
15149
16156
|
insertNode(flowId, nodeId, nodeData.item);
|
|
15150
|
-
console.log(newNode);
|
|
15151
16157
|
addNodes(newNode);
|
|
15152
16158
|
}).catch((error) => {
|
|
15153
16159
|
console.error(`Error importing component for ${nodeData.item}`, error);
|
|
@@ -17723,11 +18729,11 @@ const oneDarkHighlightStyle = /* @__PURE__ */ HighlightStyle.define([
|
|
|
17723
18729
|
}
|
|
17724
18730
|
]);
|
|
17725
18731
|
const oneDark = [oneDarkTheme, /* @__PURE__ */ syntaxHighlighting(oneDarkHighlightStyle)];
|
|
17726
|
-
const _hoisted_1$
|
|
17727
|
-
const _hoisted_2$
|
|
17728
|
-
const _hoisted_3$
|
|
17729
|
-
const _hoisted_4$
|
|
17730
|
-
const _hoisted_5$
|
|
18732
|
+
const _hoisted_1$c = { class: "code-container" };
|
|
18733
|
+
const _hoisted_2$a = { class: "code-header" };
|
|
18734
|
+
const _hoisted_3$9 = { class: "header-actions" };
|
|
18735
|
+
const _hoisted_4$8 = ["disabled"];
|
|
18736
|
+
const _hoisted_5$6 = {
|
|
17731
18737
|
key: 0,
|
|
17732
18738
|
width: "16",
|
|
17733
18739
|
height: "16",
|
|
@@ -17736,11 +18742,11 @@ const _hoisted_5$5 = {
|
|
|
17736
18742
|
stroke: "currentColor",
|
|
17737
18743
|
"stroke-width": "2"
|
|
17738
18744
|
};
|
|
17739
|
-
const _hoisted_6$
|
|
18745
|
+
const _hoisted_6$5 = {
|
|
17740
18746
|
key: 1,
|
|
17741
18747
|
class: "spinner"
|
|
17742
18748
|
};
|
|
17743
|
-
const _sfc_main$
|
|
18749
|
+
const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
17744
18750
|
__name: "CodeGenerator",
|
|
17745
18751
|
setup(__props) {
|
|
17746
18752
|
const code = ref("");
|
|
@@ -17807,23 +18813,23 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
|
17807
18813
|
URL.revokeObjectURL(url);
|
|
17808
18814
|
};
|
|
17809
18815
|
return (_ctx, _cache) => {
|
|
17810
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
17811
|
-
createBaseVNode("div", _hoisted_2$
|
|
18816
|
+
return openBlock(), createElementBlock("div", _hoisted_1$c, [
|
|
18817
|
+
createBaseVNode("div", _hoisted_2$a, [
|
|
17812
18818
|
_cache[3] || (_cache[3] = createBaseVNode("h4", null, "Generated code", -1)),
|
|
17813
|
-
createBaseVNode("div", _hoisted_3$
|
|
18819
|
+
createBaseVNode("div", _hoisted_3$9, [
|
|
17814
18820
|
createBaseVNode("button", {
|
|
17815
18821
|
class: "refresh-button",
|
|
17816
18822
|
disabled: loading.value,
|
|
17817
18823
|
onClick: refreshCode
|
|
17818
18824
|
}, [
|
|
17819
|
-
!loading.value ? (openBlock(), createElementBlock("svg", _hoisted_5$
|
|
18825
|
+
!loading.value ? (openBlock(), createElementBlock("svg", _hoisted_5$6, _cache[1] || (_cache[1] = [
|
|
17820
18826
|
createBaseVNode("path", { d: "M23 4v6h-6" }, null, -1),
|
|
17821
18827
|
createBaseVNode("path", { d: "M1 20v-6h6" }, null, -1),
|
|
17822
18828
|
createBaseVNode("path", { d: "M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15" }, null, -1)
|
|
17823
18829
|
]))) : createCommentVNode("", true),
|
|
17824
|
-
loading.value ? (openBlock(), createElementBlock("span", _hoisted_6$
|
|
18830
|
+
loading.value ? (openBlock(), createElementBlock("span", _hoisted_6$5)) : createCommentVNode("", true),
|
|
17825
18831
|
createTextVNode(" " + toDisplayString(loading.value ? "Loading..." : "Refresh"), 1)
|
|
17826
|
-
], 8, _hoisted_4$
|
|
18832
|
+
], 8, _hoisted_4$8),
|
|
17827
18833
|
createBaseVNode("button", {
|
|
17828
18834
|
class: "export-button",
|
|
17829
18835
|
onClick: exportCode
|
|
@@ -17860,69 +18866,18 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
|
17860
18866
|
}
|
|
17861
18867
|
});
|
|
17862
18868
|
const CodeGenerator_vue_vue_type_style_index_0_scoped_8bafe064_lang = "";
|
|
17863
|
-
const CodeGenerator = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
17864
|
-
const
|
|
17865
|
-
const
|
|
17866
|
-
const
|
|
17867
|
-
const
|
|
17868
|
-
const __vite_glob_0_4 = "/assets/cross_join-d30c0290.png";
|
|
17869
|
-
const __vite_glob_0_5 = "/assets/database_reader-ce1e55f3.svg";
|
|
17870
|
-
const __vite_glob_0_6 = "/assets/database_writer-b4ad0753.svg";
|
|
17871
|
-
const __vite_glob_0_7 = "/assets/explore_data-8a0a2861.png";
|
|
17872
|
-
const __vite_glob_0_8 = "data:image/png;base64,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";
|
|
17873
|
-
const __vite_glob_0_9 = "/assets/filter-d7708bda.png";
|
|
17874
|
-
const __vite_glob_0_10 = "/assets/formula-eeeb1611.png";
|
|
17875
|
-
const __vite_glob_0_11 = "/assets/fuzzy_match-40c161b2.png";
|
|
17876
|
-
const __vite_glob_0_12 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAIAklEQVR4nO2dS4wcRxmAv7+qZ8a7tuN1jMkD24hIIQjERjxixYTISRQUcMgJFg4cOCCCECAhccjRuzd8QByMAgHlBOJgRxyQYsMlxEJcbKQolgyCQxCK7UgkaxOvd3dmerp+Dj0zO+t9Tbdnq8tMfavRSrvd1T31db3+qaoRyqIIggJw5uhXcXybdnYYxxRSOtXtxlGzhnfmL3H1+heZu3KZGSynyaq+sR7lsq4n49SjdzNZ+wViZnAKqYLqiG9xhChgjPKf94T3Ft6gNvllXvjH1ZCkmMJnKMLsceGlz0xSq73CRDLDUsfRylzQMnoIQstlWPkUtP7AiYfu5zQZM9iqbw3KCDk9Y5ibc9w78UN2J09yvd3GiEGkeFpVIWJZdhnCJ6F9JiQpRassAZQzh++iXbuEMfeTKpQRWwUKWANvvwvXFsCYjIaxqF5EdnwphOqrWEZqV2Cn/gjGHKDlpHAaIWGwNF2GyDSudTaEklIsM2eP5sc78yFqBgS3HTfllZ4UwzRavZRyT7eoIJTto4VHv6RUL+XOrW5GzSopzcqkRCGDDLYp2jrLiYPepUQht2KwtFwnb1PMWU76LSlRyHoICcsuw8g0i37blChkIwy9waPXhj4K2YzBht75aeijkK3oSbHipaREIcOwqqRsr5QoZFjEz4g+CimCh8FjFFKUNYPH0UqJQsqwjbGvKKQs2yQlCrkdtqFNiUJuF4ul1Q2zaHMl9nW8XN6OrxDV/CNd1dt7OQWwLGd5SbnZzKPEc7j+J6wFSEb+Ru8EjEBi89foZspYUs3YYafBnuWljz8Hf3t71fy1IRgvIQI4B/fshQ9ObccVLJCyJ5lmKfsCwsscP5rAuc6wCYyXkB5GYNtmLakBcSQ2LXP2eAqBbZxhqaAYnJaacTC+jXqgRCGBEYUERhQSGFFIYEQhgRGFBEYUEhhRSGB4HqnfqdPl/S3V8ytEU+QOWIY4iAog/rLJy5UEQbMWJx7+AY/tm6btOhgJu7Q4Veom4S/zF3nhzZOIbaAeSoof9SKgjof3fJTH9k17ueSouNlpgrrue/h/EQIgsJy1cOpoqcMGvmg3U0dDDMtZy2vT57UNMSIYMRjADAhxJZ+8jaq9UaSn5Pfou2qt/PMQAeol33TG2v7PqNPzTaVCBEg14583L+NwFKkbBPjw5H3ssI1+JgrQzFr8e+mdghmrGAwf2XWAmthKpVQmRFEShCvNa3zu9e+wmC5ixG7ZkxHAARblz0/8ks/u/RhtzVdn18Xw9xv/4vHXnydDMGz9xAuC04ydtZ28+fSvOTSxn7RCJZVXWYqSakaqWf8vw9BB15WnKC3NCszAEehe30e3disqFwJgkP7P1k90d4eMTY6xCBnSP3bz9ARFMIFEEYIQoqxk3DDP6ODxPtLzSdiDgTEkiBIi3d2d8h2etm7U898bHyfSqwSHuHa3Ygtld6kKe1nd36q0O0touoQay1ZCev/toOsOAJ0qnc4SmysbTE/AZbRF0G56Y9nt7XVf9zem+N2RE3RcJ48XDX2+8uDuQ/nopXueAx7cfYjff/6nxeY5q5KYhP2Nqf5oqCopFQrJ93aasA2O3XukVBqu++pVTg6Yqu3iufseH0F61SipvA1xQKrltt0ysrazmt1GeiEEPCsXAhsHCbdivbPkNtILgcqFCJCUHJRtFFwcZXq+qTy4mKnjanO+v9xo2JG6APsbe6mb2qrgYtulvNu63j9m2PQMwj079mHFjGcvqxdcvNqc55HXvsXNztLQwUUFrCqvHf0Zn5566Jbg4ls8de77ZDJ86MRpxq5kkgtPvczBcQ8uOpQbnSWW00WQrcchKyiddRrvjjre7ywyfCg/Dy667r1UTeVCABKxSPc1dAnZYKQh3fSKBRfzc0IgCCHaD6WvH1JfezybHjeYynCj9eGu64PqO96RVQRRQqyY/vbxw1ZZhpUR+ur/S7dzMGwvS1A0iEEhBBJcXGgv4Ao26g4l07VbtGeakbZvULRRX1AXg4sO2NfYw28Pz5FqViiCJMADuw6sCS4+sOsAvzny40LpKFATy77Gnhhc3Gl38PWDT5dKQ8lH14PBxQ/U9/CNQ8+USi8GF1kJLmqJjUFM94OoQfLPSYoFF/P2RoJoR7wK0Vt+euTBwLLfvrT2STYlM3YwrfXu0wdehSRiEYSa2Oq/ymYLjNj+INMnHoUIC50lFrImy1k7iOphMzJ1TNg6C92Pg33hRYiqA1Pne2/8hB9dPFl6MrRvjAjNrA2mnr8HD3hcjiBca78/sNbC25XLIeTrQcR0x0d+8NqGiCSD83jCp3uPPht2772syOaE3bKOIVFIYEQhgRGFBEYUEhhRSGBEIYERhQRGFBIYUUhgRCGBEYUERhQSGFFIYEQhgRGFBEYUEhhRSGCUnFEmveUckVvp5YuUm6ZSTMjsufwixl0hdflGbJHVKIbUgZUrwEqeDUmxDO1tH5K0L+D0Mg2j5NNzIzmOhlGcXkZafwWG3XKlT9EnXDk1Yzl2/gZWXmQyMbh1FmmMK04zJhODlRc5dv4Gp2aKrGIFysyOUoTZ48In/tiglrzKXbUnudZ2CASzx5FvVPMFvHvrhsXOn2ilz3LpmRazc1q0hJSdcp6vBDv16N3srP0czNdwCql62f05KESgJvl3IyqnmV/6Lt+8ME/Bb/jsJ1f6RgYv+OoTX0H1edrZYRxTd8SsxFGggNH/UrfnMfIrjp17pfv3UjIA/gfTxH0PcLL3jAAAAABJRU5ErkJggg==";
|
|
17877
|
-
const __vite_glob_0_13 = "/assets/graph_solver-8b7888b8.png";
|
|
17878
|
-
const __vite_glob_0_14 = "/assets/group_by-80561fc3.png";
|
|
17879
|
-
const __vite_glob_0_15 = "/assets/input_data-ab2eb678.png";
|
|
17880
|
-
const __vite_glob_0_16 = "/assets/join-349043ae.png";
|
|
17881
|
-
const __vite_glob_0_17 = "/assets/manual_input-ae98f31d.png";
|
|
17882
|
-
const __vite_glob_0_18 = "/assets/old_join-5d0eb604.png";
|
|
17883
|
-
const __vite_glob_0_19 = "/assets/output-06ec0371.png";
|
|
17884
|
-
const __vite_glob_0_20 = "/assets/pivot-9660df51.png";
|
|
17885
|
-
const __vite_glob_0_21 = "/assets/polars_code-05ce5dc6.png";
|
|
17886
|
-
const __vite_glob_0_22 = "/assets/record_count-dab44eb5.png";
|
|
17887
|
-
const __vite_glob_0_23 = "/assets/record_id-0b15856b.png";
|
|
17888
|
-
const __vite_glob_0_24 = "/assets/sample-693a88b5.png";
|
|
17889
|
-
const __vite_glob_0_25 = "/assets/select-b0d0437a.png";
|
|
17890
|
-
const __vite_glob_0_26 = "/assets/sort-2aa579f0.png";
|
|
17891
|
-
const __vite_glob_0_27 = "/assets/summarize-2a099231.png";
|
|
17892
|
-
const __vite_glob_0_28 = "/assets/text_to_rows-859b29ea.png";
|
|
17893
|
-
const __vite_glob_0_29 = "/assets/union-2d8609f4.png";
|
|
17894
|
-
const __vite_glob_0_30 = "/assets/unique-1958b98a.png";
|
|
17895
|
-
const __vite_glob_0_31 = "/assets/unpivot-d3cb4b5b.png";
|
|
17896
|
-
const __vite_glob_0_32 = "/assets/view-7a0f0be1.png";
|
|
17897
|
-
const getImageUrl = (name) => {
|
|
17898
|
-
return new URL((/* @__PURE__ */ Object.assign({ "./assets/icons/Output2.png": __vite_glob_0_0, "./assets/icons/airbyte.png": __vite_glob_0_1, "./assets/icons/cloud_storage_reader.png": __vite_glob_0_2, "./assets/icons/cloud_storage_writer.png": __vite_glob_0_3, "./assets/icons/cross_join.png": __vite_glob_0_4, "./assets/icons/database_reader.svg": __vite_glob_0_5, "./assets/icons/database_writer.svg": __vite_glob_0_6, "./assets/icons/explore_data.png": __vite_glob_0_7, "./assets/icons/external_source.png": __vite_glob_0_8, "./assets/icons/filter.png": __vite_glob_0_9, "./assets/icons/formula.png": __vite_glob_0_10, "./assets/icons/fuzzy_match.png": __vite_glob_0_11, "./assets/icons/google_sheet.png": __vite_glob_0_12, "./assets/icons/graph_solver.png": __vite_glob_0_13, "./assets/icons/group_by.png": __vite_glob_0_14, "./assets/icons/input_data.png": __vite_glob_0_15, "./assets/icons/join.png": __vite_glob_0_16, "./assets/icons/manual_input.png": __vite_glob_0_17, "./assets/icons/old_join.png": __vite_glob_0_18, "./assets/icons/output.png": __vite_glob_0_19, "./assets/icons/pivot.png": __vite_glob_0_20, "./assets/icons/polars_code.png": __vite_glob_0_21, "./assets/icons/record_count.png": __vite_glob_0_22, "./assets/icons/record_id.png": __vite_glob_0_23, "./assets/icons/sample.png": __vite_glob_0_24, "./assets/icons/select.png": __vite_glob_0_25, "./assets/icons/sort.png": __vite_glob_0_26, "./assets/icons/summarize.png": __vite_glob_0_27, "./assets/icons/text_to_rows.png": __vite_glob_0_28, "./assets/icons/union.png": __vite_glob_0_29, "./assets/icons/unique.png": __vite_glob_0_30, "./assets/icons/unpivot.png": __vite_glob_0_31, "./assets/icons/view.png": __vite_glob_0_32 }))[`./assets/icons/${name}`], self.location).href;
|
|
17899
|
-
};
|
|
17900
|
-
const fetchNodes = async () => {
|
|
17901
|
-
const response = await axios.get("/node_list");
|
|
17902
|
-
const listNodes = response.data;
|
|
17903
|
-
return listNodes;
|
|
17904
|
-
};
|
|
17905
|
-
const useNodes = () => {
|
|
17906
|
-
const nodes = ref([]);
|
|
17907
|
-
const fetchNodes2 = async () => {
|
|
17908
|
-
const response = await axios.get("/node_list");
|
|
17909
|
-
const allNodes = response.data;
|
|
17910
|
-
nodes.value = allNodes.filter((node) => node.prod_ready);
|
|
17911
|
-
};
|
|
17912
|
-
onMounted(fetchNodes2);
|
|
17913
|
-
return { nodes };
|
|
17914
|
-
};
|
|
17915
|
-
const _hoisted_1$9 = { class: "nodes-wrapper" };
|
|
17916
|
-
const _hoisted_2$6 = ["onClick"];
|
|
17917
|
-
const _hoisted_3$5 = { class: "category-title" };
|
|
17918
|
-
const _hoisted_4$5 = {
|
|
18869
|
+
const CodeGenerator = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-8bafe064"]]);
|
|
18870
|
+
const _hoisted_1$b = { class: "nodes-wrapper" };
|
|
18871
|
+
const _hoisted_2$9 = ["onClick"];
|
|
18872
|
+
const _hoisted_3$8 = { class: "category-title" };
|
|
18873
|
+
const _hoisted_4$7 = {
|
|
17919
18874
|
key: 0,
|
|
17920
18875
|
class: "category-content"
|
|
17921
18876
|
};
|
|
17922
|
-
const _hoisted_5$
|
|
17923
|
-
const _hoisted_6$
|
|
17924
|
-
const _hoisted_7$
|
|
17925
|
-
const _sfc_main$
|
|
18877
|
+
const _hoisted_5$5 = ["onDragstart"];
|
|
18878
|
+
const _hoisted_6$4 = ["src", "alt"];
|
|
18879
|
+
const _hoisted_7$3 = { class: "node-name" };
|
|
18880
|
+
const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
17926
18881
|
__name: "NodeList",
|
|
17927
18882
|
emits: ["dragstart"],
|
|
17928
18883
|
setup(__props) {
|
|
@@ -17932,7 +18887,8 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
17932
18887
|
transform: { name: "Transformations", isOpen: true },
|
|
17933
18888
|
combine: { name: "Combine Operations", isOpen: true },
|
|
17934
18889
|
aggregate: { name: "Aggregations", isOpen: true },
|
|
17935
|
-
output: { name: "Output Operations", isOpen: true }
|
|
18890
|
+
output: { name: "Output Operations", isOpen: true },
|
|
18891
|
+
custom: { name: "User Defined Operations", isOpen: true }
|
|
17936
18892
|
};
|
|
17937
18893
|
const openCategories = ref(
|
|
17938
18894
|
Object.fromEntries(
|
|
@@ -17972,7 +18928,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
17972
18928
|
};
|
|
17973
18929
|
return (_ctx, _cache) => {
|
|
17974
18930
|
const _component_el_icon = resolveComponent("el-icon");
|
|
17975
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
18931
|
+
return openBlock(), createElementBlock("div", _hoisted_1$b, [
|
|
17976
18932
|
withDirectives(createBaseVNode("input", {
|
|
17977
18933
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchQuery.value = $event),
|
|
17978
18934
|
type: "text",
|
|
@@ -17990,15 +18946,15 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
17990
18946
|
class: "category-header",
|
|
17991
18947
|
onClick: ($event) => toggleCategory(category)
|
|
17992
18948
|
}, [
|
|
17993
|
-
createBaseVNode("span", _hoisted_3$
|
|
18949
|
+
createBaseVNode("span", _hoisted_3$8, toDisplayString(categoryInfo.name), 1),
|
|
17994
18950
|
createVNode(_component_el_icon, { class: "category-icon" }, {
|
|
17995
18951
|
default: withCtx(() => [
|
|
17996
18952
|
openCategories.value[category] ? (openBlock(), createBlock(unref(arrow_down_default), { key: 0 })) : (openBlock(), createBlock(unref(arrow_right_default), { key: 1 }))
|
|
17997
18953
|
]),
|
|
17998
18954
|
_: 2
|
|
17999
18955
|
}, 1024)
|
|
18000
|
-
], 8, _hoisted_2$
|
|
18001
|
-
openCategories.value[category] && filteredNodes.value[category] ? (openBlock(), createElementBlock("div", _hoisted_4$
|
|
18956
|
+
], 8, _hoisted_2$9),
|
|
18957
|
+
openCategories.value[category] && filteredNodes.value[category] ? (openBlock(), createElementBlock("div", _hoisted_4$7, [
|
|
18002
18958
|
(openBlock(true), createElementBlock(Fragment, null, renderList(filteredNodes.value[category], (node) => {
|
|
18003
18959
|
return openBlock(), createElementBlock("div", {
|
|
18004
18960
|
key: node.item,
|
|
@@ -18010,9 +18966,9 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
18010
18966
|
src: unref(getImageUrl)(node.image),
|
|
18011
18967
|
alt: node.name,
|
|
18012
18968
|
class: "node-image"
|
|
18013
|
-
}, null, 8, _hoisted_6$
|
|
18014
|
-
createBaseVNode("span", _hoisted_7$
|
|
18015
|
-
], 40, _hoisted_5$
|
|
18969
|
+
}, null, 8, _hoisted_6$4),
|
|
18970
|
+
createBaseVNode("span", _hoisted_7$3, toDisplayString(node.name), 1)
|
|
18971
|
+
], 40, _hoisted_5$5);
|
|
18016
18972
|
}), 128))
|
|
18017
18973
|
])) : createCommentVNode("", true)
|
|
18018
18974
|
]);
|
|
@@ -18021,129 +18977,126 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
18021
18977
|
};
|
|
18022
18978
|
}
|
|
18023
18979
|
});
|
|
18024
|
-
const
|
|
18025
|
-
const NodeList = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
18026
|
-
const
|
|
18027
|
-
|
|
18028
|
-
|
|
18029
|
-
|
|
18030
|
-
|
|
18031
|
-
|
|
18032
|
-
|
|
18033
|
-
|
|
18034
|
-
|
|
18035
|
-
|
|
18036
|
-
|
|
18037
|
-
|
|
18038
|
-
|
|
18039
|
-
|
|
18040
|
-
|
|
18041
|
-
|
|
18042
|
-
|
|
18043
|
-
|
|
18044
|
-
|
|
18045
|
-
const saveItemState = (id2) => {
|
|
18046
|
-
const itemState = items.value[id2];
|
|
18047
|
-
localStorage.setItem(`overlayPositionAndSize_${id2}`, JSON.stringify(itemState));
|
|
18048
|
-
};
|
|
18049
|
-
const loadItemState = (id2) => {
|
|
18050
|
-
const savedState = localStorage.getItem(`overlayPositionAndSize_${id2}`);
|
|
18051
|
-
if (savedState) {
|
|
18052
|
-
items.value[id2] = JSON.parse(savedState);
|
|
18980
|
+
const NodeList_vue_vue_type_style_index_0_scoped_63142f09_lang = "";
|
|
18981
|
+
const NodeList = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-63142f09"]]);
|
|
18982
|
+
const _hoisted_1$a = { class: "listbox-wrapper" };
|
|
18983
|
+
const _hoisted_2$8 = { class: "listbox-title" };
|
|
18984
|
+
const _hoisted_3$7 = { class: "intro-content" };
|
|
18985
|
+
const _hoisted_4$6 = {
|
|
18986
|
+
key: 1,
|
|
18987
|
+
class: "title"
|
|
18988
|
+
};
|
|
18989
|
+
const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
18990
|
+
__name: "nodeTitle",
|
|
18991
|
+
props: {
|
|
18992
|
+
title: {
|
|
18993
|
+
type: String,
|
|
18994
|
+
required: true
|
|
18995
|
+
},
|
|
18996
|
+
intro: {
|
|
18997
|
+
type: String,
|
|
18998
|
+
required: false,
|
|
18999
|
+
default: ""
|
|
19000
|
+
// Add default value to resolve warning
|
|
18053
19001
|
}
|
|
18054
|
-
}
|
|
18055
|
-
|
|
18056
|
-
|
|
18057
|
-
|
|
18058
|
-
|
|
18059
|
-
|
|
18060
|
-
|
|
18061
|
-
|
|
18062
|
-
|
|
18063
|
-
|
|
18064
|
-
|
|
18065
|
-
|
|
18066
|
-
|
|
18067
|
-
|
|
18068
|
-
|
|
18069
|
-
|
|
18070
|
-
|
|
18071
|
-
|
|
18072
|
-
|
|
18073
|
-
|
|
18074
|
-
|
|
18075
|
-
|
|
18076
|
-
|
|
18077
|
-
|
|
18078
|
-
|
|
18079
|
-
|
|
19002
|
+
},
|
|
19003
|
+
setup(__props) {
|
|
19004
|
+
const props2 = __props;
|
|
19005
|
+
return (_ctx, _cache) => {
|
|
19006
|
+
const _component_el_collapse_item = resolveComponent("el-collapse-item");
|
|
19007
|
+
const _component_el_collapse = resolveComponent("el-collapse");
|
|
19008
|
+
return openBlock(), createElementBlock("div", _hoisted_1$a, [
|
|
19009
|
+
props2.intro ? (openBlock(), createBlock(_component_el_collapse, {
|
|
19010
|
+
key: 0,
|
|
19011
|
+
class: "listbox-expandable"
|
|
19012
|
+
}, {
|
|
19013
|
+
default: withCtx(() => [
|
|
19014
|
+
createVNode(_component_el_collapse_item, null, {
|
|
19015
|
+
title: withCtx(() => [
|
|
19016
|
+
createBaseVNode("div", _hoisted_2$8, toDisplayString(props2.title), 1)
|
|
19017
|
+
]),
|
|
19018
|
+
default: withCtx(() => [
|
|
19019
|
+
createBaseVNode("div", _hoisted_3$7, toDisplayString(props2.intro), 1)
|
|
19020
|
+
]),
|
|
19021
|
+
_: 1
|
|
19022
|
+
})
|
|
19023
|
+
]),
|
|
19024
|
+
_: 1
|
|
19025
|
+
})) : (openBlock(), createElementBlock("div", _hoisted_4$6, toDisplayString(props2.title), 1))
|
|
19026
|
+
]);
|
|
19027
|
+
};
|
|
19028
|
+
}
|
|
19029
|
+
});
|
|
19030
|
+
const nodeTitle_vue_vue_type_style_index_0_scoped_0db5c358_lang = "";
|
|
19031
|
+
const NodeTitle = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-0db5c358"]]);
|
|
19032
|
+
const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
19033
|
+
__name: "NodeSettingsDrawer",
|
|
19034
|
+
setup(__props) {
|
|
19035
|
+
const nodeStore = useNodeStore();
|
|
19036
|
+
const drawerComponentInstance = ref(null);
|
|
19037
|
+
ref("");
|
|
19038
|
+
ref("");
|
|
19039
|
+
const lastExecutedState = ref({
|
|
19040
|
+
nodeId: -1,
|
|
19041
|
+
componentInstance: null
|
|
19042
|
+
});
|
|
19043
|
+
const executeCleanup = async () => {
|
|
19044
|
+
if (lastExecutedState.value.componentInstance) {
|
|
19045
|
+
console.log(`executing cleanup for node ${lastExecutedState.value.nodeId}`);
|
|
19046
|
+
await nodeStore.executeDrawCloseFunction();
|
|
18080
19047
|
}
|
|
18081
|
-
|
|
18082
|
-
|
|
18083
|
-
|
|
18084
|
-
|
|
18085
|
-
|
|
18086
|
-
|
|
18087
|
-
|
|
18088
|
-
|
|
18089
|
-
|
|
18090
|
-
|
|
18091
|
-
if (idItemClicked.value) {
|
|
18092
|
-
items.value[idItemClicked.value].zIndex = 100;
|
|
18093
|
-
}
|
|
18094
|
-
items.value[id2].zIndex = 1e3;
|
|
18095
|
-
idItemClicked.value = id2;
|
|
18096
|
-
};
|
|
18097
|
-
const setResizing = (resizing) => {
|
|
18098
|
-
inResizing.value = resizing;
|
|
18099
|
-
};
|
|
18100
|
-
const getResizing = () => {
|
|
18101
|
-
return inResizing.value;
|
|
18102
|
-
};
|
|
18103
|
-
const scrollOnItem = (id2) => {
|
|
18104
|
-
const itemElement = document.getElementById(id2);
|
|
18105
|
-
if (!itemElement)
|
|
18106
|
-
return;
|
|
18107
|
-
const observer = new IntersectionObserver(
|
|
18108
|
-
(entries) => {
|
|
18109
|
-
entries.forEach((entry) => {
|
|
18110
|
-
if (entry.isIntersecting) {
|
|
18111
|
-
idItemVisible.value = id2;
|
|
18112
|
-
items.value[id2].zIndex = 1e3;
|
|
18113
|
-
} else if (idItemVisible.value === id2) {
|
|
18114
|
-
items.value[id2].zIndex = 100;
|
|
18115
|
-
idItemVisible.value = null;
|
|
18116
|
-
}
|
|
18117
|
-
});
|
|
18118
|
-
},
|
|
18119
|
-
{
|
|
18120
|
-
threshold: 0.5
|
|
18121
|
-
// Trigger when 50% of the item is visible
|
|
19048
|
+
};
|
|
19049
|
+
const setupNewNode = () => {
|
|
19050
|
+
var _a;
|
|
19051
|
+
if (((_a = drawerComponentInstance.value) == null ? void 0 : _a.loadNodeData) && nodeStore.node_id !== -1) {
|
|
19052
|
+
drawerComponentInstance.value.loadNodeData(nodeStore.node_id);
|
|
19053
|
+
nodeStore.setCloseFunction(drawerComponentInstance.value.pushNodeData);
|
|
19054
|
+
lastExecutedState.value = {
|
|
19055
|
+
nodeId: nodeStore.node_id,
|
|
19056
|
+
componentInstance: drawerComponentInstance.value
|
|
19057
|
+
};
|
|
18122
19058
|
}
|
|
19059
|
+
};
|
|
19060
|
+
watch$1(
|
|
19061
|
+
[() => drawerComponentInstance.value, () => nodeStore.node_id],
|
|
19062
|
+
async ([newInstance, newNodeId], [oldInstance, oldNodeId]) => {
|
|
19063
|
+
const nodeIdChanged = newNodeId !== oldNodeId;
|
|
19064
|
+
if (nodeIdChanged && oldNodeId !== -1 && lastExecutedState.value.componentInstance) {
|
|
19065
|
+
await executeCleanup();
|
|
19066
|
+
lastExecutedState.value = {
|
|
19067
|
+
nodeId: -1,
|
|
19068
|
+
componentInstance: null
|
|
19069
|
+
};
|
|
19070
|
+
}
|
|
19071
|
+
if (newNodeId === -1) {
|
|
19072
|
+
nodeStore.isDrawerOpen = false;
|
|
19073
|
+
return;
|
|
19074
|
+
}
|
|
19075
|
+
if (newInstance) {
|
|
19076
|
+
await nextTick();
|
|
19077
|
+
setupNewNode();
|
|
19078
|
+
}
|
|
19079
|
+
},
|
|
19080
|
+
{ immediate: true }
|
|
18123
19081
|
);
|
|
18124
|
-
|
|
18125
|
-
|
|
18126
|
-
|
|
18127
|
-
|
|
18128
|
-
|
|
18129
|
-
|
|
18130
|
-
|
|
18131
|
-
|
|
18132
|
-
|
|
18133
|
-
|
|
18134
|
-
|
|
18135
|
-
|
|
18136
|
-
|
|
18137
|
-
// Exposing the visible item
|
|
18138
|
-
toggleFullScreen,
|
|
18139
|
-
// Toggle fullscreen state
|
|
18140
|
-
setFullScreen
|
|
18141
|
-
// Set fullscreen state with boolean parameter
|
|
18142
|
-
};
|
|
19082
|
+
return (_ctx, _cache) => {
|
|
19083
|
+
return openBlock(), createElementBlock(Fragment, null, [
|
|
19084
|
+
createVNode(NodeTitle, {
|
|
19085
|
+
title: unref(nodeStore).drawerProps.title,
|
|
19086
|
+
intro: unref(nodeStore).drawerProps.intro
|
|
19087
|
+
}, null, 8, ["title", "intro"]),
|
|
19088
|
+
(openBlock(), createBlock(resolveDynamicComponent(unref(nodeStore).activeDrawerComponent), mergeProps(unref(nodeStore).drawerProps, {
|
|
19089
|
+
ref_key: "drawerComponentInstance",
|
|
19090
|
+
ref: drawerComponentInstance
|
|
19091
|
+
}), null, 16))
|
|
19092
|
+
], 64);
|
|
19093
|
+
};
|
|
19094
|
+
}
|
|
18143
19095
|
});
|
|
18144
|
-
const _hoisted_1$
|
|
18145
|
-
const _hoisted_2$
|
|
18146
|
-
const
|
|
19096
|
+
const _hoisted_1$9 = ["id"];
|
|
19097
|
+
const _hoisted_2$7 = ["title"];
|
|
19098
|
+
const _hoisted_3$6 = { class: "icon" };
|
|
19099
|
+
const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
18147
19100
|
__name: "DraggableItem",
|
|
18148
19101
|
props: {
|
|
18149
19102
|
id: {
|
|
@@ -18166,6 +19119,10 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
18166
19119
|
type: Boolean,
|
|
18167
19120
|
default: false
|
|
18168
19121
|
},
|
|
19122
|
+
showPresets: {
|
|
19123
|
+
type: Boolean,
|
|
19124
|
+
default: false
|
|
19125
|
+
},
|
|
18169
19126
|
initialPosition: {
|
|
18170
19127
|
type: String,
|
|
18171
19128
|
default: "free"
|
|
@@ -18178,7 +19135,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
18178
19135
|
type: Number,
|
|
18179
19136
|
default: null
|
|
18180
19137
|
},
|
|
18181
|
-
|
|
19138
|
+
initialLeft: {
|
|
18182
19139
|
type: Number,
|
|
18183
19140
|
default: null
|
|
18184
19141
|
},
|
|
@@ -18205,9 +19162,49 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
18205
19162
|
allowFullScreen: {
|
|
18206
19163
|
type: Boolean,
|
|
18207
19164
|
default: false
|
|
19165
|
+
},
|
|
19166
|
+
group: {
|
|
19167
|
+
type: String,
|
|
19168
|
+
default: null
|
|
19169
|
+
},
|
|
19170
|
+
syncDimensions: {
|
|
19171
|
+
type: Boolean,
|
|
19172
|
+
default: false
|
|
19173
|
+
},
|
|
19174
|
+
preventOverlap: {
|
|
19175
|
+
type: Boolean,
|
|
19176
|
+
default: false
|
|
18208
19177
|
}
|
|
18209
19178
|
},
|
|
18210
19179
|
setup(__props, { expose: __expose }) {
|
|
19180
|
+
const props2 = __props;
|
|
19181
|
+
const itemStore = useItemStore();
|
|
19182
|
+
const itemState = ref(
|
|
19183
|
+
itemStore.items[props2.id] || {
|
|
19184
|
+
width: props2.initialWidth || 400,
|
|
19185
|
+
height: props2.initialHeight || 300,
|
|
19186
|
+
left: props2.initialLeft || 100,
|
|
19187
|
+
// Used corrected prop
|
|
19188
|
+
top: props2.initialTop || 100,
|
|
19189
|
+
group: props2.group,
|
|
19190
|
+
syncDimensions: props2.syncDimensions,
|
|
19191
|
+
zIndex: 100
|
|
19192
|
+
}
|
|
19193
|
+
);
|
|
19194
|
+
const isDragging = ref(false);
|
|
19195
|
+
const isResizing = ref(false);
|
|
19196
|
+
const startX = ref(0);
|
|
19197
|
+
const startY = ref(0);
|
|
19198
|
+
const startWidth = ref(0);
|
|
19199
|
+
const startHeight = ref(0);
|
|
19200
|
+
const startLeft = ref(0);
|
|
19201
|
+
const startTop = ref(0);
|
|
19202
|
+
const isMinimized = ref(false);
|
|
19203
|
+
const instance = getCurrentInstance();
|
|
19204
|
+
const activeLine = ref(null);
|
|
19205
|
+
let resizeTimeout;
|
|
19206
|
+
const resizeDirection = ref(null);
|
|
19207
|
+
const initialGroupStates = ref({});
|
|
18211
19208
|
const resizeDelay = ref(null);
|
|
18212
19209
|
const resizeOnEnter = (e2, position) => {
|
|
18213
19210
|
if (resizeDelay.value)
|
|
@@ -18231,31 +19228,51 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
18231
19228
|
}
|
|
18232
19229
|
}, 200);
|
|
18233
19230
|
};
|
|
18234
|
-
const props2 = __props;
|
|
18235
|
-
const itemStore = useItemStore();
|
|
18236
|
-
const itemState = ref(
|
|
18237
|
-
itemStore.items[props2.id] || {
|
|
18238
|
-
width: props2.initialWidth,
|
|
18239
|
-
height: props2.initialHeight,
|
|
18240
|
-
left: 100,
|
|
18241
|
-
top: 100
|
|
18242
|
-
}
|
|
18243
|
-
);
|
|
18244
|
-
const isDragging = ref(false);
|
|
18245
|
-
const isResizing = ref(false);
|
|
18246
|
-
const startX = ref(0);
|
|
18247
|
-
const startY = ref(0);
|
|
18248
|
-
const startWidth = ref(0);
|
|
18249
|
-
const startHeight = ref(0);
|
|
18250
|
-
const startLeft = ref(0);
|
|
18251
|
-
const startTop = ref(0);
|
|
18252
|
-
const isMinimized = ref(false);
|
|
18253
|
-
const instance = getCurrentInstance();
|
|
18254
|
-
const activeLine = ref(null);
|
|
18255
|
-
let resizeTimeout;
|
|
18256
19231
|
const savePositionAndSize = () => {
|
|
18257
|
-
itemStore.setItemState(props2.id,
|
|
19232
|
+
itemStore.setItemState(props2.id, {
|
|
19233
|
+
width: itemState.value.width,
|
|
19234
|
+
height: itemState.value.height,
|
|
19235
|
+
left: itemState.value.left,
|
|
19236
|
+
top: itemState.value.top,
|
|
19237
|
+
stickynessPosition: itemState.value.stickynessPosition,
|
|
19238
|
+
fullWidth: itemState.value.fullWidth,
|
|
19239
|
+
fullHeight: itemState.value.fullHeight,
|
|
19240
|
+
zIndex: itemState.value.zIndex,
|
|
19241
|
+
fullScreen: itemState.value.fullScreen,
|
|
19242
|
+
group: itemState.value.group,
|
|
19243
|
+
syncDimensions: itemState.value.syncDimensions
|
|
19244
|
+
});
|
|
18258
19245
|
itemStore.saveItemState(props2.id);
|
|
19246
|
+
if (itemState.value.group && itemState.value.syncDimensions && isResizing.value) {
|
|
19247
|
+
const groupItems = itemStore.groups[itemState.value.group];
|
|
19248
|
+
if (groupItems) {
|
|
19249
|
+
const initialActiveState = initialGroupStates.value[props2.id];
|
|
19250
|
+
if (!initialActiveState)
|
|
19251
|
+
return;
|
|
19252
|
+
const deltaX = itemState.value.left - initialActiveState.left;
|
|
19253
|
+
const deltaY = itemState.value.top - initialActiveState.top;
|
|
19254
|
+
groupItems.forEach((itemId) => {
|
|
19255
|
+
var _a;
|
|
19256
|
+
if (itemId === props2.id)
|
|
19257
|
+
return;
|
|
19258
|
+
const initialItemState = initialGroupStates.value[itemId];
|
|
19259
|
+
if (((_a = itemStore.items[itemId]) == null ? void 0 : _a.syncDimensions) && initialItemState) {
|
|
19260
|
+
const updates = {
|
|
19261
|
+
width: itemState.value.width,
|
|
19262
|
+
height: itemState.value.height
|
|
19263
|
+
};
|
|
19264
|
+
if (resizeDirection.value === "top") {
|
|
19265
|
+
updates.top = initialItemState.top + deltaY;
|
|
19266
|
+
}
|
|
19267
|
+
if (resizeDirection.value === "left") {
|
|
19268
|
+
updates.left = initialItemState.left + deltaX;
|
|
19269
|
+
}
|
|
19270
|
+
itemStore.setItemState(itemId, updates);
|
|
19271
|
+
itemStore.saveItemState(itemId);
|
|
19272
|
+
}
|
|
19273
|
+
});
|
|
19274
|
+
}
|
|
19275
|
+
}
|
|
18259
19276
|
};
|
|
18260
19277
|
const loadPositionAndSize = () => {
|
|
18261
19278
|
itemStore.loadItemState(props2.id);
|
|
@@ -18276,28 +19293,33 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
18276
19293
|
itemStore.inResizing = true;
|
|
18277
19294
|
};
|
|
18278
19295
|
const toggleFullScreen = () => {
|
|
18279
|
-
|
|
18280
|
-
|
|
18281
|
-
|
|
18282
|
-
|
|
18283
|
-
|
|
18284
|
-
|
|
18285
|
-
|
|
18286
|
-
|
|
18287
|
-
|
|
18288
|
-
|
|
18289
|
-
|
|
18290
|
-
|
|
18291
|
-
|
|
18292
|
-
|
|
18293
|
-
|
|
18294
|
-
|
|
19296
|
+
itemStore.toggleFullScreen(props2.id);
|
|
19297
|
+
loadPositionAndSize();
|
|
19298
|
+
};
|
|
19299
|
+
const captureGroupInitialStates = () => {
|
|
19300
|
+
if (itemState.value.group && itemState.value.syncDimensions) {
|
|
19301
|
+
initialGroupStates.value = {};
|
|
19302
|
+
const groupItems = itemStore.groups[itemState.value.group];
|
|
19303
|
+
if (groupItems) {
|
|
19304
|
+
groupItems.forEach((id2) => {
|
|
19305
|
+
const item = itemStore.items[id2];
|
|
19306
|
+
if (item) {
|
|
19307
|
+
initialGroupStates.value[id2] = {
|
|
19308
|
+
top: item.top,
|
|
19309
|
+
left: item.left,
|
|
19310
|
+
width: item.width,
|
|
19311
|
+
height: item.height
|
|
19312
|
+
};
|
|
19313
|
+
}
|
|
19314
|
+
});
|
|
19315
|
+
}
|
|
18295
19316
|
}
|
|
18296
|
-
savePositionAndSize();
|
|
18297
19317
|
};
|
|
18298
19318
|
const startResizeRight = (e2) => {
|
|
18299
19319
|
e2.preventDefault();
|
|
18300
19320
|
handleReziging(e2);
|
|
19321
|
+
resizeDirection.value = "right";
|
|
19322
|
+
captureGroupInitialStates();
|
|
18301
19323
|
startX.value = e2.clientX;
|
|
18302
19324
|
startWidth.value = itemState.value.width;
|
|
18303
19325
|
document.addEventListener("mousemove", onResizeWidth);
|
|
@@ -18307,7 +19329,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
18307
19329
|
if (isResizing.value) {
|
|
18308
19330
|
const deltaX = e2.clientX - startX.value;
|
|
18309
19331
|
const newWidth = startWidth.value + deltaX;
|
|
18310
|
-
if (newWidth > 100 && newWidth < window.innerWidth
|
|
19332
|
+
if (newWidth > 100 && newWidth < window.innerWidth) {
|
|
18311
19333
|
itemState.value.width = newWidth;
|
|
18312
19334
|
savePositionAndSize();
|
|
18313
19335
|
}
|
|
@@ -18316,6 +19338,8 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
18316
19338
|
const startResizeBottom = (e2) => {
|
|
18317
19339
|
e2.preventDefault();
|
|
18318
19340
|
handleReziging(e2);
|
|
19341
|
+
resizeDirection.value = "bottom";
|
|
19342
|
+
captureGroupInitialStates();
|
|
18319
19343
|
startY.value = e2.clientY;
|
|
18320
19344
|
startHeight.value = itemState.value.height;
|
|
18321
19345
|
document.addEventListener("mousemove", onResizeHeight);
|
|
@@ -18334,6 +19358,8 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
18334
19358
|
const startResizeTop = (e2) => {
|
|
18335
19359
|
e2.preventDefault();
|
|
18336
19360
|
handleReziging(e2);
|
|
19361
|
+
resizeDirection.value = "top";
|
|
19362
|
+
captureGroupInitialStates();
|
|
18337
19363
|
startY.value = e2.clientY;
|
|
18338
19364
|
startTop.value = itemState.value.top;
|
|
18339
19365
|
startHeight.value = itemState.value.height;
|
|
@@ -18345,7 +19371,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
18345
19371
|
const deltaY = e2.clientY - startY.value;
|
|
18346
19372
|
const newTop = startTop.value + deltaY;
|
|
18347
19373
|
const newHeight = startHeight.value - deltaY;
|
|
18348
|
-
if (newHeight > 100 && newHeight < window.innerHeight - 100) {
|
|
19374
|
+
if (newHeight > 100 && newHeight < window.innerHeight - 100 && newTop >= 0) {
|
|
18349
19375
|
itemState.value.top = newTop;
|
|
18350
19376
|
itemState.value.height = newHeight;
|
|
18351
19377
|
savePositionAndSize();
|
|
@@ -18355,6 +19381,8 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
18355
19381
|
const startResizeLeft = (e2) => {
|
|
18356
19382
|
e2.preventDefault();
|
|
18357
19383
|
handleReziging(e2);
|
|
19384
|
+
resizeDirection.value = "left";
|
|
19385
|
+
captureGroupInitialStates();
|
|
18358
19386
|
startX.value = e2.clientX;
|
|
18359
19387
|
startLeft.value = itemState.value.left;
|
|
18360
19388
|
startWidth.value = itemState.value.width;
|
|
@@ -18374,15 +19402,19 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
18374
19402
|
}
|
|
18375
19403
|
};
|
|
18376
19404
|
const stopResize = () => {
|
|
18377
|
-
isResizing.value
|
|
18378
|
-
|
|
18379
|
-
|
|
19405
|
+
if (isResizing.value) {
|
|
19406
|
+
isResizing.value = false;
|
|
19407
|
+
resizeDirection.value = null;
|
|
19408
|
+
initialGroupStates.value = {};
|
|
19409
|
+
if (activeLine.value) {
|
|
19410
|
+
activeLine.value.classList.remove("resizing-highlight-line");
|
|
19411
|
+
}
|
|
19412
|
+
itemStore.inResizing = false;
|
|
19413
|
+
document.removeEventListener("mousemove", onResizeWidth);
|
|
19414
|
+
document.removeEventListener("mousemove", onResizeHeight);
|
|
19415
|
+
document.removeEventListener("mousemove", onResizeTop);
|
|
19416
|
+
document.removeEventListener("mousemove", onResizeLeft);
|
|
18380
19417
|
}
|
|
18381
|
-
itemStore.inResizing = false;
|
|
18382
|
-
document.removeEventListener("mousemove", onResizeWidth);
|
|
18383
|
-
document.removeEventListener("mousemove", onResizeHeight);
|
|
18384
|
-
document.removeEventListener("mousemove", onResizeTop);
|
|
18385
|
-
document.removeEventListener("mousemove", onResizeLeft);
|
|
18386
19418
|
};
|
|
18387
19419
|
const startMove = (e2) => {
|
|
18388
19420
|
registerClick();
|
|
@@ -18406,13 +19438,19 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
18406
19438
|
const deltaY = e2.clientY - startY.value;
|
|
18407
19439
|
itemState.value.left = startLeft.value + deltaX;
|
|
18408
19440
|
itemState.value.top = startTop.value + deltaY;
|
|
18409
|
-
savePositionAndSize();
|
|
18410
19441
|
}
|
|
18411
19442
|
};
|
|
18412
19443
|
const stopMove = () => {
|
|
18413
|
-
isDragging.value
|
|
18414
|
-
|
|
18415
|
-
|
|
19444
|
+
if (isDragging.value) {
|
|
19445
|
+
isDragging.value = false;
|
|
19446
|
+
document.removeEventListener("mousemove", onMove);
|
|
19447
|
+
document.removeEventListener("mouseup", stopMove);
|
|
19448
|
+
savePositionAndSize();
|
|
19449
|
+
if (props2.preventOverlap) {
|
|
19450
|
+
itemStore.preventOverlap(props2.id);
|
|
19451
|
+
loadPositionAndSize();
|
|
19452
|
+
}
|
|
19453
|
+
}
|
|
18416
19454
|
};
|
|
18417
19455
|
const moveToRight = () => {
|
|
18418
19456
|
var _a;
|
|
@@ -18433,11 +19471,11 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
18433
19471
|
const parentElement = (_a = instance == null ? void 0 : instance.parent) == null ? void 0 : _a.vnode.el;
|
|
18434
19472
|
if (parentElement) {
|
|
18435
19473
|
const parentBottom = parentElement.offsetTop + parentElement.offsetHeight;
|
|
18436
|
-
itemState.value.left = parentElement.offsetLeft;
|
|
18437
|
-
itemState.value.top = parentBottom - itemState.value.height;
|
|
19474
|
+
itemState.value.left = parentElement.offsetLeft + props2.initialLeft;
|
|
19475
|
+
itemState.value.top = parentBottom - (itemState.value.height + props2.initialTop);
|
|
18438
19476
|
itemState.value.stickynessPosition = "bottom";
|
|
18439
19477
|
if (itemState.value.fullWidth) {
|
|
18440
|
-
itemState.value.width = parentElement.offsetWidth;
|
|
19478
|
+
itemState.value.width = parentElement.offsetWidth - props2.initialLeft;
|
|
18441
19479
|
}
|
|
18442
19480
|
savePositionAndSize();
|
|
18443
19481
|
}
|
|
@@ -18469,27 +19507,50 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
18469
19507
|
}
|
|
18470
19508
|
};
|
|
18471
19509
|
const applyStickyPosition = () => {
|
|
19510
|
+
var _a;
|
|
19511
|
+
const parentElement = (_a = instance == null ? void 0 : instance.parent) == null ? void 0 : _a.vnode.el;
|
|
19512
|
+
if (!parentElement) {
|
|
19513
|
+
console.warn(`No parent element found for ${props2.id}`);
|
|
19514
|
+
return;
|
|
19515
|
+
}
|
|
18472
19516
|
switch (itemState.value.stickynessPosition) {
|
|
18473
19517
|
case "top":
|
|
18474
|
-
|
|
19518
|
+
itemState.value.left = parentElement.offsetLeft;
|
|
19519
|
+
itemState.value.top = parentElement.offsetTop;
|
|
19520
|
+
if (itemState.value.fullWidth) {
|
|
19521
|
+
itemState.value.width = parentElement.offsetWidth;
|
|
19522
|
+
}
|
|
18475
19523
|
break;
|
|
18476
19524
|
case "bottom":
|
|
18477
|
-
|
|
19525
|
+
itemState.value.left = parentElement.offsetLeft + (props2.initialLeft || 0);
|
|
19526
|
+
itemState.value.top = parentElement.offsetTop + parentElement.offsetHeight - itemState.value.height - (props2.initialTop || 0);
|
|
19527
|
+
if (itemState.value.fullWidth) {
|
|
19528
|
+
itemState.value.width = parentElement.offsetWidth - (props2.initialLeft || 0);
|
|
19529
|
+
}
|
|
18478
19530
|
break;
|
|
18479
19531
|
case "left":
|
|
18480
|
-
|
|
19532
|
+
itemState.value.left = parentElement.offsetLeft;
|
|
19533
|
+
itemState.value.top = parentElement.offsetTop + (props2.initialTop || 0);
|
|
19534
|
+
if (itemState.value.fullHeight) {
|
|
19535
|
+
itemState.value.height = parentElement.offsetHeight - (props2.initialTop || 0);
|
|
19536
|
+
}
|
|
18481
19537
|
break;
|
|
18482
19538
|
case "right":
|
|
18483
|
-
|
|
19539
|
+
itemState.value.left = parentElement.offsetLeft + parentElement.offsetWidth - itemState.value.width;
|
|
19540
|
+
itemState.value.top = parentElement.offsetTop + (props2.initialTop || 0);
|
|
19541
|
+
if (itemState.value.fullHeight) {
|
|
19542
|
+
itemState.value.height = parentElement.offsetHeight - (props2.initialTop || 0);
|
|
19543
|
+
}
|
|
18484
19544
|
break;
|
|
18485
19545
|
}
|
|
19546
|
+
savePositionAndSize();
|
|
18486
19547
|
};
|
|
18487
19548
|
const calculateWidth = () => {
|
|
18488
19549
|
var _a, _b;
|
|
18489
19550
|
if (props2.initialWidth) {
|
|
18490
19551
|
return props2.initialWidth;
|
|
18491
19552
|
} else if (props2.initialPosition === "top" || props2.initialPosition === "bottom") {
|
|
18492
|
-
return ((_b = (_a = instance == null ? void 0 : instance.parent) == null ? void 0 : _a.vnode.el) == null ? void 0 : _b.offsetWidth) || 300;
|
|
19553
|
+
return ((_b = (_a = instance == null ? void 0 : instance.parent) == null ? void 0 : _a.vnode.el) == null ? void 0 : _b.offsetWidth) - props2.initialLeft || 300;
|
|
18493
19554
|
} else
|
|
18494
19555
|
return 300;
|
|
18495
19556
|
};
|
|
@@ -18498,7 +19559,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
18498
19559
|
if (props2.initialHeight) {
|
|
18499
19560
|
return props2.initialHeight;
|
|
18500
19561
|
} else if (props2.initialPosition === "left" || props2.initialPosition === "right") {
|
|
18501
|
-
return ((_b = (_a = instance == null ? void 0 : instance.parent) == null ? void 0 : _a.vnode.el) == null ? void 0 : _b.offsetHeight) || 300;
|
|
19562
|
+
return ((_b = (_a = instance == null ? void 0 : instance.parent) == null ? void 0 : _a.vnode.el) == null ? void 0 : _b.offsetHeight) - props2.initialHeight || 300;
|
|
18502
19563
|
} else
|
|
18503
19564
|
return 300;
|
|
18504
19565
|
};
|
|
@@ -18520,74 +19581,117 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
18520
19581
|
itemStore.clickOnItem(props2.id);
|
|
18521
19582
|
};
|
|
18522
19583
|
const setFullScreen = (makeFull) => {
|
|
18523
|
-
|
|
18524
|
-
|
|
18525
|
-
}
|
|
19584
|
+
itemStore.setFullScreen(props2.id, makeFull);
|
|
19585
|
+
loadPositionAndSize();
|
|
18526
19586
|
};
|
|
19587
|
+
watch$1(
|
|
19588
|
+
() => itemStore.items[props2.id],
|
|
19589
|
+
(newState) => {
|
|
19590
|
+
if (newState) {
|
|
19591
|
+
if (isDragging.value || isResizing.value) {
|
|
19592
|
+
itemState.value.zIndex = newState.zIndex;
|
|
19593
|
+
} else {
|
|
19594
|
+
itemState.value = { ...newState };
|
|
19595
|
+
}
|
|
19596
|
+
}
|
|
19597
|
+
},
|
|
19598
|
+
{ deep: true }
|
|
19599
|
+
);
|
|
19600
|
+
watch$1(
|
|
19601
|
+
() => ({ group: props2.group, syncDimensions: props2.syncDimensions }),
|
|
19602
|
+
({ group, syncDimensions }) => {
|
|
19603
|
+
itemStore.setItemState(props2.id, {
|
|
19604
|
+
group,
|
|
19605
|
+
syncDimensions
|
|
19606
|
+
});
|
|
19607
|
+
itemState.value.group = group;
|
|
19608
|
+
itemState.value.syncDimensions = syncDimensions;
|
|
19609
|
+
}
|
|
19610
|
+
);
|
|
19611
|
+
nextTick().then(() => {
|
|
19612
|
+
observeParentResize();
|
|
19613
|
+
});
|
|
18527
19614
|
onMounted(() => {
|
|
18528
|
-
|
|
19615
|
+
const initialWidth = calculateWidth();
|
|
19616
|
+
const initialHeight = calculateHeight();
|
|
19617
|
+
const initialLeft = props2.initialLeft || 100;
|
|
19618
|
+
const initialTop = props2.initialTop || 100;
|
|
19619
|
+
itemStore.registerInitialState(props2.id, {
|
|
19620
|
+
width: initialWidth,
|
|
19621
|
+
height: initialHeight,
|
|
19622
|
+
left: initialLeft,
|
|
19623
|
+
top: initialTop,
|
|
19624
|
+
stickynessPosition: props2.initialPosition,
|
|
19625
|
+
fullWidth: !props2.initialWidth,
|
|
19626
|
+
fullHeight: !props2.initialHeight,
|
|
19627
|
+
group: props2.group,
|
|
19628
|
+
syncDimensions: props2.syncDimensions
|
|
19629
|
+
});
|
|
19630
|
+
const hasSavedState = localStorage.getItem(`overlayPositionAndSize_${props2.id}`) !== null;
|
|
19631
|
+
if (!hasSavedState) {
|
|
18529
19632
|
itemStore.setItemState(props2.id, {
|
|
18530
|
-
width:
|
|
18531
|
-
height:
|
|
18532
|
-
left:
|
|
18533
|
-
top:
|
|
19633
|
+
width: initialWidth,
|
|
19634
|
+
height: initialHeight,
|
|
19635
|
+
left: initialLeft,
|
|
19636
|
+
top: initialTop,
|
|
18534
19637
|
fullHeight: !props2.initialHeight,
|
|
18535
|
-
fullWidth: !props2.initialWidth
|
|
19638
|
+
fullWidth: !props2.initialWidth,
|
|
19639
|
+
stickynessPosition: props2.initialPosition,
|
|
19640
|
+
group: props2.group,
|
|
19641
|
+
syncDimensions: props2.syncDimensions
|
|
18536
19642
|
});
|
|
18537
19643
|
itemState.value = itemStore.items[props2.id];
|
|
18538
|
-
|
|
18539
|
-
|
|
18540
|
-
|
|
19644
|
+
if (props2.initialPosition !== "free") {
|
|
19645
|
+
nextTick(() => {
|
|
19646
|
+
applyStickyPosition();
|
|
19647
|
+
});
|
|
18541
19648
|
}
|
|
18542
19649
|
} else {
|
|
18543
19650
|
loadPositionAndSize();
|
|
19651
|
+
if (itemState.value.stickynessPosition && itemState.value.stickynessPosition !== "free") {
|
|
19652
|
+
nextTick(() => {
|
|
19653
|
+
applyStickyPosition();
|
|
19654
|
+
});
|
|
19655
|
+
}
|
|
18544
19656
|
}
|
|
19657
|
+
const handleLayoutReset = (event) => {
|
|
19658
|
+
itemState.value = { ...itemStore.items[props2.id] };
|
|
19659
|
+
if (itemState.value.stickynessPosition && itemState.value.stickynessPosition !== "free") {
|
|
19660
|
+
nextTick(() => {
|
|
19661
|
+
applyStickyPosition();
|
|
19662
|
+
});
|
|
19663
|
+
}
|
|
19664
|
+
};
|
|
19665
|
+
window.addEventListener("layout-reset", handleLayoutReset);
|
|
18545
19666
|
document.addEventListener("mouseup", stopResize);
|
|
18546
|
-
|
|
19667
|
+
window[`resetHandler_${props2.id}`] = handleLayoutReset;
|
|
18547
19668
|
});
|
|
18548
|
-
|
|
18549
|
-
|
|
19669
|
+
__expose({
|
|
19670
|
+
setFullScreen
|
|
18550
19671
|
});
|
|
18551
19672
|
onBeforeUnmount(() => {
|
|
19673
|
+
const handler = window[`resetHandler_${props2.id}`];
|
|
19674
|
+
if (handler) {
|
|
19675
|
+
window.removeEventListener("layout-reset", handler);
|
|
19676
|
+
delete window[`resetHandler_${props2.id}`];
|
|
19677
|
+
}
|
|
18552
19678
|
document.removeEventListener("mouseup", stopResize);
|
|
19679
|
+
document.removeEventListener("mousemove", onMove);
|
|
18553
19680
|
document.removeEventListener("mouseup", stopMove);
|
|
18554
|
-
|
|
18555
|
-
|
|
18556
|
-
|
|
18557
|
-
|
|
18558
|
-
isDragging,
|
|
18559
|
-
isResizing,
|
|
18560
|
-
startX,
|
|
18561
|
-
startY,
|
|
18562
|
-
startWidth,
|
|
18563
|
-
startHeight,
|
|
18564
|
-
startLeft,
|
|
18565
|
-
startTop,
|
|
18566
|
-
left: itemState.value.left,
|
|
18567
|
-
top: itemState.value.top,
|
|
18568
|
-
startResizeRight,
|
|
18569
|
-
onResizeWidth,
|
|
18570
|
-
startResizeBottom,
|
|
18571
|
-
onResizeHeight,
|
|
18572
|
-
startResizeTop,
|
|
18573
|
-
onResizeTop,
|
|
18574
|
-
startResizeLeft,
|
|
18575
|
-
onResizeLeft,
|
|
18576
|
-
stopResize,
|
|
18577
|
-
startMove,
|
|
18578
|
-
onMove,
|
|
18579
|
-
stopMove,
|
|
18580
|
-
moveToRight,
|
|
18581
|
-
moveToBottom,
|
|
18582
|
-
moveToLeft,
|
|
18583
|
-
moveToTop,
|
|
18584
|
-
setHeight: (value) => itemState.value.height = value,
|
|
18585
|
-
setWitdh: (value) => itemState.value.width = value,
|
|
18586
|
-
setFullScreen
|
|
19681
|
+
document.removeEventListener("mousemove", onResizeWidth);
|
|
19682
|
+
document.removeEventListener("mousemove", onResizeHeight);
|
|
19683
|
+
document.removeEventListener("mousemove", onResizeTop);
|
|
19684
|
+
document.removeEventListener("mousemove", onResizeLeft);
|
|
18587
19685
|
});
|
|
18588
19686
|
return (_ctx, _cache) => {
|
|
18589
19687
|
return openBlock(), createElementBlock("div", {
|
|
18590
|
-
|
|
19688
|
+
id: props2.id,
|
|
19689
|
+
class: normalizeClass(["overlay", {
|
|
19690
|
+
"no-transition": isResizing.value,
|
|
19691
|
+
minimized: isMinimized.value,
|
|
19692
|
+
"in-group": itemState.value.group,
|
|
19693
|
+
synced: itemState.value.syncDimensions
|
|
19694
|
+
}]),
|
|
18591
19695
|
style: normalizeStyle({
|
|
18592
19696
|
width: isMinimized.value ? "auto" : itemState.value.width + "px",
|
|
18593
19697
|
height: isMinimized.value ? "auto" : itemState.value.height + "px",
|
|
@@ -18603,14 +19707,16 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
18603
19707
|
__props.allowMinimizing ? (openBlock(), createElementBlock("button", {
|
|
18604
19708
|
key: 0,
|
|
18605
19709
|
class: "minimal-button",
|
|
19710
|
+
"data-tooltip": "true",
|
|
18606
19711
|
title: isMinimized.value ? "Maximize" : "Minimize",
|
|
18607
19712
|
onClick: toggleMinimize
|
|
18608
19713
|
}, [
|
|
18609
|
-
createBaseVNode("span",
|
|
18610
|
-
], 8,
|
|
19714
|
+
createBaseVNode("span", _hoisted_3$6, toDisplayString(isMinimized.value ? "+" : "−"), 1)
|
|
19715
|
+
], 8, _hoisted_2$7)) : createCommentVNode("", true),
|
|
18611
19716
|
__props.showRight && itemState.value.stickynessPosition !== "right" ? (openBlock(), createElementBlock("button", {
|
|
18612
19717
|
key: 1,
|
|
18613
19718
|
class: "minimal-button",
|
|
19719
|
+
"data-tooltip": "true",
|
|
18614
19720
|
title: "Move to Right",
|
|
18615
19721
|
onClick: moveToRight
|
|
18616
19722
|
}, _cache[4] || (_cache[4] = [
|
|
@@ -18619,6 +19725,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
18619
19725
|
__props.showBottom && itemState.value.stickynessPosition !== "bottom" ? (openBlock(), createElementBlock("button", {
|
|
18620
19726
|
key: 2,
|
|
18621
19727
|
class: "minimal-button",
|
|
19728
|
+
"data-tooltip": "true",
|
|
18622
19729
|
title: "Move to Bottom",
|
|
18623
19730
|
onClick: moveToBottom
|
|
18624
19731
|
}, _cache[5] || (_cache[5] = [
|
|
@@ -18627,6 +19734,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
18627
19734
|
__props.showLeft && itemState.value.stickynessPosition !== "left" ? (openBlock(), createElementBlock("button", {
|
|
18628
19735
|
key: 3,
|
|
18629
19736
|
class: "minimal-button",
|
|
19737
|
+
"data-tooltip": "true",
|
|
18630
19738
|
title: "Move to Left",
|
|
18631
19739
|
onClick: moveToLeft
|
|
18632
19740
|
}, _cache[6] || (_cache[6] = [
|
|
@@ -18635,6 +19743,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
18635
19743
|
__props.showTop && itemState.value.stickynessPosition !== "top" ? (openBlock(), createElementBlock("button", {
|
|
18636
19744
|
key: 4,
|
|
18637
19745
|
class: "minimal-button",
|
|
19746
|
+
"data-tooltip": "true",
|
|
18638
19747
|
title: "Move to Top",
|
|
18639
19748
|
onClick: moveToTop
|
|
18640
19749
|
}, _cache[7] || (_cache[7] = [
|
|
@@ -18643,7 +19752,8 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
18643
19752
|
__props.allowFullScreen && !itemState.value.fullScreen ? (openBlock(), createElementBlock("button", {
|
|
18644
19753
|
key: 5,
|
|
18645
19754
|
class: "minimal-button",
|
|
18646
|
-
|
|
19755
|
+
"data-tooltip": "true",
|
|
19756
|
+
"data-tooltip-text": "Toggle Full Screen",
|
|
18647
19757
|
onClick: toggleFullScreen
|
|
18648
19758
|
}, _cache[8] || (_cache[8] = [
|
|
18649
19759
|
createBaseVNode("span", { class: "icon" }, "⬜", -1)
|
|
@@ -18651,12 +19761,16 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
18651
19761
|
__props.allowFullScreen && itemState.value.fullScreen ? (openBlock(), createElementBlock("button", {
|
|
18652
19762
|
key: 6,
|
|
18653
19763
|
class: "minimal-button",
|
|
18654
|
-
|
|
19764
|
+
"data-tooltip": "true",
|
|
19765
|
+
"data-tooltip-text": "Exit Full Screen",
|
|
18655
19766
|
onClick: toggleFullScreen
|
|
18656
19767
|
}, _cache[9] || (_cache[9] = [
|
|
18657
19768
|
createBaseVNode("span", { class: "icon" }, "❐", -1)
|
|
18658
19769
|
]))) : createCommentVNode("", true),
|
|
18659
|
-
|
|
19770
|
+
createBaseVNode("span", {
|
|
19771
|
+
class: "group-badge",
|
|
19772
|
+
onMousedown: startMove
|
|
19773
|
+
}, toDisplayString(__props.title), 33)
|
|
18660
19774
|
], 32),
|
|
18661
19775
|
createBaseVNode("div", {
|
|
18662
19776
|
class: "content",
|
|
@@ -18684,12 +19798,214 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
18684
19798
|
onMousedown: withModifiers(startResizeLeft, ["stop"]),
|
|
18685
19799
|
onMouseenter: _cache[3] || (_cache[3] = ($event) => resizeOnEnter($event, "left"))
|
|
18686
19800
|
}, null, 32)
|
|
18687
|
-
],
|
|
19801
|
+
], 14, _hoisted_1$9);
|
|
19802
|
+
};
|
|
19803
|
+
}
|
|
19804
|
+
});
|
|
19805
|
+
const DraggableItem_vue_vue_type_style_index_0_scoped_47a34251_lang = "";
|
|
19806
|
+
const DraggableItem = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-47a34251"]]);
|
|
19807
|
+
const _hoisted_1$8 = { class: "panel-header" };
|
|
19808
|
+
const _hoisted_2$6 = { class: "panel-body" };
|
|
19809
|
+
const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
19810
|
+
__name: "layoutControls",
|
|
19811
|
+
emits: ["reset-layout-graph"],
|
|
19812
|
+
setup(__props, { emit: __emit }) {
|
|
19813
|
+
const emit = __emit;
|
|
19814
|
+
const itemStore = useItemStore();
|
|
19815
|
+
const isOpen = ref(false);
|
|
19816
|
+
const position = ref({ x: window.innerWidth - 80, y: window.innerHeight - 80 });
|
|
19817
|
+
const isDragging = ref(false);
|
|
19818
|
+
const hasDragged = ref(false);
|
|
19819
|
+
const dragStart = ref({ x: 0, y: 0 });
|
|
19820
|
+
const initialPosition = ref({ x: 0, y: 0 });
|
|
19821
|
+
const handleViewportResize = () => {
|
|
19822
|
+
const buttonSize = 45;
|
|
19823
|
+
const boundaryMargin = 10;
|
|
19824
|
+
position.value.x = Math.max(
|
|
19825
|
+
boundaryMargin,
|
|
19826
|
+
Math.min(window.innerWidth - buttonSize - boundaryMargin, position.value.x)
|
|
19827
|
+
);
|
|
19828
|
+
position.value.y = Math.max(
|
|
19829
|
+
boundaryMargin,
|
|
19830
|
+
Math.min(window.innerHeight - buttonSize - boundaryMargin, position.value.y)
|
|
19831
|
+
);
|
|
19832
|
+
};
|
|
19833
|
+
const panelStyle = computed$1(() => {
|
|
19834
|
+
const style = {};
|
|
19835
|
+
const isRightHalf = position.value.x > window.innerWidth / 2;
|
|
19836
|
+
const isBottomHalf = position.value.y > window.innerHeight / 2;
|
|
19837
|
+
if (isRightHalf) {
|
|
19838
|
+
style.right = "60px";
|
|
19839
|
+
} else {
|
|
19840
|
+
style.left = "60px";
|
|
19841
|
+
}
|
|
19842
|
+
if (isBottomHalf) {
|
|
19843
|
+
style.bottom = "0px";
|
|
19844
|
+
} else {
|
|
19845
|
+
style.top = "0px";
|
|
19846
|
+
}
|
|
19847
|
+
return style;
|
|
19848
|
+
});
|
|
19849
|
+
onMounted(() => {
|
|
19850
|
+
const savedPosition = localStorage.getItem("layoutControlsPosition");
|
|
19851
|
+
if (savedPosition) {
|
|
19852
|
+
const parsed = JSON.parse(savedPosition);
|
|
19853
|
+
position.value = parsed;
|
|
19854
|
+
handleViewportResize();
|
|
19855
|
+
}
|
|
19856
|
+
window.addEventListener("resize", handleViewportResize);
|
|
19857
|
+
});
|
|
19858
|
+
const savePosition = () => {
|
|
19859
|
+
localStorage.setItem("layoutControlsPosition", JSON.stringify(position.value));
|
|
19860
|
+
};
|
|
19861
|
+
const handleMouseDown = (e2) => {
|
|
19862
|
+
e2.preventDefault();
|
|
19863
|
+
hasDragged.value = false;
|
|
19864
|
+
if (isOpen.value) {
|
|
19865
|
+
return;
|
|
19866
|
+
}
|
|
19867
|
+
isDragging.value = true;
|
|
19868
|
+
dragStart.value = {
|
|
19869
|
+
x: e2.clientX,
|
|
19870
|
+
y: e2.clientY
|
|
19871
|
+
};
|
|
19872
|
+
initialPosition.value = {
|
|
19873
|
+
x: position.value.x,
|
|
19874
|
+
y: position.value.y
|
|
19875
|
+
};
|
|
19876
|
+
document.addEventListener("mousemove", onDrag);
|
|
19877
|
+
document.addEventListener("mouseup", stopDrag);
|
|
19878
|
+
};
|
|
19879
|
+
const handleClick = (e2) => {
|
|
19880
|
+
e2.preventDefault();
|
|
19881
|
+
e2.stopPropagation();
|
|
19882
|
+
if (!hasDragged.value) {
|
|
19883
|
+
isOpen.value = !isOpen.value;
|
|
19884
|
+
}
|
|
19885
|
+
};
|
|
19886
|
+
const onDrag = (e2) => {
|
|
19887
|
+
if (!isDragging.value)
|
|
19888
|
+
return;
|
|
19889
|
+
const deltaX = e2.clientX - dragStart.value.x;
|
|
19890
|
+
const deltaY = e2.clientY - dragStart.value.y;
|
|
19891
|
+
if (Math.abs(deltaX) > 5 || Math.abs(deltaY) > 5) {
|
|
19892
|
+
hasDragged.value = true;
|
|
19893
|
+
}
|
|
19894
|
+
if (hasDragged.value) {
|
|
19895
|
+
let newX = initialPosition.value.x + deltaX;
|
|
19896
|
+
let newY = initialPosition.value.y + deltaY;
|
|
19897
|
+
const buttonSize = 45;
|
|
19898
|
+
const boundaryMargin = 10;
|
|
19899
|
+
newX = Math.max(
|
|
19900
|
+
boundaryMargin,
|
|
19901
|
+
Math.min(window.innerWidth - buttonSize - boundaryMargin, newX)
|
|
19902
|
+
);
|
|
19903
|
+
newY = Math.max(
|
|
19904
|
+
boundaryMargin,
|
|
19905
|
+
Math.min(window.innerHeight - buttonSize - boundaryMargin, newY)
|
|
19906
|
+
);
|
|
19907
|
+
position.value = { x: newX, y: newY };
|
|
19908
|
+
}
|
|
19909
|
+
};
|
|
19910
|
+
const stopDrag = () => {
|
|
19911
|
+
if (isDragging.value) {
|
|
19912
|
+
isDragging.value = false;
|
|
19913
|
+
if (hasDragged.value) {
|
|
19914
|
+
savePosition();
|
|
19915
|
+
}
|
|
19916
|
+
document.removeEventListener("mousemove", onDrag);
|
|
19917
|
+
document.removeEventListener("mouseup", stopDrag);
|
|
19918
|
+
}
|
|
19919
|
+
};
|
|
19920
|
+
const runAction = (action, ...args) => {
|
|
19921
|
+
action(...args);
|
|
19922
|
+
isOpen.value = false;
|
|
19923
|
+
};
|
|
19924
|
+
const arrangeLayout = (layout) => {
|
|
19925
|
+
itemStore.arrangeItems(layout);
|
|
19926
|
+
};
|
|
19927
|
+
const resetLayout = () => {
|
|
19928
|
+
itemStore.resetLayout();
|
|
19929
|
+
};
|
|
19930
|
+
const resetLayoutGraph = () => {
|
|
19931
|
+
emit("reset-layout-graph");
|
|
19932
|
+
};
|
|
19933
|
+
onBeforeUnmount(() => {
|
|
19934
|
+
document.removeEventListener("mousemove", onDrag);
|
|
19935
|
+
document.removeEventListener("mouseup", stopDrag);
|
|
19936
|
+
window.removeEventListener("resize", handleViewportResize);
|
|
19937
|
+
});
|
|
19938
|
+
return (_ctx, _cache) => {
|
|
19939
|
+
return openBlock(), createElementBlock("div", {
|
|
19940
|
+
class: "layout-widget-wrapper",
|
|
19941
|
+
style: normalizeStyle({
|
|
19942
|
+
left: position.value.x + "px",
|
|
19943
|
+
top: position.value.y + "px"
|
|
19944
|
+
})
|
|
19945
|
+
}, [
|
|
19946
|
+
createVNode(Transition$2, { name: "panel-fade" }, {
|
|
19947
|
+
default: withCtx(() => [
|
|
19948
|
+
isOpen.value ? (openBlock(), createElementBlock("div", {
|
|
19949
|
+
key: 0,
|
|
19950
|
+
class: "panel",
|
|
19951
|
+
style: normalizeStyle(panelStyle.value)
|
|
19952
|
+
}, [
|
|
19953
|
+
createBaseVNode("div", _hoisted_1$8, [
|
|
19954
|
+
_cache[5] || (_cache[5] = createBaseVNode("span", { class: "panel-title" }, "Layout Controls", -1)),
|
|
19955
|
+
createBaseVNode("button", {
|
|
19956
|
+
class: "close-btn",
|
|
19957
|
+
title: "Close",
|
|
19958
|
+
onClick: _cache[0] || (_cache[0] = ($event) => isOpen.value = false)
|
|
19959
|
+
}, "✕")
|
|
19960
|
+
]),
|
|
19961
|
+
createBaseVNode("div", _hoisted_2$6, [
|
|
19962
|
+
createBaseVNode("button", {
|
|
19963
|
+
class: "control-btn",
|
|
19964
|
+
onClick: _cache[1] || (_cache[1] = ($event) => runAction(arrangeLayout, "tile"))
|
|
19965
|
+
}, _cache[6] || (_cache[6] = [
|
|
19966
|
+
createBaseVNode("span", { class: "icon" }, "⊞", -1),
|
|
19967
|
+
createTextVNode(" Tile Layout ")
|
|
19968
|
+
])),
|
|
19969
|
+
createBaseVNode("button", {
|
|
19970
|
+
class: "control-btn",
|
|
19971
|
+
onClick: _cache[2] || (_cache[2] = ($event) => runAction(arrangeLayout, "cascade"))
|
|
19972
|
+
}, _cache[7] || (_cache[7] = [
|
|
19973
|
+
createBaseVNode("span", { class: "icon" }, "◫", -1),
|
|
19974
|
+
createTextVNode(" Cascade ")
|
|
19975
|
+
])),
|
|
19976
|
+
createBaseVNode("button", {
|
|
19977
|
+
class: "control-btn",
|
|
19978
|
+
onClick: _cache[3] || (_cache[3] = ($event) => runAction(resetLayout))
|
|
19979
|
+
}, _cache[8] || (_cache[8] = [
|
|
19980
|
+
createBaseVNode("span", { class: "icon" }, "↺", -1),
|
|
19981
|
+
createTextVNode(" Reset window Layout ")
|
|
19982
|
+
])),
|
|
19983
|
+
createBaseVNode("button", {
|
|
19984
|
+
class: "control-btn accent",
|
|
19985
|
+
onClick: _cache[4] || (_cache[4] = ($event) => runAction(resetLayoutGraph))
|
|
19986
|
+
}, _cache[9] || (_cache[9] = [
|
|
19987
|
+
createBaseVNode("span", { class: "icon" }, "⟲", -1),
|
|
19988
|
+
createTextVNode(" Reset Layout Graph ")
|
|
19989
|
+
]))
|
|
19990
|
+
])
|
|
19991
|
+
], 4)) : createCommentVNode("", true)
|
|
19992
|
+
]),
|
|
19993
|
+
_: 1
|
|
19994
|
+
}),
|
|
19995
|
+
createBaseVNode("button", {
|
|
19996
|
+
class: normalizeClass(["trigger-btn", { "is-open": isOpen.value }]),
|
|
19997
|
+
title: "Layout Controls",
|
|
19998
|
+
onMousedown: handleMouseDown,
|
|
19999
|
+
onClick: handleClick
|
|
20000
|
+
}, _cache[10] || (_cache[10] = [
|
|
20001
|
+
createStaticVNode('<svg class="layout-icon" viewBox="0 0 24 24" width="24" height="24" data-v-0bdaa52f><rect x="2" y="2" width="8" height="6" fill="currentColor" opacity="0.9" data-v-0bdaa52f></rect><rect x="12" y="2" width="8" height="6" fill="currentColor" opacity="0.7" data-v-0bdaa52f></rect><rect x="2" y="10" width="8" height="10" fill="currentColor" opacity="0.7" data-v-0bdaa52f></rect><rect x="12" y="10" width="8" height="10" fill="currentColor" opacity="0.9" data-v-0bdaa52f></rect></svg>', 1)
|
|
20002
|
+
]), 34)
|
|
20003
|
+
], 4);
|
|
18688
20004
|
};
|
|
18689
20005
|
}
|
|
18690
20006
|
});
|
|
18691
|
-
const
|
|
18692
|
-
const
|
|
20007
|
+
const layoutControls_vue_vue_type_style_index_0_scoped_0bdaa52f_lang = "";
|
|
20008
|
+
const layoutControls = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-0bdaa52f"]]);
|
|
18693
20009
|
var __defProp$2 = Object.defineProperty;
|
|
18694
20010
|
var __defProps = Object.defineProperties;
|
|
18695
20011
|
var __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor;
|
|
@@ -67227,15 +68543,15 @@ var __defProp$1 = Object.defineProperty;
|
|
|
67227
68543
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
67228
68544
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
67229
68545
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
67230
|
-
var
|
|
68546
|
+
var __defNormalProp2 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
67231
68547
|
var __spreadValues = (a3, b2) => {
|
|
67232
68548
|
for (var prop in b2 || (b2 = {}))
|
|
67233
68549
|
if (__hasOwnProp.call(b2, prop))
|
|
67234
|
-
|
|
68550
|
+
__defNormalProp2(a3, prop, b2[prop]);
|
|
67235
68551
|
if (__getOwnPropSymbols)
|
|
67236
68552
|
for (var prop of __getOwnPropSymbols(b2)) {
|
|
67237
68553
|
if (__propIsEnum.call(b2, prop))
|
|
67238
|
-
|
|
68554
|
+
__defNormalProp2(a3, prop, b2[prop]);
|
|
67239
68555
|
}
|
|
67240
68556
|
return a3;
|
|
67241
68557
|
};
|
|
@@ -67705,7 +69021,7 @@ var AgGridVue = defineComponent({
|
|
|
67705
69021
|
* @license MIT
|
|
67706
69022
|
**)
|
|
67707
69023
|
*/
|
|
67708
|
-
var
|
|
69024
|
+
var __defProp2 = Object.defineProperty;
|
|
67709
69025
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
67710
69026
|
var __decorateClass = (decorators, target, key, kind) => {
|
|
67711
69027
|
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
@@ -67713,7 +69029,7 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
67713
69029
|
if (decorator = decorators[i2])
|
|
67714
69030
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
67715
69031
|
if (kind && result)
|
|
67716
|
-
|
|
69032
|
+
__defProp2(target, key, result);
|
|
67717
69033
|
return result;
|
|
67718
69034
|
};
|
|
67719
69035
|
var _ClientSideNodeManager = class _ClientSideNodeManager2 {
|
|
@@ -69431,6 +70747,18 @@ const _hoisted_1$7 = {
|
|
|
69431
70747
|
key: 0,
|
|
69432
70748
|
class: "spinner-overlay"
|
|
69433
70749
|
};
|
|
70750
|
+
const _hoisted_2$5 = { class: "table-container" };
|
|
70751
|
+
const _hoisted_3$5 = {
|
|
70752
|
+
key: 0,
|
|
70753
|
+
class: "outdated-data-banner"
|
|
70754
|
+
};
|
|
70755
|
+
const _hoisted_4$5 = {
|
|
70756
|
+
key: 1,
|
|
70757
|
+
class: "fetch-data-section"
|
|
70758
|
+
};
|
|
70759
|
+
const _hoisted_5$4 = ["disabled"];
|
|
70760
|
+
const _hoisted_6$3 = { key: 0 };
|
|
70761
|
+
const _hoisted_7$2 = { key: 1 };
|
|
69434
70762
|
const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
69435
70763
|
__name: "dataPreview",
|
|
69436
70764
|
props: {
|
|
@@ -69451,6 +70779,31 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
69451
70779
|
const columnLength = ref(0);
|
|
69452
70780
|
const gridApi = ref(null);
|
|
69453
70781
|
const columnDefs = ref([{}]);
|
|
70782
|
+
const showFetchButton = ref(false);
|
|
70783
|
+
const currentNodeId = ref(null);
|
|
70784
|
+
const showOutdatedDataBanner = ref(false);
|
|
70785
|
+
const props2 = __props;
|
|
70786
|
+
const { triggerNodeFetch, isPollingActive } = useFlowExecution(
|
|
70787
|
+
props2.flowId || nodeStore.flow_id,
|
|
70788
|
+
{ interval: 2e3, enabled: true },
|
|
70789
|
+
{
|
|
70790
|
+
persistPolling: true,
|
|
70791
|
+
// Keep polling even when component unmounts
|
|
70792
|
+
pollingKey: `table_flow_${props2.flowId || nodeStore.flow_id}`
|
|
70793
|
+
}
|
|
70794
|
+
);
|
|
70795
|
+
const gridHeightComputed = computed$1(() => {
|
|
70796
|
+
if (showFetchButton.value) {
|
|
70797
|
+
return "80px";
|
|
70798
|
+
}
|
|
70799
|
+
return gridHeight.value || "100%";
|
|
70800
|
+
});
|
|
70801
|
+
const overlayNoRowsTemplate = computed$1(() => {
|
|
70802
|
+
if (showFetchButton.value) {
|
|
70803
|
+
return "<span></span>";
|
|
70804
|
+
}
|
|
70805
|
+
return void 0;
|
|
70806
|
+
});
|
|
69454
70807
|
const defaultColDef = {
|
|
69455
70808
|
editable: true,
|
|
69456
70809
|
filter: true,
|
|
@@ -69459,8 +70812,17 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
69459
70812
|
};
|
|
69460
70813
|
const onGridReady = (params) => {
|
|
69461
70814
|
gridApi.value = params.api;
|
|
70815
|
+
if (showFetchButton.value) {
|
|
70816
|
+
gridApi.value.hideOverlay();
|
|
70817
|
+
}
|
|
69462
70818
|
};
|
|
69463
|
-
|
|
70819
|
+
function dismissOutdatedBanner() {
|
|
70820
|
+
showOutdatedDataBanner.value = false;
|
|
70821
|
+
}
|
|
70822
|
+
async function handleRefresh() {
|
|
70823
|
+
showOutdatedDataBanner.value = false;
|
|
70824
|
+
await handleFetchData();
|
|
70825
|
+
}
|
|
69464
70826
|
const calculateGridHeight = () => {
|
|
69465
70827
|
const otherElementsHeight = 300;
|
|
69466
70828
|
const availableHeight = window.innerHeight - otherElementsHeight;
|
|
@@ -69470,39 +70832,81 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
69470
70832
|
async function downloadData(nodeId) {
|
|
69471
70833
|
try {
|
|
69472
70834
|
isLoading.value = true;
|
|
70835
|
+
showFetchButton.value = false;
|
|
70836
|
+
showOutdatedDataBanner.value = false;
|
|
70837
|
+
currentNodeId.value = nodeId;
|
|
69473
70838
|
let resp = await nodeStore.getTableExample(nodeStore.flow_id, nodeId);
|
|
69474
70839
|
if (resp) {
|
|
69475
70840
|
dataPreview.value = resp;
|
|
70841
|
+
showOutdatedDataBanner.value = !resp.has_run_with_current_setup && resp.has_example_data;
|
|
69476
70842
|
const _cd = [];
|
|
69477
70843
|
const _columns = dataPreview.value.table_schema;
|
|
69478
70844
|
if (props2.showFileStats) {
|
|
69479
70845
|
_columns == null ? void 0 : _columns.forEach((item) => {
|
|
69480
|
-
_cd.push({
|
|
70846
|
+
_cd.push({
|
|
70847
|
+
field: item.name,
|
|
70848
|
+
headerName: item.name,
|
|
70849
|
+
resizable: true
|
|
70850
|
+
});
|
|
69481
70851
|
schema_dict[item.name] = item;
|
|
69482
70852
|
});
|
|
69483
70853
|
} else {
|
|
69484
70854
|
_columns == null ? void 0 : _columns.forEach((item) => {
|
|
69485
|
-
_cd.push({
|
|
70855
|
+
_cd.push({
|
|
70856
|
+
field: item.name,
|
|
70857
|
+
headerName: item.name,
|
|
70858
|
+
resizable: true
|
|
70859
|
+
});
|
|
69486
70860
|
});
|
|
69487
70861
|
}
|
|
69488
70862
|
columnDefs.value = _cd;
|
|
69489
|
-
if (
|
|
69490
|
-
|
|
69491
|
-
|
|
69492
|
-
|
|
70863
|
+
if (resp.has_example_data === false) {
|
|
70864
|
+
showFetchButton.value = true;
|
|
70865
|
+
rowData.value = [];
|
|
70866
|
+
showTable.value = true;
|
|
70867
|
+
dataAvailable.value = false;
|
|
70868
|
+
} else {
|
|
70869
|
+
if (dataPreview.value) {
|
|
70870
|
+
rowData.value = dataPreview.value.data;
|
|
70871
|
+
dataLength.value = dataPreview.value.number_of_records;
|
|
70872
|
+
columnLength.value = dataPreview.value.number_of_columns;
|
|
70873
|
+
}
|
|
70874
|
+
showTable.value = true;
|
|
70875
|
+
dataAvailable.value = true;
|
|
70876
|
+
showFetchButton.value = false;
|
|
69493
70877
|
}
|
|
69494
|
-
showTable.value = true;
|
|
69495
|
-
dataAvailable.value = true;
|
|
69496
70878
|
}
|
|
69497
70879
|
} finally {
|
|
69498
70880
|
isLoading.value = false;
|
|
69499
70881
|
}
|
|
69500
70882
|
}
|
|
70883
|
+
async function handleFetchData() {
|
|
70884
|
+
if (currentNodeId.value !== null) {
|
|
70885
|
+
try {
|
|
70886
|
+
if (isPollingActive(`node_${currentNodeId.value}`)) {
|
|
70887
|
+
console.log("Fetch already in progress for this node");
|
|
70888
|
+
return;
|
|
70889
|
+
}
|
|
70890
|
+
await triggerNodeFetch(currentNodeId.value);
|
|
70891
|
+
const checkInterval = setInterval(async () => {
|
|
70892
|
+
if (!isPollingActive(`node_${currentNodeId.value}`)) {
|
|
70893
|
+
clearInterval(checkInterval);
|
|
70894
|
+
await downloadData(currentNodeId.value);
|
|
70895
|
+
}
|
|
70896
|
+
}, 1e3);
|
|
70897
|
+
setTimeout(() => clearInterval(checkInterval), 6e4);
|
|
70898
|
+
} catch (error) {
|
|
70899
|
+
console.error("Error fetching data:", error);
|
|
70900
|
+
}
|
|
70901
|
+
}
|
|
70902
|
+
}
|
|
69501
70903
|
function removeData() {
|
|
69502
70904
|
rowData.value = [];
|
|
69503
70905
|
showTable.value = false;
|
|
69504
70906
|
dataAvailable.value = false;
|
|
69505
70907
|
columnDefs.value = [{}];
|
|
70908
|
+
showFetchButton.value = false;
|
|
70909
|
+
currentNodeId.value = null;
|
|
69506
70910
|
}
|
|
69507
70911
|
ref(null);
|
|
69508
70912
|
onMounted(() => {
|
|
@@ -69518,13 +70922,41 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
69518
70922
|
isLoading.value ? (openBlock(), createElementBlock("div", _hoisted_1$7, _cache[0] || (_cache[0] = [
|
|
69519
70923
|
createBaseVNode("div", { class: "spinner" }, null, -1)
|
|
69520
70924
|
]))) : createCommentVNode("", true),
|
|
69521
|
-
withDirectives(
|
|
69522
|
-
"
|
|
69523
|
-
|
|
69524
|
-
|
|
69525
|
-
|
|
69526
|
-
|
|
69527
|
-
|
|
70925
|
+
withDirectives(createBaseVNode("div", _hoisted_2$5, [
|
|
70926
|
+
showOutdatedDataBanner.value ? (openBlock(), createElementBlock("div", _hoisted_3$5, [
|
|
70927
|
+
createBaseVNode("p", null, [
|
|
70928
|
+
_cache[1] || (_cache[1] = createTextVNode(" Displayed data might be outdated. ")),
|
|
70929
|
+
createBaseVNode("button", {
|
|
70930
|
+
class: "refresh-link-button",
|
|
70931
|
+
onClick: handleRefresh
|
|
70932
|
+
}, "Refresh now")
|
|
70933
|
+
]),
|
|
70934
|
+
createBaseVNode("button", {
|
|
70935
|
+
class: "dismiss-button",
|
|
70936
|
+
"aria-label": "Dismiss notification",
|
|
70937
|
+
onClick: dismissOutdatedBanner
|
|
70938
|
+
}, " × ")
|
|
70939
|
+
])) : createCommentVNode("", true),
|
|
70940
|
+
createVNode(unref(AgGridVue), {
|
|
70941
|
+
"default-col-def": defaultColDef,
|
|
70942
|
+
"column-defs": columnDefs.value,
|
|
70943
|
+
class: "ag-theme-balham",
|
|
70944
|
+
"row-data": rowData.value,
|
|
70945
|
+
style: normalizeStyle({ width: "100%", height: gridHeightComputed.value }),
|
|
70946
|
+
"overlay-no-rows-template": overlayNoRowsTemplate.value,
|
|
70947
|
+
onGridReady
|
|
70948
|
+
}, null, 8, ["column-defs", "row-data", "style", "overlay-no-rows-template"]),
|
|
70949
|
+
showFetchButton.value ? (openBlock(), createElementBlock("div", _hoisted_4$5, [
|
|
70950
|
+
_cache[2] || (_cache[2] = createBaseVNode("p", null, "Step has not stored any data yet. Click here to trigger a run for this node", -1)),
|
|
70951
|
+
createBaseVNode("button", {
|
|
70952
|
+
class: "fetch-data-button",
|
|
70953
|
+
disabled: unref(nodeStore).isRunning,
|
|
70954
|
+
onClick: handleFetchData
|
|
70955
|
+
}, [
|
|
70956
|
+
!unref(nodeStore).isRunning ? (openBlock(), createElementBlock("span", _hoisted_6$3, "Fetch Data")) : (openBlock(), createElementBlock("span", _hoisted_7$2, "Fetching..."))
|
|
70957
|
+
], 8, _hoisted_5$4)
|
|
70958
|
+
])) : createCommentVNode("", true)
|
|
70959
|
+
], 512), [
|
|
69528
70960
|
[vShow, !isLoading.value]
|
|
69529
70961
|
])
|
|
69530
70962
|
], 64);
|
|
@@ -71059,7 +72491,7 @@ const _hoisted_4$4 = { class: "node-title" };
|
|
|
71059
72491
|
const _hoisted_5$3 = { class: "node-description" };
|
|
71060
72492
|
const _hoisted_6$2 = { key: 1 };
|
|
71061
72493
|
const _hoisted_7$1 = { class: "node-details" };
|
|
71062
|
-
const _hoisted_8 = {
|
|
72494
|
+
const _hoisted_8$1 = {
|
|
71063
72495
|
key: 0,
|
|
71064
72496
|
class: "failure"
|
|
71065
72497
|
};
|
|
@@ -71186,7 +72618,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
71186
72618
|
})
|
|
71187
72619
|
}, toDisplayString(node.success === null ? "Running" : node.success ? "Success" : "Failure"), 3)
|
|
71188
72620
|
]),
|
|
71189
|
-
node.success === false ? (openBlock(), createElementBlock("p", _hoisted_8, "Error: " + toDisplayString(node.error), 1)) : createCommentVNode("", true)
|
|
72621
|
+
node.success === false ? (openBlock(), createElementBlock("p", _hoisted_8$1, "Error: " + toDisplayString(node.error), 1)) : createCommentVNode("", true)
|
|
71190
72622
|
])
|
|
71191
72623
|
]),
|
|
71192
72624
|
_: 2
|
|
@@ -71256,7 +72688,6 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
71256
72688
|
connectionRetries.value = 0;
|
|
71257
72689
|
errorMessage.value = null;
|
|
71258
72690
|
connectionStatus.value = "disconnected";
|
|
71259
|
-
console.log("Starting log streaming");
|
|
71260
72691
|
try {
|
|
71261
72692
|
const token = await authService.getToken();
|
|
71262
72693
|
if (!token) {
|
|
@@ -71288,7 +72719,6 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
71288
72719
|
if (!hasReceivedMessage && nodeStore.isRunning) {
|
|
71289
72720
|
if (connectionRetries.value < maxRetries) {
|
|
71290
72721
|
connectionRetries.value++;
|
|
71291
|
-
console.log(`Retrying log connection (${connectionRetries.value}/${maxRetries})...`);
|
|
71292
72722
|
errorMessage.value = `Connection failed. Retrying (${connectionRetries.value}/${maxRetries})...`;
|
|
71293
72723
|
connectionStatus.value = "error";
|
|
71294
72724
|
stopStreamingLogs();
|
|
@@ -71432,8 +72862,8 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
71432
72862
|
};
|
|
71433
72863
|
}
|
|
71434
72864
|
});
|
|
71435
|
-
const
|
|
71436
|
-
const LogViewer = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-
|
|
72865
|
+
const LogViewer_vue_vue_type_style_index_0_scoped_9b3bdb24_lang = "";
|
|
72866
|
+
const LogViewer = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-9b3bdb24"]]);
|
|
71437
72867
|
const _hoisted_1$4 = { class: "context-menu-header" };
|
|
71438
72868
|
const _hoisted_2$2 = { class: "context-menu-items" };
|
|
71439
72869
|
const _hoisted_3$2 = ["onClick"];
|
|
@@ -71535,11 +72965,32 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
71535
72965
|
});
|
|
71536
72966
|
const ContextMenu_vue_vue_type_style_index_0_scoped_7db4e6fc_lang = "";
|
|
71537
72967
|
const ContextMenu = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-7db4e6fc"]]);
|
|
72968
|
+
const handleApiError = (error) => {
|
|
72969
|
+
var _a, _b, _c;
|
|
72970
|
+
throw {
|
|
72971
|
+
message: ((_b = (_a = error.response) == null ? void 0 : _a.data) == null ? void 0 : _b.detail) || "An unknown error occurred",
|
|
72972
|
+
status: ((_c = error.response) == null ? void 0 : _c.status) || 500
|
|
72973
|
+
};
|
|
72974
|
+
};
|
|
72975
|
+
const applyStandardLayout = async (flowId) => {
|
|
72976
|
+
const url = "/flow/apply_standard_layout/";
|
|
72977
|
+
try {
|
|
72978
|
+
const response = await axios.post(url, null, {
|
|
72979
|
+
params: {
|
|
72980
|
+
flow_id: flowId
|
|
72981
|
+
}
|
|
72982
|
+
});
|
|
72983
|
+
return response.data;
|
|
72984
|
+
} catch (error) {
|
|
72985
|
+
return handleApiError(error);
|
|
72986
|
+
}
|
|
72987
|
+
};
|
|
71538
72988
|
const _hoisted_1$3 = { class: "container" };
|
|
71539
72989
|
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
71540
72990
|
__name: "CanvasFlow",
|
|
71541
72991
|
emits: ["save", "run"],
|
|
71542
72992
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
72993
|
+
const itemStore = useItemStore();
|
|
71543
72994
|
const availableHeight = ref(0);
|
|
71544
72995
|
const nodeStore = useNodeStore();
|
|
71545
72996
|
const rawCustomNode = markRaw$1(CustomNode);
|
|
@@ -71563,14 +73014,23 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
71563
73014
|
const contextMenuTarget = ref({ type: "pane", id: "" });
|
|
71564
73015
|
const emit = __emit;
|
|
71565
73016
|
const handleCanvasClick = (event) => {
|
|
71566
|
-
nodeStore.closeDrawer();
|
|
71567
73017
|
showTablePreview.value = false;
|
|
73018
|
+
nodeStore.node_id = -1;
|
|
73019
|
+
nodeStore.activeDrawerComponent = null;
|
|
71568
73020
|
nodeStore.hideLogViewer();
|
|
71569
73021
|
clickedPosition.value = {
|
|
71570
73022
|
x: event.x,
|
|
71571
73023
|
y: event.y
|
|
71572
73024
|
};
|
|
71573
73025
|
};
|
|
73026
|
+
const handleNodeSettingsClose = (event) => {
|
|
73027
|
+
nodeStore.node_id = -1;
|
|
73028
|
+
nodeStore.activeDrawerComponent = null;
|
|
73029
|
+
clickedPosition.value = {
|
|
73030
|
+
x: event.x,
|
|
73031
|
+
y: event.y
|
|
73032
|
+
};
|
|
73033
|
+
};
|
|
71574
73034
|
const toggleShowTablePreview = () => {
|
|
71575
73035
|
showTablePreview.value = !showTablePreview.value;
|
|
71576
73036
|
};
|
|
@@ -71589,7 +73049,6 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
71589
73049
|
setNodeTableView(nodeId);
|
|
71590
73050
|
});
|
|
71591
73051
|
fitView({ nodes: [nodeId.toString()] });
|
|
71592
|
-
nodeStore.node_id = nodeId;
|
|
71593
73052
|
};
|
|
71594
73053
|
async function onConnect(params) {
|
|
71595
73054
|
if (params.target && params.source) {
|
|
@@ -71613,6 +73072,9 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
71613
73072
|
const nodeClick = (mouseEvent) => {
|
|
71614
73073
|
showTablePreview.value = true;
|
|
71615
73074
|
nextTick().then(() => {
|
|
73075
|
+
nodeStore.node_id = parseInt(mouseEvent.node.id);
|
|
73076
|
+
itemStore.bringToFront("tablePreview");
|
|
73077
|
+
itemStore.bringToFront("nodeSettings");
|
|
71616
73078
|
if (mouseEvent.node.id && !NodeIsSelected(mouseEvent.node.id) || dataPreview.value && dataPreview.value.dataLength == 0 && dataPreview.value.columnLength == 0) {
|
|
71617
73079
|
setNodeTableView(mouseEvent.node.id);
|
|
71618
73080
|
}
|
|
@@ -71620,7 +73082,6 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
71620
73082
|
});
|
|
71621
73083
|
};
|
|
71622
73084
|
const setNodeTableView = (nodeId) => {
|
|
71623
|
-
console.log(dataPreview.value);
|
|
71624
73085
|
if (dataPreview.value) {
|
|
71625
73086
|
dataPreview.value.downloadData(nodeId);
|
|
71626
73087
|
}
|
|
@@ -71651,13 +73112,9 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
71651
73112
|
console.log("Edge changes length is 2 so coming from a node change event");
|
|
71652
73113
|
return;
|
|
71653
73114
|
}
|
|
71654
|
-
console.log("Edge changes", edgeChanges);
|
|
71655
73115
|
for (const edgeChange of edgeChanges) {
|
|
71656
|
-
if (edgeChange.type === "
|
|
71657
|
-
console.log("This edge change does not work");
|
|
71658
|
-
} else if (edgeChange.type === "remove") {
|
|
73116
|
+
if (edgeChange.type === "remove") {
|
|
71659
73117
|
const nodeConnection = convertEdgeChangeToNodeConnection(edgeChange);
|
|
71660
|
-
console.log("Removing connection", nodeConnection);
|
|
71661
73118
|
deleteConnection(nodeStore.flow_id, nodeConnection);
|
|
71662
73119
|
}
|
|
71663
73120
|
}
|
|
@@ -71696,6 +73153,14 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
71696
73153
|
copyValue(position.x, position.y);
|
|
71697
73154
|
}
|
|
71698
73155
|
};
|
|
73156
|
+
const handleResetLayoutGraph = async () => {
|
|
73157
|
+
await applyStandardLayout(nodeStore.flow_id);
|
|
73158
|
+
loadFlow();
|
|
73159
|
+
};
|
|
73160
|
+
const hideLogViewer = () => {
|
|
73161
|
+
nodeStore.hideLogViewerForThisRun = true;
|
|
73162
|
+
nodeStore.hideLogViewer();
|
|
73163
|
+
};
|
|
71699
73164
|
const handleKeyDown = (event) => {
|
|
71700
73165
|
let eventKeyClicked = event.ctrlKey || event.metaKey;
|
|
71701
73166
|
if (eventKeyClicked && event.key === "v" && event.target) {
|
|
@@ -71778,7 +73243,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
71778
73243
|
onClick: closeContextMenu
|
|
71779
73244
|
}, {
|
|
71780
73245
|
default: withCtx(() => [
|
|
71781
|
-
createVNode(unref(_sfc_main$
|
|
73246
|
+
createVNode(unref(_sfc_main$i))
|
|
71782
73247
|
]),
|
|
71783
73248
|
_: 1
|
|
71784
73249
|
}, 8, ["nodes", "edges", "connection-mode"]),
|
|
@@ -71798,7 +73263,8 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
71798
73263
|
"initial-width": 200,
|
|
71799
73264
|
"initial-position": "left",
|
|
71800
73265
|
title: "Data actions",
|
|
71801
|
-
"allow-free-move": true
|
|
73266
|
+
"allow-free-move": true,
|
|
73267
|
+
"prevent-overlap": true
|
|
71802
73268
|
}, {
|
|
71803
73269
|
default: withCtx(() => [
|
|
71804
73270
|
createVNode(NodeList, { onDragstart: unref(onDragStart) }, null, 8, ["onDragstart"])
|
|
@@ -71812,13 +73278,17 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
71812
73278
|
title: "Log overview",
|
|
71813
73279
|
"allow-full-screen": true,
|
|
71814
73280
|
"initial-position": "bottom",
|
|
71815
|
-
"
|
|
73281
|
+
"initial-left": 200,
|
|
73282
|
+
"on-minize": hideLogViewer,
|
|
73283
|
+
group: "bottomPanels",
|
|
73284
|
+
"sync-dimensions": true,
|
|
73285
|
+
"prevent-overlap": true
|
|
71816
73286
|
}, {
|
|
71817
73287
|
default: withCtx(() => [
|
|
71818
|
-
createVNode(LogViewer
|
|
73288
|
+
createVNode(LogViewer)
|
|
71819
73289
|
]),
|
|
71820
73290
|
_: 1
|
|
71821
|
-
}
|
|
73291
|
+
})) : createCommentVNode("", true),
|
|
71822
73292
|
unref(nodeStore).showFlowResult ? (openBlock(), createBlock(DraggableItem, {
|
|
71823
73293
|
key: 1,
|
|
71824
73294
|
id: "flowresults",
|
|
@@ -71826,7 +73296,8 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
71826
73296
|
title: "flow results",
|
|
71827
73297
|
"initial-position": "right",
|
|
71828
73298
|
"initial-width": 400,
|
|
71829
|
-
"
|
|
73299
|
+
group: "rightPanels",
|
|
73300
|
+
"prevent-overlap": true
|
|
71830
73301
|
}, {
|
|
71831
73302
|
default: withCtx(() => [
|
|
71832
73303
|
createVNode(FlowResults, { "on-click": selectNodeExternally })
|
|
@@ -71841,7 +73312,11 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
71841
73312
|
title: "Table Preview",
|
|
71842
73313
|
"initial-position": "bottom",
|
|
71843
73314
|
"on-minize": toggleShowTablePreview,
|
|
71844
|
-
"initial-height": tablePreviewHeight.value
|
|
73315
|
+
"initial-height": tablePreviewHeight.value,
|
|
73316
|
+
"initial-left": 200,
|
|
73317
|
+
group: "bottomPanels",
|
|
73318
|
+
"sync-dimensions": true,
|
|
73319
|
+
"prevent-overlap": false
|
|
71845
73320
|
}, {
|
|
71846
73321
|
default: withCtx(() => [
|
|
71847
73322
|
createVNode(_sfc_main$8, {
|
|
@@ -71862,22 +73337,18 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
71862
73337
|
id: "nodeSettings",
|
|
71863
73338
|
"show-right": true,
|
|
71864
73339
|
"initial-position": "right",
|
|
71865
|
-
"initial-top": 0,
|
|
71866
73340
|
"initial-width": 800,
|
|
71867
73341
|
"initial-height": nodeSettingsHeight.value,
|
|
71868
73342
|
title: "Node Settings",
|
|
71869
|
-
"on-minize":
|
|
71870
|
-
"allow-full-screen": true
|
|
73343
|
+
"on-minize": handleNodeSettingsClose,
|
|
73344
|
+
"allow-full-screen": true,
|
|
73345
|
+
"prevent-overlap": false
|
|
71871
73346
|
}, {
|
|
71872
|
-
default: withCtx(() =>
|
|
71873
|
-
|
|
71874
|
-
|
|
71875
|
-
|
|
71876
|
-
|
|
71877
|
-
])),
|
|
71878
|
-
_: 1,
|
|
71879
|
-
__: [2]
|
|
71880
|
-
}, 8, ["initial-height", "on-minize"])) : createCommentVNode("", true),
|
|
73347
|
+
default: withCtx(() => [
|
|
73348
|
+
createVNode(_sfc_main$b)
|
|
73349
|
+
]),
|
|
73350
|
+
_: 1
|
|
73351
|
+
}, 8, ["initial-height"])) : createCommentVNode("", true),
|
|
71881
73352
|
unref(nodeStore).showCodeGenerator ? (openBlock(), createBlock(DraggableItem, {
|
|
71882
73353
|
key: 4,
|
|
71883
73354
|
id: "generatedCode",
|
|
@@ -71886,13 +73357,15 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
71886
73357
|
"initial-position": "right",
|
|
71887
73358
|
"allow-free-move": true,
|
|
71888
73359
|
"allow-full-screen": true,
|
|
71889
|
-
"on-minize": () => unref(nodeStore).setCodeGeneratorVisibility(false)
|
|
73360
|
+
"on-minize": () => unref(nodeStore).setCodeGeneratorVisibility(false),
|
|
73361
|
+
"prevent-overlap": false
|
|
71890
73362
|
}, {
|
|
71891
73363
|
default: withCtx(() => [
|
|
71892
73364
|
createVNode(CodeGenerator)
|
|
71893
73365
|
]),
|
|
71894
73366
|
_: 1
|
|
71895
|
-
}, 8, ["on-minize"])) : createCommentVNode("", true)
|
|
73367
|
+
}, 8, ["on-minize"])) : createCommentVNode("", true),
|
|
73368
|
+
createVNode(layoutControls, { onResetLayoutGraph: handleResetLayoutGraph })
|
|
71896
73369
|
]);
|
|
71897
73370
|
};
|
|
71898
73371
|
}
|
|
@@ -72261,18 +73734,20 @@ const _hoisted_1 = {
|
|
|
72261
73734
|
key: 0,
|
|
72262
73735
|
class: "header"
|
|
72263
73736
|
};
|
|
72264
|
-
const _hoisted_2 = { class: "
|
|
72265
|
-
const _hoisted_3 = { class: "
|
|
72266
|
-
const _hoisted_4 = { class: "
|
|
72267
|
-
const _hoisted_5 = {
|
|
73737
|
+
const _hoisted_2 = { class: "header-top" };
|
|
73738
|
+
const _hoisted_3 = { class: "left-section" };
|
|
73739
|
+
const _hoisted_4 = { class: "header-bottom" };
|
|
73740
|
+
const _hoisted_5 = { class: "middle-section" };
|
|
73741
|
+
const _hoisted_6 = { class: "right-section" };
|
|
73742
|
+
const _hoisted_7 = {
|
|
72268
73743
|
key: 1,
|
|
72269
73744
|
class: "loading-state"
|
|
72270
73745
|
};
|
|
72271
|
-
const
|
|
73746
|
+
const _hoisted_8 = {
|
|
72272
73747
|
key: 2,
|
|
72273
73748
|
class: "empty-state"
|
|
72274
73749
|
};
|
|
72275
|
-
const
|
|
73750
|
+
const _hoisted_9 = { class: "empty-state-content" };
|
|
72276
73751
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
72277
73752
|
__name: "designer",
|
|
72278
73753
|
setup(__props) {
|
|
@@ -72386,6 +73861,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
72386
73861
|
headerButtons.value.openOpenDialog();
|
|
72387
73862
|
}
|
|
72388
73863
|
};
|
|
73864
|
+
const openQuickCreateDialog = () => {
|
|
73865
|
+
if (headerButtons.value) {
|
|
73866
|
+
console.log("Opening quick create dialog");
|
|
73867
|
+
headerButtons.value.handleQuickCreateAction();
|
|
73868
|
+
}
|
|
73869
|
+
};
|
|
72389
73870
|
const initialSetup = async () => {
|
|
72390
73871
|
if (initialLoadComplete.value) {
|
|
72391
73872
|
console.log("Initial setup already completed");
|
|
@@ -72431,34 +73912,38 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
72431
73912
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
72432
73913
|
!isLoading.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
|
|
72433
73914
|
createBaseVNode("div", _hoisted_2, [
|
|
72434
|
-
|
|
72435
|
-
|
|
72436
|
-
|
|
72437
|
-
|
|
72438
|
-
|
|
72439
|
-
|
|
72440
|
-
|
|
72441
|
-
|
|
72442
|
-
createVNode(FlowSelector, {
|
|
72443
|
-
ref_key: "flowSelector",
|
|
72444
|
-
ref: flowSelector,
|
|
72445
|
-
onFlowChanged: handleFlowChange,
|
|
72446
|
-
onCloseTab: handleCloseFlow
|
|
72447
|
-
}, null, 512)
|
|
73915
|
+
createBaseVNode("div", _hoisted_3, [
|
|
73916
|
+
createVNode(HeaderButtons, {
|
|
73917
|
+
ref_key: "headerButtons",
|
|
73918
|
+
ref: headerButtons,
|
|
73919
|
+
onOpenFlow: openFlow,
|
|
73920
|
+
onRefreshFlow: refreshFlow
|
|
73921
|
+
}, null, 512)
|
|
73922
|
+
])
|
|
72448
73923
|
]),
|
|
72449
73924
|
createBaseVNode("div", _hoisted_4, [
|
|
72450
|
-
|
|
73925
|
+
createBaseVNode("div", _hoisted_5, [
|
|
73926
|
+
createVNode(FlowSelector, {
|
|
73927
|
+
ref_key: "flowSelector",
|
|
73928
|
+
ref: flowSelector,
|
|
73929
|
+
onFlowChanged: handleFlowChange,
|
|
73930
|
+
onCloseTab: handleCloseFlow
|
|
73931
|
+
}, null, 512)
|
|
73932
|
+
]),
|
|
73933
|
+
createBaseVNode("div", _hoisted_6, [
|
|
73934
|
+
createVNode(Status)
|
|
73935
|
+
])
|
|
72451
73936
|
])
|
|
72452
73937
|
])) : createCommentVNode("", true),
|
|
72453
|
-
isLoading.value ? (openBlock(), createElementBlock("div",
|
|
73938
|
+
isLoading.value ? (openBlock(), createElementBlock("div", _hoisted_7, _cache[2] || (_cache[2] = [
|
|
72454
73939
|
createBaseVNode("div", { class: "loading-state-content" }, [
|
|
72455
73940
|
createBaseVNode("p", null, "Loading flows...")
|
|
72456
73941
|
], -1)
|
|
72457
|
-
]))) : !isLoading.value && flowsActive.value.length === 0 ? (openBlock(), createElementBlock("div",
|
|
72458
|
-
createBaseVNode("div",
|
|
72459
|
-
_cache[
|
|
72460
|
-
_cache[
|
|
72461
|
-
_cache[
|
|
73942
|
+
]))) : !isLoading.value && flowsActive.value.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_8, [
|
|
73943
|
+
createBaseVNode("div", _hoisted_9, [
|
|
73944
|
+
_cache[6] || (_cache[6] = createBaseVNode("span", { class: "material-icons empty-icon" }, "account_tree", -1)),
|
|
73945
|
+
_cache[7] || (_cache[7] = createBaseVNode("h2", null, "No Active Flows", -1)),
|
|
73946
|
+
_cache[8] || (_cache[8] = createBaseVNode("p", null, "There are currently no active flows in the system.", -1)),
|
|
72462
73947
|
createVNode(_component_el_button, {
|
|
72463
73948
|
type: "primary",
|
|
72464
73949
|
class: "action-button",
|
|
@@ -72482,6 +73967,18 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
72482
73967
|
])),
|
|
72483
73968
|
_: 1,
|
|
72484
73969
|
__: [4]
|
|
73970
|
+
}),
|
|
73971
|
+
createVNode(_component_el_button, {
|
|
73972
|
+
type: "primary",
|
|
73973
|
+
class: "action-button",
|
|
73974
|
+
onClick: openQuickCreateDialog
|
|
73975
|
+
}, {
|
|
73976
|
+
default: withCtx(() => _cache[5] || (_cache[5] = [
|
|
73977
|
+
createBaseVNode("span", { class: "material-icons" }, "folder_open", -1),
|
|
73978
|
+
createTextVNode(" Quick create ")
|
|
73979
|
+
])),
|
|
73980
|
+
_: 1,
|
|
73981
|
+
__: [5]
|
|
72485
73982
|
})
|
|
72486
73983
|
])
|
|
72487
73984
|
])) : (openBlock(), createBlock(_sfc_main$4, {
|
|
@@ -72502,8 +73999,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
72502
73999
|
};
|
|
72503
74000
|
}
|
|
72504
74001
|
});
|
|
72505
|
-
const
|
|
72506
|
-
const designer = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
74002
|
+
const designer_vue_vue_type_style_index_0_scoped_24dbaac4_lang = "";
|
|
74003
|
+
const designer = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-24dbaac4"]]);
|
|
72507
74004
|
const designer$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
72508
74005
|
__proto__: null,
|
|
72509
74006
|
default: designer
|
|
@@ -72511,7 +74008,6 @@ const designer$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePr
|
|
|
72511
74008
|
export {
|
|
72512
74009
|
FileBrowser as F,
|
|
72513
74010
|
designer$1 as d,
|
|
72514
|
-
getImageUrl as g,
|
|
72515
74011
|
info_filled_default as i,
|
|
72516
74012
|
oneDark as o,
|
|
72517
74013
|
python as p,
|