Flowfile 0.3.9__py3-none-any.whl → 0.3.10__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.

Files changed (138) hide show
  1. flowfile/__init__.py +1 -1
  2. flowfile/api.py +0 -1
  3. flowfile/web/static/assets/{CloudConnectionManager-c97c25f8.js → CloudConnectionManager-d7c2c028.js} +2 -2
  4. flowfile/web/static/assets/{CloudStorageReader-f1ff509e.js → CloudStorageReader-d467329f.js} +11 -78
  5. flowfile/web/static/assets/{CloudStorageWriter-034f8b78.js → CloudStorageWriter-071b8b00.js} +12 -79
  6. flowfile/web/static/assets/{CloudStorageWriter-49c9a4b2.css → CloudStorageWriter-b0ee067f.css} +24 -24
  7. flowfile/web/static/assets/ContextMenu-2dea5e27.js +41 -0
  8. flowfile/web/static/assets/{SettingsSection-9c836ecc.css → ContextMenu-4c74eef1.css} +0 -21
  9. flowfile/web/static/assets/ContextMenu-63cfa99b.css +26 -0
  10. flowfile/web/static/assets/ContextMenu-785554c4.js +41 -0
  11. flowfile/web/static/assets/ContextMenu-a51e19ea.js +41 -0
  12. flowfile/web/static/assets/ContextMenu-c13f91d0.css +26 -0
  13. flowfile/web/static/assets/{CrossJoin-41efa4cb.css → CrossJoin-1119d18e.css} +18 -18
  14. flowfile/web/static/assets/{CrossJoin-9e156ebe.js → CrossJoin-cf68ec7a.js} +14 -84
  15. flowfile/web/static/assets/{DatabaseConnectionSettings-d5c625b3.js → DatabaseConnectionSettings-435c5dd8.js} +3 -3
  16. flowfile/web/static/assets/{DatabaseManager-265adc5e.js → DatabaseManager-349e33a8.js} +2 -2
  17. flowfile/web/static/assets/{DatabaseReader-0b10551e.js → DatabaseReader-8075bd28.js} +14 -114
  18. flowfile/web/static/assets/{DatabaseReader-f50c6558.css → DatabaseReader-ae61773c.css} +0 -27
  19. flowfile/web/static/assets/{DatabaseWriter-c17c6916.js → DatabaseWriter-3e2dda89.js} +13 -74
  20. flowfile/web/static/assets/{ExploreData-5bdae813.css → ExploreData-2d0cf4db.css} +8 -14
  21. flowfile/web/static/assets/ExploreData-76ec698c.js +192 -0
  22. flowfile/web/static/assets/{ExternalSource-3a66556c.js → ExternalSource-609a265c.js} +8 -79
  23. flowfile/web/static/assets/{Filter-91ad87e7.js → Filter-97cff793.js} +12 -85
  24. flowfile/web/static/assets/{Filter-a9d08ba1.css → Filter-f62091b3.css} +3 -3
  25. flowfile/web/static/assets/{Formula-3c395ab1.js → Formula-09de0ec9.js} +18 -85
  26. flowfile/web/static/assets/{Formula-29f19d21.css → Formula-bb96803d.css} +4 -4
  27. flowfile/web/static/assets/{FuzzyMatch-6857de82.css → FuzzyMatch-1010f966.css} +42 -42
  28. flowfile/web/static/assets/{FuzzyMatch-2df0d230.js → FuzzyMatch-bdf70248.js} +16 -87
  29. flowfile/web/static/assets/{GraphSolver-d285877f.js → GraphSolver-0b5a0e05.js} +13 -159
  30. flowfile/web/static/assets/GraphSolver-f0cb7bfb.css +22 -0
  31. flowfile/web/static/assets/{Unique-b5615727.css → GroupBy-b9505323.css} +8 -8
  32. flowfile/web/static/assets/{GroupBy-0bd1cc6b.js → GroupBy-eaddadde.js} +12 -75
  33. flowfile/web/static/assets/{Join-5a78a203.js → Join-3313371b.js} +15 -85
  34. flowfile/web/static/assets/{Join-f45eff22.css → Join-fd79b451.css} +20 -20
  35. flowfile/web/static/assets/{ManualInput-a71b52c6.css → ManualInput-3246a08d.css} +20 -20
  36. flowfile/web/static/assets/{ManualInput-93aef9d6.js → ManualInput-e8bfc0be.js} +11 -82
  37. flowfile/web/static/assets/{Output-411ecaee.js → Output-7303bb09.js} +13 -243
  38. flowfile/web/static/assets/Output-ddc9079f.css +37 -0
  39. flowfile/web/static/assets/{Pivot-89db4b04.js → Pivot-3b1c54ef.js} +14 -138
  40. flowfile/web/static/assets/Pivot-cf333e3d.css +22 -0
  41. flowfile/web/static/assets/PivotValidation-3bb36c8f.js +61 -0
  42. flowfile/web/static/assets/PivotValidation-891ddfb0.css +13 -0
  43. flowfile/web/static/assets/PivotValidation-c46cd420.css +13 -0
  44. flowfile/web/static/assets/PivotValidation-eaa819c0.js +61 -0
  45. flowfile/web/static/assets/{PolarsCode-a9f974f8.js → PolarsCode-aa12e25d.js} +13 -80
  46. flowfile/web/static/assets/Read-6b17491f.css +62 -0
  47. flowfile/web/static/assets/Read-a2bfc618.js +243 -0
  48. flowfile/web/static/assets/RecordCount-aa0dc082.js +53 -0
  49. flowfile/web/static/assets/{RecordId-55ae7d36.js → RecordId-48ee1a3b.js} +8 -80
  50. flowfile/web/static/assets/SQLQueryComponent-36cef432.css +27 -0
  51. flowfile/web/static/assets/SQLQueryComponent-e149dbf2.js +38 -0
  52. flowfile/web/static/assets/{Sample-b4a18476.js → Sample-f06cb97a.js} +8 -77
  53. flowfile/web/static/assets/{SecretManager-b066d13a.js → SecretManager-37f34886.js} +2 -2
  54. flowfile/web/static/assets/{Select-727688dc.js → Select-b60e6c47.js} +11 -85
  55. flowfile/web/static/assets/SettingsSection-2e4d03c4.css +21 -0
  56. flowfile/web/static/assets/SettingsSection-5c696bee.css +20 -0
  57. flowfile/web/static/assets/SettingsSection-70e5a7b1.js +53 -0
  58. flowfile/web/static/assets/SettingsSection-71e6b7e3.css +21 -0
  59. flowfile/web/static/assets/{SettingsSection-695ac487.js → SettingsSection-75b6cf4f.js} +2 -40
  60. flowfile/web/static/assets/SettingsSection-e57a672e.js +45 -0
  61. flowfile/web/static/assets/{GroupBy-ab1ea74b.css → Sort-3643d625.css} +8 -8
  62. flowfile/web/static/assets/{Sort-be3339a8.js → Sort-51b1ee4d.js} +12 -97
  63. flowfile/web/static/assets/{TextToRows-7b8998da.js → TextToRows-26835f8f.js} +14 -83
  64. flowfile/web/static/assets/{TextToRows-c92d1ec2.css → TextToRows-5d2c1190.css} +9 -9
  65. flowfile/web/static/assets/{UnavailableFields-8b0cb48e.js → UnavailableFields-88a4cd0c.js} +2 -2
  66. flowfile/web/static/assets/Union-4d0088eb.js +77 -0
  67. flowfile/web/static/assets/{Union-8d9ac7f9.css → Union-af6c3d9b.css} +6 -6
  68. flowfile/web/static/assets/{Unique-af5a80b4.js → Unique-7d554a62.js} +22 -91
  69. flowfile/web/static/assets/{Sort-7ccfa0fe.css → Unique-f9fb0809.css} +8 -8
  70. flowfile/web/static/assets/Unpivot-1e422df3.css +30 -0
  71. flowfile/web/static/assets/{Unpivot-5195d411.js → Unpivot-4668595c.js} +12 -166
  72. flowfile/web/static/assets/UnpivotValidation-0d240eeb.css +13 -0
  73. flowfile/web/static/assets/UnpivotValidation-d4f0e0e8.js +51 -0
  74. flowfile/web/static/assets/{ExploreData-18a4fe52.js → VueGraphicWalker-5324d566.js} +4 -264
  75. flowfile/web/static/assets/VueGraphicWalker-ed5ab88b.css +6 -0
  76. flowfile/web/static/assets/{api-cb00cce6.js → api-271ed117.js} +1 -1
  77. flowfile/web/static/assets/{api-023d1733.js → api-31e4fea6.js} +1 -1
  78. flowfile/web/static/assets/{designer-2197d782.css → designer-091bdc3f.css} +819 -184
  79. flowfile/web/static/assets/{designer-6c322d8e.js → designer-bf3d9487.js} +2191 -703
  80. flowfile/web/static/assets/{documentation-4d1fafe1.js → documentation-4d0a1cea.js} +1 -1
  81. flowfile/web/static/assets/{dropDown-0b46dd77.js → dropDown-025888df.js} +1 -1
  82. flowfile/web/static/assets/{fullEditor-ec4e4f95.js → fullEditor-1df991ec.js} +2 -2
  83. flowfile/web/static/assets/{genericNodeSettings-def5879b.js → genericNodeSettings-d3b2b2ac.js} +3 -3
  84. flowfile/web/static/assets/{index-683fc198.js → index-d0518598.js} +210 -31
  85. flowfile/web/static/assets/{Output-48f81019.css → outputCsv-9cc59e0b.css} +0 -143
  86. flowfile/web/static/assets/outputCsv-d8457527.js +86 -0
  87. flowfile/web/static/assets/outputExcel-b41305c0.css +102 -0
  88. flowfile/web/static/assets/outputExcel-be89153e.js +56 -0
  89. flowfile/web/static/assets/outputParquet-cf8cf3f2.css +4 -0
  90. flowfile/web/static/assets/outputParquet-fabb445a.js +31 -0
  91. flowfile/web/static/assets/readCsv-bca3ed53.css +52 -0
  92. flowfile/web/static/assets/readCsv-e8359522.js +178 -0
  93. flowfile/web/static/assets/readExcel-dabaf51b.js +203 -0
  94. flowfile/web/static/assets/readExcel-e1b381ea.css +64 -0
  95. flowfile/web/static/assets/readParquet-cee068e2.css +19 -0
  96. flowfile/web/static/assets/readParquet-e0771ef2.js +26 -0
  97. flowfile/web/static/assets/{secretApi-baceb6f9.js → secretApi-ce823eee.js} +1 -1
  98. flowfile/web/static/assets/{selectDynamic-de91449a.js → selectDynamic-5476546e.js} +7 -7
  99. flowfile/web/static/assets/{selectDynamic-b062bc9b.css → selectDynamic-aa913ff4.css} +16 -16
  100. flowfile/web/static/assets/{vue-codemirror.esm-dc5e3348.js → vue-codemirror.esm-9ed00d50.js} +29 -33
  101. flowfile/web/static/assets/{vue-content-loader.es-ba94b82f.js → vue-content-loader.es-7bca2d9b.js} +1 -1
  102. flowfile/web/static/index.html +1 -1
  103. {flowfile-0.3.9.dist-info → flowfile-0.3.10.dist-info}/METADATA +1 -1
  104. {flowfile-0.3.9.dist-info → flowfile-0.3.10.dist-info}/RECORD +129 -97
  105. flowfile_core/configs/flow_logger.py +5 -13
  106. flowfile_core/configs/node_store/nodes.py +303 -44
  107. flowfile_core/configs/settings.py +2 -1
  108. flowfile_core/database/connection.py +5 -21
  109. flowfile_core/fileExplorer/funcs.py +239 -121
  110. flowfile_core/flowfile/flow_data_engine/subprocess_operations/subprocess_operations.py +28 -8
  111. flowfile_core/flowfile/flow_graph.py +97 -33
  112. flowfile_core/flowfile/flow_node/flow_node.py +41 -9
  113. flowfile_core/flowfile/handler.py +22 -3
  114. flowfile_core/flowfile/schema_callbacks.py +8 -4
  115. flowfile_core/flowfile/setting_generator/settings.py +0 -1
  116. flowfile_core/main.py +4 -1
  117. flowfile_core/routes/routes.py +59 -10
  118. flowfile_core/schemas/input_schema.py +0 -1
  119. flowfile_core/schemas/output_model.py +5 -2
  120. flowfile_core/schemas/schemas.py +2 -0
  121. flowfile_core/schemas/transform_schema.py +1 -0
  122. flowfile_worker/__init__.py +6 -35
  123. flowfile_worker/main.py +5 -2
  124. flowfile_worker/routes.py +47 -5
  125. shared/__init__.py +15 -0
  126. shared/storage_config.py +243 -0
  127. flowfile/web/static/assets/GraphSolver-17fd26db.css +0 -68
  128. flowfile/web/static/assets/Pivot-f415e85f.css +0 -35
  129. flowfile/web/static/assets/Read-80dc1675.css +0 -197
  130. flowfile/web/static/assets/Read-c3b1929c.js +0 -701
  131. flowfile/web/static/assets/RecordCount-4e95f98e.js +0 -122
  132. flowfile/web/static/assets/Union-89fd73dc.js +0 -146
  133. flowfile/web/static/assets/Unpivot-246e9bbd.css +0 -77
  134. flowfile/web/static/assets/nodeTitle-a16db7c3.js +0 -227
  135. flowfile/web/static/assets/nodeTitle-f4b12bcb.css +0 -134
  136. {flowfile-0.3.9.dist-info → flowfile-0.3.10.dist-info}/LICENSE +0 -0
  137. {flowfile-0.3.9.dist-info → flowfile-0.3.10.dist-info}/WHEEL +0 -0
  138. {flowfile-0.3.9.dist-info → flowfile-0.3.10.dist-info}/entry_points.txt +0 -0
