Flowfile 0.3.10__py3-none-any.whl → 0.4.1__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.
Files changed (111) hide show
  1. flowfile/__init__.py +6 -1
  2. flowfile/api.py +1 -1
  3. flowfile/web/static/assets/{CloudConnectionManager-d7c2c028.js → CloudConnectionManager-d3248f8d.js} +2 -2
  4. flowfile/web/static/assets/{CloudStorageReader-d467329f.js → CloudStorageReader-d65bf041.js} +6 -6
  5. flowfile/web/static/assets/{CloudStorageWriter-071b8b00.js → CloudStorageWriter-e83be3ed.js} +6 -6
  6. flowfile/web/static/assets/ColumnSelector-47996a16.css +10 -0
  7. flowfile/web/static/assets/ColumnSelector-cce661cf.js +83 -0
  8. flowfile/web/static/assets/{ContextMenu-a51e19ea.js → ContextMenu-11a4652a.js} +1 -1
  9. flowfile/web/static/assets/{ContextMenu-2dea5e27.js → ContextMenu-160afb08.js} +1 -1
  10. flowfile/web/static/assets/{ContextMenu-785554c4.js → ContextMenu-cf18d2cc.js} +1 -1
  11. flowfile/web/static/assets/{CrossJoin-cf68ec7a.js → CrossJoin-d395d38c.js} +7 -7
  12. flowfile/web/static/assets/CustomNode-74a37f74.css +32 -0
  13. flowfile/web/static/assets/CustomNode-b812dc0b.js +211 -0
  14. flowfile/web/static/assets/{DatabaseConnectionSettings-435c5dd8.js → DatabaseConnectionSettings-7000bf2c.js} +2 -2
  15. flowfile/web/static/assets/{DatabaseManager-349e33a8.js → DatabaseManager-9662ec5b.js} +2 -2
  16. flowfile/web/static/assets/{DatabaseReader-8075bd28.js → DatabaseReader-4f035d0c.js} +9 -9
  17. flowfile/web/static/assets/{DatabaseWriter-3e2dda89.js → DatabaseWriter-f65dcd54.js} +8 -8
  18. flowfile/web/static/assets/{ExploreData-76ec698c.js → ExploreData-94c43dfc.js} +5 -5
  19. flowfile/web/static/assets/{ExternalSource-609a265c.js → ExternalSource-ac04b3cc.js} +5 -5
  20. flowfile/web/static/assets/{Filter-97cff793.js → Filter-812dcbca.js} +7 -7
  21. flowfile/web/static/assets/{Formula-09de0ec9.js → Formula-71472193.js} +9 -9
  22. flowfile/web/static/assets/{FuzzyMatch-bdf70248.js → FuzzyMatch-b317f631.js} +8 -8
  23. flowfile/web/static/assets/{GraphSolver-0b5a0e05.js → GraphSolver-754a234f.js} +6 -6
  24. flowfile/web/static/assets/{GroupBy-eaddadde.js → GroupBy-6c6f9802.js} +5 -5
  25. flowfile/web/static/assets/{Join-3313371b.js → Join-a1b800be.js} +8 -8
  26. flowfile/web/static/assets/{ManualInput-e8bfc0be.js → ManualInput-a9640276.js} +4 -4
  27. flowfile/web/static/assets/MultiSelect-97213888.js +5 -0
  28. flowfile/web/static/assets/MultiSelect.vue_vue_type_script_setup_true_lang-6ffe088a.js +63 -0
  29. flowfile/web/static/assets/NumericInput-e638088a.js +5 -0
  30. flowfile/web/static/assets/NumericInput.vue_vue_type_script_setup_true_lang-90eb2cba.js +35 -0
  31. flowfile/web/static/assets/{Output-7303bb09.js → Output-76750610.js} +6 -6
  32. flowfile/web/static/assets/{Pivot-3b1c54ef.js → Pivot-7814803f.js} +7 -7
  33. flowfile/web/static/assets/{PivotValidation-3bb36c8f.js → PivotValidation-76dd431a.js} +1 -1
  34. flowfile/web/static/assets/{PivotValidation-eaa819c0.js → PivotValidation-f92137d2.js} +1 -1
  35. flowfile/web/static/assets/{PolarsCode-aa12e25d.js → PolarsCode-889c3008.js} +5 -5
  36. flowfile/web/static/assets/{Read-a2bfc618.js → Read-637b72a7.js} +8 -8
  37. flowfile/web/static/assets/{RecordCount-aa0dc082.js → RecordCount-2b050c41.js} +4 -4
  38. flowfile/web/static/assets/{RecordId-48ee1a3b.js → RecordId-81df7784.js} +6 -6
  39. flowfile/web/static/assets/{SQLQueryComponent-e149dbf2.js → SQLQueryComponent-88dcfe53.js} +1 -1
  40. flowfile/web/static/assets/{Sample-f06cb97a.js → Sample-258ad2a9.js} +4 -4
  41. flowfile/web/static/assets/{SecretManager-37f34886.js → SecretManager-2a2cb7e2.js} +2 -2
  42. flowfile/web/static/assets/{Select-b60e6c47.js → Select-850215fd.js} +7 -7
  43. flowfile/web/static/assets/{SettingsSection-75b6cf4f.js → SettingsSection-0e8d9123.js} +1 -1
  44. flowfile/web/static/assets/{SettingsSection-e57a672e.js → SettingsSection-29b4fa6b.js} +1 -1
  45. flowfile/web/static/assets/{SettingsSection-70e5a7b1.js → SettingsSection-55bae608.js} +1 -1
  46. flowfile/web/static/assets/SingleSelect-bebd408b.js +5 -0
  47. flowfile/web/static/assets/SingleSelect.vue_vue_type_script_setup_true_lang-6093741c.js +62 -0
  48. flowfile/web/static/assets/SliderInput-6a05ab61.js +40 -0
  49. flowfile/web/static/assets/SliderInput-b8fb6a8c.css +4 -0
  50. flowfile/web/static/assets/{Sort-51b1ee4d.js → Sort-10ab48ed.js} +5 -5
  51. flowfile/web/static/assets/TextInput-df9d6259.js +5 -0
  52. flowfile/web/static/assets/TextInput.vue_vue_type_script_setup_true_lang-000e1178.js +32 -0
  53. flowfile/web/static/assets/{TextToRows-26835f8f.js → TextToRows-6c2d93d8.js} +7 -7
  54. flowfile/web/static/assets/ToggleSwitch-0ff7ac52.js +5 -0
  55. flowfile/web/static/assets/ToggleSwitch.vue_vue_type_script_setup_true_lang-c6dc3029.js +31 -0
  56. flowfile/web/static/assets/{UnavailableFields-88a4cd0c.js → UnavailableFields-1bab97cb.js} +2 -2
  57. flowfile/web/static/assets/{Union-4d0088eb.js → Union-b563478a.js} +4 -4
  58. flowfile/web/static/assets/{Unique-7d554a62.js → Unique-f90db5db.js} +7 -7
  59. flowfile/web/static/assets/{Unpivot-4668595c.js → Unpivot-bcb0025f.js} +6 -6
  60. flowfile/web/static/assets/{UnpivotValidation-d4f0e0e8.js → UnpivotValidation-c4e73b04.js} +1 -1
  61. flowfile/web/static/assets/{VueGraphicWalker-5324d566.js → VueGraphicWalker-bb8535e2.js} +1 -1
  62. flowfile/web/static/assets/{api-271ed117.js → api-2d6adc4f.js} +1 -1
  63. flowfile/web/static/assets/{api-31e4fea6.js → api-4c8e3822.js} +1 -1
  64. flowfile/web/static/assets/{designer-091bdc3f.css → designer-e3c150ec.css} +41 -41
  65. flowfile/web/static/assets/{designer-bf3d9487.js → designer-f3656d8c.js} +23 -15
  66. flowfile/web/static/assets/{documentation-4d0a1cea.js → documentation-52b241e7.js} +1 -1
  67. flowfile/web/static/assets/{dropDown-025888df.js → dropDown-1bca8a74.js} +1 -1
  68. flowfile/web/static/assets/{fullEditor-1df991ec.js → fullEditor-2985687e.js} +2 -2
  69. flowfile/web/static/assets/{genericNodeSettings-d3b2b2ac.js → genericNodeSettings-0476ba4e.js} +3 -3
  70. flowfile/web/static/assets/{index-d0518598.js → index-246f201c.js} +6 -6
  71. flowfile/web/static/assets/{index-681a3ed0.css → index-50508d4d.css} +8 -0
  72. flowfile/web/static/assets/{outputCsv-d8457527.js → outputCsv-d686eeaf.js} +1 -1
  73. flowfile/web/static/assets/{outputExcel-be89153e.js → outputExcel-8809ea2f.js} +1 -1
  74. flowfile/web/static/assets/{outputParquet-fabb445a.js → outputParquet-53ba645a.js} +1 -1
  75. flowfile/web/static/assets/{readCsv-e8359522.js → readCsv-053bf97b.js} +1 -1
  76. flowfile/web/static/assets/{readExcel-dabaf51b.js → readExcel-ad531eab.js} +3 -3
  77. flowfile/web/static/assets/{readParquet-e0771ef2.js → readParquet-58e899a1.js} +1 -1
  78. flowfile/web/static/assets/{secretApi-ce823eee.js → secretApi-538058f3.js} +1 -1
  79. flowfile/web/static/assets/{selectDynamic-5476546e.js → selectDynamic-b38de2ba.js} +3 -3
  80. flowfile/web/static/assets/user-defined-icon-0ae16c90.png +0 -0
  81. flowfile/web/static/assets/{vue-codemirror.esm-9ed00d50.js → vue-codemirror.esm-db9b8936.js} +33 -3
  82. flowfile/web/static/assets/{vue-content-loader.es-7bca2d9b.js → vue-content-loader.es-b5f3ac30.js} +1 -1
  83. flowfile/web/static/index.html +2 -2
  84. {flowfile-0.3.10.dist-info → flowfile-0.4.1.dist-info}/METADATA +3 -2
  85. {flowfile-0.3.10.dist-info → flowfile-0.4.1.dist-info}/RECORD +111 -85
  86. {flowfile-0.3.10.dist-info → flowfile-0.4.1.dist-info}/WHEEL +1 -1
  87. flowfile_core/configs/node_store/__init__.py +30 -0
  88. flowfile_core/configs/node_store/nodes.py +383 -358
  89. flowfile_core/configs/node_store/user_defined_node_registry.py +193 -0
  90. flowfile_core/flowfile/flow_data_engine/flow_file_column/interface.py +4 -0
  91. flowfile_core/flowfile/flow_data_engine/flow_file_column/main.py +19 -34
  92. flowfile_core/flowfile/flow_data_engine/flow_file_column/type_registry.py +36 -0
  93. flowfile_core/flowfile/flow_graph.py +20 -1
  94. flowfile_core/flowfile/flow_node/flow_node.py +4 -4
  95. flowfile_core/flowfile/manage/open_flowfile.py +9 -1
  96. flowfile_core/flowfile/node_designer/__init__.py +47 -0
  97. flowfile_core/flowfile/node_designer/_type_registry.py +197 -0
  98. flowfile_core/flowfile/node_designer/custom_node.py +371 -0
  99. flowfile_core/flowfile/node_designer/data_types.py +146 -0
  100. flowfile_core/flowfile/node_designer/ui_components.py +277 -0
  101. flowfile_core/flowfile/schema_callbacks.py +1 -1
  102. flowfile_core/main.py +2 -1
  103. flowfile_core/routes/routes.py +16 -20
  104. flowfile_core/routes/user_defined_components.py +55 -0
  105. flowfile_core/schemas/input_schema.py +8 -1
  106. flowfile_core/schemas/schemas.py +6 -3
  107. flowfile_core/utils/validate_setup.py +3 -1
  108. flowfile_frame/flow_frame.py +16 -6
  109. shared/storage_config.py +17 -2
  110. {flowfile-0.3.10.dist-info → flowfile-0.4.1.dist-info}/entry_points.txt +0 -0
  111. {flowfile-0.3.10.dist-info → flowfile-0.4.1.dist-info/licenses}/LICENSE +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.10"
