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,6 +1,6 @@
1
- import { d as defineComponent, r as ref, a3 as watchEffect, l as computed, n as onMounted, o as onUnmounted, b as resolveComponent, c as openBlock, e as createElementBlock, f as createVNode, p as createBaseVNode, i as createCommentVNode, t as toDisplayString, T as normalizeStyle, g as createTextVNode, F as Fragment, q as renderList, s as normalizeClass, v as withModifiers, w as withCtx, u as unref, h as createBlock, _ as _export_sfc } from "./index-f6c15e76.js";
2
- import { u as useNodeStore } from "./vue-codemirror.esm-2847001e.js";
3
- import { u as unavailableField } from "./UnavailableFields-a1768e52.js";
1
+ import { d as defineComponent, r as ref, a3 as watchEffect, l as computed, n as onMounted, o as onUnmounted, b as resolveComponent, c as openBlock, e as createElementBlock, f as createVNode, p as createBaseVNode, i as createCommentVNode, t as toDisplayString, T as normalizeStyle, g as createTextVNode, F as Fragment, q as renderList, s as normalizeClass, v as withModifiers, w as withCtx, u as unref, h as createBlock, _ as _export_sfc } from "./index-d0518598.js";
2
+ import { u as useNodeStore } from "./vue-codemirror.esm-9ed00d50.js";
3
+ import { u as unavailableField } from "./UnavailableFields-88a4cd0c.js";
4
4
  const _hoisted_1 = { key: 0 };
5
5
  const _hoisted_2 = {
6
6
  key: 1,
@@ -175,7 +175,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
175
175
  const _component_el_option = resolveComponent("el-option");
176
176
  const _component_el_select = resolveComponent("el-select");
177
177
  const _component_el_checkbox = resolveComponent("el-checkbox");
178
- return openBlock(), createElementBlock(Fragment, null, [
178
+ return openBlock(), createElementBlock("div", null, [
179
179
  dataLoaded.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
180
180
  hasMissingFields.value ? (openBlock(), createElementBlock("div", {
181
181
  key: 0,
@@ -291,12 +291,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
291
291
  createBaseVNode("button", { onClick: selectAllSelected }, "Select"),
292
292
  createBaseVNode("button", { onClick: deselectAllSelected }, "Deselect")
293
293
  ], 4)) : createCommentVNode("", true)
294
- ], 64);
294
+ ]);
295
295
  };
296
296
  }
297
297
  });
298
- const selectDynamic_vue_vue_type_style_index_0_scoped_86b67fdf_lang = "";
299
- const selectDynamic = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-86b67fdf"]]);
298
+ const selectDynamic_vue_vue_type_style_index_0_scoped_c49d6287_lang = "";
299
+ const selectDynamic = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c49d6287"]]);
300
300
  export {
301
301
  selectDynamic as s
302
302
  };
@@ -1,6 +1,6 @@
1
1
 
2
2
  /* Context menu styling */
