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,11 +1,12 @@
1
- import { d as defineComponent, r as ref, F as onMounted, Z as nextTick, l as onUnmounted, m as resolveComponent, o as openBlock, c as createElementBlock, p as createVNode, q as withCtx, a as createBaseVNode, f as createTextVNode, i as withDirectives, v as vModelText, G as Fragment, H as renderList, n as normalizeClass, w as withModifiers, t as toDisplayString, y as createBlock, e as createCommentVNode } from "./index-387a6f18.js";
2
- import { u as useNodeStore } from "./PopOver-862d7e28.js";
3
- import "./DesignerView-f64749fb.js";
4
- import { _ as _sfc_main$1 } from "./ContextMenu.vue_vue_type_script_setup_true_lang-a1bd6314.js";
5
- import SettingsSection from "./SettingsSection-9f0d1725.js";
6
- import { G as GenericNodeSettings } from "./genericNodeSettings-14eac1c3.js";
7
- import "./index-f0a6e5a5.js";
8
- import "./vue-codemirror.esm-31ba0e0b.js";
1
+ import { d as defineComponent, l as useNodeStore, J as onMounted, a1 as nextTick, x as onUnmounted, c as createElementBlock, z as createVNode, B as withCtx, a as createBaseVNode, f as createTextVNode, h as withDirectives, v as vModelText, K as Fragment, L as renderList, w as withModifiers, n as normalizeClass, t as toDisplayString, C as createBlock, e as createCommentVNode, A as unref, r as ref, D as resolveComponent, o as openBlock } from "./index-bcuE0Z0p.js";
2
+ import { u as useNodeSettings } from "./useNodeSettings-dMS9zmh_.js";
3
+ import "./DesignerView-DemDevTQ.js";
4
+ import { _ as _sfc_main$1 } from "./ContextMenu.vue_vue_type_script_setup_true_lang-I4rXXd6G.js";
5
+ import SettingsSection from "./SettingsSection-B39ulIiI.js";
6
+ import { G as GenericNodeSettings } from "./genericNodeSettings-BBtW_Cpz.js";
7
+ import "./PopOver-BHpt5rsj.js";
8
+ import "./index-CHPMUR0d.js";
9
+ import "./vue-codemirror.esm-CwaYwln0.js";
9
10
  const _hoisted_1 = {
10
11
  key: 0,
11
12
  class: "listbox-wrapper"
@@ -20,11 +21,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
20
21
  __name: "RecordId",
21
22
  setup(__props, { expose: __expose }) {
22
23
  const nodeStore = useNodeStore();
24
+ const nodeRecordId = ref(null);
25
+ const { saveSettings, pushNodeData, handleGenericSettingsUpdate } = useNodeSettings({
26
+ nodeRef: nodeRecordId
27
+ });
23
28
  const showContextMenu = ref(false);
24
29
  const contextMenuPosition = ref({ x: 0, y: 0 });
25
30
  const dataLoaded = ref(false);
26
31
  const contextMenuRef = ref(null);
27
- const nodeRecordId = ref(null);
28
32
  const nodeData = ref(null);
29
33
  const contextMenuOptions = ref([]);
30
34
  const draggedColumnName = ref(null);
@@ -35,7 +39,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
35
39
  const onDropInSection = (section) => {
36
40
  var _a, _b;
37
41
  if (draggedColumnName.value) {
38
- if (section === "add" && !((_a = nodeRecordId.value) == null ? void 0 : _a.record_id_input.group_by_columns.includes(draggedColumnName.value))) {
42
+ if (!((_a = nodeRecordId.value) == null ? void 0 : _a.record_id_input.group_by_columns.includes(draggedColumnName.value))) {
39
43
  (_b = nodeRecordId.value) == null ? void 0 : _b.record_id_input.group_by_columns.push(draggedColumnName.value);
40
44
  }
41
45
  draggedColumnName.value = null;
@@ -48,20 +52,19 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
48
52
  selectedColumns.value = [columnName];
49
53
  };
50
54
  const loadNodeData = async (nodeId) => {
51
- var _a, _b, _c;
55
+ var _a;
52
56
  nodeData.value = await nodeStore.getNodeData(nodeId, false);
53
57
  nodeRecordId.value = (_a = nodeData.value) == null ? void 0 : _a.setting_input;
54
- if (!((_b = nodeData.value) == null ? void 0 : _b.setting_input.is_setup) && nodeRecordId.value) {
55
- nodeRecordId.value.record_id_input = {
56
- offset: 1,
57
- output_column_name: "record_id",
58
- group_by: false,
59
- group_by_columns: []
60
- };
61
- }
62
- dataLoaded.value = true;
63
- if ((_c = nodeRecordId.value) == null ? void 0 : _c.is_setup) {
64
- nodeRecordId.value.is_setup = true;
58
+ if (nodeRecordId.value) {
59
+ if (!nodeRecordId.value.is_setup) {
60
+ nodeRecordId.value.record_id_input = {
61
+ offset: 1,
62
+ output_column_name: "record_id",
63
+ group_by: false,
64
+ group_by_columns: []
65
+ };
66
+ }
67
+ dataLoaded.value = true;
65
68
  }
66
69
  };
67
70
  const onDragStart = (columnName, event) => {
@@ -117,17 +120,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
117
120
  };
118
121
  const removeColumn = (type, column) => {
119
122
  if (nodeRecordId.value) {
120
- if (type === "add") {
123
+ {
121
124
  nodeRecordId.value.record_id_input.group_by_columns = nodeRecordId.value.record_id_input.group_by_columns.filter((col) => col !== column);
122
125
  }
123
126
  }
124
127
  };
125
- const pushNodeData = async () => {
126
- nodeStore.updateSettings(nodeRecordId);
127
- };
128
128
  __expose({
129
129
  loadNodeData,
130
- pushNodeData
130
+ pushNodeData,
131
+ saveSettings
131
132
  });
132
133
  onMounted(async () => {
133
134
  await nextTick();
@@ -143,7 +144,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
143
144
  return dataLoaded.value && nodeRecordId.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
144
145
  createVNode(GenericNodeSettings, {
145
146
  modelValue: nodeRecordId.value,
146
- "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => nodeRecordId.value = $event)
147
+ "onUpdate:modelValue": [
148
+ _cache[7] || (_cache[7] = ($event) => nodeRecordId.value = $event),
149
+ unref(handleGenericSettingsUpdate)
150
+ ],
151
+ onRequestSave: unref(saveSettings)
147
152
  }, {
148
153
  default: withCtx(() => {
149
154
  var _a, _b;
@@ -156,11 +161,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
156
161
  span: 10,
157
162
  class: "grid-content"
158
163
  }, {
159
- default: withCtx(() => _cache[8] || (_cache[8] = [
160
- createTextVNode("Offset")
161
- ])),
162
- _: 1,
163
- __: [8]
164
+ default: withCtx(() => [..._cache[8] || (_cache[8] = [
165
+ createTextVNode("Offset", -1)
166
+ ])]),
167
+ _: 1
164
168
  }),
165
169
  createVNode(_component_el_col, {
166
170
  span: 8,
@@ -187,11 +191,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
187
191
  span: 10,
188
192
  class: "grid-content"
189
193
  }, {
190
- default: withCtx(() => _cache[9] || (_cache[9] = [
191
- createTextVNode("Output name")
192
- ])),
193
- _: 1,
194
- __: [9]
194
+ default: withCtx(() => [..._cache[9] || (_cache[9] = [
195
+ createTextVNode("Output name", -1)
196
+ ])]),
197
+ _: 1
195
198
  }),
196
199
  createVNode(_component_el_col, {
197
200
  span: 8,
@@ -261,7 +264,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
261
264
  ];
262
265
  }),
263
266
  _: 1
264
- }, 8, ["modelValue"])
267
+ }, 8, ["modelValue", "onUpdate:modelValue", "onRequestSave"])
265
268
  ])) : createCommentVNode("", true);
266
269
  };
267
270
  }
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, o as openBlock, c as createElementBlock, a as createBaseVNode, g as _export_sfc } from "./index-387a6f18.js";
1
+ import { d as defineComponent, c as createElementBlock, a as createBaseVNode, o as openBlock, g as _export_sfc } from "./index-bcuE0Z0p.js";
2
2
  const _hoisted_1 = { class: "query-section" };