10
+ __version__ = "0.4.1"
11
11
 
12
12
  import os
13
13
  import logging
@@ -62,6 +62,9 @@ from polars.datatypes import (
62
62
  DataType, DataTypeClass, Field
63
63
  )
64
64
 
65
+ from flowfile_core.flowfile import node_designer
66
+
67
+
65
68
  __all__ = [
66
69
  # Core FlowFrame classes
67
70
  'FlowFrame', 'GroupByFrame', 'FullCloudStorageConnection',
@@ -84,6 +87,8 @@ __all__ = [
84
87
  'categorical', 'object_', 'list_', 'struct', 'all_',
85
88
  'by_dtype', 'contains', 'starts_with', 'ends_with', 'matches',
86
89
 
90
+ "node_designer",
91
+
87
92
  # Utilities
88
93
  'create_flow_graph', 'open_graph_in_editor',
89
94
 
flowfile/api.py CHANGED
@@ -440,7 +440,7 @@ def open_graph_in_editor(flow_graph: FlowGraph, storage_location: Optional[str]
440
440
  temp_dir_obj: Optional[TemporaryDirectory] = None
441
441
  try:
442
442
  original_execution_settings = flow_graph.flow_settings.model_copy()
443
- flow_graph.flow_settings.execution_location = "auto"
443
+ flow_graph.flow_settings.execution_location = "local" # when running in the process. Go for speed first
444
444
  flow_graph.flow_settings.execution_mode = "Development"
445
445
  flow_file_path, temp_dir_obj = _save_flow_to_location(flow_graph, storage_location)
446
446
  if not flow_file_path:
@@ -1,5 +1,5 @@
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";
1
+ import { f as fetchCloudStorageConnectionsInterfaces, c as createCloudStorageConnectionApi, d as deleteCloudStorageConnectionApi } from "./api-2d6adc4f.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-246f201c.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,9 +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, 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";
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-246f201c.js";
2
+ import { C as CodeLoader } from "./vue-content-loader.es-b5f3ac30.js";
3
+ import { u as useNodeStore } from "./vue-codemirror.esm-db9b8936.js";
4
+ import { f as fetchCloudStorageConnectionsInterfaces } from "./api-2d6adc4f.js";
5
+ import { G as GenericNodeSettings } from "./genericNodeSettings-0476ba4e.js";
6
+ import "./designer-f3656d8c.js";
7
7
  const createNodeCloudStorageReader = (flowId, nodeId) => {
8
8
  const cloudStorageReadSettings = {
9
9
  auth_mode: "aws-cli",
@@ -1,9 +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, 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";
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-246f201c.js";
2
+ import { C as CodeLoader } from "./vue-content-loader.es-b5f3ac30.js";
3
+ import { u as useNodeStore } from "./vue-codemirror.esm-db9b8936.js";
4
+ import { f as fetchCloudStorageConnectionsInterfaces } from "./api-2d6adc4f.js";
5
+ import { G as GenericNodeSettings } from "./genericNodeSettings-0476ba4e.js";
6
+ import "./designer-f3656d8c.js";
7
7
  const createNodeCloudStorageWriter = (flowId, nodeId) => {
8
8
  const cloudStorageWriteSettings = {
9
9
  auth_mode: "aws-cli",
@@ -0,0 +1,10 @@
1
+
2
+ .required-indicator[data-v-ee9d221e] {
3
+ color: #f56c6c;
4
+ margin-left: 4px;
5
+ }
6
+ .column-type[data-v-ee9d221e] {
7
+ font-size: 0.75rem;
8
+ color: #909399;
9
+ margin-left: 8px;
10
+ }
@@ -0,0 +1,83 @@
1
+ import { d as defineComponent, l as computed, b as resolveComponent, c as openBlock, e as createElementBlock, p as createBaseVNode, g as createTextVNode, t as toDisplayString, i as createCommentVNode, f as createVNode, w as withCtx, F as Fragment, q as renderList, h as createBlock, _ as _export_sfc } from "./index-246f201c.js";
2
+ const _hoisted_1 = { class: "component-container" };
3
+ const _hoisted_2 = { class: "listbox-subtitle" };
4
+ const _hoisted_3 = {
5
+ key: 0,
6
+ class: "required-indicator"
7
+ };
8
+ const _hoisted_4 = { class: "column-type" };
9
+ const _sfc_main = /* @__PURE__ */ defineComponent({
10
+ __name: "ColumnSelector",
11
+ props: {
12
+ schema: {
13
+ type: Object,
14
+ required: true
15
+ },
16
+ modelValue: {
17
+ type: [String, Array],
18
+ default: () => []
19
+ },
20
+ incomingColumns: {
21
+ type: Array,
22
+ default: () => []
23
+ }
24
+ },
25
+ emits: ["update:modelValue"],
26
+ setup(__props) {
27
+ const props = __props;
28
+ const filteredColumns = computed(() => {
29
+ console.log("props.schem.data_types", props.schema);
30
+ console.log("incoming columns", props.incomingColumns);
31
+ if (!props.schema.data_types || props.schema.data_types === "ALL") {
32
+ return props.incomingColumns;
33
+ }
34
+ if (Array.isArray(props.schema.data_types)) {
35
+ return props.incomingColumns.filter((column) => {
36
+ return props.schema.data_types.includes(column.data_type);
37
+ });
38
+ }
39
+ return props.incomingColumns;
40
+ });
41
+ return (_ctx, _cache) => {
42
+ const _component_el_option = resolveComponent("el-option");
43
+ const _component_el_select = resolveComponent("el-select");
44
+ return openBlock(), createElementBlock("div", _hoisted_1, [
45
+ createBaseVNode("label", _hoisted_2, [
46
+ createTextVNode(toDisplayString(__props.schema.label) + " ", 1),
47
+ __props.schema.required ? (openBlock(), createElementBlock("span", _hoisted_3, "*")) : createCommentVNode("", true)
48
+ ]),
49
+ createVNode(_component_el_select, {
50
+ "model-value": __props.modelValue,
51
+ multiple: __props.schema.multiple,
52
+ filterable: "",
53
+ placeholder: __props.schema.multiple ? "Select columns..." : "Select a column...",
54
+ style: { "width": "100%" },
55
+ size: "large",
56
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.$emit("update:modelValue", $event))
57
+ }, {
58
+ default: withCtx(() => [
59
+ (openBlock(true), createElementBlock(Fragment, null, renderList(filteredColumns.value, (column) => {
60
+ return openBlock(), createBlock(_component_el_option, {
61
+ key: column.name,
62
+ label: column.name,
63
+ value: column.name
64
+ }, {
65
+ default: withCtx(() => [
66
+ createBaseVNode("span", null, toDisplayString(column.name), 1),
67
+ createBaseVNode("span", _hoisted_4, toDisplayString(column.data_type), 1)
68
+ ]),
69
+ _: 2
70
+ }, 1032, ["label", "value"]);
71
+ }), 128))
72
+ ]),
73
+ _: 1
74
+ }, 8, ["model-value", "multiple", "placeholder"])
75
+ ]);
76
+ };
77
+ }
78
+ });
79
+ const ColumnSelector_vue_vue_type_style_index_0_scoped_ee9d221e_lang = "";
80
+ const ColumnSelector = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-ee9d221e"]]);
81
+ export {
82
+ ColumnSelector as default
83
+ };
@@ -1,4 +1,4 @@
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";
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-246f201c.js";
2
2
  const _hoisted_1 = ["onClick"];
3
3
  const _sfc_main = /* @__PURE__ */ defineComponent({
4
4
  __name: "ContextMenu",
@@ -1,4 +1,4 @@
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";
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-246f201c.js";
2
2
  const _hoisted_1 = ["onClick"];
3
3
  const _sfc_main = /* @__PURE__ */ defineComponent({
4
4
  __name: "ContextMenu",
@@ -1,4 +1,4 @@
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";
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-246f201c.js";
2
2
  const _hoisted_1 = ["onClick"];
3
3
  const _sfc_main = /* @__PURE__ */ defineComponent({
4
4
  __name: "ContextMenu",
@@ -1,10 +1,10 @@
1
- import { C as CodeLoader } from "./vue-content-loader.es-7bca2d9b.js";
2
- import { u as useNodeStore } from "./vue-codemirror.esm-9ed00d50.js";
3
- import { s as selectDynamic } from "./selectDynamic-5476546e.js";
4
- import { G as GenericNodeSettings } from "./genericNodeSettings-d3b2b2ac.js";
5
- import { d as defineComponent, r as ref, c as openBlock, e as createElementBlock, f as createVNode, w as withCtx, p as createBaseVNode, h as createBlock, u as unref, _ as _export_sfc } from "./index-d0518598.js";
6
- import "./UnavailableFields-88a4cd0c.js";
7
- import "./designer-bf3d9487.js";
1
+ import { C as CodeLoader } from "./vue-content-loader.es-b5f3ac30.js";
2
+ import { u as useNodeStore } from "./vue-codemirror.esm-db9b8936.js";
3
+ import { s as selectDynamic } from "./selectDynamic-b38de2ba.js";
4
+ import { G as GenericNodeSettings } from "./genericNodeSettings-0476ba4e.js";
5
+ import { d as defineComponent, r as ref, c as openBlock, e as createElementBlock, f as createVNode, w as withCtx, p as createBaseVNode, h as createBlock, u as unref, _ as _export_sfc } from "./index-246f201c.js";
6
+ import "./UnavailableFields-1bab97cb.js";
7
+ import "./designer-f3656d8c.js";
8
8
  const _hoisted_1 = { key: 0 };
9
9
  const _hoisted_2 = { class: "listbox-wrapper" };
10
10
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -0,0 +1,32 @@
1
+
2
+ .custom-node-wrapper[data-v-d7137248] {
3
+ padding: 1.5rem;
4
+ background-color: #f9fafb; /* bg-gray-50 */
5
+ }
6
+ .node-header[data-v-d7137248] {
7
+ padding-bottom: 1rem;
8
+ border-bottom: 1px solid #e5e7eb; /* border-gray-200 */
9
+ margin-bottom: 1.5rem;
10
+ }
11
+ .node-title[data-v-d7137248] {
12
+ font-size: 1.25rem; /* text-xl */
13
+ font-weight: 700; /* font-bold */
14
+ color: #1f2937; /* text-gray-800 */
15
+ }
16
+ .node-category[data-v-d7137248] {
17
+ font-size: 0.875rem; /* text-sm */
18
+ color: #6b7280; /* text-gray-500 */
19
+ margin-top: 0.25rem;
20
+ }
21
+ .section-description[data-v-d7137248] {
22
+ font-size: 0.875rem;
23
+ color: #6b7280; /* text-gray-500 */
24
+ margin-top: 0.25rem;
25
+ margin-bottom: 1.25rem;
26
+ padding-left: 0.5rem;
27
+ }
28
+ .components-container[data-v-d7137248] {
29
+ display: flex;
30
+ flex-direction: column;
31
+ gap: 1.25rem; /* space-y-5 */
32
+ }
@@ -0,0 +1,211 @@
1
+ import { a as axios, d as defineComponent, r as ref, c as openBlock, e as createElementBlock, p as createBaseVNode, g as createTextVNode, t as toDisplayString, f as createVNode, w as withCtx, F as Fragment, q as renderList, a8 as withDirectives, af as vShow, i as createCommentVNode, h as createBlock, _ as _export_sfc } from "./index-246f201c.js";
2
+ import { u as useNodeStore } from "./vue-codemirror.esm-db9b8936.js";
3
+ import { G as GenericNodeSettings } from "./genericNodeSettings-0476ba4e.js";
4
+ import { _ as _sfc_main$3 } from "./MultiSelect.vue_vue_type_script_setup_true_lang-6ffe088a.js";
5
+ import { _ as _sfc_main$5 } from "./ToggleSwitch.vue_vue_type_script_setup_true_lang-c6dc3029.js";
6
+ import { _ as _sfc_main$1 } from "./TextInput.vue_vue_type_script_setup_true_lang-000e1178.js";
7
+ import { _ as _sfc_main$2 } from "./NumericInput.vue_vue_type_script_setup_true_lang-90eb2cba.js";
8
+ import SliderInput from "./SliderInput-6a05ab61.js";
9
+ import { _ as _sfc_main$4 } from "./SingleSelect.vue_vue_type_script_setup_true_lang-6093741c.js";
10
+ import ColumnSelector from "./ColumnSelector-cce661cf.js";
11
+ import "./designer-f3656d8c.js";
12
+ async function getCustomNodeSchema(flowId, nodeId) {
13
+ const response = await axios.get(
14
+ `/user_defined_components/custom-node-schema`,
15
+ {
16
+ params: { flow_id: flowId, node_id: nodeId },
17
+ headers: { accept: "application/json" }
18
+ }
19
+ );
20
+ return response.data;
21
+ }
22
+ const _hoisted_1 = {
23
+ key: 0,
24
+ class: "p-4 text-center text-gray-500"
25
+ };
26
+ const _hoisted_2 = {
27
+ key: 1,
28
+ class: "p-4 text-red-600 bg-red-100 rounded-md"
29
+ };
30
+ const _hoisted_3 = {
31
+ key: 2,
32
+ class: "custom-node-wrapper"
33
+ };
34
+ const _hoisted_4 = { class: "listbox-subtitle" };
35
+ const _hoisted_5 = {
36
+ key: 0,
37
+ class: "section-description"
38
+ };
39
+ const _hoisted_6 = { class: "components-container" };
40
+ const _hoisted_7 = {
41
+ key: 7,
42
+ class: "text-red-500 text-xs"
43
+ };
44
+ const _sfc_main = /* @__PURE__ */ defineComponent({
45
+ __name: "CustomNode",
46
+ setup(__props, { expose: __expose }) {
47
+ const schema = ref(null);
48
+ const formData = ref(null);
49
+ const loading = ref(true);
50
+ const error = ref("");
51
+ const nodeStore = useNodeStore();
52
+ const nodeData = ref(null);
53
+ const availableColumns = ref([]);
54
+ const currentNodeId = ref(null);
55
+ const nodeUserDefined = ref(null);
56
+ const columnTypes = ref([]);
57
+ const loadNodeData = async (nodeId) => {
58
+ var _a, _b, _c;
59
+ loading.value = true;
60
+ error.value = "";
61
+ currentNodeId.value = nodeId;
62
+ try {
63
+ const inputNodeData = await nodeStore.getNodeData(nodeId, false);
64
+ if (!inputNodeData) {
65
+ return;
66
+ }
67
+ const [schemaData] = await Promise.all([getCustomNodeSchema(nodeStore.flow_id, nodeId)]);
68
+ console.log("schemaData", schemaData);
69
+ schema.value = schemaData;
70
+ nodeData.value = inputNodeData;
71
+ nodeUserDefined.value = (_a = nodeData.value) == null ? void 0 : _a.setting_input;
72
+ if (!((_b = nodeData.value) == null ? void 0 : _b.setting_input.is_setup) && nodeUserDefined.value) {
73
+ nodeUserDefined.value.settings = {};
74
+ }
75
+ if ((_c = inputNodeData == null ? void 0 : inputNodeData.main_input) == null ? void 0 : _c.columns) {
76
+ availableColumns.value = inputNodeData.main_input.columns;
77
+ columnTypes.value = inputNodeData.main_input.table_schema;
78
+ } else {
79
+ console.warn(
80
+ `No main_input or columns found for node ${nodeId}. Select components may be empty.`
81
+ );
82
+ }
83
+ initializeFormData(schemaData, inputNodeData == null ? void 0 : inputNodeData.setting_input);
84
+ } catch (err) {
85
+ error.value = err.message || "An unknown error occurred while loading node data.";
86
+ } finally {
87
+ loading.value = false;
88
+ }
89
+ };
90
+ const pushNodeData = async () => {
91
+ if (!nodeData.value || currentNodeId.value === null) {
92
+ console.warn("Cannot push data: node data or ID is not available.");
93
+ return;
94
+ }
95
+ if (nodeUserDefined.value) {
96
+ nodeUserDefined.value.settings = formData.value;
97
+ nodeUserDefined.value.is_user_defined = true;
98
+ nodeUserDefined.value.is_setup = true;
99
+ }
100
+ console.log(JSON.stringify(formData.value, null, 2));
101
+ nodeStore.updateUserDefinedSettings(nodeUserDefined);
102
+ };
103
+ function initializeFormData(schemaData, savedSettings) {
104
+ var _a;
105
+ const data = {};
106
+ for (const sectionKey in schemaData.settings_schema) {
107
+ data[sectionKey] = {};
108
+ const section = schemaData.settings_schema[sectionKey];
109
+ for (const componentKey in section.components) {
110
+ const component = section.components[componentKey];
111
+ const savedValue = (_a = savedSettings == null ? void 0 : savedSettings[sectionKey]) == null ? void 0 : _a[componentKey];
112
+ if (savedValue !== void 0) {
113
+ data[sectionKey][componentKey] = savedValue;
114
+ } else if (component.value !== void 0) {
115
+ data[sectionKey][componentKey] = component.value;
116
+ } else {
117
+ let defaultValue = component.default ?? null;
118
+ if (component.input_type === "array" && defaultValue === null) {
119
+ defaultValue = [];
120
+ }
121
+ data[sectionKey][componentKey] = defaultValue;
122
+ }
123
+ }
124
+ }
125
+ formData.value = data;
126
+ }
127
+ __expose({
128
+ loadNodeData,
129
+ pushNodeData
130
+ });
131
+ return (_ctx, _cache) => {
132
+ return loading.value ? (openBlock(), createElementBlock("div", _hoisted_1, "Loading Node UI...")) : error.value ? (openBlock(), createElementBlock("div", _hoisted_2, [
133
+ _cache[1] || (_cache[1] = createBaseVNode("strong", null, "Error:", -1)),
134
+ createTextVNode(" " + toDisplayString(error.value), 1)
135
+ ])) : schema.value && formData.value && nodeUserDefined.value ? (openBlock(), createElementBlock("div", _hoisted_3, [
136
+ createVNode(GenericNodeSettings, {
137
+ modelValue: nodeUserDefined.value,
138
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => nodeUserDefined.value = $event)
139
+ }, {
140
+ default: withCtx(() => [
141
+ (openBlock(true), createElementBlock(Fragment, null, renderList(schema.value.settings_schema, (section, sectionKey) => {
142
+ return withDirectives((openBlock(), createElementBlock("div", {
143
+ key: sectionKey,
144
+ class: "listbox-wrapper"
145
+ }, [
146
+ createBaseVNode("div", _hoisted_4, toDisplayString(section.title || sectionKey.toString().replace(/_/g, " ")), 1),
147
+ section.description ? (openBlock(), createElementBlock("p", _hoisted_5, toDisplayString(section.description), 1)) : createCommentVNode("", true),
148
+ createBaseVNode("div", _hoisted_6, [
149
+ (openBlock(true), createElementBlock(Fragment, null, renderList(section.components, (component, componentKey) => {
150
+ return openBlock(), createElementBlock("div", {
151
+ key: componentKey,
152
+ class: "component-item"
153
+ }, [
154
+ component.component_type === "TextInput" ? (openBlock(), createBlock(_sfc_main$1, {
155
+ key: 0,
156
+ modelValue: formData.value[sectionKey][componentKey],
157
+ "onUpdate:modelValue": ($event) => formData.value[sectionKey][componentKey] = $event,
158
+ schema: component
159
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "schema"])) : component.component_type === "NumericInput" ? (openBlock(), createBlock(_sfc_main$2, {
160
+ key: 1,
161
+ modelValue: formData.value[sectionKey][componentKey],
162
+ "onUpdate:modelValue": ($event) => formData.value[sectionKey][componentKey] = $event,
163
+ schema: component
164
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "schema"])) : component.component_type === "SliderInput" ? (openBlock(), createBlock(SliderInput, {
165
+ key: 2,
166
+ modelValue: formData.value[sectionKey][componentKey],
167
+ "onUpdate:modelValue": ($event) => formData.value[sectionKey][componentKey] = $event,
168
+ schema: component
169
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "schema"])) : component.component_type === "MultiSelect" ? (openBlock(), createBlock(_sfc_main$3, {
170
+ key: 3,
171
+ modelValue: formData.value[sectionKey][componentKey],
172
+ "onUpdate:modelValue": ($event) => formData.value[sectionKey][componentKey] = $event,
173
+ schema: component,
174
+ "incoming-columns": availableColumns.value
175
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "schema", "incoming-columns"])) : component.component_type === "SingleSelect" ? (openBlock(), createBlock(_sfc_main$4, {
176
+ key: 4,
177
+ modelValue: formData.value[sectionKey][componentKey],
178
+ "onUpdate:modelValue": ($event) => formData.value[sectionKey][componentKey] = $event,
179
+ schema: component,
180
+ "incoming-columns": availableColumns.value
181
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "schema", "incoming-columns"])) : component.component_type === "ToggleSwitch" ? (openBlock(), createBlock(_sfc_main$5, {
182
+ key: 5,
183
+ modelValue: formData.value[sectionKey][componentKey],
184
+ "onUpdate:modelValue": ($event) => formData.value[sectionKey][componentKey] = $event,
185
+ schema: component
186
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "schema"])) : component.component_type === "ColumnSelector" ? (openBlock(), createBlock(ColumnSelector, {
187
+ key: 6,
188
+ modelValue: formData.value[sectionKey][componentKey],
189
+ "onUpdate:modelValue": ($event) => formData.value[sectionKey][componentKey] = $event,
190
+ schema: component,
191
+ "incoming-columns": columnTypes.value
192
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "schema", "incoming-columns"])) : (openBlock(), createElementBlock("div", _hoisted_7, " Unknown component type: " + toDisplayString(component.component_type), 1))
193
+ ]);
194
+ }), 128))
195
+ ])
196
+ ])), [
197
+ [vShow, !section.hidden]
198
+ ]);
199
+ }), 128))
200
+ ]),
201
+ _: 1
202
+ }, 8, ["modelValue"])
203
+ ])) : createCommentVNode("", true);
204
+ };
205
+ }
206
+ });
207
+ const CustomNode_vue_vue_type_style_index_0_scoped_d7137248_lang = "";
208
+ const CustomNode = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d7137248"]]);
209
+ export {
210
+ CustomNode as default
211
+ };
@@ -1,5 +1,5 @@
1
- import { f as fetchSecretsApi } from "./secretApi-ce823eee.js";
2
- import { d as defineComponent, r as ref, n as onMounted, c as openBlock, e as createElementBlock, p as createBaseVNode, t as toDisplayString, F as Fragment, q as renderList, i as createCommentVNode, _ as _export_sfc } from "./index-d0518598.js";
1
+ import { f as fetchSecretsApi } from "./secretApi-538058f3.js";
2
+ import { d as defineComponent, r as ref, n as onMounted, c as openBlock, e as createElementBlock, p as createBaseVNode, t as toDisplayString, F as Fragment, q as renderList, i as createCommentVNode, _ as _export_sfc } from "./index-246f201c.js";
3
3
  const _hoisted_1 = { class: "connection-settings-container" };
4
4
  const _hoisted_2 = { class: "toggle-button" };
5
5
  const _hoisted_3 = {
@@ -1,5 +1,5 @@
1
- import { f as fetchDatabaseConnectionsInterfaces, c as createDatabaseConnectionApi, d as deleteDatabaseConnectionApi } from "./api-31e4fea6.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, al as vModelDynamic, s as normalizeClass, am as vModelCheckbox, t as toDisplayString, v as withModifiers, n as onMounted, g as createTextVNode, F as Fragment, q as renderList, 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";
1
+ import { f as fetchDatabaseConnectionsInterfaces, c as createDatabaseConnectionApi, d as deleteDatabaseConnectionApi } from "./api-4c8e3822.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, al as vModelDynamic, s as normalizeClass, am as vModelCheckbox, t as toDisplayString, v as withModifiers, n as onMounted, g as createTextVNode, F as Fragment, q as renderList, f as createVNode, w as withCtx, u as unref, z as ElMessage, an as ElDialog, ao as ElButton, _ as _export_sfc } from "./index-246f201c.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,12 +1,12 @@
1
- import { d as defineComponent, r as ref, n as onMounted, b as resolveComponent, c as openBlock, e as createElementBlock, f as createVNode, w as withCtx, p as createBaseVNode, F as Fragment, q as renderList, h as createBlock, g as createTextVNode, t as toDisplayString, u as unref, ap as ElRadio, a8 as withDirectives, ak as vModelSelect, a9 as vModelText, i as createCommentVNode, a as axios, 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 fetchDatabaseConnectionsInterfaces } from "./api-31e4fea6.js";
5
- import DatabaseConnectionSettings from "./DatabaseConnectionSettings-435c5dd8.js";
6
- import SqlQueryComponent from "./SQLQueryComponent-e149dbf2.js";
7
- import { G as GenericNodeSettings } from "./genericNodeSettings-d3b2b2ac.js";
8
- import "./secretApi-ce823eee.js";
9
- import "./designer-bf3d9487.js";
1
+ import { d as defineComponent, r as ref, n as onMounted, b as resolveComponent, c as openBlock, e as createElementBlock, f as createVNode, w as withCtx, p as createBaseVNode, F as Fragment, q as renderList, h as createBlock, g as createTextVNode, t as toDisplayString, u as unref, ap as ElRadio, a8 as withDirectives, ak as vModelSelect, a9 as vModelText, i as createCommentVNode, a as axios, z as ElMessage, _ as _export_sfc } from "./index-246f201c.js";
2
+ import { C as CodeLoader } from "./vue-content-loader.es-b5f3ac30.js";
3
+ import { u as useNodeStore } from "./vue-codemirror.esm-db9b8936.js";
4
+ import { f as fetchDatabaseConnectionsInterfaces } from "./api-4c8e3822.js";
5
+ import DatabaseConnectionSettings from "./DatabaseConnectionSettings-7000bf2c.js";
6
+ import SqlQueryComponent from "./SQLQueryComponent-88dcfe53.js";
7
+ import { G as GenericNodeSettings } from "./genericNodeSettings-0476ba4e.js";
8
+ import "./secretApi-538058f3.js";
9
+ import "./designer-f3656d8c.js";
10
10
  const createNodeDatabaseReader = (flowId, nodeId) => {
11
11
  const databaseSettings = {
12
12
  query_mode: "table",
@@ -1,11 +1,11 @@
1
- import { d as defineComponent, r as ref, n as onMounted, b as resolveComponent, c as openBlock, e as createElementBlock, f as createVNode, w as withCtx, p as createBaseVNode, F as Fragment, q as renderList, h as createBlock, g as createTextVNode, t as toDisplayString, u as unref, ap as ElRadio, a8 as withDirectives, ak as vModelSelect, a9 as vModelText, 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 fetchDatabaseConnectionsInterfaces } from "./api-31e4fea6.js";
5
- import DatabaseConnectionSettings from "./DatabaseConnectionSettings-435c5dd8.js";
6
- import { G as GenericNodeSettings } from "./genericNodeSettings-d3b2b2ac.js";
7
- import "./secretApi-ce823eee.js";
8
- import "./designer-bf3d9487.js";
1
+ import { d as defineComponent, r as ref, n as onMounted, b as resolveComponent, c as openBlock, e as createElementBlock, f as createVNode, w as withCtx, p as createBaseVNode, F as Fragment, q as renderList, h as createBlock, g as createTextVNode, t as toDisplayString, u as unref, ap as ElRadio, a8 as withDirectives, ak as vModelSelect, a9 as vModelText, z as ElMessage, _ as _export_sfc } from "./index-246f201c.js";
2
+ import { C as CodeLoader } from "./vue-content-loader.es-b5f3ac30.js";
3
+ import { u as useNodeStore } from "./vue-codemirror.esm-db9b8936.js";
4
+ import { f as fetchDatabaseConnectionsInterfaces } from "./api-4c8e3822.js";
5
+ import DatabaseConnectionSettings from "./DatabaseConnectionSettings-7000bf2c.js";
6
+ import { G as GenericNodeSettings } from "./genericNodeSettings-0476ba4e.js";
7
+ import "./secretApi-538058f3.js";
8
+ import "./designer-f3656d8c.js";
9
9
  const createNodeDatabaseWriter = (flowId, nodeId) => {
10
10
  const databaseWriteSettings = {
11
11
  if_exists: "replace",
@@ -1,8 +1,8 @@
1
- import { C as CodeLoader } from "./vue-content-loader.es-7bca2d9b.js";
2
- import VueGraphicWalker from "./VueGraphicWalker-5324d566.js";
3
- import { a as axios, d as defineComponent, r as ref, l as computed, c as openBlock, e as createElementBlock, h as createBlock, u as unref, p as createBaseVNode, t as toDisplayString, _ as _export_sfc } from "./index-d0518598.js";
4
- import { u as useNodeStore } from "./vue-codemirror.esm-9ed00d50.js";
5
- import { u as useItemStore } from "./designer-bf3d9487.js";
1
+ import { C as CodeLoader } from "./vue-content-loader.es-b5f3ac30.js";
2
+ import VueGraphicWalker from "./VueGraphicWalker-bb8535e2.js";
3
+ import { a as axios, d as defineComponent, r as ref, l as computed, c as openBlock, e as createElementBlock, h as createBlock, u as unref, p as createBaseVNode, t as toDisplayString, _ as _export_sfc } from "./index-246f201c.js";
4
+ import { u as useNodeStore } from "./vue-codemirror.esm-db9b8936.js";
5
+ import { u as useItemStore } from "./designer-f3656d8c.js";
6
6
  const fetchGraphicWalkerData = async (flowId, nodeId) => {
7
7
  var _a, _b;
8
8
  console.log(`[GraphicWalker] Fetching data for flow ${flowId}, node ${nodeId}`);
@@ -1,8 +1,8 @@
1
- import { C as CodeLoader } from "./vue-content-loader.es-7bca2d9b.js";
2
- import { u as useNodeStore } from "./vue-codemirror.esm-9ed00d50.js";
3
- import { G as GenericNodeSettings } from "./genericNodeSettings-d3b2b2ac.js";
4
- import { d as defineComponent, r as ref, a3 as watchEffect, b as resolveComponent, c as openBlock, e as createElementBlock, f as createVNode, w as withCtx, p as createBaseVNode, F as Fragment, q as renderList, i as createCommentVNode, h as createBlock, u as unref, _ as _export_sfc } from "./index-d0518598.js";
5
- import "./designer-bf3d9487.js";
1
+ import { C as CodeLoader } from "./vue-content-loader.es-b5f3ac30.js";
2
+ import { u as useNodeStore } from "./vue-codemirror.esm-db9b8936.js";
3
+ import { G as GenericNodeSettings } from "./genericNodeSettings-0476ba4e.js";
4
+ import { d as defineComponent, r as ref, a3 as watchEffect, b as resolveComponent, c as openBlock, e as createElementBlock, f as createVNode, w as withCtx, p as createBaseVNode, F as Fragment, q as renderList, i as createCommentVNode, h as createBlock, u as unref, _ as _export_sfc } from "./index-246f201c.js";
5
+ import "./designer-f3656d8c.js";
6
6
  function get_template_source_type(type, options) {
7
7
  switch (type) {
8
8
  case "SAMPLE_USERS":
@@ -1,10 +1,10 @@
1
- import { d as defineComponent, r as ref, b as resolveComponent, c as openBlock, e as createElementBlock, f as createVNode, w as withCtx, p as createBaseVNode, g as createTextVNode, i as createCommentVNode, u as unref, a8 as withDirectives, a9 as vModelText, h as createBlock, _ as _export_sfc } from "./index-d0518598.js";
2
- import { C as CodeLoader } from "./vue-content-loader.es-7bca2d9b.js";
3
- import { C as ColumnSelector } from "./dropDown-025888df.js";
4
- import { u as useNodeStore } from "./vue-codemirror.esm-9ed00d50.js";
5
- import mainEditorRef from "./fullEditor-1df991ec.js";
6
- import { G as GenericNodeSettings } from "./genericNodeSettings-d3b2b2ac.js";
7
- import "./designer-bf3d9487.js";
1
+ import { d as defineComponent, r as ref, b as resolveComponent, c as openBlock, e as createElementBlock, f as createVNode, w as withCtx, p as createBaseVNode, g as createTextVNode, i as createCommentVNode, u as unref, a8 as withDirectives, a9 as vModelText, h as createBlock, _ as _export_sfc } from "./index-246f201c.js";
2
+ import { C as CodeLoader } from "./vue-content-loader.es-b5f3ac30.js";
3
+ import { C as ColumnSelector } from "./dropDown-1bca8a74.js";
4
+ import { u as useNodeStore } from "./vue-codemirror.esm-db9b8936.js";
5
+ import mainEditorRef from "./fullEditor-2985687e.js";
6
+ import { G as GenericNodeSettings } from "./genericNodeSettings-0476ba4e.js";
7
+ import "./designer-f3656d8c.js";
8
8
  const _hoisted_1 = { key: 0 };
9
9
  const _hoisted_2 = { class: "listbox-wrapper" };
10
10
  const _hoisted_3 = { style: { "border-radius": "20px" } };
@@ -1,10 +1,10 @@
1
- import { C as CodeLoader } from "./vue-content-loader.es-7bca2d9b.js";
2
- import { u as useNodeStore } from "./vue-codemirror.esm-9ed00d50.js";
3
- import mainEditorRef from "./fullEditor-1df991ec.js";
4
- import { C as ColumnSelector } from "./dropDown-025888df.js";
5
- import { d as defineComponent, r as ref, m as watch, c as openBlock, e as createElementBlock, t as toDisplayString, i as createCommentVNode, p as createBaseVNode, f as createVNode, _ as _export_sfc, w as withCtx, u as unref, h as createBlock } from "./index-d0518598.js";
6
- import { G as GenericNodeSettings } from "./genericNodeSettings-d3b2b2ac.js";
7
- import "./designer-bf3d9487.js";
1
+ import { C as CodeLoader } from "./vue-content-loader.es-b5f3ac30.js";
2
+ import { u as useNodeStore } from "./vue-codemirror.esm-db9b8936.js";
3
+ import mainEditorRef from "./fullEditor-2985687e.js";
4
+ import { C as ColumnSelector } from "./dropDown-1bca8a74.js";
5
+ import { d as defineComponent, r as ref, m as watch, c as openBlock, e as createElementBlock, t as toDisplayString, i as createCommentVNode, p as createBaseVNode, f as createVNode, _ as _export_sfc, w as withCtx, u as unref, h as createBlock } from "./index-246f201c.js";
6
+ import { G as GenericNodeSettings } from "./genericNodeSettings-0476ba4e.js";
7
+ import "./designer-f3656d8c.js";
8
8
  const _hoisted_1$1 = {
9
9
  key: 0,
10
10
  class: "label"
@@ -72,7 +72,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
72
72
  });
73
73
  const dropDownGeneric_vue_vue_type_style_index_0_scoped_f2958f57_lang = "";
74
74
  const DropDownGeneric = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-f2958f57"]]);
75
- const createFormulaInput = (field_name = "", data_type = "String", function_def = "") => {
75
+ const createFormulaInput = (field_name = "", data_type = "Auto", function_def = "") => {
76
76
  const fieldInput = {
77
77
  name: field_name,
78
78
  data_type
@@ -83,7 +83,7 @@ const createFormulaInput = (field_name = "", data_type = "String", function_def
83
83
  };
84
84
  return functionInput;
85
85
  };
86
- const createFormulaNode = (flowId = -1, nodeId = -1, pos_x = 0, pos_y = 0, field_name = "output_field", data_type = "String", function_def = "") => {
86
+ const createFormulaNode = (flowId = -1, nodeId = -1, pos_x = 0, pos_y = 0, field_name = "output_field", data_type = "Auto", function_def = "") => {
87
87
  const func_info = createFormulaInput(field_name, data_type, function_def);
88
88
  const nodeFunction = {
89
89
  flow_id: flowId,