Flowfile 0.3.8__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 (161) hide show
  1. flowfile/__init__.py +4 -3
  2. flowfile/api.py +1 -1
  3. flowfile/web/static/assets/{CloudConnectionManager-c20a740f.js → CloudConnectionManager-d7c2c028.js} +2 -2
  4. flowfile/web/static/assets/{CloudStorageReader-960b400a.js → CloudStorageReader-d467329f.js} +11 -78
  5. flowfile/web/static/assets/{CloudStorageWriter-e3decbdd.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-d67e2405.js → CrossJoin-cf68ec7a.js} +14 -84
  15. flowfile/web/static/assets/{DatabaseConnectionSettings-a81e0f7e.js → DatabaseConnectionSettings-435c5dd8.js} +3 -3
  16. flowfile/web/static/assets/{DatabaseManager-9ea35e84.js → DatabaseManager-349e33a8.js} +2 -2
  17. flowfile/web/static/assets/{DatabaseReader-9578bfa5.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-19531098.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-2297ef96.js → ExternalSource-609a265c.js} +8 -79
  23. flowfile/web/static/assets/{Filter-f211c03a.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-4207ea31.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-bf120df0.js → FuzzyMatch-bdf70248.js} +16 -87
  29. flowfile/web/static/assets/{GraphSolver-5bb7497a.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-92c81b65.js → GroupBy-eaddadde.js} +12 -75
  33. flowfile/web/static/assets/{Join-4e49a274.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-90998ae8.js → ManualInput-e8bfc0be.js} +11 -82
  37. flowfile/web/static/assets/{Output-81e3e917.js → Output-7303bb09.js} +13 -243
  38. flowfile/web/static/assets/Output-ddc9079f.css +37 -0
  39. flowfile/web/static/assets/{Pivot-a3419842.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-72710deb.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-10baf191.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-3ed9a0ae.js → Sample-f06cb97a.js} +8 -77
  53. flowfile/web/static/assets/{SecretManager-0d49c0e8.js → SecretManager-37f34886.js} +2 -2
  54. flowfile/web/static/assets/{Select-8a02a0b3.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-4c0f45f5.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-f55c9f9d.js → Sort-51b1ee4d.js} +12 -97
  63. flowfile/web/static/assets/{TextToRows-5dbc2145.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-a1768e52.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-46b250da.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-25ac84cc.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-40476474.js → VueGraphicWalker-5324d566.js} +4 -264
  75. flowfile/web/static/assets/VueGraphicWalker-ed5ab88b.css +6 -0
  76. flowfile/web/static/assets/{api-6ef0dcef.js → api-271ed117.js} +1 -1
  77. flowfile/web/static/assets/{api-a0abbdc7.js → api-31e4fea6.js} +1 -1
  78. flowfile/web/static/assets/{designer-186f2e71.css → designer-091bdc3f.css} +819 -184
  79. flowfile/web/static/assets/{designer-13eabd83.js → designer-bf3d9487.js} +2214 -680
  80. flowfile/web/static/assets/{documentation-b87e7f6f.js → documentation-4d0a1cea.js} +1 -1
  81. flowfile/web/static/assets/{dropDown-13564764.js → dropDown-025888df.js} +1 -1
  82. flowfile/web/static/assets/{fullEditor-fd2cd6f9.js → fullEditor-1df991ec.js} +2 -2
  83. flowfile/web/static/assets/{genericNodeSettings-71e11604.js → genericNodeSettings-d3b2b2ac.js} +3 -3
  84. flowfile/web/static/assets/{index-f6c15e76.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-dd636aa2.js → secretApi-ce823eee.js} +1 -1
  98. flowfile/web/static/assets/{selectDynamic-af36165e.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-2847001e.js → vue-codemirror.esm-9ed00d50.js} +29 -33
  101. flowfile/web/static/assets/{vue-content-loader.es-0371da73.js → vue-content-loader.es-7bca2d9b.js} +1 -1
  102. flowfile/web/static/index.html +1 -1
  103. {flowfile-0.3.8.dist-info → flowfile-0.3.10.dist-info}/METADATA +2 -1
  104. {flowfile-0.3.8.dist-info → flowfile-0.3.10.dist-info}/RECORD +147 -117
  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 +6 -3
  108. flowfile_core/database/connection.py +5 -21
  109. flowfile_core/fileExplorer/funcs.py +239 -121
  110. flowfile_core/flowfile/code_generator/code_generator.py +36 -0
  111. flowfile_core/flowfile/flow_data_engine/flow_data_engine.py +60 -80
  112. flowfile_core/flowfile/flow_data_engine/flow_file_column/main.py +61 -0
  113. flowfile_core/flowfile/flow_data_engine/fuzzy_matching/prepare_for_fuzzy_match.py +44 -3
  114. flowfile_core/flowfile/flow_data_engine/subprocess_operations/models.py +3 -3
  115. flowfile_core/flowfile/flow_data_engine/subprocess_operations/subprocess_operations.py +33 -10
  116. flowfile_core/flowfile/flow_graph.py +223 -118
  117. flowfile_core/flowfile/flow_node/flow_node.py +56 -19
  118. flowfile_core/flowfile/flow_node/models.py +0 -2
  119. flowfile_core/flowfile/flow_node/schema_callback.py +138 -43
  120. flowfile_core/flowfile/graph_tree/graph_tree.py +250 -0
  121. flowfile_core/flowfile/graph_tree/models.py +15 -0
  122. flowfile_core/flowfile/handler.py +22 -3
  123. flowfile_core/flowfile/manage/compatibility_enhancements.py +1 -1
  124. flowfile_core/flowfile/{flow_data_engine/fuzzy_matching/settings_validator.py → schema_callbacks.py} +72 -16
  125. flowfile_core/flowfile/setting_generator/settings.py +2 -2
  126. flowfile_core/flowfile/util/execution_orderer.py +9 -0
  127. flowfile_core/flowfile/util/node_skipper.py +8 -0
  128. flowfile_core/main.py +4 -1
  129. flowfile_core/routes/routes.py +59 -10
  130. flowfile_core/schemas/input_schema.py +0 -1
  131. flowfile_core/schemas/output_model.py +5 -2
  132. flowfile_core/schemas/schemas.py +48 -3
  133. flowfile_core/schemas/transform_schema.py +28 -38
  134. flowfile_frame/__init__.py +1 -4
  135. flowfile_frame/flow_frame.py +33 -4
  136. flowfile_frame/flow_frame.pyi +2 -0
  137. flowfile_worker/__init__.py +6 -35
  138. flowfile_worker/funcs.py +7 -3
  139. flowfile_worker/main.py +5 -2
  140. flowfile_worker/models.py +3 -1
  141. flowfile_worker/routes.py +47 -5
  142. shared/__init__.py +15 -0
  143. shared/storage_config.py +243 -0
  144. flowfile/web/static/assets/GraphSolver-17fd26db.css +0 -68
  145. flowfile/web/static/assets/Pivot-f415e85f.css +0 -35
  146. flowfile/web/static/assets/Read-80dc1675.css +0 -197
  147. flowfile/web/static/assets/Read-c4059daf.js +0 -701
  148. flowfile/web/static/assets/RecordCount-c2b5e095.js +0 -122
  149. flowfile/web/static/assets/Union-f2aefdc9.js +0 -146
  150. flowfile/web/static/assets/Unpivot-246e9bbd.css +0 -77
  151. flowfile/web/static/assets/nodeTitle-988d9efe.js +0 -227
  152. flowfile/web/static/assets/nodeTitle-f4b12bcb.css +0 -134
  153. flowfile_worker/polars_fuzzy_match/matcher.py +0 -435
  154. flowfile_worker/polars_fuzzy_match/models.py +0 -36
  155. flowfile_worker/polars_fuzzy_match/pre_process.py +0 -213
  156. flowfile_worker/polars_fuzzy_match/process.py +0 -86
  157. flowfile_worker/polars_fuzzy_match/utils.py +0 -50
  158. {flowfile-0.3.8.dist-info → flowfile-0.3.10.dist-info}/LICENSE +0 -0
  159. {flowfile-0.3.8.dist-info → flowfile-0.3.10.dist-info}/WHEEL +0 -0
  160. {flowfile-0.3.8.dist-info → flowfile-0.3.10.dist-info}/entry_points.txt +0 -0
  161. {flowfile_worker/polars_fuzzy_match → flowfile_core/flowfile/graph_tree}/__init__.py +0 -0
