@genexus/genexus-ide-ui 1.1.5 → 1.1.6

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 (643) hide show
  1. package/dist/cjs/{code-render-0e9837c4.js → code-render-55d37767.js} +3 -3
  2. package/dist/cjs/code-render-55d37767.js.map +1 -0
  3. package/dist/cjs/{form-validation-ffe2b957.js → form-validation-178cf461.js} +3 -7
  4. package/dist/cjs/form-validation-178cf461.js.map +1 -0
  5. package/dist/cjs/gx-ide-about.cjs.entry.js +1 -1
  6. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +15 -9
  7. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-ai-message.cjs.entry.js +2 -2
  9. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +4 -3
  10. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js.map +1 -1
  11. package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js +1 -1
  12. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js +5 -3
  13. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js.map +1 -1
  14. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js +3 -2
  15. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js.map +1 -1
  16. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js +1 -1
  17. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +1 -1
  18. package/dist/cjs/gx-ide-bpm-sync-gam-roles.cjs.entry.js +3 -2
  19. package/dist/cjs/gx-ide-bpm-sync-gam-roles.cjs.entry.js.map +1 -1
  20. package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js +11 -9
  21. package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js.map +1 -1
  22. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js +3 -2
  23. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js.map +1 -1
  24. package/dist/cjs/gx-ide-card.cjs.entry.js +1 -1
  25. package/dist/cjs/gx-ide-chat-container_2.cjs.entry.js +1 -1
  26. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +23 -18
  27. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
  28. package/dist/cjs/gx-ide-container_2.cjs.entry.js +2 -1
  29. package/dist/cjs/gx-ide-container_2.cjs.entry.js.map +1 -1
  30. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +10 -6
  31. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  32. package/dist/cjs/gx-ide-current-user-info.cjs.entry.js +4 -3
  33. package/dist/cjs/gx-ide-current-user-info.cjs.entry.js.map +1 -1
  34. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +5 -4
  35. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +1 -1
  36. package/dist/cjs/gx-ide-data-selector.cjs.entry.js +4 -3
  37. package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
  38. package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js +5 -4
  39. package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js.map +1 -1
  40. package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js +20 -16
  41. package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js.map +1 -1
  42. package/dist/cjs/gx-ide-design-import.cjs.entry.js +28 -20
  43. package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -1
  44. package/dist/cjs/gx-ide-directory-selector.cjs.entry.js +2 -1
  45. package/dist/cjs/gx-ide-directory-selector.cjs.entry.js.map +1 -1
  46. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js +3 -2
  47. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js.map +1 -1
  48. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +5 -3
  49. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js.map +1 -1
  50. package/dist/cjs/gx-ide-file-uploader.cjs.entry.js +45 -60
  51. package/dist/cjs/gx-ide-file-uploader.cjs.entry.js.map +1 -1
  52. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +3 -2
  53. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js.map +1 -1
  54. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +1 -1
  55. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +8 -5
  56. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
  57. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +1 -1
  58. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js.map +1 -1
  59. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +5 -14
  60. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js.map +1 -1
  61. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +3 -3
  62. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
  63. package/dist/cjs/gx-ide-navigation-report.cjs.entry.js +7 -4
  64. package/dist/cjs/gx-ide-navigation-report.cjs.entry.js.map +1 -1
  65. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +18 -13
  66. package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
  67. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +35 -31
  68. package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
  69. package/dist/cjs/gx-ide-new-object.cjs.entry.js +9 -6
  70. package/dist/cjs/gx-ide-new-object.cjs.entry.js.map +1 -1
  71. package/dist/cjs/gx-ide-new-version.cjs.entry.js +3 -3
  72. package/dist/cjs/gx-ide-new-version.cjs.entry.js.map +1 -1
  73. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +7 -6
  74. package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
  75. package/dist/cjs/gx-ide-open-api-import.cjs.entry.js +9 -5
  76. package/dist/cjs/gx-ide-open-api-import.cjs.entry.js.map +1 -1
  77. package/dist/cjs/gx-ide-references.cjs.entry.js +23 -18
  78. package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
  79. package/dist/cjs/gx-ide-sc-chat-container.cjs.entry.js +1 -1
  80. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +13 -7
  81. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js.map +1 -1
  82. package/dist/cjs/gx-ide-select-user-team.cjs.entry.js +4 -3
  83. package/dist/cjs/gx-ide-select-user-team.cjs.entry.js.map +1 -1
  84. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +7 -4
  85. package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
  86. package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js +3 -2
  87. package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js.map +1 -1
  88. package/dist/cjs/gx-ide-sign-in.cjs.entry.js +1 -1
  89. package/dist/cjs/gx-ide-splash.cjs.entry.js +4 -3
  90. package/dist/cjs/gx-ide-splash.cjs.entry.js.map +1 -1
  91. package/dist/cjs/gx-ide-start-page.cjs.entry.js +7 -4
  92. package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
  93. package/dist/cjs/gx-ide-status-buttons.cjs.entry.js +1 -1
  94. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +2 -2
  95. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +1 -1
  96. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +2 -2
  97. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
  98. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +1 -1
  99. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +4 -3
  100. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
  101. package/dist/cjs/gx-ide-template.cjs.entry.js +1 -1
  102. package/dist/cjs/gx-ide-welcome-page.cjs.entry.js +8 -6
  103. package/dist/cjs/gx-ide-welcome-page.cjs.entry.js.map +1 -1
  104. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +1 -1
  105. package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js +14 -8
  106. package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js.map +1 -1
  107. package/dist/cjs/gx-ide-ww-files.cjs.entry.js +21 -18
  108. package/dist/cjs/gx-ide-ww-files.cjs.entry.js.map +1 -1
  109. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +7 -18
  110. package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
  111. package/dist/cjs/{helpers-e5a13fa5.js → helpers-30f109a4.js} +6 -6
  112. package/dist/cjs/helpers-30f109a4.js.map +1 -0
  113. package/dist/cjs/index.cjs.js +7 -1
  114. package/dist/cjs/index.cjs.js.map +1 -1
  115. package/dist/cjs/{locale-36b93b1b.js → locale-ff30a5f3.js} +4 -4
  116. package/dist/cjs/locale-ff30a5f3.js.map +1 -0
  117. package/dist/collection/common/common.js +7 -4
  118. package/dist/collection/common/common.js.map +1 -1
  119. package/dist/collection/common/form-validation.js +4 -7
  120. package/dist/collection/common/form-validation.js.map +1 -1
  121. package/dist/collection/common/helpers.js +10 -9
  122. package/dist/collection/common/helpers.js.map +1 -1
  123. package/dist/collection/common/images/ai-avatar.svg +11 -0
  124. package/dist/collection/common/locale.js +3 -3
  125. package/dist/collection/common/locale.js.map +1 -1
  126. package/dist/collection/common/render-suggest.js +1 -1
  127. package/dist/collection/common/render-suggest.js.map +1 -1
  128. package/dist/collection/components/_helpers/container/container.js +2 -1
  129. package/dist/collection/components/_helpers/container/container.js.map +1 -1
  130. package/dist/collection/components/_helpers/directory-selector/directory-selector.js +2 -1
  131. package/dist/collection/components/_helpers/directory-selector/directory-selector.js.map +1 -1
  132. package/dist/collection/components/_helpers/entity-selector/entity-selector.js +4 -2
  133. package/dist/collection/components/_helpers/entity-selector/entity-selector.js.map +1 -1
  134. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js +1 -1
  135. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js.map +1 -1
  136. package/dist/collection/components/ai-assistant/ai-assistant.js +14 -8
  137. package/dist/collection/components/ai-assistant/ai-assistant.js.map +1 -1
  138. package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.js +3 -2
  139. package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.js.map +1 -1
  140. package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.js +4 -2
  141. package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.js.map +1 -1
  142. package/dist/collection/components/bpm/import-files/bpm-import-files.js +2 -1
  143. package/dist/collection/components/bpm/import-files/bpm-import-files.js.map +1 -1
  144. package/dist/collection/components/bpm/sync-gam-roles/bpm-sync-gam-roles.js +2 -1
  145. package/dist/collection/components/bpm/sync-gam-roles/bpm-sync-gam-roles.js.map +1 -1
  146. package/dist/collection/components/bpm/task-documents/helpers.js +1 -1
  147. package/dist/collection/components/bpm/task-documents/helpers.js.map +1 -1
  148. package/dist/collection/components/bpm/task-documents/task-documents.js +9 -7
  149. package/dist/collection/components/bpm/task-documents/task-documents.js.map +1 -1
  150. package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.js +2 -1
  151. package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.js.map +1 -1
  152. package/dist/collection/components/chat/code-render.js +2 -2
  153. package/dist/collection/components/chat/code-render.js.map +1 -1
  154. package/dist/collection/components/current-user-info/current-user-info.js +3 -2
  155. package/dist/collection/components/current-user-info/current-user-info.js.map +1 -1
  156. package/dist/collection/components/dashboard-home/dashboard-home.js +3 -2
  157. package/dist/collection/components/dashboard-home/dashboard-home.js.map +1 -1
  158. package/dist/collection/components/data-selector/data-selector.js +3 -2
  159. package/dist/collection/components/data-selector/data-selector.js.map +1 -1
  160. package/dist/collection/components/data-type-selector/data-type-selector.js +4 -3
  161. package/dist/collection/components/data-type-selector/data-type-selector.js.map +1 -1
  162. package/dist/collection/components/deployment-tool/deployment-tool.js +18 -11
  163. package/dist/collection/components/deployment-tool/deployment-tool.js.map +1 -1
  164. package/dist/collection/components/deployment-tool/helpers.js +1 -4
  165. package/dist/collection/components/deployment-tool/helpers.js.map +1 -1
  166. package/dist/collection/components/design-import/design-import.js +26 -18
  167. package/dist/collection/components/design-import/design-import.js.map +1 -1
  168. package/dist/collection/components/design-import/helpers.js +1 -1
  169. package/dist/collection/components/design-import/helpers.js.map +1 -1
  170. package/dist/collection/components/file-uploader/file-uploader.js +44 -59
  171. package/dist/collection/components/file-uploader/file-uploader.js.map +1 -1
  172. package/dist/collection/components/gam-installation-settings/gam-installation-settings.js +2 -1
  173. package/dist/collection/components/gam-installation-settings/gam-installation-settings.js.map +1 -1
  174. package/dist/collection/components/kb-manager-import/kb-manager-import.js +7 -4
  175. package/dist/collection/components/kb-manager-import/kb-manager-import.js.map +1 -1
  176. package/dist/collection/components/modules/edit-module-server/edit-module-server.js +2 -1
  177. package/dist/collection/components/modules/edit-module-server/edit-module-server.js.map +1 -1
  178. package/dist/collection/components/modules/manage-module-references/manage-module-references.js +2 -2
  179. package/dist/collection/components/modules/manage-module-references/manage-module-references.js.map +1 -1
  180. package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js +4 -13
  181. package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js.map +1 -1
  182. package/dist/collection/components/navigation-report/navigation-report.js +6 -3
  183. package/dist/collection/components/navigation-report/navigation-report.js.map +1 -1
  184. package/dist/collection/components/new-environment/new-environment.js +15 -10
  185. package/dist/collection/components/new-environment/new-environment.js.map +1 -1
  186. package/dist/collection/components/new-kb/new-kb.js +32 -28
  187. package/dist/collection/components/new-kb/new-kb.js.map +1 -1
  188. package/dist/collection/components/new-object/new-object.js +8 -5
  189. package/dist/collection/components/new-object/new-object.js.map +1 -1
  190. package/dist/collection/components/new-version/new-version.js +2 -2
  191. package/dist/collection/components/new-version/new-version.js.map +1 -1
  192. package/dist/collection/components/object-selector/object-selector.js +5 -4
  193. package/dist/collection/components/object-selector/object-selector.js.map +1 -1
  194. package/dist/collection/components/open-api-import/open-api-import.js +8 -4
  195. package/dist/collection/components/open-api-import/open-api-import.js.map +1 -1
  196. package/dist/collection/components/references/helpers.js +13 -9
  197. package/dist/collection/components/references/helpers.js.map +1 -1
  198. package/dist/collection/components/references/references.js +11 -9
  199. package/dist/collection/components/references/references.js.map +1 -1
  200. package/dist/collection/components/select-kb-items/helpers.js +10 -5
  201. package/dist/collection/components/select-kb-items/helpers.js.map +1 -1
  202. package/dist/collection/components/select-kb-items/select-kb-items.js +2 -1
  203. package/dist/collection/components/select-kb-items/select-kb-items.js.map +1 -1
  204. package/dist/collection/components/select-user-team/helpers.js +1 -1
  205. package/dist/collection/components/select-user-team/helpers.js.map +1 -1
  206. package/dist/collection/components/select-user-team/select-user-team.js +2 -1
  207. package/dist/collection/components/select-user-team/select-user-team.js.map +1 -1
  208. package/dist/collection/components/sign-in-team/sign-in-team.js +2 -1
  209. package/dist/collection/components/sign-in-team/sign-in-team.js.map +1 -1
  210. package/dist/collection/components/splash/splash.js +3 -2
  211. package/dist/collection/components/splash/splash.js.map +1 -1
  212. package/dist/collection/components/start-page/start-page.js +6 -3
  213. package/dist/collection/components/start-page/start-page.js.map +1 -1
  214. package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js +21 -16
  215. package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js.map +1 -1
  216. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js +8 -4
  217. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js.map +1 -1
  218. package/dist/collection/components/team-dev/share-kb/share-kb.js +5 -2
  219. package/dist/collection/components/team-dev/share-kb/share-kb.js.map +1 -1
  220. package/dist/collection/components/team-dev/update/update.js +2 -1
  221. package/dist/collection/components/team-dev/update/update.js.map +1 -1
  222. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js +1 -1
  223. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js.map +1 -1
  224. package/dist/collection/components/welcome-page/welcome-page.js +7 -5
  225. package/dist/collection/components/welcome-page/welcome-page.js.map +1 -1
  226. package/dist/collection/components/ww-attributes/helpers.js +2 -1
  227. package/dist/collection/components/ww-attributes/helpers.js.map +1 -1
  228. package/dist/collection/components/ww-attributes/ww-attributes.js +11 -6
  229. package/dist/collection/components/ww-attributes/ww-attributes.js.map +1 -1
  230. package/dist/collection/components/ww-files/helpers.js +2 -1
  231. package/dist/collection/components/ww-files/helpers.js.map +1 -1
  232. package/dist/collection/components/ww-files/ww-files.js +18 -16
  233. package/dist/collection/components/ww-files/ww-files.js.map +1 -1
  234. package/dist/collection/components/ww-images/ww-images.js +5 -16
  235. package/dist/collection/components/ww-images/ww-images.js.map +1 -1
  236. package/dist/collection/index.js +4 -0
  237. package/dist/collection/index.js.map +1 -1
  238. package/dist/collection/testing/locale.e2e.js +3 -3
  239. package/dist/collection/testing/locale.e2e.js.map +1 -1
  240. package/dist/components/code-render.js +2 -2
  241. package/dist/components/code-render.js.map +1 -1
  242. package/dist/components/container.js +2 -1
  243. package/dist/components/container.js.map +1 -1
  244. package/dist/components/entity-selector.js +4 -2
  245. package/dist/components/entity-selector.js.map +1 -1
  246. package/dist/components/form-validation.js +2 -6
  247. package/dist/components/form-validation.js.map +1 -1
  248. package/dist/components/gx-ide-ai-assistant.js +14 -8
  249. package/dist/components/gx-ide-ai-assistant.js.map +1 -1
  250. package/dist/components/gx-ide-bpm-app-declaration.js +3 -2
  251. package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
  252. package/dist/components/gx-ide-bpm-export-xpdl.js +4 -2
  253. package/dist/components/gx-ide-bpm-export-xpdl.js.map +1 -1
  254. package/dist/components/gx-ide-bpm-import-files.js +2 -1
  255. package/dist/components/gx-ide-bpm-import-files.js.map +1 -1
  256. package/dist/components/gx-ide-bpm-sync-gam-roles.js +2 -1
  257. package/dist/components/gx-ide-bpm-sync-gam-roles.js.map +1 -1
  258. package/dist/components/gx-ide-bpm-task-documents.js +10 -8
  259. package/dist/components/gx-ide-bpm-task-documents.js.map +1 -1
  260. package/dist/components/gx-ide-bpm-timer-duration.js +2 -1
  261. package/dist/components/gx-ide-bpm-timer-duration.js.map +1 -1
  262. package/dist/components/gx-ide-connect-gx-server.js +21 -16
  263. package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
  264. package/dist/components/gx-ide-create-kb-from-server.js +8 -4
  265. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  266. package/dist/components/gx-ide-current-user-info.js +3 -2
  267. package/dist/components/gx-ide-current-user-info.js.map +1 -1
  268. package/dist/components/gx-ide-dashboard-home.js +3 -2
  269. package/dist/components/gx-ide-dashboard-home.js.map +1 -1
  270. package/dist/components/gx-ide-data-selector.js +3 -2
  271. package/dist/components/gx-ide-data-selector.js.map +1 -1
  272. package/dist/components/gx-ide-data-type-selector.js +4 -3
  273. package/dist/components/gx-ide-data-type-selector.js.map +1 -1
  274. package/dist/components/gx-ide-deployment-tool.js +19 -15
  275. package/dist/components/gx-ide-deployment-tool.js.map +1 -1
  276. package/dist/components/gx-ide-design-import.js +27 -19
  277. package/dist/components/gx-ide-design-import.js.map +1 -1
  278. package/dist/components/gx-ide-directory-selector.js +2 -1
  279. package/dist/components/gx-ide-directory-selector.js.map +1 -1
  280. package/dist/components/gx-ide-edit-module-server.js +2 -1
  281. package/dist/components/gx-ide-edit-module-server.js.map +1 -1
  282. package/dist/components/gx-ide-file-uploader.js +44 -59
  283. package/dist/components/gx-ide-file-uploader.js.map +1 -1
  284. package/dist/components/gx-ide-gam-installation-settings.js +2 -1
  285. package/dist/components/gx-ide-gam-installation-settings.js.map +1 -1
  286. package/dist/components/gx-ide-kb-manager-import.js +7 -4
  287. package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
  288. package/dist/components/gx-ide-manage-module-references-v2.js +4 -13
  289. package/dist/components/gx-ide-manage-module-references-v2.js.map +1 -1
  290. package/dist/components/gx-ide-manage-module-references.js +2 -2
  291. package/dist/components/gx-ide-manage-module-references.js.map +1 -1
  292. package/dist/components/gx-ide-navigation-report.js +6 -3
  293. package/dist/components/gx-ide-navigation-report.js.map +1 -1
  294. package/dist/components/gx-ide-new-environment.js +15 -10
  295. package/dist/components/gx-ide-new-environment.js.map +1 -1
  296. package/dist/components/gx-ide-new-kb.js +32 -28
  297. package/dist/components/gx-ide-new-kb.js.map +1 -1
  298. package/dist/components/gx-ide-new-object.js +8 -5
  299. package/dist/components/gx-ide-new-object.js.map +1 -1
  300. package/dist/components/gx-ide-new-version.js +2 -2
  301. package/dist/components/gx-ide-new-version.js.map +1 -1
  302. package/dist/components/gx-ide-object-selector.js +5 -4
  303. package/dist/components/gx-ide-object-selector.js.map +1 -1
  304. package/dist/components/gx-ide-open-api-import.js +8 -4
  305. package/dist/components/gx-ide-open-api-import.js.map +1 -1
  306. package/dist/components/gx-ide-references.js +22 -17
  307. package/dist/components/gx-ide-references.js.map +1 -1
  308. package/dist/components/gx-ide-select-kb-items.js +12 -6
  309. package/dist/components/gx-ide-select-kb-items.js.map +1 -1
  310. package/dist/components/gx-ide-select-user-team.js +3 -2
  311. package/dist/components/gx-ide-select-user-team.js.map +1 -1
  312. package/dist/components/gx-ide-share-kb.js +5 -2
  313. package/dist/components/gx-ide-share-kb.js.map +1 -1
  314. package/dist/components/gx-ide-sign-in-team.js +2 -1
  315. package/dist/components/gx-ide-sign-in-team.js.map +1 -1
  316. package/dist/components/gx-ide-splash.js +3 -2
  317. package/dist/components/gx-ide-splash.js.map +1 -1
  318. package/dist/components/gx-ide-start-page.js +6 -3
  319. package/dist/components/gx-ide-start-page.js.map +1 -1
  320. package/dist/components/gx-ide-team-dev-update-partial-selection.js +1 -1
  321. package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
  322. package/dist/components/gx-ide-team-dev-update.js +2 -1
  323. package/dist/components/gx-ide-team-dev-update.js.map +1 -1
  324. package/dist/components/gx-ide-welcome-page.js +7 -5
  325. package/dist/components/gx-ide-welcome-page.js.map +1 -1
  326. package/dist/components/gx-ide-ww-attributes.js +13 -7
  327. package/dist/components/gx-ide-ww-attributes.js.map +1 -1
  328. package/dist/components/gx-ide-ww-files.js +20 -17
  329. package/dist/components/gx-ide-ww-files.js.map +1 -1
  330. package/dist/components/gx-ide-ww-images.js +5 -16
  331. package/dist/components/gx-ide-ww-images.js.map +1 -1
  332. package/dist/components/helpers.js +5 -5
  333. package/dist/components/helpers.js.map +1 -1
  334. package/dist/components/index.js +6 -0
  335. package/dist/components/index.js.map +1 -1
  336. package/dist/components/list-selector-item.js +1 -1
  337. package/dist/components/list-selector-item.js.map +1 -1
  338. package/dist/components/locale.js +3 -3
  339. package/dist/components/locale.js.map +1 -1
  340. package/dist/esm/{code-render-f3afd300.js → code-render-53b3b0bd.js} +3 -3
  341. package/dist/esm/code-render-53b3b0bd.js.map +1 -0
  342. package/dist/esm/{form-validation-71dca8c6.js → form-validation-cd0215c6.js} +3 -7
  343. package/dist/{genexus-ide-ui/p-549b8f0c.js.map → esm/form-validation-cd0215c6.js.map} +1 -1
  344. package/dist/esm/gx-ide-about.entry.js +1 -1
  345. package/dist/esm/gx-ide-ai-assistant.entry.js +15 -9
  346. package/dist/esm/gx-ide-ai-assistant.entry.js.map +1 -1
  347. package/dist/esm/gx-ide-ai-message.entry.js +2 -2
  348. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +4 -3
  349. package/dist/esm/gx-ide-bpm-app-declaration.entry.js.map +1 -1
  350. package/dist/esm/gx-ide-bpm-assign-roles.entry.js +1 -1
  351. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +5 -3
  352. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js.map +1 -1
  353. package/dist/esm/gx-ide-bpm-import-files.entry.js +3 -2
  354. package/dist/esm/gx-ide-bpm-import-files.entry.js.map +1 -1
  355. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +1 -1
  356. package/dist/esm/gx-ide-bpm-objects-selector.entry.js +1 -1
  357. package/dist/esm/gx-ide-bpm-sync-gam-roles.entry.js +3 -2
  358. package/dist/esm/gx-ide-bpm-sync-gam-roles.entry.js.map +1 -1
  359. package/dist/esm/gx-ide-bpm-task-documents.entry.js +11 -9
  360. package/dist/esm/gx-ide-bpm-task-documents.entry.js.map +1 -1
  361. package/dist/esm/gx-ide-bpm-timer-duration.entry.js +3 -2
  362. package/dist/esm/gx-ide-bpm-timer-duration.entry.js.map +1 -1
  363. package/dist/esm/gx-ide-card.entry.js +1 -1
  364. package/dist/esm/gx-ide-chat-container_2.entry.js +1 -1
  365. package/dist/esm/gx-ide-connect-gx-server.entry.js +23 -18
  366. package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
  367. package/dist/esm/gx-ide-container_2.entry.js +2 -1
  368. package/dist/esm/gx-ide-container_2.entry.js.map +1 -1
  369. package/dist/esm/gx-ide-create-kb-from-server.entry.js +10 -6
  370. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  371. package/dist/esm/gx-ide-current-user-info.entry.js +4 -3
  372. package/dist/esm/gx-ide-current-user-info.entry.js.map +1 -1
  373. package/dist/esm/gx-ide-dashboard-home.entry.js +5 -4
  374. package/dist/esm/gx-ide-dashboard-home.entry.js.map +1 -1
  375. package/dist/esm/gx-ide-data-selector.entry.js +4 -3
  376. package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
  377. package/dist/esm/gx-ide-data-type-selector.entry.js +5 -4
  378. package/dist/esm/gx-ide-data-type-selector.entry.js.map +1 -1
  379. package/dist/esm/gx-ide-deployment-tool.entry.js +20 -16
  380. package/dist/esm/gx-ide-deployment-tool.entry.js.map +1 -1
  381. package/dist/esm/gx-ide-design-import.entry.js +28 -20
  382. package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
  383. package/dist/esm/gx-ide-directory-selector.entry.js +2 -1
  384. package/dist/esm/gx-ide-directory-selector.entry.js.map +1 -1
  385. package/dist/esm/gx-ide-edit-module-server.entry.js +3 -2
  386. package/dist/esm/gx-ide-edit-module-server.entry.js.map +1 -1
  387. package/dist/esm/gx-ide-entity-selector.entry.js +5 -3
  388. package/dist/esm/gx-ide-entity-selector.entry.js.map +1 -1
  389. package/dist/esm/gx-ide-file-uploader.entry.js +45 -60
  390. package/dist/esm/gx-ide-file-uploader.entry.js.map +1 -1
  391. package/dist/esm/gx-ide-gam-installation-settings.entry.js +3 -2
  392. package/dist/esm/gx-ide-gam-installation-settings.entry.js.map +1 -1
  393. package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -1
  394. package/dist/esm/gx-ide-kb-manager-import.entry.js +8 -5
  395. package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
  396. package/dist/esm/gx-ide-list-selector_2.entry.js +1 -1
  397. package/dist/esm/gx-ide-list-selector_2.entry.js.map +1 -1
  398. package/dist/esm/gx-ide-manage-module-references-v2.entry.js +5 -14
  399. package/dist/esm/gx-ide-manage-module-references-v2.entry.js.map +1 -1
  400. package/dist/esm/gx-ide-manage-module-references.entry.js +3 -3
  401. package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -1
  402. package/dist/esm/gx-ide-navigation-report.entry.js +7 -4
  403. package/dist/esm/gx-ide-navigation-report.entry.js.map +1 -1
  404. package/dist/esm/gx-ide-new-environment.entry.js +18 -13
  405. package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
  406. package/dist/esm/gx-ide-new-kb.entry.js +35 -31
  407. package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
  408. package/dist/esm/gx-ide-new-object.entry.js +9 -6
  409. package/dist/esm/gx-ide-new-object.entry.js.map +1 -1
  410. package/dist/esm/gx-ide-new-version.entry.js +3 -3
  411. package/dist/esm/gx-ide-new-version.entry.js.map +1 -1
  412. package/dist/esm/gx-ide-object-selector.entry.js +7 -6
  413. package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
  414. package/dist/esm/gx-ide-open-api-import.entry.js +9 -5
  415. package/dist/esm/gx-ide-open-api-import.entry.js.map +1 -1
  416. package/dist/esm/gx-ide-references.entry.js +23 -18
  417. package/dist/esm/gx-ide-references.entry.js.map +1 -1
  418. package/dist/esm/gx-ide-sc-chat-container.entry.js +1 -1
  419. package/dist/esm/gx-ide-select-kb-items.entry.js +13 -7
  420. package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
  421. package/dist/esm/gx-ide-select-user-team.entry.js +4 -3
  422. package/dist/esm/gx-ide-select-user-team.entry.js.map +1 -1
  423. package/dist/esm/gx-ide-share-kb.entry.js +7 -4
  424. package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
  425. package/dist/esm/gx-ide-sign-in-team.entry.js +3 -2
  426. package/dist/esm/gx-ide-sign-in-team.entry.js.map +1 -1
  427. package/dist/esm/gx-ide-sign-in.entry.js +1 -1
  428. package/dist/esm/gx-ide-splash.entry.js +4 -3
  429. package/dist/esm/gx-ide-splash.entry.js.map +1 -1
  430. package/dist/esm/gx-ide-start-page.entry.js +7 -4
  431. package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
  432. package/dist/esm/gx-ide-status-buttons.entry.js +1 -1
  433. package/dist/esm/gx-ide-team-dev-commit.entry.js +2 -2
  434. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +1 -1
  435. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +2 -2
  436. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
  437. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +1 -1
  438. package/dist/esm/gx-ide-team-dev-update.entry.js +4 -3
  439. package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
  440. package/dist/esm/gx-ide-template.entry.js +1 -1
  441. package/dist/esm/gx-ide-welcome-page.entry.js +8 -6
  442. package/dist/esm/gx-ide-welcome-page.entry.js.map +1 -1
  443. package/dist/esm/gx-ide-wf-settings.entry.js +1 -1
  444. package/dist/esm/gx-ide-ww-attributes.entry.js +14 -8
  445. package/dist/esm/gx-ide-ww-attributes.entry.js.map +1 -1
  446. package/dist/esm/gx-ide-ww-files.entry.js +21 -18
  447. package/dist/esm/gx-ide-ww-files.entry.js.map +1 -1
  448. package/dist/esm/gx-ide-ww-images.entry.js +7 -18
  449. package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
  450. package/dist/esm/{helpers-5f1c9a32.js → helpers-10479d69.js} +6 -6
  451. package/dist/esm/helpers-10479d69.js.map +1 -0
  452. package/dist/esm/index.js +7 -1
  453. package/dist/esm/index.js.map +1 -1
  454. package/dist/esm/{locale-643afe17.js → locale-e5107fad.js} +4 -4
  455. package/dist/esm/locale-e5107fad.js.map +1 -0
  456. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  457. package/dist/genexus-ide-ui/index.esm.js +7 -1
  458. package/dist/genexus-ide-ui/index.esm.js.map +1 -1
  459. package/dist/genexus-ide-ui/{p-11dccb8f.entry.js → p-01d96378.entry.js} +16 -17
  460. package/dist/genexus-ide-ui/p-01d96378.entry.js.map +1 -0
  461. package/dist/genexus-ide-ui/{p-75e1aa31.entry.js → p-036d005d.entry.js} +5 -4
  462. package/dist/genexus-ide-ui/p-036d005d.entry.js.map +1 -0
  463. package/dist/genexus-ide-ui/{p-f5a48b33.entry.js → p-04205aa4.entry.js} +6 -5
  464. package/dist/genexus-ide-ui/p-04205aa4.entry.js.map +1 -0
  465. package/dist/genexus-ide-ui/{p-f6ceb01a.entry.js → p-04c6bd23.entry.js} +29 -28
  466. package/dist/genexus-ide-ui/p-04c6bd23.entry.js.map +1 -0
  467. package/dist/genexus-ide-ui/{p-f52bcdac.entry.js → p-0550fd5f.entry.js} +2 -2
  468. package/dist/genexus-ide-ui/{p-e1d75f00.entry.js → p-05b04291.entry.js} +2 -2
  469. package/dist/genexus-ide-ui/{p-e1d75f00.entry.js.map → p-05b04291.entry.js.map} +1 -1
  470. package/dist/genexus-ide-ui/{p-bfd9066c.entry.js → p-0bdf34f2.entry.js} +4 -6
  471. package/dist/genexus-ide-ui/p-0bdf34f2.entry.js.map +1 -0
  472. package/dist/genexus-ide-ui/{p-2be58a7a.entry.js → p-14165308.entry.js} +2 -2
  473. package/dist/genexus-ide-ui/{p-7cedb0f0.entry.js → p-1bc2613e.entry.js} +69 -66
  474. package/dist/genexus-ide-ui/p-1bc2613e.entry.js.map +1 -0
  475. package/dist/genexus-ide-ui/{p-c5cca204.entry.js → p-1c7ea1cb.entry.js} +11 -10
  476. package/dist/genexus-ide-ui/p-1c7ea1cb.entry.js.map +1 -0
  477. package/dist/genexus-ide-ui/{p-daa29451.entry.js → p-1dd7be84.entry.js} +17 -14
  478. package/dist/genexus-ide-ui/p-1dd7be84.entry.js.map +1 -0
  479. package/dist/genexus-ide-ui/{p-549b8f0c.js → p-289c3290.js} +15 -16
  480. package/dist/genexus-ide-ui/p-289c3290.js.map +1 -0
  481. package/dist/genexus-ide-ui/{p-032b4a81.entry.js → p-29c69938.entry.js} +22 -19
  482. package/dist/genexus-ide-ui/p-29c69938.entry.js.map +1 -0
  483. package/dist/genexus-ide-ui/{p-db4f756a.entry.js → p-3085add2.entry.js} +188 -176
  484. package/dist/genexus-ide-ui/p-3085add2.entry.js.map +1 -0
  485. package/dist/genexus-ide-ui/{p-857866f8.js → p-311eedf3.js} +9 -8
  486. package/dist/genexus-ide-ui/p-311eedf3.js.map +1 -0
  487. package/dist/genexus-ide-ui/{p-2e90a13a.entry.js → p-31beae9e.entry.js} +3 -2
  488. package/dist/genexus-ide-ui/p-31beae9e.entry.js.map +1 -0
  489. package/dist/genexus-ide-ui/{p-9a39e49c.entry.js → p-35f9ebbc.entry.js} +2 -2
  490. package/dist/genexus-ide-ui/{p-db4750ff.entry.js → p-385c9544.entry.js} +147 -138
  491. package/dist/genexus-ide-ui/p-385c9544.entry.js.map +1 -0
  492. package/dist/genexus-ide-ui/{p-8f1f4126.entry.js → p-3da8db15.entry.js} +9 -9
  493. package/dist/genexus-ide-ui/p-3da8db15.entry.js.map +1 -0
  494. package/dist/genexus-ide-ui/{p-b1833747.entry.js → p-4538dea5.entry.js} +31 -26
  495. package/dist/genexus-ide-ui/p-4538dea5.entry.js.map +1 -0
  496. package/dist/genexus-ide-ui/{p-6dc05a27.entry.js → p-45996535.entry.js} +4 -3
  497. package/dist/genexus-ide-ui/p-45996535.entry.js.map +1 -0
  498. package/dist/genexus-ide-ui/{p-a6029d9a.entry.js → p-48062d23.entry.js} +128 -116
  499. package/dist/genexus-ide-ui/p-48062d23.entry.js.map +1 -0
  500. package/dist/genexus-ide-ui/{p-4d929210.entry.js → p-4b38fffc.entry.js} +2 -2
  501. package/dist/genexus-ide-ui/{p-d1cc4724.entry.js → p-4d0ba4f6.entry.js} +8 -15
  502. package/dist/genexus-ide-ui/p-4d0ba4f6.entry.js.map +1 -0
  503. package/dist/genexus-ide-ui/{p-66d9269a.entry.js → p-4e943649.entry.js} +19 -16
  504. package/dist/genexus-ide-ui/p-4e943649.entry.js.map +1 -0
  505. package/dist/genexus-ide-ui/{p-ec01c70c.entry.js → p-67e0b419.entry.js} +7 -6
  506. package/dist/genexus-ide-ui/p-67e0b419.entry.js.map +1 -0
  507. package/dist/genexus-ide-ui/{p-45d2fa91.entry.js → p-68969051.entry.js} +12 -11
  508. package/dist/genexus-ide-ui/p-68969051.entry.js.map +1 -0
  509. package/dist/genexus-ide-ui/{p-9b238bf7.entry.js → p-690942cb.entry.js} +178 -173
  510. package/dist/genexus-ide-ui/p-690942cb.entry.js.map +1 -0
  511. package/dist/genexus-ide-ui/{p-b211bca8.entry.js → p-6b957e82.entry.js} +2 -2
  512. package/dist/genexus-ide-ui/{p-be794132.entry.js → p-6f898249.entry.js} +233 -228
  513. package/dist/genexus-ide-ui/p-6f898249.entry.js.map +1 -0
  514. package/dist/genexus-ide-ui/{p-29575656.entry.js → p-704499e5.entry.js} +116 -107
  515. package/dist/genexus-ide-ui/p-704499e5.entry.js.map +1 -0
  516. package/dist/genexus-ide-ui/{p-ac0438d6.entry.js → p-767e0f6d.entry.js} +12 -11
  517. package/dist/genexus-ide-ui/p-767e0f6d.entry.js.map +1 -0
  518. package/dist/genexus-ide-ui/{p-6168d48c.entry.js → p-7abe2214.entry.js} +167 -160
  519. package/dist/genexus-ide-ui/p-7abe2214.entry.js.map +1 -0
  520. package/dist/genexus-ide-ui/{p-50eaa96d.entry.js → p-7d8812b0.entry.js} +99 -89
  521. package/dist/genexus-ide-ui/p-7d8812b0.entry.js.map +1 -0
  522. package/dist/genexus-ide-ui/{p-9c690c36.entry.js → p-88c81f18.entry.js} +13 -12
  523. package/dist/genexus-ide-ui/p-88c81f18.entry.js.map +1 -0
  524. package/dist/genexus-ide-ui/{p-5e05f830.entry.js → p-8cb937b7.entry.js} +35 -31
  525. package/dist/genexus-ide-ui/p-8cb937b7.entry.js.map +1 -0
  526. package/dist/genexus-ide-ui/p-9ddea83b.js +146 -0
  527. package/dist/genexus-ide-ui/p-9ddea83b.js.map +1 -0
  528. package/dist/genexus-ide-ui/{p-2dbf722d.entry.js → p-9fa1200f.entry.js} +75 -69
  529. package/dist/genexus-ide-ui/p-9fa1200f.entry.js.map +1 -0
  530. package/dist/genexus-ide-ui/{p-0e53f1ef.entry.js → p-a1415a9c.entry.js} +161 -159
  531. package/dist/genexus-ide-ui/p-a1415a9c.entry.js.map +1 -0
  532. package/dist/genexus-ide-ui/{p-c30b2104.entry.js → p-a47d71eb.entry.js} +11 -9
  533. package/dist/genexus-ide-ui/p-a47d71eb.entry.js.map +1 -0
  534. package/dist/genexus-ide-ui/{p-f315c6e0.entry.js → p-aab809c4.entry.js} +2 -2
  535. package/dist/genexus-ide-ui/{p-f5879a41.entry.js → p-b1851e6b.entry.js} +3 -3
  536. package/dist/genexus-ide-ui/{p-f5879a41.entry.js.map → p-b1851e6b.entry.js.map} +1 -1
  537. package/dist/genexus-ide-ui/{p-95f831a8.entry.js → p-b2928645.entry.js} +2 -2
  538. package/dist/genexus-ide-ui/{p-39c527ff.entry.js → p-b58fb87b.entry.js} +2 -2
  539. package/dist/genexus-ide-ui/{p-a86a8692.entry.js → p-c38ce0bf.entry.js} +36 -32
  540. package/dist/genexus-ide-ui/p-c38ce0bf.entry.js.map +1 -0
  541. package/dist/genexus-ide-ui/{p-3edbf07d.js → p-c5178973.js} +3 -3
  542. package/dist/genexus-ide-ui/{p-3edbf07d.js.map → p-c5178973.js.map} +1 -1
  543. package/dist/genexus-ide-ui/{p-0d83a34d.entry.js → p-c7badbf1.entry.js} +66 -62
  544. package/dist/genexus-ide-ui/p-c7badbf1.entry.js.map +1 -0
  545. package/dist/genexus-ide-ui/{p-970d16ca.entry.js → p-c91af626.entry.js} +15 -15
  546. package/dist/genexus-ide-ui/{p-970d16ca.entry.js.map → p-c91af626.entry.js.map} +1 -1
  547. package/dist/genexus-ide-ui/{p-8b046b4b.entry.js → p-d095a37c.entry.js} +10 -9
  548. package/dist/genexus-ide-ui/p-d095a37c.entry.js.map +1 -0
  549. package/dist/genexus-ide-ui/{p-e37e95e7.entry.js → p-d2107cb2.entry.js} +3 -3
  550. package/dist/genexus-ide-ui/{p-353810b8.entry.js → p-d3767a7d.entry.js} +104 -99
  551. package/dist/genexus-ide-ui/p-d3767a7d.entry.js.map +1 -0
  552. package/dist/genexus-ide-ui/{p-02fc47cd.entry.js → p-d8379699.entry.js} +2 -2
  553. package/dist/genexus-ide-ui/{p-cdf8b082.entry.js → p-da473001.entry.js} +2 -2
  554. package/dist/genexus-ide-ui/{p-501c7b1f.entry.js → p-de7f0c1f.entry.js} +22 -19
  555. package/dist/genexus-ide-ui/p-de7f0c1f.entry.js.map +1 -0
  556. package/dist/genexus-ide-ui/{p-5da3e999.entry.js → p-ded7444c.entry.js} +17 -16
  557. package/dist/genexus-ide-ui/p-ded7444c.entry.js.map +1 -0
  558. package/dist/genexus-ide-ui/{p-9a9ee1ee.entry.js → p-e24902a0.entry.js} +2 -2
  559. package/dist/genexus-ide-ui/{p-5a42428d.entry.js → p-e28e6bc4.entry.js} +15 -14
  560. package/dist/genexus-ide-ui/p-e28e6bc4.entry.js.map +1 -0
  561. package/dist/genexus-ide-ui/{p-7782e1b8.entry.js → p-e502c2fd.entry.js} +61 -56
  562. package/dist/genexus-ide-ui/p-e502c2fd.entry.js.map +1 -0
  563. package/dist/genexus-ide-ui/{p-f2bd9044.entry.js → p-e7fb3ee3.entry.js} +2 -2
  564. package/dist/genexus-ide-ui/{p-e5571f49.entry.js → p-eb9e760d.entry.js} +18 -18
  565. package/dist/genexus-ide-ui/p-eb9e760d.entry.js.map +1 -0
  566. package/dist/genexus-ide-ui/{p-eb51429c.entry.js → p-ec0809a7.entry.js} +2 -2
  567. package/dist/genexus-ide-ui/{p-460db3ff.entry.js → p-ecba870e.entry.js} +3 -3
  568. package/dist/genexus-ide-ui/{p-e26e05c7.entry.js → p-f49bb305.entry.js} +18 -12
  569. package/dist/genexus-ide-ui/p-f49bb305.entry.js.map +1 -0
  570. package/dist/genexus-ide-ui/{p-8636a0bd.entry.js → p-f722955f.entry.js} +2 -2
  571. package/dist/genexus-ide-ui/{p-a8cc41e4.entry.js → p-f7421997.entry.js} +61 -58
  572. package/dist/genexus-ide-ui/p-f7421997.entry.js.map +1 -0
  573. package/dist/types/index.d.ts +4 -0
  574. package/package.json +3 -3
  575. package/dist/cjs/code-render-0e9837c4.js.map +0 -1
  576. package/dist/cjs/form-validation-ffe2b957.js.map +0 -1
  577. package/dist/cjs/helpers-e5a13fa5.js.map +0 -1
  578. package/dist/cjs/locale-36b93b1b.js.map +0 -1
  579. package/dist/esm/code-render-f3afd300.js.map +0 -1
  580. package/dist/esm/form-validation-71dca8c6.js.map +0 -1
  581. package/dist/esm/helpers-5f1c9a32.js.map +0 -1
  582. package/dist/esm/locale-643afe17.js.map +0 -1
  583. package/dist/genexus-ide-ui/p-032b4a81.entry.js.map +0 -1
  584. package/dist/genexus-ide-ui/p-0d83a34d.entry.js.map +0 -1
  585. package/dist/genexus-ide-ui/p-0e53f1ef.entry.js.map +0 -1
  586. package/dist/genexus-ide-ui/p-11dccb8f.entry.js.map +0 -1
  587. package/dist/genexus-ide-ui/p-29575656.entry.js.map +0 -1
  588. package/dist/genexus-ide-ui/p-2dbf722d.entry.js.map +0 -1
  589. package/dist/genexus-ide-ui/p-2e90a13a.entry.js.map +0 -1
  590. package/dist/genexus-ide-ui/p-353810b8.entry.js.map +0 -1
  591. package/dist/genexus-ide-ui/p-45d2fa91.entry.js.map +0 -1
  592. package/dist/genexus-ide-ui/p-501c7b1f.entry.js.map +0 -1
  593. package/dist/genexus-ide-ui/p-50eaa96d.entry.js.map +0 -1
  594. package/dist/genexus-ide-ui/p-51601b85.js +0 -145
  595. package/dist/genexus-ide-ui/p-51601b85.js.map +0 -1
  596. package/dist/genexus-ide-ui/p-5a42428d.entry.js.map +0 -1
  597. package/dist/genexus-ide-ui/p-5da3e999.entry.js.map +0 -1
  598. package/dist/genexus-ide-ui/p-5e05f830.entry.js.map +0 -1
  599. package/dist/genexus-ide-ui/p-6168d48c.entry.js.map +0 -1
  600. package/dist/genexus-ide-ui/p-66d9269a.entry.js.map +0 -1
  601. package/dist/genexus-ide-ui/p-6dc05a27.entry.js.map +0 -1
  602. package/dist/genexus-ide-ui/p-75e1aa31.entry.js.map +0 -1
  603. package/dist/genexus-ide-ui/p-7782e1b8.entry.js.map +0 -1
  604. package/dist/genexus-ide-ui/p-7cedb0f0.entry.js.map +0 -1
  605. package/dist/genexus-ide-ui/p-857866f8.js.map +0 -1
  606. package/dist/genexus-ide-ui/p-8b046b4b.entry.js.map +0 -1
  607. package/dist/genexus-ide-ui/p-8f1f4126.entry.js.map +0 -1
  608. package/dist/genexus-ide-ui/p-9b238bf7.entry.js.map +0 -1
  609. package/dist/genexus-ide-ui/p-9c690c36.entry.js.map +0 -1
  610. package/dist/genexus-ide-ui/p-a6029d9a.entry.js.map +0 -1
  611. package/dist/genexus-ide-ui/p-a86a8692.entry.js.map +0 -1
  612. package/dist/genexus-ide-ui/p-a8cc41e4.entry.js.map +0 -1
  613. package/dist/genexus-ide-ui/p-ac0438d6.entry.js.map +0 -1
  614. package/dist/genexus-ide-ui/p-b1833747.entry.js.map +0 -1
  615. package/dist/genexus-ide-ui/p-be794132.entry.js.map +0 -1
  616. package/dist/genexus-ide-ui/p-bfd9066c.entry.js.map +0 -1
  617. package/dist/genexus-ide-ui/p-c30b2104.entry.js.map +0 -1
  618. package/dist/genexus-ide-ui/p-c5cca204.entry.js.map +0 -1
  619. package/dist/genexus-ide-ui/p-d1cc4724.entry.js.map +0 -1
  620. package/dist/genexus-ide-ui/p-daa29451.entry.js.map +0 -1
  621. package/dist/genexus-ide-ui/p-db4750ff.entry.js.map +0 -1
  622. package/dist/genexus-ide-ui/p-db4f756a.entry.js.map +0 -1
  623. package/dist/genexus-ide-ui/p-e26e05c7.entry.js.map +0 -1
  624. package/dist/genexus-ide-ui/p-e5571f49.entry.js.map +0 -1
  625. package/dist/genexus-ide-ui/p-ec01c70c.entry.js.map +0 -1
  626. package/dist/genexus-ide-ui/p-f5a48b33.entry.js.map +0 -1
  627. package/dist/genexus-ide-ui/p-f6ceb01a.entry.js.map +0 -1
  628. /package/dist/genexus-ide-ui/{p-f52bcdac.entry.js.map → p-0550fd5f.entry.js.map} +0 -0
  629. /package/dist/genexus-ide-ui/{p-2be58a7a.entry.js.map → p-14165308.entry.js.map} +0 -0
  630. /package/dist/genexus-ide-ui/{p-9a39e49c.entry.js.map → p-35f9ebbc.entry.js.map} +0 -0
  631. /package/dist/genexus-ide-ui/{p-4d929210.entry.js.map → p-4b38fffc.entry.js.map} +0 -0
  632. /package/dist/genexus-ide-ui/{p-b211bca8.entry.js.map → p-6b957e82.entry.js.map} +0 -0
  633. /package/dist/genexus-ide-ui/{p-f315c6e0.entry.js.map → p-aab809c4.entry.js.map} +0 -0
  634. /package/dist/genexus-ide-ui/{p-95f831a8.entry.js.map → p-b2928645.entry.js.map} +0 -0
  635. /package/dist/genexus-ide-ui/{p-39c527ff.entry.js.map → p-b58fb87b.entry.js.map} +0 -0
  636. /package/dist/genexus-ide-ui/{p-e37e95e7.entry.js.map → p-d2107cb2.entry.js.map} +0 -0
  637. /package/dist/genexus-ide-ui/{p-02fc47cd.entry.js.map → p-d8379699.entry.js.map} +0 -0
  638. /package/dist/genexus-ide-ui/{p-cdf8b082.entry.js.map → p-da473001.entry.js.map} +0 -0
  639. /package/dist/genexus-ide-ui/{p-9a9ee1ee.entry.js.map → p-e24902a0.entry.js.map} +0 -0
  640. /package/dist/genexus-ide-ui/{p-f2bd9044.entry.js.map → p-e7fb3ee3.entry.js.map} +0 -0
  641. /package/dist/genexus-ide-ui/{p-eb51429c.entry.js.map → p-ec0809a7.entry.js.map} +0 -0
  642. /package/dist/genexus-ide-ui/{p-460db3ff.entry.js.map → p-ecba870e.entry.js.map} +0 -0
  643. /package/dist/genexus-ide-ui/{p-8636a0bd.entry.js.map → p-f722955f.entry.js.map} +0 -0
