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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. flowfile/__main__.py +94 -1
  2. flowfile/api.py +8 -6
  3. flowfile/web/static/assets/{AdminView-f9847d67.js → AdminView-C4K1DdHI.js} +28 -33
  4. flowfile/web/static/assets/{CloudConnectionView-faace55b.js → CloudConnectionView-BZbPvPUL.js} +39 -50
  5. flowfile/web/static/assets/{CloudStorageReader-24c54524.css → CloudStorageReader-BDByiqPI.css} +25 -25
  6. flowfile/web/static/assets/{CloudStorageReader-d86ecaa7.js → CloudStorageReader-DLVukNJ7.js} +30 -35
  7. flowfile/web/static/assets/{CloudStorageWriter-0f4d9a44.js → CloudStorageWriter-Bfi-C1QW.js} +32 -37
  8. flowfile/web/static/assets/{CloudStorageWriter-60547855.css → CloudStorageWriter-y8jL8yjG.css} +24 -24
  9. flowfile/web/static/assets/{ColumnActionInput-f4189ae0.js → ColumnActionInput-BpiCApw9.js} +7 -12
  10. flowfile/web/static/assets/{ColumnSelector-e66b33da.js → ColumnSelector-CEAwedI7.js} +1 -2
  11. flowfile/web/static/assets/ContextMenu-CdojQu0w.js +9 -0
  12. flowfile/web/static/assets/ContextMenu-D12mhsy1.js +9 -0
  13. flowfile/web/static/assets/ContextMenu-EWUR98va.js +9 -0
  14. flowfile/web/static/assets/{ContextMenu.vue_vue_type_script_setup_true_lang-a1bd6314.js → ContextMenu.vue_vue_type_script_setup_true_lang-I4rXXd6G.js} +4 -5
  15. flowfile/web/static/assets/{CrossJoin-24694b8f.js → CrossJoin-BOFfxkJO.js} +19 -18
  16. flowfile/web/static/assets/{CrossJoin-71b4cc10.css → CrossJoin-Cmbyt9im.css} +18 -18
  17. flowfile/web/static/assets/{CustomNode-569d45ff.js → CustomNode-Bhpezobq.js} +12 -17
  18. flowfile/web/static/assets/{DatabaseConnectionSettings-cfc08938.js → DatabaseConnectionSettings-Dw3bSJKB.js} +10 -11
  19. flowfile/web/static/assets/{DatabaseReader-5bf8c75b.css → DatabaseReader-D6pUNUCs.css} +21 -21
  20. flowfile/web/static/assets/{DatabaseReader-701feabb.js → DatabaseReader-m87ghlw0.js} +36 -34
  21. flowfile/web/static/assets/{DatabaseView-0482e5b5.js → DatabaseView-CisSAtpe.js} +30 -38
  22. flowfile/web/static/assets/{DatabaseWriter-16721989.js → DatabaseWriter-Bbj9JLdL.js} +33 -35
  23. flowfile/web/static/assets/{DatabaseWriter-bdcf2c8b.css → DatabaseWriter-RBqdFLj8.css} +17 -17
  24. flowfile/web/static/assets/{DesignerView-f64749fb.js → DesignerView-DemDevTQ.js} +1841 -2090
  25. flowfile/web/static/assets/{DesignerView-49abb835.css → DesignerView-Dm6OzlIc.css} +244 -202
  26. flowfile/web/static/assets/{DocumentationView-61bd2990.js → DocumentationView-BrC1ZR3H.js} +3 -4
  27. flowfile/web/static/assets/{ExploreData-e2735b13.js → ExploreData-BMKcDuRb.js} +8 -10
  28. flowfile/web/static/assets/{ExternalSource-2535c3b2.js → ExternalSource-BXrNNS-f.js} +40 -42
  29. flowfile/web/static/assets/{ExternalSource-7ac7373f.css → ExternalSource-NB6WVl5R.css} +14 -14
  30. flowfile/web/static/assets/{Filter-2cdbc93c.js → Filter-C2MjsN6P.js} +36 -33
  31. flowfile/web/static/assets/{Filter-7494ea97.css → Filter-DCMGGuGC.css} +9 -9
  32. flowfile/web/static/assets/{Formula-53d58c43.css → Formula-BYafbDj8.css} +4 -4
  33. flowfile/web/static/assets/{Formula-fcda3c2c.js → Formula-ufuy4mVD.js} +27 -26
  34. flowfile/web/static/assets/{FuzzyMatch-ad6361d6.css → FuzzyMatch-BGJAwgd0.css} +42 -42
  35. flowfile/web/static/assets/{FuzzyMatch-f8d3b7d3.js → FuzzyMatch-BOHODq3h.js} +36 -38
  36. flowfile/web/static/assets/{GraphSolver-72eaa695.js → GraphSolver-B6ZzpNGO.js} +23 -21
  37. flowfile/web/static/assets/{GraphSolver-4b4d7db9.css → GraphSolver-DFN83sj3.css} +4 -4
  38. flowfile/web/static/assets/{GroupBy-8aa0598b.js → GroupBy-B9BRNcfe.js} +30 -29
  39. flowfile/web/static/assets/{Sort-4abb7fae.css → GroupBy-x4ooP5np.css} +1 -1
  40. flowfile/web/static/assets/Join-Bx_g5bZz.css +118 -0
  41. flowfile/web/static/assets/{Join-e40f0ffa.js → Join-DsBEy1IH.js} +48 -43
  42. flowfile/web/static/assets/{LoginView-5111c9ae.js → LoginView-Ct0rhdcO.js} +1 -2
  43. flowfile/web/static/assets/{ManualInput-3702e677.css → ManualInput-DlZmtMdt.css} +48 -48
  44. flowfile/web/static/assets/{ManualInput-9b6f3224.js → ManualInput-bC4BUgnG.js} +85 -44
  45. flowfile/web/static/assets/{MultiSelect-ef28e19e.js → MultiSelect-DIQ8PuTC.js} +2 -2
  46. flowfile/web/static/assets/{MultiSelect.vue_vue_type_script_setup_true_lang-83b3bbfd.js → MultiSelect.vue_vue_type_script_setup_true_lang-BefHfqTI.js} +1 -1
  47. flowfile/web/static/assets/{NodeDesigner-d2b7ee2b.js → NodeDesigner-D39yzr2k.js} +178 -208
  48. flowfile/web/static/assets/{NodeDesigner-94cd4dd3.css → NodeDesigner-R0l6sYyY.css} +76 -76
  49. flowfile/web/static/assets/{NumericInput-1d789794.js → NumericInput-DMSX3oOr.js} +2 -2
  50. flowfile/web/static/assets/{NumericInput.vue_vue_type_script_setup_true_lang-7775f83e.js → NumericInput.vue_vue_type_script_setup_true_lang-d0YlVHAl.js} +1 -1
  51. flowfile/web/static/assets/{Output-cefef801.js → Output-D0VoXGcW.js} +26 -34
  52. flowfile/web/static/assets/{Output-692dd25d.css → Output-DsmglIDy.css} +5 -5
  53. flowfile/web/static/assets/{Pivot-bab1b75b.js → Pivot-BnMB4sEe.js} +26 -26
  54. flowfile/web/static/assets/{Pivot-0eda81b4.css → Pivot-qKTyWxop.css} +4 -4
  55. flowfile/web/static/assets/{PivotValidation-fba09336.js → PivotValidation-B2lWvugt.js} +7 -9
  56. flowfile/web/static/assets/{PivotValidation-e7941f91.js → PivotValidation-BPlhRjpL.js} +7 -9
  57. flowfile/web/static/assets/{PolarsCode-740e40fa.js → PolarsCode-5h0tHnWR.js} +22 -20
  58. flowfile/web/static/assets/PopOver-BHpt5rsj.js +134 -0
  59. flowfile/web/static/assets/{PopOver-d96599db.css → PopOver-CyYM4-rV.css} +1 -1
  60. flowfile/web/static/assets/{Read-90f366bc.css → Read-DJxkrTb_.css} +10 -10
  61. flowfile/web/static/assets/Read-TsLEFh3B.js +227 -0
  62. flowfile/web/static/assets/{RecordCount-ffc71eca.js → RecordCount-DkVixq9v.js} +18 -17
  63. flowfile/web/static/assets/{RecordId-a70bb8df.js → RecordId-C2UEGlCf.js} +42 -39
  64. flowfile/web/static/assets/{SQLQueryComponent-15a421f5.js → SQLQueryComponent-Dr5KMoD3.js} +2 -3
  65. flowfile/web/static/assets/{Sample-6c26afc7.js → Sample-Cb3eQNmd.js} +30 -30
  66. flowfile/web/static/assets/{SecretSelector-ceed9496.js → SecretSelector-De2L2bSx.js} +3 -4
  67. flowfile/web/static/assets/{SecretsView-214d255a.js → SecretsView-CheC9BPV.js} +13 -16
  68. flowfile/web/static/assets/{Select-8fc29999.js → Select-CI8TloRs.js} +41 -36
  69. flowfile/web/static/assets/{SettingsSection-9f0d1725.js → SettingsSection-B39ulIiI.js} +1 -2
  70. flowfile/web/static/assets/{SettingsSection-83090218.js → SettingsSection-BiCc7S9h.js} +1 -2
  71. flowfile/web/static/assets/{SettingsSection-3f70e4c3.js → SettingsSection-CITK_R7o.js} +2 -3
  72. flowfile/web/static/assets/{SettingsSection-26fe48d4.css → SettingsSection-D2GgY-Aq.css} +4 -4
  73. flowfile/web/static/assets/{SetupView-3fa0aa03.js → SetupView-C1aXRDvp.js} +3 -4
  74. flowfile/web/static/assets/{SetupView-e2da3442.css → SetupView-CI1nd-5Z.css} +38 -38
  75. flowfile/web/static/assets/{SingleSelect-a4a568cb.js → SingleSelect-Kr_hz90m.js} +2 -2
  76. flowfile/web/static/assets/{SingleSelect.vue_vue_type_script_setup_true_lang-c8ebdd33.js → SingleSelect.vue_vue_type_script_setup_true_lang-Rxht5Z5N.js} +1 -1
  77. flowfile/web/static/assets/{SliderInput-be533e71.js → SliderInput-CLqpCxCb.js} +1 -2
  78. flowfile/web/static/assets/{GroupBy-5792782d.css → Sort-BIt2kc_p.css} +1 -1
  79. flowfile/web/static/assets/{Sort-154dad81.js → Sort-Dnw_J6Qi.js} +25 -25
  80. flowfile/web/static/assets/{TextInput-454e2bda.js → TextInput-wdlunIZC.js} +2 -2
  81. flowfile/web/static/assets/{TextInput.vue_vue_type_script_setup_true_lang-e86510d0.js → TextInput.vue_vue_type_script_setup_true_lang-Bcj3ywzv.js} +1 -1
  82. flowfile/web/static/assets/{TextToRows-ea73433d.js → TextToRows-BhtyGWPq.js} +42 -49
  83. flowfile/web/static/assets/{TextToRows-12afb4f4.css → TextToRows-DivDOLDx.css} +9 -9
  84. flowfile/web/static/assets/{ToggleSwitch-9d7b30f1.js → ToggleSwitch-B-6WzfFf.js} +2 -2
  85. flowfile/web/static/assets/{ToggleSwitch.vue_vue_type_script_setup_true_lang-00f2580e.js → ToggleSwitch.vue_vue_type_script_setup_true_lang-Cj8LqT-b.js} +1 -1
  86. flowfile/web/static/assets/{UnavailableFields-b72a2c72.js → UnavailableFields-Yf6XSqFB.js} +2 -3
  87. flowfile/web/static/assets/{Union-1e44f263.js → Union-CwpjeKYC.js} +20 -23
  88. flowfile/web/static/assets/{Unpivot-b6ad6427.css → Union-DQJcpp3-.css} +6 -6
  89. flowfile/web/static/assets/{Unique-a3bc6d0a.js → Unique-25v3urqH.js} +75 -74
  90. flowfile/web/static/assets/{Union-d6a8d7d5.css → Unpivot-Deqh1gtI.css} +6 -6
  91. flowfile/web/static/assets/{Unpivot-e27935fc.js → Unpivot-sYcTTXrq.js} +34 -27
  92. flowfile/web/static/assets/{UnpivotValidation-72497680.js → UnpivotValidation-C5DDEKY2.js} +5 -7
  93. flowfile/web/static/assets/VueGraphicWalker-B8l1_Z92.js +131 -0
  94. flowfile/web/static/assets/VueGraphicWalker-Da_1-3me.css +21 -0
  95. flowfile/web/static/assets/{api-a2102880.js → api-C0LvF-0C.js} +1 -1
  96. flowfile/web/static/assets/{api-f75042b0.js → api-DaC83EO_.js} +1 -1
  97. flowfile/web/static/assets/client-C8Ygr6Gb.js +42 -0
  98. flowfile/web/static/assets/{dropDown-2798a109.js → dropDown-D5YXaPRR.js} +7 -12
  99. flowfile/web/static/assets/{fullEditor-cf7d7d93.js → fullEditor-BVYnWm05.js} +300 -18
  100. flowfile/web/static/assets/genericNodeSettings-2wAu-QKn.css +75 -0
  101. flowfile/web/static/assets/genericNodeSettings-BBtW_Cpz.js +590 -0
  102. flowfile/web/static/assets/{VueGraphicWalker-d9ab70a3.js → graphic-walker.es-VrK6vdGE.js} +92305 -89751
  103. flowfile/web/static/assets/index-BCJxPfM5.js +6693 -0
  104. flowfile/web/static/assets/{index-f0a6e5a5.js → index-CHPMUR0d.js} +150 -170
  105. flowfile/web/static/assets/index-DPkoZWq8.js +32 -0
  106. flowfile/web/static/assets/index-DnW_KC_I.js +277 -0
  107. flowfile/web/static/assets/index-UFXyfirV.css +10797 -0
  108. flowfile/web/static/assets/index-bcuE0Z0p.js +87456 -0
  109. flowfile/web/static/assets/{node.types-2c15bb7e.js → node.types-Dl4gtSW9.js} +2 -2
  110. flowfile/web/static/assets/{outputCsv-3c1757e8.js → outputCsv-BELuBiJZ.js} +2 -3
  111. flowfile/web/static/assets/outputCsv-CdGkv-fN.css +2581 -0
  112. flowfile/web/static/assets/{outputExcel-686e1f48.js → outputExcel-D0TTNM79.js} +1 -2
  113. flowfile/web/static/assets/{outputParquet-df28faa7.js → outputParquet-Cz9EbRHj.js} +1 -2
  114. flowfile/web/static/assets/{readCsv-e37eee21.js → readCsv-7bd3kUMI.js} +1 -2
  115. flowfile/web/static/assets/{readExcel-a13f14bb.js → readExcel-Cq8CCwIv.js} +3 -4
  116. flowfile/web/static/assets/{readParquet-c5244ad5.css → readParquet-CRDmBrsp.css} +4 -4
  117. flowfile/web/static/assets/{readParquet-344cf746.js → readParquet-DjR4mRaj.js} +4 -5
  118. flowfile/web/static/assets/{secrets.api-ae198c5c.js → secrets.api-C9o2KE5V.js} +1 -1
  119. flowfile/web/static/assets/{selectDynamic-6b4b0767.js → selectDynamic-Bl5FVsME.js} +5 -8
  120. flowfile/web/static/assets/useNodeSettings-dMS9zmh_.js +69 -0
  121. flowfile/web/static/assets/{vue-codemirror.esm-31ba0e0b.js → vue-codemirror.esm-CwaYwln0.js} +3469 -3064
  122. flowfile/web/static/assets/{vue-content-loader.es-4469c8ff.js → vue-content-loader.es-CMoRXo7N.js} +3 -3
  123. flowfile/web/static/index.html +2 -3
  124. {flowfile-0.5.4.dist-info → flowfile-0.6.1.dist-info}/METADATA +2 -1
  125. flowfile-0.6.1.dist-info/RECORD +417 -0
  126. {flowfile-0.5.4.dist-info → flowfile-0.6.1.dist-info}/WHEEL +1 -1
  127. flowfile_core/auth/password.py +1 -0
  128. flowfile_core/database/init_db.py +7 -5
  129. flowfile_core/fileExplorer/funcs.py +2 -2
  130. flowfile_core/flowfile/code_generator/code_generator.py +13 -11
  131. flowfile_core/flowfile/filter_expressions.py +327 -0
  132. flowfile_core/flowfile/flow_data_engine/flow_data_engine.py +61 -59
  133. flowfile_core/flowfile/flow_data_engine/flow_file_column/type_registry.py +3 -29
  134. flowfile_core/flowfile/flow_data_engine/flow_file_column/utils.py +45 -14
  135. flowfile_core/flowfile/flow_data_engine/subprocess_operations/models.py +20 -3
  136. flowfile_core/flowfile/flow_data_engine/subprocess_operations/streaming.py +206 -0
  137. flowfile_core/flowfile/flow_data_engine/subprocess_operations/subprocess_operations.py +158 -24
  138. flowfile_core/flowfile/flow_graph.py +504 -190
  139. flowfile_core/flowfile/flow_node/__init__.py +32 -0
  140. flowfile_core/flowfile/flow_node/executor.py +404 -0
  141. flowfile_core/flowfile/flow_node/flow_node.py +207 -106
  142. flowfile_core/flowfile/flow_node/models.py +40 -0
  143. flowfile_core/flowfile/flow_node/output_field_config_applier.py +217 -0
  144. flowfile_core/flowfile/flow_node/schema_utils.py +78 -0
  145. flowfile_core/flowfile/flow_node/state.py +155 -0
  146. flowfile_core/flowfile/history_manager.py +401 -0
  147. flowfile_core/flowfile/manage/compatibility_enhancements.py +9 -0
  148. flowfile_core/flowfile/manage/io_flowfile.py +3 -1
  149. flowfile_core/flowfile/sources/external_sources/sql_source/models.py +20 -4
  150. flowfile_core/flowfile/util/execution_orderer.py +89 -36
  151. flowfile_core/main.py +2 -4
  152. flowfile_core/routes/auth.py +8 -9
  153. flowfile_core/routes/routes.py +320 -101
  154. flowfile_core/routes/user_defined_components.py +18 -16
  155. flowfile_core/schemas/history_schema.py +220 -0
  156. flowfile_core/schemas/input_schema.py +130 -6
  157. flowfile_core/schemas/schemas.py +9 -0
  158. flowfile_core/schemas/transform_schema.py +27 -5
  159. flowfile_core/schemas/yaml_types.py +23 -5
  160. flowfile_frame/adding_expr.py +18 -126
  161. flowfile_frame/callable_utils.py +261 -0
  162. flowfile_frame/database/connection_manager.py +0 -1
  163. flowfile_frame/expr.py +8 -4
  164. flowfile_frame/flow_frame.py +41 -41
  165. flowfile_frame/lazy.py +3 -12
  166. flowfile_frame/lazy_methods.py +5 -64
  167. flowfile_frame/utils.py +13 -32
  168. flowfile_worker/funcs.py +6 -4
  169. flowfile_worker/main.py +2 -0
  170. flowfile_worker/models.py +31 -11
  171. flowfile_worker/routes.py +60 -35
  172. flowfile_worker/spawner.py +7 -1
  173. flowfile_worker/streaming.py +335 -0
  174. flowfile/web/static/assets/ContextMenu-49463352.js +0 -9
  175. flowfile/web/static/assets/ContextMenu-dd5f3f25.js +0 -9
  176. flowfile/web/static/assets/ContextMenu-f709b884.js +0 -9
  177. flowfile/web/static/assets/Join-28b5e18f.css +0 -109
  178. flowfile/web/static/assets/PopOver-862d7e28.js +0 -939
  179. flowfile/web/static/assets/Read-225cc63f.js +0 -222
  180. flowfile/web/static/assets/VueGraphicWalker-430f0b86.css +0 -6
  181. flowfile/web/static/assets/database_reader-ce1e55f3.svg +0 -24
  182. flowfile/web/static/assets/database_writer-b4ad0753.svg +0 -23
  183. flowfile/web/static/assets/element-icons-9c88a535.woff +0 -0
  184. flowfile/web/static/assets/element-icons-de5eb258.ttf +0 -0
  185. flowfile/web/static/assets/genericNodeSettings-14eac1c3.js +0 -137
  186. flowfile/web/static/assets/genericNodeSettings-3b2507ea.css +0 -46
  187. flowfile/web/static/assets/index-387a6f18.js +0 -60752
  188. flowfile/web/static/assets/index-6b367bb5.js +0 -38
  189. flowfile/web/static/assets/index-e96ab018.css +0 -10466
  190. flowfile/web/static/assets/nodeInput-ed2ae8d7.js +0 -2
  191. flowfile/web/static/assets/outputCsv-b9a072af.css +0 -2499
  192. flowfile-0.5.4.dist-info/RECORD +0 -407
  193. /flowfile/web/static/assets/{AdminView-f53bad23.css → AdminView-B2Dthl3u.css} +0 -0
  194. /flowfile/web/static/assets/{CloudConnectionView-cf85f943.css → CloudConnectionView-BdFYGWV7.css} +0 -0
  195. /flowfile/web/static/assets/{ColumnActionInput-c44b7aee.css → ColumnActionInput-dCasSIC9.css} +0 -0
  196. /flowfile/web/static/assets/{ColumnSelector-371637fb.css → ColumnSelector-j6sEOjo1.css} +0 -0
  197. /flowfile/web/static/assets/{CustomNode-edb9b939.css → CustomNode-VPlajG0j.css} +0 -0
  198. /flowfile/web/static/assets/{DatabaseConnectionSettings-c20a1e16.css → DatabaseConnectionSettings-B78hXYgu.css} +0 -0
  199. /flowfile/web/static/assets/{DatabaseView-6655afd6.css → DatabaseView-B-_adk1s.css} +0 -0
  200. /flowfile/web/static/assets/{DocumentationView-9ea6e871.css → DocumentationView-CL7iipFL.css} +0 -0
  201. /flowfile/web/static/assets/{ExploreData-10c5acc8.css → ExploreData-DHjv0Plr.css} +0 -0
  202. /flowfile/web/static/assets/{LoginView-d325d632.css → LoginView-DN1BXY3e.css} +0 -0
  203. /flowfile/web/static/assets/{PivotValidation-0e905b1a.css → PivotValidation-DK-FARWe.css} +0 -0
  204. /flowfile/web/static/assets/{PivotValidation-41b57ad6.css → PivotValidation-FUa9F47u.css} +0 -0
  205. /flowfile/web/static/assets/{PolarsCode-2b1f1f23.css → PolarsCode-G-gRSrSc.css} +0 -0
  206. /flowfile/web/static/assets/{SQLQueryComponent-edb90b98.css → SQLQueryComponent-oAbWw0r-.css} +0 -0
  207. /flowfile/web/static/assets/{SecretSelector-6329f743.css → SecretSelector-CJSadIZx.css} +0 -0
  208. /flowfile/web/static/assets/{SecretsView-aa291340.css → SecretsView-DbzIRAba.css} +0 -0
  209. /flowfile/web/static/assets/{SettingsSection-8f980839.css → SettingsSection-BGcJnH6q.css} +0 -0
  210. /flowfile/web/static/assets/{SettingsSection-07fbbc39.css → SettingsSection-DDWn_EGW.css} +0 -0
  211. /flowfile/web/static/assets/{SliderInput-f2e4f23c.css → SliderInput-BRk-q_Dk.css} +0 -0
  212. /flowfile/web/static/assets/{UnavailableFields-394a1f78.css → UnavailableFields-DRKDImKe.css} +0 -0
  213. /flowfile/web/static/assets/{Unique-2b705521.css → Unique-Absb0aON.css} +0 -0
  214. /flowfile/web/static/assets/{UnpivotValidation-d5ca3b7b.css → UnpivotValidation-DSBkFgS-.css} +0 -0
  215. /flowfile/web/static/assets/{airbyte-292aa232.png → airbyte-W0xvIXwZ.png} +0 -0
  216. /flowfile/web/static/assets/{cloud_storage_reader-aa1415d6.png → cloud_storage_reader-3GpSCk90.png} +0 -0
  217. /flowfile/web/static/assets/{cross_join-d30c0290.png → cross_join-B0qpgYoV.png} +0 -0
  218. /flowfile/web/static/assets/{dropDown-1d6acbd9.css → dropDown-CE0VF5_P.css} +0 -0
  219. /flowfile/web/static/assets/{explore_data-8a0a2861.png → explore_data-tX6olPPL.png} +0 -0
  220. /flowfile/web/static/assets/{fa-brands-400-808443ae.ttf → fa-brands-400-D1LuMI3I.ttf} +0 -0
  221. /flowfile/web/static/assets/{fa-brands-400-d7236a19.woff2 → fa-brands-400-D_cYUPeE.woff2} +0 -0
  222. /flowfile/web/static/assets/{fa-regular-400-e3456d12.woff2 → fa-regular-400-BjRzuEpd.woff2} +0 -0
  223. /flowfile/web/static/assets/{fa-regular-400-54cf6086.ttf → fa-regular-400-DZaxPHgR.ttf} +0 -0
  224. /flowfile/web/static/assets/{fa-solid-900-aa759986.woff2 → fa-solid-900-CTAAxXor.woff2} +0 -0
  225. /flowfile/web/static/assets/{fa-solid-900-d2f05935.ttf → fa-solid-900-D0aA9rwL.ttf} +0 -0
  226. /flowfile/web/static/assets/{fa-v4compatibility-0ce9033c.woff2 → fa-v4compatibility-C9RhG_FT.woff2} +0 -0
  227. /flowfile/web/static/assets/{fa-v4compatibility-30f6abf6.ttf → fa-v4compatibility-CCth-dXg.ttf} +0 -0
  228. /flowfile/web/static/assets/{filter-d7708bda.png → filter-WRdZyUOw.png} +0 -0
  229. /flowfile/web/static/assets/{formula-eeeb1611.png → formula-CgM7uHVI.png} +0 -0
  230. /flowfile/web/static/assets/{fullEditor-fe9f7e18.css → fullEditor-CmDI7T9F.css} +0 -0
  231. /flowfile/web/static/assets/{fuzzy_match-40c161b2.png → fuzzy_match-Yon3k5Tc.png} +0 -0
  232. /flowfile/web/static/assets/{graph_solver-8b7888b8.png → graph_solver-BlMrBttD.png} +0 -0
  233. /flowfile/web/static/assets/{group_by-80561fc3.png → group_by-Gici0CSS.png} +0 -0
  234. /flowfile/web/static/assets/{input_data-ab2eb678.png → input_data-BRdGecLc.png} +0 -0
  235. /flowfile/web/static/assets/{join-349043ae.png → join-BITWRu73.png} +0 -0
  236. /flowfile/web/static/assets/{manual_input-ae98f31d.png → manual_input-CFvo_EUS.png} +0 -0
  237. /flowfile/web/static/assets/{old_join-5d0eb604.png → old_join-B9bkpPqv.png} +0 -0
  238. /flowfile/web/static/assets/{output-06ec0371.png → output-Dp7-ZpC4.png} +0 -0
  239. /flowfile/web/static/assets/{outputExcel-f5d272b2.css → outputExcel-CKgRe2iT.css} +0 -0
  240. /flowfile/web/static/assets/{outputParquet-54597c3c.css → outputParquet-d7j407cK.css} +0 -0
  241. /flowfile/web/static/assets/{pivot-9660df51.png → pivot-DSxKhNlD.png} +0 -0
  242. /flowfile/web/static/assets/{polars_code-05ce5dc6.png → polars_code-DxiztZ1c.png} +0 -0
  243. /flowfile/web/static/assets/{readCsv-3bfac4c3.css → readCsv-BG-1Jilp.css} +0 -0
  244. /flowfile/web/static/assets/{readExcel-3db6b763.css → readExcel-DBQXKPtC.css} +0 -0
  245. /flowfile/web/static/assets/{record_count-dab44eb5.png → record_count-DCeaLtpS.png} +0 -0
  246. /flowfile/web/static/assets/{record_id-0b15856b.png → record_id-FeUjyIFh.png} +0 -0
  247. /flowfile/web/static/assets/{sample-693a88b5.png → sample-DeqfRiB-.png} +0 -0
  248. /flowfile/web/static/assets/{select-b0d0437a.png → select-D4JjbdjS.png} +0 -0
  249. /flowfile/web/static/assets/{selectDynamic-f2fb394f.css → selectDynamic-CjeTPUUo.css} +0 -0
  250. /flowfile/web/static/assets/{sort-2aa579f0.png → sort-DGwUG9WS.png} +0 -0
  251. /flowfile/web/static/assets/{summarize-2a099231.png → summarize-DFaNHpfp.png} +0 -0
  252. /flowfile/web/static/assets/{text_to_rows-859b29ea.png → text_to_rows-BdiAewrN.png} +0 -0
  253. /flowfile/web/static/assets/{union-2d8609f4.png → union-DCK-LSMq.png} +0 -0
  254. /flowfile/web/static/assets/{unique-1958b98a.png → unique-CdP3zZIq.png} +0 -0
  255. /flowfile/web/static/assets/{unpivot-d3cb4b5b.png → unpivot-CHttrEt8.png} +0 -0
  256. /flowfile/web/static/assets/{user-defined-icon-0ae16c90.png → user-defined-icon-BcIp2Vzo.png} +0 -0
  257. /flowfile/web/static/assets/{view-7a0f0be1.png → view-DUSRwjvq.png} +0 -0
  258. {flowfile-0.5.4.dist-info → flowfile-0.6.1.dist-info}/entry_points.txt +0 -0
  259. {flowfile-0.5.4.dist-info → flowfile-0.6.1.dist-info}/licenses/LICENSE +0 -0
