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,9 +1,6 @@
1
- import { d as defineComponent, l as useNodeStore, r as ref, 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, f as createTextVNode, i as withDirectives, v as vModelText, e as createCommentVNode } from "./index-ca6799de.js";
2
- import { G as GenericNodeSettings } from "./genericNodeSettings-0155288b.js";
3
- import "./DesignerView-a4466dab.js";
4
- import "./PopOver-ddcfe4f6.js";
5
- import "./index-057d770d.js";
6
- 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, f as createTextVNode, h as withDirectives, v as vModelText, A as unref, e as createCommentVNode, r as ref, D as resolveComponent, o as openBlock } from "./index-bcuE0Z0p.js";
2
+ import { u as useNodeSettings } from "./useNodeSettings-dMS9zmh_.js";
3
+ import { G as GenericNodeSettings } from "./genericNodeSettings-BBtW_Cpz.js";
7
4
  const _hoisted_1 = {
8
5
  key: 0,
9
6
  class: "listbox-wrapper"
@@ -21,20 +18,26 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
21
18
  const nodeSample = ref(null);
22
19
  const nodeData = ref(null);
23
20
  const sampleSize = ref(1e3);
21
+ const { saveSettings, pushNodeData, handleGenericSettingsUpdate } = useNodeSettings({
22
+ nodeRef: nodeSample,
23
+ onBeforeSave: () => {
24
+ if (nodeSample.value) {
25
+ nodeSample.value.sample_size = sampleSize.value;
26
+ }
27
+ return true;
28
+ }
29
+ });
24
30
  const loadNodeData = async (nodeId) => {
25
- var _a, _b, _c;
31
+ var _a;
26
32
  nodeData.value = await nodeStore.getNodeData(nodeId, false);
27
33
  nodeSample.value = (_a = nodeData.value) == null ? void 0 : _a.setting_input;
28
- if (!((_b = nodeData.value) == null ? void 0 : _b.setting_input.is_setup) && nodeSample.value) {
29
- nodeSample.value.sample_size = sampleSize.value;
30
- } else {
31
- if (nodeSample.value) {
34
+ if (nodeSample.value) {
35
+ if (!nodeSample.value.is_setup) {
36
+ nodeSample.value.sample_size = sampleSize.value;
37
+ } else {
32
38
  sampleSize.value = nodeSample.value.sample_size;
33
39
  }
34
- }
35
- dataLoaded.value = true;
36
- if ((_c = nodeSample.value) == null ? void 0 : _c.is_setup) {
37
- nodeSample.value.is_setup = true;
40
+ dataLoaded.value = true;
38
41
  }
39
42
  };
40
43
  const handleClickOutside = (event) => {
@@ -45,16 +48,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
45
48
  showContextMenuRemove.value = false;
46
49
  }
47
50
  };
48
- const pushNodeData = async () => {
49
- if (nodeSample.value) {
50
- nodeSample.value.sample_size = sampleSize.value;
51
- }
52
- nodeStore.updateSettings(nodeSample);
53
- dataLoaded.value = false;
54
- };
55
51
  __expose({
56
52
  loadNodeData,
57
- pushNodeData
53
+ pushNodeData,
54
+ saveSettings
58
55
  });
59
56
  onMounted(async () => {
60
57
  await nextTick();
@@ -69,7 +66,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
69
66
  return dataLoaded.value && nodeSample.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
70
67
  createVNode(GenericNodeSettings, {
71
68
  modelValue: nodeSample.value,
72
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => nodeSample.value = $event)
69
+ "onUpdate:modelValue": [
70
+ _cache[1] || (_cache[1] = ($event) => nodeSample.value = $event),
71
+ unref(handleGenericSettingsUpdate)
72
+ ],
73
+ onRequestSave: unref(saveSettings)
73
74
  }, {
74
75
  default: withCtx(() => [
75
76
  createBaseVNode("div", _hoisted_2, [
@@ -80,11 +81,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
80
81
  span: 10,
81
82
  class: "grid-content"
82
83
  }, {
83
- default: withCtx(() => _cache[2] || (_cache[2] = [
84
- createTextVNode("Offset")
85
- ])),
86
- _: 1,
87
- __: [2]
84
+ default: withCtx(() => [..._cache[2] || (_cache[2] = [
85
+ createTextVNode("Offset", -1)
86
+ ])]),
87
+ _: 1
88
88
  }),
89
89
  createVNode(_component_el_col, {
90
90
  span: 8,
@@ -108,7 +108,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
108
108
  ])
109
109
  ]),
110
110
  _: 1
111
- }, 8, ["modelValue"])
111
+ }, 8, ["modelValue", "onUpdate:modelValue", "onRequestSave"])
112
112
  ])) : createCommentVNode("", true);
