Flowfile 0.5.4__py3-none-any.whl → 0.6.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. flowfile/__main__.py +94 -1
  2. flowfile/api.py +8 -6
  3. flowfile/web/static/assets/{AdminView-f9847d67.js → AdminView-C4K1DdHI.js} +28 -33
  4. flowfile/web/static/assets/{CloudConnectionView-faace55b.js → CloudConnectionView-BZbPvPUL.js} +39 -50
  5. flowfile/web/static/assets/{CloudStorageReader-24c54524.css → CloudStorageReader-BDByiqPI.css} +25 -25
  6. flowfile/web/static/assets/{CloudStorageReader-d86ecaa7.js → CloudStorageReader-DLVukNJ7.js} +30 -35
  7. flowfile/web/static/assets/{CloudStorageWriter-0f4d9a44.js → CloudStorageWriter-Bfi-C1QW.js} +32 -37
  8. flowfile/web/static/assets/{CloudStorageWriter-60547855.css → CloudStorageWriter-y8jL8yjG.css} +24 -24
  9. flowfile/web/static/assets/{ColumnActionInput-f4189ae0.js → ColumnActionInput-BpiCApw9.js} +7 -12
  10. flowfile/web/static/assets/{ColumnSelector-e66b33da.js → ColumnSelector-CEAwedI7.js} +1 -2
  11. flowfile/web/static/assets/ContextMenu-CdojQu0w.js +9 -0
  12. flowfile/web/static/assets/ContextMenu-D12mhsy1.js +9 -0
  13. flowfile/web/static/assets/ContextMenu-EWUR98va.js +9 -0
  14. flowfile/web/static/assets/{ContextMenu.vue_vue_type_script_setup_true_lang-a1bd6314.js → ContextMenu.vue_vue_type_script_setup_true_lang-I4rXXd6G.js} +4 -5
  15. flowfile/web/static/assets/{CrossJoin-24694b8f.js → CrossJoin-BOFfxkJO.js} +19 -18
  16. flowfile/web/static/assets/{CrossJoin-71b4cc10.css → CrossJoin-Cmbyt9im.css} +18 -18
  17. flowfile/web/static/assets/{CustomNode-569d45ff.js → CustomNode-Bhpezobq.js} +12 -17
  18. flowfile/web/static/assets/{DatabaseConnectionSettings-cfc08938.js → DatabaseConnectionSettings-Dw3bSJKB.js} +10 -11
  19. flowfile/web/static/assets/{DatabaseReader-5bf8c75b.css → DatabaseReader-D6pUNUCs.css} +21 -21
  20. flowfile/web/static/assets/{DatabaseReader-701feabb.js → DatabaseReader-m87ghlw0.js} +36 -34
  21. flowfile/web/static/assets/{DatabaseView-0482e5b5.js → DatabaseView-CisSAtpe.js} +30 -38
  22. flowfile/web/static/assets/{DatabaseWriter-16721989.js → DatabaseWriter-Bbj9JLdL.js} +33 -35
  23. flowfile/web/static/assets/{DatabaseWriter-bdcf2c8b.css → DatabaseWriter-RBqdFLj8.css} +17 -17
  24. flowfile/web/static/assets/{DesignerView-f64749fb.js → DesignerView-DemDevTQ.js} +1841 -2090
  25. flowfile/web/static/assets/{DesignerView-49abb835.css → DesignerView-Dm6OzlIc.css} +244 -202
  26. flowfile/web/static/assets/{DocumentationView-61bd2990.js → DocumentationView-BrC1ZR3H.js} +3 -4
  27. flowfile/web/static/assets/{ExploreData-e2735b13.js → ExploreData-BMKcDuRb.js} +8 -10
  28. flowfile/web/static/assets/{ExternalSource-2535c3b2.js → ExternalSource-BXrNNS-f.js} +40 -42
  29. flowfile/web/static/assets/{ExternalSource-7ac7373f.css → ExternalSource-NB6WVl5R.css} +14 -14
  30. flowfile/web/static/assets/{Filter-2cdbc93c.js → Filter-C2MjsN6P.js} +36 -33
  31. flowfile/web/static/assets/{Filter-7494ea97.css → Filter-DCMGGuGC.css} +9 -9
  32. flowfile/web/static/assets/{Formula-53d58c43.css → Formula-BYafbDj8.css} +4 -4
  33. flowfile/web/static/assets/{Formula-fcda3c2c.js → Formula-ufuy4mVD.js} +27 -26
  34. flowfile/web/static/assets/{FuzzyMatch-ad6361d6.css → FuzzyMatch-BGJAwgd0.css} +42 -42
  35. flowfile/web/static/assets/{FuzzyMatch-f8d3b7d3.js → FuzzyMatch-BOHODq3h.js} +36 -38
  36. flowfile/web/static/assets/{GraphSolver-72eaa695.js → GraphSolver-B6ZzpNGO.js} +23 -21
  37. flowfile/web/static/assets/{GraphSolver-4b4d7db9.css → GraphSolver-DFN83sj3.css} +4 -4
  38. flowfile/web/static/assets/{GroupBy-8aa0598b.js → GroupBy-B9BRNcfe.js} +30 -29
  39. flowfile/web/static/assets/{Sort-4abb7fae.css → GroupBy-x4ooP5np.css} +1 -1
  40. flowfile/web/static/assets/Join-Bx_g5bZz.css +118 -0
  41. flowfile/web/static/assets/{Join-e40f0ffa.js → Join-DsBEy1IH.js} +48 -43
  42. flowfile/web/static/assets/{LoginView-5111c9ae.js → LoginView-Ct0rhdcO.js} +1 -2
  43. flowfile/web/static/assets/{ManualInput-3702e677.css → ManualInput-DlZmtMdt.css} +48 -48
  44. flowfile/web/static/assets/{ManualInput-9b6f3224.js → ManualInput-bC4BUgnG.js} +85 -44
  45. flowfile/web/static/assets/{MultiSelect-ef28e19e.js → MultiSelect-DIQ8PuTC.js} +2 -2
  46. flowfile/web/static/assets/{MultiSelect.vue_vue_type_script_setup_true_lang-83b3bbfd.js → MultiSelect.vue_vue_type_script_setup_true_lang-BefHfqTI.js} +1 -1
  47. flowfile/web/static/assets/{NodeDesigner-d2b7ee2b.js → NodeDesigner-D39yzr2k.js} +178 -208
  48. flowfile/web/static/assets/{NodeDesigner-94cd4dd3.css → NodeDesigner-R0l6sYyY.css} +76 -76
  49. flowfile/web/static/assets/{NumericInput-1d789794.js → NumericInput-DMSX3oOr.js} +2 -2
  50. flowfile/web/static/assets/{NumericInput.vue_vue_type_script_setup_true_lang-7775f83e.js → NumericInput.vue_vue_type_script_setup_true_lang-d0YlVHAl.js} +1 -1
  51. flowfile/web/static/assets/{Output-cefef801.js → Output-D0VoXGcW.js} +26 -34
  52. flowfile/web/static/assets/{Output-692dd25d.css → Output-DsmglIDy.css} +5 -5
  53. flowfile/web/static/assets/{Pivot-bab1b75b.js → Pivot-BnMB4sEe.js} +26 -26
  54. flowfile/web/static/assets/{Pivot-0eda81b4.css → Pivot-qKTyWxop.css} +4 -4
  55. flowfile/web/static/assets/{PivotValidation-fba09336.js → PivotValidation-B2lWvugt.js} +7 -9
  56. flowfile/web/static/assets/{PivotValidation-e7941f91.js → PivotValidation-BPlhRjpL.js} +7 -9
  57. flowfile/web/static/assets/{PolarsCode-740e40fa.js → PolarsCode-5h0tHnWR.js} +22 -20
  58. flowfile/web/static/assets/PopOver-BHpt5rsj.js +134 -0
  59. flowfile/web/static/assets/{PopOver-d96599db.css → PopOver-CyYM4-rV.css} +1 -1
  60. flowfile/web/static/assets/{Read-90f366bc.css → Read-DJxkrTb_.css} +10 -10
  61. flowfile/web/static/assets/Read-TsLEFh3B.js +227 -0
  62. flowfile/web/static/assets/{RecordCount-ffc71eca.js → RecordCount-DkVixq9v.js} +18 -17
  63. flowfile/web/static/assets/{RecordId-a70bb8df.js → RecordId-C2UEGlCf.js} +42 -39
  64. flowfile/web/static/assets/{SQLQueryComponent-15a421f5.js → SQLQueryComponent-Dr5KMoD3.js} +2 -3
  65. flowfile/web/static/assets/{Sample-6c26afc7.js → Sample-Cb3eQNmd.js} +30 -30
  66. flowfile/web/static/assets/{SecretSelector-ceed9496.js → SecretSelector-De2L2bSx.js} +3 -4
  67. flowfile/web/static/assets/{SecretsView-214d255a.js → SecretsView-CheC9BPV.js} +13 -16
  68. flowfile/web/static/assets/{Select-8fc29999.js → Select-CI8TloRs.js} +41 -36
  69. flowfile/web/static/assets/{SettingsSection-9f0d1725.js → SettingsSection-B39ulIiI.js} +1 -2
  70. flowfile/web/static/assets/{SettingsSection-83090218.js → SettingsSection-BiCc7S9h.js} +1 -2
  71. flowfile/web/static/assets/{SettingsSection-3f70e4c3.js → SettingsSection-CITK_R7o.js} +2 -3
  72. flowfile/web/static/assets/{SettingsSection-26fe48d4.css → SettingsSection-D2GgY-Aq.css} +4 -4
  73. flowfile/web/static/assets/{SetupView-3fa0aa03.js → SetupView-C1aXRDvp.js} +3 -4
  74. flowfile/web/static/assets/{SetupView-e2da3442.css → SetupView-CI1nd-5Z.css} +38 -38
  75. flowfile/web/static/assets/{SingleSelect-a4a568cb.js → SingleSelect-Kr_hz90m.js} +2 -2
  76. flowfile/web/static/assets/{SingleSelect.vue_vue_type_script_setup_true_lang-c8ebdd33.js → SingleSelect.vue_vue_type_script_setup_true_lang-Rxht5Z5N.js} +1 -1
  77. flowfile/web/static/assets/{SliderInput-be533e71.js → SliderInput-CLqpCxCb.js} +1 -2
  78. flowfile/web/static/assets/{GroupBy-5792782d.css → Sort-BIt2kc_p.css} +1 -1
  79. flowfile/web/static/assets/{Sort-154dad81.js → Sort-Dnw_J6Qi.js} +25 -25
  80. flowfile/web/static/assets/{TextInput-454e2bda.js → TextInput-wdlunIZC.js} +2 -2
  81. flowfile/web/static/assets/{TextInput.vue_vue_type_script_setup_true_lang-e86510d0.js → TextInput.vue_vue_type_script_setup_true_lang-Bcj3ywzv.js} +1 -1
  82. flowfile/web/static/assets/{TextToRows-ea73433d.js → TextToRows-BhtyGWPq.js} +42 -49
  83. flowfile/web/static/assets/{TextToRows-12afb4f4.css → TextToRows-DivDOLDx.css} +9 -9
  84. flowfile/web/static/assets/{ToggleSwitch-9d7b30f1.js → ToggleSwitch-B-6WzfFf.js} +2 -2
  85. flowfile/web/static/assets/{ToggleSwitch.vue_vue_type_script_setup_true_lang-00f2580e.js → ToggleSwitch.vue_vue_type_script_setup_true_lang-Cj8LqT-b.js} +1 -1
  86. flowfile/web/static/assets/{UnavailableFields-b72a2c72.js → UnavailableFields-Yf6XSqFB.js} +2 -3
  87. flowfile/web/static/assets/{Union-1e44f263.js → Union-CwpjeKYC.js} +20 -23
  88. flowfile/web/static/assets/{Unpivot-b6ad6427.css → Union-DQJcpp3-.css} +6 -6
  89. flowfile/web/static/assets/{Unique-a3bc6d0a.js → Unique-25v3urqH.js} +75 -74
  90. flowfile/web/static/assets/{Union-d6a8d7d5.css → Unpivot-Deqh1gtI.css} +6 -6
  91. flowfile/web/static/assets/{Unpivot-e27935fc.js → Unpivot-sYcTTXrq.js} +34 -27
  92. flowfile/web/static/assets/{UnpivotValidation-72497680.js → UnpivotValidation-C5DDEKY2.js} +5 -7
  93. flowfile/web/static/assets/VueGraphicWalker-B8l1_Z92.js +131 -0
  94. flowfile/web/static/assets/VueGraphicWalker-Da_1-3me.css +21 -0
  95. flowfile/web/static/assets/{api-a2102880.js → api-C0LvF-0C.js} +1 -1
  96. flowfile/web/static/assets/{api-f75042b0.js → api-DaC83EO_.js} +1 -1
  97. flowfile/web/static/assets/client-C8Ygr6Gb.js +42 -0
  98. flowfile/web/static/assets/{dropDown-2798a109.js → dropDown-D5YXaPRR.js} +7 -12
  99. flowfile/web/static/assets/{fullEditor-cf7d7d93.js → fullEditor-BVYnWm05.js} +300 -18
  100. flowfile/web/static/assets/genericNodeSettings-2wAu-QKn.css +75 -0
  101. flowfile/web/static/assets/genericNodeSettings-BBtW_Cpz.js +590 -0
  102. flowfile/web/static/assets/{VueGraphicWalker-d9ab70a3.js → graphic-walker.es-VrK6vdGE.js} +92305 -89751
  103. flowfile/web/static/assets/index-BCJxPfM5.js +6693 -0
  104. flowfile/web/static/assets/{index-f0a6e5a5.js → index-CHPMUR0d.js} +150 -170
  105. flowfile/web/static/assets/index-DPkoZWq8.js +32 -0
  106. flowfile/web/static/assets/index-DnW_KC_I.js +277 -0
  107. flowfile/web/static/assets/index-UFXyfirV.css +10797 -0
  108. flowfile/web/static/assets/index-bcuE0Z0p.js +87456 -0
  109. flowfile/web/static/assets/{node.types-2c15bb7e.js → node.types-Dl4gtSW9.js} +2 -2
  110. flowfile/web/static/assets/{outputCsv-3c1757e8.js → outputCsv-BELuBiJZ.js} +2 -3
  111. flowfile/web/static/assets/outputCsv-CdGkv-fN.css +2581 -0
  112. flowfile/web/static/assets/{outputExcel-686e1f48.js → outputExcel-D0TTNM79.js} +1 -2
  113. flowfile/web/static/assets/{outputParquet-df28faa7.js → outputParquet-Cz9EbRHj.js} +1 -2
  114. flowfile/web/static/assets/{readCsv-e37eee21.js → readCsv-7bd3kUMI.js} +1 -2
  115. flowfile/web/static/assets/{readExcel-a13f14bb.js → readExcel-Cq8CCwIv.js} +3 -4
  116. flowfile/web/static/assets/{readParquet-c5244ad5.css → readParquet-CRDmBrsp.css} +4 -4
  117. flowfile/web/static/assets/{readParquet-344cf746.js → readParquet-DjR4mRaj.js} +4 -5
  118. flowfile/web/static/assets/{secrets.api-ae198c5c.js → secrets.api-C9o2KE5V.js} +1 -1
  119. flowfile/web/static/assets/{selectDynamic-6b4b0767.js → selectDynamic-Bl5FVsME.js} +5 -8
  120. flowfile/web/static/assets/useNodeSettings-dMS9zmh_.js +69 -0
  121. flowfile/web/static/assets/{vue-codemirror.esm-31ba0e0b.js → vue-codemirror.esm-CwaYwln0.js} +3469 -3064
  122. flowfile/web/static/assets/{vue-content-loader.es-4469c8ff.js → vue-content-loader.es-CMoRXo7N.js} +3 -3
  123. flowfile/web/static/index.html +2 -3
  124. {flowfile-0.5.4.dist-info → flowfile-0.6.1.dist-info}/METADATA +2 -1
  125. flowfile-0.6.1.dist-info/RECORD +417 -0
  126. {flowfile-0.5.4.dist-info → flowfile-0.6.1.dist-info}/WHEEL +1 -1
  127. flowfile_core/auth/password.py +1 -0
  128. flowfile_core/database/init_db.py +7 -5
  129. flowfile_core/fileExplorer/funcs.py +2 -2
  130. flowfile_core/flowfile/code_generator/code_generator.py +13 -11
  131. flowfile_core/flowfile/filter_expressions.py +327 -0
  132. flowfile_core/flowfile/flow_data_engine/flow_data_engine.py +61 -59
  133. flowfile_core/flowfile/flow_data_engine/flow_file_column/type_registry.py +3 -29
  134. flowfile_core/flowfile/flow_data_engine/flow_file_column/utils.py +45 -14
  135. flowfile_core/flowfile/flow_data_engine/subprocess_operations/models.py +20 -3
  136. flowfile_core/flowfile/flow_data_engine/subprocess_operations/streaming.py +206 -0
  137. flowfile_core/flowfile/flow_data_engine/subprocess_operations/subprocess_operations.py +158 -24
  138. flowfile_core/flowfile/flow_graph.py +504 -190
  139. flowfile_core/flowfile/flow_node/__init__.py +32 -0
  140. flowfile_core/flowfile/flow_node/executor.py +404 -0
  141. flowfile_core/flowfile/flow_node/flow_node.py +207 -106
  142. flowfile_core/flowfile/flow_node/models.py +40 -0
  143. flowfile_core/flowfile/flow_node/output_field_config_applier.py +217 -0
  144. flowfile_core/flowfile/flow_node/schema_utils.py +78 -0
  145. flowfile_core/flowfile/flow_node/state.py +155 -0
  146. flowfile_core/flowfile/history_manager.py +401 -0
  147. flowfile_core/flowfile/manage/compatibility_enhancements.py +9 -0
  148. flowfile_core/flowfile/manage/io_flowfile.py +3 -1
  149. flowfile_core/flowfile/sources/external_sources/sql_source/models.py +20 -4
  150. flowfile_core/flowfile/util/execution_orderer.py +89 -36
  151. flowfile_core/main.py +2 -4
  152. flowfile_core/routes/auth.py +8 -9
  153. flowfile_core/routes/routes.py +320 -101
  154. flowfile_core/routes/user_defined_components.py +18 -16
  155. flowfile_core/schemas/history_schema.py +220 -0
  156. flowfile_core/schemas/input_schema.py +130 -6
  157. flowfile_core/schemas/schemas.py +9 -0
  158. flowfile_core/schemas/transform_schema.py +27 -5
  159. flowfile_core/schemas/yaml_types.py +23 -5
  160. flowfile_frame/adding_expr.py +18 -126
  161. flowfile_frame/callable_utils.py +261 -0
  162. flowfile_frame/database/connection_manager.py +0 -1
  163. flowfile_frame/expr.py +8 -4
  164. flowfile_frame/flow_frame.py +41 -41
  165. flowfile_frame/lazy.py +3 -12
  166. flowfile_frame/lazy_methods.py +5 -64
  167. flowfile_frame/utils.py +13 -32
  168. flowfile_worker/funcs.py +6 -4
  169. flowfile_worker/main.py +2 -0
  170. flowfile_worker/models.py +31 -11
  171. flowfile_worker/routes.py +60 -35
  172. flowfile_worker/spawner.py +7 -1
  173. flowfile_worker/streaming.py +335 -0
  174. flowfile/web/static/assets/ContextMenu-49463352.js +0 -9
  175. flowfile/web/static/assets/ContextMenu-dd5f3f25.js +0 -9
  176. flowfile/web/static/assets/ContextMenu-f709b884.js +0 -9
  177. flowfile/web/static/assets/Join-28b5e18f.css +0 -109
  178. flowfile/web/static/assets/PopOver-862d7e28.js +0 -939
  179. flowfile/web/static/assets/Read-225cc63f.js +0 -222
  180. flowfile/web/static/assets/VueGraphicWalker-430f0b86.css +0 -6
  181. flowfile/web/static/assets/database_reader-ce1e55f3.svg +0 -24
  182. flowfile/web/static/assets/database_writer-b4ad0753.svg +0 -23
  183. flowfile/web/static/assets/element-icons-9c88a535.woff +0 -0
  184. flowfile/web/static/assets/element-icons-de5eb258.ttf +0 -0
  185. flowfile/web/static/assets/genericNodeSettings-14eac1c3.js +0 -137
  186. flowfile/web/static/assets/genericNodeSettings-3b2507ea.css +0 -46
  187. flowfile/web/static/assets/index-387a6f18.js +0 -60752
  188. flowfile/web/static/assets/index-6b367bb5.js +0 -38
  189. flowfile/web/static/assets/index-e96ab018.css +0 -10466
  190. flowfile/web/static/assets/nodeInput-ed2ae8d7.js +0 -2
  191. flowfile/web/static/assets/outputCsv-b9a072af.css +0 -2499
  192. flowfile-0.5.4.dist-info/RECORD +0 -407
  193. /flowfile/web/static/assets/{AdminView-f53bad23.css → AdminView-B2Dthl3u.css} +0 -0
  194. /flowfile/web/static/assets/{CloudConnectionView-cf85f943.css → CloudConnectionView-BdFYGWV7.css} +0 -0
  195. /flowfile/web/static/assets/{ColumnActionInput-c44b7aee.css → ColumnActionInput-dCasSIC9.css} +0 -0
  196. /flowfile/web/static/assets/{ColumnSelector-371637fb.css → ColumnSelector-j6sEOjo1.css} +0 -0
  197. /flowfile/web/static/assets/{CustomNode-edb9b939.css → CustomNode-VPlajG0j.css} +0 -0
  198. /flowfile/web/static/assets/{DatabaseConnectionSettings-c20a1e16.css → DatabaseConnectionSettings-B78hXYgu.css} +0 -0
  199. /flowfile/web/static/assets/{DatabaseView-6655afd6.css → DatabaseView-B-_adk1s.css} +0 -0
  200. /flowfile/web/static/assets/{DocumentationView-9ea6e871.css → DocumentationView-CL7iipFL.css} +0 -0
  201. /flowfile/web/static/assets/{ExploreData-10c5acc8.css → ExploreData-DHjv0Plr.css} +0 -0
  202. /flowfile/web/static/assets/{LoginView-d325d632.css → LoginView-DN1BXY3e.css} +0 -0
  203. /flowfile/web/static/assets/{PivotValidation-0e905b1a.css → PivotValidation-DK-FARWe.css} +0 -0
  204. /flowfile/web/static/assets/{PivotValidation-41b57ad6.css → PivotValidation-FUa9F47u.css} +0 -0
  205. /flowfile/web/static/assets/{PolarsCode-2b1f1f23.css → PolarsCode-G-gRSrSc.css} +0 -0
  206. /flowfile/web/static/assets/{SQLQueryComponent-edb90b98.css → SQLQueryComponent-oAbWw0r-.css} +0 -0
  207. /flowfile/web/static/assets/{SecretSelector-6329f743.css → SecretSelector-CJSadIZx.css} +0 -0
  208. /flowfile/web/static/assets/{SecretsView-aa291340.css → SecretsView-DbzIRAba.css} +0 -0
  209. /flowfile/web/static/assets/{SettingsSection-8f980839.css → SettingsSection-BGcJnH6q.css} +0 -0
  210. /flowfile/web/static/assets/{SettingsSection-07fbbc39.css → SettingsSection-DDWn_EGW.css} +0 -0
  211. /flowfile/web/static/assets/{SliderInput-f2e4f23c.css → SliderInput-BRk-q_Dk.css} +0 -0
  212. /flowfile/web/static/assets/{UnavailableFields-394a1f78.css → UnavailableFields-DRKDImKe.css} +0 -0
  213. /flowfile/web/static/assets/{Unique-2b705521.css → Unique-Absb0aON.css} +0 -0
  214. /flowfile/web/static/assets/{UnpivotValidation-d5ca3b7b.css → UnpivotValidation-DSBkFgS-.css} +0 -0
  215. /flowfile/web/static/assets/{airbyte-292aa232.png → airbyte-W0xvIXwZ.png} +0 -0
  216. /flowfile/web/static/assets/{cloud_storage_reader-aa1415d6.png → cloud_storage_reader-3GpSCk90.png} +0 -0
  217. /flowfile/web/static/assets/{cross_join-d30c0290.png → cross_join-B0qpgYoV.png} +0 -0
  218. /flowfile/web/static/assets/{dropDown-1d6acbd9.css → dropDown-CE0VF5_P.css} +0 -0
  219. /flowfile/web/static/assets/{explore_data-8a0a2861.png → explore_data-tX6olPPL.png} +0 -0
  220. /flowfile/web/static/assets/{fa-brands-400-808443ae.ttf → fa-brands-400-D1LuMI3I.ttf} +0 -0
  221. /flowfile/web/static/assets/{fa-brands-400-d7236a19.woff2 → fa-brands-400-D_cYUPeE.woff2} +0 -0
  222. /flowfile/web/static/assets/{fa-regular-400-e3456d12.woff2 → fa-regular-400-BjRzuEpd.woff2} +0 -0
  223. /flowfile/web/static/assets/{fa-regular-400-54cf6086.ttf → fa-regular-400-DZaxPHgR.ttf} +0 -0
  224. /flowfile/web/static/assets/{fa-solid-900-aa759986.woff2 → fa-solid-900-CTAAxXor.woff2} +0 -0
  225. /flowfile/web/static/assets/{fa-solid-900-d2f05935.ttf → fa-solid-900-D0aA9rwL.ttf} +0 -0
  226. /flowfile/web/static/assets/{fa-v4compatibility-0ce9033c.woff2 → fa-v4compatibility-C9RhG_FT.woff2} +0 -0
  227. /flowfile/web/static/assets/{fa-v4compatibility-30f6abf6.ttf → fa-v4compatibility-CCth-dXg.ttf} +0 -0
  228. /flowfile/web/static/assets/{filter-d7708bda.png → filter-WRdZyUOw.png} +0 -0
  229. /flowfile/web/static/assets/{formula-eeeb1611.png → formula-CgM7uHVI.png} +0 -0
  230. /flowfile/web/static/assets/{fullEditor-fe9f7e18.css → fullEditor-CmDI7T9F.css} +0 -0
  231. /flowfile/web/static/assets/{fuzzy_match-40c161b2.png → fuzzy_match-Yon3k5Tc.png} +0 -0
  232. /flowfile/web/static/assets/{graph_solver-8b7888b8.png → graph_solver-BlMrBttD.png} +0 -0
  233. /flowfile/web/static/assets/{group_by-80561fc3.png → group_by-Gici0CSS.png} +0 -0
  234. /flowfile/web/static/assets/{input_data-ab2eb678.png → input_data-BRdGecLc.png} +0 -0
  235. /flowfile/web/static/assets/{join-349043ae.png → join-BITWRu73.png} +0 -0
  236. /flowfile/web/static/assets/{manual_input-ae98f31d.png → manual_input-CFvo_EUS.png} +0 -0
  237. /flowfile/web/static/assets/{old_join-5d0eb604.png → old_join-B9bkpPqv.png} +0 -0
  238. /flowfile/web/static/assets/{output-06ec0371.png → output-Dp7-ZpC4.png} +0 -0
  239. /flowfile/web/static/assets/{outputExcel-f5d272b2.css → outputExcel-CKgRe2iT.css} +0 -0
  240. /flowfile/web/static/assets/{outputParquet-54597c3c.css → outputParquet-d7j407cK.css} +0 -0
  241. /flowfile/web/static/assets/{pivot-9660df51.png → pivot-DSxKhNlD.png} +0 -0
  242. /flowfile/web/static/assets/{polars_code-05ce5dc6.png → polars_code-DxiztZ1c.png} +0 -0
  243. /flowfile/web/static/assets/{readCsv-3bfac4c3.css → readCsv-BG-1Jilp.css} +0 -0
  244. /flowfile/web/static/assets/{readExcel-3db6b763.css → readExcel-DBQXKPtC.css} +0 -0
  245. /flowfile/web/static/assets/{record_count-dab44eb5.png → record_count-DCeaLtpS.png} +0 -0
  246. /flowfile/web/static/assets/{record_id-0b15856b.png → record_id-FeUjyIFh.png} +0 -0
  247. /flowfile/web/static/assets/{sample-693a88b5.png → sample-DeqfRiB-.png} +0 -0
  248. /flowfile/web/static/assets/{select-b0d0437a.png → select-D4JjbdjS.png} +0 -0
  249. /flowfile/web/static/assets/{selectDynamic-f2fb394f.css → selectDynamic-CjeTPUUo.css} +0 -0
  250. /flowfile/web/static/assets/{sort-2aa579f0.png → sort-DGwUG9WS.png} +0 -0
  251. /flowfile/web/static/assets/{summarize-2a099231.png → summarize-DFaNHpfp.png} +0 -0
  252. /flowfile/web/static/assets/{text_to_rows-859b29ea.png → text_to_rows-BdiAewrN.png} +0 -0
  253. /flowfile/web/static/assets/{union-2d8609f4.png → union-DCK-LSMq.png} +0 -0
  254. /flowfile/web/static/assets/{unique-1958b98a.png → unique-CdP3zZIq.png} +0 -0
  255. /flowfile/web/static/assets/{unpivot-d3cb4b5b.png → unpivot-CHttrEt8.png} +0 -0
  256. /flowfile/web/static/assets/{user-defined-icon-0ae16c90.png → user-defined-icon-BcIp2Vzo.png} +0 -0
  257. /flowfile/web/static/assets/{view-7a0f0be1.png → view-DUSRwjvq.png} +0 -0
  258. {flowfile-0.5.4.dist-info → flowfile-0.6.1.dist-info}/entry_points.txt +0 -0
  259. {flowfile-0.5.4.dist-info → flowfile-0.6.1.dist-info}/licenses/LICENSE +0 -0