@@ -1,5 +1,5 @@
1
- import { P as PopOver } from "./PopOver-862d7e28.js";
2
- import { d as defineComponent, o as openBlock, y as createBlock, q as withCtx, a as createBaseVNode, t as toDisplayString, g as _export_sfc } from "./index-387a6f18.js";
1
+ import { P as PopOver } from "./PopOver-BHpt5rsj.js";
2
+ import { d as defineComponent, C as createBlock, B as withCtx, a as createBaseVNode, t as toDisplayString, o as openBlock, g as _export_sfc } from "./index-bcuE0Z0p.js";
3
3
  const _hoisted_1 = { class: "icon-wrapper" };
4
4
  const _hoisted_2 = { class: "unavailable-icon" };
5
5
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -29,7 +29,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
29
29
  };
30
30
  }
31
31
  });
32
- const UnavailableFields_vue_vue_type_style_index_0_scoped_ef412494_lang = "";
33
32
  const unavailableField = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-ef412494"]]);
34
33
  export {
35
34
  unavailableField as u
@@ -1,9 +1,6 @@
1
- import { u as useNodeStore } from "./PopOver-862d7e28.js";
2
- import { d as defineComponent, r as ref, F as onMounted, Z as nextTick, l as onUnmounted, o as openBlock, c as createElementBlock, p as createVNode, q as withCtx, f as createTextVNode, e as createCommentVNode, g as _export_sfc } from "./index-387a6f18.js";
3
- import { G as GenericNodeSettings } from "./genericNodeSettings-14eac1c3.js";
4
- import "./DesignerView-f64749fb.js";
5
- import "./index-f0a6e5a5.js";
6
- import "./vue-codemirror.esm-31ba0e0b.js";
1
+ import { d as defineComponent, l as useNodeStore, J as onMounted, a1 as nextTick, x as onUnmounted, c as createElementBlock, z as createVNode, B as withCtx, f as createTextVNode, A as unref, e as createCommentVNode, r as ref, o as openBlock, g as _export_sfc } from "./index-bcuE0Z0p.js";
2
+ import { u as useNodeSettings } from "./useNodeSettings-dMS9zmh_.js";
3
+ import { G as GenericNodeSettings } from "./genericNodeSettings-BBtW_Cpz.js";
7
4
  const _hoisted_1 = {
8
5
  key: 0,
9
6
  class: "listbox-wrapper"
@@ -17,6 +14,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
17
14
  const nodeData = ref(null);
18
15
  const unionInput = ref({ mode: "relaxed" });
19
16
  const nodeUnion = ref(null);
17
+ const { saveSettings, pushNodeData, handleGenericSettingsUpdate } = useNodeSettings({
18
+ nodeRef: nodeUnion
19
+ });
20
20
  const loadNodeData = async (nodeId) => {
21
21
  var _a;
22
22
  console.log("loadNodeData from union ");
@@ -36,18 +36,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
36
36
  };
37
37
  const handleClickOutside = (event) => {
38
38
  const targetEvent = event.target;
39
- if (targetEvent.id === "pivot-context-menu")
40
- return;
39
+ if (targetEvent.id === "pivot-context-menu") return;
41
40
  showContextMenu.value = false;
42
41
  };
43
- const pushNodeData = async () => {
44
- if (unionInput.value) {
45
- nodeStore.updateSettings(nodeUnion);
46
- }
47
- };
48
42
  __expose({
49
43
  loadNodeData,
50
- pushNodeData
44
+ pushNodeData,
45
+ saveSettings
51
46
  });
52
47
  onMounted(async () => {
53
48
  await nextTick();
@@ -60,20 +55,22 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
60
55
  return dataLoaded.value && nodeUnion.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
61
56
  createVNode(GenericNodeSettings, {
62
57
  modelValue: nodeUnion.value,
63
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => nodeUnion.value = $event)
58
+ "onUpdate:modelValue": [
59
+ _cache[0] || (_cache[0] = ($event) => nodeUnion.value = $event),
60
+ unref(handleGenericSettingsUpdate)
61
+ ],
62
+ onRequestSave: unref(saveSettings)
64
63
  }, {
65
- default: withCtx(() => _cache[1] || (_cache[1] = [
66
- createTextVNode(" 'Union multiple tables into one table, this node does not have settings' ")
67
- ])),
68
- _: 1,
69
- __: [1]
70
- }, 8, ["modelValue"])
64
+ default: withCtx(() => [..._cache[1] || (_cache[1] = [
65
+ createTextVNode(" 'Union multiple tables into one table, this node does not have settings' ", -1)
66
+ ])]),
67
+ _: 1
68
+ }, 8, ["modelValue", "onUpdate:modelValue", "onRequestSave"])
71
69
  ])) : createCommentVNode("", true);
