Flowfile 0.5.6__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 (256) hide show
  1. flowfile/api.py +8 -6
  2. flowfile/web/static/assets/{AdminView-c2c7942b.js → AdminView-C4K1DdHI.js} +28 -33
  3. flowfile/web/static/assets/{CloudConnectionView-7a3042c6.js → CloudConnectionView-BZbPvPUL.js} +39 -50
  4. flowfile/web/static/assets/{CloudStorageReader-24c54524.css → CloudStorageReader-BDByiqPI.css} +25 -25
  5. flowfile/web/static/assets/{CloudStorageReader-709c4037.js → CloudStorageReader-DLVukNJ7.js} +30 -35
  6. flowfile/web/static/assets/{CloudStorageWriter-604c51a8.js → CloudStorageWriter-Bfi-C1QW.js} +32 -37
  7. flowfile/web/static/assets/{CloudStorageWriter-60547855.css → CloudStorageWriter-y8jL8yjG.css} +24 -24
  8. flowfile/web/static/assets/{ColumnActionInput-d63d6746.js → ColumnActionInput-BpiCApw9.js} +7 -12
  9. flowfile/web/static/assets/{ColumnSelector-0c8cd1cd.js → ColumnSelector-CEAwedI7.js} +1 -2
  10. flowfile/web/static/assets/ContextMenu-CdojQu0w.js +9 -0
  11. flowfile/web/static/assets/ContextMenu-D12mhsy1.js +9 -0
  12. flowfile/web/static/assets/ContextMenu-EWUR98va.js +9 -0
  13. flowfile/web/static/assets/{ContextMenu.vue_vue_type_script_setup_true_lang-774c517c.js → ContextMenu.vue_vue_type_script_setup_true_lang-I4rXXd6G.js} +4 -5
  14. flowfile/web/static/assets/{CrossJoin-38e5b99a.js → CrossJoin-BOFfxkJO.js} +19 -18
  15. flowfile/web/static/assets/{CrossJoin-71b4cc10.css → CrossJoin-Cmbyt9im.css} +18 -18
  16. flowfile/web/static/assets/{CustomNode-76e8f3f5.js → CustomNode-Bhpezobq.js} +12 -17
  17. flowfile/web/static/assets/{DatabaseConnectionSettings-38155669.js → DatabaseConnectionSettings-Dw3bSJKB.js} +10 -11
  18. flowfile/web/static/assets/{DatabaseReader-5bf8c75b.css → DatabaseReader-D6pUNUCs.css} +21 -21
  19. flowfile/web/static/assets/{DatabaseReader-2e549c8f.js → DatabaseReader-m87ghlw0.js} +36 -34
  20. flowfile/web/static/assets/{DatabaseView-dc877c29.js → DatabaseView-CisSAtpe.js} +30 -38
  21. flowfile/web/static/assets/{DatabaseWriter-ffb91864.js → DatabaseWriter-Bbj9JLdL.js} +33 -35
  22. flowfile/web/static/assets/{DatabaseWriter-bdcf2c8b.css → DatabaseWriter-RBqdFLj8.css} +17 -17
  23. flowfile/web/static/assets/{DesignerView-a4466dab.js → DesignerView-DemDevTQ.js} +1752 -2054
  24. flowfile/web/static/assets/{DesignerView-71d4e9a1.css → DesignerView-Dm6OzlIc.css} +209 -168
  25. flowfile/web/static/assets/{DocumentationView-979afc84.js → DocumentationView-BrC1ZR3H.js} +3 -4
  26. flowfile/web/static/assets/{ExploreData-e4b92aaf.js → ExploreData-BMKcDuRb.js} +8 -10
  27. flowfile/web/static/assets/{ExternalSource-d08e7227.js → ExternalSource-BXrNNS-f.js} +40 -42
  28. flowfile/web/static/assets/{ExternalSource-7ac7373f.css → ExternalSource-NB6WVl5R.css} +14 -14
  29. flowfile/web/static/assets/{Filter-7add806d.js → Filter-C2MjsN6P.js} +36 -33
  30. flowfile/web/static/assets/{Filter-7494ea97.css → Filter-DCMGGuGC.css} +9 -9
  31. flowfile/web/static/assets/{Formula-53d58c43.css → Formula-BYafbDj8.css} +4 -4
  32. flowfile/web/static/assets/{Formula-36ab24d2.js → Formula-ufuy4mVD.js} +27 -26
  33. flowfile/web/static/assets/{FuzzyMatch-ad6361d6.css → FuzzyMatch-BGJAwgd0.css} +42 -42
  34. flowfile/web/static/assets/{FuzzyMatch-cc01bb04.js → FuzzyMatch-BOHODq3h.js} +36 -38
  35. flowfile/web/static/assets/{GraphSolver-4fb98f3b.js → GraphSolver-B6ZzpNGO.js} +23 -21
  36. flowfile/web/static/assets/{GraphSolver-4b4d7db9.css → GraphSolver-DFN83sj3.css} +4 -4
  37. flowfile/web/static/assets/{GroupBy-b3c8f429.js → GroupBy-B9BRNcfe.js} +30 -29
  38. flowfile/web/static/assets/{Sort-4abb7fae.css → GroupBy-x4ooP5np.css} +1 -1
  39. flowfile/web/static/assets/Join-Bx_g5bZz.css +118 -0
  40. flowfile/web/static/assets/{Join-096b7b26.js → Join-DsBEy1IH.js} +48 -43
  41. flowfile/web/static/assets/{LoginView-c33a246a.js → LoginView-Ct0rhdcO.js} +1 -2
  42. flowfile/web/static/assets/{ManualInput-39111f19.css → ManualInput-DlZmtMdt.css} +48 -48
  43. flowfile/web/static/assets/{ManualInput-7307e9b1.js → ManualInput-bC4BUgnG.js} +40 -41
  44. flowfile/web/static/assets/{MultiSelect-14822c48.js → MultiSelect-DIQ8PuTC.js} +2 -2
  45. flowfile/web/static/assets/{MultiSelect.vue_vue_type_script_setup_true_lang-90c4d340.js → MultiSelect.vue_vue_type_script_setup_true_lang-BefHfqTI.js} +1 -1
  46. flowfile/web/static/assets/{NodeDesigner-5036c392.js → NodeDesigner-D39yzr2k.js} +178 -208
  47. flowfile/web/static/assets/{NodeDesigner-94cd4dd3.css → NodeDesigner-R0l6sYyY.css} +76 -76
  48. flowfile/web/static/assets/{NumericInput-15cf3b72.js → NumericInput-DMSX3oOr.js} +2 -2
  49. flowfile/web/static/assets/{NumericInput.vue_vue_type_script_setup_true_lang-91e679d7.js → NumericInput.vue_vue_type_script_setup_true_lang-d0YlVHAl.js} +1 -1
  50. flowfile/web/static/assets/{Output-1f8ed42c.js → Output-D0VoXGcW.js} +26 -34
  51. flowfile/web/static/assets/{Output-692dd25d.css → Output-DsmglIDy.css} +5 -5
  52. flowfile/web/static/assets/{Pivot-0e153f4e.js → Pivot-BnMB4sEe.js} +26 -26
  53. flowfile/web/static/assets/{Pivot-0eda81b4.css → Pivot-qKTyWxop.css} +4 -4
  54. flowfile/web/static/assets/{PivotValidation-81ec2a33.js → PivotValidation-B2lWvugt.js} +7 -9
  55. flowfile/web/static/assets/{PivotValidation-5a4f7c79.js → PivotValidation-BPlhRjpL.js} +7 -9
  56. flowfile/web/static/assets/{PolarsCode-a39f15ac.js → PolarsCode-5h0tHnWR.js} +22 -20
  57. flowfile/web/static/assets/{PopOver-ddcfe4f6.js → PopOver-BHpt5rsj.js} +5 -9
  58. flowfile/web/static/assets/{PopOver-d96599db.css → PopOver-CyYM4-rV.css} +1 -1
  59. flowfile/web/static/assets/{Read-90f366bc.css → Read-DJxkrTb_.css} +10 -10
  60. flowfile/web/static/assets/Read-TsLEFh3B.js +227 -0
  61. flowfile/web/static/assets/{RecordCount-e9048ccd.js → RecordCount-DkVixq9v.js} +18 -17
  62. flowfile/web/static/assets/{RecordId-ad02521d.js → RecordId-C2UEGlCf.js} +42 -39
  63. flowfile/web/static/assets/{SQLQueryComponent-2eeecf0b.js → SQLQueryComponent-Dr5KMoD3.js} +2 -3
  64. flowfile/web/static/assets/{Sample-9a68c23d.js → Sample-Cb3eQNmd.js} +30 -30
  65. flowfile/web/static/assets/{SecretSelector-2429f35a.js → SecretSelector-De2L2bSx.js} +3 -4
  66. flowfile/web/static/assets/{SecretsView-c6afc915.js → SecretsView-CheC9BPV.js} +13 -16
  67. flowfile/web/static/assets/{Select-fcd002b6.js → Select-CI8TloRs.js} +41 -36
  68. flowfile/web/static/assets/{SettingsSection-5ce15962.js → SettingsSection-B39ulIiI.js} +1 -2
  69. flowfile/web/static/assets/{SettingsSection-c6b1362c.js → SettingsSection-BiCc7S9h.js} +1 -2
  70. flowfile/web/static/assets/{SettingsSection-cebb91d5.js → SettingsSection-CITK_R7o.js} +2 -3
  71. flowfile/web/static/assets/{SettingsSection-26fe48d4.css → SettingsSection-D2GgY-Aq.css} +4 -4
  72. flowfile/web/static/assets/{SetupView-2d12e01f.js → SetupView-C1aXRDvp.js} +1 -2
  73. flowfile/web/static/assets/{SingleSelect-b67de4eb.js → SingleSelect-Kr_hz90m.js} +2 -2
  74. flowfile/web/static/assets/{SingleSelect.vue_vue_type_script_setup_true_lang-eedb70eb.js → SingleSelect.vue_vue_type_script_setup_true_lang-Rxht5Z5N.js} +1 -1
  75. flowfile/web/static/assets/{SliderInput-fd8134ac.js → SliderInput-CLqpCxCb.js} +1 -2
  76. flowfile/web/static/assets/{GroupBy-5792782d.css → Sort-BIt2kc_p.css} +1 -1
  77. flowfile/web/static/assets/{Sort-c005a573.js → Sort-Dnw_J6Qi.js} +25 -25
  78. flowfile/web/static/assets/{TextInput-1bb31dab.js → TextInput-wdlunIZC.js} +2 -2
  79. flowfile/web/static/assets/{TextInput.vue_vue_type_script_setup_true_lang-a51fe730.js → TextInput.vue_vue_type_script_setup_true_lang-Bcj3ywzv.js} +1 -1
  80. flowfile/web/static/assets/{TextToRows-4f363753.js → TextToRows-BhtyGWPq.js} +42 -49
  81. flowfile/web/static/assets/{TextToRows-12afb4f4.css → TextToRows-DivDOLDx.css} +9 -9
  82. flowfile/web/static/assets/{ToggleSwitch-ca0f2e5e.js → ToggleSwitch-B-6WzfFf.js} +2 -2
  83. flowfile/web/static/assets/{ToggleSwitch.vue_vue_type_script_setup_true_lang-49aa41d8.js → ToggleSwitch.vue_vue_type_script_setup_true_lang-Cj8LqT-b.js} +1 -1
  84. flowfile/web/static/assets/{UnavailableFields-f6147968.js → UnavailableFields-Yf6XSqFB.js} +2 -3
  85. flowfile/web/static/assets/{Union-c65f17b7.js → Union-CwpjeKYC.js} +20 -23
  86. flowfile/web/static/assets/{Unpivot-b6ad6427.css → Union-DQJcpp3-.css} +6 -6
  87. flowfile/web/static/assets/{Unique-a1d96fb2.js → Unique-25v3urqH.js} +75 -74
  88. flowfile/web/static/assets/{Union-d6a8d7d5.css → Unpivot-Deqh1gtI.css} +6 -6
  89. flowfile/web/static/assets/{Unpivot-c2657ff3.js → Unpivot-sYcTTXrq.js} +34 -27
  90. flowfile/web/static/assets/{UnpivotValidation-28e29a3b.js → UnpivotValidation-C5DDEKY2.js} +5 -7
  91. flowfile/web/static/assets/VueGraphicWalker-B8l1_Z92.js +131 -0
  92. flowfile/web/static/assets/VueGraphicWalker-Da_1-3me.css +21 -0
  93. flowfile/web/static/assets/{api-df48ec50.js → api-C0LvF-0C.js} +1 -1
  94. flowfile/web/static/assets/{api-ee542cf7.js → api-DaC83EO_.js} +1 -1
  95. flowfile/web/static/assets/client-C8Ygr6Gb.js +42 -0
  96. flowfile/web/static/assets/{dropDown-7576a76a.js → dropDown-D5YXaPRR.js} +7 -12
  97. flowfile/web/static/assets/{fullEditor-7583bef5.js → fullEditor-BVYnWm05.js} +300 -18
  98. flowfile/web/static/assets/genericNodeSettings-2wAu-QKn.css +75 -0
  99. flowfile/web/static/assets/genericNodeSettings-BBtW_Cpz.js +590 -0
  100. flowfile/web/static/assets/{VueGraphicWalker-2fc3ddd4.js → graphic-walker.es-VrK6vdGE.js} +92305 -89751
  101. flowfile/web/static/assets/index-BCJxPfM5.js +6693 -0
  102. flowfile/web/static/assets/{index-057d770d.js → index-CHPMUR0d.js} +150 -170
  103. flowfile/web/static/assets/index-DPkoZWq8.js +32 -0
  104. flowfile/web/static/assets/index-DnW_KC_I.js +277 -0
  105. flowfile/web/static/assets/index-UFXyfirV.css +10797 -0
  106. flowfile/web/static/assets/index-bcuE0Z0p.js +87456 -0
  107. flowfile/web/static/assets/{node.types-2c15bb7e.js → node.types-Dl4gtSW9.js} +2 -2
  108. flowfile/web/static/assets/{outputCsv-c492b15e.js → outputCsv-BELuBiJZ.js} +1 -2
  109. flowfile/web/static/assets/outputCsv-CdGkv-fN.css +2581 -0
  110. flowfile/web/static/assets/{outputExcel-13bfa10f.js → outputExcel-D0TTNM79.js} +1 -2
  111. flowfile/web/static/assets/{outputParquet-9be1523a.js → outputParquet-Cz9EbRHj.js} +1 -2
  112. flowfile/web/static/assets/{readCsv-5a49a8c9.js → readCsv-7bd3kUMI.js} +1 -2
  113. flowfile/web/static/assets/{readExcel-27c30ad8.js → readExcel-Cq8CCwIv.js} +3 -4
  114. flowfile/web/static/assets/{readParquet-c5244ad5.css → readParquet-CRDmBrsp.css} +4 -4
  115. flowfile/web/static/assets/{readParquet-446bde68.js → readParquet-DjR4mRaj.js} +4 -5
  116. flowfile/web/static/assets/{secrets.api-34431884.js → secrets.api-C9o2KE5V.js} +1 -1
  117. flowfile/web/static/assets/{selectDynamic-5754a2b1.js → selectDynamic-Bl5FVsME.js} +5 -7
  118. flowfile/web/static/assets/useNodeSettings-dMS9zmh_.js +69 -0
  119. flowfile/web/static/assets/{vue-codemirror.esm-8f46fb36.js → vue-codemirror.esm-CwaYwln0.js} +3469 -3064
  120. flowfile/web/static/assets/{vue-content-loader.es-808fe33a.js → vue-content-loader.es-CMoRXo7N.js} +3 -3
  121. flowfile/web/static/index.html +2 -3
  122. {flowfile-0.5.6.dist-info → flowfile-0.6.1.dist-info}/METADATA +2 -1
  123. flowfile-0.6.1.dist-info/RECORD +417 -0
  124. {flowfile-0.5.6.dist-info → flowfile-0.6.1.dist-info}/WHEEL +1 -1
  125. flowfile_core/auth/password.py +1 -0
  126. flowfile_core/database/init_db.py +7 -5
  127. flowfile_core/fileExplorer/funcs.py +2 -2
  128. flowfile_core/flowfile/code_generator/code_generator.py +13 -11
  129. flowfile_core/flowfile/filter_expressions.py +327 -0
  130. flowfile_core/flowfile/flow_data_engine/flow_data_engine.py +61 -59
  131. flowfile_core/flowfile/flow_data_engine/flow_file_column/type_registry.py +3 -29
  132. flowfile_core/flowfile/flow_data_engine/flow_file_column/utils.py +45 -14
  133. flowfile_core/flowfile/flow_data_engine/subprocess_operations/models.py +20 -3
  134. flowfile_core/flowfile/flow_data_engine/subprocess_operations/streaming.py +206 -0
  135. flowfile_core/flowfile/flow_data_engine/subprocess_operations/subprocess_operations.py +146 -24
  136. flowfile_core/flowfile/flow_graph.py +504 -190
  137. flowfile_core/flowfile/flow_node/__init__.py +32 -0
  138. flowfile_core/flowfile/flow_node/executor.py +404 -0
  139. flowfile_core/flowfile/flow_node/flow_node.py +207 -106
  140. flowfile_core/flowfile/flow_node/models.py +40 -0
  141. flowfile_core/flowfile/flow_node/output_field_config_applier.py +217 -0
  142. flowfile_core/flowfile/flow_node/schema_utils.py +78 -0
  143. flowfile_core/flowfile/flow_node/state.py +155 -0
  144. flowfile_core/flowfile/history_manager.py +401 -0
  145. flowfile_core/flowfile/manage/compatibility_enhancements.py +9 -0
  146. flowfile_core/flowfile/manage/io_flowfile.py +3 -1
  147. flowfile_core/flowfile/sources/external_sources/sql_source/models.py +20 -4
  148. flowfile_core/flowfile/util/execution_orderer.py +89 -36
  149. flowfile_core/routes/auth.py +8 -9
  150. flowfile_core/routes/routes.py +320 -101
  151. flowfile_core/routes/user_defined_components.py +18 -16
  152. flowfile_core/schemas/history_schema.py +220 -0
  153. flowfile_core/schemas/input_schema.py +130 -6
  154. flowfile_core/schemas/schemas.py +9 -0
  155. flowfile_core/schemas/transform_schema.py +27 -5
  156. flowfile_core/schemas/yaml_types.py +23 -5
  157. flowfile_frame/adding_expr.py +18 -126
  158. flowfile_frame/callable_utils.py +261 -0
  159. flowfile_frame/database/connection_manager.py +0 -1
  160. flowfile_frame/expr.py +8 -4
  161. flowfile_frame/flow_frame.py +41 -41
  162. flowfile_frame/lazy.py +3 -12
  163. flowfile_frame/lazy_methods.py +5 -64
  164. flowfile_frame/utils.py +13 -32
  165. flowfile_worker/funcs.py +6 -4
  166. flowfile_worker/main.py +2 -0
  167. flowfile_worker/models.py +31 -11
  168. flowfile_worker/routes.py +60 -35
  169. flowfile_worker/spawner.py +7 -1
  170. flowfile_worker/streaming.py +335 -0
  171. flowfile/web/static/assets/ContextMenu-366bf1b4.js +0 -9
  172. flowfile/web/static/assets/ContextMenu-85cf5b44.js +0 -9
  173. flowfile/web/static/assets/ContextMenu-9d28ae6d.js +0 -9
  174. flowfile/web/static/assets/Join-28b5e18f.css +0 -109
  175. flowfile/web/static/assets/Read-39b63932.js +0 -222
  176. flowfile/web/static/assets/VueGraphicWalker-430f0b86.css +0 -6
  177. flowfile/web/static/assets/database_reader-ce1e55f3.svg +0 -24
  178. flowfile/web/static/assets/database_writer-b4ad0753.svg +0 -23
  179. flowfile/web/static/assets/element-icons-9c88a535.woff +0 -0
  180. flowfile/web/static/assets/element-icons-de5eb258.ttf +0 -0
  181. flowfile/web/static/assets/genericNodeSettings-0155288b.js +0 -136
  182. flowfile/web/static/assets/genericNodeSettings-3b2507ea.css +0 -46
  183. flowfile/web/static/assets/index-aeec439d.js +0 -38
  184. flowfile/web/static/assets/index-ca6799de.js +0 -62760
  185. flowfile/web/static/assets/index-d60c9dd4.css +0 -10777
  186. flowfile/web/static/assets/nodeInput-d478b9ac.js +0 -2
  187. flowfile/web/static/assets/outputCsv-cc84e09f.css +0 -2499
  188. flowfile-0.5.6.dist-info/RECORD +0 -407
  189. /flowfile/web/static/assets/{AdminView-f53bad23.css → AdminView-B2Dthl3u.css} +0 -0
  190. /flowfile/web/static/assets/{CloudConnectionView-cf85f943.css → CloudConnectionView-BdFYGWV7.css} +0 -0
  191. /flowfile/web/static/assets/{ColumnActionInput-c44b7aee.css → ColumnActionInput-dCasSIC9.css} +0 -0
  192. /flowfile/web/static/assets/{ColumnSelector-371637fb.css → ColumnSelector-j6sEOjo1.css} +0 -0
  193. /flowfile/web/static/assets/{CustomNode-edb9b939.css → CustomNode-VPlajG0j.css} +0 -0
  194. /flowfile/web/static/assets/{DatabaseConnectionSettings-c20a1e16.css → DatabaseConnectionSettings-B78hXYgu.css} +0 -0
  195. /flowfile/web/static/assets/{DatabaseView-6655afd6.css → DatabaseView-B-_adk1s.css} +0 -0
  196. /flowfile/web/static/assets/{DocumentationView-9ea6e871.css → DocumentationView-CL7iipFL.css} +0 -0
  197. /flowfile/web/static/assets/{ExploreData-10c5acc8.css → ExploreData-DHjv0Plr.css} +0 -0
  198. /flowfile/web/static/assets/{LoginView-d325d632.css → LoginView-DN1BXY3e.css} +0 -0
  199. /flowfile/web/static/assets/{PivotValidation-0e905b1a.css → PivotValidation-DK-FARWe.css} +0 -0
  200. /flowfile/web/static/assets/{PivotValidation-41b57ad6.css → PivotValidation-FUa9F47u.css} +0 -0
  201. /flowfile/web/static/assets/{PolarsCode-2b1f1f23.css → PolarsCode-G-gRSrSc.css} +0 -0
  202. /flowfile/web/static/assets/{SQLQueryComponent-edb90b98.css → SQLQueryComponent-oAbWw0r-.css} +0 -0
  203. /flowfile/web/static/assets/{SecretSelector-6329f743.css → SecretSelector-CJSadIZx.css} +0 -0
  204. /flowfile/web/static/assets/{SecretsView-aa291340.css → SecretsView-DbzIRAba.css} +0 -0
  205. /flowfile/web/static/assets/{SettingsSection-8f980839.css → SettingsSection-BGcJnH6q.css} +0 -0
  206. /flowfile/web/static/assets/{SettingsSection-07fbbc39.css → SettingsSection-DDWn_EGW.css} +0 -0
  207. /flowfile/web/static/assets/{SetupView-ec26f76a.css → SetupView-CI1nd-5Z.css} +0 -0
  208. /flowfile/web/static/assets/{SliderInput-f2e4f23c.css → SliderInput-BRk-q_Dk.css} +0 -0
  209. /flowfile/web/static/assets/{UnavailableFields-394a1f78.css → UnavailableFields-DRKDImKe.css} +0 -0
  210. /flowfile/web/static/assets/{Unique-2b705521.css → Unique-Absb0aON.css} +0 -0
  211. /flowfile/web/static/assets/{UnpivotValidation-d5ca3b7b.css → UnpivotValidation-DSBkFgS-.css} +0 -0
  212. /flowfile/web/static/assets/{airbyte-292aa232.png → airbyte-W0xvIXwZ.png} +0 -0
  213. /flowfile/web/static/assets/{cloud_storage_reader-aa1415d6.png → cloud_storage_reader-3GpSCk90.png} +0 -0
  214. /flowfile/web/static/assets/{cross_join-d30c0290.png → cross_join-B0qpgYoV.png} +0 -0
  215. /flowfile/web/static/assets/{dropDown-1d6acbd9.css → dropDown-CE0VF5_P.css} +0 -0
  216. /flowfile/web/static/assets/{explore_data-8a0a2861.png → explore_data-tX6olPPL.png} +0 -0
  217. /flowfile/web/static/assets/{fa-brands-400-808443ae.ttf → fa-brands-400-D1LuMI3I.ttf} +0 -0
  218. /flowfile/web/static/assets/{fa-brands-400-d7236a19.woff2 → fa-brands-400-D_cYUPeE.woff2} +0 -0
  219. /flowfile/web/static/assets/{fa-regular-400-e3456d12.woff2 → fa-regular-400-BjRzuEpd.woff2} +0 -0
  220. /flowfile/web/static/assets/{fa-regular-400-54cf6086.ttf → fa-regular-400-DZaxPHgR.ttf} +0 -0
  221. /flowfile/web/static/assets/{fa-solid-900-aa759986.woff2 → fa-solid-900-CTAAxXor.woff2} +0 -0
  222. /flowfile/web/static/assets/{fa-solid-900-d2f05935.ttf → fa-solid-900-D0aA9rwL.ttf} +0 -0
  223. /flowfile/web/static/assets/{fa-v4compatibility-0ce9033c.woff2 → fa-v4compatibility-C9RhG_FT.woff2} +0 -0
  224. /flowfile/web/static/assets/{fa-v4compatibility-30f6abf6.ttf → fa-v4compatibility-CCth-dXg.ttf} +0 -0
  225. /flowfile/web/static/assets/{filter-d7708bda.png → filter-WRdZyUOw.png} +0 -0
  226. /flowfile/web/static/assets/{formula-eeeb1611.png → formula-CgM7uHVI.png} +0 -0
  227. /flowfile/web/static/assets/{fullEditor-fe9f7e18.css → fullEditor-CmDI7T9F.css} +0 -0
  228. /flowfile/web/static/assets/{fuzzy_match-40c161b2.png → fuzzy_match-Yon3k5Tc.png} +0 -0
  229. /flowfile/web/static/assets/{graph_solver-8b7888b8.png → graph_solver-BlMrBttD.png} +0 -0
  230. /flowfile/web/static/assets/{group_by-80561fc3.png → group_by-Gici0CSS.png} +0 -0
  231. /flowfile/web/static/assets/{input_data-ab2eb678.png → input_data-BRdGecLc.png} +0 -0
  232. /flowfile/web/static/assets/{join-349043ae.png → join-BITWRu73.png} +0 -0
  233. /flowfile/web/static/assets/{manual_input-ae98f31d.png → manual_input-CFvo_EUS.png} +0 -0
  234. /flowfile/web/static/assets/{old_join-5d0eb604.png → old_join-B9bkpPqv.png} +0 -0
  235. /flowfile/web/static/assets/{output-06ec0371.png → output-Dp7-ZpC4.png} +0 -0
  236. /flowfile/web/static/assets/{outputExcel-f5d272b2.css → outputExcel-CKgRe2iT.css} +0 -0
  237. /flowfile/web/static/assets/{outputParquet-54597c3c.css → outputParquet-d7j407cK.css} +0 -0
  238. /flowfile/web/static/assets/{pivot-9660df51.png → pivot-DSxKhNlD.png} +0 -0
  239. /flowfile/web/static/assets/{polars_code-05ce5dc6.png → polars_code-DxiztZ1c.png} +0 -0
  240. /flowfile/web/static/assets/{readCsv-3bfac4c3.css → readCsv-BG-1Jilp.css} +0 -0
  241. /flowfile/web/static/assets/{readExcel-3db6b763.css → readExcel-DBQXKPtC.css} +0 -0
  242. /flowfile/web/static/assets/{record_count-dab44eb5.png → record_count-DCeaLtpS.png} +0 -0
  243. /flowfile/web/static/assets/{record_id-0b15856b.png → record_id-FeUjyIFh.png} +0 -0
  244. /flowfile/web/static/assets/{sample-693a88b5.png → sample-DeqfRiB-.png} +0 -0
  245. /flowfile/web/static/assets/{select-b0d0437a.png → select-D4JjbdjS.png} +0 -0
  246. /flowfile/web/static/assets/{selectDynamic-f2fb394f.css → selectDynamic-CjeTPUUo.css} +0 -0
  247. /flowfile/web/static/assets/{sort-2aa579f0.png → sort-DGwUG9WS.png} +0 -0
  248. /flowfile/web/static/assets/{summarize-2a099231.png → summarize-DFaNHpfp.png} +0 -0
  249. /flowfile/web/static/assets/{text_to_rows-859b29ea.png → text_to_rows-BdiAewrN.png} +0 -0
  250. /flowfile/web/static/assets/{union-2d8609f4.png → union-DCK-LSMq.png} +0 -0
  251. /flowfile/web/static/assets/{unique-1958b98a.png → unique-CdP3zZIq.png} +0 -0
  252. /flowfile/web/static/assets/{unpivot-d3cb4b5b.png → unpivot-CHttrEt8.png} +0 -0
  253. /flowfile/web/static/assets/{user-defined-icon-0ae16c90.png → user-defined-icon-BcIp2Vzo.png} +0 -0
  254. /flowfile/web/static/assets/{view-7a0f0be1.png → view-DUSRwjvq.png} +0 -0
  255. {flowfile-0.5.6.dist-info → flowfile-0.6.1.dist-info}/entry_points.txt +0 -0
  256. {flowfile-0.5.6.dist-info → flowfile-0.6.1.dist-info}/licenses/LICENSE +0 -0
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, G as computed, c as createElementBlock, a as createBaseVNode, o as openBlock, g as _export_sfc } from "./index-ca6799de.js";
1
+ import { d as defineComponent, c as createElementBlock, a as createBaseVNode, G as computed, o as openBlock, g as _export_sfc } from "./index-bcuE0Z0p.js";
2
2
  const _hoisted_1 = { class: "doc-wrapper" };