3
3
  const _hoisted_2 = { class: "form-group" };
4
4
  const _hoisted_3 = ["value"];
@@ -20,7 +20,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
20
20
  createBaseVNode("div", _hoisted_2, [
21
21
  createBaseVNode("textarea", {
22
22
  id: "query",
23
- value: _ctx.modelValue,
23
+ value: __props.modelValue,
24
24
  class: "form-control textarea",
25
25
  placeholder: "Enter SQL query",
26
26
  rows: "4",
@@ -31,7 +31,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
31
31
  };
32
32
  }
33
33
  });
34
- const SQLQueryComponent_vue_vue_type_style_index_0_scoped_10f7cdfb_lang = "";
35
34
  const SqlQueryComponent = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-10f7cdfb"]]);
36
35
  export {
37
36
  SqlQueryComponent as default
@@ -1,9 +1,6 @@
1
- import { d as defineComponent, r as ref, F as onMounted, Z as nextTick, l as onUnmounted, m as resolveComponent, o as openBlock, c as createElementBlock, p as createVNode, q as withCtx, a as createBaseVNode, f as createTextVNode, i as withDirectives, v as vModelText, e as createCommentVNode } from "./index-387a6f18.js";
2
- import { u as useNodeStore } from "./PopOver-862d7e28.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, x as onUnmounted, c as createElementBlock, z as createVNode, B as withCtx, a as createBaseVNode, f as createTextVNode, h as withDirectives, v as vModelText, A as unref, e as createCommentVNode, r as ref, D as resolveComponent, 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"
@@ -21,20 +18,26 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
21
18
  const nodeSample = ref(null);
22
19
  const nodeData = ref(null);
23
20
  const sampleSize = ref(1e3);
21
+ const { saveSettings, pushNodeData, handleGenericSettingsUpdate } = useNodeSettings({
22
+ nodeRef: nodeSample,
23
+ onBeforeSave: () => {
24
+ if (nodeSample.value) {
25
+ nodeSample.value.sample_size = sampleSize.value;
26
+ }
27
+ return true;
28
+ }
29
+ });
24
30
  const loadNodeData = async (nodeId) => {
25
- var _a, _b, _c;
31
+ var _a;
26
32
  nodeData.value = await nodeStore.getNodeData(nodeId, false);
27
33
  nodeSample.value = (_a = nodeData.value) == null ? void 0 : _a.setting_input;
28
- if (!((_b = nodeData.value) == null ? void 0 : _b.setting_input.is_setup) && nodeSample.value) {
29
- nodeSample.value.sample_size = sampleSize.value;
30
- } else {
31
- if (nodeSample.value) {
34
+ if (nodeSample.value) {
35
+ if (!nodeSample.value.is_setup) {
36
+ nodeSample.value.sample_size = sampleSize.value;
37
+ } else {
32
38
  sampleSize.value = nodeSample.value.sample_size;
33
39
  }
34
- }
35
- dataLoaded.value = true;
36
- if ((_c = nodeSample.value) == null ? void 0 : _c.is_setup) {
37
- nodeSample.value.is_setup = true;
40
+ dataLoaded.value = true;
38
41
  }
39
42
  };
40
43
  const handleClickOutside = (event) => {
@@ -45,16 +48,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
45
48
  showContextMenuRemove.value = false;
46
49
  }
47
50
  };
48
- const pushNodeData = async () => {
49
- if (nodeSample.value) {
50
- nodeSample.value.sample_size = sampleSize.value;
51
- }
52
- nodeStore.updateSettings(nodeSample);
53
- dataLoaded.value = false;
54
- };
55
51
  __expose({
56
52
  loadNodeData,
57
- pushNodeData
53
+ pushNodeData,
54
+ saveSettings
58
55
  });
59
56
  onMounted(async () => {
60
57
  await nextTick();
@@ -69,7 +66,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
69
66
  return dataLoaded.value && nodeSample.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
70
67
  createVNode(GenericNodeSettings, {
71
68
  modelValue: nodeSample.value,
72
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => nodeSample.value = $event)
69
+ "onUpdate:modelValue": [
70
+ _cache[1] || (_cache[1] = ($event) => nodeSample.value = $event),
71
+ unref(handleGenericSettingsUpdate)
72
+ ],
73
+ onRequestSave: unref(saveSettings)
73
74
  }, {
74
75
  default: withCtx(() => [
75
76
  createBaseVNode("div", _hoisted_2, [
@@ -80,11 +81,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
80
81
  span: 10,
81
82
  class: "grid-content"
82
83
  }, {
83
- default: withCtx(() => _cache[2] || (_cache[2] = [
84
- createTextVNode("Offset")
85
- ])),
86
- _: 1,
87
- __: [2]
84
+ default: withCtx(() => [..._cache[2] || (_cache[2] = [
85
+ createTextVNode("Offset", -1)
86
+ ])]),
87
+ _: 1
88
88
  }),
89
89
  createVNode(_component_el_col, {
90
90
  span: 8,
@@ -108,7 +108,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
108
108
  ])
109
109
  ]),
110
110
  _: 1
111
- }, 8, ["modelValue"])
111
+ }, 8, ["modelValue", "onUpdate:modelValue", "onRequestSave"])
112
112
  ])) : createCommentVNode("", true);