3
- .context-menu[data-v-86b67fdf] {
3
+ .context-menu[data-v-c49d6287] {
4
4
  position: fixed;
5
5
  z-index: 1000;
6
6
  border: 1px solid #ccc;
@@ -10,7 +10,7 @@
10
10
  border-radius: 4px;
11
11
  user-select: none;
12
12
  }
13
- .context-menu button[data-v-86b67fdf] {
13
+ .context-menu button[data-v-c49d6287] {
14
14
  display: block;
15
15
  background: none;
16
16
  border: none;
@@ -19,12 +19,12 @@
19
19
  width: 100%;
20
20
  cursor: pointer;
21
21
  }
22
- .context-menu button[data-v-86b67fdf]:hover {
22
+ .context-menu button[data-v-c49d6287]:hover {
23
23
  background-color: #f0f0f0;
24
24
  }
25
25
 
26
26
  /* Table wrapper for scrolling */
27
- .table-wrapper[data-v-86b67fdf] {
27
+ .table-wrapper[data-v-c49d6287] {
28
28
  max-height: 700px;
29
29
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
30
30
  border-radius: 8px;
@@ -33,30 +33,30 @@
33
33
  }
34
34
 
35
35
  /* Adjusted font size for input fields */
36
- [data-v-86b67fdf] .smaller-el-input .el-input__inner {
36
+ [data-v-c49d6287] .smaller-el-input .el-input__inner {
37
37
  padding: 2px 10px;
38
38
  font-size: 12px;
39
39
  height: 24px;
40
40
  line-height: 20px;
41
41
  }
42
- .smaller-el-input[data-v-86b67fdf] {
42
+ .smaller-el-input[data-v-c49d6287] {
43
43
  line-height: 20px;
44
44
  }
45
45
 
46
46
  /* Highlight selected rows */
47
- .highlight-row[data-v-86b67fdf] {
47
+ .highlight-row[data-v-c49d6287] {
48
48
  background-color: #e7e6e6 !important;
49
49
  }
50
50
 
51
51
  /* Greyed out styling for unavailable fields */
52
- .greyed-out[data-v-86b67fdf] {
52
+ .greyed-out[data-v-c49d6287] {
53
53
  background-color: #dcdcdc !important;
54
54
  color: #888 !important;
55
55
  z-index: 1;
56
56
  }
57
57
 
58
58
  /* Unavailable field styling */
59
- .unavailable-field[data-v-86b67fdf] {
59
+ .unavailable-field[data-v-c49d6287] {
60
60
  display: flex;
61
61
  align-items: center;
62
62
  position: relative;
@@ -64,7 +64,7 @@
64
64
  }
65
65
 
66
66
  /* Remove missing fields button styling */
67
- .remove-missing-fields[data-v-86b67fdf] {
67
+ .remove-missing-fields[data-v-c49d6287] {
68
68
  display: flex;
69
69
  align-items: center;
70
70
  background-color: #d9534f;
@@ -76,31 +76,31 @@
76
76
  font-weight: bold;
77
77
  font-size: 0.9em;
78
78
  }
79
- .remove-missing-fields[data-v-86b67fdf]:hover {
79
+ .remove-missing-fields[data-v-c49d6287]:hover {
80
80
  background-color: #c9302c;
81
81
  }
82
- .remove-missing-fields > unavailable-field[data-v-86b67fdf] {
82
+ .remove-missing-fields > unavailable-field[data-v-c49d6287] {
83
83
  margin-right: 4px;
84
84
  }
85
85
 
86
86
  /* Adjustments for el-checkbox component */
87
- [data-v-86b67fdf] .el-checkbox {
87
+ [data-v-c49d6287] .el-checkbox {
88
88
  font-size: 12px;
89
89
  height: 20px;
90
90
  line-height: 20px;
91
91
  display: flex;
92
92
  align-items: center;
93
93
  }
94
- [data-v-86b67fdf] .el-checkbox .el-checkbox__input {
94
+ [data-v-c49d6287] .el-checkbox .el-checkbox__input {
95
95
  height: 16px;
96
96
  width: 16px;
97
97
  margin: 0;
98
98
  }
99
- [data-v-86b67fdf] .el-checkbox .el-checkbox__inner {
99
+ [data-v-c49d6287] .el-checkbox .el-checkbox__inner {
100
100
  height: 16px;
101
101
  width: 16px;
102
102
  }
103
- [data-v-86b67fdf] .el-checkbox .el-checkbox__label {
103
+ [data-v-c49d6287] .el-checkbox .el-checkbox__label {
104
104
  font-size: 12px;
105
105
  line-height: 20px;
106
106
  margin-left: 4px;
@@ -1,4 +1,4 @@
1
- import { r as ref, j as defineStore, a as axios, d as defineComponent, ae as useCssVars, n as onMounted, c as openBlock, e as createElementBlock, p as createBaseVNode, L as renderSlot, h as createBlock, t as toDisplayString, i as createCommentVNode, T as normalizeStyle, s as normalizeClass, a7 as Teleport, R as nextTick, _ as _export_sfc, X as shallowRef, B as inject, l as computed, m as watch, U as onBeforeUnmount, Y as h$1, af as toRaw } from "./index-f6c15e76.js";
1
+ import { r as ref, j as defineStore, X as shallowRef, a as axios, d as defineComponent, ai as useCssVars, n as onMounted, c as openBlock, e as createElementBlock, p as createBaseVNode, L as renderSlot, h as createBlock, t as toDisplayString, i as createCommentVNode, T as normalizeStyle, s as normalizeClass, aa as Teleport, R as nextTick, _ as _export_sfc, B as inject, l as computed, m as watch, U as onBeforeUnmount, Y as h$1, aj as toRaw } from "./index-d0518598.js";
2
2
  const FLOW_ID_STORAGE_KEY = "last_flow_id";
3
3
  ref(null);
4
4
  const getDownstreamNodeIds = async (flow_id, node_id) => {
@@ -42,13 +42,20 @@ const useNodeStore = defineStore("node", {
42
42
  resultVersion: 0,
43
43
  vueFlowInstance: null,
44
44
  allExpressions: null,
45
+ hideLogViewerForThisRun: false,
45
46
  isShowingLogViewer: false,
46
47
  isStreamingLogs: false,
47
48
  displayLogViewer: true,
48
- showCodeGenerator: false
49
+ showCodeGenerator: false,
50
+ activeDrawerComponent: shallowRef(null),
51
+ drawerProps: ref({})
49
52
  };
50
53
  },
51
54
  actions: {
55
+ async executeDrawCloseFunction() {
56
+ console.log("Executing draw close function");
57
+ this.drawCloseFunction();
58
+ },
52
59
  toggleCodeGenerator() {
53
60
  this.showCodeGenerator = !this.showCodeGenerator;
54
61
  },
@@ -108,7 +115,7 @@ const useNodeStore = defineStore("node", {
108
115
  this.currentRunResult = runResult;
109
116
  this.runResults[runResult.flow_id] = runResult;
110
117
  this.showFlowResult = showResult;
111
- this.isShowingLogViewer = this.displayLogViewer && showResult;
118
+ this.isShowingLogViewer = this.displayLogViewer && showResult && !this.hideLogViewerForThisRun;
112
119
  this.initializeResultCache(runResult.flow_id);
113
120
  runResult.node_step_result.forEach((nodeResult) => {
114
121
  this.runNodeResults[runResult.flow_id][nodeResult.node_id] = nodeResult;
@@ -138,8 +145,6 @@ const useNodeStore = defineStore("node", {
138
145
  const func = this.nodeValidateFuncs.get(nodeId);
139
146
  if (func) {
140
147
  func();
141
- } else {
142
- console.warn("No validation function found for node", nodeId);
143
148
  }
144
149
  },
145
150
  setFlowId(flowId) {
@@ -200,6 +205,11 @@ const useNodeStore = defineStore("node", {
200
205
  return "";
201
206
  }
202
207
  },
208
+ getters: {
209
+ isDrawerOpen() {
210
+ return !!this.activeDrawerComponent;
211
+ }
212
+ },
203
213
  async setNodeDescription(nodeId, description) {
204
214
  try {
205
215
  this.cacheNodeDescriptionDict(this.flow_id, nodeId, description);
@@ -238,7 +248,6 @@ const useNodeStore = defineStore("node", {
238
248
  this.size_data_preview = newHeight;
239
249
  },
240
250
  toggleDrawer() {
241
- console.log("toggleDrawer in column-store.ts");
242
251
  if (this.isDrawerOpen && this.drawCloseFunction) {
243
252
  this.pushNodeData();
244
253
  }
@@ -250,22 +259,16 @@ const useNodeStore = defineStore("node", {
250
259
  this.drawCloseFunction = null;
251
260
  }
252
261
  },
253
- openDrawer(close_function) {
254
- console.log("openDrawer in column-store.ts");
255
- if (this.isDrawerOpen) {
256
- console.log("pushing data");
257
- this.pushNodeData();
258
- }
259
- if (close_function) {
260
- this.drawCloseFunction = close_function;
261
- }
262
+ openDrawer(component, nodeTitleInfo, props = {}) {
263
+ this.activeDrawerComponent = component;
264
+ this.drawerProps = { ...nodeTitleInfo, ...props };
262
265
  this.isDrawerOpen = true;
263
266
  },
264
267
  closeDrawer() {
265
- this.isDrawerOpen = false;
266
- if (this.drawCloseFunction) {
267
- this.pushNodeData();
268
- }
268
+ this.activeDrawerComponent = null;
269
+ this.node_id = -1;
270
+ if (this.drawCloseFunction)
271
+ ;
269
272
  this.node_id = -1;
270
273
  },
271
274
  openAnalysisDrawer(close_function) {
@@ -325,9 +328,9 @@ const useNodeStore = defineStore("node", {
325
328
  }
326
329
  }
327
330
  try {
328
- this.setFlowIdAndNodeId(this.flow_id, node_id);
331
+ console.log("Getting node data");
329
332
  const response = await axios.get("/node", {
330
- params: { flow_id: this.flow_id, node_id: this.node_id },
333
+ params: { flow_id: this.flow_id, node_id },
331
334
  headers: { accept: "application/json" }
332
335
  });
333
336
  this.nodeData = response.data;
@@ -350,8 +353,6 @@ const useNodeStore = defineStore("node", {
350
353
  return;
351
354
  }
352
355
  console.log("Automatically pushing the node data ");
353
- this.pushNodeData();
354
- this.previous_node_id = this.node_id;
355
356
  if (this.flow_id !== flow_id) {
356
357
  this.setFlowId(flow_id);
357
358
  }
@@ -393,14 +394,12 @@ const useNodeStore = defineStore("node", {
393
394
  async updateSettingsDirectly(inputData) {
394
395
  var _a2, _b;
395
396
  try {
396
- const node = (_a2 = this.vueFlowInstance) == null ? void 0 : _a2.findNode(String(this.node_id));
397
+ const node = (_a2 = this.vueFlowInstance) == null ? void 0 : _a2.findNode(String(inputData.node_id));
397
398
  inputData.pos_x = node.position.x;
398
399
  inputData.pos_y = node.position.y;
399
- console.log("updating settings");
400
- console.log("node", node);
401
400
  const response = await axios.post("/update_settings/", inputData, {
402
401
  params: {
403
- node_type: node.data.component.__name
402
+ node_type: node.data.nodeTemplate.item
404
403
  }
405
404
  });
406
405
  const downstreamNodeIds = await loadDownstreamNodeIds(this.flow_id, inputData.node_id);
@@ -409,22 +408,19 @@ const useNodeStore = defineStore("node", {
409
408
  });
410
409
  return response.data;
411
410
  } catch (error) {
412
- console.error("Error updating settings:", (_b = error.response) == null ? void 0 : _b.data);
411
+ console.error("Error updating settings directly:", (_b = error.response) == null ? void 0 : _b.data);
413
412
  throw error;
414
413
  }
415
414
  },
416
415
  async updateSettings(inputData) {
417
416
  var _a2, _b;
418
417
  try {
419
- const node = (_a2 = this.vueFlowInstance) == null ? void 0 : _a2.findNode(String(this.node_id));
418
+ const node = (_a2 = this.vueFlowInstance) == null ? void 0 : _a2.findNode(String(inputData.value.node_id));
420
419
  inputData.value.pos_x = node.position.x;
421
420
  inputData.value.pos_y = node.position.y;
422
- console.log("updating settings");
423
- console.log("node", node);
424
- console.log("node name", node.data.component.__name);
425
421
  const response = await axios.post("/update_settings/", inputData.value, {
426
422
  params: {
427
- node_type: node.data.component.__name
423
+ node_type: node.data.nodeTemplate.item
428
424
  }
429
425
  });
430
426
  const downstreamNodeIds = await loadDownstreamNodeIds(
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, f as createVNode, l as computed } from "./index-f6c15e76.js";
1
+ import { d as defineComponent, f as createVNode, l as computed } from "./index-d0518598.js";
2
2
  var uid = function() {
3
3
  return Math.random().toString(36).substring(2);
4
4
  };
@@ -12,7 +12,7 @@
12
12
 
13
13
  <!-- Material Icons -->
14
14
  <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
15
- <script type="module" crossorigin src="/assets/index-f6c15e76.js"></script>
15
+ <script type="module" crossorigin src="/assets/index-d0518598.js"></script>
16
16
  <link rel="stylesheet" href="/assets/index-681a3ed0.css">
17
17
  </head>
18
18
  <body>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: Flowfile
3
- Version: 0.3.8
3
+ Version: 0.3.10
4
4
  Summary: Project combining flowfile core (backend) and flowfile_worker (compute offloader) and flowfile_frame (api)
5
5
  Author: Edward van Eechoud
6
6
  Author-email: evaneechoud@gmail.com
@@ -26,6 +26,7 @@ Requires-Dist: methodtools (>=0.4.7,<0.5.0)
26
26
  Requires-Dist: openpyxl (>=3.1.2,<3.2.0)
27
27
  Requires-Dist: passlib (>=1.7.4,<1.8.0)
28
28
  Requires-Dist: pendulum (==2.1.2) ; python_version < "3.12"
29
+ Requires-Dist: pl-fuzzy-frame-match (>=0.4.0)
29
30
  Requires-Dist: polars (>=1.8.2,<1.32) ; sys_platform != "win32"
30
31
  Requires-Dist: polars (>=1.8.2,<=1.25.2) ; sys_platform == "win32"
31
32
  Requires-Dist: polars-distance (>=0.4.3,<0.5.0)