@@ -1,10 +1,9 @@
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, t as toDisplayString, i as createCommentVNode, T as normalizeStyle, v as withModifiers, h as createBlock, u as unref, _ as _export_sfc, a7 as Teleport } from "./index-f6c15e76.js";
2
- import { u as useNodeStore } from "./vue-codemirror.esm-2847001e.js";
3
- import { C as CodeLoader } from "./vue-content-loader.es-0371da73.js";
4
- import { G as GenericNodeSettings } from "./genericNodeSettings-71e11604.js";
5
- import { N as NodeButton, a as NodeTitle } from "./nodeTitle-988d9efe.js";
6
- import "./designer-13eabd83.js";
7
- const _hoisted_1$1 = {
1
+ import { d as defineComponent, r as ref, l as computed, 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, t as toDisplayString, i as createCommentVNode, T as normalizeStyle, v as withModifiers, h as createBlock, u as unref, _ as _export_sfc } from "./index-d0518598.js";
2
+ import { u as useNodeStore } from "./vue-codemirror.esm-9ed00d50.js";
3
+ import { C as CodeLoader } from "./vue-content-loader.es-7bca2d9b.js";
4
+ import { G as GenericNodeSettings } from "./genericNodeSettings-d3b2b2ac.js";
5
+ import "./designer-bf3d9487.js";
6
+ const _hoisted_1 = {
8
7
  key: 0,
9
8
  class: "listbox-wrapper"
10
9
  };
@@ -22,8 +21,8 @@ const _hoisted_6 = {
22
21
  const _hoisted_7 = { class: "styled-table" };
23
22
  const _hoisted_8 = { key: 0 };
24
23
  const _hoisted_9 = ["onContextmenu"];
25
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26
- __name: "sort",
24
+ const _sfc_main = /* @__PURE__ */ defineComponent({
25
+ __name: "Sort",
27
26
  setup(__props, { expose: __expose }) {
28
27
  const nodeStore = useNodeStore();
29
28
  const showContextMenu = ref(false);
@@ -103,34 +102,17 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
103
102
  nodeSort.value.is_setup = true;
104
103
  }
105
104
  };
106
- const handleClickOutside = (event) => {
107
- var _a;
108
- if (!((_a = contextMenuRef.value) == null ? void 0 : _a.contains(event.target))) {
109
- showContextMenu.value = false;
110
- contextMenuColumn.value = null;
111
- showContextMenuRemove.value = false;
112
- }
113
- };
114
105
  const pushNodeData = async () => {
115
106
  nodeStore.updateSettings(nodeSort);
116
- dataLoaded.value = false;
117
- nodeStore.isDrawerOpen = false;
118
107
  };
119
108
  __expose({
120
109
  loadNodeData,
121
110
  pushNodeData
122
111
  });
123
- onMounted(async () => {
124
- await nextTick();
125
- window.addEventListener("click", handleClickOutside);
126
- });
127
- onUnmounted(() => {
128
- window.removeEventListener("click", handleClickOutside);
129
- });
130
112
  return (_ctx, _cache) => {
131
113
  const _component_el_option = resolveComponent("el-option");
132
114
  const _component_el_select = resolveComponent("el-select");
133
- return dataLoaded.value && nodeSort.value ? (openBlock(), createElementBlock("div", _hoisted_1$1, [
115
+ return dataLoaded.value && nodeSort.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
134
116
  createVNode(GenericNodeSettings, {
135
117
  modelValue: nodeSort.value,
136
118
  "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => nodeSort.value = $event)
@@ -235,75 +217,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
235
217
  };
236
218
  }
237
219
  });
238
- const sort_vue_vue_type_style_index_0_scoped_001e3d98_lang = "";
239
- const readInput = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-001e3d98"]]);
240
- const _hoisted_1 = { ref: "el" };
241
- const _sfc_main = /* @__PURE__ */ defineComponent({
242
- __name: "Sort",
243
- props: {
244
- nodeId: {
245
- type: Number,
246
- required: true
247
- }
248
- },
249
- setup(__props) {
250
- const nodeStore = useNodeStore();
251
- const childComp = ref(null);
252
- const drawer = ref(false);
253
- const props = __props;
254
- const closeOnDrawer = () => {
255
- var _a;
256
- (_a = childComp.value) == null ? void 0 : _a.pushNodeData();
257
- drawer.value = false;
258
- nodeStore.isDrawerOpen = false;
259
- };
260
- const openDrawer = async () => {
261
- if (nodeStore.node_id === props.nodeId) {
262
- return;
263
- }
264
- nodeStore.closeDrawer();
265
- drawer.value = true;
266
- const drawerOpen = nodeStore.isDrawerOpen;
267
- nodeStore.isDrawerOpen = true;
268
- await nextTick();
269
- if (nodeStore.node_id === props.nodeId && drawerOpen) {
270
- return;
271
- }
272
- if (childComp.value) {
273
- childComp.value.loadNodeData(props.nodeId);
274
- nodeStore.openDrawer(closeOnDrawer);
275
- }
276
- };
277
- onMounted(async () => {
278
- await nextTick();
279
- });
280
- return (_ctx, _cache) => {
281
- return openBlock(), createElementBlock("div", _hoisted_1, [
282
- createVNode(NodeButton, {
283
- ref: "nodeButton",
284
- "node-id": __props.nodeId,
285
- "image-src": "sort.png",
286
- title: `${__props.nodeId}: Sort`,
287
- onClick: openDrawer
288
- }, null, 8, ["node-id", "title"]),
289
- drawer.value ? (openBlock(), createBlock(Teleport, {
290
- key: 0,
291
- to: "#nodesettings"
292
- }, [
293
- createVNode(NodeTitle, {
294
- title: "Sort data",
295
- intro: "Sort rows in the data based on one or more columns"
296
- }),
297
- createVNode(readInput, {
298
- ref_key: "childComp",
299
- ref: childComp,
300
- "node-id": __props.nodeId
301
- }, null, 8, ["node-id"])
302
- ])) : createCommentVNode("", true)
303
- ], 512);
304
- };
305
- }
306
- });
220
+ const Sort_vue_vue_type_style_index_0_scoped_0177dec6_lang = "";
221
+ const Sort = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-0177dec6"]]);
307
222
  export {
308
- _sfc_main as default
223
+ Sort as default
309
224
  };
@@ -1,12 +1,11 @@
1
- import { d as defineComponent, r as ref, l as computed, n as onMounted, R as nextTick, b as resolveComponent, c as openBlock, e as createElementBlock, f as createVNode, w as withCtx, p as createBaseVNode, g as createTextVNode, i as createCommentVNode, a5 as withDirectives, a6 as vModelText, h as createBlock, u as unref, _ as _export_sfc, a7 as Teleport } from "./index-f6c15e76.js";
2
- import { u as useNodeStore } from "./vue-codemirror.esm-2847001e.js";
3
- import { C as ColumnSelector } from "./dropDown-13564764.js";
4
- import { u as unavailableField } from "./UnavailableFields-a1768e52.js";
5
- import { G as GenericNodeSettings } from "./genericNodeSettings-71e11604.js";
6
- import { C as CodeLoader } from "./vue-content-loader.es-0371da73.js";
7
- import { N as NodeButton, a as NodeTitle } from "./nodeTitle-988d9efe.js";
8
- import "./designer-13eabd83.js";
9
- const _hoisted_1$1 = {
1
+ import { d as defineComponent, r as ref, l as computed, n as onMounted, R as nextTick, b as resolveComponent, c as openBlock, e as createElementBlock, f as createVNode, w as withCtx, p as createBaseVNode, g as createTextVNode, i as createCommentVNode, a8 as withDirectives, a9 as vModelText, h as createBlock, u as unref, _ as _export_sfc } from "./index-d0518598.js";
2
+ import { u as useNodeStore } from "./vue-codemirror.esm-9ed00d50.js";
3
+ import { C as ColumnSelector } from "./dropDown-025888df.js";
4
+ import { u as unavailableField } from "./UnavailableFields-88a4cd0c.js";
5
+ import { G as GenericNodeSettings } from "./genericNodeSettings-d3b2b2ac.js";
6
+ import { C as CodeLoader } from "./vue-content-loader.es-7bca2d9b.js";
7
+ import "./designer-bf3d9487.js";
8
+ const _hoisted_1 = {
10
9
  key: 0,
11
10
  class: "listbox-wrapper"
12
11
  };
@@ -31,8 +30,8 @@ const _hoisted_9 = {
31
30
  class: "row"
32
31
  };
33
32
  const _hoisted_10 = { class: "row" };
34
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
35
- __name: "textToRows",
33
+ const _sfc_main = /* @__PURE__ */ defineComponent({
34
+ __name: "TextToRows",
36
35
  setup(__props, { expose: __expose }) {
37
36
  const containsVal = (arr, val) => {
38
37
  return arr.includes(val);
@@ -76,7 +75,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
76
75
  };
77
76
  const pushNodeData = async () => {
78
77
  isLoaded.value = false;
79
- nodeStore.isDrawerOpen = false;
80
78
  if (nodeTextToRows.value) {
81
79
  nodeTextToRows.value.is_setup = true;
82
80
  }
@@ -95,7 +93,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
95
93
  const _component_el_radio = resolveComponent("el-radio");
96
94
  const _component_el_radio_group = resolveComponent("el-radio-group");
97
95
  const _component_el_col = resolveComponent("el-col");
98
- return isLoaded.value && nodeTextToRows.value ? (openBlock(), createElementBlock("div", _hoisted_1$1, [
96
+ return isLoaded.value && nodeTextToRows.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
99
97
  createVNode(GenericNodeSettings, {
100
98
  modelValue: nodeTextToRows.value,
101
99
  "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => nodeTextToRows.value = $event)
@@ -238,75 +236,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
238
236
  };
239
237
  }
240
238
  });
241
- const textToRows_vue_vue_type_style_index_0_scoped_bf118d5c_lang = "";
242
- const joinInput = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-bf118d5c"]]);
243
- const _hoisted_1 = { ref: "el" };
244
- const _sfc_main = /* @__PURE__ */ defineComponent({
245
- __name: "TextToRows",
246
- props: {
247
- nodeId: {
248
- type: Number,
249
- required: true
250
- }
251
- },
252
- setup(__props) {
253
- const nodeStore = useNodeStore();
254
- const props = __props;
255
- const childComp = ref(null);
256
- const drawer = ref(false);
257
- const closeOnDrawer = () => {
258
- var _a;
259
- (_a = childComp.value) == null ? void 0 : _a.pushNodeData();
260
- drawer.value = false;
261
- nodeStore.isDrawerOpen = false;
262
- };
263
- const openDrawer = async () => {
264
- if (nodeStore.node_id === props.nodeId) {
265
- return;
266
- }
267
- nodeStore.closeDrawer();
268
- drawer.value = true;
269
- const drawerOpen = nodeStore.isDrawerOpen;
270
- nodeStore.isDrawerOpen = true;
271
- await nextTick();
272
- if (nodeStore.node_id === props.nodeId && drawerOpen) {
273
- return;
274
- }
275
- if (childComp.value) {
276
- childComp.value.loadNodeData(props.nodeId);
277
- nodeStore.openDrawer(closeOnDrawer);
278
- }
279
- };
280
- onMounted(async () => {
281
- await nextTick();
282
- });
283
- return (_ctx, _cache) => {
284
- return openBlock(), createElementBlock("div", _hoisted_1, [
285
- createVNode(NodeButton, {
286
- ref: "nodeButton",
287
- "node-id": __props.nodeId,
288
- "image-src": "text_to_rows.png",
289
- title: `${__props.nodeId}: Fuzzy match`,
290
- onClick: openDrawer
291
- }, null, 8, ["node-id", "title"]),
292
- drawer.value ? (openBlock(), createBlock(Teleport, {
293
- key: 0,
294
- to: "#nodesettings"
295
- }, [
296
- createVNode(NodeTitle, {
297
- title: "Text to rows",
298
- intro: "Split text into rows based on a delimiter"
299
- }),
300
- createVNode(joinInput, {
301
- ref_key: "childComp",
302
- ref: childComp,
303
- "node-id": __props.nodeId
304
- }, null, 8, ["node-id"])
305
- ])) : createCommentVNode("", true)
306
- ], 512);
307
- };
308
- }
309
- });
239
+ const TextToRows_vue_vue_type_style_index_0_scoped_f1232e87_lang = "";
240
+ const TextToRows = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f1232e87"]]);
310
241
  export {
311
- _sfc_main as default
242
+ TextToRows as default
312
243
  };
@@ -1,48 +1,48 @@
1
1
 
2
- .selectors[data-v-bf118d5c] {
2
+ .selectors[data-v-f1232e87] {
3
3
  display: flex;
4
4
  flex-direction: column;
5
5
  gap: 8px;
6
6
  }
7
- .input-wrapper[data-v-bf118d5c] {
7
+ .input-wrapper[data-v-f1232e87] {
8
8
  display: flex;
9
9
  flex-direction: column;
10
10
  gap: 4px;
11
11
  }
12
- label[data-v-bf118d5c] {
12
+ label[data-v-f1232e87] {
13
13
  font-weight: 500;
14
14
  color: #333;
15
15
  font-size: 14px;
16
16
  }
17
- input[data-v-bf118d5c] {
17
+ input[data-v-f1232e87] {
18
18
  padding: 3px;
19
19
  border: 1px solid #ccc;
20
20
  border-radius: 4px;
21
21
  font-size: 14px;
22
22
  width: 100%;
23
23
  }
24
- .row[data-v-bf118d5c] {
24
+ .row[data-v-f1232e87] {
25
25
  display: flex;
26
26
  align-items: center;
27
27
  justify-content: space-between;
28
28
  gap: 16px;
29
29
  }
30
- .error-msg[data-v-bf118d5c] {
30
+ .error-msg[data-v-f1232e87] {
31
31
  font-size: 13px;
32
32
  color: #ff4d4f;
33
33
  display: flex;
34
34
  align-items: center;
35
35
  gap: 6px;
36
36
  }
37
- .error-icon[data-v-bf118d5c] {
37
+ .error-icon[data-v-f1232e87] {
38
38
  margin-right: 6px;
39
39
  }
40
- .table[data-v-bf118d5c] {
40
+ .table[data-v-f1232e87] {
41
41
  padding: 12px;
42
42
  border-radius: 6px;
43
43
 
44
44
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.05);
45
45
  }
46
- el-checkbox[data-v-bf118d5c] {
46
+ el-checkbox[data-v-f1232e87] {
47
47
  margin-top: 10px;
48
48
  }
@@ -1,5 +1,5 @@
1
- import { P as PopOver } from "./vue-codemirror.esm-2847001e.js";
2
- import { d as defineComponent, c as openBlock, h as createBlock, w as withCtx, p as createBaseVNode, t as toDisplayString, _ as _export_sfc } from "./index-f6c15e76.js";
1
+ import { P as PopOver } from "./vue-codemirror.esm-9ed00d50.js";
2
+ import { d as defineComponent, c as openBlock, h as createBlock, w as withCtx, p as createBaseVNode, t as toDisplayString, _ as _export_sfc } from "./index-d0518598.js";
3
3
  const _hoisted_1 = { class: "icon-wrapper" };
4
4
  const _hoisted_2 = { class: "unavailable-icon" };
5
5
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -0,0 +1,77 @@
1
+ import { u as useNodeStore } from "./vue-codemirror.esm-9ed00d50.js";
2
+ import { G as GenericNodeSettings } from "./genericNodeSettings-d3b2b2ac.js";
3
+ import { d as defineComponent, r as ref, n as onMounted, R as nextTick, o as onUnmounted, c as openBlock, e as createElementBlock, f as createVNode, w as withCtx, g as createTextVNode, i as createCommentVNode, _ as _export_sfc } from "./index-d0518598.js";
4
+ import "./designer-bf3d9487.js";
5
+ const _hoisted_1 = {
6
+ key: 0,
7
+ class: "listbox-wrapper"
8
+ };
9
+ const _sfc_main = /* @__PURE__ */ defineComponent({
10
+ __name: "Union",
11
+ setup(__props, { expose: __expose }) {
12
+ const nodeStore = useNodeStore();
13
+ const showContextMenu = ref(false);
14
+ const dataLoaded = ref(false);
15
+ const nodeData = ref(null);
16
+ const unionInput = ref({ mode: "relaxed" });
17
+ const nodeUnion = ref(null);
18
+ const loadNodeData = async (nodeId) => {
19
+ var _a;
20
+ console.log("loadNodeData from union ");
21
+ nodeData.value = await nodeStore.getNodeData(nodeId, false);
22
+ nodeUnion.value = (_a = nodeData.value) == null ? void 0 : _a.setting_input;
23
+ if (nodeData.value) {
24
+ if (nodeUnion.value) {
25
+ if (nodeUnion.value.union_input) {
26
+ unionInput.value = nodeUnion.value.union_input;
27
+ } else {
28
+ nodeUnion.value.union_input = unionInput.value;
29
+ }
30
+ }
31
+ }
32
+ dataLoaded.value = true;
33
+ console.log("loadNodeData from groupby");
34
+ };
35
+ const handleClickOutside = (event) => {
36
+ const targetEvent = event.target;
37
+ if (targetEvent.id === "pivot-context-menu")
38
+ return;
39
+ showContextMenu.value = false;
40
+ };
41
+ const pushNodeData = async () => {
42
+ if (unionInput.value) {
43
+ nodeStore.updateSettings(nodeUnion);
44
+ }
45
+ };
46
+ __expose({
47
+ loadNodeData,
48
+ pushNodeData
49
+ });
50
+ onMounted(async () => {
51
+ await nextTick();
52
+ window.addEventListener("click", handleClickOutside);
53
+ });
54
+ onUnmounted(() => {
55
+ window.removeEventListener("click", handleClickOutside);
56
+ });
57
+ return (_ctx, _cache) => {
58
+ return dataLoaded.value && nodeUnion.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
59
+ createVNode(GenericNodeSettings, {
60
+ modelValue: nodeUnion.value,
61
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => nodeUnion.value = $event)
62
+ }, {
63
+ default: withCtx(() => _cache[1] || (_cache[1] = [
64
+ createTextVNode(" 'Union multiple tables into one table, this node does not have settings' ")
65
+ ])),
66
+ _: 1,
67
+ __: [1]
68
+ }, 8, ["modelValue"])
69
+ ])) : createCommentVNode("", true);
70
+ };
71
+ }
72
+ });
73
+ const Union_vue_vue_type_style_index_0_scoped_5786442f_lang = "";
74
+ const Union = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-5786442f"]]);
75
+ export {
76
+ Union as default
77
+ };
@@ -1,5 +1,5 @@
1
1
 
2
- .context-menu[data-v-beb191a2] {
2
+ .context-menu[data-v-5786442f] {
3
3
  position: fixed;
4
4
  z-index: 1000;
5
5
  border: 1px solid #ccc;
@@ -8,23 +8,23 @@
8
8
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
9
9
  border-radius: 4px;
10
10
  }
11
- .context-menu ul[data-v-beb191a2] {
11
+ .context-menu ul[data-v-5786442f] {
12
12
  list-style: none;
13
13
  padding: 0;
14
14
  margin: 0;
15
15
  }
16
- .context-menu li[data-v-beb191a2] {
16
+ .context-menu li[data-v-5786442f] {
17
17
  padding: 8px 16px;
18
18
  cursor: pointer;
19
19
  }
20
- .context-menu li[data-v-beb191a2]:hover {
20
+ .context-menu li[data-v-5786442f]:hover {
21
21
  background-color: #f0f0f0;
22
22
  }
23
- .switch-container[data-v-beb191a2] {
23
+ .switch-container[data-v-5786442f] {
24
24
  display: flex;
25
25
  align-items: center;
26
26
  margin: 12px;
27
27
  }
28
- .switch-container span[data-v-beb191a2] {
28
+ .switch-container span[data-v-5786442f] {
29
29
  margin-right: 10px;
30
30
  }
@@ -1,11 +1,10 @@
1
- import { r as ref, d as defineComponent, l as computed, n as onMounted, R as nextTick, o as onUnmounted, c as openBlock, e as createElementBlock, f as createVNode, w as withCtx, h as createBlock, u as unref, _ as _export_sfc, a7 as Teleport, i as createCommentVNode } from "./index-f6c15e76.js";
2
- import { C as CodeLoader } from "./vue-content-loader.es-0371da73.js";
3
- import { u as useNodeStore } from "./vue-codemirror.esm-2847001e.js";
4
- import { s as selectDynamic } from "./selectDynamic-af36165e.js";
5
- import { G as GenericNodeSettings } from "./genericNodeSettings-71e11604.js";
6
- import { N as NodeButton, a as NodeTitle } from "./nodeTitle-988d9efe.js";
7
- import "./UnavailableFields-a1768e52.js";
8
- import "./designer-13eabd83.js";
1
+ import { r as ref, d as defineComponent, l as computed, n as onMounted, R as nextTick, o as onUnmounted, c as openBlock, e as createElementBlock, f as createVNode, w as withCtx, h as createBlock, u as unref, _ 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 { s as selectDynamic } from "./selectDynamic-5476546e.js";
5
+ import { G as GenericNodeSettings } from "./genericNodeSettings-d3b2b2ac.js";
6
+ import "./UnavailableFields-88a4cd0c.js";
7
+ import "./designer-bf3d9487.js";
9
8
  const createSelectInputFromName = (columnName, keep = true) => {
10
9
  return {
11
10
  old_name: columnName,
@@ -19,12 +18,12 @@ const createSelectInputFromName = (columnName, keep = true) => {
19
18
  };
20
19
  };
21
20
  ref(null);
22
- const _hoisted_1$1 = {
21
+ const _hoisted_1 = {
23
22
  key: 0,
24
23
  class: "listbox-wrapper"
25
24
  };
26
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
27
- __name: "unique",
25
+ const _sfc_main = /* @__PURE__ */ defineComponent({
26
+ __name: "Unique",
28
27
  setup(__props, { expose: __expose }) {
29
28
  const nodeStore = useNodeStore();
30
29
  const showContextMenu = ref(false);
@@ -35,7 +34,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
35
34
  const nodeUnique = ref(null);
36
35
  const nodeData = ref(null);
37
36
  const selection = ref([]);
38
- const uniqueInput2 = ref({
37
+ const uniqueInput = ref({
39
38
  columns: [],
40
39
  strategy: "any"
41
40
  });
@@ -56,26 +55,25 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
56
55
  if (nodeData.value) {
57
56
  if (nodeUnique.value) {
58
57
  if (nodeUnique.value.unique_input) {
59
- uniqueInput2.value = nodeUnique.value.unique_input;
58
+ uniqueInput.value = nodeUnique.value.unique_input;
60
59
  } else {
61
- nodeUnique.value.unique_input = uniqueInput2.value;
60
+ nodeUnique.value.unique_input = uniqueInput.value;
62
61
  }
63
- loadSelection(nodeData.value, uniqueInput2.value.columns);
62
+ loadSelection(nodeData.value, uniqueInput.value.columns);
64
63
  }
65
64
  }
66
65
  };
67
66
  const calculateSelects = (updatedInputs) => {
68
67
  console.log(updatedInputs);
69
68
  selection.value = updatedInputs;
70
- uniqueInput2.value.columns = updatedInputs.filter((input) => input.keep).map((input) => input.old_name);
69
+ uniqueInput.value.columns = updatedInputs.filter((input) => input.keep).map((input) => input.old_name);
71
70
  };
72
71
  const setUniqueColumns = () => {
73
- uniqueInput2.value.columns = selection.value.filter((input) => input.keep).map((input) => input.old_name);
72
+ uniqueInput.value.columns = selection.value.filter((input) => input.keep).map((input) => input.old_name);
74
73
  };
75
74
  const loadNodeData = async (nodeId) => {
76
75
  loadData(nodeId);
77
76
  dataLoaded.value = true;
78
- nodeStore.isDrawerOpen = true;
79
77
  };
80
78
  const handleClickOutside = (event) => {
81
79
  var _a;
@@ -92,14 +90,14 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
92
90
  const missingColumns = computed(() => {
93
91
  var _a, _b;
94
92
  if (nodeData.value && ((_a = nodeData.value.main_input) == null ? void 0 : _a.columns)) {
95
- return getMissingColumns((_b = nodeData.value.main_input) == null ? void 0 : _b.columns, uniqueInput2.value.columns);
93
+ return getMissingColumns((_b = nodeData.value.main_input) == null ? void 0 : _b.columns, uniqueInput.value.columns);
96
94
  }
97
95
  return [];
98
96
  });
99
97
  const calculateMissingColumns = () => {
100
98
  var _a, _b;
101
99
  if (nodeData.value && ((_a = nodeData.value.main_input) == null ? void 0 : _a.columns)) {
102
- return getMissingColumns((_b = nodeData.value.main_input) == null ? void 0 : _b.columns, uniqueInput2.value.columns);
100
+ return getMissingColumns((_b = nodeData.value.main_input) == null ? void 0 : _b.columns, uniqueInput.value.columns);
103
101
  }
104
102
  return [];
105
103
  };
@@ -149,7 +147,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
149
147
  var _a, _b, _c, _d;
150
148
  dataLoaded.value = false;
151
149
  setUniqueColumns();
152
- nodeStore.isDrawerOpen = false;
153
150
  console.log("doing this");
154
151
  console.log((_a = nodeUnique.value) == null ? void 0 : _a.is_setup);
155
152
  console.log(nodeUnique.value);
@@ -174,7 +171,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
174
171
  window.removeEventListener("click", handleClickOutside);
175
172
  });
176
173
  return (_ctx, _cache) => {
177
- return dataLoaded.value && nodeUnique.value ? (openBlock(), createElementBlock("div", _hoisted_1$1, [
174
+ return dataLoaded.value && nodeUnique.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
178
175
  createVNode(GenericNodeSettings, {
179
176
  modelValue: nodeUnique.value,
180
177
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => nodeUnique.value = $event)
@@ -200,74 +197,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
200
197
  };
201
198
  }
202
199
  });
203
- const unique_vue_vue_type_style_index_0_scoped_8edf8bb6_lang = "";
204
- const uniqueInput = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-8edf8bb6"]]);
205
- const _hoisted_1 = { ref: "el" };
206
- const _sfc_main = /* @__PURE__ */ defineComponent({
207
- __name: "Unique",
208
- props: {
209
- nodeId: {
210
- type: Number,
211
- required: true
212
- }
213
- },
214
- setup(__props) {
215
- const nodeStore = useNodeStore();
216
- const childComp = ref(null);
217
- const props = __props;
218
- const drawer = ref(false);
219
- const closeOnDrawer = () => {
220
- var _a;
221
- drawer.value = false;
222
- (_a = childComp.value) == null ? void 0 : _a.pushNodeData();
223
- };
224
- const openDrawer = async () => {
225
- if (nodeStore.node_id === props.nodeId) {
226
- return;
227
- }
228
- nodeStore.closeDrawer();
229
- drawer.value = true;
230
- const drawerOpen = nodeStore.isDrawerOpen;
231
- nodeStore.isDrawerOpen = true;
232
- await nextTick();
233
- if (nodeStore.node_id === props.nodeId && drawerOpen) {
234
- return;
235
- }
236
- if (childComp.value) {
237
- childComp.value.loadNodeData(props.nodeId);
238
- nodeStore.openDrawer(closeOnDrawer);
239
- }
240
- };
241
- onMounted(async () => {
242
- await nextTick();
243
- });
244
- return (_ctx, _cache) => {
245
- return openBlock(), createElementBlock("div", _hoisted_1, [
246
- createVNode(NodeButton, {
247
- ref: "nodeButton",
248
- "node-id": __props.nodeId,
249
- "image-src": "unique.png",
250
- title: `${__props.nodeId}: Drop duplicates`,
251
- onClick: openDrawer
252
- }, null, 8, ["node-id", "title"]),
253
- drawer.value ? (openBlock(), createBlock(Teleport, {
254
- key: 0,
255
- to: "#nodesettings"
256
- }, [
257
- createVNode(NodeTitle, {
258
- title: "Drop duplicates",
259
- intro: "Make the table unique by one or more columns"
260
- }),
261
- createVNode(uniqueInput, {
262
- ref_key: "childComp",
263
- ref: childComp,
264
- "node-id": __props.nodeId
265
- }, null, 8, ["node-id"])
266
- ])) : createCommentVNode("", true)
267
- ], 512);
268
- };
269
- }
270
- });
200
+ const Unique_vue_vue_type_style_index_0_scoped_c7455058_lang = "";
201
+ const Unique = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c7455058"]]);
271
202
  export {
272
- _sfc_main as default
203
+ Unique as default
273
204
  };