113
113
  };
114
114
  }
@@ -1,5 +1,5 @@
1
- import { d as defineComponent, r as ref, B as computed, F as onMounted, m as resolveComponent, o as openBlock, c as createElementBlock, a as createBaseVNode, f as createTextVNode, t as toDisplayString, e as createCommentVNode, p as createVNode, q as withCtx, G as Fragment, H as renderList, y as createBlock, g as _export_sfc } from "./index-387a6f18.js";
2
- import { S as SecretsApi } from "./secrets.api-ae198c5c.js";
1
+ import { d as defineComponent, J as onMounted, c as createElementBlock, a as createBaseVNode, f as createTextVNode, t as toDisplayString, e as createCommentVNode, z as createVNode, B as withCtx, K as Fragment, L as renderList, C as createBlock, r as ref, G as computed, D as resolveComponent, o as openBlock, g as _export_sfc } from "./index-bcuE0Z0p.js";
2
+ import { S as SecretsApi } from "./secrets.api-C9o2KE5V.js";
3
3
  const _hoisted_1 = { class: "component-container" };
4
4
  const _hoisted_2 = { class: "listbox-subtitle" };
5
5
  const _hoisted_3 = {
@@ -96,7 +96,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
96
96
  _: 1
97
97
  }, 8, ["model-value", "loading"]),