113
113
  };
114
114
  }
@@ -1,5 +1,5 @@
1
- import { d as defineComponent, r as ref, G as computed, J as onMounted, y as resolveComponent, o as openBlock, c as createElementBlock, a as createBaseVNode, f as createTextVNode, t as toDisplayString, e as createCommentVNode, z as createVNode, A as withCtx, K as Fragment, L as renderList, C as createBlock, g as _export_sfc } from "./index-ca6799de.js";
2
- import { S as SecretsApi } from "./secrets.api-34431884.js";
1
+ import { d as defineComponent, J as onMounted, c as createElementBlock, a as createBaseVNode, f as createTextVNode, t as toDisplayString, e as createCommentVNode, z as createVNode, B as withCtx, K as Fragment, L as renderList, C as createBlock, r as ref, G as computed, D as resolveComponent, o as openBlock, g as _export_sfc } from "./index-bcuE0Z0p.js";
2
+ import { S as SecretsApi } from "./secrets.api-C9o2KE5V.js";
3
3
  const _hoisted_1 = { class: "component-container" };
4
4
  const _hoisted_2 = { class: "listbox-subtitle" };
5
5
  const _hoisted_3 = {
@@ -96,7 +96,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
96
96
  _: 1
97
97
  }, 8, ["model-value", "loading"]),