@@ -18,7 +18,8 @@ export class GxIdeTemplate {
18
18
  this.setFocus = true;
19
19
  this.scrollToBottomFlag = true;
20
20
  this.evaluateAiInProgress = () => {
21
- if (this.messages?.length > 0 &&
21
+ var _a;
22
+ if (((_a = this.messages) === null || _a === void 0 ? void 0 : _a.length) > 0 &&
22
23
  this.messages[this.messages.length - 1].type === "assistant-in-progress") {
23
24
  this.aIInProgress = true;
24
25
  }
@@ -27,7 +28,8 @@ export class GxIdeTemplate {
27
28
  }
28
29
  };
29
30
  this.evaluateAiStatus = () => {
30
- if (this.messages?.length === 0) {
31
+ var _a;
32
+ if (((_a = this.messages) === null || _a === void 0 ? void 0 : _a.length) === 0) {
31
33
  this.assistantStatus = "indeterminate";
32
34
  return;
33
35
  }
@@ -103,7 +105,8 @@ export class GxIdeTemplate {
103
105
  }
104
106
  };
105
107
  this.attachShortcuts = () => {
106
- if (this.focusShortcuts?.length > 0) {
108
+ var _a;
109
+ if (((_a = this.focusShortcuts) === null || _a === void 0 ? void 0 : _a.length) > 0) {
107
110
  const ctrlFocusIndex = this.focusShortcuts.findIndex(key => key.toLocaleLowerCase() === "ctrl");
108
111
  const shiftFocusIndex = this.focusShortcuts.findIndex(key => key.toLocaleLowerCase() === "shift");
109
112
  const cmdKeyIndex = this.focusShortcuts.findIndex(key => key.toLocaleLowerCase() === "cmd");
@@ -131,8 +134,9 @@ export class GxIdeTemplate {
131
134
  }
132
135
  };
133
136
  this.promptArrowUpHandler = () => {
137
+ var _a;
134
138
  this.userHasTyped = true;
135
- const lastUserMessage = this.messages?.find(message => {
139
+ const lastUserMessage = (_a = this.messages) === null || _a === void 0 ? void 0 : _a.find(message => {
136
140
  return message.type === "user";
137
141
  });
138
142
  if (lastUserMessage) {
@@ -231,9 +235,10 @@ export class GxIdeTemplate {
231
235
  * Add a message. This method will be used by the host to add messages from the assistant
232
236
  */
233
237
  async addMessage(message) {
234
- if (message.text?.length > 0) {
238
+ var _a;
239
+ if (((_a = message.text) === null || _a === void 0 ? void 0 : _a.length) > 0) {
235
240
  const messages = [...this.messages];
236
- const updateInProgressMessage = messages?.length > 0 &&
241
+ const updateInProgressMessage = (messages === null || messages === void 0 ? void 0 : messages.length) > 0 &&
237
242
  messages[messages.length - 1].type === "assistant-in-progress";
238
243
  if (updateInProgressMessage) {
239
244
  messages.pop();
@@ -243,6 +248,7 @@ export class GxIdeTemplate {
243
248
  }
244
249
  }
245
250
  render() {
251
+ var _a, _b;
246
252
  return (h(Host, { class: {
247
253
  [`assistant--${this.assistantStatus}`]: true,
248
254
  "assistant--in-progress": this.aIInProgress
@@ -252,7 +258,7 @@ export class GxIdeTemplate {
252
258
  } }, h("div", { class: "filter-inner-wrapper" }, h("gxg-form-text", { class: "header__filter", onInput: this.filterMessagesHandler, ref: el => (this.filterEl = el) })))) : null), h("div", { class: {
253
259
  "messages-wrapper": true,
254
260
  "scrollable": true
255
- }, ref: el => (this.messagesWrapperEl = el) }, this.messages?.length ? (h("ol", { class: { messages: true } }, this.messages.map((message, i) => {
261
+ }, ref: el => (this.messagesWrapperEl = el) }, ((_a = this.messages) === null || _a === void 0 ? void 0 : _a.length) ? (h("ol", { class: { messages: true } }, this.messages.map((message, i) => {
256
262
  return this.renderMessage(message, i);
257
263
  }))) : null), h("div", { class: {
258
264
  prompt: true
@@ -261,7 +267,7 @@ export class GxIdeTemplate {
261
267
  : this._componentLocale.promptPlaceholder, onInput: this.textAreaInputHandler, onEnter: this.promptEnterHandler, onArrowUpPressed: this.promptArrowUpHandler, onBlur: this.promptBlurHandler, onFocus: this.promptFocusHandler, disabled: this.aIInProgress, ref: el => (this.textAreaEl = el) }), !this.userHasTyped &&
262
268
  !this.aIInProgress &&
263
269
  !this.promptHasFocus &&
264
- this.focusShortcuts?.length > 0 ? (h("div", { class: {
270
+ ((_b = this.focusShortcuts) === null || _b === void 0 ? void 0 : _b.length) > 0 ? (h("div", { class: {
265
271
  prompt__shortcuts: true
266
272
  } }, this.focusShortcuts.map((shortcut, i) => {
267
273
  /* Up to three keys allowed*/
@@ -1 +1 @@
1
- {"version":3,"file":"ai-assistant.js","sourceRoot":"","sources":["../../../src/components/ai-assistant/ai-assistant.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Method,\n State,\n Watch,\n Listen\n} from \"@stencil/core\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/icon\",\n \"components/button\"\n];\n\nimport { Locale } from \"../../common/locale\";\n\nimport { MercuryBundles } from \"@genexus/mercury\";\n\n@Component({\n tag: \"gx-ide-ai-assistant\",\n styleUrl: \"ai-assistant.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/ai-assistant\"]\n})\nexport class GxIdeTemplate {\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n /* lastUserMessageHeight is used to set the appropriate height on the textarea, if user presses arrowUp (recover last message)*/\n private lastUserMessageHeight: number;\n private setFocus = true;\n private scrollToBottomFlag = true;\n\n @Element() el: HTMLGxIdeAiAssistantElement;\n private textAreaEl!: HTMLGxgFormTextareaElement;\n private textareaShadowPart: HTMLTextAreaElement;\n private filterEl: HTMLGxgFormTextElement;\n private messagesWrapperEl!: HTMLDivElement;\n\n /**\n * Flag used to hide the shortcuts\n */\n @State() userHasTyped = false;\n\n /**\n * This is true if the last message is of type 'assistant-in-progress'\n */\n @State() aIInProgress = false;\n @Watch(\"aIInProgress\")\n watchAIInProgressHandler(aiInProgress: boolean) {\n if (!aiInProgress) {\n this.setFocus = true;\n }\n }\n\n /**\n * This displays or hides the messages filter\n */\n @State() showFilter = false;\n\n /**\n * True if the prompt textbox has focus\n */\n @State() promptHasFocus = false;\n\n /**\n * The filter value\n */\n @State() filterValue: string;\n\n /**\n * List of messages displayed by the component\n */\n @Prop({ mutable: true }) messages: Message[] = [];\n @Watch(\"messages\")\n watchMessagesHandler() {\n this.evaluateAiInProgress();\n this.evaluateAiStatus();\n }\n\n /**\n * The prompt textarea max-height\n */\n @Prop() readonly promptMaxHeight = \"128px\";\n\n /**\n * A temporary property to illustrate the assistant status\n */\n @Prop({ mutable: true }) assistantStatus: AiStatus = \"indeterminate\";\n\n /**\n * List of keys that make up the shortcut to focus on the component's text input\n */\n @Prop() readonly focusShortcuts: string[];\n\n /**\n * List of keys that make up the shortcut to focus on the component's text input\n */\n @Prop() readonly userMessageCallback: UserMessageCallback;\n\n /**\n * Callback that must be invoked when the conversation is cleared, using the header button.\n */\n @Prop() readonly clearCallback: () => Promise<void>;\n\n /**\n * the prompt value\n */\n @Prop() readonly promptValue: string;\n\n /**\n * If tue, it will display a filter.\n */\n @Prop() readonly filter = true;\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.evaluateAiInProgress();\n this.evaluateAiStatus();\n this.attachShortcuts();\n }\n\n componentDidLoad() {\n this.textareaShadowPart =\n this.textAreaEl.shadowRoot.querySelector(\"textarea\");\n this.el.addEventListener(\"mousedown\", this.#mouseDownListener);\n this.el.addEventListener(\"mouseup\", this.#mouseUpListener);\n }\n\n componentDidRender() {\n if (this.setFocus) {\n setTimeout(() => {\n /* Doesn't seems to work without the setTimeout */\n this.textAreaEl.focus();\n this.setFocus = false;\n }, 50);\n }\n setTimeout(() => {\n this.scrollToBottom();\n }, 200);\n }\n\n @Listen(\"focus\", { capture: true })\n handleFocus(event: FocusEvent) {\n if (this.textAreaEl) {\n event.preventDefault();\n this.textAreaEl.focus();\n }\n }\n\n /**\n * Clear the list of messages\n */\n @Method()\n async clear() {\n this.messages = [];\n }\n\n /**\n * Add a message. This method will be used by the host to add messages from the assistant\n */\n @Method()\n async addMessage(message: Message) {\n if (message.text?.length > 0) {\n const messages = [...this.messages];\n const updateInProgressMessage =\n messages?.length > 0 &&\n messages[messages.length - 1].type === \"assistant-in-progress\";\n if (updateInProgressMessage) {\n messages.pop();\n }\n messages.push(message);\n this.messages = messages;\n }\n }\n\n private evaluateAiInProgress = () => {\n if (\n this.messages?.length > 0 &&\n this.messages[this.messages.length - 1].type === \"assistant-in-progress\"\n ) {\n this.aIInProgress = true;\n } else {\n this.aIInProgress = false;\n }\n };\n\n private evaluateAiStatus = () => {\n if (this.messages?.length === 0) {\n this.assistantStatus = \"indeterminate\";\n return;\n }\n if (\n this.messages[this.messages.length - 1].type ===\n \"assistant-in-progress\" ||\n this.messages[this.messages.length - 1].type === \"user\"\n ) {\n this.assistantStatus = \"indeterminate\";\n } else if (\n this.messages[this.messages.length - 1].type === \"assistant-error\"\n ) {\n this.assistantStatus = \"error\";\n } else {\n this.assistantStatus = \"success\";\n }\n };\n\n private renderMessage = (\n message: Message,\n i: number\n ): HTMLLIElement | void => {\n if (message.text.length > 0) {\n return (\n <gx-ide-ai-message\n style={{\n \"--primary-color\": \"lightblue\"\n }}\n message={message.text}\n messageType={message.type}\n hidden={message.hidden}\n filterValue={this.filterValue}\n key={`${i.toString()}-${message.type}`}\n translations={this._componentLocale.aiMessage}\n aiAssistantHostRef={this.el}\n ></gx-ide-ai-message>\n );\n }\n };\n\n private textAreaInputHandler = () => {\n this.userHasTyped = true;\n this.showFilter = false;\n this.filterEl.value = \"\";\n this.filterValue = \"\";\n this.scrollToBottomFlag = true;\n };\n\n private promptEnterHandler = async (prompt: CustomEvent<string>) => {\n /* First remove double spaces */\n const promptTrimmed = prompt.detail.replace(/\\s+/g, \" \");\n /* Update textarea value to get the proper height */\n this.textAreaEl.value = promptTrimmed;\n setTimeout(() => {\n /* Then save the actual height (setTimeOut required) */\n this.lastUserMessageHeight = this.textAreaEl.offsetHeight;\n }, 0);\n /* The clear the textarea */\n this.textAreaEl.value = \"\";\n /* Insert the user message */\n this.addMessage({\n type: \"user\",\n text: promptTrimmed\n });\n /* Call the callback */\n if (this.userMessageCallback && !this.aIInProgress) {\n this.aIInProgress = true;\n this.userMessageCallback(promptTrimmed).then(() => {\n this.aIInProgress = false;\n });\n }\n };\n\n private filterMessagesHandler = (e: CustomEvent<string>) => {\n this.scrollToBottomFlag = false;\n this.filterValue = e.detail.toLowerCase();\n const filteredMessages = [...this.messages];\n filteredMessages.forEach(message => {\n if (message.text.toLowerCase().includes(this.filterValue)) {\n message.hidden = false;\n } else {\n message.hidden = true;\n }\n });\n this.messages = filteredMessages;\n };\n\n private clearMessages = () => {\n this.messages = [];\n this.textAreaEl.focus();\n if (this.clearCallback) {\n this.clearCallback();\n }\n };\n\n private attachShortcuts = () => {\n if (this.focusShortcuts?.length > 0) {\n const ctrlFocusIndex = this.focusShortcuts.findIndex(\n key => key.toLocaleLowerCase() === \"ctrl\"\n );\n const shiftFocusIndex = this.focusShortcuts.findIndex(\n key => key.toLocaleLowerCase() === \"shift\"\n );\n const cmdKeyIndex = this.focusShortcuts.findIndex(\n key => key.toLocaleLowerCase() === \"cmd\"\n );\n const keyFocus = this.focusShortcuts\n .find(key => {\n return (\n key.toLocaleLowerCase() !== \"ctrl\" &&\n key.toLocaleLowerCase() !== \"shift\" &&\n key.toLocaleLowerCase() !== \"cmd\"\n );\n })\n .toLowerCase();\n document.addEventListener(\"keydown\", (e: KeyboardEvent) => {\n if (e.key === keyFocus && ctrlFocusIndex !== -1 && e.ctrlKey) {\n this.textAreaEl.focus();\n this.userHasTyped = true;\n } else if (e.key === keyFocus && shiftFocusIndex !== -1 && e.shiftKey) {\n this.textAreaEl.focus();\n this.userHasTyped = true;\n } else if (e.key === keyFocus && cmdKeyIndex !== -1 && e.metaKey) {\n this.textAreaEl.focus();\n this.userHasTyped = true;\n }\n });\n }\n };\n\n private promptArrowUpHandler = () => {\n this.userHasTyped = true;\n const lastUserMessage = this.messages?.find(message => {\n return message.type === \"user\";\n });\n if (lastUserMessage) {\n if (this.lastUserMessageHeight) {\n this.textareaShadowPart.style.height = `${this.lastUserMessageHeight}px`;\n }\n this.textAreaEl.value = lastUserMessage.text;\n }\n };\n\n private toggleFilterHandler = () => {\n this.showFilter = !this.showFilter;\n if (this.showFilter) {\n this.filterEl.focus();\n }\n };\n\n private promptFocusHandler = () => {\n this.promptHasFocus = true;\n };\n\n private promptBlurHandler = () => {\n this.promptHasFocus = false;\n };\n\n private scrollToBottom = () => {\n if (this.scrollToBottomFlag) {\n this.messagesWrapperEl.scrollTo(0, this.messagesWrapperEl.scrollHeight);\n this.messagesWrapperEl.scrollTop =\n this.messagesWrapperEl.scrollHeight -\n this.messagesWrapperEl.clientHeight;\n }\n };\n\n #mouseDownListener = () => {\n this.el.removeAttribute(\"tabindex\");\n };\n\n #mouseUpListener = () => {\n this.el.setAttribute(\"tabindex\", \"0\");\n };\n\n render() {\n return (\n <Host\n class={{\n [`assistant--${this.assistantStatus}`]: true,\n \"assistant--in-progress\": this.aIInProgress\n }}\n tabindex=\"0\"\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <slot></slot>\n <header class=\"header\">\n <div class=\"header__first-row\">\n <gxg-title type=\"title-02\">\n {this._componentLocale.componentName}\n </gxg-title>\n <div class=\"header__actions-wrapper\">\n {this.filter ? (\n <gxg-button\n class=\"header__filter-button\"\n type=\"tertiary\"\n icon=\"menus/find\"\n onClick={this.toggleFilterHandler}\n disabled={this.messages.length === 0}\n ></gxg-button>\n ) : null}\n\n <gxg-button\n class=\"header__clear-button\"\n type=\"tertiary\"\n icon=\"bpm/delete\"\n onClick={this.clearMessages}\n disabled={this.messages.length === 0}\n ></gxg-button>\n </div>\n </div>\n {this.filter ? (\n <div\n class={{\n \"header__second-row\": true,\n \"header__second-row--visible\": this.showFilter\n }}\n >\n <div class=\"filter-inner-wrapper\">\n <gxg-form-text\n class=\"header__filter\"\n onInput={this.filterMessagesHandler as any}\n ref={el => (this.filterEl = el as HTMLGxgFormTextElement)}\n ></gxg-form-text>\n </div>\n </div>\n ) : null}\n </header>\n\n <div\n class={{\n \"messages-wrapper\": true,\n \"scrollable\": true\n }}\n ref={el => (this.messagesWrapperEl = el as HTMLDivElement)}\n >\n {this.messages?.length ? (\n <ol class={{ messages: true }}>\n {this.messages.map((message, i) => {\n return this.renderMessage(message, i);\n })}\n </ol>\n ) : null}\n </div>\n\n <div\n class={{\n prompt: true\n }}\n >\n <gxg-form-textarea\n ai\n class=\"prompt__textarea\"\n value={this.promptValue}\n maxHeight={this.promptMaxHeight}\n placeholder={\n this.aIInProgress\n ? this._componentLocale.processingQueryPlaceholder\n : this._componentLocale.promptPlaceholder\n }\n onInput={this.textAreaInputHandler}\n onEnter={this.promptEnterHandler}\n onArrowUpPressed={this.promptArrowUpHandler}\n onBlur={this.promptBlurHandler}\n onFocus={this.promptFocusHandler}\n disabled={this.aIInProgress}\n ref={el => (this.textAreaEl = el as HTMLGxgFormTextareaElement)}\n ></gxg-form-textarea>\n {!this.userHasTyped &&\n !this.aIInProgress &&\n !this.promptHasFocus &&\n this.focusShortcuts?.length > 0 ? (\n <div\n class={{\n prompt__shortcuts: true\n }}\n >\n {this.focusShortcuts.map((shortcut, i) => {\n /* Up to three keys allowed*/\n return i <= 2 ? (\n <span class=\"prompt__shortcut\">{shortcut}</span>\n ) : null;\n })}\n </div>\n ) : null}\n </div>\n </div>\n </Host>\n );\n }\n}\n\nexport type AiStatus = \"indeterminate\" | \"success\" | \"error\";\n\nexport type Message = {\n type: MessageType;\n text: string;\n hidden?: boolean;\n filterValue?: string;\n};\n\nexport type MessageType =\n | \"user\"\n | \"assistant-chat\"\n | \"assistant-action\"\n | \"assistant-in-progress\"\n | \"assistant-error\";\n\nexport type UserMessageCallback = (text: string) => Promise<void>;\n"]}
1
+ {"version":3,"file":"ai-assistant.js","sourceRoot":"","sources":["../../../src/components/ai-assistant/ai-assistant.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Method,\n State,\n Watch,\n Listen\n} from \"@stencil/core\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/icon\",\n \"components/button\"\n];\n\nimport { Locale } from \"../../common/locale\";\n\nimport { MercuryBundles } from \"@genexus/mercury\";\n\n@Component({\n tag: \"gx-ide-ai-assistant\",\n styleUrl: \"ai-assistant.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/ai-assistant\"]\n})\nexport class GxIdeTemplate {\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n /* lastUserMessageHeight is used to set the appropriate height on the textarea, if user presses arrowUp (recover last message)*/\n private lastUserMessageHeight: number;\n private setFocus = true;\n private scrollToBottomFlag = true;\n\n @Element() el: HTMLGxIdeAiAssistantElement;\n private textAreaEl!: HTMLGxgFormTextareaElement;\n private textareaShadowPart: HTMLTextAreaElement;\n private filterEl: HTMLGxgFormTextElement;\n private messagesWrapperEl!: HTMLDivElement;\n\n /**\n * Flag used to hide the shortcuts\n */\n @State() userHasTyped = false;\n\n /**\n * This is true if the last message is of type 'assistant-in-progress'\n */\n @State() aIInProgress = false;\n @Watch(\"aIInProgress\")\n watchAIInProgressHandler(aiInProgress: boolean) {\n if (!aiInProgress) {\n this.setFocus = true;\n }\n }\n\n /**\n * This displays or hides the messages filter\n */\n @State() showFilter = false;\n\n /**\n * True if the prompt textbox has focus\n */\n @State() promptHasFocus = false;\n\n /**\n * The filter value\n */\n @State() filterValue: string;\n\n /**\n * List of messages displayed by the component\n */\n @Prop({ mutable: true }) messages: Message[] = [];\n @Watch(\"messages\")\n watchMessagesHandler() {\n this.evaluateAiInProgress();\n this.evaluateAiStatus();\n }\n\n /**\n * The prompt textarea max-height\n */\n @Prop() readonly promptMaxHeight = \"128px\";\n\n /**\n * A temporary property to illustrate the assistant status\n */\n @Prop({ mutable: true }) assistantStatus: AiStatus = \"indeterminate\";\n\n /**\n * List of keys that make up the shortcut to focus on the component's text input\n */\n @Prop() readonly focusShortcuts: string[];\n\n /**\n * List of keys that make up the shortcut to focus on the component's text input\n */\n @Prop() readonly userMessageCallback: UserMessageCallback;\n\n /**\n * Callback that must be invoked when the conversation is cleared, using the header button.\n */\n @Prop() readonly clearCallback: () => Promise<void>;\n\n /**\n * the prompt value\n */\n @Prop() readonly promptValue: string;\n\n /**\n * If tue, it will display a filter.\n */\n @Prop() readonly filter = true;\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.evaluateAiInProgress();\n this.evaluateAiStatus();\n this.attachShortcuts();\n }\n\n componentDidLoad() {\n this.textareaShadowPart =\n this.textAreaEl.shadowRoot.querySelector(\"textarea\");\n this.el.addEventListener(\"mousedown\", this.#mouseDownListener);\n this.el.addEventListener(\"mouseup\", this.#mouseUpListener);\n }\n\n componentDidRender() {\n if (this.setFocus) {\n setTimeout(() => {\n /* Doesn't seems to work without the setTimeout */\n this.textAreaEl.focus();\n this.setFocus = false;\n }, 50);\n }\n setTimeout(() => {\n this.scrollToBottom();\n }, 200);\n }\n\n @Listen(\"focus\", { capture: true })\n handleFocus(event: FocusEvent) {\n if (this.textAreaEl) {\n event.preventDefault();\n this.textAreaEl.focus();\n }\n }\n\n /**\n * Clear the list of messages\n */\n @Method()\n async clear() {\n this.messages = [];\n }\n\n /**\n * Add a message. This method will be used by the host to add messages from the assistant\n */\n @Method()\n async addMessage(message: Message) {\n if (message.text?.length > 0) {\n const messages = [...this.messages];\n const updateInProgressMessage =\n messages?.length > 0 &&\n messages[messages.length - 1].type === \"assistant-in-progress\";\n if (updateInProgressMessage) {\n messages.pop();\n }\n messages.push(message);\n this.messages = messages;\n }\n }\n\n private evaluateAiInProgress = () => {\n if (\n this.messages?.length > 0 &&\n this.messages[this.messages.length - 1].type === \"assistant-in-progress\"\n ) {\n this.aIInProgress = true;\n } else {\n this.aIInProgress = false;\n }\n };\n\n private evaluateAiStatus = () => {\n if (this.messages?.length === 0) {\n this.assistantStatus = \"indeterminate\";\n return;\n }\n if (\n this.messages[this.messages.length - 1].type ===\n \"assistant-in-progress\" ||\n this.messages[this.messages.length - 1].type === \"user\"\n ) {\n this.assistantStatus = \"indeterminate\";\n } else if (\n this.messages[this.messages.length - 1].type === \"assistant-error\"\n ) {\n this.assistantStatus = \"error\";\n } else {\n this.assistantStatus = \"success\";\n }\n };\n\n private renderMessage = (\n message: Message,\n i: number\n ): HTMLLIElement | void => {\n if (message.text.length > 0) {\n return (\n <gx-ide-ai-message\n style={{\n \"--primary-color\": \"lightblue\"\n }}\n message={message.text}\n messageType={message.type}\n hidden={message.hidden}\n filterValue={this.filterValue}\n key={`${i.toString()}-${message.type}`}\n translations={this._componentLocale.aiMessage}\n aiAssistantHostRef={this.el}\n ></gx-ide-ai-message>\n );\n }\n };\n\n private textAreaInputHandler = () => {\n this.userHasTyped = true;\n this.showFilter = false;\n this.filterEl.value = \"\";\n this.filterValue = \"\";\n this.scrollToBottomFlag = true;\n };\n\n private promptEnterHandler = async (prompt: CustomEvent<string>) => {\n /* First remove double spaces */\n const promptTrimmed = prompt.detail.replace(/\\s+/g, \" \");\n /* Update textarea value to get the proper height */\n this.textAreaEl.value = promptTrimmed;\n setTimeout(() => {\n /* Then save the actual height (setTimeOut required) */\n this.lastUserMessageHeight = this.textAreaEl.offsetHeight;\n }, 0);\n /* The clear the textarea */\n this.textAreaEl.value = \"\";\n /* Insert the user message */\n this.addMessage({\n type: \"user\",\n text: promptTrimmed\n });\n /* Call the callback */\n if (this.userMessageCallback && !this.aIInProgress) {\n this.aIInProgress = true;\n this.userMessageCallback(promptTrimmed).then(() => {\n this.aIInProgress = false;\n });\n }\n };\n\n private filterMessagesHandler = (e: CustomEvent<string>) => {\n this.scrollToBottomFlag = false;\n this.filterValue = e.detail.toLowerCase();\n const filteredMessages = [...this.messages];\n filteredMessages.forEach(message => {\n if (message.text.toLowerCase().includes(this.filterValue)) {\n message.hidden = false;\n } else {\n message.hidden = true;\n }\n });\n this.messages = filteredMessages;\n };\n\n private clearMessages = () => {\n this.messages = [];\n this.textAreaEl.focus();\n if (this.clearCallback) {\n this.clearCallback();\n }\n };\n\n private attachShortcuts = () => {\n if (this.focusShortcuts?.length > 0) {\n const ctrlFocusIndex = this.focusShortcuts.findIndex(\n key => key.toLocaleLowerCase() === \"ctrl\"\n );\n const shiftFocusIndex = this.focusShortcuts.findIndex(\n key => key.toLocaleLowerCase() === \"shift\"\n );\n const cmdKeyIndex = this.focusShortcuts.findIndex(\n key => key.toLocaleLowerCase() === \"cmd\"\n );\n const keyFocus = this.focusShortcuts\n .find(key => {\n return (\n key.toLocaleLowerCase() !== \"ctrl\" &&\n key.toLocaleLowerCase() !== \"shift\" &&\n key.toLocaleLowerCase() !== \"cmd\"\n );\n })\n .toLowerCase();\n document.addEventListener(\"keydown\", (e: KeyboardEvent) => {\n if (e.key === keyFocus && ctrlFocusIndex !== -1 && e.ctrlKey) {\n this.textAreaEl.focus();\n this.userHasTyped = true;\n } else if (e.key === keyFocus && shiftFocusIndex !== -1 && e.shiftKey) {\n this.textAreaEl.focus();\n this.userHasTyped = true;\n } else if (e.key === keyFocus && cmdKeyIndex !== -1 && e.metaKey) {\n this.textAreaEl.focus();\n this.userHasTyped = true;\n }\n });\n }\n };\n\n private promptArrowUpHandler = () => {\n this.userHasTyped = true;\n const lastUserMessage = this.messages?.find(message => {\n return message.type === \"user\";\n });\n if (lastUserMessage) {\n if (this.lastUserMessageHeight) {\n this.textareaShadowPart.style.height = `${this.lastUserMessageHeight}px`;\n }\n this.textAreaEl.value = lastUserMessage.text;\n }\n };\n\n private toggleFilterHandler = () => {\n this.showFilter = !this.showFilter;\n if (this.showFilter) {\n this.filterEl.focus();\n }\n };\n\n private promptFocusHandler = () => {\n this.promptHasFocus = true;\n };\n\n private promptBlurHandler = () => {\n this.promptHasFocus = false;\n };\n\n private scrollToBottom = () => {\n if (this.scrollToBottomFlag) {\n this.messagesWrapperEl.scrollTo(0, this.messagesWrapperEl.scrollHeight);\n this.messagesWrapperEl.scrollTop =\n this.messagesWrapperEl.scrollHeight -\n this.messagesWrapperEl.clientHeight;\n }\n };\n\n #mouseDownListener = () => {\n this.el.removeAttribute(\"tabindex\");\n };\n\n #mouseUpListener = () => {\n this.el.setAttribute(\"tabindex\", \"0\");\n };\n\n render() {\n return (\n <Host\n class={{\n [`assistant--${this.assistantStatus}`]: true,\n \"assistant--in-progress\": this.aIInProgress\n }}\n tabindex=\"0\"\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <slot></slot>\n <header class=\"header\">\n <div class=\"header__first-row\">\n <gxg-title type=\"title-02\">\n {this._componentLocale.componentName}\n </gxg-title>\n <div class=\"header__actions-wrapper\">\n {this.filter ? (\n <gxg-button\n class=\"header__filter-button\"\n type=\"tertiary\"\n icon=\"menus/find\"\n onClick={this.toggleFilterHandler}\n disabled={this.messages.length === 0}\n ></gxg-button>\n ) : null}\n\n <gxg-button\n class=\"header__clear-button\"\n type=\"tertiary\"\n icon=\"bpm/delete\"\n onClick={this.clearMessages}\n disabled={this.messages.length === 0}\n ></gxg-button>\n </div>\n </div>\n {this.filter ? (\n <div\n class={{\n \"header__second-row\": true,\n \"header__second-row--visible\": this.showFilter\n }}\n >\n <div class=\"filter-inner-wrapper\">\n <gxg-form-text\n class=\"header__filter\"\n onInput={this.filterMessagesHandler as any}\n ref={el => (this.filterEl = el as HTMLGxgFormTextElement)}\n ></gxg-form-text>\n </div>\n </div>\n ) : null}\n </header>\n\n <div\n class={{\n \"messages-wrapper\": true,\n \"scrollable\": true\n }}\n ref={el => (this.messagesWrapperEl = el as HTMLDivElement)}\n >\n {this.messages?.length ? (\n <ol class={{ messages: true }}>\n {this.messages.map((message, i) => {\n return this.renderMessage(message, i);\n })}\n </ol>\n ) : null}\n </div>\n\n <div\n class={{\n prompt: true\n }}\n >\n <gxg-form-textarea\n ai\n class=\"prompt__textarea\"\n value={this.promptValue}\n maxHeight={this.promptMaxHeight}\n placeholder={\n this.aIInProgress\n ? this._componentLocale.processingQueryPlaceholder\n : this._componentLocale.promptPlaceholder\n }\n onInput={this.textAreaInputHandler}\n onEnter={this.promptEnterHandler}\n onArrowUpPressed={this.promptArrowUpHandler}\n onBlur={this.promptBlurHandler}\n onFocus={this.promptFocusHandler}\n disabled={this.aIInProgress}\n ref={el => (this.textAreaEl = el as HTMLGxgFormTextareaElement)}\n ></gxg-form-textarea>\n {!this.userHasTyped &&\n !this.aIInProgress &&\n !this.promptHasFocus &&\n this.focusShortcuts?.length > 0 ? (\n <div\n class={{\n prompt__shortcuts: true\n }}\n >\n {this.focusShortcuts.map((shortcut, i) => {\n /* Up to three keys allowed*/\n return i <= 2 ? (\n <span class=\"prompt__shortcut\">{shortcut}</span>\n ) : null;\n })}\n </div>\n ) : null}\n </div>\n </div>\n </Host>\n );\n }\n}\n\nexport type AiStatus = \"indeterminate\" | \"success\" | \"error\";\n\nexport type Message = {\n type: MessageType;\n text: string;\n hidden?: boolean;\n filterValue?: string;\n};\n\nexport type MessageType =\n | \"user\"\n | \"assistant-chat\"\n | \"assistant-action\"\n | \"assistant-in-progress\"\n | \"assistant-error\";\n\nexport type UserMessageCallback = (text: string) => Promise<void>;\n"]}
@@ -159,10 +159,11 @@ export class GxIdeBpmAppDeclaration {
159
159
  __classPrivateFieldGet(this, _GxIdeBpmAppDeclaration_mapSuggestedApplicationsToComboBoxModel, "f").call(this, suggestedApplicationNames);
160
160
  });
161
161
  _GxIdeBpmAppDeclaration_updateApplicationData.set(this, () => {
162
- this.application = { ...this.application };
162
+ this.application = Object.assign({}, this.application);
163
163
  });
164
164
  // Renders
165
165
  _GxIdeBpmAppDeclaration_renderDataMappingsGrid.set(this, () => {
166
+ var _a;
166
167
  const applicationDataToDisplay = this.application.mappings.length;
167
168
  if (applicationDataToDisplay) {
168
169
  // Set as animated for the next time.
@@ -173,7 +174,7 @@ export class GxIdeBpmAppDeclaration {
173
174
  "tabular-grid-application-declaration": true,
174
175
  "scrollable": true,
175
176
  "empty-result": !applicationDataToDisplay
176
- }, part: "ch-grid-data-mappings" }, h("ch-tabular-grid-columnset", { class: "tabular-grid-column-set" }, h("ch-tabular-grid-column", { class: "tabular-grid-column", columnName: this.application.application?.typeIcon ===
177
+ }, part: "ch-grid-data-mappings" }, h("ch-tabular-grid-columnset", { class: "tabular-grid-column-set" }, h("ch-tabular-grid-column", { class: "tabular-grid-column", columnName: ((_a = this.application.application) === null || _a === void 0 ? void 0 : _a.typeIcon) ===
177
178
  "objects/transaction"
178
179
  ? __classPrivateFieldGet(this, _GxIdeBpmAppDeclaration_componentLocale, "f").dataMappings.firstColName
179
180
  : __classPrivateFieldGet(this, _GxIdeBpmAppDeclaration_componentLocale, "f").dataMappings.firstColNameParameter, settingable: false, size: config.tabularGrid.colSize.common }), h("ch-tabular-grid-column", { class: "tabular-grid-column", columnName: __classPrivateFieldGet(this, _GxIdeBpmAppDeclaration_componentLocale, "f").dataMappings.secondColName, settingable: false, sortable: false, size: config.tabularGrid.colSize.common }), h("ch-tabular-grid-column", { class: "tabular-grid-column", settingable: false, sortable: false, size: config.tabularGrid.colSize.auto })), this.application.mappings.length ? (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, this.application.mappings.map((obj, index) => (h("ch-tabular-grid-row", { class: "tabular-grid-row", rowId: `${index}-${obj.parameter}`, key: `${index}-${obj.parameter}-grid-row` }, h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, h("span", { class: "pill-tag elevation-3" }, __classPrivateFieldGet(this, _GxIdeBpmAppDeclaration_ACCESS_CAPTION_MAP, "f")[obj.access]), obj.parameter), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, h("ch-combo-box-render", { class: "combo-box", model: __classPrivateFieldGet(this, _GxIdeBpmAppDeclaration_mapRelevantDataOptionsToComboBoxModel, "f").call(this, obj.relevantDataOptions), value: obj.relevantData, key: `${index}-${obj.parameter}-combo-box`, onInput: __classPrivateFieldGet(this, _GxIdeBpmAppDeclaration_relevantDataInputHandler, "f").call(this, index) })), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, h("button", { "data-index": index, onClick: __classPrivateFieldGet(this, _GxIdeBpmAppDeclaration_selectMappingCallbackHandler, "f").call(this, obj.parameter, index), class: "button-tertiary button-icon-only", "aria-label": __classPrivateFieldGet(this, _GxIdeBpmAppDeclaration_componentLocale, "f").buttons.selectMapping, title: __classPrivateFieldGet(this, _GxIdeBpmAppDeclaration_componentLocale, "f").buttons.selectMapping }, h("ch-image", { class: "icon-md", src: ADD_ICON })))))))) : (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, h("ch-tabular-grid-rowset-empty", null, h("gx-ide-empty-state", { isAnimated: __classPrivateFieldGet(this, _GxIdeBpmAppDeclaration_animateEmptyState, "f"), stateIconSrc: FILTER_ICON, stateTitle: __classPrivateFieldGet(this, _GxIdeBpmAppDeclaration_componentLocale, "f").emptyState.title, stateDescription: __classPrivateFieldGet(this, _GxIdeBpmAppDeclaration_componentLocale, "f").emptyState.description }))))))));
@@ -1 +1 @@
1
- {"version":3,"file":"bpm-app-declaration.js","sourceRoot":"","sources":["../../../../src/components/bpm/application-declaration/bpm-app-declaration.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter,\n getAssetPath\n} from \"@stencil/core\";\n\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../../common/locale\";\nimport { config } from \"../../../common/config\";\nimport { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/combo-box\",\n \"components/icon\",\n \"components/tabular-grid\",\n \"utils/elevation\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/spacing\"\n];\n\nconst ADD_ICON = getIconPath({\n category: \"system\",\n name: \"add\",\n colorType: \"neutral\"\n});\nconst FILTER_ICON = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"on-elevation\"\n});\nconst MORE_ICON = getIconPath({\n category: \"system\",\n name: \"more-horizontal\",\n colorType: \"primary\"\n});\n\nconst SUGGEST_OPTIONS = {\n alreadyProcessed: true,\n autoExpand: false,\n hideMatchesAndShowNonMatches: false,\n highlightMatchedItems: false,\n matchCase: false,\n regularExpression: false,\n strict: false,\n renderActiveItemIconOnExpand: true\n};\n\n@Component({\n tag: \"gx-ide-bpm-app-declaration\",\n styleUrl: \"bpm-app-declaration.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/bpm-app-declaration\"]\n})\nexport class GxIdeBpmAppDeclaration {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n #animateEmptyState = true;\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/bpm-app-declaration/shortcuts.json`\n );\n\n #ACCESS_CAPTION_MAP: Record<DataMappingAccess, string> = {\n // To be defined on componentWillLoad\n in: undefined,\n out: undefined,\n inout: undefined\n };\n\n @Element() el: HTMLGxIdeBpmAppDeclarationElement;\n\n /**\n * The application ComoBoxModel. When the component renders for the first time, it is required\n * to display the application typeIcon. Later, it is required to display the suggested application\n * options with the combo suggest.\n */\n @State() applicationComboBoxModel: ComboBoxModel = [];\n\n /**\n * Current value of the application declaration. Keep in mind that this property will be used by\n * the host to initialize the component, meaning it will assign the current declaration value.\n */\n @Prop({ mutable: true }) application: ApplicationDeclarationData;\n\n /**\n * Callback invoked when user cancels application declaration\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * Callback invoked when user confirms application declaration\n */\n @Prop() readonly confirmCallback: ConfirmCallback;\n\n /**\n * Callback invoked when user select one of the options provided by the suggest\n */\n @Prop() readonly getDataMappingCallback: GetDataMappingCallback;\n\n /**\n * Callback invoked to get access to selection application dialog\n */\n @Prop() readonly selectApplicationCallback: SelectApplicationCallback;\n\n /**\n * Callback invoked when user press mapping auto-def button\n */\n @Prop() readonly selectMappingCallback: SelectMappingCallback;\n\n /**\n * Callback invoked to get options for application input suggest\n */\n @Prop() readonly suggestApplicationsCallback: SuggestApplicationsCallback;\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#setApplicationData(this.application.application);\n if (this.application.mappings.length === 0) {\n this.#animateEmptyState = false;\n }\n this.#setAccessCaptions();\n }\n\n #setAccessCaptions = () => {\n this.#ACCESS_CAPTION_MAP.in = this.#componentLocale.dataMappings.access.in;\n this.#ACCESS_CAPTION_MAP.out =\n this.#componentLocale.dataMappings.access.out;\n this.#ACCESS_CAPTION_MAP.inout =\n this.#componentLocale.dataMappings.access.inout;\n };\n\n #applicationInputChangedHandler = async (\n event: CustomEvent<string> | InputEvent\n ) => {\n const selectedApplicationName = event.detail as string;\n this.application.mappings = await this.getDataMappingCallback(\n selectedApplicationName\n );\n };\n\n #cancelCallbackHandler = () => {\n this.cancelCallback();\n };\n\n #clearApplicationHandler = () => {\n this.application = {\n application: {\n name: \"\",\n typeIcon: \"\"\n },\n mappings: []\n };\n };\n\n #confirmCallbackHandler = () => {\n this.confirmCallback(this.application);\n };\n\n #mapRelevantDataOptionsToComboBoxModel = (\n relevantDataOptions: string[]\n ): ComboBoxModel => {\n return relevantDataOptions.map(optionName => {\n return {\n caption: optionName,\n value: optionName\n };\n });\n };\n\n #mapSuggestedApplicationsToComboBoxModel = (\n suggestedApplicationsNames: string[]\n ): ComboBoxModel => {\n return suggestedApplicationsNames.map(applicationName => {\n return {\n caption: applicationName,\n value: applicationName\n };\n });\n };\n\n #relevantDataInputHandler =\n (mappingIndex: number) =>\n async (event: CustomEvent<string> | InputEvent) => {\n const inputValue = event.detail as string;\n this.application.mappings[mappingIndex].relevantData = inputValue;\n };\n\n #selectApplicationCallbackHandler = async () => {\n const applicationDeclarationData = await this.selectApplicationCallback();\n if (applicationDeclarationData) {\n this.#setApplicationData(applicationDeclarationData.application);\n this.application.mappings = applicationDeclarationData.mappings;\n }\n };\n\n #selectMappingCallbackHandler =\n (parameter: string, mappingIndex: number) => async () => {\n const returnedRelevantData = await this.selectMappingCallback(parameter);\n if (returnedRelevantData) {\n const currentRelevantDataOptions =\n this.application.mappings[mappingIndex].relevantDataOptions;\n\n const indexOfReturnedRelevantData =\n currentRelevantDataOptions.indexOf(returnedRelevantData);\n\n if (indexOfReturnedRelevantData === -1) {\n // returnedRelevantData is a new option. Add to combo-box.\n currentRelevantDataOptions.push(returnedRelevantData);\n }\n // Set as selected\n this.application.mappings[mappingIndex].relevantData =\n returnedRelevantData;\n\n this.#updateApplicationData();\n }\n };\n\n #setApplicationData = (applicationData: ApplicationData) => {\n if (applicationData) {\n const applicationName = applicationData.name;\n this.application.application.name = applicationName;\n this.applicationComboBoxModel = [\n {\n caption: applicationName,\n value: applicationName,\n startImgSrc: applicationData.typeIcon\n }\n ];\n }\n };\n\n #suggestInputHandler = async (event: CustomEvent<string> | InputEvent) => {\n const inputValue = event.detail as string;\n this.application.application.name = inputValue;\n const suggestedApplicationNames: string[] =\n await this.suggestApplicationsCallback(inputValue);\n\n this.applicationComboBoxModel =\n this.#mapSuggestedApplicationsToComboBoxModel(suggestedApplicationNames);\n };\n\n #updateApplicationData = () => {\n this.application = { ...this.application };\n };\n\n // Renders\n\n #renderDataMappingsGrid = (): Element => {\n const applicationDataToDisplay = this.application.mappings.length;\n if (applicationDataToDisplay) {\n // Set as animated for the next time.\n this.#animateEmptyState = true;\n }\n return (\n <div class=\"field-group data-mapping-grid-container\">\n <div class=\"field field-block\">\n <label class=\"spacing-body-inline-start label\">\n {this.#componentLocale.dataMappings.title}\n </label>\n <ch-tabular-grid\n class={{\n \"tabular-grid\": true,\n \"tabular-grid-application-declaration\": true,\n \"scrollable\": true,\n \"empty-result\": !applicationDataToDisplay\n }}\n part=\"ch-grid-data-mappings\"\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName={\n this.application.application?.typeIcon ===\n \"objects/transaction\"\n ? this.#componentLocale.dataMappings.firstColName\n : this.#componentLocale.dataMappings.firstColNameParameter\n }\n settingable={false}\n size={config.tabularGrid.colSize.common}\n ></ch-tabular-grid-column>\n\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName={this.#componentLocale.dataMappings.secondColName}\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.common}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.auto}\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n {this.application.mappings.length ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.application.mappings.map(\n (obj: DataMappingData, index) => (\n <ch-tabular-grid-row\n class=\"tabular-grid-row\"\n rowId={`${index}-${obj.parameter}`}\n key={`${index}-${obj.parameter}-grid-row`}\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <span class=\"pill-tag elevation-3\">\n {\n this.#ACCESS_CAPTION_MAP[\n obj.access as DataMappingAccess\n ]\n }\n </span>\n {obj.parameter}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-combo-box-render\n class=\"combo-box\"\n model={this.#mapRelevantDataOptionsToComboBoxModel(\n obj.relevantDataOptions\n )}\n value={obj.relevantData}\n key={`${index}-${obj.parameter}-combo-box`}\n onInput={this.#relevantDataInputHandler(index)}\n ></ch-combo-box-render>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <button\n data-index={index}\n onClick={this.#selectMappingCallbackHandler(\n obj.parameter,\n index\n )}\n class=\"button-tertiary button-icon-only\"\n aria-label={\n this.#componentLocale.buttons.selectMapping\n }\n title={this.#componentLocale.buttons.selectMapping}\n >\n <ch-image class=\"icon-md\" src={ADD_ICON}></ch-image>\n </button>\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n )\n )}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n <gx-ide-empty-state\n isAnimated={this.#animateEmptyState}\n stateIconSrc={FILTER_ICON}\n stateTitle={this.#componentLocale.emptyState.title}\n stateDescription={\n this.#componentLocale.emptyState.description\n }\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n </div>\n </div>\n );\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"section\">\n <header slot=\"header\" class=\"header spacing-body\">\n <ch-combo-box-render\n class=\"combo-box\"\n value={this.application.application.name}\n model={this.applicationComboBoxModel}\n suggestDebounce={config.inputDebounce}\n suggest\n suggestOptions={SUGGEST_OPTIONS}\n onInput={this.#suggestInputHandler}\n onChange={this.#applicationInputChangedHandler}\n ></ch-combo-box-render>\n\n <div class=\"buttons-spacer\">\n <button\n onClick={this.#selectApplicationCallbackHandler}\n class=\"button-tertiary button-icon-only\"\n aria-label={this.#componentLocale.buttons.selectApplication}\n title={this.#componentLocale.buttons.selectApplication}\n >\n <ch-image class=\"icon-md\" src={MORE_ICON}></ch-image>\n </button>\n <button\n onClick={this.#clearApplicationHandler}\n class=\"button-secondary\"\n >\n Clear\n </button>\n </div>\n </header>\n\n {this.#renderDataMappingsGrid()}\n\n <footer class=\"control-footer spacing-body-block-end spacing-body-inline\">\n <div class=\"buttons-spacer\">\n <button\n class=\"button-secondary\"\n onClick={this.#cancelCallbackHandler}\n >\n {this.#componentLocale.buttons.cancelButton}\n </button>\n <button\n class=\"button-primary\"\n onClick={this.#confirmCallbackHandler}\n >\n {this.#componentLocale.buttons.confirmButton}\n </button>\n </div>\n </footer>\n </section>\n <ch-shortcuts src={this.#shortcutsSrc}></ch-shortcuts>\n </Host>\n );\n }\n}\n\nexport type ApplicationDeclarationData = {\n application?: ApplicationData;\n mappings: DataMappingData[];\n};\nexport type ApplicationData = {\n name: string;\n typeIcon: string;\n};\n\ntype DataMappingAccess = \"in\" | \"out\" | \"inout\";\n\nexport type DataMappingData = {\n parameter: string;\n access: DataMappingAccess;\n relevantDataOptions: string[];\n relevantData?: string;\n};\n\nexport type SuggestApplicationsCallback = (\n prefix: string\n) => Promise<string[] | undefined>;\n\nexport type SelectApplicationCallback = () => Promise<\n ApplicationDeclarationData | undefined\n>;\n\nexport type SelectMappingCallback = (parameter: string) => Promise<string>;\n\nexport type ConfirmCallback = (\n data: ApplicationDeclarationData\n) => Promise<void>;\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type GetDataMappingCallback = (\n applicationName: string\n) => Promise<DataMappingData[]>;\n"]}
1
+ {"version":3,"file":"bpm-app-declaration.js","sourceRoot":"","sources":["../../../../src/components/bpm/application-declaration/bpm-app-declaration.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter,\n getAssetPath\n} from \"@stencil/core\";\n\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../../common/locale\";\nimport { config } from \"../../../common/config\";\nimport { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/combo-box\",\n \"components/icon\",\n \"components/tabular-grid\",\n \"utils/elevation\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/spacing\"\n];\n\nconst ADD_ICON = getIconPath({\n category: \"system\",\n name: \"add\",\n colorType: \"neutral\"\n});\nconst FILTER_ICON = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"on-elevation\"\n});\nconst MORE_ICON = getIconPath({\n category: \"system\",\n name: \"more-horizontal\",\n colorType: \"primary\"\n});\n\nconst SUGGEST_OPTIONS = {\n alreadyProcessed: true,\n autoExpand: false,\n hideMatchesAndShowNonMatches: false,\n highlightMatchedItems: false,\n matchCase: false,\n regularExpression: false,\n strict: false,\n renderActiveItemIconOnExpand: true\n};\n\n@Component({\n tag: \"gx-ide-bpm-app-declaration\",\n styleUrl: \"bpm-app-declaration.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/bpm-app-declaration\"]\n})\nexport class GxIdeBpmAppDeclaration {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n #animateEmptyState = true;\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/bpm-app-declaration/shortcuts.json`\n );\n\n #ACCESS_CAPTION_MAP: Record<DataMappingAccess, string> = {\n // To be defined on componentWillLoad\n in: undefined,\n out: undefined,\n inout: undefined\n };\n\n @Element() el: HTMLGxIdeBpmAppDeclarationElement;\n\n /**\n * The application ComoBoxModel. When the component renders for the first time, it is required\n * to display the application typeIcon. Later, it is required to display the suggested application\n * options with the combo suggest.\n */\n @State() applicationComboBoxModel: ComboBoxModel = [];\n\n /**\n * Current value of the application declaration. Keep in mind that this property will be used by\n * the host to initialize the component, meaning it will assign the current declaration value.\n */\n @Prop({ mutable: true }) application: ApplicationDeclarationData;\n\n /**\n * Callback invoked when user cancels application declaration\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * Callback invoked when user confirms application declaration\n */\n @Prop() readonly confirmCallback: ConfirmCallback;\n\n /**\n * Callback invoked when user select one of the options provided by the suggest\n */\n @Prop() readonly getDataMappingCallback: GetDataMappingCallback;\n\n /**\n * Callback invoked to get access to selection application dialog\n */\n @Prop() readonly selectApplicationCallback: SelectApplicationCallback;\n\n /**\n * Callback invoked when user press mapping auto-def button\n */\n @Prop() readonly selectMappingCallback: SelectMappingCallback;\n\n /**\n * Callback invoked to get options for application input suggest\n */\n @Prop() readonly suggestApplicationsCallback: SuggestApplicationsCallback;\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#setApplicationData(this.application.application);\n if (this.application.mappings.length === 0) {\n this.#animateEmptyState = false;\n }\n this.#setAccessCaptions();\n }\n\n #setAccessCaptions = () => {\n this.#ACCESS_CAPTION_MAP.in = this.#componentLocale.dataMappings.access.in;\n this.#ACCESS_CAPTION_MAP.out =\n this.#componentLocale.dataMappings.access.out;\n this.#ACCESS_CAPTION_MAP.inout =\n this.#componentLocale.dataMappings.access.inout;\n };\n\n #applicationInputChangedHandler = async (\n event: CustomEvent<string> | InputEvent\n ) => {\n const selectedApplicationName = event.detail as string;\n this.application.mappings = await this.getDataMappingCallback(\n selectedApplicationName\n );\n };\n\n #cancelCallbackHandler = () => {\n this.cancelCallback();\n };\n\n #clearApplicationHandler = () => {\n this.application = {\n application: {\n name: \"\",\n typeIcon: \"\"\n },\n mappings: []\n };\n };\n\n #confirmCallbackHandler = () => {\n this.confirmCallback(this.application);\n };\n\n #mapRelevantDataOptionsToComboBoxModel = (\n relevantDataOptions: string[]\n ): ComboBoxModel => {\n return relevantDataOptions.map(optionName => {\n return {\n caption: optionName,\n value: optionName\n };\n });\n };\n\n #mapSuggestedApplicationsToComboBoxModel = (\n suggestedApplicationsNames: string[]\n ): ComboBoxModel => {\n return suggestedApplicationsNames.map(applicationName => {\n return {\n caption: applicationName,\n value: applicationName\n };\n });\n };\n\n #relevantDataInputHandler =\n (mappingIndex: number) =>\n async (event: CustomEvent<string> | InputEvent) => {\n const inputValue = event.detail as string;\n this.application.mappings[mappingIndex].relevantData = inputValue;\n };\n\n #selectApplicationCallbackHandler = async () => {\n const applicationDeclarationData = await this.selectApplicationCallback();\n if (applicationDeclarationData) {\n this.#setApplicationData(applicationDeclarationData.application);\n this.application.mappings = applicationDeclarationData.mappings;\n }\n };\n\n #selectMappingCallbackHandler =\n (parameter: string, mappingIndex: number) => async () => {\n const returnedRelevantData = await this.selectMappingCallback(parameter);\n if (returnedRelevantData) {\n const currentRelevantDataOptions =\n this.application.mappings[mappingIndex].relevantDataOptions;\n\n const indexOfReturnedRelevantData =\n currentRelevantDataOptions.indexOf(returnedRelevantData);\n\n if (indexOfReturnedRelevantData === -1) {\n // returnedRelevantData is a new option. Add to combo-box.\n currentRelevantDataOptions.push(returnedRelevantData);\n }\n // Set as selected\n this.application.mappings[mappingIndex].relevantData =\n returnedRelevantData;\n\n this.#updateApplicationData();\n }\n };\n\n #setApplicationData = (applicationData: ApplicationData) => {\n if (applicationData) {\n const applicationName = applicationData.name;\n this.application.application.name = applicationName;\n this.applicationComboBoxModel = [\n {\n caption: applicationName,\n value: applicationName,\n startImgSrc: applicationData.typeIcon\n }\n ];\n }\n };\n\n #suggestInputHandler = async (event: CustomEvent<string> | InputEvent) => {\n const inputValue = event.detail as string;\n this.application.application.name = inputValue;\n const suggestedApplicationNames: string[] =\n await this.suggestApplicationsCallback(inputValue);\n\n this.applicationComboBoxModel =\n this.#mapSuggestedApplicationsToComboBoxModel(suggestedApplicationNames);\n };\n\n #updateApplicationData = () => {\n this.application = { ...this.application };\n };\n\n // Renders\n\n #renderDataMappingsGrid = (): Element => {\n const applicationDataToDisplay = this.application.mappings.length;\n if (applicationDataToDisplay) {\n // Set as animated for the next time.\n this.#animateEmptyState = true;\n }\n return (\n <div class=\"field-group data-mapping-grid-container\">\n <div class=\"field field-block\">\n <label class=\"spacing-body-inline-start label\">\n {this.#componentLocale.dataMappings.title}\n </label>\n <ch-tabular-grid\n class={{\n \"tabular-grid\": true,\n \"tabular-grid-application-declaration\": true,\n \"scrollable\": true,\n \"empty-result\": !applicationDataToDisplay\n }}\n part=\"ch-grid-data-mappings\"\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName={\n this.application.application?.typeIcon ===\n \"objects/transaction\"\n ? this.#componentLocale.dataMappings.firstColName\n : this.#componentLocale.dataMappings.firstColNameParameter\n }\n settingable={false}\n size={config.tabularGrid.colSize.common}\n ></ch-tabular-grid-column>\n\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName={this.#componentLocale.dataMappings.secondColName}\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.common}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.auto}\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n {this.application.mappings.length ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.application.mappings.map(\n (obj: DataMappingData, index) => (\n <ch-tabular-grid-row\n class=\"tabular-grid-row\"\n rowId={`${index}-${obj.parameter}`}\n key={`${index}-${obj.parameter}-grid-row`}\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <span class=\"pill-tag elevation-3\">\n {\n this.#ACCESS_CAPTION_MAP[\n obj.access as DataMappingAccess\n ]\n }\n </span>\n {obj.parameter}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-combo-box-render\n class=\"combo-box\"\n model={this.#mapRelevantDataOptionsToComboBoxModel(\n obj.relevantDataOptions\n )}\n value={obj.relevantData}\n key={`${index}-${obj.parameter}-combo-box`}\n onInput={this.#relevantDataInputHandler(index)}\n ></ch-combo-box-render>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <button\n data-index={index}\n onClick={this.#selectMappingCallbackHandler(\n obj.parameter,\n index\n )}\n class=\"button-tertiary button-icon-only\"\n aria-label={\n this.#componentLocale.buttons.selectMapping\n }\n title={this.#componentLocale.buttons.selectMapping}\n >\n <ch-image class=\"icon-md\" src={ADD_ICON}></ch-image>\n </button>\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n )\n )}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n <gx-ide-empty-state\n isAnimated={this.#animateEmptyState}\n stateIconSrc={FILTER_ICON}\n stateTitle={this.#componentLocale.emptyState.title}\n stateDescription={\n this.#componentLocale.emptyState.description\n }\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n </div>\n </div>\n );\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"section\">\n <header slot=\"header\" class=\"header spacing-body\">\n <ch-combo-box-render\n class=\"combo-box\"\n value={this.application.application.name}\n model={this.applicationComboBoxModel}\n suggestDebounce={config.inputDebounce}\n suggest\n suggestOptions={SUGGEST_OPTIONS}\n onInput={this.#suggestInputHandler}\n onChange={this.#applicationInputChangedHandler}\n ></ch-combo-box-render>\n\n <div class=\"buttons-spacer\">\n <button\n onClick={this.#selectApplicationCallbackHandler}\n class=\"button-tertiary button-icon-only\"\n aria-label={this.#componentLocale.buttons.selectApplication}\n title={this.#componentLocale.buttons.selectApplication}\n >\n <ch-image class=\"icon-md\" src={MORE_ICON}></ch-image>\n </button>\n <button\n onClick={this.#clearApplicationHandler}\n class=\"button-secondary\"\n >\n Clear\n </button>\n </div>\n </header>\n\n {this.#renderDataMappingsGrid()}\n\n <footer class=\"control-footer spacing-body-block-end spacing-body-inline\">\n <div class=\"buttons-spacer\">\n <button\n class=\"button-secondary\"\n onClick={this.#cancelCallbackHandler}\n >\n {this.#componentLocale.buttons.cancelButton}\n </button>\n <button\n class=\"button-primary\"\n onClick={this.#confirmCallbackHandler}\n >\n {this.#componentLocale.buttons.confirmButton}\n </button>\n </div>\n </footer>\n </section>\n <ch-shortcuts src={this.#shortcutsSrc}></ch-shortcuts>\n </Host>\n );\n }\n}\n\nexport type ApplicationDeclarationData = {\n application?: ApplicationData;\n mappings: DataMappingData[];\n};\nexport type ApplicationData = {\n name: string;\n typeIcon: string;\n};\n\ntype DataMappingAccess = \"in\" | \"out\" | \"inout\";\n\nexport type DataMappingData = {\n parameter: string;\n access: DataMappingAccess;\n relevantDataOptions: string[];\n relevantData?: string;\n};\n\nexport type SuggestApplicationsCallback = (\n prefix: string\n) => Promise<string[] | undefined>;\n\nexport type SelectApplicationCallback = () => Promise<\n ApplicationDeclarationData | undefined\n>;\n\nexport type SelectMappingCallback = (parameter: string) => Promise<string>;\n\nexport type ConfirmCallback = (\n data: ApplicationDeclarationData\n) => Promise<void>;\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type GetDataMappingCallback = (\n applicationName: string\n) => Promise<DataMappingData[]>;\n"]}
@@ -12,11 +12,12 @@ export class GxIdeBpmExportXpdl {
12
12
  // 8.PUBLIC METHODS API //
13
13
  // 9.LOCAL METHODS //
14
14
  this.exportHandler = () => {
15
+ var _a;
15
16
  if (this.exportCallback) {
16
17
  this.notExporting = false;
17
18
  const data = {
18
19
  directoryName: this.exportInputEl.value,
19
- Objects: this.bpmObjectSelectorEl.selection ?? {
20
+ Objects: (_a = this.bpmObjectSelectorEl.selection) !== null && _a !== void 0 ? _a : {
20
21
  includeAll: false,
21
22
  objectIds: []
22
23
  }
@@ -32,7 +33,8 @@ export class GxIdeBpmExportXpdl {
32
33
  }
33
34
  };
34
35
  this.inputHandle = async () => {
35
- this.emptyInput = !this.exportInputEl.value?.length;
36
+ var _a;
37
+ this.emptyInput = !((_a = this.exportInputEl.value) === null || _a === void 0 ? void 0 : _a.length);
36
38
  };
37
39
  this.handleSelectionChanged = () => {
38
40
  this.emptyObjects = !this.bpmObjectSelectorEl.selection.objectIds.length;
@@ -1 +1 @@
1
- {"version":3,"file":"bpm-export-xpdl.js","sourceRoot":"","sources":["../../../../src/components/bpm/export-xpdl/bpm-export-xpdl.tsx"],"names":[],"mappings":"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","sourcesContent":["/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { config } from \"../../../common/config\";\nimport { Locale } from \"../../../common/locale\";\nimport { ObjectData } from \"../objects-selector/helpers\";\n\n/* import { renderListItems } from \"../../../common/render-list-item\"; */\n\n@Component({\n tag: \"gx-ide-bpm-export-xpdl\",\n styleUrl: \"bpm-export-xpdl.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/bpm-export-xpdl\"]\n})\nexport class GxIdeBpmExportXpdl {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeBpmExportXpdlElement;\n private exportInputEl: HTMLInputElement;\n private bpmObjectSelectorEl: HTMLGxIdeBpmObjectsSelectorElement;\n\n // 3.STATE() VARIABLES //\n\n @State() emptyInput = true;\n @State() emptyObjects = true;\n @State() notExporting = true;\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * Callback function invoked when the user presses the 'Create' button.\n * This function is expected to handle the export process based on the provided export data.\n *\n * @param {ExportData} exportData - The data required for the export process.\n * @returns {Promise<boolean>} A promise that resolves to a boolean indicating the success of the export operation.\n * Returns `true` if the export was successful, and `false` otherwise.\n */\n @Prop() readonly exportCallback: ExportCallback;\n\n /**\n * Callback invoked when user press 'Cancel' button\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * Callback invoked when the user presses the 'Add' button. associated with gx-ide-bpm-objects-selector\n * This function is expected to return a list of selected objects' basic information.\n * @returns {Promise<ObjectData[]>} A Promise that resolves to an array of ObjectData. Each ObjectData contains the ID, icon, and name of an object.\n */\n @Prop() readonly addCallback: () => Promise<ObjectData[]>;\n\n /**\n * Callback invoked when the user presses the 'References' button. associated with gx-ide-bpm-objects-selector\n * Receives a parameter which is an array of IDs of the objects currently added to the list.\n * Returns a Promise that resolves to an array of ObjectData, where each ObjectData contains the ID, icon, and name of an object.\n * @param {string[]} ids - An array of IDs of the objects currently added to the list.\n * @returns {Promise<ObjectData[]>} A Promise that resolves to an array of ObjectData. Each ObjectData contains the ID, icon, and name of an object.\n */\n @Prop() readonly referencesCallback: (ids: string[]) => Promise<ObjectData[]>;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private exportHandler = () => {\n if (this.exportCallback) {\n this.notExporting = false;\n\n const data: ExportData = {\n directoryName: this.exportInputEl.value,\n Objects: this.bpmObjectSelectorEl.selection ?? {\n includeAll: false,\n objectIds: []\n }\n };\n\n this.exportCallback(data)\n .then(() => {\n this.notExporting = true;\n })\n .catch(error => {\n console.error(\"Export callback failed:\", error);\n this.notExporting = true;\n });\n }\n };\n\n private inputHandle = async () => {\n this.emptyInput = !this.exportInputEl.value?.length;\n };\n\n private handleSelectionChanged = () => {\n this.emptyObjects = !this.bpmObjectSelectorEl.selection.objectIds.length;\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host class=\"gx-ide-component\">\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n >\n <div class=\"header\">\n <label htmlFor=\"export-directory\" class=\"label\">\n {this._componentLocale.main.exportInputLabel}\n </label>\n <input\n type=\"text\"\n id=\"export-directory\"\n class=\"input-text input\"\n onInput={this.inputHandle}\n ref={el => (this.exportInputEl = el as HTMLInputElement)}\n />\n <button\n class=\"export\"\n disabled={this.emptyInput || this.emptyObjects}\n onClick={this.exportHandler}\n >\n {this._componentLocale.main.exportButton}\n </button>\n <button\n class=\"cancel\"\n disabled={this.notExporting}\n onClick={this.cancelCallback}\n >\n {this._componentLocale.main.cancelButton}\n </button>\n </div>\n\n <gx-ide-bpm-objects-selector\n id=\"gx-ide-bpm-objects-selector\"\n addCallback={this.addCallback}\n referencesCallback={this.referencesCallback}\n ref={el =>\n (this.bpmObjectSelectorEl =\n el as HTMLGxIdeBpmObjectsSelectorElement)\n }\n onSelectionChanged={this.handleSelectionChanged}\n ></gx-ide-bpm-objects-selector>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type ExportCallback = (exportData: ExportData) => Promise<boolean>;\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type ExportData = {\n directoryName: string;\n Objects: SelectionData;\n};\n\nexport type SelectionData = {\n includeAll: boolean;\n objectIds: string[];\n};\n"]}
1
+ {"version":3,"file":"bpm-export-xpdl.js","sourceRoot":"","sources":["../../../../src/components/bpm/export-xpdl/bpm-export-xpdl.tsx"],"names":[],"mappings":"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","sourcesContent":["/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { config } from \"../../../common/config\";\nimport { Locale } from \"../../../common/locale\";\nimport { ObjectData } from \"../objects-selector/helpers\";\n\n/* import { renderListItems } from \"../../../common/render-list-item\"; */\n\n@Component({\n tag: \"gx-ide-bpm-export-xpdl\",\n styleUrl: \"bpm-export-xpdl.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/bpm-export-xpdl\"]\n})\nexport class GxIdeBpmExportXpdl {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeBpmExportXpdlElement;\n private exportInputEl: HTMLInputElement;\n private bpmObjectSelectorEl: HTMLGxIdeBpmObjectsSelectorElement;\n\n // 3.STATE() VARIABLES //\n\n @State() emptyInput = true;\n @State() emptyObjects = true;\n @State() notExporting = true;\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * Callback function invoked when the user presses the 'Create' button.\n * This function is expected to handle the export process based on the provided export data.\n *\n * @param {ExportData} exportData - The data required for the export process.\n * @returns {Promise<boolean>} A promise that resolves to a boolean indicating the success of the export operation.\n * Returns `true` if the export was successful, and `false` otherwise.\n */\n @Prop() readonly exportCallback: ExportCallback;\n\n /**\n * Callback invoked when user press 'Cancel' button\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * Callback invoked when the user presses the 'Add' button. associated with gx-ide-bpm-objects-selector\n * This function is expected to return a list of selected objects' basic information.\n * @returns {Promise<ObjectData[]>} A Promise that resolves to an array of ObjectData. Each ObjectData contains the ID, icon, and name of an object.\n */\n @Prop() readonly addCallback: () => Promise<ObjectData[]>;\n\n /**\n * Callback invoked when the user presses the 'References' button. associated with gx-ide-bpm-objects-selector\n * Receives a parameter which is an array of IDs of the objects currently added to the list.\n * Returns a Promise that resolves to an array of ObjectData, where each ObjectData contains the ID, icon, and name of an object.\n * @param {string[]} ids - An array of IDs of the objects currently added to the list.\n * @returns {Promise<ObjectData[]>} A Promise that resolves to an array of ObjectData. Each ObjectData contains the ID, icon, and name of an object.\n */\n @Prop() readonly referencesCallback: (ids: string[]) => Promise<ObjectData[]>;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private exportHandler = () => {\n if (this.exportCallback) {\n this.notExporting = false;\n\n const data: ExportData = {\n directoryName: this.exportInputEl.value,\n Objects: this.bpmObjectSelectorEl.selection ?? {\n includeAll: false,\n objectIds: []\n }\n };\n\n this.exportCallback(data)\n .then(() => {\n this.notExporting = true;\n })\n .catch(error => {\n console.error(\"Export callback failed:\", error);\n this.notExporting = true;\n });\n }\n };\n\n private inputHandle = async () => {\n this.emptyInput = !this.exportInputEl.value?.length;\n };\n\n private handleSelectionChanged = () => {\n this.emptyObjects = !this.bpmObjectSelectorEl.selection.objectIds.length;\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host class=\"gx-ide-component\">\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n >\n <div class=\"header\">\n <label htmlFor=\"export-directory\" class=\"label\">\n {this._componentLocale.main.exportInputLabel}\n </label>\n <input\n type=\"text\"\n id=\"export-directory\"\n class=\"input-text input\"\n onInput={this.inputHandle}\n ref={el => (this.exportInputEl = el as HTMLInputElement)}\n />\n <button\n class=\"export\"\n disabled={this.emptyInput || this.emptyObjects}\n onClick={this.exportHandler}\n >\n {this._componentLocale.main.exportButton}\n </button>\n <button\n class=\"cancel\"\n disabled={this.notExporting}\n onClick={this.cancelCallback}\n >\n {this._componentLocale.main.cancelButton}\n </button>\n </div>\n\n <gx-ide-bpm-objects-selector\n id=\"gx-ide-bpm-objects-selector\"\n addCallback={this.addCallback}\n referencesCallback={this.referencesCallback}\n ref={el =>\n (this.bpmObjectSelectorEl =\n el as HTMLGxIdeBpmObjectsSelectorElement)\n }\n onSelectionChanged={this.handleSelectionChanged}\n ></gx-ide-bpm-objects-selector>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type ExportCallback = (exportData: ExportData) => Promise<boolean>;\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type ExportData = {\n directoryName: string;\n Objects: SelectionData;\n};\n\nexport type SelectionData = {\n includeAll: boolean;\n objectIds: string[];\n};\n"]}
@@ -66,7 +66,8 @@ export class GxIdeTemplate {
66
66
  }
67
67
  // 10.RENDER() FUNCTION //
68
68
  render() {
69
- return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { containerTitle: this.displayTitle ? this._componentLocale.componentName : null, slimmerFooter: config.gxIdeContainer.slimmerFooter }, h("div", { class: "main" }, h("div", { class: "controls-wrapper controls-wrapper--vertical" }, h("label", { htmlFor: "path-list" }, this._componentLocale.main.listLabel), h("gx-ide-list-selector", { id: "path-list", type: "multi-selection", listName: "path-list", ordered: true, onSelectionChanged: this.fileSelectionChangedHandler, class: "path-list" }, renderListItems(filesToListItemsData(this.files)))), h("div", { class: "footer" }, h("div", { class: "checkbox-container" }, h("ch-checkbox", { id: "automatic-backup", accessibleName: this._componentLocale.main.automaticBackupLabel, checkedValue: "true", unCheckedValue: "false", value: "checked", ref: el => (this.automaticBackupEl = el) }), h("label", { htmlFor: "automatic-backup" }, this._componentLocale.main.automaticBackupLabel)), h("div", { class: "controls-wrapper" }, h("input", { type: "file", id: "input_file", accept: this.allowedExtensions?.join(", "), ref: el => (this.fileInput = el), onChange: this.handleFileInputChange, class: "hidden-input", multiple: true }), h("button", { onClick: this.loadFileHandle }, this._componentLocale.main.addFilesButton), h("button", { onClick: this.handleRemoveButtonClick, disabled: this.selectedFiles.length === 0 }, this._componentLocale.main.removeFilesButton, " (", this.selectedFiles.length, ")")))), h("button", { slot: "footer-end", onClick: this.confirmCallbackHandle }, this._componentLocale.footer.confirmButton), h("button", { slot: "footer-end", onClick: this.cancelCallback }, this._componentLocale.footer.cancelButton)))));
69
+ var _a;
70
+ return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { containerTitle: this.displayTitle ? this._componentLocale.componentName : null, slimmerFooter: config.gxIdeContainer.slimmerFooter }, h("div", { class: "main" }, h("div", { class: "controls-wrapper controls-wrapper--vertical" }, h("label", { htmlFor: "path-list" }, this._componentLocale.main.listLabel), h("gx-ide-list-selector", { id: "path-list", type: "multi-selection", listName: "path-list", ordered: true, onSelectionChanged: this.fileSelectionChangedHandler, class: "path-list" }, renderListItems(filesToListItemsData(this.files)))), h("div", { class: "footer" }, h("div", { class: "checkbox-container" }, h("ch-checkbox", { id: "automatic-backup", accessibleName: this._componentLocale.main.automaticBackupLabel, checkedValue: "true", unCheckedValue: "false", value: "checked", ref: el => (this.automaticBackupEl = el) }), h("label", { htmlFor: "automatic-backup" }, this._componentLocale.main.automaticBackupLabel)), h("div", { class: "controls-wrapper" }, h("input", { type: "file", id: "input_file", accept: (_a = this.allowedExtensions) === null || _a === void 0 ? void 0 : _a.join(", "), ref: el => (this.fileInput = el), onChange: this.handleFileInputChange, class: "hidden-input", multiple: true }), h("button", { onClick: this.loadFileHandle }, this._componentLocale.main.addFilesButton), h("button", { onClick: this.handleRemoveButtonClick, disabled: this.selectedFiles.length === 0 }, this._componentLocale.main.removeFilesButton, " (", this.selectedFiles.length, ")")))), h("button", { slot: "footer-end", onClick: this.confirmCallbackHandle }, this._componentLocale.footer.confirmButton), h("button", { slot: "footer-end", onClick: this.cancelCallback }, this._componentLocale.footer.cancelButton)))));
70
71
  }
71
72
  static get is() { return "gx-ide-bpm-import-files"; }
72
73
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"bpm-import-files.js","sourceRoot":"","sources":["../../../../src/components/bpm/import-files/bpm-import-files.tsx"],"names":[],"mappings":"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","sourcesContent":["/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { CheckedItemsInfo } from \"../../_helpers/list-selector/list-selector\";\n/* CUSTOM IMPORTS */\nimport { config } from \"../../../common/config\";\nimport { Locale } from \"../../../common/locale\";\nimport { renderListItems } from \"../../../common/render-list-item\";\nimport { filesToListItemsData } from \"./helpers\";\n\n@Component({\n tag: \"gx-ide-bpm-import-files\",\n styleUrl: \"bpm-import-files.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/bpm-import-files\"]\n})\nexport class GxIdeTemplate {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeBpmImportFilesElement;\n\n private fileInput: HTMLInputElement;\n private automaticBackupEl: HTMLChCheckboxElement;\n\n // 3.STATE() VARIABLES //\n /**\n * Contains the list of files\n */\n @State() files: File[] = [];\n\n /**\n * Contains the list of selected files\n */\n @State() selectedFiles: string[] = [];\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * Allowed extensions when 'Add files' button is pressed\n */\n @Prop() readonly allowedExtensions: string[];\n\n /**\n * Callback invoked when user press 'OK' button\n */\n @Prop() readonly confirmCallback: (data: ImportData) => Promise<boolean>;\n\n /**\n * Callback invoked when user press 'Cancel' button.\n */\n @Prop() readonly cancelCallback: () => Promise<void>;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n /**\n * @description Gets fired when something changes on items section.\n */\n @Event() selectionChanged: EventEmitter<void>;\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private fileSelectionChangedHandler = (\n selectedItem: CustomEvent<CheckedItemsInfo>\n ) => {\n this.selectionChanged.emit();\n\n const selectedFiles = Array.isArray(selectedItem.detail)\n ? selectedItem.detail\n : [selectedItem.detail];\n\n this.selectedFiles = selectedFiles.map(item => item.itemValue);\n };\n\n private loadFileHandle = async () => {\n this.fileInput.click();\n };\n\n private handleFileInputChange = (event: Event) => {\n const fileInput = event.target as HTMLInputElement;\n\n if (fileInput.files && fileInput.files.length > 0) {\n const newFiles: File[] = Array.from(fileInput.files);\n const uniqueFiles = newFiles.filter(\n newFile =>\n !this.files.some(existingFile => existingFile.name === newFile.name)\n );\n this.files = [...this.files, ...uniqueFiles];\n }\n\n this.fileInput.value = null;\n };\n\n private confirmCallbackHandle = async () => {\n if (this.confirmCallback && this.files.length > 0) {\n const data: ImportData = {\n automaticBackup: this.automaticBackupEl.value === \"true\",\n files: this.files\n };\n\n await this.confirmCallback(data);\n }\n };\n\n private removeFiles = (filesToRemove: string[]) => {\n this.files = this.files.filter(file => !filesToRemove.includes(file.name));\n\n this.selectedFiles = [];\n this.fileInput.value = null;\n };\n\n private handleRemoveButtonClick = () => {\n this.removeFiles(this.selectedFiles);\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host class=\"gx-ide-component\">\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n >\n <div class=\"main\">\n {/* path list*/}\n <div class=\"controls-wrapper controls-wrapper--vertical\">\n <label htmlFor=\"path-list\">\n {this._componentLocale.main.listLabel}\n </label>\n <gx-ide-list-selector\n id=\"path-list\"\n type=\"multi-selection\"\n listName=\"path-list\"\n ordered\n onSelectionChanged={this.fileSelectionChangedHandler}\n class=\"path-list\"\n >\n {renderListItems(filesToListItemsData(this.files))}\n </gx-ide-list-selector>\n </div>\n\n <div class=\"footer\">\n <div class=\"checkbox-container\">\n <ch-checkbox\n id=\"automatic-backup\"\n accessibleName={\n this._componentLocale.main.automaticBackupLabel\n }\n checkedValue=\"true\"\n unCheckedValue=\"false\"\n value=\"checked\"\n ref={el =>\n (this.automaticBackupEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n <label htmlFor=\"automatic-backup\">\n {this._componentLocale.main.automaticBackupLabel}\n </label>\n </div>\n <div class=\"controls-wrapper\">\n <input\n type=\"file\"\n id=\"input_file\"\n accept={this.allowedExtensions?.join(\", \")}\n ref={el => (this.fileInput = el as HTMLInputElement)}\n onChange={this.handleFileInputChange}\n class=\"hidden-input\"\n multiple\n />\n <button onClick={this.loadFileHandle}>\n {this._componentLocale.main.addFilesButton}\n </button>\n <button\n onClick={this.handleRemoveButtonClick}\n disabled={this.selectedFiles.length === 0}\n >\n {this._componentLocale.main.removeFilesButton} (\n {this.selectedFiles.length})\n </button>\n </div>\n </div>\n </div>\n\n <button slot=\"footer-end\" onClick={this.confirmCallbackHandle}>\n {this._componentLocale.footer.confirmButton}\n </button>\n <button slot=\"footer-end\" onClick={this.cancelCallback}>\n {this._componentLocale.footer.cancelButton}\n </button>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type ImportData = {\n files: File[];\n automaticBackup: boolean;\n};\n"]}
1
+ {"version":3,"file":"bpm-import-files.js","sourceRoot":"","sources":["../../../../src/components/bpm/import-files/bpm-import-files.tsx"],"names":[],"mappings":"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","sourcesContent":["/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { CheckedItemsInfo } from \"../../_helpers/list-selector/list-selector\";\n/* CUSTOM IMPORTS */\nimport { config } from \"../../../common/config\";\nimport { Locale } from \"../../../common/locale\";\nimport { renderListItems } from \"../../../common/render-list-item\";\nimport { filesToListItemsData } from \"./helpers\";\n\n@Component({\n tag: \"gx-ide-bpm-import-files\",\n styleUrl: \"bpm-import-files.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/bpm-import-files\"]\n})\nexport class GxIdeTemplate {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeBpmImportFilesElement;\n\n private fileInput: HTMLInputElement;\n private automaticBackupEl: HTMLChCheckboxElement;\n\n // 3.STATE() VARIABLES //\n /**\n * Contains the list of files\n */\n @State() files: File[] = [];\n\n /**\n * Contains the list of selected files\n */\n @State() selectedFiles: string[] = [];\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * Allowed extensions when 'Add files' button is pressed\n */\n @Prop() readonly allowedExtensions: string[];\n\n /**\n * Callback invoked when user press 'OK' button\n */\n @Prop() readonly confirmCallback: (data: ImportData) => Promise<boolean>;\n\n /**\n * Callback invoked when user press 'Cancel' button.\n */\n @Prop() readonly cancelCallback: () => Promise<void>;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n /**\n * @description Gets fired when something changes on items section.\n */\n @Event() selectionChanged: EventEmitter<void>;\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private fileSelectionChangedHandler = (\n selectedItem: CustomEvent<CheckedItemsInfo>\n ) => {\n this.selectionChanged.emit();\n\n const selectedFiles = Array.isArray(selectedItem.detail)\n ? selectedItem.detail\n : [selectedItem.detail];\n\n this.selectedFiles = selectedFiles.map(item => item.itemValue);\n };\n\n private loadFileHandle = async () => {\n this.fileInput.click();\n };\n\n private handleFileInputChange = (event: Event) => {\n const fileInput = event.target as HTMLInputElement;\n\n if (fileInput.files && fileInput.files.length > 0) {\n const newFiles: File[] = Array.from(fileInput.files);\n const uniqueFiles = newFiles.filter(\n newFile =>\n !this.files.some(existingFile => existingFile.name === newFile.name)\n );\n this.files = [...this.files, ...uniqueFiles];\n }\n\n this.fileInput.value = null;\n };\n\n private confirmCallbackHandle = async () => {\n if (this.confirmCallback && this.files.length > 0) {\n const data: ImportData = {\n automaticBackup: this.automaticBackupEl.value === \"true\",\n files: this.files\n };\n\n await this.confirmCallback(data);\n }\n };\n\n private removeFiles = (filesToRemove: string[]) => {\n this.files = this.files.filter(file => !filesToRemove.includes(file.name));\n\n this.selectedFiles = [];\n this.fileInput.value = null;\n };\n\n private handleRemoveButtonClick = () => {\n this.removeFiles(this.selectedFiles);\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host class=\"gx-ide-component\">\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n >\n <div class=\"main\">\n {/* path list*/}\n <div class=\"controls-wrapper controls-wrapper--vertical\">\n <label htmlFor=\"path-list\">\n {this._componentLocale.main.listLabel}\n </label>\n <gx-ide-list-selector\n id=\"path-list\"\n type=\"multi-selection\"\n listName=\"path-list\"\n ordered\n onSelectionChanged={this.fileSelectionChangedHandler}\n class=\"path-list\"\n >\n {renderListItems(filesToListItemsData(this.files))}\n </gx-ide-list-selector>\n </div>\n\n <div class=\"footer\">\n <div class=\"checkbox-container\">\n <ch-checkbox\n id=\"automatic-backup\"\n accessibleName={\n this._componentLocale.main.automaticBackupLabel\n }\n checkedValue=\"true\"\n unCheckedValue=\"false\"\n value=\"checked\"\n ref={el =>\n (this.automaticBackupEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n <label htmlFor=\"automatic-backup\">\n {this._componentLocale.main.automaticBackupLabel}\n </label>\n </div>\n <div class=\"controls-wrapper\">\n <input\n type=\"file\"\n id=\"input_file\"\n accept={this.allowedExtensions?.join(\", \")}\n ref={el => (this.fileInput = el as HTMLInputElement)}\n onChange={this.handleFileInputChange}\n class=\"hidden-input\"\n multiple\n />\n <button onClick={this.loadFileHandle}>\n {this._componentLocale.main.addFilesButton}\n </button>\n <button\n onClick={this.handleRemoveButtonClick}\n disabled={this.selectedFiles.length === 0}\n >\n {this._componentLocale.main.removeFilesButton} (\n {this.selectedFiles.length})\n </button>\n </div>\n </div>\n </div>\n\n <button slot=\"footer-end\" onClick={this.confirmCallbackHandle}>\n {this._componentLocale.footer.confirmButton}\n </button>\n <button slot=\"footer-end\" onClick={this.cancelCallback}>\n {this._componentLocale.footer.cancelButton}\n </button>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type ImportData = {\n files: File[];\n automaticBackup: boolean;\n};\n"]}
@@ -41,9 +41,10 @@ export class GxIdeBpmSyncGamRoles {
41
41
  }
42
42
  });
43
43
  _GxIdeBpmSyncGamRoles_okButtonHandler.set(this, async () => {
44
+ var _a;
44
45
  if (this.saveCallback) {
45
46
  const syncData = {
46
- automaticBackup: !!__classPrivateFieldGet(this, _GxIdeBpmSyncGamRoles_automaticBackupCheckBoxEl, "f")?.value,
47
+ automaticBackup: !!((_a = __classPrivateFieldGet(this, _GxIdeBpmSyncGamRoles_automaticBackupCheckBoxEl, "f")) === null || _a === void 0 ? void 0 : _a.value),
47
48
  syncType: __classPrivateFieldGet(this, _GxIdeBpmSyncGamRoles_synchTypeComboBoxEl, "f").value
48
49
  };
49
50
  await this.saveCallback(syncData);
@@ -1 +1 @@
1
- {"version":3,"file":"bpm-sync-gam-roles.js","sourceRoot":"","sources":["../../../../src/components/bpm/sync-gam-roles/bpm-sync-gam-roles.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Element,\n getAssetPath,\n Method,\n Prop\n} from \"@stencil/core\";\nimport { Locale } from \"../../../common/locale\";\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\nimport { mapTypesToComboBoxItemModel } from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/tooltip\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\n\n@Component({\n tag: \"gx-ide-bpm-sync-gam-roles\",\n styleUrl: \"bpm-sync-gam-roles.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/bpm-sync-gam-roles\"]\n})\nexport class GxIdeBpmSyncGamRoles {\n #_componentLocale: any;\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/bpm-sync-gam-roles/shortcuts.json`\n );\n #synchronizationTypes: ComboBoxItemModel[] = [];\n\n @Element() el: HTMLGxIdeBpmSyncGamRolesElement;\n #automaticBackupCheckBoxEl: HTMLChCheckboxElement;\n #chShortcutsEl: HTMLChShortcutsElement;\n #synchTypeComboBoxEl: HTMLChComboBoxRenderElement;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.#synchronizationTypes = mapTypesToComboBoxItemModel(\n this.#_componentLocale.main.synchronizationTypeOptions\n );\n }\n\n /**\n * Callback invoked when the user press the 'Cancel' button\n */\n @Prop() readonly cancelCallback: () => Promise<void>;\n\n /**\n * Callback invoked when the user press the 'Ok' button\n */\n @Prop() readonly saveCallback: (syncData: SyncData) => Promise<boolean>;\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.#chShortcutsEl.suspend = true;\n } else {\n this.#chShortcutsEl.suspend = false;\n }\n }\n\n #cancelButtonHandler = () => {\n if (this.cancelCallback) {\n this.cancelCallback();\n }\n };\n #okButtonHandler = async () => {\n if (this.saveCallback) {\n const syncData: SyncData = {\n automaticBackup: !!this.#automaticBackupCheckBoxEl?.value,\n syncType: this.#synchTypeComboBoxEl.value as SyncType\n };\n\n await this.saveCallback(syncData);\n }\n };\n\n #renderFooter = () => {\n return (\n <footer class=\"control-footer control-footer-with-border spacing-body-block-end spacing-body-inline\">\n <div class=\"buttons-spacer\">\n <button\n class=\"button-secondary\"\n id=\"button-cancel\"\n onClick={this.#cancelButtonHandler}\n part=\"button-cancel\"\n >\n {this.#_componentLocale.footer.cancelButtonText}\n </button>\n <button\n class=\"button-primary\"\n id=\"button-create\"\n onClick={this.#okButtonHandler}\n part=\"button-ok\"\n >\n {this.#_componentLocale.footer.okButtonText}\n </button>\n </div>\n </footer>\n );\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.#chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n <section class=\"section spacing-body\">\n <div class=\"main field-group\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"synch-type\">\n {this.#_componentLocale.main.synchronizationTypeLabel}\n </label>\n <ch-combo-box-render\n accessibleName=\"Synchronization types\"\n class=\"combo-box\"\n id=\"synch-type\"\n value={this.#synchronizationTypes[0].caption}\n model={this.#synchronizationTypes}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#synchTypeComboBoxEl =\n el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n </div>\n\n <ch-checkbox\n class=\"checkbox\"\n caption={this.#_componentLocale.main.checkBoxLabel}\n checkedValue=\"true\"\n ref={(el: HTMLChCheckboxElement) =>\n (this.#automaticBackupCheckBoxEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n </div>\n </section>\n {this.#renderFooter()}\n </Host>\n );\n }\n}\n\nexport type SyncType = \"From GAM\" | \"To GAM\" | \"Both\";\n\nexport type SyncData = {\n syncType: SyncType;\n automaticBackup: boolean;\n};\n"]}
1
+ {"version":3,"file":"bpm-sync-gam-roles.js","sourceRoot":"","sources":["../../../../src/components/bpm/sync-gam-roles/bpm-sync-gam-roles.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Element,\n getAssetPath,\n Method,\n Prop\n} from \"@stencil/core\";\nimport { Locale } from \"../../../common/locale\";\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\nimport { mapTypesToComboBoxItemModel } from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/tooltip\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\n\n@Component({\n tag: \"gx-ide-bpm-sync-gam-roles\",\n styleUrl: \"bpm-sync-gam-roles.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/bpm-sync-gam-roles\"]\n})\nexport class GxIdeBpmSyncGamRoles {\n #_componentLocale: any;\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/bpm-sync-gam-roles/shortcuts.json`\n );\n #synchronizationTypes: ComboBoxItemModel[] = [];\n\n @Element() el: HTMLGxIdeBpmSyncGamRolesElement;\n #automaticBackupCheckBoxEl: HTMLChCheckboxElement;\n #chShortcutsEl: HTMLChShortcutsElement;\n #synchTypeComboBoxEl: HTMLChComboBoxRenderElement;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.#synchronizationTypes = mapTypesToComboBoxItemModel(\n this.#_componentLocale.main.synchronizationTypeOptions\n );\n }\n\n /**\n * Callback invoked when the user press the 'Cancel' button\n */\n @Prop() readonly cancelCallback: () => Promise<void>;\n\n /**\n * Callback invoked when the user press the 'Ok' button\n */\n @Prop() readonly saveCallback: (syncData: SyncData) => Promise<boolean>;\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.#chShortcutsEl.suspend = true;\n } else {\n this.#chShortcutsEl.suspend = false;\n }\n }\n\n #cancelButtonHandler = () => {\n if (this.cancelCallback) {\n this.cancelCallback();\n }\n };\n #okButtonHandler = async () => {\n if (this.saveCallback) {\n const syncData: SyncData = {\n automaticBackup: !!this.#automaticBackupCheckBoxEl?.value,\n syncType: this.#synchTypeComboBoxEl.value as SyncType\n };\n\n await this.saveCallback(syncData);\n }\n };\n\n #renderFooter = () => {\n return (\n <footer class=\"control-footer control-footer-with-border spacing-body-block-end spacing-body-inline\">\n <div class=\"buttons-spacer\">\n <button\n class=\"button-secondary\"\n id=\"button-cancel\"\n onClick={this.#cancelButtonHandler}\n part=\"button-cancel\"\n >\n {this.#_componentLocale.footer.cancelButtonText}\n </button>\n <button\n class=\"button-primary\"\n id=\"button-create\"\n onClick={this.#okButtonHandler}\n part=\"button-ok\"\n >\n {this.#_componentLocale.footer.okButtonText}\n </button>\n </div>\n </footer>\n );\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.#chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n <section class=\"section spacing-body\">\n <div class=\"main field-group\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"synch-type\">\n {this.#_componentLocale.main.synchronizationTypeLabel}\n </label>\n <ch-combo-box-render\n accessibleName=\"Synchronization types\"\n class=\"combo-box\"\n id=\"synch-type\"\n value={this.#synchronizationTypes[0].caption}\n model={this.#synchronizationTypes}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#synchTypeComboBoxEl =\n el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n </div>\n\n <ch-checkbox\n class=\"checkbox\"\n caption={this.#_componentLocale.main.checkBoxLabel}\n checkedValue=\"true\"\n ref={(el: HTMLChCheckboxElement) =>\n (this.#automaticBackupCheckBoxEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n </div>\n </section>\n {this.#renderFooter()}\n </Host>\n );\n }\n}\n\nexport type SyncType = \"From GAM\" | \"To GAM\" | \"Both\";\n\nexport type SyncData = {\n syncType: SyncType;\n automaticBackup: boolean;\n};\n"]}
@@ -1,6 +1,6 @@
1
1
  export const taskDocumentsToActionListItemModel = (objects, selectedDocument) => {
2
2
  const actionListDocuments = [];
3
- objects?.forEach((object, index) => {
3
+ objects === null || objects === void 0 ? void 0 : objects.forEach((object, index) => {
4
4
  const itemId = `task-${object.name}`;
5
5
  const itemValue = object.name;
6
6
  actionListDocuments.push({