98
98
  !loading.value && filteredSecrets.value.length === 0 ? (openBlock(), createElementBlock("p", _hoisted_6, [
99
- _cache[2] || (_cache[2] = createTextVNode(" No secrets available. ")),
99
+ _cache[2] || (_cache[2] = createTextVNode(" No secrets available. ", -1)),
100
100
  createBaseVNode("span", {
101
101
  class: "hint-link",
102
102
  onClick: openSecretsManager
@@ -106,7 +106,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
106
106
  };
107
107
  }
108
108
  });
109
- const SecretSelector_vue_vue_type_style_index_0_scoped_c7dfd4de_lang = "";
110
109
  const SecretSelector = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c7dfd4de"]]);
111
110
  export {
112
111
  SecretSelector as default
@@ -1,5 +1,5 @@
1
- import { r as ref, B as computed, d as defineComponent, F as onMounted, c as createElementBlock, a as createBaseVNode, w as withModifiers, i as withDirectives, v as vModelText, j as vModelDynamic, n as normalizeClass, f as createTextVNode, t as toDisplayString, x as unref, W as isRef, e as createCommentVNode, G as Fragment, H as renderList, o as openBlock, g as _export_sfc } from "./index-387a6f18.js";
2
- import { f as fetchSecretsApi, a as addSecretApi, g as getSecretValueApi, d as deleteSecretApi } from "./secrets.api-ae198c5c.js";
1
+ import { r as ref, G as computed, d as defineComponent, J as onMounted, c as createElementBlock, a as createBaseVNode, w as withModifiers, h as withDirectives, v as vModelText, i as vModelDynamic, n as normalizeClass, f as createTextVNode, t as toDisplayString, A as unref, a6 as isRef, e as createCommentVNode, K as Fragment, L as renderList, o as openBlock, g as _export_sfc } from "./index-bcuE0Z0p.js";
2
+ import { d as deleteSecretApi, g as getSecretValueApi, a as addSecretApi, f as fetchSecretsApi } from "./secrets.api-C9o2KE5V.js";
3
3
  function useSecretManager() {
4
4
  const secrets = ref([]);
5
5
  const isLoading = ref(true);
@@ -146,8 +146,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
146
146
  const showDeleteModal = ref(false);
147
147
  const secretToDelete = ref("");
148
148
  const handleAddSecret = async () => {
149
- if (!newSecret.value.name || !newSecret.value.value)
150
- return;
149
+ if (!newSecret.value.name || !newSecret.value.value) return;
151
150
  isSubmitting.value = true;
152
151
  try {
153
152
  const secretName = await addSecret(newSecret.value);
@@ -170,8 +169,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
170
169
  secretToDelete.value = "";
171
170
  };
172
171
  const handleDeleteSecret = async () => {
173
- if (!secretToDelete.value)
174
- return;
172
+ if (!secretToDelete.value) return;
175
173
  isDeleting.value = true;
176
174
  try {
177
175
  const nameToDelete = secretToDelete.value;
@@ -281,14 +279,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
281
279
  ])) : createCommentVNode("", true)
282
280
  ]),
283
281
  createBaseVNode("div", _hoisted_15, [
284
- unref(isLoading) ? (openBlock(), createElementBlock("div", _hoisted_16, _cache[10] || (_cache[10] = [
282
+ unref(isLoading) ? (openBlock(), createElementBlock("div", _hoisted_16, [..._cache[10] || (_cache[10] = [
285
283
  createBaseVNode("div", { class: "loading-spinner" }, null, -1),
286
284
  createBaseVNode("p", null, "Loading secrets...", -1)
287
- ]))) : !unref(isLoading) && unref(secrets).length === 0 ? (openBlock(), createElementBlock("div", _hoisted_17, _cache[11] || (_cache[11] = [
285
+ ])])) : !unref(isLoading) && unref(secrets).length === 0 ? (openBlock(), createElementBlock("div", _hoisted_17, [..._cache[11] || (_cache[11] = [
288
286
  createBaseVNode("i", { class: "fa-solid fa-lock" }, null, -1),
289
287
  createBaseVNode("p", null, "You haven't added any secrets yet", -1),
290
288
  createBaseVNode("p", null, "Secrets are securely stored and can be used in your flows", -1)
291
- ]))) : unref(filteredSecrets).length > 0 ? (openBlock(), createElementBlock("div", _hoisted_18, [
289
+ ])])) : unref(filteredSecrets).length > 0 ? (openBlock(), createElementBlock("div", _hoisted_18, [
292
290
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(filteredSecrets), (secret) => {
293
291
  return openBlock(), createElementBlock("div", {
294
292
  key: secret.name,
@@ -313,10 +311,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
313
311
  class: "btn btn-danger",
314
312
  "aria-label": `Delete secret ${secret.name}`,
315
313
  onClick: ($event) => handleConfirmDelete(secret.name)
316
- }, _cache[13] || (_cache[13] = [
314
+ }, [..._cache[13] || (_cache[13] = [
317
315
  createBaseVNode("i", { class: "fa-solid fa-trash-alt" }, null, -1),
318
316
  createBaseVNode("span", null, "Delete", -1)
319
- ]), 8, _hoisted_21)
317
+ ])], 8, _hoisted_21)
320
318
  ])
321
319
  ]);
322
320
  }), 128))