98
98
  !loading.value && filteredSecrets.value.length === 0 ? (openBlock(), createElementBlock("p", _hoisted_6, [
99
- _cache[2] || (_cache[2] = createTextVNode(" No secrets available. ")),
99
+ _cache[2] || (_cache[2] = createTextVNode(" No secrets available. ", -1)),
100
100
  createBaseVNode("span", {
101
101
  class: "hint-link",
102
102
  onClick: openSecretsManager
@@ -106,7 +106,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
106
106
  };
107
107
  }
108
108
  });
109
- const SecretSelector_vue_vue_type_style_index_0_scoped_c7dfd4de_lang = "";
110
109
  const SecretSelector = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c7dfd4de"]]);
111
110
  export {
112
111
  SecretSelector as default
@@ -1,5 +1,5 @@
1
- import { r as ref, G as computed, d as defineComponent, J as onMounted, c as createElementBlock, a as createBaseVNode, w as withModifiers, i as withDirectives, v as vModelText, j as vModelDynamic, n as normalizeClass, f as createTextVNode, t as toDisplayString, B as unref, $ as isRef, e as createCommentVNode, K as Fragment, L as renderList, o as openBlock, g as _export_sfc } from "./index-ca6799de.js";
2
- import { f as fetchSecretsApi, a as addSecretApi, g as getSecretValueApi, d as deleteSecretApi } from "./secrets.api-34431884.js";
1
+ import { r as ref, G as computed, d as defineComponent, J as onMounted, c as createElementBlock, a as createBaseVNode, w as withModifiers, h as withDirectives, v as vModelText, i as vModelDynamic, n as normalizeClass, f as createTextVNode, t as toDisplayString, A as unref, a6 as isRef, e as createCommentVNode, K as Fragment, L as renderList, o as openBlock, g as _export_sfc } from "./index-bcuE0Z0p.js";
2
+ import { d as deleteSecretApi, g as getSecretValueApi, a as addSecretApi, f as fetchSecretsApi } from "./secrets.api-C9o2KE5V.js";
3
3
  function useSecretManager() {
4
4
  const secrets = ref([]);
5
5
  const isLoading = ref(true);
@@ -146,8 +146,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
146
146
  const showDeleteModal = ref(false);
147
147
  const secretToDelete = ref("");
148
148
  const handleAddSecret = async () => {
149
- if (!newSecret.value.name || !newSecret.value.value)
150
- return;
149
+ if (!newSecret.value.name || !newSecret.value.value) return;
151
150
  isSubmitting.value = true;
152
151
  try {
153
152
  const secretName = await addSecret(newSecret.value);
@@ -170,8 +169,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
170
169
  secretToDelete.value = "";
171
170
  };
172
171
  const handleDeleteSecret = async () => {
173
- if (!secretToDelete.value)
174
- return;
172
+ if (!secretToDelete.value) return;
175
173
  isDeleting.value = true;
176
174
  try {
177
175
  const nameToDelete = secretToDelete.value;
@@ -281,14 +279,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
281
279
  ])) : createCommentVNode("", true)
282
280
  ]),
283
281
  createBaseVNode("div", _hoisted_15, [
284
- unref(isLoading) ? (openBlock(), createElementBlock("div", _hoisted_16, _cache[10] || (_cache[10] = [
282
+ unref(isLoading) ? (openBlock(), createElementBlock("div", _hoisted_16, [..._cache[10] || (_cache[10] = [
285
283
  createBaseVNode("div", { class: "loading-spinner" }, null, -1),
286
284
  createBaseVNode("p", null, "Loading secrets...", -1)
287
- ]))) : !unref(isLoading) && unref(secrets).length === 0 ? (openBlock(), createElementBlock("div", _hoisted_17, _cache[11] || (_cache[11] = [
285
+ ])])) : !unref(isLoading) && unref(secrets).length === 0 ? (openBlock(), createElementBlock("div", _hoisted_17, [..._cache[11] || (_cache[11] = [
288
286
  createBaseVNode("i", { class: "fa-solid fa-lock" }, null, -1),
289
287
  createBaseVNode("p", null, "You haven't added any secrets yet", -1),
290
288
  createBaseVNode("p", null, "Secrets are securely stored and can be used in your flows", -1)
291
- ]))) : unref(filteredSecrets).length > 0 ? (openBlock(), createElementBlock("div", _hoisted_18, [
289
+ ])])) : unref(filteredSecrets).length > 0 ? (openBlock(), createElementBlock("div", _hoisted_18, [
292
290
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(filteredSecrets), (secret) => {
293
291
  return openBlock(), createElementBlock("div", {
294
292
  key: secret.name,
@@ -313,10 +311,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
313
311
  class: "btn btn-danger",
314
312
  "aria-label": `Delete secret ${secret.name}`,
315
313
  onClick: ($event) => handleConfirmDelete(secret.name)
316
- }, _cache[13] || (_cache[13] = [
314
+ }, [..._cache[13] || (_cache[13] = [
317
315
  createBaseVNode("i", { class: "fa-solid fa-trash-alt" }, null, -1),
318
316
  createBaseVNode("span", null, "Delete", -1)
319
- ]), 8, _hoisted_21)
317
+ ])], 8, _hoisted_21)
320
318
  ])
321
319
  ]);
322
320
  }), 128))
@@ -342,15 +340,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
342
340
  class: "modal-close",
343
341
  "aria-label": "Close delete confirmation",
344
342
  onClick: cancelDelete
345
- }, _cache[16] || (_cache[16] = [
343
+ }, [..._cache[16] || (_cache[16] = [
346
344
  createBaseVNode("i", { class: "fa-solid fa-times" }, null, -1)
347
- ]))
345
+ ])])
348
346
  ]),
349
347
  createBaseVNode("div", _hoisted_23, [
350
348
  createBaseVNode("p", null, [
351
- _cache[18] || (_cache[18] = createTextVNode(" Are you sure you want to delete the secret ")),
349
+ _cache[18] || (_cache[18] = createTextVNode(" Are you sure you want to delete the secret ", -1)),
352
350
  createBaseVNode("strong", null, toDisplayString(secretToDelete.value), 1),
353
- _cache[19] || (_cache[19] = createTextVNode("? "))
351
+ _cache[19] || (_cache[19] = createTextVNode("? ", -1))
354
352
  ]),
355
353
  _cache[20] || (_cache[20] = createBaseVNode("p", { class: "warning-text" }, " This action cannot be undone and may break any flows that use this secret. ", -1))
356
354
  ]),