3
3
  const _hoisted_2 = ["src"];
4
4
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -19,14 +19,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
19
19
  createBaseVNode("button", {
20
20
  class: "flowfile-button",
21
21
  onClick: openFlowfile
22
- }, _cache[0] || (_cache[0] = [
22
+ }, [..._cache[0] || (_cache[0] = [
23
23
  createBaseVNode("i", { class: "fas fa-up-right-from-square" }, null, -1)
24
- ]))
24
+ ])])
25
25
  ]);
26
26
  };
27
27
  }
28
28
  });
29
- const DocumentationView_vue_vue_type_style_index_0_scoped_93c4b98d_lang = "";
30
29
  const DocumentationView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-93c4b98d"]]);
31
30
  export {
32
31
  DocumentationView as default
@@ -1,10 +1,10 @@
1
- import { C as CodeLoader } from "./vue-content-loader.es-808fe33a.js";
2
- import VueGraphicWalker from "./VueGraphicWalker-2fc3ddd4.js";
3
- import { k as axios, d as defineComponent, r as ref, l as useNodeStore, aA as useThemeStore, G as computed, o as openBlock, c as createElementBlock, C as createBlock, B as unref, a as createBaseVNode, t as toDisplayString, g as _export_sfc } from "./index-ca6799de.js";
4
- import { u as useItemStore } from "./DesignerView-a4466dab.js";
5
- import "./PopOver-ddcfe4f6.js";
6
- import "./index-057d770d.js";
7
- import "./vue-codemirror.esm-8f46fb36.js";
1
+ import { C as CodeLoader } from "./vue-content-loader.es-CMoRXo7N.js";
2
+ import VueGraphicWalker from "./VueGraphicWalker-B8l1_Z92.js";
3
+ import { k as axios, d as defineComponent, l as useNodeStore, aF as useThemeStore, c as createElementBlock, C as createBlock, A as unref, a as createBaseVNode, t as toDisplayString, r as ref, G as computed, o as openBlock, g as _export_sfc } from "./index-bcuE0Z0p.js";
4
+ import { u as useItemStore } from "./DesignerView-DemDevTQ.js";
5
+ import "./PopOver-BHpt5rsj.js";
6
+ import "./index-CHPMUR0d.js";
7
+ import "./vue-codemirror.esm-CwaYwln0.js";
8
8
  const fetchGraphicWalkerData = async (flowId, nodeId) => {
9
9
  var _a, _b;
10
10
  console.log(`[GraphicWalker] Fetching data for flow ${flowId}, node ${nodeId}`);
@@ -66,8 +66,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
66
66
  const vueGraphicWalkerRef = ref(null);
67
67
  const graphicWalkerAppearance = computed(() => {
68
68
  const theme = themeStore.mode;
69
- if (theme === "system")
70
- return "media";
69
+ if (theme === "system") return "media";
71
70
  return theme;
72
71
  });
73
72
  const canDisplayVisualization = computed(() => !isLoading.value && !errorMessage.value);
@@ -194,7 +193,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
194
193
  };
195
194
  }