flowfile/__init__.py CHANGED
@@ -7,7 +7,7 @@ This package ties together the FlowFile ecosystem components:
7
7
  - flowfile_worker: Computation engine
8
8
  """
9
9
 
10
- __version__ = "0.3.9"
10
+ __version__ = "0.3.10"
11
11
 
12
12
  import os
13
13
  import logging
flowfile/api.py CHANGED
@@ -455,7 +455,6 @@ def open_graph_in_editor(flow_graph: FlowGraph, storage_location: Optional[str]
455
455
  return False
456
456
 
457
457
  flow_id = import_flow_to_editor(flow_file_path, auth_token)
458
- print(flow_id, "flow_id", flow_in_single_mode, automatically_open_browser)
459
458
  if flow_id is not None:
460
459
  if flow_in_single_mode and automatically_open_browser:
461
460
  _open_flow_in_browser(flow_id)
@@ -1,5 +1,5 @@
1
- import { f as fetchCloudStorageConnectionsInterfaces, c as createCloudStorageConnectionApi, d as deleteCloudStorageConnectionApi } from "./api-cb00cce6.js";
2
- import { d as defineComponent, r as ref, m as watch, l as computed, c as openBlock, e as createElementBlock, p as createBaseVNode, a5 as withDirectives, a6 as vModelText, ag as vModelSelect, F as Fragment, q as renderList, t as toDisplayString, i as createCommentVNode, ah as vModelDynamic, s as normalizeClass, ai as vModelCheckbox, v as withModifiers, n as onMounted, g as createTextVNode, f as createVNode, w as withCtx, u as unref, z as ElMessage, aj as ElDialog, ak as ElButton, _ as _export_sfc } from "./index-683fc198.js";
1
+ import { f as fetchCloudStorageConnectionsInterfaces, c as createCloudStorageConnectionApi, d as deleteCloudStorageConnectionApi } from "./api-271ed117.js";
2
+ import { d as defineComponent, r as ref, m as watch, l as computed, c as openBlock, e as createElementBlock, p as createBaseVNode, a8 as withDirectives, a9 as vModelText, ak as vModelSelect, F as Fragment, q as renderList, t as toDisplayString, i as createCommentVNode, al as vModelDynamic, s as normalizeClass, am as vModelCheckbox, v as withModifiers, n as onMounted, g as createTextVNode, f as createVNode, w as withCtx, u as unref, z as ElMessage, an as ElDialog, ao as ElButton, _ as _export_sfc } from "./index-d0518598.js";
3
3
  const _hoisted_1$1 = { class: "form-grid" };
4
4
  const _hoisted_2$1 = { class: "form-field" };
5
5
  const _hoisted_3$1 = { class: "form-field" };
@@ -1,10 +1,9 @@
1
- import { d as defineComponent, r as ref, c as openBlock, e as createElementBlock, f as createVNode, w as withCtx, p as createBaseVNode, a5 as withDirectives, F as Fragment, q as renderList, t as toDisplayString, ag as vModelSelect, g as createTextVNode, i as createCommentVNode, a6 as vModelText, ai as vModelCheckbox, h as createBlock, u as unref, z as ElMessage, _ as _export_sfc, n as onMounted, R as nextTick, a7 as Teleport } from "./index-683fc198.js";
2
- import { C as CodeLoader } from "./vue-content-loader.es-ba94b82f.js";
3
- import { u as useNodeStore } from "./vue-codemirror.esm-dc5e3348.js";
4
- import { f as fetchCloudStorageConnectionsInterfaces } from "./api-cb00cce6.js";
5
- import { G as GenericNodeSettings } from "./genericNodeSettings-def5879b.js";
6
- import { N as NodeButton, a as NodeTitle } from "./nodeTitle-a16db7c3.js";
7
- import "./designer-6c322d8e.js";
1
+ import { d as defineComponent, r as ref, c as openBlock, e as createElementBlock, f as createVNode, w as withCtx, p as createBaseVNode, a8 as withDirectives, ak as vModelSelect, F as Fragment, q as renderList, t as toDisplayString, g as createTextVNode, i as createCommentVNode, a9 as vModelText, am as vModelCheckbox, h as createBlock, u as unref, z as ElMessage, _ as _export_sfc } from "./index-d0518598.js";
2
+ import { C as CodeLoader } from "./vue-content-loader.es-7bca2d9b.js";
3
+ import { u as useNodeStore } from "./vue-codemirror.esm-9ed00d50.js";
4
+ import { f as fetchCloudStorageConnectionsInterfaces } from "./api-271ed117.js";
5
+ import { G as GenericNodeSettings } from "./genericNodeSettings-d3b2b2ac.js";
6
+ import "./designer-bf3d9487.js";
8
7
  const createNodeCloudStorageReader = (flowId, nodeId) => {
9
8
  const cloudStorageReadSettings = {
10
9
  auth_mode: "aws-cli",
@@ -26,7 +25,7 @@ const createNodeCloudStorageReader = (flowId, nodeId) => {
26
25
  };
27
26
  return nodePolarsCode;
28
27
  };
29
- const _hoisted_1$1 = {
28
+ const _hoisted_1 = {
30
29
  key: 0,
31
30
  class: "cloud-storage-container"
32
31
  };
@@ -67,7 +66,7 @@ const _hoisted_20 = {
67
66
  key: 3,
68
67
  class: "info-box"
69
68
  };
70
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
69
+ const _sfc_main = /* @__PURE__ */ defineComponent({
71
70
  __name: "CloudStorageReader",
72
71
  props: {
73
72
  nodeId: {}
@@ -202,7 +201,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
202
201
  pushNodeData
203
202
  });
204
203
  return (_ctx, _cache) => {
205
- return dataLoaded.value && nodeCloudStorageReader.value ? (openBlock(), createElementBlock("div", _hoisted_1$1, [
204
+ return dataLoaded.value && nodeCloudStorageReader.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
206
205
  createVNode(GenericNodeSettings, {
207
206
  modelValue: nodeCloudStorageReader.value,
208
207
  "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => nodeCloudStorageReader.value = $event)
@@ -365,73 +364,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
365
364
  }
366
365
  });
367
366
  const CloudStorageReader_vue_vue_type_style_index_0_scoped_8f1c7f30_lang = "";
368
- const CloudStorageReader = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-8f1c7f30"]]);
369
- const _hoisted_1 = { ref: "el" };
370
- const _sfc_main = /* @__PURE__ */ defineComponent({
371
- __name: "CloudStorageReader",
372
- props: {
373
- nodeId: {
374
- type: Number,
375
- required: true
376
- }
377
- },
378
- setup(__props) {
379
- const nodeStore = useNodeStore();
380
- const childComp = ref(null);
381
- const props = __props;
382
- const drawer = ref(false);
383
- const closeOnDrawer = () => {
384
- var _a;
385
- drawer.value = false;
386
- (_a = childComp.value) == null ? void 0 : _a.pushNodeData();
387
- };
388
- const openDrawer = async () => {
389
- if (nodeStore.node_id === props.nodeId) {
390
- return;
391
- }
392
- nodeStore.closeDrawer();
393
- drawer.value = true;
394
- const drawerOpen = nodeStore.isDrawerOpen;
395
- nodeStore.isDrawerOpen = true;
396
- await nextTick();
397
- if (nodeStore.node_id === props.nodeId && drawerOpen) {
398
- return;
399
- }
400
- if (childComp.value) {
401
- childComp.value.loadNodeData(props.nodeId);
402
- nodeStore.openDrawer(closeOnDrawer);
403
- }
404
- };
405
- onMounted(async () => {
406
- await nextTick();
407
- });
408
- return (_ctx, _cache) => {
409
- return openBlock(), createElementBlock("div", _hoisted_1, [
410
- createVNode(NodeButton, {
411
- ref: "nodeButton",
412
- "node-id": __props.nodeId,
413
- "image-src": "cloud_storage_reader.png",
414
- title: `${__props.nodeId}: Cloud storage reader`,
415
- onClick: openDrawer
416
- }, null, 8, ["node-id", "title"]),
417
- drawer.value ? (openBlock(), createBlock(Teleport, {
418
- key: 0,
419
- to: "#nodesettings"
420
- }, [
421
- createVNode(NodeTitle, {
422
- title: "Read data from cloud provider",
423
- intro: "Read data from cloud provider"
424
- }),
425
- createVNode(CloudStorageReader, {
426
- ref_key: "childComp",
427
- ref: childComp,
428
- "node-id": __props.nodeId
429
- }, null, 8, ["node-id"])
430
- ])) : createCommentVNode("", true)
431
- ], 512);
432
- };
433
- }
434
- });
367
+ const CloudStorageReader = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-8f1c7f30"]]);
435
368
  export {
436
- _sfc_main as default
369
+ CloudStorageReader as default
437
370
  };
@@ -1,10 +1,9 @@
1
- import { d as defineComponent, r as ref, c as openBlock, e as createElementBlock, f as createVNode, w as withCtx, p as createBaseVNode, a5 as withDirectives, F as Fragment, q as renderList, t as toDisplayString, ag as vModelSelect, g as createTextVNode, i as createCommentVNode, a6 as vModelText, h as createBlock, u as unref, z as ElMessage, _ as _export_sfc, n as onMounted, R as nextTick, a7 as Teleport } from "./index-683fc198.js";
2
- import { C as CodeLoader } from "./vue-content-loader.es-ba94b82f.js";
3
- import { u as useNodeStore } from "./vue-codemirror.esm-dc5e3348.js";
4
- import { f as fetchCloudStorageConnectionsInterfaces } from "./api-cb00cce6.js";
5
- import { G as GenericNodeSettings } from "./genericNodeSettings-def5879b.js";
6
- import { N as NodeButton, a as NodeTitle } from "./nodeTitle-a16db7c3.js";
7
- import "./designer-6c322d8e.js";
1
+ import { d as defineComponent, r as ref, c as openBlock, e as createElementBlock, f as createVNode, w as withCtx, p as createBaseVNode, a8 as withDirectives, ak as vModelSelect, F as Fragment, q as renderList, t as toDisplayString, g as createTextVNode, i as createCommentVNode, a9 as vModelText, h as createBlock, u as unref, z as ElMessage, _ as _export_sfc } from "./index-d0518598.js";
2
+ import { C as CodeLoader } from "./vue-content-loader.es-7bca2d9b.js";
3
+ import { u as useNodeStore } from "./vue-codemirror.esm-9ed00d50.js";
4
+ import { f as fetchCloudStorageConnectionsInterfaces } from "./api-271ed117.js";
5
+ import { G as GenericNodeSettings } from "./genericNodeSettings-d3b2b2ac.js";
6
+ import "./designer-bf3d9487.js";
8
7
  const createNodeCloudStorageWriter = (flowId, nodeId) => {
9
8
  const cloudStorageWriteSettings = {
10
9
  auth_mode: "aws-cli",
@@ -28,7 +27,7 @@ const createNodeCloudStorageWriter = (flowId, nodeId) => {
28
27
  };
29
28
  return nodeWriter;
30
29
  };
31
- const _hoisted_1$1 = {
30
+ const _hoisted_1 = {
32
31
  key: 0,
33
32
  class: "cloud-storage-container"
34
33
  };
@@ -72,7 +71,7 @@ const _hoisted_20 = {
72
71
  key: 3,
73
72
  class: "info-box"
74
73
  };
75
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
74
+ const _sfc_main = /* @__PURE__ */ defineComponent({
76
75
  __name: "CloudStorageWriter",
77
76
  props: {
78
77
  nodeId: {}
@@ -202,7 +201,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
202
201
  pushNodeData
203
202
  });
204
203
  return (_ctx, _cache) => {
205
- return dataLoaded.value && nodeCloudStorageWriter.value ? (openBlock(), createElementBlock("div", _hoisted_1$1, [
204
+ return dataLoaded.value && nodeCloudStorageWriter.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
206
205
  createVNode(GenericNodeSettings, {
207
206
  modelValue: nodeCloudStorageWriter.value,
208
207
  "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => nodeCloudStorageWriter.value = $event)
@@ -357,74 +356,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
357
356
  };
358
357
  }
359
358
  });
360
- const CloudStorageWriter_vue_vue_type_style_index_0_scoped_55743049_lang = "";
361
- const CloudStorageReader = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-55743049"]]);
362
- const _hoisted_1 = { ref: "el" };
363
- const _sfc_main = /* @__PURE__ */ defineComponent({
364
- __name: "CloudStorageWriter",
365
- props: {
366
- nodeId: {
367
- type: Number,
368
- required: true
369
- }
370
- },
371
- setup(__props) {
372
- const nodeStore = useNodeStore();
373
- const childComp = ref(null);
374
- const props = __props;
375
- const drawer = ref(false);
376
- const closeOnDrawer = () => {
377
- var _a;
378
- drawer.value = false;
379
- (_a = childComp.value) == null ? void 0 : _a.pushNodeData();
380
- };
381
- const openDrawer = async () => {
382
- if (nodeStore.node_id === props.nodeId) {
383
- return;
384
- }
385
- nodeStore.closeDrawer();
386
- drawer.value = true;
387
- const drawerOpen = nodeStore.isDrawerOpen;
388
- nodeStore.isDrawerOpen = true;
389
- await nextTick();
390
- if (nodeStore.node_id === props.nodeId && drawerOpen) {
391
- return;
392
- }
393
- if (childComp.value) {
394
- childComp.value.loadNodeData(props.nodeId);
395
- nodeStore.openDrawer(closeOnDrawer);
396
- }
397
- };
398
- onMounted(async () => {
399
- await nextTick();
400
- });
401
- return (_ctx, _cache) => {
402
- return openBlock(), createElementBlock("div", _hoisted_1, [
403
- createVNode(NodeButton, {
404
- ref: "nodeButton",
405
- "node-id": __props.nodeId,
406
- "image-src": "cloud_storage_writer.png",
407
- title: `${__props.nodeId}: Cloud storage writer`,
408
- onClick: openDrawer
409
- }, null, 8, ["node-id", "title"]),
410
- drawer.value ? (openBlock(), createBlock(Teleport, {
411
- key: 0,
412
- to: "#nodesettings"
413
- }, [
414
- createVNode(NodeTitle, {
415
- title: "Write data to cloud provider",
416
- intro: "Write data to cloud provider"
417
- }),
418
- createVNode(CloudStorageReader, {
419
- ref_key: "childComp",
420
- ref: childComp,
421
- "node-id": __props.nodeId
422
- }, null, 8, ["node-id"])
423
- ])) : createCommentVNode("", true)
424
- ], 512);
425
- };
426
- }
427
- });
359
+ const CloudStorageWriter_vue_vue_type_style_index_0_scoped_9ee12e64_lang = "";
360
+ const CloudStorageWriter = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-9ee12e64"]]);
428
361
  export {
429
- _sfc_main as default
362
+ CloudStorageWriter as default
430
363
  };
@@ -1,42 +1,42 @@
1
1
 
2
2
  /* Copied styles from the reader component for consistency */
3
- .cloud-storage-container[data-v-55743049] {
3
+ .cloud-storage-container[data-v-9ee12e64] {
4
4
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
5
5
  max-width: 100%;
6
6
  color: #333;
7
7
  }
8
- .section-subtitle[data-v-55743049] {
8
+ .section-subtitle[data-v-9ee12e64] {
9
9
  margin: 0 0 0.75rem 0;
10
10
  font-size: 0.95rem;
11
11
  font-weight: 600;
12
12
  color: #4a5568;
13
13
  }
14
- .subsection-title[data-v-55743049] {
14
+ .subsection-title[data-v-9ee12e64] {
15
15
  margin: 0.5rem 0 0.5rem 0;
16
16
  font-size: 0.875rem;
17
17
  font-weight: 600;
18
18
  color: #718096;
19
19
  }
20
- .format-options[data-v-55743049] {
20
+ .format-options[data-v-9ee12e64] {
21
21
  margin-top: 1rem;
22
22
  padding: 1rem;
23
23
  background-color: #f7fafc;
24
24
  border-radius: 4px;
25
25
  border: 1px solid #e2e8f0;
26
26
  }
27
- .form-row[data-v-55743049] {
27
+ .form-row[data-v-9ee12e64] {
28
28
  display: flex;
29
29
  gap: 0.75rem;
30
30
  margin-bottom: 0.75rem;
31
31
  width: 100%;
32
32
  box-sizing: border-box;
33
33
  }
34
- .half[data-v-55743049] {
34
+ .half[data-v-9ee12e64] {
35
35
  flex: 1;
36
36
  min-width: 0;
37
37
  max-width: calc(50% - 0.375rem);
38
38
  }
39
- .form-control[data-v-55743049] {
39
+ .form-control[data-v-9ee12e64] {
40
40
  width: 100%;
41
41
  padding: 0.5rem;
42
42
  border: 1px solid #e2e8f0;
@@ -44,18 +44,18 @@
44
44
  font-size: 0.875rem;
45
45
  box-sizing: border-box;
46
46
  }
47
- .form-group[data-v-55743049] {
47
+ .form-group[data-v-9ee12e64] {
48
48
  margin-bottom: 0.75rem;
49
49
  width: 100%;
50
50
  }
51
- label[data-v-55743049] {
51
+ label[data-v-9ee12e64] {
52
52
  display: block;
53
53
  margin-bottom: 0.25rem;
54
54
  font-size: 0.875rem;
55
55
  font-weight: 500;
56
56
  color: #4a5568;
57
57
  }
58
- select.form-control[data-v-55743049] {
58
+ select.form-control[data-v-9ee12e64] {
59
59
  appearance: none;
60
60
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234a5568' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
61
61
  background-repeat: no-repeat;
@@ -63,7 +63,7 @@ select.form-control[data-v-55743049] {
63
63
  background-size: 1em;
64
64
  padding-right: 2rem;
65
65
  }
66
- .info-box[data-v-55743049] {
66
+ .info-box[data-v-9ee12e64] {
67
67
  display: flex;
68
68
  gap: 0.75rem;
69
69
  padding: 0.75rem;
@@ -73,24 +73,24 @@ select.form-control[data-v-55743049] {
73
73
  margin-top: 1rem;
74
74
  font-size: 0.875rem;
75
75
  }
76
- .info-box.info-warn[data-v-55743049] {
76
+ .info-box.info-warn[data-v-9ee12e64] {
77
77
  background-color: #fffbe6;
78
78
  border-left-color: #faad14;
79
79
  }
80
- .info-box.info-warn i[data-v-55743049] {
80
+ .info-box.info-warn i[data-v-9ee12e64] {
81
81
  color: #faad14;
82
82
  }
83
- .info-box i[data-v-55743049] {
83
+ .info-box i[data-v-9ee12e64] {
84
84
  color: #1890ff;
85
85
  font-size: 1.25rem;
86
86
  flex-shrink: 0;
87
87
  padding-top: 2px;
88
88
  }
89
- .info-box p[data-v-55743049] {
89
+ .info-box p[data-v-9ee12e64] {
90
90
  margin: 0;
91
91
  color: #4a5568;
92
92
  }
93
- .helper-text[data-v-55743049] {
93
+ .helper-text[data-v-9ee12e64] {
94
94
  display: flex;
95
95
  align-items: center;
96
96
  gap: 0.5rem;
@@ -98,41 +98,41 @@ select.form-control[data-v-55743049] {
98
98
  font-size: 0.8125rem;
99
99
  color: #718096;
100
100
  }
101
- .helper-text i[data-v-55743049] {
101
+ .helper-text i[data-v-9ee12e64] {
102
102
  color: #4299e1;
103
103
  font-size: 0.875rem;
104
104
  }
105
- .loading-state[data-v-55743049] {
105
+ .loading-state[data-v-9ee12e64] {
106
106
  display: flex;
107
107
  flex-direction: column;
108
108
  align-items: center;
109
109
  gap: 0.5rem;
110
110
  padding: 1rem;
111
111
  }
112
- .loading-state p[data-v-55743049] {
112
+ .loading-state p[data-v-9ee12e64] {
113
113
  margin: 0;
114
114
  color: #718096;
115
115
  font-size: 0.875rem;
116
116
  }
117
- .loading-spinner[data-v-55743049] {
117
+ .loading-spinner[data-v-9ee12e64] {
118
118
  width: 2rem;
119
119
  height: 2rem;
120
120
  border: 2px solid #e2e8f0;
121
121
  border-top-color: #4299e1;
122
122
  border-radius: 50%;
123
- animation: spin-55743049 0.8s linear infinite;
123
+ animation: spin-9ee12e64 0.8s linear infinite;
124
124
  }
125
- @keyframes spin-55743049 {
125
+ @keyframes spin-9ee12e64 {
126
126
  to {
127
127
  transform: rotate(360deg);
128
128
  }
129
129
  }
130
130
  @media (max-width: 640px) {
131
- .form-row[data-v-55743049] {
131
+ .form-row[data-v-9ee12e64] {
132
132
  flex-direction: column;
133
133
  gap: 0.5rem;
134
134
  }
135
- .half[data-v-55743049] {
135
+ .half[data-v-9ee12e64] {
136
136
  max-width: 100%;
137
137
  }
138
138
  }
@@ -0,0 +1,41 @@
1
+ import { d as defineComponent, c as openBlock, e as createElementBlock, p as createBaseVNode, F as Fragment, q as renderList, s as normalizeClass, t as toDisplayString, T as normalizeStyle, _ as _export_sfc } from "./index-d0518598.js";
2
+ const _hoisted_1 = ["onClick"];
3
+ const _sfc_main = /* @__PURE__ */ defineComponent({
4
+ __name: "ContextMenu",
5
+ props: {
6
+ position: { type: Object, required: true },
7
+ options: {
8
+ type: Array,
9
+ required: true
10
+ }
11
+ },
12
+ emits: ["select", "close"],
13
+ setup(__props, { emit: __emit }) {
14
+ const emit = __emit;
15
+ const selectOption = (action) => {
16
+ emit("select", action);
17
+ emit("close");
18
+ };
19
+ return (_ctx, _cache) => {
20
+ return openBlock(), createElementBlock("div", {
21
+ class: "context-menu",
22
+ style: normalizeStyle({ top: __props.position.y + "px", left: __props.position.x + "px" })
23
+ }, [
24
+ createBaseVNode("ul", null, [
25
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.options, (option) => {
26
+ return openBlock(), createElementBlock("li", {
27
+ key: option.action,
28
+ class: normalizeClass({ disabled: option.disabled }),
29
+ onClick: ($event) => !option.disabled && selectOption(option.action)
30
+ }, toDisplayString(option.label), 11, _hoisted_1);
31
+ }), 128))
32
+ ])
33
+ ], 4);
34
+ };
35
+ }
36
+ });
37
+ const ContextMenu_vue_vue_type_style_index_0_scoped_d0286fd2_lang = "";
38
+ const ContextMenu = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d0286fd2"]]);
39
+ export {
40
+ ContextMenu as default
41
+ };
@@ -24,24 +24,3 @@
24
24
  .context-menu li[data-v-a562ba5e]:hover:not(.disabled) {
25
25
  background-color: #f0f0f0;
26
26
  }
27
-
28
- .items-container[data-v-89e3a043] {
29
- display: flex;
30
- flex-wrap: wrap;
31
- gap: 10px; /* Space between items */
32
- }
33
- .item-box[data-v-89e3a043] {
34
- display: flex;
35
- align-items: center;
36
- padding: 5px 10px;
37
- background-color: #f0f0f0;
38
- border-radius: 4px;
39
- font-size: 12px; /* Font size set to 12px */
40
- position: relative;
41
- }
42
- .remove-btn[data-v-89e3a043] {
43
- margin-left: 8px;
44
- cursor: pointer;
45
- color: #100f0f72;
46
- font-weight: bold;
47
- }
@@ -0,0 +1,26 @@
1
+
2
+ .context-menu[data-v-d0286fd2] {
3
+ position: fixed;
4
+ z-index: 1000;
5
+ border: 1px solid #ccc;
6
+ background-color: white;
7
+ box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
8
+ border-radius: 4px;
9
+ user-select: none;
10
+ }
11
+ .context-menu ul[data-v-d0286fd2] {
12
+ list-style: none;
13
+ padding: 0;
14
+ margin: 0;
15
+ }
16
+ .context-menu li[data-v-d0286fd2] {
17
+ padding: 8px 16px;
18
+ cursor: pointer;
19
+ }
20
+ .context-menu li.disabled[data-v-d0286fd2] {
21
+ color: #ccc;
22
+ cursor: not-allowed;
23
+ }
24
+ .context-menu li[data-v-d0286fd2]:hover:not(.disabled) {
25
+ background-color: #f0f0f0;
26
+ }
@@ -0,0 +1,41 @@
1
+ import { d as defineComponent, c as openBlock, e as createElementBlock, p as createBaseVNode, F as Fragment, q as renderList, s as normalizeClass, t as toDisplayString, T as normalizeStyle, _ as _export_sfc } from "./index-d0518598.js";
2
+ const _hoisted_1 = ["onClick"];
3
+ const _sfc_main = /* @__PURE__ */ defineComponent({
4
+ __name: "ContextMenu",
5
+ props: {
6
+ position: { type: Object, required: true },
7
+ options: {
8
+ type: Array,
9
+ required: true
10
+ }
11
+ },
12
+ emits: ["select", "close"],
13
+ setup(__props, { emit: __emit }) {
14
+ const emit = __emit;
15
+ const selectOption = (action) => {
16
+ emit("select", action);
17
+ emit("close");
18
+ };
19
+ return (_ctx, _cache) => {
20
+ return openBlock(), createElementBlock("div", {
21
+ class: "context-menu",
22
+ style: normalizeStyle({ top: __props.position.y + "px", left: __props.position.x + "px" })
23
+ }, [
24
+ createBaseVNode("ul", null, [
25
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.options, (option) => {
26
+ return openBlock(), createElementBlock("li", {
27
+ key: option.action,
28
+ class: normalizeClass({ disabled: option.disabled }),
29
+ onClick: ($event) => !option.disabled && selectOption(option.action)
30
+ }, toDisplayString(option.label), 11, _hoisted_1);
31
+ }), 128))
32
+ ])
33
+ ], 4);
34
+ };
35
+ }
36
+ });
37
+ const ContextMenu_vue_vue_type_style_index_0_scoped_4f9e01e5_lang = "";
38
+ const ContextMenu = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-4f9e01e5"]]);
39
+ export {
40
+ ContextMenu as default
41
+ };
@@ -0,0 +1,41 @@
1
+ import { d as defineComponent, c as openBlock, e as createElementBlock, p as createBaseVNode, F as Fragment, q as renderList, s as normalizeClass, t as toDisplayString, T as normalizeStyle, _ as _export_sfc } from "./index-d0518598.js";
2
+ const _hoisted_1 = ["onClick"];
3
+ const _sfc_main = /* @__PURE__ */ defineComponent({
4
+ __name: "ContextMenu",
5
+ props: {
6
+ position: { type: Object, required: true },
7
+ options: {
8
+ type: Array,
9
+ required: true
10
+ }
11
+ },
12
+ emits: ["select", "close"],
13
+ setup(__props, { emit: __emit }) {
14
+ const emit = __emit;
15
+ const selectOption = (action) => {
16
+ emit("select", action);
17
+ emit("close");
18
+ };
19
+ return (_ctx, _cache) => {
20
+ return openBlock(), createElementBlock("div", {
21
+ class: "context-menu",
22
+ style: normalizeStyle({ top: __props.position.y + "px", left: __props.position.x + "px" })
23
+ }, [
24
+ createBaseVNode("ul", null, [
25
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.options, (option) => {
26
+ return openBlock(), createElementBlock("li", {
27
+ key: option.action,
28
+ class: normalizeClass({ disabled: option.disabled }),
29
+ onClick: ($event) => !option.disabled && selectOption(option.action)
30
+ }, toDisplayString(option.label), 11, _hoisted_1);
31
+ }), 128))
32
+ ])
33
+ ], 4);
34
+ };
35
+ }
36
+ });
37
+ const ContextMenu_vue_vue_type_style_index_0_scoped_a562ba5e_lang = "";
38
+ const ContextMenu = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-a562ba5e"]]);
39
+ export {
40
+ ContextMenu as default
41
+ };
@@ -0,0 +1,26 @@
1
+
2
+ .context-menu[data-v-4f9e01e5] {
3
+ position: fixed;
4
+ z-index: 1000;
5
+ border: 1px solid #ccc;
6
+ background-color: white;
7
+ box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
8
+ border-radius: 4px;
9
+ user-select: none;
10
+ }
11
+ .context-menu ul[data-v-4f9e01e5] {
12
+ list-style: none;
13
+ padding: 0;
14
+ margin: 0;
15
+ }
16
+ .context-menu li[data-v-4f9e01e5] {
17
+ padding: 8px 16px;
18
+ cursor: pointer;
19
+ }
20
+ .context-menu li.disabled[data-v-4f9e01e5] {
21
+ color: #ccc;
22
+ cursor: not-allowed;
23
+ }
24
+ .context-menu li[data-v-4f9e01e5]:hover:not(.disabled) {
25
+ background-color: #f0f0f0;
26
+ }