@@ -374,7 +372,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
374
372
  };
375
373
  }
376
374
  });
377
- const SecretsView_vue_vue_type_style_index_0_scoped_120c4aad_lang = "";
378
375
  const SecretsView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-120c4aad"]]);
379
376
  export {
380
377
  SecretsView as default
@@ -1,12 +1,10 @@
1
- import { r as ref, d as defineComponent, l as useNodeStore, o as openBlock, c as createElementBlock, z as createVNode, A as withCtx, C as createBlock, B as unref } from "./index-ca6799de.js";
2
- import { C as CodeLoader } from "./vue-content-loader.es-808fe33a.js";
3
- import { s as selectDynamic } from "./selectDynamic-5754a2b1.js";
4
- import { G as GenericNodeSettings } from "./genericNodeSettings-0155288b.js";
5
- import "./UnavailableFields-f6147968.js";
6
- import "./PopOver-ddcfe4f6.js";
7
- import "./DesignerView-a4466dab.js";
8
- import "./index-057d770d.js";
9
- import "./vue-codemirror.esm-8f46fb36.js";
1
+ import { r as ref, d as defineComponent, l as useNodeStore, c as createElementBlock, z as createVNode, B as withCtx, A as unref, C as createBlock, o as openBlock } from "./index-bcuE0Z0p.js";
2
+ import { C as CodeLoader } from "./vue-content-loader.es-CMoRXo7N.js";
3
+ import { u as useNodeSettings } from "./useNodeSettings-dMS9zmh_.js";
4
+ import { s as selectDynamic } from "./selectDynamic-Bl5FVsME.js";
5
+ import { G as GenericNodeSettings } from "./genericNodeSettings-BBtW_Cpz.js";
6
+ import "./UnavailableFields-Yf6XSqFB.js";
7
+ import "./PopOver-BHpt5rsj.js";
10
8
  const createSelectInput = (column_name, data_type = void 0, position = void 0, original_position = void 0) => {
11
9
  const selectInput = {
12
10
  old_name: column_name,
@@ -23,8 +21,7 @@ const createSelectInput = (column_name, data_type = void 0, position = void 0, o
23
21
  return selectInput;
24
22
  };
25
23
  const updateNodeSelect = (nodeTable, nodeSelectRef) => {
26
- if (!(nodeTable == null ? void 0 : nodeTable.table_schema) || !nodeSelectRef.value)
27
- return;
24
+ if (!(nodeTable == null ? void 0 : nodeTable.table_schema) || !nodeSelectRef.value) return;
28
25
  const existingInputMap = /* @__PURE__ */ new Map();
29
26
  nodeSelectRef.value.select_input.forEach((input) => {
30
27
  existingInputMap.set(input.old_name, input);
@@ -72,6 +69,31 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
72
69
  const nodeStore = useNodeStore();
73
70
  const nodeSelect = ref(createNodeSelect().value);
74
71
  const dataLoaded = ref(false);
72
+ const { saveSettings, pushNodeData, handleGenericSettingsUpdate } = useNodeSettings({
73
+ nodeRef: nodeSelect,
74
+ onBeforeSave: () => {
75
+ nodeSelect.value.select_input.sort((a, b) => a.position - b.position);
76
+ const originalData = nodeStore.getCurrentNodeData();
77
+ const newColumnSettings = nodeSelect.value.select_input;
78
+ nodeSelect.value.keep_missing = keepMissing.value;
79
+ if (originalData) {
80
+ newColumnSettings.forEach((newColumnSetting, index) => {
81
+ var _a, _b;
82
+ let original_index = (_a = originalData.main_input) == null ? void 0 : _a.table_schema.findIndex(
83
+ (column) => column.name === newColumnSetting.old_name
84
+ );
85
+ let original_object = index !== -1 ? (_b = originalData.main_input) == null ? void 0 : _b.table_schema[index] : void 0;
86
+ if (original_object) {
87
+ newColumnSetting.is_altered = (original_object == null ? void 0 : original_object.data_type) !== newColumnSetting.data_type;
88
+ newColumnSetting.data_type_change = newColumnSetting.is_altered;
89
+ newColumnSetting.position = index;
90
+ newColumnSetting.original_position = original_index || index;
91
+ }
92
+ });
93
+ }
94
+ return true;
95
+ }
96
+ });
75
97
  const loadNodeData = async (nodeId) => {
76
98
  const result = await nodeStore.getNodeData(nodeId, false);
77
99
  if (result) {
@@ -97,40 +119,23 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
97
119
  }
98
120
  dataLoaded.value = true;
99
121
  };
100
- const pushNodeData = async () => {
101
- nodeSelect.value.select_input.sort((a, b) => a.position - b.position);
102
- const originalData = nodeStore.getCurrentNodeData();
103
- const newColumnSettings = nodeSelect.value.select_input;
104
- nodeSelect.value.keep_missing = keepMissing.value;
105
- if (originalData) {
106
- newColumnSettings.forEach((newColumnSetting, index) => {
107
- var _a, _b;
108
- let original_index = (_a = originalData.main_input) == null ? void 0 : _a.table_schema.findIndex(
109
- (column) => column.name === newColumnSetting.old_name
110
- );
111
- let original_object = index !== -1 ? (_b = originalData.main_input) == null ? void 0 : _b.table_schema[index] : void 0;
112
- if (original_object) {
113
- newColumnSetting.is_altered = (original_object == null ? void 0 : original_object.data_type) !== newColumnSetting.data_type;
114
- newColumnSetting.data_type_change = newColumnSetting.is_altered;
115
- newColumnSetting.position = index;
116
- newColumnSetting.original_position = original_index || index;
117
- }
118
- });
119
- }
120
- await nodeStore.updateSettings(nodeSelect);
121
- };
122
122
  const updateSelectInputsHandler = (updatedInputs) => {
123
123
  nodeSelect.value.select_input = updatedInputs;
124
124
  };
125
125
  __expose({
126
126
  loadNodeData,
127
- pushNodeData
127
+ pushNodeData,
128
+ saveSettings
128
129
  });
129
130
  return (_ctx, _cache) => {
130
131
  return dataLoaded.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
131
132
  createVNode(GenericNodeSettings, {
132
133
  modelValue: nodeSelect.value,
133
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => nodeSelect.value = $event)
134
+ "onUpdate:modelValue": [
135
+ _cache[1] || (_cache[1] = ($event) => nodeSelect.value = $event),
136
+ unref(handleGenericSettingsUpdate)
137
+ ],
138
+ onRequestSave: unref(saveSettings)
134
139
  }, {
135
140
  default: withCtx(() => [
136
141
  createVNode(selectDynamic, {
@@ -149,7 +154,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
149
154
  }, null, 8, ["sortedBy", "select-inputs"])
150
155
  ]),
151
156
  _: 1
152
- }, 8, ["modelValue"])
157
+ }, 8, ["modelValue", "onUpdate:modelValue", "onRequestSave"])
153
158
  ])) : (openBlock(), createBlock(unref(CodeLoader), { key: 1 }));
154
159
  };