@@ -342,15 +340,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
342
340
  class: "modal-close",
343
341
  "aria-label": "Close delete confirmation",
344
342
  onClick: cancelDelete
345
- }, _cache[16] || (_cache[16] = [
343
+ }, [..._cache[16] || (_cache[16] = [
346
344
  createBaseVNode("i", { class: "fa-solid fa-times" }, null, -1)
347
- ]))
345
+ ])])
348
346
  ]),
349
347
  createBaseVNode("div", _hoisted_23, [
350
348
  createBaseVNode("p", null, [
351
- _cache[18] || (_cache[18] = createTextVNode(" Are you sure you want to delete the secret ")),
349
+ _cache[18] || (_cache[18] = createTextVNode(" Are you sure you want to delete the secret ", -1)),
352
350
  createBaseVNode("strong", null, toDisplayString(secretToDelete.value), 1),
353
- _cache[19] || (_cache[19] = createTextVNode("? "))
351
+ _cache[19] || (_cache[19] = createTextVNode("? ", -1))
354
352
  ]),
355
353
  _cache[20] || (_cache[20] = createBaseVNode("p", { class: "warning-text" }, " This action cannot be undone and may break any flows that use this secret. ", -1))
356
354
  ]),
@@ -374,7 +372,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
374
372
  };
375
373
  }
376
374
  });
377
- const SecretsView_vue_vue_type_style_index_0_scoped_120c4aad_lang = "";
378
375
  const SecretsView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-120c4aad"]]);