72
70
  };
73
71
  }
74
72
  });
75
- const Union_vue_vue_type_style_index_0_scoped_424387d2_lang = "";
76
- const Union = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-424387d2"]]);
73
+ const Union = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-2380ae5e"]]);
77
74
  export {
78
75
  Union as default
79
76
  };
@@ -1,5 +1,5 @@
1
1
 
2
- .context-menu[data-v-844381ed] {
2
+ .context-menu[data-v-2380ae5e] {
3
3
  position: fixed;
4
4
  z-index: 1000;
5
5
  border: 1px solid #ccc;
@@ -8,23 +8,23 @@
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-844381ed] {
11
+ .context-menu ul[data-v-2380ae5e] {
12
12
  list-style: none;
13
13
  padding: 0;
14
14
  margin: 0;
15
15
  }
16
- .context-menu li[data-v-844381ed] {
16
+ .context-menu li[data-v-2380ae5e] {
17
17
  padding: 8px 16px;
18
18
  cursor: pointer;
19
19
  }
20
- .context-menu li[data-v-844381ed]:hover {
20
+ .context-menu li[data-v-2380ae5e]:hover {
21
21
  background-color: #f0f0f0;
22
22
  }
23
- .switch-container[data-v-844381ed] {
23
+ .switch-container[data-v-2380ae5e] {
24
24
  display: flex;
25
25
  align-items: center;
26
26
  margin: 12px;
27
27
  }
28
- .switch-container span[data-v-844381ed] {
28
+ .switch-container span[data-v-2380ae5e] {
29
29
  margin-right: 10px;
30
30
  }
@@ -1,14 +1,11 @@
1
- import "./nodeInput-ed2ae8d7.js";
2
- import { C as CodeLoader } from "./vue-content-loader.es-4469c8ff.js";
3
- import { u as useNodeStore } from "./PopOver-862d7e28.js";
4
- import { d as defineComponent, r as ref, B as computed, F as onMounted, Z as nextTick, l as onUnmounted, o as openBlock, c as createElementBlock, p as createVNode, q as withCtx, y as createBlock, x as unref, g as _export_sfc } from "./index-387a6f18.js";
5
- import { s as selectDynamic } from "./selectDynamic-6b4b0767.js";
6
- import { G as GenericNodeSettings } from "./genericNodeSettings-14eac1c3.js";
7
- import { h as createSelectInputFromName } from "./node.types-2c15bb7e.js";
8
- import "./UnavailableFields-b72a2c72.js";
9
- import "./DesignerView-f64749fb.js";
10
- import "./index-f0a6e5a5.js";
11
- import "./vue-codemirror.esm-31ba0e0b.js";
1
+ import { h as createSelectInputFromName } from "./node.types-Dl4gtSW9.js";
2
+ import { C as CodeLoader } from "./vue-content-loader.es-CMoRXo7N.js";
3
+ 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 unref, C as createBlock, r as ref, o as openBlock, G as computed, g as _export_sfc } from "./index-bcuE0Z0p.js";
4
+ import { u as useNodeSettings } from "./useNodeSettings-dMS9zmh_.js";
5
+ import { s as selectDynamic } from "./selectDynamic-Bl5FVsME.js";
6
+ import { G as GenericNodeSettings } from "./genericNodeSettings-BBtW_Cpz.js";
7
+ import "./UnavailableFields-Yf6XSqFB.js";
8
+ import "./PopOver-BHpt5rsj.js";
12
9
  const _hoisted_1 = {
13
10
  key: 0,
14
11
  class: "listbox-wrapper"
@@ -29,51 +26,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
29
26
  columns: [],
30
27
  strategy: "any"
31
28
  });
32
- const loadSelection = (nodeData2, columnsToKeep) => {
33
- var _a;
34
- if ((_a = nodeData2.main_input) == null ? void 0 : _a.columns) {
35
- selection.value = nodeData2.main_input.columns.map((column) => {
36
- const keep = columnsToKeep.includes(column);
37
- return createSelectInputFromName(column, keep);
38
- });
39
- }
40
- };
41
- const loadData = async (nodeId) => {
42
- var _a;
43
- nodeData.value = await nodeStore.getNodeData(nodeId, false);
44
- nodeUnique.value = (_a = nodeData.value) == null ? void 0 : _a.setting_input;
45
- dataLoaded.value = true;
46
- if (nodeData.value) {
47
- if (nodeUnique.value) {
48
- if (nodeUnique.value.unique_input) {
49
- uniqueInput.value = nodeUnique.value.unique_input;
50
- } else {
51
- nodeUnique.value.unique_input = uniqueInput.value;
52
- }
53
- loadSelection(nodeData.value, uniqueInput.value.columns);
54
- }
55
- }
56
- };
57
- const calculateSelects = (updatedInputs) => {
58
- console.log(updatedInputs);
59
- selection.value = updatedInputs;
60
- uniqueInput.value.columns = updatedInputs.filter((input) => input.keep).map((input) => input.old_name);
61
- };
62
- const setUniqueColumns = () => {
63
- uniqueInput.value.columns = selection.value.filter((input) => input.keep).map((input) => input.old_name);
64
- };
65
- const loadNodeData = async (nodeId) => {
66
- loadData(nodeId);
67
- dataLoaded.value = true;
68
- };
69
- const handleClickOutside = (event) => {
70
- var _a;
71
- if (!((_a = contextMenuRef.value) == null ? void 0 : _a.contains(event.target))) {
72
- showContextMenu.value = false;
73
- contextMenuColumn.value = null;
74
- showContextMenuRemove.value = false;
75
- }
76
- };
77
29
  const getMissingColumns = (availableColumns, usedColumns) => {
78
30
  const availableSet = new Set(availableColumns);
79
31
  return Array.from(new Set(usedColumns.filter((usedColumn) => !availableSet.has(usedColumn))));
@@ -92,6 +44,22 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
92
44
  }
93
45
  return [];
94
46
  };
47
+ const loadData = async (nodeId) => {
48
+ var _a;
49
+ nodeData.value = await nodeStore.getNodeData(nodeId, false);
50
+ nodeUnique.value = (_a = nodeData.value) == null ? void 0 : _a.setting_input;
51
+ dataLoaded.value = true;
52
+ if (nodeData.value) {
53
+ if (nodeUnique.value) {
54
+ if (nodeUnique.value.unique_input) {
55
+ uniqueInput.value = nodeUnique.value.unique_input;
56
+ } else {
57
+ nodeUnique.value.unique_input = uniqueInput.value;
58
+ }
59
+ loadSelection(nodeData.value, uniqueInput.value.columns);
60
+ }
61
+ }
62
+ };
95
63
  const validateNode = async () => {
96
64
  var _a, _b;
97
65
  if ((_a = nodeUnique.value) == null ? void 0 : _a.unique_input) {
@@ -134,25 +102,55 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
134
102
  });
135
103
  }
136
104
  };
137
- const pushNodeData = async () => {
138
- var _a, _b, _c, _d;
139
- dataLoaded.value = false;
140
- setUniqueColumns();
141
- console.log("doing this");
142
- console.log((_a = nodeUnique.value) == null ? void 0 : _a.is_setup);
143
- console.log(nodeUnique.value);
144
- if ((_b = nodeUnique.value) == null ? void 0 : _b.is_setup) {
145
- nodeUnique.value.is_setup = true;
105
+ const setUniqueColumns = () => {
106
+ uniqueInput.value.columns = selection.value.filter((input) => input.keep).map((input) => input.old_name);
107
+ };
108
+ const { saveSettings, pushNodeData, handleGenericSettingsUpdate } = useNodeSettings({
109
+ nodeRef: nodeUnique,
110
+ onBeforeSave: () => {
111
+ setUniqueColumns();
112
+ return true;
113
+ },
114
+ onAfterSave: async () => {
115
+ await instantValidate();
116
+ },
117
+ getValidationFunc: () => {
118
+ var _a;
119
+ if ((_a = nodeUnique.value) == null ? void 0 : _a.unique_input) {
120
+ return validateNode;
121
+ }
122
+ return void 0;
123
+ }
124
+ });
125
+ const loadSelection = (nodeData2, columnsToKeep) => {
126
+ var _a;
127
+ if ((_a = nodeData2.main_input) == null ? void 0 : _a.columns) {
128
+ selection.value = nodeData2.main_input.columns.map((column) => {
129
+ const keep = columnsToKeep.includes(column);
130
+ return createSelectInputFromName(column, keep);
131
+ });
146
132
  }
147
- nodeStore.updateSettings(nodeUnique);
148
- await instantValidate();
149
- if ((_c = nodeUnique.value) == null ? void 0 : _c.unique_input) {
150
- nodeStore.setNodeValidateFunc((_d = nodeUnique.value) == null ? void 0 : _d.node_id, validateNode);
133
+ };
134
+ const calculateSelects = (updatedInputs) => {
135
+ selection.value = updatedInputs;
136
+ uniqueInput.value.columns = updatedInputs.filter((input) => input.keep).map((input) => input.old_name);
137
+ };
138
+ const loadNodeData = async (nodeId) => {
139
+ loadData(nodeId);
140
+ dataLoaded.value = true;
141
+ };
142
+ const handleClickOutside = (event) => {
143
+ var _a;
144
+ if (!((_a = contextMenuRef.value) == null ? void 0 : _a.contains(event.target))) {
145
+ showContextMenu.value = false;
146
+ contextMenuColumn.value = null;
147
+ showContextMenuRemove.value = false;
151
148
  }
152
149
  };
153
150
  __expose({
154
151
  loadNodeData,
155
- pushNodeData
152
+ pushNodeData,
153
+ saveSettings
156
154
  });
157
155
  onMounted(async () => {
158
156
  await nextTick();
@@ -165,7 +163,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
165
163
  return dataLoaded.value && nodeUnique.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
166
164
  createVNode(GenericNodeSettings, {
167
165
  modelValue: nodeUnique.value,
168
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => nodeUnique.value = $event)
166
+ "onUpdate:modelValue": [
167
+ _cache[0] || (_cache[0] = ($event) => nodeUnique.value = $event),
168
+ unref(handleGenericSettingsUpdate)
169
+ ],
170
+ onRequestSave: unref(saveSettings)
169
171
  }, {
170
172
  default: withCtx(() => [
171
173
  createVNode(selectDynamic, {
@@ -183,13 +185,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
183
185
  }, null, 8, ["select-inputs"])
184
186
  ]),
185
187
  _: 1
186
- }, 8, ["modelValue"])
188
+ }, 8, ["modelValue", "onUpdate:modelValue", "onRequestSave"])
187
189
  ])) : (openBlock(), createBlock(unref(CodeLoader), { key: 1 }));