155
160
  }
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, o as openBlock, c as createElementBlock, a as createBaseVNode, t as toDisplayString, K as Fragment, L as renderList, f as createTextVNode, e as createCommentVNode, g as _export_sfc } from "./index-ca6799de.js";
1
+ import { d as defineComponent, c as createElementBlock, a as createBaseVNode, t as toDisplayString, K as Fragment, L as renderList, f as createTextVNode, e as createCommentVNode, o as openBlock, g as _export_sfc } from "./index-bcuE0Z0p.js";
2
2
  const _hoisted_1 = { class: "listbox-wrapper" };
3
3
  const _hoisted_2 = { class: "listbox-row" };
4
4
  const _hoisted_3 = { class: "listbox-subtitle" };
@@ -42,7 +42,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
42
42
  };
43
43
  }
44
44
  });
45
- const SettingsSection_vue_vue_type_style_index_0_scoped_b9db7ed5_lang = "";
46
45
  const SettingsSection = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b9db7ed5"]]);
47
46
  export {
48
47
  SettingsSection as default
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, o as openBlock, c as createElementBlock, a as createBaseVNode, a4 as normalizeStyle, t as toDisplayString, K as Fragment, L as renderList, f as createTextVNode, e as createCommentVNode, g as _export_sfc } from "./index-ca6799de.js";
1
+ import { d as defineComponent, c as createElementBlock, a as createBaseVNode, a0 as normalizeStyle, t as toDisplayString, K as Fragment, L as renderList, f as createTextVNode, e as createCommentVNode, o as openBlock, g as _export_sfc } from "./index-bcuE0Z0p.js";
2
2
  const _hoisted_1 = { class: "listbox-wrapper" };
