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,13 +1,13 @@
1
1
 
2
2
  /* Modern styling for an AI app */
3
- .fuzzy-join-container[data-v-bbf294d7] {
3
+ .fuzzy-join-container[data-v-ef7e83bb] {
4
4
  font-family: var(--font-family-base);
5
5
  color: var(--color-text-primary);
6
6
  max-width: 100%;
7
7
  }
8
8
 
9
9
  /* Tabs Navigation */
10
- .tabs-navigation[data-v-bbf294d7] {
10
+ .tabs-navigation[data-v-ef7e83bb] {
11
11
  display: flex;
12
12
  border-bottom: 1px solid var(--color-border-light);
13
13
  margin-bottom: 1.25rem;
@@ -15,7 +15,7 @@
15
15
  border-radius: 8px 8px 0 0;
16
16
  overflow: hidden;
17
17
  }
18
- .tab-button[data-v-bbf294d7] {
18
+ .tab-button[data-v-ef7e83bb] {
19
19
  background: none;
20
20
  border: none;
21
21
  padding: 0.75rem 1.25rem;
@@ -29,20 +29,20 @@
29
29
  flex: 1;
30
30
  text-align: center;
31
31
  }
32
- .tab-button[data-v-bbf294d7]:hover {
32
+ .tab-button[data-v-ef7e83bb]:hover {
33
33
  color: var(--color-text-primary);
34
34
  }
35
- .tab-button.active[data-v-bbf294d7] {
35
+ .tab-button.active[data-v-ef7e83bb] {
36
36
  border-bottom-color: var(--color-accent-subtle);
37
37
  color: var(--color-accent);
38
38
  background-color: var(--color-accent-subtle);
39
39
  }
40
- .tab-content[data-v-bbf294d7] {
40
+ .tab-content[data-v-ef7e83bb] {
41
41
  min-height: 300px;
42
42
  }
43
43
 
44
44
  /* Card styling */
45
- .settings-card[data-v-bbf294d7] {
45
+ .settings-card[data-v-ef7e83bb] {
46
46
  background-color: var(--color-background-primary);
47
47
  border-radius: 8px;
48
48
  box-shadow: 0 1px 3px rgba(125, 107, 107, 0.05);
@@ -50,28 +50,28 @@
50
50
  border: 1px solid var(--color-border-primary);
51
51
  overflow: hidden;
52
52
  }
53
- .card-header[data-v-bbf294d7] {
53
+ .card-header[data-v-ef7e83bb] {
54
54
  padding: 1rem 1.25rem;
55
55
  border-bottom: 1px solid var(--color-border-light);
56
56
  background-color: var(--color-background-secondary);
57
57
  }
58
- .section-title[data-v-bbf294d7] {
58
+ .section-title[data-v-ef7e83bb] {
59
59
  margin: 0;
60
60
  font-size: 1rem;
61
61
  font-weight: 600;
62
62
  color: var(--color-text-primary);
63
63
  }
64
- .card-content[data-v-bbf294d7] {
64
+ .card-content[data-v-ef7e83bb] {
65
65
  padding: 1rem 1.25rem;
66
66
  }
67
67
 
68
68
  /* Join Settings */
69
- .join-settings[data-v-bbf294d7] {
69
+ .join-settings[data-v-ef7e83bb] {
70
70
  display: flex;
71
71
  flex-direction: column;
72
72
  gap: 1.25rem;
73
73
  }
74
- .setting-panel[data-v-bbf294d7] {
74
+ .setting-panel[data-v-ef7e83bb] {
75
75
  background-color: var(--color-background-secondary);
76
76
  border-radius: 6px;
77
77
  padding: 1rem;
@@ -79,17 +79,17 @@
79
79
  transition: all 0.2s ease;
80
80
  color: var(--color-text-secondary);
81
81
  }
82
- .setting-panel[data-v-bbf294d7]:hover {
82
+ .setting-panel[data-v-ef7e83bb]:hover {
83
83
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
84
84
  border-color: var(--color-border-light);
85
85
  }
86
- .setting-header[data-v-bbf294d7] {
86
+ .setting-header[data-v-ef7e83bb] {
87
87
  display: flex;
88
88
  justify-content: space-between;
89
89
  align-items: center;
90
90
  margin-bottom: 1rem;
91
91
  }
92
- .setting-title[data-v-bbf294d7] {
92
+ .setting-title[data-v-ef7e83bb] {
93
93
  font-size: 0.95rem;
94
94
  font-weight: 600;
95
95
  color: var(--color-text-primary);
@@ -97,54 +97,54 @@
97
97
  display: flex;
98
98
  align-items: center;
99
99
  }
100
- .unavailable-field[data-v-bbf294d7] {
100
+ .unavailable-field[data-v-ef7e83bb] {
101
101
  margin-right: 0.5rem;
102
102
  }
103
103
 
104
104
  /* Column Selection Grid */
105
- .columns-grid[data-v-bbf294d7] {
105
+ .columns-grid[data-v-ef7e83bb] {
106
106
  display: grid;
107
107
  grid-template-columns: 1fr 1fr;
108
108
  gap: 1rem;
109
109
  margin-bottom: 1rem;
110
110
  }
111
- .column-field[data-v-bbf294d7] {
111
+ .column-field[data-v-ef7e83bb] {
112
112
  display: flex;
113
113
  flex-direction: column;
114
114
  gap: 0.5rem;
115
115
  }
116
- .column-field label[data-v-bbf294d7] {
116
+ .column-field label[data-v-ef7e83bb] {
117
117
  font-size: 0.875rem;
118
118
  font-weight: 500;
119
119
  color: var(--color-text-secondary);
120
120
  }
121
121
 
122
122
  /* Settings Grid */
123
- .settings-grid[data-v-bbf294d7] {
123
+ .settings-grid[data-v-ef7e83bb] {
124
124
  display: grid;
125
125
  grid-template-columns: 1fr 1fr;
126
126
  gap: 1rem;
127
127
  }
128
- .threshold-field[data-v-bbf294d7],
129
- .select-field[data-v-bbf294d7] {
128
+ .threshold-field[data-v-ef7e83bb],
129
+ .select-field[data-v-ef7e83bb] {
130
130
  display: flex;
131
131
  flex-direction: column;
132
132
  gap: 0.5rem;
133
133
  }
134
- .threshold-field label[data-v-bbf294d7],
135
- .select-field label[data-v-bbf294d7] {
134
+ .threshold-field label[data-v-ef7e83bb],
135
+ .select-field label[data-v-ef7e83bb] {
136
136
  font-size: 0.875rem;
137
137
  font-weight: 500;
138
138
  color: var(--color-text-secondary);
139
139
  }
140
140
 
141
141
  /* Range Input */
142
- .range-container[data-v-bbf294d7] {
142
+ .range-container[data-v-ef7e83bb] {
143
143
  display: flex;
144
144
  align-items: center;
145
145
  gap: 1rem;
146
146
  }
147
- .range-slider[data-v-bbf294d7] {
147
+ .range-slider[data-v-ef7e83bb] {
148
148
  flex: 1;
149
149
  width: 100%;
150
150
  height: 6px;
@@ -152,7 +152,7 @@
152
152
  background: var(--color-background-secondary);
153
153
  outline: none;
154
154
  }
155
- .range-slider[data-v-bbf294d7]::-webkit-slider-thumb {
155
+ .range-slider[data-v-ef7e83bb]::-webkit-slider-thumb {
156
156
  -webkit-appearance: none;
157
157
  appearance: none;
158
158
  width: 16px;
@@ -163,7 +163,7 @@
163
163
  border: 2px solid var(--color-accent);
164
164
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
165
165
  }
166
- .range-slider[data-v-bbf294d7]::-moz-range-thumb {
166
+ .range-slider[data-v-ef7e83bb]::-moz-range-thumb {
167
167
  width: 16px;
168
168
  height: 16px;
169
169
  border-radius: 50%;
@@ -172,7 +172,7 @@
172
172
  border: 2px solid white;
173
173
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
174
174
  }
175
- .range-value[data-v-bbf294d7] {
175
+ .range-value[data-v-ef7e83bb] {
176
176
  min-width: 3rem;
177
177
  text-align: right;
178
178
  font-size: 0.875rem;
@@ -181,10 +181,10 @@
181
181
  }
182
182
 
183
183
  /* Select Input */
184
- .select-wrapper[data-v-bbf294d7] {
184
+ .select-wrapper[data-v-ef7e83bb] {
185
185
  position: relative;
186
186
  }
187
- .select-input[data-v-bbf294d7] {
187
+ .select-input[data-v-ef7e83bb] {
188
188
  width: 100%;
189
189
  padding: 0.5rem 0.75rem;
190
190
  font-size: 0.875rem;
@@ -196,14 +196,14 @@
196
196
  outline: none;
197
197
  transition: all 0.2s ease;
198
198
  }
199
- .select-input[data-v-bbf294d7]:focus {
199
+ .select-input[data-v-ef7e83bb]:focus {
200
200
  border-color: #3182ce;
201
201
  box-shadow: 0 0 0 2px rgba(49, 130, 206, 0.15);
202
202
  }
203
203
 
204
204
  /* Buttons */
205
- .add-button[data-v-bbf294d7],
206
- .remove-button[data-v-bbf294d7] {
205
+ .add-button[data-v-ef7e83bb],
206
+ .remove-button[data-v-ef7e83bb] {
207
207
  padding: 0.5rem 0.75rem;
208
208
  border: 1px solid #e2e8f0;
209
209
  border-radius: 6px;
@@ -214,7 +214,7 @@
214
214
  cursor: pointer;
215
215
  transition: all 0.2s ease;
216
216
  }
217
- .add-button[data-v-bbf294d7] {
217
+ .add-button[data-v-ef7e83bb] {
218
218
  background-color: #ebf8ff;
219
219
  color: #3182ce;
220
220
  margin-top: 0.5rem;
@@ -223,22 +223,22 @@
223
223
  justify-content: center;
224
224
  align-items: center;
225
225
  }
226
- .add-button[data-v-bbf294d7]:hover {
226
+ .add-button[data-v-ef7e83bb]:hover {
227
227
  background-color: #bee3f8;
228
228
  }
229
- .remove-button[data-v-bbf294d7] {
229
+ .remove-button[data-v-ef7e83bb] {
230
230
  background-color: transparent;
231
231
  border: 1px solid #e2e8f0;
232
232
  }
233
- .remove-button[data-v-bbf294d7]:hover {
233
+ .remove-button[data-v-ef7e83bb]:hover {
234
234
  background-color: #fee2e2;
235
235
  color: #e53e3e;
236
236
  border-color: #fbd5d5;
237
237
  }
238
- .select-section[data-v-bbf294d7] {
238
+ .select-section[data-v-ef7e83bb] {
239
239
  margin-top: 1rem;
240
240
  }
241
- .select-section + .select-section[data-v-bbf294d7] {
241
+ .select-section + .select-section[data-v-ef7e83bb] {
242
242
  margin-top: 2rem;
243
243
  padding-top: 1.5rem;
244
244
  border-top: 1px solid #edf2f7;
@@ -246,8 +246,8 @@
246
246
 
247
247
  /* Responsive adjustments */
248
248
  @media (max-width: 768px) {
249
- .columns-grid[data-v-bbf294d7],
250
- .settings-grid[data-v-bbf294d7] {
249
+ .columns-grid[data-v-ef7e83bb],
250
+ .settings-grid[data-v-ef7e83bb] {
251
251
  grid-template-columns: 1fr;
252
252
  }
253
253
  }
@@ -1,13 +1,11 @@
1
- import { d as defineComponent, r as ref, l as useNodeStore, G as computed, J as onMounted, a2 as nextTick, o as openBlock, c as createElementBlock, z as createVNode, A as withCtx, a as createBaseVNode, n as normalizeClass, K as Fragment, L as renderList, C as createBlock, e as createCommentVNode, f as createTextVNode, t as toDisplayString, i as withDirectives, v as vModelText, at as vModelSelect, B as unref, g as _export_sfc } from "./index-ca6799de.js";
2
- import { C as ColumnSelector } from "./dropDown-7576a76a.js";
3
- import { s as selectDynamic } from "./selectDynamic-5754a2b1.js";
4
- import { u as unavailableField } from "./UnavailableFields-f6147968.js";
5
- import { G as GenericNodeSettings } from "./genericNodeSettings-0155288b.js";
6
- import { C as CodeLoader } from "./vue-content-loader.es-808fe33a.js";
7
- import "./PopOver-ddcfe4f6.js";
8
- import "./DesignerView-a4466dab.js";
9
- import "./index-057d770d.js";
10
- import "./vue-codemirror.esm-8f46fb36.js";
1
+ import { d as defineComponent, l as useNodeStore, J as onMounted, a1 as nextTick, c as createElementBlock, z as createVNode, B as withCtx, a as createBaseVNode, n as normalizeClass, K as Fragment, L as renderList, C as createBlock, e as createCommentVNode, f as createTextVNode, t as toDisplayString, h as withDirectives, v as vModelText, ax as vModelSelect, A as unref, r as ref, G as computed, o as openBlock, g as _export_sfc } from "./index-bcuE0Z0p.js";
2
+ import { u as useNodeSettings } from "./useNodeSettings-dMS9zmh_.js";
3
+ import { C as ColumnSelector } from "./dropDown-D5YXaPRR.js";
4
+ import { s as selectDynamic } from "./selectDynamic-Bl5FVsME.js";
5
+ import { u as unavailableField } from "./UnavailableFields-Yf6XSqFB.js";
6
+ import { G as GenericNodeSettings } from "./genericNodeSettings-BBtW_Cpz.js";
7
+ import { C as CodeLoader } from "./vue-content-loader.es-CMoRXo7N.js";
8
+ import "./PopOver-BHpt5rsj.js";
11
9
  const _hoisted_1 = {
12
10
  key: 0,
13
11
  class: "fuzzy-join-container"
@@ -55,6 +53,22 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
55
53
  const nodeStore = useNodeStore();
56
54
  const isLoaded = ref(false);
57
55
  const nodeFuzzyJoin = ref(null);
56
+ const { saveSettings, pushNodeData, handleGenericSettingsUpdate } = useNodeSettings({
57
+ nodeRef: nodeFuzzyJoin,
58
+ onAfterSave: () => {
59
+ if (hasInvalidFields.value && nodeFuzzyJoin.value) {
60
+ nodeStore.setNodeValidation(nodeFuzzyJoin.value.node_id, {
61
+ isValid: false,
62
+ error: "Join fields are not valid"
63
+ });
64
+ } else if (nodeFuzzyJoin.value) {
65
+ nodeStore.setNodeValidation(nodeFuzzyJoin.value.node_id, {
66
+ isValid: true,
67
+ error: ""
68
+ });
69
+ }
70
+ }
71
+ });
58
72
  const createSelectInput = (field) => {
59
73
  return {
60
74
  old_name: field,
@@ -115,23 +129,20 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
115
129
  };
116
130
  };
117
131
  const loadNodeData = async (nodeId) => {
118
- var _a, _b, _c, _d, _e, _f;
132
+ var _a, _b, _c;
119
133
  result.value = await nodeStore.getNodeData(nodeId, false);
120
134
  nodeFuzzyJoin.value = (_a = result.value) == null ? void 0 : _a.setting_input;
121
- if (!((_b = nodeFuzzyJoin.value) == null ? void 0 : _b.is_setup) && ((_c = result.value) == null ? void 0 : _c.main_input)) {
122
- if (nodeFuzzyJoin.value) {
123
- if (((_d = result.value) == null ? void 0 : _d.main_input.columns) && ((_f = (_e = result.value) == null ? void 0 : _e.right_input) == null ? void 0 : _f.columns)) {
135
+ if (nodeFuzzyJoin.value) {
136
+ if (!nodeFuzzyJoin.value.is_setup && ((_b = result.value) == null ? void 0 : _b.main_input)) {
137
+ if (result.value.main_input.columns && ((_c = result.value.right_input) == null ? void 0 : _c.columns)) {
124
138
  nodeFuzzyJoin.value.join_input = getEmptySetup(
125
139
  result.value.main_input.columns,
126
140
  result.value.right_input.columns
127
141
  );
128
- isLoaded.value = true;
129
142
  }
130
143
  }
131
- } else {
132
144
  isLoaded.value = true;
133
145
  }
134
- isLoaded.value = true;
135
146
  };
136
147
  const addJoinCondition = () => {
137
148
  var _a, _b;
@@ -160,26 +171,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
160
171
  }
161
172
  }
162
173
  };
163
- const pushNodeData = async () => {
164
- if (nodeFuzzyJoin.value) {
165
- nodeFuzzyJoin.value.is_setup = true;
166
- }
167
- nodeStore.updateSettings(nodeFuzzyJoin);
168
- if (hasInvalidFields.value && nodeFuzzyJoin.value) {
169
- nodeStore.setNodeValidation(nodeFuzzyJoin.value.node_id, {
170
- isValid: false,
171
- error: "Join fields are not valid"
172
- });
173
- } else if (nodeFuzzyJoin.value) {
174
- nodeStore.setNodeValidation(nodeFuzzyJoin.value.node_id, {
175
- isValid: true,
176
- error: ""
177
- });
178
- }
179
- };
180
174
  __expose({
181
175
  loadNodeData,
182
176
  pushNodeData,
177
+ saveSettings,
183
178
  hasInvalidFields
184
179
  });
185
180
  onMounted(async () => {
@@ -189,7 +184,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
189
184
  return isLoaded.value && nodeFuzzyJoin.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
190
185
  createVNode(GenericNodeSettings, {
191
186
  modelValue: nodeFuzzyJoin.value,
192
- "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => nodeFuzzyJoin.value = $event)
187
+ "onUpdate:modelValue": [
188
+ _cache[5] || (_cache[5] = ($event) => nodeFuzzyJoin.value = $event),
189
+ unref(handleGenericSettingsUpdate)
190
+ ],
191
+ onRequestSave: unref(saveSettings)
193
192
  }, {
194
193
  default: withCtx(() => {
195
194
  var _a, _b, _c, _d, _e, _f;
@@ -341,13 +340,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
341
340
  ];
342
341
  }),
343
342
  _: 1
344
- }, 8, ["modelValue"])
343
+ }, 8, ["modelValue", "onUpdate:modelValue", "onRequestSave"])
345
344
  ])) : (openBlock(), createBlock(unref(CodeLoader), { key: 1 }));
346
345
  };
347
346
  }
348
347
  });
349
- const FuzzyMatch_vue_vue_type_style_index_0_scoped_bbf294d7_lang = "";
350
- const FuzzyMatch = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-bbf294d7"]]);
348
+ const FuzzyMatch = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-ef7e83bb"]]);
351
349
  export {
352
350
  FuzzyMatch as default
353
351
  };
@@ -1,11 +1,12 @@
1
- import { d as defineComponent, l as useNodeStore, r as ref, G as computed, J as onMounted, a2 as nextTick, q as onUnmounted, y as resolveComponent, o as openBlock, c as createElementBlock, z as createVNode, A as withCtx, a as createBaseVNode, K as Fragment, L as renderList, n as normalizeClass, w as withModifiers, t as toDisplayString, C as createBlock, e as createCommentVNode, g as _export_sfc } from "./index-ca6799de.js";
2
- import "./DesignerView-a4466dab.js";
3
- import { _ as _sfc_main$1 } from "./ContextMenu.vue_vue_type_script_setup_true_lang-774c517c.js";
4
- import SettingsSection from "./SettingsSection-cebb91d5.js";
5
- import { G as GenericNodeSettings } from "./genericNodeSettings-0155288b.js";
6
- import "./PopOver-ddcfe4f6.js";
7
- import "./index-057d770d.js";
8
- import "./vue-codemirror.esm-8f46fb36.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, 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, G as computed, o as openBlock, g as _export_sfc } 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-CITK_R7o.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,6 +21,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
20
21
  props: { nodeId: { type: Number, required: true } },
21
22
  setup(__props, { expose: __expose }) {
22
23
  const nodeStore = useNodeStore();
24
+ const nodeGraphSolver = ref(null);
25
+ const { saveSettings, pushNodeData, handleGenericSettingsUpdate } = useNodeSettings({
26
+ nodeRef: nodeGraphSolver
27
+ });
23
28
  const showContextMenu = ref(false);
24
29
  const dataLoaded = ref(false);
25
30
  const contextMenuPosition = ref({ x: 0, y: 0 });
@@ -33,7 +38,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
33
38
  col_to: "",
34
39
  output_column_name: "group_column"
35
40
  });
36
- const nodeGraphSolver = ref(null);
37
41
  const singleColumnSelected = computed(() => selectedColumns.value.length === 1);
38
42
  const getColumnClass = (columnName) => {
39
43
  return selectedColumns.value.includes(columnName) ? "is-selected" : "";
@@ -134,21 +138,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
134
138
  };
135
139
  const handleClickOutside = (event) => {
136
140
  const targetEvent = event.target;
137
- if (targetEvent.id === "pivot-context-menu")
138
- return;
141
+ if (targetEvent.id === "pivot-context-menu") return;
139
142
  showContextMenu.value = false;
140
143
  };
141
144
  const closeContextMenu = () => {
142
145
  showContextMenu.value = false;
143
146
  };
144
- const pushNodeData = async () => {
145
- if (nodeGraphSolver.value) {
146
- nodeStore.updateSettings(nodeGraphSolver);
147
- }
148
- };
149
147
  __expose({
150
148
  loadNodeData,
151
- pushNodeData
149
+ pushNodeData,
150
+ saveSettings
152
151
  });
153
152
  onMounted(async () => {
154
153
  await nextTick();
@@ -162,7 +161,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
162
161
  return dataLoaded.value && nodeGraphSolver.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
163
162
  createVNode(GenericNodeSettings, {
164
163
  modelValue: nodeGraphSolver.value,
165
- "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => nodeGraphSolver.value = $event)
164
+ "onUpdate:modelValue": [
165
+ _cache[8] || (_cache[8] = ($event) => nodeGraphSolver.value = $event),
166
+ unref(handleGenericSettingsUpdate)
167
+ ],
168
+ onRequestSave: unref(saveSettings)
166
169
  }, {
167
170
  default: withCtx(() => {
168
171
  var _a, _b;
@@ -226,13 +229,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
226
229
  ];
227
230
  }),
228
231
  _: 1
229
- }, 8, ["modelValue"])
232
+ }, 8, ["modelValue", "onUpdate:modelValue", "onRequestSave"])
230
233
  ])) : createCommentVNode("", true);
231
234
  };
232
235
  }
233
236
  });
234
- const GraphSolver_vue_vue_type_style_index_0_scoped_723eb420_lang = "";
235
- const GraphSolver = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-723eb420"]]);
237
+ const GraphSolver = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-72a426cf"]]);
236
238
  export {
237
239
  GraphSolver as default
238
240
  };
@@ -1,5 +1,5 @@
1
1
 
2
- .context-menu[data-v-723eb420] {
2
+ .context-menu[data-v-72a426cf] {
3
3
  position: fixed;
4
4
  z-index: 1000;
5
5
  border: 1px solid #ccc;
@@ -8,15 +8,15 @@
8
8
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
9
9
  border-radius: 4px;
10
10
  }
11
- .context-menu ul[data-v-723eb420] {
11
+ .context-menu ul[data-v-72a426cf] {
12
12
  list-style: none;
13
13
  padding: 0;
14
14
  margin: 0;
15
15
  }
16
- .context-menu li[data-v-723eb420] {
16
+ .context-menu li[data-v-72a426cf] {
17
17
  padding: 8px 16px;
18
18
  cursor: pointer;
19
19
  }
20
- .context-menu li[data-v-723eb420]:hover {
20
+ .context-menu li[data-v-72a426cf]:hover {
21
21
  background-color: #f0f0f0;
22
22
  }
@@ -1,10 +1,7 @@
1
- import { d as defineComponent, l as useNodeStore, r as ref, G as computed, J as onMounted, a2 as nextTick, q as onUnmounted, y as resolveComponent, o as openBlock, c as createElementBlock, z as createVNode, A as withCtx, a as createBaseVNode, K as Fragment, L as renderList, n as normalizeClass, t as toDisplayString, e as createCommentVNode, a4 as normalizeStyle, w as withModifiers, C as createBlock, B as unref, g as _export_sfc } from "./index-ca6799de.js";
2
- import { C as CodeLoader } from "./vue-content-loader.es-808fe33a.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 { 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, K as Fragment, L as renderList, n as normalizeClass, t as toDisplayString, e as createCommentVNode, a0 as normalizeStyle, w as withModifiers, A as unref, 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 { u as useNodeSettings } from "./useNodeSettings-dMS9zmh_.js";
4
+ import { G as GenericNodeSettings } from "./genericNodeSettings-BBtW_Cpz.js";
8
5
  const _hoisted_1 = { key: 0 };
9
6
  const _hoisted_2 = { class: "listbox-wrapper" };
10
7
  const _hoisted_3 = {
@@ -23,6 +20,20 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
23
20
  __name: "GroupBy",
24
21
  setup(__props, { expose: __expose }) {
25
22
  const nodeStore = useNodeStore();
23
+ const nodeGroupBy = ref(null);
24
+ const { saveSettings, pushNodeData, handleGenericSettingsUpdate } = useNodeSettings({
25
+ nodeRef: nodeGroupBy,
26
+ onAfterSave: async () => {
27
+ await instantValidate();
28
+ },
29
+ getValidationFunc: () => {
30
+ var _a;
31
+ if ((_a = nodeGroupBy.value) == null ? void 0 : _a.groupby_input) {
32
+ return validateNode;
33
+ }
34
+ return void 0;
35
+ }
36
+ });
26
37
  const showContextMenu = ref(false);
27
38
  const showContextMenuRemove = ref(false);
28
39
  const dataLoaded = ref(false);
@@ -30,7 +41,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
30
41
  const contextMenuColumn = ref(null);
31
42
  const contextMenuRef = ref(null);
32
43
  const selectedColumns = ref([]);
33
- const nodeGroupBy = ref(null);
34
44
  const nodeData = ref(null);
35
45
  const aggOptions = [
36
46
  "groupby",
@@ -208,21 +218,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
208
218
  });
209
219
  }
210
220
  };
211
- const pushNodeData = async () => {
212
- var _a, _b, _c;
213
- dataLoaded.value = false;
214
- if ((_a = nodeGroupBy.value) == null ? void 0 : _a.is_setup) {
215
- nodeGroupBy.value.is_setup = true;
216
- }
217
- nodeStore.updateSettings(nodeGroupBy);
218
- await instantValidate();
219
- if ((_b = nodeGroupBy.value) == null ? void 0 : _b.groupby_input) {
220
- nodeStore.setNodeValidateFunc((_c = nodeGroupBy.value) == null ? void 0 : _c.node_id, validateNode);
221
- }
222
- };
223
221
  __expose({
224
222
  loadNodeData,
225
- pushNodeData
223
+ pushNodeData,
224
+ saveSettings
226
225
  });
227
226
  onMounted(async () => {
228
227
  await nextTick();
@@ -238,7 +237,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
238
237
  return dataLoaded.value && nodeGroupBy.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
239
238
  createVNode(GenericNodeSettings, {
240
239
  modelValue: nodeGroupBy.value,
241
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => nodeGroupBy.value = $event)
240
+ "onUpdate:modelValue": [
241
+ _cache[1] || (_cache[1] = ($event) => nodeGroupBy.value = $event),
242
+ unref(handleGenericSettingsUpdate)
243
+ ],
244
+ onRequestSave: unref(saveSettings)
242
245
  }, {
243
246
  default: withCtx(() => {
244
247
  var _a, _b;
@@ -311,8 +314,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
311
314
  }, null, 8, ["label", "value"]);
312
315
  }), 64))
313
316
  ]),
314
- _: 2
315
- }, 1032, ["modelValue", "onUpdate:modelValue"])
317
+ _: 1
318
+ }, 8, ["modelValue", "onUpdate:modelValue"])
316
319
  ]),
317
320
  createBaseVNode("td", null, [
318
321
  createVNode(_component_el_input, {
@@ -339,15 +342,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
339
342
  ], 4)) : createCommentVNode("", true)
340
343
  ];
341
344
  }),
342
- _: 1,
343
- __: [3]
344
- }, 8, ["modelValue"])
345
+ _: 1
346
+ }, 8, ["modelValue", "onUpdate:modelValue", "onRequestSave"])
345
347
  ])) : (openBlock(), createBlock(unref(CodeLoader), { key: 1 }));
346
348
  };
347
349
  }
348
350
  });
349
- const GroupBy_vue_vue_type_style_index_0_scoped_d7b3d915_lang = "";
350
- const GroupBy = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d7b3d915"]]);
351
+ const GroupBy = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-61753653"]]);
351
352
  export {
352
353
  GroupBy as default
353
354
  };
@@ -1,6 +1,6 @@
1
1
 
2
2
  /* Context menu styles are now centralized in styles/components/_context-menu.css */
3
- .table-wrapper[data-v-bcf69c5f] {
3
+ .table-wrapper[data-v-61753653] {
4
4
  max-height: 300px;
5
5
  box-shadow: var(--shadow-sm);
6
6
  border-radius: var(--border-radius-lg);