188
190
  };
189
191
  }
190
192
  });
191
- const Unique_vue_vue_type_style_index_0_scoped_7bd32dd9_lang = "";
192
- const Unique = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-7bd32dd9"]]);
193
+ const Unique = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-962dc284"]]);
193
194
  export {
194
195
  Unique as default
195
196
  };
@@ -1,5 +1,5 @@
1
1
 
2
- .context-menu[data-v-424387d2] {
2
+ .context-menu[data-v-531e69c7] {
3
3
  position: fixed;
4
4
  z-index: 1000;
5
5
  border: 1px solid #ccc;
@@ -8,23 +8,23 @@
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-424387d2] {
11
+ .context-menu ul[data-v-531e69c7] {
12
12
  list-style: none;
13
13
  padding: 0;
14
14
  margin: 0;
15
15
  }
16
- .context-menu li[data-v-424387d2] {
16
+ .context-menu li[data-v-531e69c7] {
17
17
  padding: 8px 16px;
18
18
  cursor: pointer;
19
19
  }
20
- .context-menu li[data-v-424387d2]:hover {
20
+ .context-menu li[data-v-531e69c7]:hover {
21
21
  background-color: #f0f0f0;
22
22
  }
23
- .switch-container[data-v-424387d2] {
23
+ .switch-container[data-v-531e69c7] {
24
24
  display: flex;
25
25
  align-items: center;
26
26
  margin: 12px;
27
27
  }
28
- .switch-container span[data-v-424387d2] {
28
+ .switch-container span[data-v-531e69c7] {
29
29
  margin-right: 10px;
30
30
  }
@@ -1,11 +1,12 @@
1
- import { d as defineComponent, r as ref, F as onMounted, Z as nextTick, l as onUnmounted, m as resolveComponent, o as openBlock, c as createElementBlock, p as createVNode, q as withCtx, a as createBaseVNode, G as Fragment, H as renderList, n as normalizeClass, w as withModifiers, t as toDisplayString, y as createBlock, e as createCommentVNode, g as _export_sfc } from "./index-387a6f18.js";
2
- import { u as useNodeStore } from "./PopOver-862d7e28.js";
3
- import "./DesignerView-f64749fb.js";
4
- import { _ as _sfc_main$1 } from "./ContextMenu.vue_vue_type_script_setup_true_lang-a1bd6314.js";
5
- import SettingsSection from "./SettingsSection-83090218.js";
6
- import { G as GenericNodeSettings } from "./genericNodeSettings-14eac1c3.js";
7
- import "./index-f0a6e5a5.js";
8
- import "./vue-codemirror.esm-31ba0e0b.js";
1
+ import { d as defineComponent, l as useNodeStore, J as onMounted, a1 as nextTick, x as onUnmounted, c as createElementBlock, z as createVNode, B as withCtx, a as createBaseVNode, K as Fragment, L as renderList, w as withModifiers, n as normalizeClass, t as toDisplayString, C as createBlock, e as createCommentVNode, A as unref, r as ref, D as resolveComponent, o as openBlock, 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-BiCc7S9h.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"
@@ -25,6 +26,21 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
25
26
  __name: "Unpivot",
26
27
  setup(__props, { expose: __expose }) {
27
28
  const nodeStore = useNodeStore();
29
+ const nodeUnpivot = ref(null);
30
+ const { saveSettings, pushNodeData, handleGenericSettingsUpdate } = useNodeSettings({
31
+ nodeRef: nodeUnpivot,
32
+ onBeforeSave: () => {
33
+ if (unpivotInput.value) {
34
+ if (unpivotInput.value.data_type_selector_mode === "data_type") {
35
+ unpivotInput.value.value_columns = [];
36
+ } else {
37
+ unpivotInput.value.data_type_selector = null;
38
+ }
39
+ nodeUnpivot.value.unpivot_input = unpivotInput.value;
40
+ }
41
+ return true;
42
+ }
43
+ });
28
44
  const showContextMenu = ref(false);
29
45
  const dataLoaded = ref(false);
30
46
  const contextMenuPosition = ref({ x: 0, y: 0 });
@@ -40,7 +56,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
40
56
  data_type_selector: null,
41
57
  data_type_selector_mode: "column"
42
58
  });
43
- const nodeUnpivot = ref(null);
44
59
  const getColumnClass = (columnName) => {
45
60
  return selectedColumns.value.includes(columnName) ? "is-selected" : "";
46
61
  };
@@ -147,27 +162,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
147
162
  };
148
163
  const handleClickOutside = (event) => {
149
164
  const targetEvent = event.target;
150
- if (targetEvent.id === "pivot-context-menu")
151
- return;
165
+ if (targetEvent.id === "pivot-context-menu") return;
152
166
  showContextMenu.value = false;
153
167
  };
154
168
  const closeContextMenu = () => {
155
169
  showContextMenu.value = false;
156
170
  };
157
- const pushNodeData = async () => {
158
- if (unpivotInput.value) {
159
- if (unpivotInput.value.data_type_selector_mode === "data_type") {
160
- unpivotInput.value.value_columns = [];
161
- } else {
162
- unpivotInput.value.data_type_selector = null;
163
- }
164
- nodeUnpivot.value.unpivot_input = unpivotInput.value;
165
- nodeStore.updateSettings(nodeUnpivot);
166
- }
167
- };
168
171
  __expose({
169
172
  loadNodeData,
170
- pushNodeData
173
+ pushNodeData,
174
+ saveSettings
171
175
  });
172
176
  onMounted(async () => {
173
177
  await nextTick();
@@ -183,7 +187,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
183
187
  return dataLoaded.value && nodeUnpivot.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
184
188
  createVNode(GenericNodeSettings, {
185
189
  modelValue: nodeUnpivot.value,
186
- "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => nodeUnpivot.value = $event)
190
+ "onUpdate:modelValue": [
191
+ _cache[9] || (_cache[9] = ($event) => nodeUnpivot.value = $event),
192
+ unref(handleGenericSettingsUpdate)
193
+ ],
194
+ onRequestSave: unref(saveSettings)
187
195
  }, {
188
196
  default: withCtx(() => {
189
197
  var _a, _b;
@@ -277,13 +285,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
277
285
  ];
278
286
  }),
279
287
  _: 1
280
- }, 8, ["modelValue"])
288
+ }, 8, ["modelValue", "onUpdate:modelValue", "onRequestSave"])
281
289
  ])) : createCommentVNode("", true);
282
290
  };