3
3
  const _hoisted_2 = { class: "listbox-row" };
4
4
  const _hoisted_3 = { class: "items-container" };
@@ -46,7 +46,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
46
46
  };
47
47
  }
48
48
  });
49
- const SettingsSection_vue_vue_type_style_index_0_scoped_1a44e29e_lang = "";
50
49
  const SettingsSection = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-1a44e29e"]]);
51
50
  export {
52
51
  SettingsSection as default
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, o as openBlock, c as createElementBlock, a as createBaseVNode, t as toDisplayString, f as createTextVNode, e as createCommentVNode, g as _export_sfc } from "./index-ca6799de.js";
1
+ import { d as defineComponent, c as createElementBlock, a as createBaseVNode, t as toDisplayString, f as createTextVNode, e as createCommentVNode, o as openBlock, g as _export_sfc } from "./index-bcuE0Z0p.js";
2
2
  const _hoisted_1 = { class: "listbox-wrapper" };
3
3
  const _hoisted_2 = { class: "listbox-row" };
4
4
  const _hoisted_3 = { class: "listbox-subtitle" };
@@ -38,8 +38,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
38
38
  };
39
39
  }
40
40
  });
41
- const SettingsSection_vue_vue_type_style_index_0_scoped_61b02a99_lang = "";
42
- const SettingsSection = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-61b02a99"]]);
41
+ const SettingsSection = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-87244f65"]]);
43
42
  export {
44
43
  SettingsSection as default
45
44
  };
@@ -1,18 +1,18 @@
1
1
 
2
- .items-container[data-v-61b02a99] {
2
+ .items-container[data-v-87244f65] {
3
3
  display: flex;
4
4
  gap: 10px; /* Space between items */
5
5
  }
6
- .item-box[data-v-61b02a99] {
6
+ .item-box[data-v-87244f65] {
7
7
  display: flex;
8
8
  align-items: center;
9
9
  padding: 5px 10px;
10
- background-color: #f0f0f0;
10
+ background-color: var(--color-bg-secondary);
11
11
  border-radius: 4px;
12
12
  font-size: 12px; /* Font size set to 12px */
13
13
  position: relative;
14
14
  }
15
- .remove-btn[data-v-61b02a99] {
15
+ .remove-btn[data-v-87244f65] {
16
16
  margin-left: 8px;
17
17
  cursor: pointer;
18
18
  color: var(--color-text-secondary);
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, r as ref, c as createElementBlock, a as createBaseVNode, b as createStaticVNode, t as toDisplayString, e as createCommentVNode, n as normalizeClass, f as createTextVNode, s as setupService, o as openBlock, _ as _imports_1, g as _export_sfc } from "./index-ca6799de.js";
1
+ import { d as defineComponent, c as createElementBlock, a as createBaseVNode, b as createStaticVNode, t as toDisplayString, e as createCommentVNode, n as normalizeClass, f as createTextVNode, r as ref, s as setupService, o as openBlock, _ as _imports_1, g as _export_sfc } from "./index-bcuE0Z0p.js";
2
2
  const _hoisted_1 = { class: "setup-container" };
3
3
  const _hoisted_2 = { class: "setup-card" };
4
4
  const _hoisted_3 = { class: "setup-content" };
@@ -153,7 +153,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
153
153
  };
154
154
  }
155
155
  });