196
195
  });
197
- const ExploreData_vue_vue_type_style_index_0_scoped_b6998854_lang = "";
198
196
  const ExploreData = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b6998854"]]);
199
197
  export {
200
198
  ExploreData as default
@@ -1,10 +1,7 @@
1
- import { C as CodeLoader } from "./vue-content-loader.es-808fe33a.js";
2
- import { d as defineComponent, l as useNodeStore, r as ref, af as watchEffect, y as resolveComponent, o as openBlock, c as createElementBlock, z as createVNode, A as withCtx, a as createBaseVNode, K as Fragment, L as renderList, e as createCommentVNode, C as createBlock, B as unref, g as _export_sfc } from "./index-ca6799de.js";
3
- import { G as GenericNodeSettings } from "./genericNodeSettings-0155288b.js";
4
- import "./DesignerView-a4466dab.js";
5
- import "./PopOver-ddcfe4f6.js";
6
- import "./index-057d770d.js";
7
- import "./vue-codemirror.esm-8f46fb36.js";
1
+ import { C as CodeLoader } from "./vue-content-loader.es-CMoRXo7N.js";
2
+ import { d as defineComponent, l as useNodeStore, ah as watchEffect, c as createElementBlock, z as createVNode, B as withCtx, a as createBaseVNode, K as Fragment, L as renderList, e as createCommentVNode, C as createBlock, A as unref, r as ref, D as resolveComponent, o as openBlock, g as _export_sfc } from "./index-bcuE0Z0p.js";
3
+ import { u as useNodeSettings } from "./useNodeSettings-dMS9zmh_.js";
4
+ import { G as GenericNodeSettings } from "./genericNodeSettings-BBtW_Cpz.js";
8
5
  function get_template_source_type(type, options) {
9
6
  switch (type) {
10
7
  case "SAMPLE_USERS":
@@ -36,8 +33,24 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
36
33
  __name: "ExternalSource",
37
34
  setup(__props, { expose: __expose }) {
38
35
  const nodeStore = useNodeStore();
39
- const sampleUsers = ref(null);
40
36
  const nodeExternalSource = ref(null);
37
+ const { saveSettings, pushNodeData, handleGenericSettingsUpdate } = useNodeSettings({
38
+ nodeRef: nodeExternalSource,
39
+ onBeforeSave: async () => {
40
+ if (nodeExternalSource.value && isDirty.value) {
41
+ nodeExternalSource.value.is_setup = true;
42
+ nodeExternalSource.value.source_settings.fields = [];
43
+ isDirty.value = false;
44
+ }
45
+ return true;
46
+ },
47
+ onAfterSave: async () => {
48
+ if (nodeExternalSource.value) {
49
+ await nodeStore.getNodeData(Number(nodeExternalSource.value.node_id), false);
50
+ }
51
+ }
52
+ });
53
+ const sampleUsers = ref(null);
41
54
  const dataLoaded = ref(false);
42
55
  const typeSelected = ref(false);
43
56
  const writingOptions = ["sample_users"];
@@ -46,18 +59,19 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
46
59
  watchEffect(() => {
47
60
  });
48
61
  const loadNodeData = async (nodeId) => {
49
- var _a, _b, _c;
50
62
  const nodeResult = await nodeStore.getNodeData(nodeId, false);
51
63
  nodeExternalSource.value = nodeResult == null ? void 0 : nodeResult.setting_input;
52
- if ((_a = nodeExternalSource.value) == null ? void 0 : _a.is_setup) {
53
- if (((_b = nodeExternalSource.value) == null ? void 0 : _b.identifier) == "sample_users") {
54
- sampleUsers.value = (_c = nodeExternalSource.value) == null ? void 0 : _c.source_settings;
55
- selectedExternalSource.value = "sample_users";
64
+ if (nodeExternalSource.value) {
65
+ if (nodeExternalSource.value.is_setup) {
66
+ if (nodeExternalSource.value.identifier == "sample_users") {
67
+ sampleUsers.value = nodeExternalSource.value.source_settings;
68
+ selectedExternalSource.value = "sample_users";
69
+ }
56
70
  }
71
+ typeSelected.value = true;
72
+ dataLoaded.value = true;
73
+ isDirty.value = false;
57
74
  }
58
- typeSelected.value = true;
59
- dataLoaded.value = true;
60
- isDirty.value = false;
61
75
  };
62
76
  const loadTemplateValue = () => {
63
77
  console.log(selectedExternalSource.value);
@@ -73,28 +87,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
73
87
  nodeExternalSource.value.identifier = selectedExternalSource.value;
74
88
  }
75
89
  };
76
- const pushNodeDataAction = async () => {
77
- if (nodeExternalSource.value && isDirty.value) {
78
- nodeExternalSource.value.is_setup = true;
79
- nodeExternalSource.value.source_settings.fields = [];
80
- isDirty.value = false;
81
- }
82
- await nodeStore.updateSettings(nodeExternalSource);
83
- if (nodeExternalSource.value) {
84
- await nodeStore.getNodeData(Number(nodeExternalSource.value.node_id), false);
85
- }
86
- };
87
- const pushNodeData = async () => {
88
- dataLoaded.value = false;
89
- if (nodeExternalSource.value) {
90
- if (isDirty.value || nodeExternalSource.value.identifier) {
91
- await pushNodeDataAction();
92
- }
93
- }
94
- };
95
90
  __expose({
96
91
  loadNodeData,
97
- pushNodeData
92
+ pushNodeData,
93
+ saveSettings
98
94
  });
99
95
  return (_ctx, _cache) => {
100
96
  const _component_el_option = resolveComponent("el-option");
@@ -102,7 +98,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
102
98
  return dataLoaded.value && nodeExternalSource.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
103
99
  createVNode(GenericNodeSettings, {
104
100
  modelValue: nodeExternalSource.value,
105
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => nodeExternalSource.value = $event)
101
+ "onUpdate:modelValue": [
102
+ _cache[1] || (_cache[1] = ($event) => nodeExternalSource.value = $event),
103
+ unref(handleGenericSettingsUpdate)
104
+ ],
105
+ onRequestSave: unref(saveSettings)
106
106
  }, {
107
107
  default: withCtx(() => [
108
108
  _cache[2] || (_cache[2] = createBaseVNode("div", { class: "listbox-subtitle" }, "Select the type of external source", -1)),
@@ -129,15 +129,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
129
129
  selectedExternalSource.value === "sample_users" && sampleUsers.value ? (openBlock(), createElementBlock("div", _hoisted_3)) : createCommentVNode("", true)
130
130
  ])) : (openBlock(), createBlock(unref(CodeLoader), { key: 1 }))
131
131
  ]),
132
- _: 1,
133
- __: [2]
134
- }, 8, ["modelValue"])
132
+ _: 1
133
+ }, 8, ["modelValue", "onUpdate:modelValue", "onRequestSave"])
135
134
  ])) : createCommentVNode("", true);