283
291
  }
284
292
  });
285
- const Unpivot_vue_vue_type_style_index_0_scoped_844381ed_lang = "";
286
- const Unpivot = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-844381ed"]]);
293
+ const Unpivot = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-531e69c7"]]);
287
294
  export {
288
295
  Unpivot as default
289
296
  };
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, B as computed, o as openBlock, y as createBlock, q as withCtx, p as createVNode, a as createBaseVNode, x as unref, at as ElIcon, c as createElementBlock, e as createCommentVNode, ax as ElPopover, g as _export_sfc } from "./index-387a6f18.js";
1
+ import { d as defineComponent, C as createBlock, B as withCtx, a as createBaseVNode, c as createElementBlock, e as createCommentVNode, z as createVNode, A as unref, aC as ElIcon, aK as ElPopover, G as computed, o as openBlock, g as _export_sfc } from "./index-bcuE0Z0p.js";
2
2
  const _hoisted_1 = { class: "validation-wrapper" };
3
3
  const _hoisted_2 = {
4
4
  key: 0,
@@ -27,16 +27,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
27
27
  color: "#FF6B6B",
28
28
  class: "warning-icon"
29
29
  }, {
30
- default: withCtx(() => _cache[0] || (_cache[0] = [
30
+ default: withCtx(() => [..._cache[0] || (_cache[0] = [
31
31
  createBaseVNode("i", { class: "el-icon-warning" }, null, -1)
32
- ])),
33
- _: 1,
34
- __: [0]
32
+ ])]),
33
+ _: 1
35
34
  })