379
376
  export {
380
377
  SecretsView as default
@@ -1,12 +1,10 @@
1
- import { r as ref, d as defineComponent, o as openBlock, c as createElementBlock, p as createVNode, q as withCtx, y as createBlock, x as unref } from "./index-387a6f18.js";
2
- import { C as CodeLoader } from "./vue-content-loader.es-4469c8ff.js";
3
- import { u as useNodeStore } from "./PopOver-862d7e28.js";
4
- import { s as selectDynamic } from "./selectDynamic-6b4b0767.js";
5
- import { G as GenericNodeSettings } from "./genericNodeSettings-14eac1c3.js";
6
- import "./UnavailableFields-b72a2c72.js";
7
- import "./DesignerView-f64749fb.js";
8
- import "./index-f0a6e5a5.js";
9
- import "./vue-codemirror.esm-31ba0e0b.js";
1
+ import { r as ref, d as defineComponent, l as useNodeStore, c as createElementBlock, z as createVNode, B as withCtx, A as unref, C as createBlock, o as openBlock } from "./index-bcuE0Z0p.js";
2
+ import { C as CodeLoader } from "./vue-content-loader.es-CMoRXo7N.js";
3
+ import { u as useNodeSettings } from "./useNodeSettings-dMS9zmh_.js";
4
+ import { s as selectDynamic } from "./selectDynamic-Bl5FVsME.js";
5
+ import { G as GenericNodeSettings } from "./genericNodeSettings-BBtW_Cpz.js";
6
+ import "./UnavailableFields-Yf6XSqFB.js";
7
+ import "./PopOver-BHpt5rsj.js";
10
8
  const createSelectInput = (column_name, data_type = void 0, position = void 0, original_position = void 0) => {
11
9
  const selectInput = {
12
10
  old_name: column_name,
@@ -23,8 +21,7 @@ const createSelectInput = (column_name, data_type = void 0, position = void 0, o
23
21
  return selectInput;
24
22
  };
25
23
  const updateNodeSelect = (nodeTable, nodeSelectRef) => {
26
- if (!(nodeTable == null ? void 0 : nodeTable.table_schema) || !nodeSelectRef.value)
27
- return;
24
+ if (!(nodeTable == null ? void 0 : nodeTable.table_schema) || !nodeSelectRef.value) return;
28
25
  const existingInputMap = /* @__PURE__ */ new Map();
29
26
  nodeSelectRef.value.select_input.forEach((input) => {
30
27
  existingInputMap.set(input.old_name, input);
@@ -72,6 +69,31 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
72
69
  const nodeStore = useNodeStore();
73
70
  const nodeSelect = ref(createNodeSelect().value);
74
71
  const dataLoaded = ref(false);
72
+ const { saveSettings, pushNodeData, handleGenericSettingsUpdate } = useNodeSettings({
73
+ nodeRef: nodeSelect,
74
+ onBeforeSave: () => {
75
+ nodeSelect.value.select_input.sort((a, b) => a.position - b.position);
76
+ const originalData = nodeStore.getCurrentNodeData();
77
+ const newColumnSettings = nodeSelect.value.select_input;
78
+ nodeSelect.value.keep_missing = keepMissing.value;
79
+ if (originalData) {
80
+ newColumnSettings.forEach((newColumnSetting, index) => {
81
+ var _a, _b;
82
+ let original_index = (_a = originalData.main_input) == null ? void 0 : _a.table_schema.findIndex(
83
+ (column) => column.name === newColumnSetting.old_name
84
+ );
85
+ let original_object = index !== -1 ? (_b = originalData.main_input) == null ? void 0 : _b.table_schema[index] : void 0;
86
+ if (original_object) {
87
+ newColumnSetting.is_altered = (original_object == null ? void 0 : original_object.data_type) !== newColumnSetting.data_type;
88
+ newColumnSetting.data_type_change = newColumnSetting.is_altered;
89
+ newColumnSetting.position = index;
90
+ newColumnSetting.original_position = original_index || index;
91
+ }
92
+ });
93
+ }
94
+ return true;
95
+ }
96
+ });
75
97
  const loadNodeData = async (nodeId) => {
76
98
  const result = await nodeStore.getNodeData(nodeId, false);
77
99
  if (result) {
@@ -97,40 +119,23 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
97
119
  }
98
120
  dataLoaded.value = true;
99
121
  };
100
- const pushNodeData = async () => {
101
- nodeSelect.value.select_input.sort((a, b) => a.position - b.position);
102
- const originalData = nodeStore.getCurrentNodeData();
103
- const newColumnSettings = nodeSelect.value.select_input;
104
- nodeSelect.value.keep_missing = keepMissing.value;
105
- if (originalData) {
106
- newColumnSettings.forEach((newColumnSetting, index) => {
107
- var _a, _b;
108
- let original_index = (_a = originalData.main_input) == null ? void 0 : _a.table_schema.findIndex(
109
- (column) => column.name === newColumnSetting.old_name
110
- );
111
- let original_object = index !== -1 ? (_b = originalData.main_input) == null ? void 0 : _b.table_schema[index] : void 0;
112
- if (original_object) {
113
- newColumnSetting.is_altered = (original_object == null ? void 0 : original_object.data_type) !== newColumnSetting.data_type;
114
- newColumnSetting.data_type_change = newColumnSetting.is_altered;
115
- newColumnSetting.position = index;
116
- newColumnSetting.original_position = original_index || index;
117
- }
118
- });
119
- }
120
- await nodeStore.updateSettings(nodeSelect);
121
- };
122
122
  const updateSelectInputsHandler = (updatedInputs) => {
123
123
  nodeSelect.value.select_input = updatedInputs;
124
124
  };
125
125
  __expose({
126
126
  loadNodeData,
127
- pushNodeData
127
+ pushNodeData,
128
+ saveSettings
128
129
  });
129
130
  return (_ctx, _cache) => {
130
131
  return dataLoaded.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
131
132
  createVNode(GenericNodeSettings, {
132
133
  modelValue: nodeSelect.value,
133
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => nodeSelect.value = $event)
134
+ "onUpdate:modelValue": [
135
+ _cache[1] || (_cache[1] = ($event) => nodeSelect.value = $event),
136
+ unref(handleGenericSettingsUpdate)
137
+ ],
138
+ onRequestSave: unref(saveSettings)
134
139
  }, {
135
140
  default: withCtx(() => [
136
141
  createVNode(selectDynamic, {
@@ -149,7 +154,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
149
154
  }, null, 8, ["sortedBy", "select-inputs"])
150
155
  ]),
151
156
  _: 1
152
- }, 8, ["modelValue"])
157
+ }, 8, ["modelValue", "onUpdate:modelValue", "onRequestSave"])
153
158
  ])) : (openBlock(), createBlock(unref(CodeLoader), { key: 1 }));
154
159
  };
