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.

Files changed (169) hide show
  1. flowfile/__init__.py +6 -1
  2. flowfile/api.py +0 -1
  3. flowfile/web/static/assets/{CloudConnectionManager-c97c25f8.js → CloudConnectionManager-109ecc3c.js} +2 -2
  4. flowfile/web/static/assets/{CloudStorageReader-f1ff509e.js → CloudStorageReader-19cdd67a.js} +11 -78
  5. flowfile/web/static/assets/{CloudStorageWriter-034f8b78.js → CloudStorageWriter-48e0ae20.js} +12 -79
  6. flowfile/web/static/assets/{CloudStorageWriter-49c9a4b2.css → CloudStorageWriter-b0ee067f.css} +24 -24
  7. flowfile/web/static/assets/ColumnSelector-47996a16.css +10 -0
  8. flowfile/web/static/assets/ColumnSelector-ecaf7c44.js +83 -0
  9. flowfile/web/static/assets/ContextMenu-2b348c4c.js +41 -0
  10. flowfile/web/static/assets/{SettingsSection-9c836ecc.css → ContextMenu-4c74eef1.css} +0 -21
  11. flowfile/web/static/assets/ContextMenu-63cfa99b.css +26 -0
  12. flowfile/web/static/assets/ContextMenu-a779eed7.js +41 -0
  13. flowfile/web/static/assets/ContextMenu-c13f91d0.css +26 -0
  14. flowfile/web/static/assets/ContextMenu-eca26a03.js +41 -0
  15. flowfile/web/static/assets/{CrossJoin-41efa4cb.css → CrossJoin-1119d18e.css} +18 -18
  16. flowfile/web/static/assets/{CrossJoin-9e156ebe.js → CrossJoin-a88f8142.js} +14 -84
  17. flowfile/web/static/assets/CustomNode-74a37f74.css +32 -0
  18. flowfile/web/static/assets/CustomNode-cb863dff.js +211 -0
  19. flowfile/web/static/assets/{DatabaseConnectionSettings-d5c625b3.js → DatabaseConnectionSettings-819d3267.js} +3 -3
  20. flowfile/web/static/assets/{DatabaseManager-265adc5e.js → DatabaseManager-84ee2834.js} +2 -2
  21. flowfile/web/static/assets/{DatabaseReader-0b10551e.js → DatabaseReader-060dd412.js} +14 -114
  22. flowfile/web/static/assets/{DatabaseReader-f50c6558.css → DatabaseReader-ae61773c.css} +0 -27
  23. flowfile/web/static/assets/{DatabaseWriter-c17c6916.js → DatabaseWriter-7fc7750f.js} +13 -74
  24. flowfile/web/static/assets/{ExploreData-5bdae813.css → ExploreData-2d0cf4db.css} +8 -14
  25. flowfile/web/static/assets/ExploreData-82c95991.js +192 -0
  26. flowfile/web/static/assets/{ExternalSource-3a66556c.js → ExternalSource-e1a6ddc7.js} +8 -79
  27. flowfile/web/static/assets/{Filter-91ad87e7.js → Filter-8aca894a.js} +12 -85
  28. flowfile/web/static/assets/{Filter-a9d08ba1.css → Filter-f62091b3.css} +3 -3
  29. flowfile/web/static/assets/{Formula-29f19d21.css → Formula-bb96803d.css} +4 -4
  30. flowfile/web/static/assets/{Formula-3c395ab1.js → Formula-e33686d9.js} +18 -85
  31. flowfile/web/static/assets/{FuzzyMatch-6857de82.css → FuzzyMatch-1010f966.css} +42 -42
  32. flowfile/web/static/assets/{FuzzyMatch-2df0d230.js → FuzzyMatch-abda150d.js} +16 -87
  33. flowfile/web/static/assets/{GraphSolver-d285877f.js → GraphSolver-4ecad1d7.js} +13 -159
  34. flowfile/web/static/assets/GraphSolver-f0cb7bfb.css +22 -0
  35. flowfile/web/static/assets/{GroupBy-0bd1cc6b.js → GroupBy-656d07f3.js} +12 -75
  36. flowfile/web/static/assets/{Unique-b5615727.css → GroupBy-b9505323.css} +8 -8
  37. flowfile/web/static/assets/{Join-5a78a203.js → Join-b84ec849.js} +15 -85
  38. flowfile/web/static/assets/{Join-f45eff22.css → Join-fd79b451.css} +20 -20
  39. flowfile/web/static/assets/{ManualInput-a71b52c6.css → ManualInput-3246a08d.css} +20 -20
  40. flowfile/web/static/assets/{ManualInput-93aef9d6.js → ManualInput-346f4135.js} +11 -82
  41. flowfile/web/static/assets/MultiSelect-61b98268.js +5 -0
  42. flowfile/web/static/assets/MultiSelect.vue_vue_type_script_setup_true_lang-2a7c8312.js +63 -0
  43. flowfile/web/static/assets/NumericInput-e36602c2.js +5 -0
  44. flowfile/web/static/assets/NumericInput.vue_vue_type_script_setup_true_lang-211a1990.js +35 -0
  45. flowfile/web/static/assets/Output-ddc9079f.css +37 -0
  46. flowfile/web/static/assets/{Output-411ecaee.js → Output-eb041599.js} +13 -243
  47. flowfile/web/static/assets/Pivot-cf333e3d.css +22 -0
  48. flowfile/web/static/assets/{Pivot-89db4b04.js → Pivot-f5c774f4.js} +14 -138
  49. flowfile/web/static/assets/PivotValidation-26546cbc.js +61 -0
  50. flowfile/web/static/assets/PivotValidation-891ddfb0.css +13 -0
  51. flowfile/web/static/assets/PivotValidation-c46cd420.css +13 -0
  52. flowfile/web/static/assets/PivotValidation-e150a24b.js +61 -0
  53. flowfile/web/static/assets/{PolarsCode-a9f974f8.js → PolarsCode-da3a7abf.js} +13 -80
  54. flowfile/web/static/assets/Read-0c768769.js +243 -0
  55. flowfile/web/static/assets/Read-6b17491f.css +62 -0
  56. flowfile/web/static/assets/RecordCount-84736276.js +53 -0
  57. flowfile/web/static/assets/{RecordId-55ae7d36.js → RecordId-60055e6d.js} +8 -80
  58. flowfile/web/static/assets/SQLQueryComponent-36cef432.css +27 -0
  59. flowfile/web/static/assets/SQLQueryComponent-8a486004.js +38 -0
  60. flowfile/web/static/assets/{Sample-b4a18476.js → Sample-2d662611.js} +8 -77
  61. flowfile/web/static/assets/{SecretManager-b066d13a.js → SecretManager-ef586cab.js} +2 -2
  62. flowfile/web/static/assets/{Select-727688dc.js → Select-2e4a6965.js} +11 -85
  63. flowfile/web/static/assets/SettingsSection-2e4d03c4.css +21 -0
  64. flowfile/web/static/assets/{SettingsSection-695ac487.js → SettingsSection-310b61c0.js} +2 -40
  65. flowfile/web/static/assets/SettingsSection-5634f439.js +45 -0
  66. flowfile/web/static/assets/SettingsSection-5c696bee.css +20 -0
  67. flowfile/web/static/assets/SettingsSection-71e6b7e3.css +21 -0
  68. flowfile/web/static/assets/SettingsSection-7c68b19f.js +53 -0
  69. flowfile/web/static/assets/SingleSelect-7298811a.js +5 -0
  70. flowfile/web/static/assets/SingleSelect.vue_vue_type_script_setup_true_lang-43807bad.js +62 -0
  71. flowfile/web/static/assets/SliderInput-53105476.js +40 -0
  72. flowfile/web/static/assets/SliderInput-b8fb6a8c.css +4 -0
  73. flowfile/web/static/assets/{GroupBy-ab1ea74b.css → Sort-3643d625.css} +8 -8
  74. flowfile/web/static/assets/{Sort-be3339a8.js → Sort-4fdebe74.js} +12 -97
  75. flowfile/web/static/assets/TextInput-28366b7e.js +5 -0
  76. flowfile/web/static/assets/TextInput.vue_vue_type_script_setup_true_lang-9cad14ba.js +32 -0
  77. flowfile/web/static/assets/{TextToRows-c92d1ec2.css → TextToRows-5d2c1190.css} +9 -9
  78. flowfile/web/static/assets/{TextToRows-7b8998da.js → TextToRows-73ffa692.js} +14 -83
  79. flowfile/web/static/assets/ToggleSwitch-598add30.js +5 -0
  80. flowfile/web/static/assets/ToggleSwitch.vue_vue_type_script_setup_true_lang-f620cd32.js +31 -0
  81. flowfile/web/static/assets/{UnavailableFields-8b0cb48e.js → UnavailableFields-66239e83.js} +2 -2
  82. flowfile/web/static/assets/Union-26b10614.js +77 -0
  83. flowfile/web/static/assets/{Union-8d9ac7f9.css → Union-af6c3d9b.css} +6 -6
  84. flowfile/web/static/assets/{Unique-af5a80b4.js → Unique-33b9edbb.js} +22 -91
  85. flowfile/web/static/assets/{Sort-7ccfa0fe.css → Unique-f9fb0809.css} +8 -8
  86. flowfile/web/static/assets/Unpivot-1e422df3.css +30 -0
  87. flowfile/web/static/assets/{Unpivot-5195d411.js → Unpivot-ef69d0e2.js} +12 -166
  88. flowfile/web/static/assets/UnpivotValidation-0d240eeb.css +13 -0
  89. flowfile/web/static/assets/UnpivotValidation-8658388e.js +51 -0
  90. flowfile/web/static/assets/{ExploreData-18a4fe52.js → VueGraphicWalker-4d7861f4.js} +4 -264
  91. flowfile/web/static/assets/VueGraphicWalker-ed5ab88b.css +6 -0
  92. flowfile/web/static/assets/{api-023d1733.js → api-2d1394bd.js} +1 -1
  93. flowfile/web/static/assets/{api-cb00cce6.js → api-c908fffe.js} +1 -1
  94. flowfile/web/static/assets/{designer-6c322d8e.js → designer-1667687d.js} +2201 -705
  95. flowfile/web/static/assets/{designer-2197d782.css → designer-665e9408.css} +836 -201
  96. flowfile/web/static/assets/{documentation-4d1fafe1.js → documentation-5eed779e.js} +1 -1
  97. flowfile/web/static/assets/{dropDown-0b46dd77.js → dropDown-41ebe3c2.js} +1 -1
  98. flowfile/web/static/assets/{fullEditor-ec4e4f95.js → fullEditor-0670d32d.js} +2 -2
  99. flowfile/web/static/assets/{genericNodeSettings-def5879b.js → genericNodeSettings-38410ebf.js} +3 -3
  100. flowfile/web/static/assets/{index-681a3ed0.css → index-50508d4d.css} +8 -0
  101. flowfile/web/static/assets/{index-683fc198.js → index-5ec791df.js} +210 -31
  102. flowfile/web/static/assets/outputCsv-059583b6.js +86 -0
  103. flowfile/web/static/assets/{Output-48f81019.css → outputCsv-9cc59e0b.css} +0 -143
  104. flowfile/web/static/assets/outputExcel-76b1e02c.js +56 -0
  105. flowfile/web/static/assets/outputExcel-b41305c0.css +102 -0
  106. flowfile/web/static/assets/outputParquet-440fd4c7.js +31 -0
  107. flowfile/web/static/assets/outputParquet-cf8cf3f2.css +4 -0
  108. flowfile/web/static/assets/readCsv-9813903a.js +178 -0
  109. flowfile/web/static/assets/readCsv-bca3ed53.css +52 -0
  110. flowfile/web/static/assets/readExcel-7f40d237.js +203 -0
  111. flowfile/web/static/assets/readExcel-e1b381ea.css +64 -0
  112. flowfile/web/static/assets/readParquet-22d56002.js +26 -0
  113. flowfile/web/static/assets/readParquet-cee068e2.css +19 -0
  114. flowfile/web/static/assets/{secretApi-baceb6f9.js → secretApi-b3cb072e.js} +1 -1
  115. flowfile/web/static/assets/{selectDynamic-de91449a.js → selectDynamic-7ad95bca.js} +7 -7
  116. flowfile/web/static/assets/{selectDynamic-b062bc9b.css → selectDynamic-aa913ff4.css} +16 -16
  117. flowfile/web/static/assets/user-defined-icon-0ae16c90.png +0 -0
  118. flowfile/web/static/assets/{vue-codemirror.esm-dc5e3348.js → vue-codemirror.esm-b1dfaa46.js} +59 -33
  119. flowfile/web/static/assets/{vue-content-loader.es-ba94b82f.js → vue-content-loader.es-22bac17c.js} +1 -1
  120. flowfile/web/static/index.html +2 -2
  121. {flowfile-0.3.9.dist-info → flowfile-0.4.0.dist-info}/METADATA +1 -1
  122. {flowfile-0.3.9.dist-info → flowfile-0.4.0.dist-info}/RECORD +160 -102
  123. flowfile_core/configs/flow_logger.py +5 -13
  124. flowfile_core/configs/node_store/__init__.py +30 -0
  125. flowfile_core/configs/node_store/nodes.py +383 -99
  126. flowfile_core/configs/node_store/user_defined_node_registry.py +193 -0
  127. flowfile_core/configs/settings.py +2 -1
  128. flowfile_core/database/connection.py +5 -21
  129. flowfile_core/fileExplorer/funcs.py +239 -121
  130. flowfile_core/flowfile/flow_data_engine/flow_file_column/interface.py +4 -0
  131. flowfile_core/flowfile/flow_data_engine/flow_file_column/main.py +19 -34
  132. flowfile_core/flowfile/flow_data_engine/flow_file_column/type_registry.py +36 -0
  133. flowfile_core/flowfile/flow_data_engine/subprocess_operations/subprocess_operations.py +28 -8
  134. flowfile_core/flowfile/flow_graph.py +117 -34
  135. flowfile_core/flowfile/flow_node/flow_node.py +45 -13
  136. flowfile_core/flowfile/handler.py +22 -3
  137. flowfile_core/flowfile/manage/open_flowfile.py +9 -1
  138. flowfile_core/flowfile/node_designer/__init__.py +47 -0
  139. flowfile_core/flowfile/node_designer/_type_registry.py +197 -0
  140. flowfile_core/flowfile/node_designer/custom_node.py +371 -0
  141. flowfile_core/flowfile/node_designer/data_types.py +146 -0
  142. flowfile_core/flowfile/node_designer/ui_components.py +277 -0
  143. flowfile_core/flowfile/schema_callbacks.py +8 -4
  144. flowfile_core/flowfile/setting_generator/settings.py +0 -1
  145. flowfile_core/main.py +5 -1
  146. flowfile_core/routes/routes.py +73 -28
  147. flowfile_core/routes/user_defined_components.py +55 -0
  148. flowfile_core/schemas/input_schema.py +7 -1
  149. flowfile_core/schemas/output_model.py +5 -2
  150. flowfile_core/schemas/schemas.py +8 -3
  151. flowfile_core/schemas/transform_schema.py +1 -0
  152. flowfile_core/utils/validate_setup.py +3 -1
  153. flowfile_worker/__init__.py +6 -35
  154. flowfile_worker/main.py +5 -2
  155. flowfile_worker/routes.py +47 -5
  156. shared/__init__.py +15 -0
  157. shared/storage_config.py +258 -0
  158. flowfile/web/static/assets/GraphSolver-17fd26db.css +0 -68
  159. flowfile/web/static/assets/Pivot-f415e85f.css +0 -35
  160. flowfile/web/static/assets/Read-80dc1675.css +0 -197
  161. flowfile/web/static/assets/Read-c3b1929c.js +0 -701
  162. flowfile/web/static/assets/RecordCount-4e95f98e.js +0 -122
  163. flowfile/web/static/assets/Union-89fd73dc.js +0 -146
  164. flowfile/web/static/assets/Unpivot-246e9bbd.css +0 -77
  165. flowfile/web/static/assets/nodeTitle-a16db7c3.js +0 -227
  166. flowfile/web/static/assets/nodeTitle-f4b12bcb.css +0 -134
  167. {flowfile-0.3.9.dist-info → flowfile-0.4.0.dist-info}/LICENSE +0 -0
  168. {flowfile-0.3.9.dist-info → flowfile-0.4.0.dist-info}/WHEEL +0 -0
  169. {flowfile-0.3.9.dist-info → flowfile-0.4.0.dist-info}/entry_points.txt +0 -0