@@ -1,10 +1,9 @@
1
- import { C as CodeLoader } from "./vue-content-loader.es-4469c8ff.js";
2
- import { u as useNodeStore } from "./PopOver-862d7e28.js";
3
- import { d as defineComponent, r as ref, a4 as shallowRef, C as watch, o as openBlock, c as createElementBlock, p as createVNode, x as unref, t as toDisplayString, e as createCommentVNode, q as withCtx, y as createBlock } from "./index-387a6f18.js";
4
- import { k as keymap, a as acceptCompletion, i as indentMore, b as indentLess, c as EditorState, d as autocompletion, P as Prec, T } from "./vue-codemirror.esm-31ba0e0b.js";
5
- import { p as python, o as oneDark } from "./index-f0a6e5a5.js";
6
- import { G as GenericNodeSettings } from "./genericNodeSettings-14eac1c3.js";
7
- import "./DesignerView-f64749fb.js";
1
+ import { C as CodeLoader } from "./vue-content-loader.es-CMoRXo7N.js";
2
+ import { d as defineComponent, r as ref, H as watch, c as createElementBlock, z as createVNode, A as unref, t as toDisplayString, e as createCommentVNode, a4 as shallowRef, o as openBlock, l as useNodeStore, B as withCtx, C as createBlock } from "./index-bcuE0Z0p.js";
3
+ import { u as useNodeSettings } from "./useNodeSettings-dMS9zmh_.js";
4
+ import { k as keymap, a as acceptCompletion, i as indentMore, b as indentLess, c as EditorState, d as autocompletion, P as Prec, T } from "./vue-codemirror.esm-CwaYwln0.js";
5
+ import { o as oneDark, p as python } from "./index-CHPMUR0d.js";
6
+ import { G as GenericNodeSettings } from "./genericNodeSettings-BBtW_Cpz.js";
8
7
  const polarsCompletionVals = [
9
8
  // Polars basics
10
9
  { label: "pl", type: "variable", info: "Polars main module" },
@@ -148,7 +147,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
148
147
  };