155
160
  }
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, o as openBlock, c as createElementBlock, a as createBaseVNode, t as toDisplayString, G as Fragment, H as renderList, f as createTextVNode, e as createCommentVNode, g as _export_sfc } from "./index-387a6f18.js";
1
+ import { d as defineComponent, c as createElementBlock, a as createBaseVNode, t as toDisplayString, K as Fragment, L as renderList, f as createTextVNode, e as createCommentVNode, o as openBlock, g as _export_sfc } from "./index-bcuE0Z0p.js";
2
2
  const _hoisted_1 = { class: "listbox-wrapper" };
3
3
  const _hoisted_2 = { class: "listbox-row" };
4
4
  const _hoisted_3 = { class: "listbox-subtitle" };
@@ -42,7 +42,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
42
42
  };
43
43
  }
44
44
  });
45
- const SettingsSection_vue_vue_type_style_index_0_scoped_b9db7ed5_lang = "";
46
45
  const SettingsSection = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b9db7ed5"]]);
47
46
  export {
48
47
  SettingsSection as default
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, o as openBlock, c as createElementBlock, a as createBaseVNode, a0 as normalizeStyle, t as toDisplayString, G as Fragment, H as renderList, f as createTextVNode, e as createCommentVNode, g as _export_sfc } from "./index-387a6f18.js";
1
+ import { d as defineComponent, c as createElementBlock, a as createBaseVNode, a0 as normalizeStyle, t as toDisplayString, K as Fragment, L as renderList, f as createTextVNode, e as createCommentVNode, o as openBlock, g as _export_sfc } from "./index-bcuE0Z0p.js";
2
2
  const _hoisted_1 = { class: "listbox-wrapper" };
3
3
  const _hoisted_2 = { class: "listbox-row" };
4
4
  const _hoisted_3 = { class: "items-container" };
@@ -46,7 +46,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
46
46
  };
47
47
  }
48
48
  });
49
- const SettingsSection_vue_vue_type_style_index_0_scoped_1a44e29e_lang = "";
50
49
  const SettingsSection = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-1a44e29e"]]);