@@ -1,7 +1,9 @@
1
- import { u as useNodeStore } from "./vue-codemirror.esm-dc5e3348.js";
2
- import { d as defineComponent, r as ref, m as watch, c as openBlock, e as createElementBlock, p as createBaseVNode, f as createVNode, w as withCtx, F as Fragment, q as renderList, h as createBlock, u as unref, an as ElOption, ao as ElSelect, _ as _export_sfc, b as resolveComponent, i as createCommentVNode, l as computed, g as createTextVNode, a as axios, n as onMounted, R as nextTick, a7 as Teleport } from "./index-683fc198.js";
3
- import { w as warning_filled_default, F as FileBrowser } from "./designer-6c322d8e.js";
4
- import { N as NodeButton, a as NodeTitle } from "./nodeTitle-a16db7c3.js";
1
+ import { u as useNodeStore } from "./vue-codemirror.esm-b1dfaa46.js";
2
+ import { d as defineComponent, r as ref, l as computed, b as resolveComponent, c as openBlock, e as createElementBlock, p as createBaseVNode, h as createBlock, i as createCommentVNode, f as createVNode, w as withCtx, u as unref, g as createTextVNode, F as Fragment, q as renderList, a as axios, _ as _export_sfc } from "./index-5ec791df.js";
3
+ import CsvTableConfig from "./outputCsv-059583b6.js";
4
+ import ExcelTableConfig from "./outputExcel-76b1e02c.js";
5
+ import ParquetTableConfig from "./outputParquet-440fd4c7.js";
6
+ import { w as warning_filled_default, F as FileBrowser } from "./designer-1667687d.js";
5
7
  const createDefaultParquetSettings = () => {
6
8
  return {
7
9
  file_type: "parquet"
@@ -32,168 +34,7 @@ const createDefaultOutputSettings = () => {
32
34
  output_excel_table: createDefaultExcelSettings()
33
35
  };
34
36
  };
35
- const _hoisted_1$4 = { class: "csv-table-settings" };
36
- const _hoisted_2$2 = { class: "input-group" };
37
- const _hoisted_3$2 = { class: "input-group" };
38
- const _sfc_main$4 = /* @__PURE__ */ defineComponent({
39
- __name: "outputCsv",
40
- props: {
41
- modelValue: {
42
- type: Object,
43
- required: true
44
- }
45
- },
46
- emits: ["update:modelValue"],
47
- setup(__props, { emit: __emit }) {
48
- const props = __props;
49
- const emit = __emit;
50
- const localCsvTable = ref(props.modelValue);
51
- const csv_settings = {
52
- delimiter_options: [",", ";", "|", "tab"],
53
- encoding_options: ["utf-8", "ISO-8859-1", "ASCII"]
54
- };
55
- const updateParent = () => {
56
- emit("update:modelValue", localCsvTable.value);
57
- };
58
- watch(
59
- () => props.modelValue,
60
- (newVal) => {
61
- localCsvTable.value = newVal;
62
- },
63
- { deep: true }
64
- );
65
- return (_ctx, _cache) => {
66
- return openBlock(), createElementBlock("div", _hoisted_1$4, [
67
- createBaseVNode("div", _hoisted_2$2, [
68
- _cache[2] || (_cache[2] = createBaseVNode("label", { for: "delimiter" }, "File delimiter:", -1)),
69
- createVNode(unref(ElSelect), {
70
- modelValue: localCsvTable.value.delimiter,
71
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => localCsvTable.value.delimiter = $event),
72
- placeholder: "Select delimiter",
73
- size: "small",
74
- style: { "max-width": "200px" },
75
- onChange: updateParent
76
- }, {
77
- default: withCtx(() => [
78
- (openBlock(true), createElementBlock(Fragment, null, renderList(csv_settings.delimiter_options, (option) => {
79
- return openBlock(), createBlock(unref(ElOption), {
80
- key: option,
81
- label: option,
82
- value: option
83
- }, null, 8, ["label", "value"]);
84
- }), 128))
85
- ]),
86
- _: 1
87
- }, 8, ["modelValue"])
88
- ]),
89
- createBaseVNode("div", _hoisted_3$2, [
90
- _cache[3] || (_cache[3] = createBaseVNode("label", { for: "encoding" }, "File encoding:", -1)),
91
- createVNode(unref(ElSelect), {
92
- modelValue: localCsvTable.value.encoding,
93
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => localCsvTable.value.encoding = $event),
94
- placeholder: "Select encoding",
95
- size: "small",
96
- style: { "max-width": "200px" },
97
- onChange: updateParent
98
- }, {
99
- default: withCtx(() => [
100
- (openBlock(true), createElementBlock(Fragment, null, renderList(csv_settings.encoding_options, (option) => {
101
- return openBlock(), createBlock(unref(ElOption), {
102
- key: option,
103
- label: option,
104
- value: option
105
- }, null, 8, ["label", "value"]);
106
- }), 128))
107
- ]),
108
- _: 1
109
- }, 8, ["modelValue"])
110
- ])
111
- ]);
112
- };
113
- }
114
- });
115
- const outputCsv_vue_vue_type_style_index_0_scoped_9ecfb42a_lang = "";
116
- const CsvTableConfig = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-9ecfb42a"]]);
117
- const _hoisted_1$3 = { class: "excel-table-settings" };
118
- const _hoisted_2$1 = { class: "mandatory-section" };
119
- const _hoisted_3$1 = {
120
- key: 0,
121
- class: "section-divider"
122
- };
123
- const _sfc_main$3 = /* @__PURE__ */ defineComponent({
124
- __name: "outputExcel",
125
- props: {
126
- modelValue: {
127
- type: Object,
128
- required: true
129
- }
130
- },
131
- emits: ["update:modelValue"],
132
- setup(__props, { emit: __emit }) {
133
- const props = __props;
134
- const emit = __emit;
135
- const localExcelTable = ref(props.modelValue);
136
- const showOptionalSettings = ref(false);
137
- const updateParent = () => {
138
- emit("update:modelValue", localExcelTable.value);
139
- };
140
- watch(
141
- () => props.modelValue,
142
- (newVal) => {
143
- localExcelTable.value = newVal;
144
- },
145
- { deep: true }
146
- );
147
- return (_ctx, _cache) => {
148
- const _component_el_input = resolveComponent("el-input");
149
- return openBlock(), createElementBlock("div", _hoisted_1$3, [
150
- createBaseVNode("div", _hoisted_2$1, [
151
- _cache[1] || (_cache[1] = createBaseVNode("label", { for: "sheet-name" }, "Sheet Name:", -1)),
152
- createVNode(_component_el_input, {
153
- id: "sheet-name",
154
- modelValue: localExcelTable.value.sheet_name,
155
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => localExcelTable.value.sheet_name = $event),
156
- type: "text",
157
- required: "",
158
- size: "small",
159
- onInput: updateParent
160
- }, null, 8, ["modelValue"]),
161
- showOptionalSettings.value ? (openBlock(), createElementBlock("hr", _hoisted_3$1)) : createCommentVNode("", true)
162
- ])
163
- ]);
164
- };
165
- }
166
- });
167
- const outputExcel_vue_vue_type_style_index_0_scoped_45248953_lang = "";
168
- const ExcelTableConfig = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-45248953"]]);
169
- const _hoisted_1$2 = { class: "parquet-table-settings" };
170
- const _sfc_main$2 = /* @__PURE__ */ defineComponent({
171
- __name: "outputParquet",
172
- props: {
173
- modelValue: {
174
- type: Object,
175
- required: true
176
- }
177
- },
178
- emits: ["update:modelValue"],
179
- setup(__props, { emit: __emit }) {
180
- const props = __props;
181
- const localParquetTable = ref(props.modelValue);
182
- watch(
183
- () => props.modelValue,
184
- (newVal) => {
185
- localParquetTable.value = newVal;
186
- },
187
- { deep: true }
188
- );
189
- return (_ctx, _cache) => {
190
- return openBlock(), createElementBlock("div", _hoisted_1$2);
191
- };
192
- }
193
- });
194
- const outputParquet_vue_vue_type_style_index_0_scoped_7db0128e_lang = "";
195
- const ParquetTableConfig = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-7db0128e"]]);
196
- const _hoisted_1$1 = {
37
+ const _hoisted_1 = {
197
38
  key: 0,
198
39
  class: "listbox-wrapper"
199
40
  };
@@ -205,8 +46,8 @@ const _hoisted_4 = {
205
46
  };
206
47
  const _hoisted_5 = { class: "main-part" };
207
48
  const _hoisted_6 = { class: "file-type-row" };
208
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
209
- __name: "output",
49
+ const _sfc_main = /* @__PURE__ */ defineComponent({
50
+ __name: "Output",
210
51
  setup(__props, { expose: __expose }) {
211
52
  const nodeStore = useNodeStore();
212
53
  const nodeOutput = ref(null);
@@ -306,7 +147,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
306
147
  const nodeResult = await nodeStore.getNodeData(nodeId, false);
307
148
  if ((nodeResult == null ? void 0 : nodeResult.setting_input) && nodeResult.setting_input.is_setup) {
308
149
  nodeOutput.value = nodeResult.setting_input;
309
- console.log("this is all good", nodeResult == null ? void 0 : nodeResult.setting_input);
310
150
  } else {
311
151
  nodeOutput.value = {
312
152
  output_settings: createDefaultOutputSettings(),
@@ -339,7 +179,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
339
179
  const _component_el_option = resolveComponent("el-option");
340
180
  const _component_el_select = resolveComponent("el-select");
341
181
  const _component_el_dialog = resolveComponent("el-dialog");
342
- return dataLoaded.value && nodeOutput.value && nodeOutput.value.output_settings ? (openBlock(), createElementBlock("div", _hoisted_1$1, [
182
+ return dataLoaded.value && nodeOutput.value && nodeOutput.value.output_settings ? (openBlock(), createElementBlock("div", _hoisted_1, [
343
183
  createBaseVNode("div", _hoisted_2, [
344
184
  createBaseVNode("div", _hoisted_3, [
345
185
  createBaseVNode("label", {
@@ -459,78 +299,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
459
299
  };
460
300
  }
461
301
  });
462
- const output_vue_vue_type_style_index_0_scoped_3955fb0e_lang = "";
463
- const outputPage = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-3955fb0e"]]);
464
- const _hoisted_1 = { ref: "el" };
465
- const _sfc_main = /* @__PURE__ */ defineComponent({
466
- __name: "Output",
467
- props: {
468
- nodeId: {
469
- type: Number,
470
- required: true
471
- }
472
- },
473
- setup(__props) {
474
- const props = __props;
475
- const nodeStore = useNodeStore();
476
- ref(false);
477
- const childComp = ref(null);
478
- const closeOnDrawer = () => {
479
- var _a;
480
- console.log("closeOnDrawer");
481
- if (drawer.value) {
482
- (_a = childComp.value) == null ? void 0 : _a.pushNodeData();
483
- drawer.value = false;
484
- }
485
- };
486
- const drawer = ref(false);
487
- const openDrawer = async () => {
488
- if (nodeStore.node_id === props.nodeId) {
489
- return;
490
- }
491
- nodeStore.closeDrawer();
492
- drawer.value = true;
493
- const drawerOpen = nodeStore.isDrawerOpen;
494
- nodeStore.isDrawerOpen = true;
495
- await nextTick();
496
- if (nodeStore.node_id === props.nodeId && drawerOpen) {
497
- return;
498
- }
499
- if (childComp.value) {
500
- childComp.value.loadNodeData(props.nodeId);
501
- nodeStore.openDrawer(closeOnDrawer);
502
- }
503
- };
504
- onMounted(async () => {
505
- await nextTick();
506
- });
507
- return (_ctx, _cache) => {
508
- return openBlock(), createElementBlock("div", _hoisted_1, [
509
- createVNode(NodeButton, {
510
- ref: "nodeButton",
511
- "node-id": __props.nodeId,
512
- "image-src": "output.png",
513
- title: `${__props.nodeId}: Write data`,
514
- onClick: openDrawer
515
- }, null, 8, ["node-id", "title"]),
516
- drawer.value ? (openBlock(), createBlock(Teleport, {
517
- key: 0,
518
- to: "#nodesettings"
519
- }, [
520
- createVNode(NodeTitle, {
521
- title: "Write data",
522
- intro: "Write data to a file or database"
523
- }),
524
- createVNode(outputPage, {
525
- ref_key: "childComp",
526
- ref: childComp,
527
- "node-id": __props.nodeId
528
- }, null, 8, ["node-id"])
529
- ])) : createCommentVNode("", true)
530
- ], 512);
531
- };
532
- }
533
- });
302
+ const Output_vue_vue_type_style_index_0_scoped_86e92d7d_lang = "";
303
+ const Output = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-86e92d7d"]]);
534
304
  export {
535
- _sfc_main as default
305
+ Output as default
536
306
  };
@@ -0,0 +1,22 @@
1
+
2
+ .context-menu[data-v-868bfce8] {
3
+ position: fixed;
4
+ z-index: 1000;
5
+ border: 1px solid #ccc;
6
+ background-color: white;
7
+ padding: 8px;
8
+ box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
9
+ border-radius: 4px;
10
+ }
11
+ .context-menu ul[data-v-868bfce8] {
12
+ list-style: none;
13
+ padding: 0;
14
+ margin: 0;
15
+ }
16
+ .context-menu li[data-v-868bfce8] {
17
+ padding: 8px 16px;
18
+ cursor: pointer;
19
+ }
20
+ .context-menu li[data-v-868bfce8]:hover {
21
+ background-color: #f0f0f0;
22
+ }
@@ -1,67 +1,11 @@
1
- import { d as defineComponent, l as computed, c as openBlock, h as createBlock, w as withCtx, f as createVNode, u as unref, ap as ElIcon, p as createBaseVNode, e as createElementBlock, i as createCommentVNode, aq as ElPopover, _ as _export_sfc, r as ref, n as onMounted, R as nextTick, o as onUnmounted, b as resolveComponent, F as Fragment, q as renderList, s as normalizeClass, v as withModifiers, t as toDisplayString, a7 as Teleport } from "./index-683fc198.js";
2
- import { u as useNodeStore } from "./vue-codemirror.esm-dc5e3348.js";
3
- import { C as ContextMenu, S as SettingsSection } from "./SettingsSection-695ac487.js";
4
- import { G as GenericNodeSettings } from "./genericNodeSettings-def5879b.js";
5
- import { N as NodeButton, a as NodeTitle } from "./nodeTitle-a16db7c3.js";
6
- import "./designer-6c322d8e.js";
7
- const _hoisted_1$2 = { class: "validation-wrapper" };
8
- const _hoisted_2$1 = {
9
- key: 0,
10
- class: "error-message"
11
- };
12
- const _hoisted_3$1 = {
13
- key: 1,
14
- class: "error-message"
15
- };
16
- const _hoisted_4$1 = {
17
- key: 2,
18
- class: "error-message"
19
- };
20
- const _sfc_main$2 = /* @__PURE__ */ defineComponent({
21
- __name: "PivotValidation",
22
- props: {
23
- pivotInput: {}
24
- },
25
- setup(__props) {
26
- const props = __props;
27
- const showValidationMessages = computed(() => {
28
- return !props.pivotInput.pivot_column || !props.pivotInput.value_col || props.pivotInput.aggregations.length === 0;
29
- });
30
- return (_ctx, _cache) => {
31
- return showValidationMessages.value ? (openBlock(), createBlock(unref(ElPopover), {
32
- key: 0,
33
- placement: "top",
34
- width: "200",
35
- trigger: "hover",
36
- content: "Some required fields are missing"
37
- }, {
38
- reference: withCtx(() => [
39
- createVNode(unref(ElIcon), {
40
- color: "#FF6B6B",
41
- class: "warning-icon"
42
- }, {
43
- default: withCtx(() => _cache[0] || (_cache[0] = [
44
- createBaseVNode("i", { class: "el-icon-warning" }, null, -1)
45
- ])),
46
- _: 1,
47
- __: [0]
48
- })
49
- ]),
50
- default: withCtx(() => [
51
- createBaseVNode("div", _hoisted_1$2, [
52
- !_ctx.pivotInput.pivot_column ? (openBlock(), createElementBlock("p", _hoisted_2$1, "Pivot Column cannot be empty.")) : createCommentVNode("", true),
53
- !_ctx.pivotInput.value_col ? (openBlock(), createElementBlock("p", _hoisted_3$1, "Value Column cannot be empty.")) : createCommentVNode("", true),
54
- _ctx.pivotInput.aggregations.length === 0 ? (openBlock(), createElementBlock("p", _hoisted_4$1, " At least one aggregation must be selected. ")) : createCommentVNode("", true)
55
- ])
56
- ]),
57
- _: 1
58
- })) : createCommentVNode("", true);
59
- };
60
- }
61
- });
62
- const PivotValidation_vue_vue_type_style_index_0_scoped_3eb585b2_lang = "";
63
- const PivotValidation = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-3eb585b2"]]);
64
- const _hoisted_1$1 = {
1
+ import { d as defineComponent, r as ref, l as computed, n as onMounted, R as nextTick, o as onUnmounted, b as resolveComponent, c as openBlock, e as createElementBlock, f as createVNode, w as withCtx, p as createBaseVNode, F as Fragment, q as renderList, s as normalizeClass, v as withModifiers, t as toDisplayString, h as createBlock, i as createCommentVNode, _ as _export_sfc } from "./index-5ec791df.js";
2
+ import { u as useNodeStore } from "./vue-codemirror.esm-b1dfaa46.js";
3
+ import ContextMenu from "./ContextMenu-eca26a03.js";
4
+ import SettingsSection from "./SettingsSection-310b61c0.js";
5
+ import PivotValidation from "./PivotValidation-26546cbc.js";
6
+ import { G as GenericNodeSettings } from "./genericNodeSettings-38410ebf.js";
7
+ import "./designer-1667687d.js";
8
+ const _hoisted_1 = {
65
9
  key: 0,
66
10
  class: "listbox-wrapper"
67
11
  };
@@ -70,8 +14,8 @@ const _hoisted_3 = { class: "listbox" };
70
14
  const _hoisted_4 = ["onClick", "onContextmenu", "onDragstart", "onDrop"];
71
15
  const _hoisted_5 = { class: "listbox-wrapper" };
72
16
  const _hoisted_6 = { class: "list-wrapper" };
73
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
74
- __name: "pivot",
17
+ const _sfc_main = /* @__PURE__ */ defineComponent({
18
+ __name: "Pivot",
75
19
  setup(__props, { expose: __expose }) {
76
20
  const nodeStore = useNodeStore();
77
21
  const showContextMenu = ref(false);
@@ -209,7 +153,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
209
153
  }
210
154
  }
211
155
  dataLoaded.value = true;
212
- nodeStore.isDrawerOpen = true;
213
156
  };
214
157
  const handleClickOutside = (event) => {
215
158
  const targetEvent = event.target;
@@ -224,7 +167,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
224
167
  if (pivotInput.value) {
225
168
  nodeStore.updateSettings(nodePivot);
226
169
  }
227
- nodeStore.isDrawerOpen = false;
228
170
  };
229
171
  __expose({
230
172
  loadNodeData,
@@ -240,7 +182,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
240
182
  return (_ctx, _cache) => {
241
183
  const _component_el_option = resolveComponent("el-option");
242
184
  const _component_el_select = resolveComponent("el-select");
243
- return dataLoaded.value && nodePivot.value ? (openBlock(), createElementBlock("div", _hoisted_1$1, [
185
+ return dataLoaded.value && nodePivot.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
244
186
  createVNode(GenericNodeSettings, {
245
187
  modelValue: nodePivot.value,
246
188
  "onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => nodePivot.value = $event)
@@ -336,74 +278,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
336
278
  };
337
279
  }
338
280
  });
339
- const pivot_vue_vue_type_style_index_0_scoped_d0f14439_lang = "";
340
- const readInput = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-d0f14439"]]);
341
- const _hoisted_1 = { ref: "el" };
342
- const _sfc_main = /* @__PURE__ */ defineComponent({
343
- __name: "Pivot",
344
- props: {
345
- nodeId: {
346
- type: Number,
347
- required: true
348
- }
349
- },
350
- setup(__props) {
351
- const nodeStore = useNodeStore();
352
- const childComp = ref(null);
353
- const props = __props;
354
- const drawer = ref(false);
355
- const closeOnDrawer = () => {
356
- var _a;
357
- drawer.value = false;
358
- (_a = childComp.value) == null ? void 0 : _a.pushNodeData();
359
- };
360
- const openDrawer = async () => {
361
- if (nodeStore.node_id === props.nodeId) {
362
- return;
363
- }
364
- nodeStore.closeDrawer();
365
- drawer.value = true;
366
- const drawerOpen = nodeStore.isDrawerOpen;
367
- nodeStore.isDrawerOpen = true;
368
- await nextTick();
369
- if (nodeStore.node_id === props.nodeId && drawerOpen) {
370
- return;
371
- }
372
- if (childComp.value) {
373
- childComp.value.loadNodeData(props.nodeId);
374
- nodeStore.openDrawer(closeOnDrawer);
375
- }
376
- };
377
- onMounted(async () => {
378
- await nextTick();
379
- });
380
- return (_ctx, _cache) => {
381
- return openBlock(), createElementBlock("div", _hoisted_1, [
382
- createVNode(NodeButton, {
383
- ref: "nodeButton",
384
- "node-id": __props.nodeId,
385
- "image-src": "pivot.png",
386
- title: `${__props.nodeId}: Pivot data`,
387
- onClick: openDrawer
388
- }, null, 8, ["node-id", "title"]),
389
- drawer.value ? (openBlock(), createBlock(Teleport, {
390
- key: 0,
391
- to: "#nodesettings"
392
- }, [
393
- createVNode(NodeTitle, {
394
- title: "Pivot data",
395
- intro: "Pivot rows to columns, to understand your data better"
396
- }),
397
- createVNode(readInput, {
398
- ref_key: "childComp",
399
- ref: childComp,
400
- "node-id": __props.nodeId
401
- }, null, 8, ["node-id"])
402
- ])) : createCommentVNode("", true)
403
- ], 512);
404
- };
405
- }
406
- });
281
+ const Pivot_vue_vue_type_style_index_0_scoped_868bfce8_lang = "";
282
+ const Pivot = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-868bfce8"]]);
407
283
  export {
408
- _sfc_main as default
284
+ Pivot as default
409
285
  };
@@ -0,0 +1,61 @@
1
+ import { d as defineComponent, l as computed, c as openBlock, h as createBlock, w as withCtx, f as createVNode, p as createBaseVNode, u as unref, ar as ElIcon, e as createElementBlock, i as createCommentVNode, as as ElPopover, _ as _export_sfc } from "./index-5ec791df.js";
2
+ const _hoisted_1 = { class: "validation-wrapper" };
3
+ const _hoisted_2 = {
4
+ key: 0,
5
+ class: "error-message"
6
+ };
7
+ const _hoisted_3 = {
8
+ key: 1,
9
+ class: "error-message"
10
+ };
11
+ const _hoisted_4 = {
12
+ key: 2,
13
+ class: "error-message"
14
+ };
15
+ const _sfc_main = /* @__PURE__ */ defineComponent({
16
+ __name: "PivotValidation",
17
+ props: {
18
+ pivotInput: {}
19
+ },
20
+ setup(__props) {
21
+ const props = __props;
22
+ const showValidationMessages = computed(() => {
23
+ return !props.pivotInput.pivot_column || !props.pivotInput.value_col || props.pivotInput.aggregations.length === 0;
24
+ });
25
+ return (_ctx, _cache) => {
26
+ return showValidationMessages.value ? (openBlock(), createBlock(unref(ElPopover), {
27
+ key: 0,
28
+ placement: "top",
29
+ width: "200",
30
+ trigger: "hover",
31
+ content: "Some required fields are missing"
32
+ }, {
33
+ reference: withCtx(() => [
34
+ createVNode(unref(ElIcon), {
35
+ color: "#FF6B6B",
36
+ class: "warning-icon"
37
+ }, {
38
+ default: withCtx(() => _cache[0] || (_cache[0] = [
39
+ createBaseVNode("i", { class: "el-icon-warning" }, null, -1)
40
+ ])),
41
+ _: 1,
42
+ __: [0]
43
+ })
44
+ ]),
45
+ default: withCtx(() => [
46
+ createBaseVNode("div", _hoisted_1, [
47
+ !_ctx.pivotInput.pivot_column ? (openBlock(), createElementBlock("p", _hoisted_2, "Pivot Column cannot be empty.")) : createCommentVNode("", true),
48
+ !_ctx.pivotInput.value_col ? (openBlock(), createElementBlock("p", _hoisted_3, "Value Column cannot be empty.")) : createCommentVNode("", true),
49
+ _ctx.pivotInput.aggregations.length === 0 ? (openBlock(), createElementBlock("p", _hoisted_4, " At least one aggregation must be selected. ")) : createCommentVNode("", true)
50
+ ])
51
+ ]),
52
+ _: 1
53
+ })) : createCommentVNode("", true);
54
+ };
55
+ }
56
+ });
57
+ const PivotValidation_vue_vue_type_style_index_0_scoped_3eb585b2_lang = "";
58
+ const PivotValidation = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-3eb585b2"]]);
59
+ export {
60
+ PivotValidation as default
61
+ };
@@ -0,0 +1,13 @@
1
+
2
+ .validation-wrapper[data-v-1561039d] {
3
+ background-color: #ffffff;
4
+ }
5
+ .error-message[data-v-1561039d] {
6
+ color: #991b1b;
7
+ margin: 5px 0;
8
+ font-size: 12px;
9
+ }
10
+ .warning-icon[data-v-1561039d] {
11
+ cursor: pointer;
12
+ font-size: 24px;
13
+ }
@@ -0,0 +1,13 @@
1
+
2
+ .validation-wrapper[data-v-3eb585b2] {
3
+ background-color: #ffffff;
4
+ }
5
+ .error-message[data-v-3eb585b2] {
6
+ color: #991b1b;
7
+ margin: 5px 0;
8
+ font-size: 12px;
9
+ }
10
+ .warning-icon[data-v-3eb585b2] {
11
+ cursor: pointer;
12
+ font-size: 24px;
13
+ }
@@ -0,0 +1,61 @@
1
+ import { d as defineComponent, l as computed, c as openBlock, h as createBlock, w as withCtx, f as createVNode, p as createBaseVNode, u as unref, ar as ElIcon, e as createElementBlock, i as createCommentVNode, as as ElPopover, _ as _export_sfc } from "./index-5ec791df.js";
2
+ const _hoisted_1 = { class: "validation-wrapper" };
3
+ const _hoisted_2 = {
4
+ key: 0,
5
+ class: "error-message"
6
+ };
7
+ const _hoisted_3 = {
8
+ key: 1,
9
+ class: "error-message"
10
+ };
11
+ const _hoisted_4 = {
12
+ key: 2,
13
+ class: "error-message"
14
+ };
15
+ const _sfc_main = /* @__PURE__ */ defineComponent({
16
+ __name: "PivotValidation",
17
+ props: {
18
+ pivotInput: {}
19
+ },
20
+ setup(__props) {
21
+ const props = __props;
22
+ const showValidationMessages = computed(() => {
23
+ return !props.pivotInput.pivot_column || !props.pivotInput.value_col || props.pivotInput.aggregations.length === 0;
24
+ });
25
+ return (_ctx, _cache) => {
26
+ return showValidationMessages.value ? (openBlock(), createBlock(unref(ElPopover), {
27
+ key: 0,
28
+ placement: "top",
29
+ width: "200",
30
+ trigger: "hover",
31
+ content: "Some required fields are missing"
32
+ }, {
33
+ reference: withCtx(() => [
34
+ createVNode(unref(ElIcon), {
35
+ color: "#FF6B6B",
36
+ class: "warning-icon"
37
+ }, {
38
+ default: withCtx(() => _cache[0] || (_cache[0] = [
39
+ createBaseVNode("i", { class: "el-icon-warning" }, null, -1)
40
+ ])),
41
+ _: 1,
42
+ __: [0]
43
+ })
44
+ ]),
45
+ default: withCtx(() => [
46
+ createBaseVNode("div", _hoisted_1, [
47
+ !_ctx.pivotInput.pivot_column ? (openBlock(), createElementBlock("p", _hoisted_2, "Pivot Column cannot be empty.")) : createCommentVNode("", true),
48
+ !_ctx.pivotInput.value_col ? (openBlock(), createElementBlock("p", _hoisted_3, "Value Column cannot be empty.")) : createCommentVNode("", true),
49
+ _ctx.pivotInput.aggregations.length === 0 ? (openBlock(), createElementBlock("p", _hoisted_4, " At least one aggregation must be selected. ")) : createCommentVNode("", true)
50
+ ])
51
+ ]),
52
+ _: 1
53
+ })) : createCommentVNode("", true);
54
+ };
55
+ }
56
+ });
57
+ const PivotValidation_vue_vue_type_style_index_0_scoped_1561039d_lang = "";
58
+ const PivotValidation = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-1561039d"]]);
59
+ export {
60
+ PivotValidation as default
61
+ };