136
135
  };
137
136
  }
138
137
  });
139
- const ExternalSource_vue_vue_type_style_index_0_scoped_c95ed46a_lang = "";
140
- const ExternalSource = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c95ed46a"]]);
138
+ const ExternalSource = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f2824e05"]]);
141
139
  export {
142
140
  ExternalSource as default
143
141
  };
@@ -1,5 +1,5 @@
1
1
 
2
- .context-menu[data-v-c95ed46a] {
2
+ .context-menu[data-v-f2824e05] {
3
3
  position: fixed;
4
4
  z-index: 1000;
5
5
  border: 1px solid #ccc;
@@ -9,7 +9,7 @@
9
9
  border-radius: 4px;
10
10
  user-select: none;
11
11
  }
12
- .context-menu button[data-v-c95ed46a] {
12
+ .context-menu button[data-v-f2824e05] {
13
13
  display: block;
14
14
  background: none;
15
15
  border: none;
@@ -19,17 +19,17 @@
19
19
  cursor: pointer;
20
20
  z-index: 100;
21
21
  }
22
- .context-menu button[data-v-c95ed46a]:hover {
22
+ .context-menu button[data-v-f2824e05]:hover {
23
23
  background-color: #f0f0f0;
24
24
  }
25
- .table-wrapper[data-v-c95ed46a] {
25
+ .table-wrapper[data-v-f2824e05] {
26
26
  max-height: 300px; /* Adjust this value as needed */
27
27
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); /* subtle shadow for depth */
28
28
  border-radius: 8px; /* rounded corners */
29
29
  overflow: auto; /* ensures the rounded corners are applied to the child elements */
30
30
  margin: 5px; /* adds a small margin around the table */
31
31
  }
32
- .context-menu[data-v-c95ed46a] {
32
+ .context-menu[data-v-f2824e05] {
33
33
  position: fixed;
34
34
  z-index: 1000;
35
35
  border: 1px solid #ccc;
@@ -37,23 +37,23 @@
37
37
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
38
38
  border-radius: 4px;
39
39
  }
40
- .context-menu ul[data-v-c95ed46a] {
40
+ .context-menu ul[data-v-f2824e05] {
41
41
  list-style: none;
42
42
  padding: 0;
43
43
  margin: 0;
44
44
  }
45
- .context-menu li[data-v-c95ed46a] {
45
+ .context-menu li[data-v-f2824e05] {
46
46
  padding: 8px 16px;
47
47
  cursor: pointer;
48
48
  }
49
- .context-menu li[data-v-c95ed46a]:hover {
49
+ .context-menu li[data-v-f2824e05]:hover {
50
50
  background-color: var(--color-background-secondary);
51
51
  }
52
- .file-upload-wrapper[data-v-c95ed46a] {
52
+ .file-upload-wrapper[data-v-f2824e05] {
53
53
  position: relative;
54
54
  width: 100%;
55
55
  }
56
- .file-upload-input[data-v-c95ed46a] {
56
+ .file-upload-input[data-v-f2824e05] {
57
57
  width: 100%;
58
58
  height: 40px;
59
59
  opacity: 0;
@@ -63,7 +63,7 @@
63
63
  z-index: 1;
64
64
  cursor: pointer;
65
65
  }
66
- .file-upload-label[data-v-c95ed46a] {
66
+ .file-upload-label[data-v-f2824e05] {
67
67
  display: flex;
68
68
  align-items: center;
69
69
  justify-content: flex-start;
@@ -79,14 +79,14 @@
79
79
  cursor: pointer;
80
80
  transition: background-color 0.3s ease;
81
81
  }
82
- .file-upload-label[data-v-c95ed46a]:hover {
82
+ .file-upload-label[data-v-f2824e05]:hover {
83
83
  background-color: var(--color-background-secondary);
84
84
  }
85
- .file-icon[data-v-c95ed46a] {
85
+ .file-icon[data-v-f2824e05] {
86
86
  margin-right: 10px;
87
87
  font-size: 20px; /* Slightly larger icon for better visual balance */
88
88
  }
89
- .file-label-text[data-v-c95ed46a] {
89
+ .file-label-text[data-v-f2824e05] {
90
90
  flex-grow: 1; /* Ensures text takes the available space */
91
91
  margin-left: 10px; /* Spacing between icon and text */
92
92
  }
@@ -1,13 +1,12 @@
1
- import { d as defineComponent, r as ref, l as useNodeStore, G as computed, y as resolveComponent, o as openBlock, c as createElementBlock, z as createVNode, A as withCtx, a as createBaseVNode, f as createTextVNode, e as createCommentVNode, B as unref, i as withDirectives, v as vModelText, t as toDisplayString, C as createBlock, g as _export_sfc } from "./index-ca6799de.js";
2
- import { C as CodeLoader } from "./vue-content-loader.es-808fe33a.js";
3
- import { C as ColumnSelector } from "./dropDown-7576a76a.js";
4
- import mainEditorRef from "./fullEditor-7583bef5.js";
5
- import { G as GenericNodeSettings } from "./genericNodeSettings-0155288b.js";
6
- import { F as FILTER_OPERATOR_LABELS, g as getFilterOperatorLabel, O as OPERATORS_NO_VALUE, a as OPERATORS_WITH_VALUE2 } from "./node.types-2c15bb7e.js";
7
- import "./PopOver-ddcfe4f6.js";
8
- import "./vue-codemirror.esm-8f46fb36.js";
9
- import "./DesignerView-a4466dab.js";
10
- import "./index-057d770d.js";
1
+ import { d as defineComponent, l as useNodeStore, c as createElementBlock, z as createVNode, B as withCtx, a as createBaseVNode, f as createTextVNode, e as createCommentVNode, A as unref, h as withDirectives, v as vModelText, t as toDisplayString, 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 { C as CodeLoader } from "./vue-content-loader.es-CMoRXo7N.js";
3
+ import { C as ColumnSelector } from "./dropDown-D5YXaPRR.js";
4
+ import { u as useNodeSettings } from "./useNodeSettings-dMS9zmh_.js";
5
+ import mainEditorRef from "./fullEditor-BVYnWm05.js";
6
+ import { G as GenericNodeSettings } from "./genericNodeSettings-BBtW_Cpz.js";
7
+ import { F as FILTER_OPERATOR_LABELS, g as getFilterOperatorLabel, O as OPERATORS_WITH_VALUE2, a as OPERATORS_NO_VALUE } from "./node.types-Dl4gtSW9.js";
8
+ import "./PopOver-BHpt5rsj.js";
9
+ import "./vue-codemirror.esm-CwaYwln0.js";
11
10
  const _hoisted_1 = { key: 0 };
12
11
  const _hoisted_2 = { class: "listbox-wrapper" };
13
12
  const _hoisted_3 = { style: { "border-radius": "20px" } };
@@ -42,13 +41,28 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
42
41
  const nodeStore = useNodeStore();
43
42
  const nodeFilter = ref(null);
44
43
  const nodeData = ref(null);
44
+ const { saveSettings, pushNodeData, handleGenericSettingsUpdate } = useNodeSettings({
45
+ nodeRef: nodeFilter,
46
+ onBeforeSave: () => {
47
+ if (nodeFilter.value) {
48
+ if (isAdvancedFilter.value) {
49
+ updateAdvancedFilter();
50
+ nodeFilter.value.filter_input.mode = "advanced";
51
+ nodeFilter.value.filter_input.filter_type = "advanced";
52
+ } else {
53
+ nodeFilter.value.filter_input.mode = "basic";
54
+ nodeFilter.value.filter_input.filter_type = "basic";
55
+ }
56
+ }
57
+ return true;
58
+ }
59
+ });
45
60
  const editorChild = ref(null);
46
61
  const operatorLabels = Object.keys(FILTER_OPERATOR_LABELS);
47
62
  const currentOperator = computed(() => {
48
63
  var _a, _b, _c;
49
64
  const op = (_c = (_b = (_a = nodeFilter.value) == null ? void 0 : _a.filter_input) == null ? void 0 : _b.basic_filter) == null ? void 0 : _c.operator;
50
- if (!op)
51
- return "equals";
65
+ if (!op) return "equals";
52
66
  if (typeof op === "string") {
53
67
  if (Object.values(FILTER_OPERATOR_LABELS).includes(op)) {
54
68
  return op;
@@ -92,8 +106,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
92
106
  return legacyMapping[symbol] || "equals";
93
107
  }
94
108
  function getOperatorLabel(operator) {
95
- if (!operator)
96
- return "Equals";
109
+ if (!operator) return "Equals";
97
110
  const op = typeof operator === "string" ? convertLegacyOperator(operator) : operator;
98
111
  return getFilterOperatorLabel(op);
99
112
  }
@@ -180,26 +193,17 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
180
193
  nodeFilter.value.filter_input.advanced_filter = nodeStore.inputCode;
181
194
  }
182
195
  };
183
- const pushNodeData = async () => {
184
- if (nodeFilter.value) {
185
- if (isAdvancedFilter.value) {
186
- updateAdvancedFilter();
187
- nodeFilter.value.filter_input.mode = "advanced";
188
- nodeFilter.value.filter_input.filter_type = "advanced";
189
- } else {
190
- nodeFilter.value.filter_input.mode = "basic";
191
- nodeFilter.value.filter_input.filter_type = "basic";
192
- }
193
- nodeStore.updateSettings(nodeFilter);
194
- }
195
- };
196
- __expose({ loadNodeData, pushNodeData });
196
+ __expose({ loadNodeData, pushNodeData, saveSettings });
197
197
  return (_ctx, _cache) => {
198
198
  const _component_el_switch = resolveComponent("el-switch");
199
199
  return isLoaded.value && nodeFilter.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
200
200
  createVNode(GenericNodeSettings, {
201
201
  modelValue: nodeFilter.value,
202
- "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => nodeFilter.value = $event)
202
+ "onUpdate:modelValue": [
203
+ _cache[7] || (_cache[7] = ($event) => nodeFilter.value = $event),
204
+ unref(handleGenericSettingsUpdate)
205
+ ],
206
+ onRequestSave: unref(saveSettings)
203
207
  }, {
204
208
  default: withCtx(() => {
205
209
  var _a, _b, _c;
@@ -215,7 +219,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
215
219
  }, null, 8, ["modelValue"])
216
220
  ]),
217
221
  isAdvancedFilter.value ? (openBlock(), createElementBlock("div", _hoisted_4, [
218
- _cache[8] || (_cache[8] = createTextVNode(" Advanced filter ")),
222
+ _cache[8] || (_cache[8] = createTextVNode(" Advanced filter ", -1)),
219
223
  createVNode(mainEditorRef, {
220
224
  ref_key: "editorChild",
221
225
  ref: editorChild,
@@ -275,13 +279,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
275
279
  ];
276
280
  }),
277
281
  _: 1
278
- }, 8, ["modelValue"])
282
+ }, 8, ["modelValue", "onUpdate:modelValue", "onRequestSave"])
279
283
  ])) : (openBlock(), createBlock(unref(CodeLoader), { key: 1 }));
280
284
  };
281
285
  }
282
286
  });
283
- const Filter_vue_vue_type_style_index_0_scoped_f2933c98_lang = "";
284
- const Filter = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f2933c98"]]);
287
+ const Filter = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-3a08b53d"]]);
285
288
  export {
286
289
  Filter as default
287
290
  };
@@ -1,25 +1,25 @@
1
- .filter-section[data-v-f2933c98] {
1
+ .filter-section[data-v-3a08b53d] {
2
2
  padding: 10px 0;
3
3
  }
4
- .filter-row[data-v-f2933c98] {
4
+ .filter-row[data-v-3a08b53d] {
5
5
  display: flex;
6
6
  flex-wrap: wrap;
7
7
  gap: 12px;
8
8
  align-items: flex-end;
9
9
  }
10
- .filter-field[data-v-f2933c98] {
10
+ .filter-field[data-v-3a08b53d] {
11
11
  flex: 1;
12
12
  min-width: 150px;
13
13
  max-width: 250px;
14
14
  }
15
- .filter-label[data-v-f2933c98] {
15
+ .filter-label[data-v-3a08b53d] {
16
16
  display: block;
17
17
  font-size: 12px;
18
18
  font-weight: 500;
19
19
  color: #606266;
20
20
  margin-bottom: 4px;
21
21
  }
22
- .input-field[data-v-f2933c98] {
22
+ .input-field[data-v-3a08b53d] {
23
23
  width: 100%;
24
24
  padding: 8px 12px;
25
25
  font-size: 14px;
@@ -30,19 +30,19 @@
30
30
  outline: none;
31
31
  transition: border-color 0.2s, box-shadow 0.2s;
32
32
  }
33
- .input-field[data-v-f2933c98]:focus {
33
+ .input-field[data-v-3a08b53d]:focus {
34
34
  border-color: #409eff;
35
35
  box-shadow: 0 0 0 2px rgba(64, 158, 255, 0.1);
36
36
  }
37
- .input-field[data-v-f2933c98]::placeholder {
37
+ .input-field[data-v-3a08b53d]::placeholder {
38
38
  color: #c0c4cc;
39
39
  }
40
- .help-text[data-v-f2933c98] {
40
+ .help-text[data-v-3a08b53d] {
41
41
  margin-top: 8px;
42
42
  font-size: 12px;
43
43
  color: #909399;
44
44
  font-style: italic;
45
45
  }
46
- .x-flip[data-v-f2933c98] {
46
+ .x-flip[data-v-3a08b53d] {
47
47
  transform: scaleX(-100%);
48
48
  }
@@ -8,18 +8,18 @@
8
8
  width: 100%;
9
9
  position: relative;
10
10
  }
11
- .x-flip[data-v-9864af13] {
11
+ .x-flip[data-v-aca62cad] {
12
12
  transform: scaleX(-1);
13
13
  }
14
- .va-navbar__item[data-v-9864af13] {
14
+ .va-navbar__item[data-v-aca62cad] {
15
15
  cursor: pointer;
16
16
  margin-bottom: 20px; /* Added margin for spacing */
17
17
  }
18
- .data-type-select[data-v-9864af13] {
18
+ .data-type-select[data-v-aca62cad] {
19
19
  margin-top: 10px;
20
20
  margin-bottom: 20px;
21
21
  }
22
- .selector-container[data-v-9864af13] {
22
+ .selector-container[data-v-aca62cad] {
23
23
  display: flex; /* Make children align horizontally */
24
24
  align-items: center; /* Center items vertically */
25
25
  gap: 10px; /* Add space between items */
@@ -1,12 +1,11 @@
1
- import { C as CodeLoader } from "./vue-content-loader.es-808fe33a.js";
2
- import { d as defineComponent, r as ref, H as watch, o as openBlock, c as createElementBlock, t as toDisplayString, e as createCommentVNode, a as createBaseVNode, z as createVNode, g as _export_sfc, l as useNodeStore, A as withCtx, B as unref, C as createBlock } from "./index-ca6799de.js";
3
- import mainEditorRef from "./fullEditor-7583bef5.js";
4
- import { C as ColumnSelector } from "./dropDown-7576a76a.js";
5
- import { G as GenericNodeSettings } from "./genericNodeSettings-0155288b.js";
6
- import "./PopOver-ddcfe4f6.js";
7
- import "./vue-codemirror.esm-8f46fb36.js";
8
- import "./DesignerView-a4466dab.js";
9
- import "./index-057d770d.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, t as toDisplayString, e as createCommentVNode, a as createBaseVNode, z as createVNode, o as openBlock, g as _export_sfc, l as useNodeStore, B as withCtx, A as unref, C as createBlock } from "./index-bcuE0Z0p.js";
3
+ import { u as useNodeSettings } from "./useNodeSettings-dMS9zmh_.js";
4
+ import mainEditorRef from "./fullEditor-BVYnWm05.js";
5
+ import { C as ColumnSelector } from "./dropDown-D5YXaPRR.js";
6
+ import { G as GenericNodeSettings } from "./genericNodeSettings-BBtW_Cpz.js";
7
+ import "./PopOver-BHpt5rsj.js";
8
+ import "./vue-codemirror.esm-CwaYwln0.js";
10
9
  const _hoisted_1$1 = {
11
10
  key: 0,
12
11
  class: "label"
@@ -72,7 +71,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
72
71
  };
73
72
  }
74
73
  });
75
- const dropDownGeneric_vue_vue_type_style_index_0_scoped_11dc3ea7_lang = "";
76
74
  const DropDownGeneric = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-11dc3ea7"]]);
77
75
  const createFormulaInput = (field_name = "", data_type = "Auto", function_def = "") => {
78
76
  const fieldInput = {
@@ -112,11 +110,21 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
112
110
  const showEditor = ref(false);
113
111
  const nodeStore = useNodeStore();
114
112
  const dataLoaded = ref(false);
113
+ const nodeFormula = ref(null);
114
+ const { saveSettings, pushNodeData, handleGenericSettingsUpdate } = useNodeSettings({
115
+ nodeRef: nodeFormula,
116
+ onBeforeSave: () => {
117
+ if (!nodeFormula.value || !formulaInput.value) {
118
+ return false;
119
+ }
120
+ nodeFormula.value.function.function = nodeStore.inputCode;
121
+ return true;
122
+ }
123
+ });
115
124
  const outputColumnSelector = ref({
116
125
  selectedValue: ""
117
126
  });
118
127
  const editorChild = ref(null);
119
- const nodeFormula = ref(null);
120
128
  const formulaInput = ref(null);
121
129
  const dataTypes = [...nodeStore.getDataTypes(), "Auto"];
122
130
  const nodeData = ref(null);
@@ -137,22 +145,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
137
145
  showEditor.value = true;
138
146
  dataLoaded.value = true;
139
147
  };
140
- const pushNodeData = async () => {
141
- if (!nodeFormula.value || !formulaInput.value) {
142
- return;
143
- }
144
- nodeFormula.value.is_setup = true;
145
- nodeFormula.value.function.function = nodeStore.inputCode;
146
- nodeStore.updateSettings(nodeFormula);
147
- showEditor.value = false;
148
- dataLoaded.value = false;
149
- };
150
- __expose({ loadNodeData, pushNodeData });
148
+ __expose({ loadNodeData, pushNodeData, saveSettings });
151
149
  return (_ctx, _cache) => {
152
150
  return dataLoaded.value && nodeFormula.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
153
151
  createVNode(GenericNodeSettings, {
154
152
  modelValue: nodeFormula.value,
155
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => nodeFormula.value = $event)
153
+ "onUpdate:modelValue": [
154
+ _cache[2] || (_cache[2] = ($event) => nodeFormula.value = $event),
155
+ unref(handleGenericSettingsUpdate)
156
+ ],
157
+ onRequestSave: unref(saveSettings)
156
158
  }, {
157
159
  default: withCtx(() => {
158
160
  var _a, _b;
@@ -185,13 +187,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
185
187
  ];
186
188
  }),
187
189
  _: 1
188
- }, 8, ["modelValue"])
190
+ }, 8, ["modelValue", "onUpdate:modelValue", "onRequestSave"])
189
191
  ])) : (openBlock(), createBlock(unref(CodeLoader), { key: 1 }));
190
192
  };
191
193
  }
192
194
  });
193
- const Formula_vue_vue_type_style_index_0_scoped_9864af13_lang = "";
194
- const Formula = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-9864af13"]]);
195
+ const Formula = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-aca62cad"]]);
195
196
  export {
196
197
  Formula as default
197
198
  };