149
148
  }
150
149
  });
151
- const pythonEditor_vue_vue_type_style_index_0_lang = "";
152
150
  const createPolarsCodeNode = (flowId, nodeId) => {
153
151
  const polarsCodeInput = {
154
152
  polars_code: `# Example of usage (you can remove this)
@@ -192,6 +190,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
192
190
  const editorChild = ref(null);
193
191
  const nodePolarsCode = ref(null);
194
192
  const nodeData = ref(null);
193
+ const { saveSettings, pushNodeData, handleGenericSettingsUpdate } = useNodeSettings({
194
+ nodeRef: nodePolarsCode,
195
+ onBeforeSave: () => {
196
+ if (!nodePolarsCode.value || !nodePolarsCode.value.polars_code_input.polars_code) {
197
+ return false;
198
+ }
199
+ return true;
200
+ }
201
+ });
195
202
  const handleEditorUpdate = (newCode) => {
196
203
  if (nodePolarsCode.value && nodePolarsCode.value.polars_code_input) {
197
204
  nodePolarsCode.value.polars_code_input.polars_code = newCode;
@@ -215,19 +222,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
215
222
  dataLoaded.value = false;
216
223
  }
217
224
  };
218
- const pushNodeData = async () => {
219
- if (!nodePolarsCode.value || !nodePolarsCode.value.polars_code_input.polars_code) {
220
- return;
221
- }
222
- nodePolarsCode.value.is_setup = true;
223
- nodeStore.updateSettings(nodePolarsCode);
224
- showEditor.value = false;
225
- dataLoaded.value = false;
226
- };
227
- __expose({ loadNodeData, pushNodeData });
225
+ __expose({ loadNodeData, pushNodeData, saveSettings });
228
226
  return (_ctx, _cache) => {
229
227
  return dataLoaded.value && nodePolarsCode.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
230
- createVNode(GenericNodeSettings, { "model-value": nodePolarsCode.value }, {
228
+ createVNode(GenericNodeSettings, {
229
+ "model-value": nodePolarsCode.value,
230
+ "onUpdate:modelValue": unref(handleGenericSettingsUpdate),
231
+ onRequestSave: unref(saveSettings)
232
+ }, {
231
233
  default: withCtx(() => [
232
234
  showEditor.value && nodePolarsCode.value ? (openBlock(), createBlock(_sfc_main$1, {
233
235
  key: 0,
@@ -238,7 +240,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
238
240
  }, null, 8, ["editor-string"])) : createCommentVNode("", true)
239
241
  ]),
240
242
  _: 1
241
- }, 8, ["model-value"])
243
+ }, 8, ["model-value", "onUpdate:modelValue", "onRequestSave"])
242
244
  ])) : (openBlock(), createBlock(unref(CodeLoader), { key: 1 }));
243
245
  };
244
246
  }
@@ -0,0 +1,134 @@
1
+ import { d as defineComponent, r as ref, J as onMounted, c as createElementBlock, a as createBaseVNode, T as renderSlot, C as createBlock, n as normalizeClass, a0 as normalizeStyle, t as toDisplayString, e as createCommentVNode, ao as Teleport, a1 as nextTick, aw as useCssVars, o as openBlock, g as _export_sfc } from "./index-bcuE0Z0p.js";
2
+ const _hoisted_1 = { class: "popover-container" };
3
+ const _hoisted_2 = { key: 0 };
4
+ const _hoisted_3 = ["innerHTML"];
5
+ const _sfc_main = /* @__PURE__ */ defineComponent({
6
+ __name: "PopOver",
7
+ props: {
8
+ content: {
9
+ type: String,
10
+ required: true
11
+ },
12
+ title: {
13
+ type: String,
14
+ default: ""
15
+ },
16
+ placement: {
17
+ type: String,
18
+ default: "top"
19
+ },
20
+ minWidth: {
21
+ type: Number,
22
+ default: 100
23
+ },
24
+ zIndex: {
25
+ type: Number,
26
+ default: 9999
27
+ }
28
+ },
29
+ setup(__props) {
30
+ useCssVars((_ctx) => ({
31
+ "v355ab648": props.minWidth + "px"
32
+ }));
33
+ const visible = ref(false);
34
+ const referenceEl = ref(null);
35
+ const popoverEl = ref(null);
36
+ const props = __props;
37
+ const popoverStyle = ref({
38
+ top: "0px",
39
+ left: "0px",
40
+ zIndex: props.zIndex.toString()
41
+ });
42
+ const showPopover = () => {
43
+ visible.value = true;
44
+ nextTick(() => {
45
+ updatePosition();
46
+ });
47
+ };
48
+ const hidePopover = () => {
49
+ visible.value = false;
50
+ };
51
+ const updatePosition = () => {
52
+ if (!referenceEl.value || !popoverEl.value) return;
53
+ const referenceRect = referenceEl.value.getBoundingClientRect();
54
+ const popoverRect = popoverEl.value.getBoundingClientRect();
55
+ const offset = 20;
56
+ let top = 0;
57
+ let left = 0;
58
+ switch (props.placement) {
59
+ case "top":
60
+ top = referenceRect.top - popoverRect.height - offset;
61
+ left = referenceRect.left + referenceRect.width / 2 - popoverRect.width / 2;
62
+ break;
63
+ case "bottom":
64
+ top = referenceRect.bottom + offset;
65
+ left = referenceRect.left + referenceRect.width / 2 - popoverRect.width / 2;
66
+ break;
67
+ case "left":
68
+ top = referenceRect.top + referenceRect.height / 2 - popoverRect.height / 2;
69
+ left = referenceRect.left - popoverRect.width - offset;
70
+ break;
71
+ case "right":
72
+ top = referenceRect.top + referenceRect.height / 2 - popoverRect.height / 2;
73
+ left = referenceRect.right + offset;
74
+ break;
75
+ }
76
+ const viewportWidth = window.innerWidth;
77
+ const viewportHeight = window.innerHeight;
78
+ if (left < 10) left = 10;
79
+ if (left + popoverRect.width > viewportWidth - 10) {
80
+ left = viewportWidth - popoverRect.width - 10;
81
+ }
82
+ if (top < 10) top = 10;
83
+ if (top + popoverRect.height > viewportHeight - 10) {
84
+ top = viewportHeight - popoverRect.height - 10;
85
+ }
86
+ popoverStyle.value = {
87
+ top: `${top}px`,
88
+ left: `${left}px`,
89
+ zIndex: props.zIndex.toString()
90
+ };
91
+ };
92
+ onMounted(() => {
93
+ window.addEventListener("resize", () => {
94
+ if (visible.value) {
95
+ updatePosition();
96
+ }
97
+ });
98
+ });
99
+ return (_ctx, _cache) => {
100
+ return openBlock(), createElementBlock("div", _hoisted_1, [
101
+ createBaseVNode("div", {
102
+ ref_key: "referenceEl",
103
+ ref: referenceEl,
104
+ class: "popover-reference",
105
+ onMouseenter: showPopover,
106
+ onMouseleave: hidePopover
107
+ }, [
108
+ renderSlot(_ctx.$slots, "default", {}, void 0, true)
109
+ ], 544),
110
+ visible.value ? (openBlock(), createBlock(Teleport, {
111
+ key: 0,
112
+ to: "body"
113
+ }, [
114
+ createBaseVNode("div", {
115
+ ref_key: "popoverEl",
116
+ ref: popoverEl,
117
+ style: normalizeStyle(popoverStyle.value),
118
+ class: normalizeClass(["popover", { "popover--left": props.placement === "left" }])
119
+ }, [
120
+ props.title !== "" ? (openBlock(), createElementBlock("h3", _hoisted_2, toDisplayString(props.title), 1)) : createCommentVNode("", true),
121
+ createBaseVNode("p", {
122
+ class: "content",
123
+ innerHTML: props.content
124
+ }, null, 8, _hoisted_3)
125
+ ], 6)
126
+ ])) : createCommentVNode("", true)
127
+ ]);
128
+ };
129
+ }
130
+ });
131
+ const PopOver = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-8b5d0b86"]]);
132
+ export {
133
+ PopOver as P
134
+ };
@@ -10,7 +10,7 @@
10
10
  border: 0.5px solid var(--color-border-primary);
11
11
  border-radius: 4px;
12
12
  box-shadow: var(--shadow-lg);
13
- min-width: var(--355ab648);
13
+ min-width: var(--v355ab648);
14
14
  color: var(--color-text-primary);
15
15
  }
16
16
  .popover--left[data-v-8b5d0b86] {
@@ -1,5 +1,5 @@
1
1
 
2
- .context-menu[data-v-6b4a9868] {
2
+ .context-menu[data-v-f31065e1] {
3
3
  position: fixed;
4
4
  z-index: 1000;
5
5
  border: 1px solid #ccc;
@@ -8,7 +8,7 @@
8
8
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
9
9
  border-radius: 4px;
10
10
  }
11
- .context-menu button[data-v-6b4a9868] {
11
+ .context-menu button[data-v-f31065e1] {
12
12
  display: block;
13
13
  background: none;
14
14
  border: none;
@@ -17,14 +17,14 @@
17
17
  width: 100%;
18
18
  cursor: pointer;
19
19
  }
20
- .context-menu button[data-v-6b4a9868]:hover {
20
+ .context-menu button[data-v-f31065e1]:hover {
21
21
  background-color: var(--color-background-secondary);
22
22
  }
23
- .file-upload-wrapper[data-v-6b4a9868] {
23
+ .file-upload-wrapper[data-v-f31065e1] {
24
24
  position: relative;
25
25
  width: 100%;
26
26
  }
27
- .file-upload-label[data-v-6b4a9868] {
27
+ .file-upload-label[data-v-f31065e1] {
28
28
  display: flex;
29
29
  align-items: center;
30
30
  background-color: var(--color-background-secondary);
@@ -37,18 +37,18 @@
37
37
  cursor: pointer;
38
38
  transition: background-color 0.3s ease;
39
39
  }
40
- .file-upload-label[data-v-6b4a9868]:hover {
40
+ .file-upload-label[data-v-f31065e1]:hover {
41
41
  background-color: var(--color-background-primary);
42
42
  }
43
- .file-icon[data-v-6b4a9868] {
43
+ .file-icon[data-v-f31065e1] {
44
44
  margin-right: 10px;
45
45
  font-size: 20px;
46
46
  }
47
- .file-label-text[data-v-6b4a9868] {
47
+ .file-label-text[data-v-f31065e1] {
48
48
  flex-grow: 1;
49
49
  margin-left: 10px;
50
50
  }
51
- input[type="text"][data-v-6b4a9868] {
51
+ input[type="text"][data-v-f31065e1] {
52
52
  width: 100%;
53
53
  padding: 8px;
54
54
  border: 1px solid #ddd;
@@ -56,7 +56,7 @@ input[type="text"][data-v-6b4a9868] {
56
56
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
57
57
  transition: border-color 0.2s ease;
58
58
  }
59
- input[type="text"][data-v-6b4a9868]:focus {
59
+ input[type="text"][data-v-f31065e1]:focus {
60
60
  border-color: #3498db;
61
61
  outline: none;
62
62
  }
@@ -0,0 +1,227 @@
1
+ import { C as CodeLoader } from "./vue-content-loader.es-CMoRXo7N.js";
2
+ import ExcelTableConfig from "./readExcel-Cq8CCwIv.js";
3
+ import CsvTableConfig from "./readCsv-7bd3kUMI.js";
4
+ import ParquetTableConfig from "./readParquet-DjR4mRaj.js";
5
+ import { d as isInputExcelTable, e as isInputCsvTable, f as isInputParquetTable } from "./node.types-Dl4gtSW9.js";
6
+ import { d as defineComponent, l as useNodeStore, c as createElementBlock, z as createVNode, B as withCtx, a as createBaseVNode, t as toDisplayString, A as unref, C as createBlock, e as createCommentVNode, r as ref, G as computed, D as resolveComponent, o as openBlock, g as _export_sfc } from "./index-bcuE0Z0p.js";
7
+ import { u as useNodeSettings } from "./useNodeSettings-dMS9zmh_.js";
8
+ import { F as FileBrowser } from "./DesignerView-DemDevTQ.js";
9
+ import { G as GenericNodeSettings } from "./genericNodeSettings-BBtW_Cpz.js";
10
+ import "./dropDown-D5YXaPRR.js";
11
+ import "./PopOver-BHpt5rsj.js";
12
+ import "./index-CHPMUR0d.js";
13
+ import "./vue-codemirror.esm-CwaYwln0.js";
14
+ const _hoisted_1 = {
15
+ key: 0,
16
+ class: "listbox-wrapper"
17
+ };
18
+ const _hoisted_2 = { class: "listbox-wrapper" };
19
+ const _hoisted_3 = { class: "file-upload-container" };
20
+ const _hoisted_4 = {
21
+ for: "file-upload",
22
+ class: "file-upload-label"
23
+ };
24
+ const _hoisted_5 = { class: "file-label-text" };
25
+ const _hoisted_6 = { key: 0 };
26
+ const _hoisted_7 = { class: "listbox-wrapper" };
27
+ const _sfc_main = /* @__PURE__ */ defineComponent({
28
+ __name: "Read",
29
+ setup(__props, { expose: __expose }) {
30
+ const nodeStore = useNodeStore();
31
+ const selectedFile = ref(null);
32
+ const nodeRead = ref(null);
33
+ const receivedTable = ref(null);
34
+ const dataLoaded = ref(false);
35
+ const modalVisibleForOpen = ref(false);
36
+ const { saveSettings, pushNodeData, handleGenericSettingsUpdate } = useNodeSettings({
37
+ nodeRef: nodeRead,
38
+ onBeforeSave: () => {
39
+ if (!nodeRead.value || !receivedTable.value) {
40
+ console.warn("No node read value available");
41
+ return false;
42
+ }
43
+ nodeRead.value.received_file = receivedTable.value;
44
+ return true;
45
+ }
46
+ });
47
+ const getDisplayFileName = computed(() => {
48
+ var _a, _b;
49
+ if ((_a = selectedFile.value) == null ? void 0 : _a.name) {
50
+ return selectedFile.value.name;
51
+ }
52
+ if ((_b = receivedTable.value) == null ? void 0 : _b.name) {
53
+ return receivedTable.value.name;
54
+ }
55
+ return "Choose a file...";
56
+ });
57
+ function createDefaultCsvSettings() {
58
+ return {
59
+ file_type: "csv",
60
+ reference: "",
61
+ starting_from_line: 0,
62
+ delimiter: ",",
63
+ has_headers: true,
64
+ encoding: "utf-8",
65
+ row_delimiter: "\n",
66
+ quote_char: '"',
67
+ infer_schema_length: 1e3,
68
+ truncate_ragged_lines: false,
69
+ ignore_errors: false
70
+ };
71
+ }
72
+ function createDefaultExcelSettings() {
73
+ return {
74
+ file_type: "excel",
75
+ sheet_name: "",
76
+ start_row: 0,
77
+ start_column: 0,
78
+ end_row: 0,
79
+ end_column: 0,
80
+ has_headers: true,
81
+ type_inference: false
82
+ };
83
+ }
84
+ function createDefaultParquetSettings() {
85
+ return {
86
+ file_type: "parquet"
87
+ };
88
+ }
89
+ const handleFileChange = (fileInfo) => {
90
+ var _a;
91
+ try {
92
+ if (!fileInfo) {
93
+ console.warn("No file info provided");
94
+ return;
95
+ }
96
+ const ext = (_a = fileInfo.name.split(".").pop()) == null ? void 0 : _a.toLowerCase();
97
+ if (!ext) {
98
+ console.warn("No file type detected");
99
+ return;
100
+ }
101
+ let fileType;
102
+ let tableSettings;
103
+ switch (ext) {
104
+ case "xlsx":
105
+ fileType = "excel";
106
+ tableSettings = createDefaultExcelSettings();
107
+ break;
108
+ case "csv":
109
+ case "txt":
110
+ fileType = "csv";
111
+ tableSettings = createDefaultCsvSettings();
112
+ break;
113
+ case "parquet":
114
+ fileType = "parquet";
115
+ tableSettings = createDefaultParquetSettings();
116
+ break;
117
+ default:
118
+ console.warn("Unsupported file type:", ext);
119
+ return;
120
+ }
121
+ receivedTable.value = {
122
+ name: fileInfo.name,
123
+ path: fileInfo.path,
124
+ file_type: fileType,
125
+ table_settings: tableSettings
126
+ };
127
+ selectedFile.value = fileInfo;
128
+ modalVisibleForOpen.value = false;
129
+ } catch (error) {
130
+ console.error("Error handling file change:", error);
131
+ }
132
+ };
133
+ const loadNodeData = async (nodeId) => {
134
+ var _a;
135
+ try {
136
+ const nodeResult = await nodeStore.getNodeData(nodeId, false);
137
+ if (!nodeResult) {
138
+ console.warn("No node result received");
139
+ dataLoaded.value = true;
140
+ return;
141
+ }
142
+ nodeRead.value = nodeResult.setting_input;
143
+ if (((_a = nodeResult.setting_input) == null ? void 0 : _a.is_setup) && nodeResult.setting_input.received_file) {
144
+ receivedTable.value = nodeResult.setting_input.received_file;
145
+ }
146
+ dataLoaded.value = true;
147
+ } catch (error) {
148
+ console.error("Error loading node data:", error);
149
+ dataLoaded.value = true;
150
+ }
151
+ };
152
+ __expose({
153
+ loadNodeData,
154
+ pushNodeData,
155
+ saveSettings
156
+ });
157
+ return (_ctx, _cache) => {
158
+ const _component_el_dialog = resolveComponent("el-dialog");
159
+ return dataLoaded.value && nodeRead.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
160
+ createVNode(GenericNodeSettings, {
161
+ "model-value": nodeRead.value,
162
+ "onUpdate:modelValue": unref(handleGenericSettingsUpdate),
163
+ onRequestSave: unref(saveSettings)
164
+ }, {
165
+ default: withCtx(() => [
166
+ createBaseVNode("div", _hoisted_2, [
167
+ createBaseVNode("div", _hoisted_3, [
168
+ createBaseVNode("div", {
169
+ class: "file-upload-wrapper",
170
+ onClick: _cache[0] || (_cache[0] = ($event) => modalVisibleForOpen.value = true)
171
+ }, [
172
+ createBaseVNode("label", _hoisted_4, [
173
+ _cache[5] || (_cache[5] = createBaseVNode("i", { class: "fas fa-table file-icon" }, null, -1)),
174
+ createBaseVNode("span", _hoisted_5, toDisplayString(getDisplayFileName.value), 1)
175
+ ])
176
+ ])
177
+ ])
178
+ ]),
179
+ receivedTable.value ? (openBlock(), createElementBlock("div", _hoisted_6, [
180
+ createBaseVNode("div", _hoisted_7, [
181
+ _cache[6] || (_cache[6] = createBaseVNode("div", { class: "listbox-subtitle" }, "File Specs", -1)),
182
+ unref(isInputExcelTable)(receivedTable.value.table_settings) ? (openBlock(), createBlock(ExcelTableConfig, {
183
+ key: 0,
184
+ modelValue: receivedTable.value.table_settings,
185
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => receivedTable.value.table_settings = $event),
186
+ path: receivedTable.value.path
187
+ }, null, 8, ["modelValue", "path"])) : createCommentVNode("", true),
188
+ unref(isInputCsvTable)(receivedTable.value.table_settings) ? (openBlock(), createBlock(CsvTableConfig, {
189
+ key: 1,
190
+ modelValue: receivedTable.value.table_settings,
191
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => receivedTable.value.table_settings = $event)
192
+ }, null, 8, ["modelValue"])) : createCommentVNode("", true),
193
+ unref(isInputParquetTable)(receivedTable.value.table_settings) ? (openBlock(), createBlock(ParquetTableConfig, {
194
+ key: 2,
195
+ modelValue: receivedTable.value.table_settings,
196
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => receivedTable.value.table_settings = $event)
197
+ }, null, 8, ["modelValue"])) : createCommentVNode("", true)
198
+ ])
199
+ ])) : createCommentVNode("", true),
200
+ createVNode(_component_el_dialog, {
201
+ modelValue: modalVisibleForOpen.value,
202
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => modalVisibleForOpen.value = $event),
203
+ title: "Select a file to Read",
204
+ width: "70%"
205
+ }, {
206
+ default: withCtx(() => [
207
+ createVNode(FileBrowser, {
208
+ "allowed-file-types": ["csv", "txt", "parquet", "xlsx"],
209
+ mode: "open",
210
+ context: "dataFiles",
211
+ "is-visible": modalVisibleForOpen.value,
212
+ onFileSelected: handleFileChange
213
+ }, null, 8, ["is-visible"])
214
+ ]),
215
+ _: 1
216
+ }, 8, ["modelValue"])
217
+ ]),
218
+ _: 1
219
+ }, 8, ["model-value", "onUpdate:modelValue", "onRequestSave"])
220
+ ])) : (openBlock(), createBlock(unref(CodeLoader), { key: 1 }));
221
+ };
222
+ }
223
+ });
224
+ const Read = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f31065e1"]]);
225
+ export {
226
+ Read as default
227
+ };
@@ -1,9 +1,6 @@
1
- import { u as useNodeStore } from "./PopOver-862d7e28.js";
2
- import { d as defineComponent, r as ref, F as onMounted, Z as nextTick, o as openBlock, c as createElementBlock, p as createVNode, q as withCtx, a as createBaseVNode, e as createCommentVNode } from "./index-387a6f18.js";
3
- import { G as GenericNodeSettings } from "./genericNodeSettings-14eac1c3.js";
4
- import "./DesignerView-f64749fb.js";
5
- import "./index-f0a6e5a5.js";
6
- import "./vue-codemirror.esm-31ba0e0b.js";
1
+ import { d as defineComponent, l as useNodeStore, J as onMounted, a1 as nextTick, c as createElementBlock, z as createVNode, B as withCtx, a as createBaseVNode, A as unref, e as createCommentVNode, r as ref, o as openBlock } from "./index-bcuE0Z0p.js";
2
+ import { u as useNodeSettings } from "./useNodeSettings-dMS9zmh_.js";
3
+ import { G as GenericNodeSettings } from "./genericNodeSettings-BBtW_Cpz.js";
7
4
  const _hoisted_1 = {
8
5
  key: 0,
9
6
  class: "listbox-wrapper"
@@ -15,20 +12,21 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
15
12
  const dataLoaded = ref(false);
16
13
  const nodeData = ref(null);
17
14
  const nodeRecordCount = ref(null);
15
+ const { saveSettings, pushNodeData, handleGenericSettingsUpdate } = useNodeSettings({
16
+ nodeRef: nodeRecordCount
17
+ });
18
18
  const loadNodeData = async (nodeId) => {
19
19
  var _a;
20
20
  nodeData.value = await nodeStore.getNodeData(nodeId, false);
21
21
  nodeRecordCount.value = (_a = nodeData.value) == null ? void 0 : _a.setting_input;
22
- dataLoaded.value = true;
23
- };
24
- const pushNodeData = async () => {
25
22
  if (nodeRecordCount.value) {
26
- nodeStore.updateSettings(nodeRecordCount);
23
+ dataLoaded.value = true;
27
24
  }
28
25
  };
29
26
  __expose({
30
27
  loadNodeData,
31
- pushNodeData
28
+ pushNodeData,
29
+ saveSettings
32
30
  });
33
31
  onMounted(async () => {
34
32
  await nextTick();
@@ -37,15 +35,18 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
37
35
  return dataLoaded.value && nodeRecordCount.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
38
36
  createVNode(GenericNodeSettings, {
39
37
  modelValue: nodeRecordCount.value,
40
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => nodeRecordCount.value = $event)
38
+ "onUpdate:modelValue": [
39
+ _cache[0] || (_cache[0] = ($event) => nodeRecordCount.value = $event),
40
+ unref(handleGenericSettingsUpdate)
41
+ ],
42
+ onRequestSave: unref(saveSettings)
41
43
  }, {
42
- default: withCtx(() => _cache[1] || (_cache[1] = [
44
+ default: withCtx(() => [..._cache[1] || (_cache[1] = [
43
45
  createBaseVNode("p", null, " This node helps you quickly retrieve the total number of records from the selected table. It's a simple yet powerful tool to keep track of the data volume as you work through your tasks. ", -1),
44
46
  createBaseVNode("p", null, "This node does not need a setup", -1)
45
- ])),
46
- _: 1,
47
- __: [1]
48
- }, 8, ["modelValue"])
47
+ ])]),
48
+ _: 1
49
+ }, 8, ["modelValue", "onUpdate:modelValue", "onRequestSave"])
49
50
  ])) : createCommentVNode("", true);
50
51
  };
51
52
  }