156
- const SetupView_vue_vue_type_style_index_0_scoped_0c48ff2a_lang = "";
157
156
  const SetupView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-0c48ff2a"]]);
158
157
  export {
159
158
  SetupView as default
@@ -1,5 +1,5 @@
1
- import { _ as _sfc_main } from "./SingleSelect.vue_vue_type_script_setup_true_lang-eedb70eb.js";
2
- import "./index-ca6799de.js";
1
+ import { _ as _sfc_main } from "./SingleSelect.vue_vue_type_script_setup_true_lang-Rxht5Z5N.js";
2
+ import "./index-bcuE0Z0p.js";
3
3
  export {
4
4
  _sfc_main as default
5
5
  };
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, G as computed, y as resolveComponent, o as openBlock, c as createElementBlock, a as createBaseVNode, t as toDisplayString, z as createVNode, A as withCtx, K as Fragment, L as renderList, C as createBlock } from "./index-ca6799de.js";
1
+ import { d as defineComponent, c as createElementBlock, a as createBaseVNode, t as toDisplayString, z as createVNode, B as withCtx, K as Fragment, L as renderList, C as createBlock, G as computed, D as resolveComponent, o as openBlock } from "./index-bcuE0Z0p.js";
2
2
  const _hoisted_1 = { class: "component-container" };
3
3
  const _hoisted_2 = { class: "listbox-subtitle" };
4
4
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, y as resolveComponent, o as openBlock, c as createElementBlock, a as createBaseVNode, t as toDisplayString, z as createVNode, g as _export_sfc } from "./index-ca6799de.js";
1
+ import { d as defineComponent, c as createElementBlock, a as createBaseVNode, t as toDisplayString, z as createVNode, D as resolveComponent, o as openBlock, g as _export_sfc } from "./index-bcuE0Z0p.js";
2
2
  const _hoisted_1 = { class: "component-container" };
3
3
  const _hoisted_2 = { class: "listbox-subtitle" };
4
4
  const _hoisted_3 = { class: "slider-wrapper" };
@@ -36,7 +36,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
36
36
  };
37
37
  }
38
38
  });
39
- const SliderInput_vue_vue_type_style_index_0_scoped_c58d8443_lang = "";
40
39
  const SliderInput = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c58d8443"]]);