51
50
  export {
52
51
  SettingsSection as default
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, o as openBlock, c as createElementBlock, a as createBaseVNode, t as toDisplayString, f as createTextVNode, e as createCommentVNode, g as _export_sfc } from "./index-387a6f18.js";
1
+ import { d as defineComponent, c as createElementBlock, a as createBaseVNode, t as toDisplayString, f as createTextVNode, e as createCommentVNode, o as openBlock, g as _export_sfc } from "./index-bcuE0Z0p.js";
2
2
  const _hoisted_1 = { class: "listbox-wrapper" };
3
3
  const _hoisted_2 = { class: "listbox-row" };
4
4
  const _hoisted_3 = { class: "listbox-subtitle" };
@@ -38,8 +38,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
38
38
  };
39
39
  }
40
40
  });
41
- const SettingsSection_vue_vue_type_style_index_0_scoped_61b02a99_lang = "";
42
- const SettingsSection = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-61b02a99"]]);
41
+ const SettingsSection = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-87244f65"]]);
43
42
  export {
44
43
  SettingsSection as default
45
44
  };
@@ -1,18 +1,18 @@
1
1
 
2
- .items-container[data-v-61b02a99] {
2
+ .items-container[data-v-87244f65] {
3
3
  display: flex;
4
4
  gap: 10px; /* Space between items */
5
5
  }
6
- .item-box[data-v-61b02a99] {
6
+ .item-box[data-v-87244f65] {
7
7
  display: flex;
8
8
  align-items: center;
9
9
  padding: 5px 10px;
10
- background-color: #f0f0f0;
10
+ background-color: var(--color-bg-secondary);
11
11
  border-radius: 4px;
12
12
  font-size: 12px; /* Font size set to 12px */
13
13
  position: relative;
14
14
  }
15
- .remove-btn[data-v-61b02a99] {
15
+ .remove-btn[data-v-87244f65] {
16
16
  margin-left: 8px;
17
17
  cursor: pointer;
18
18
  color: var(--color-text-secondary);
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, r as ref, c as createElementBlock, a as createBaseVNode, b as createStaticVNode, t as toDisplayString, e as createCommentVNode, n as normalizeClass, f as createTextVNode, s as setupService, o as openBlock, _ as _imports_1, g as _export_sfc } from "./index-387a6f18.js";
1
+ import { d as defineComponent, c as createElementBlock, a as createBaseVNode, b as createStaticVNode, t as toDisplayString, e as createCommentVNode, n as normalizeClass, f as createTextVNode, r as ref, s as setupService, o as openBlock, _ as _imports_1, g as _export_sfc } from "./index-bcuE0Z0p.js";
2
2
  const _hoisted_1 = { class: "setup-container" };
3
3
  const _hoisted_2 = { class: "setup-card" };
4
4
  const _hoisted_3 = { class: "setup-content" };
@@ -73,7 +73,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
73
73
  return (_ctx, _cache) => {
74
74
  return openBlock(), createElementBlock("div", _hoisted_1, [
75
75
  createBaseVNode("div", _hoisted_2, [
76
- _cache[7] || (_cache[7] = createStaticVNode('<div class="setup-header" data-v-04875383><div class="logo-container" data-v-04875383><img src="' + _imports_1 + '" alt="Flowfile" class="logo" data-v-04875383></div><h1 class="setup-title" data-v-04875383>Initial Setup Required</h1><p class="setup-subtitle" data-v-04875383>Configure your master encryption key to get started</p></div>', 1)),
76
+ _cache[7] || (_cache[7] = createStaticVNode('<div class="setup-header" data-v-0c48ff2a><div class="logo-container" data-v-0c48ff2a><img src="' + _imports_1 + '" alt="Flowfile" class="logo" data-v-0c48ff2a></div><h1 class="setup-title" data-v-0c48ff2a>Initial Setup Required</h1><p class="setup-subtitle" data-v-0c48ff2a>Configure your master encryption key to get started</p></div>', 1)),
77
77
  createBaseVNode("div", _hoisted_3, [
78
78
  _cache[6] || (_cache[6] = createBaseVNode("div", { class: "info-box" }, [
79
79
  createBaseVNode("i", { class: "fa-solid fa-shield-halved info-icon" }),
@@ -153,8 +153,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
153
153
  };
154
154
  }
155
155
  });
156
- const SetupView_vue_vue_type_style_index_0_scoped_04875383_lang = "";
157
- const SetupView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-04875383"]]);
156
+ const SetupView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-0c48ff2a"]]);
158
157
  export {
159
158
  SetupView as default
160
159
  };