36
35
  ]),
37
36
  default: withCtx(() => [
38
37
  createBaseVNode("div", _hoisted_1, [
39
- !_ctx.unpivotInput.index_columns ? (openBlock(), createElementBlock("p", _hoisted_2, "Index Column cannot be empty.")) : createCommentVNode("", true)
38
+ !__props.unpivotInput.index_columns ? (openBlock(), createElementBlock("p", _hoisted_2, "Index Column cannot be empty.")) : createCommentVNode("", true)
40
39
  ])
41
40
  ]),
42
41
  _: 1
@@ -44,7 +43,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
44
43
  };
45
44
  }
46
45
  });
47
- const UnpivotValidation_vue_vue_type_style_index_0_scoped_de7ac2a5_lang = "";
48
46
  const UnpivotValidation = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-de7ac2a5"]]);
49
47
  export {
50
48
  UnpivotValidation as default
@@ -0,0 +1,131 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-DPkoZWq8.js","assets/index-bcuE0Z0p.js","assets/index-UFXyfirV.css","assets/index-DnW_KC_I.js","assets/client-C8Ygr6Gb.js","assets/index-BCJxPfM5.js","assets/graphic-walker.es-VrK6vdGE.js"])))=>i.map(i=>d[i]);
2
+ import { d as defineComponent, J as onMounted, al as __vitePreload, x as onUnmounted, c as createElementBlock, t as toDisplayString, e as createCommentVNode, h as withDirectives, at as vShow, a as createBaseVNode, r as ref, aB as toRaw, o as openBlock, g as _export_sfc } from "./index-bcuE0Z0p.js";
3
+ const _hoisted_1 = { class: "gw-wrapper" };
4
+ const _hoisted_2 = {
5
+ key: 0,
6
+ class: "loading"
7
+ };
8
+ const _hoisted_3 = {
9
+ key: 1,
10
+ class: "error"
11
+ };
12
+ const _sfc_main = /* @__PURE__ */ defineComponent({
13
+ __name: "VueGraphicWalker",
14
+ props: {
15
+ data: {},
16
+ fields: {},
17
+ specList: {},
18
+ appearance: {},
19
+ themeKey: {}
20
+ },
21
+ setup(__props, { expose: __expose }) {
22
+ const props = __props;
23
+ const container = ref(null);
24
+ const isLoading = ref(true);
25
+ const loadError = ref(null);
26
+ let reactRootInstance = null;
27
+ let React = null;
28
+ let ReactDOMClient = null;
29
+ let GraphicWalker = null;
30
+ const internalStoreRef = ref({ current: null });
31
+ const dummyComputation = async () => {
32
+ console.warn(
33
+ "Dummy computation function called. This should not happen when providing local data."
34
+ );
35
+ return [];
36
+ };
37
+ const getReactProps = () => {
38
+ const chartSpecArray = props.specList ? toRaw(props.specList) : [];
39
+ const reactProps = {
40
+ data: props.data ? toRaw(props.data) : void 0,
41
+ fields: props.fields ? toRaw(props.fields) : void 0,
42
+ appearance: props.appearance || "light",
43
+ themeKey: props.themeKey,
44
+ storeRef: internalStoreRef.value,
45
+ ...chartSpecArray.length > 0 && { chart: chartSpecArray },
46
+ computation: dummyComputation
47
+ };
48
+ Object.keys(reactProps).forEach((key) => {
49
+ if (reactProps[key] === void 0) {
50
+ delete reactProps[key];
51
+ }
52
+ });
53
+ return reactProps;
54
+ };
55
+ onMounted(async () => {
56
+ if (!container.value) {
57
+ console.error("[VueGW] Container element not found for mounting.");
58
+ loadError.value = "Container not found";
59
+ isLoading.value = false;
60
+ return;
61
+ }
62
+ try {
63
+ const [reactModule, reactDomModule, gwModule] = await Promise.all([
64
+ __vitePreload(() => import("./index-DPkoZWq8.js").then((n) => n.t), true ? __vite__mapDeps([0,1,2,3]) : void 0),
65
+ __vitePreload(() => import("./client-C8Ygr6Gb.js").then((n) => n.c), true ? __vite__mapDeps([4,1,2,5,3]) : void 0),
66
+ __vitePreload(() => import("./graphic-walker.es-VrK6vdGE.js"), true ? __vite__mapDeps([6,0,1,2,3,5]) : void 0)
67
+ ]);
68
+ React = reactModule.default;
69
+ ReactDOMClient = reactDomModule;
70
+ GraphicWalker = gwModule.GraphicWalker;
71
+ reactRootInstance = ReactDOMClient.createRoot(container.value);
72
+ const componentProps = getReactProps();
73
+ reactRootInstance.render(React.createElement(GraphicWalker, componentProps));
74
+ isLoading.value = false;
75
+ } catch (e) {
76
+ console.error("[VueGW] Error mounting GraphicWalker:", e);
77
+ loadError.value = e instanceof Error ? e.message : "Failed to load";
78
+ isLoading.value = false;
79
+ }
80
+ });
81
+ onUnmounted(() => {
82
+ if (reactRootInstance) {
83
+ reactRootInstance.unmount();
84
+ reactRootInstance = null;
85
+ }
86
+ });
87
+ const exportCode = async () => {
88
+ var _a;
89
+ const storeInstance = (_a = internalStoreRef.value) == null ? void 0 : _a.current;
90
+ if (!storeInstance) {
91
+ console.error(
92
+ "[VueGW] Cannot export code: Store instance is not available.",
93
+ internalStoreRef.value
94
+ );
95
+ return null;
96
+ }
97
+ if (typeof storeInstance.exportCode !== "function") {
98
+ console.error(
99
+ "[VueGW] Cannot export code: 'exportCode' method not found on store instance.",
100
+ storeInstance
101
+ );
102
+ return null;
103
+ }
104
+ try {
105
+ const result = await storeInstance.exportCode();
106
+ return result ?? [];
107
+ } catch (error) {
108
+ console.error("[VueGW] Error during exportCode execution:", error);
109
+ return null;
110
+ }
111
+ };
112
+ __expose({
113
+ exportCode
114
+ });
115
+ return (_ctx, _cache) => {
116
+ return openBlock(), createElementBlock("div", _hoisted_1, [
117
+ isLoading.value ? (openBlock(), createElementBlock("div", _hoisted_2, "Loading visualization...")) : loadError.value ? (openBlock(), createElementBlock("div", _hoisted_3, toDisplayString(loadError.value), 1)) : createCommentVNode("", true),
118
+ withDirectives(createBaseVNode("div", {
119
+ ref_key: "container",
120
+ ref: container
121
+ }, null, 512), [
122
+ [vShow, !isLoading.value && !loadError.value]
123
+ ])
124
+ ]);
125
+ };
126
+ }
127
+ });
128
+ const VueGraphicWalker = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-503e510b"]]);
129
+ export {
130
+ VueGraphicWalker as default
131
+ };
@@ -0,0 +1,21 @@
1
+
2
+ .gw-wrapper[data-v-503e510b] {
3
+ width: 100%;
4
+ min-height: 500px;
5
+ height: 100%;
6
+ }
7
+ .gw-wrapper > div[data-v-503e510b] {
8
+ width: 100%;
9
+ height: 100%;
10
+ }
11
+ .loading[data-v-503e510b],
12
+ .error[data-v-503e510b] {
13
+ display: flex;
14
+ align-items: center;
15
+ justify-content: center;
16
+ height: 100%;
17
+ color: var(--el-text-color-secondary, #909399);
18
+ }
19
+ .error[data-v-503e510b] {
20
+ color: var(--el-color-danger, #f56c6c);
21
+ }
@@ -1,4 +1,4 @@
1
- import { k as axios } from "./index-387a6f18.js";
1
+ import { k as axios } from "./index-bcuE0Z0p.js";
2
2
  const API_BASE_URL = "/db_connection_lib";
3
3
  const toPythonFormat = (connection) => {
4
4
  return {