41
40
  export {
42
41
  SliderInput as default
@@ -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-d7b3d915] {
3
+ .table-wrapper[data-v-d90437f5] {
4
4
  max-height: 300px;
5
5
  box-shadow: var(--shadow-sm);
6
6
  border-radius: var(--border-radius-lg);
@@ -1,10 +1,7 @@
1
- import { d as defineComponent, l as useNodeStore, r as ref, G as computed, 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, 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 { u as useNodeSettings } from "./useNodeSettings-dMS9zmh_.js";
3
+ import { C as CodeLoader } from "./vue-content-loader.es-CMoRXo7N.js";
4
+ import { G as GenericNodeSettings } from "./genericNodeSettings-BBtW_Cpz.js";
8
5
  const _hoisted_1 = {
9
6
  key: 0,
10
7
  class: "listbox-wrapper"
@@ -27,6 +24,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
27
24
  __name: "Sort",
28
25
  setup(__props, { expose: __expose }) {
29
26
  const nodeStore = useNodeStore();
27
+ const nodeSort = ref(null);
28
+ const { saveSettings, pushNodeData, handleGenericSettingsUpdate } = useNodeSettings({
29
+ nodeRef: nodeSort
30
+ });
30
31
  const showContextMenu = ref(false);
31
32
  const showContextMenuRemove = ref(false);
32
33
  const dataLoaded = ref(false);
@@ -34,7 +35,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
34
35
  const contextMenuColumn = ref(null);
35
36
  const contextMenuRef = ref(null);
36
37
  const selectedColumns = ref([]);
37
- const nodeSort = ref(null);
38
38
  const nodeData = ref(null);
39
39
  const sortOptions = ["Ascending", "Descending"];
40
40
  const firstSelectedIndex = ref(null);
@@ -93,23 +93,20 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
93
93
  return start < end ? [...Array(end - start + 1).keys()].map((i) => i + start) : [...Array(start - end + 1).keys()].map((i) => i + end);
94
94
  };
95
95
  const loadNodeData = async (nodeId) => {
96
- var _a, _b, _c;
96
+ var _a;
97
97
  nodeData.value = await nodeStore.getNodeData(nodeId, false);
98
98
  nodeSort.value = (_a = nodeData.value) == null ? void 0 : _a.setting_input;
99
- if (!((_b = nodeData.value) == null ? void 0 : _b.setting_input.is_setup) && nodeSort.value) {
100
- nodeSort.value.sort_input = [];
101
- }
102
- dataLoaded.value = true;
103
- if ((_c = nodeSort.value) == null ? void 0 : _c.is_setup) {
104
- nodeSort.value.is_setup = true;
99
+ if (nodeSort.value) {
100
+ if (!nodeSort.value.is_setup) {
101
+ nodeSort.value.sort_input = [];
102
+ }
103
+ dataLoaded.value = true;
105
104
  }
106
105
  };
107
- const pushNodeData = async () => {
108
- nodeStore.updateSettings(nodeSort);
109
- };
110
106
  __expose({
111
107
  loadNodeData,
112
- pushNodeData
108
+ pushNodeData,
109
+ saveSettings
113
110
  });
114
111
  return (_ctx, _cache) => {
115
112
  const _component_el_option = resolveComponent("el-option");
@@ -117,7 +114,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
117
114
  return dataLoaded.value && nodeSort.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
118
115
  createVNode(GenericNodeSettings, {
119
116
  modelValue: nodeSort.value,
120
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => nodeSort.value = $event)
117
+ "onUpdate:modelValue": [
118
+ _cache[3] || (_cache[3] = ($event) => nodeSort.value = $event),
119
+ unref(handleGenericSettingsUpdate)
120
+ ],
121
+ onRequestSave: unref(saveSettings)
121
122
  }, {
122
123
  default: withCtx(() => {
123
124
  var _a, _b;
@@ -191,8 +192,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
191
192
  }, null, 8, ["label", "value"]);
192
193
  }), 64))
193
194
  ]),
194
- _: 2
195
- }, 1032, ["modelValue", "onUpdate:modelValue"])
195
+ _: 1
196
+ }, 8, ["modelValue", "onUpdate:modelValue"])
196
197
  ])
197
198
  ], 40, _hoisted_9);
198
199
  }), 128))
@@ -214,13 +215,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
214
215
  ];
215
216
  }),
216
217
  _: 1
217
- }, 8, ["modelValue"])
218
+ }, 8, ["modelValue", "onUpdate:modelValue", "onRequestSave"])
218
219
  ])) : (openBlock(), createBlock(unref(CodeLoader), { key: 1 }));
219
220
  };
220
221
  }
221
222
  });
222
- const Sort_vue_vue_type_style_index_0_scoped_bcf69c5f_lang = "";
223
- const Sort = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-bcf69c5f"]]);
223
+ const Sort = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d90437f5"]]);
224
224
  export {
225
225
  Sort as default
226
226
  };
@@ -1,5 +1,5 @@
1
- import { _ as _sfc_main } from "./TextInput.vue_vue_type_script_setup_true_lang-a51fe730.js";
2
- import "./index-ca6799de.js";
1
+ import { _ as _sfc_main } from "./TextInput.vue_vue_type_script_setup_true_lang-Bcj3ywzv.js";
2
+ import "./index-bcuE0Z0p.js";
3
3
  export {
4
4
  _sfc_main as default
5
5
  };
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, y as resolveComponent, o as openBlock, c as createElementBlock, a as createBaseVNode, t as toDisplayString, z as createVNode } from "./index-ca6799de.js";
1
+ import { d as defineComponent, c as createElementBlock, a as createBaseVNode, t as toDisplayString, z as createVNode, D as resolveComponent, o as openBlock } from "./index-bcuE0Z0p.js";
2
2
  const _hoisted_1 = { class: "component-container" };
3
3
  const _hoisted_2 = { class: "listbox-subtitle" };
4
4
  const _sfc_main = /* @__PURE__ */ defineComponent({