@genexus/genexus-ide-ui 1.0.0 → 1.0.2

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 (628) hide show
  1. package/dist/cjs/assets-manager-64c42a1e.js +14669 -0
  2. package/dist/cjs/assets-manager-64c42a1e.js.map +1 -0
  3. package/dist/cjs/{common-a9c44141.js → common-d21da2fc.js} +2 -2
  4. package/dist/cjs/{common-a9c44141.js.map → common-d21da2fc.js.map} +1 -1
  5. package/dist/cjs/{config-8246d533.js → config-7499aff7.js} +21 -1
  6. package/dist/cjs/config-7499aff7.js.map +1 -0
  7. package/dist/cjs/constants-96a42315.js.map +1 -1
  8. package/dist/cjs/genexus-ide-ui.cjs.js +2 -2
  9. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +2 -2
  10. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js.map +1 -1
  11. package/dist/cjs/gx-ide-ai-message.cjs.entry.js +3 -3
  12. package/dist/cjs/gx-ide-ai-message.cjs.entry.js.map +1 -1
  13. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +6 -7
  14. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js.map +1 -1
  15. package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js +3 -3
  16. package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js.map +1 -1
  17. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js +3 -3
  18. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js.map +1 -1
  19. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js +4 -4
  20. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js.map +1 -1
  21. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js +3 -3
  22. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js.map +1 -1
  23. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +4 -4
  24. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js.map +1 -1
  25. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js +3 -3
  26. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js.map +1 -1
  27. package/dist/cjs/gx-ide-card.cjs.entry.js +2 -2
  28. package/dist/cjs/gx-ide-card.cjs.entry.js.map +1 -1
  29. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +5 -5
  30. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
  31. package/dist/cjs/gx-ide-container_2.cjs.entry.js +1 -1
  32. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +6 -6
  33. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  34. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +24 -9
  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 -5
  37. package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
  38. package/dist/cjs/gx-ide-design-import.cjs.entry.js +4 -4
  39. package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -1
  40. package/dist/cjs/gx-ide-directory-selector.cjs.entry.js +1 -1
  41. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js +2 -2
  42. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js.map +1 -1
  43. package/dist/cjs/gx-ide-empty-state.cjs.entry.js +11 -50
  44. package/dist/cjs/gx-ide-empty-state.cjs.entry.js.map +1 -1
  45. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +78 -53
  46. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js.map +1 -1
  47. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +3 -3
  48. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js.map +1 -1
  49. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +3 -3
  50. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
  51. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +4 -4
  52. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
  53. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +2 -2
  54. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js.map +1 -1
  55. package/dist/cjs/gx-ide-loader.cjs.entry.js +32 -47
  56. package/dist/cjs/gx-ide-loader.cjs.entry.js.map +1 -1
  57. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +24 -5
  58. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js.map +1 -1
  59. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +24 -5
  60. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
  61. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +6 -7
  62. package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
  63. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +6 -6
  64. package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
  65. package/dist/cjs/gx-ide-new-object.cjs.entry.js +3 -3
  66. package/dist/cjs/gx-ide-new-object.cjs.entry.js.map +1 -1
  67. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +208 -218
  68. package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
  69. package/dist/cjs/gx-ide-recent-news.cjs.entry.js +119 -70
  70. package/dist/cjs/gx-ide-recent-news.cjs.entry.js.map +1 -1
  71. package/dist/cjs/gx-ide-references.cjs.entry.js +4 -4
  72. package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
  73. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +6 -6
  74. package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
  75. package/dist/cjs/gx-ide-start-page.cjs.entry.js +131 -125
  76. package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
  77. package/dist/cjs/gx-ide-status-buttons.cjs.entry.js +1 -1
  78. package/dist/cjs/gx-ide-switch-panel.cjs.entry.js +1 -1
  79. package/dist/cjs/gx-ide-switcher.cjs.entry.js +1 -1
  80. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +7 -8
  81. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
  82. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +4 -4
  83. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js.map +1 -1
  84. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +4 -5
  85. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
  86. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +3 -3
  87. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js.map +1 -1
  88. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +6 -7
  89. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
  90. package/dist/cjs/gx-ide-template.cjs.entry.js +3 -3
  91. package/dist/cjs/gx-ide-template.cjs.entry.js.map +1 -1
  92. package/dist/cjs/gx-ide-test.cjs.entry.js +1 -1
  93. package/dist/cjs/gx-ide-top-bar.cjs.entry.js +1 -1
  94. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +3 -3
  95. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js.map +1 -1
  96. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +7 -8
  97. package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
  98. package/dist/cjs/{helpers-cef3dd1f.js → helpers-be14ea67.js} +34 -5
  99. package/dist/cjs/helpers-be14ea67.js.map +1 -0
  100. package/dist/cjs/{index-13ec56b2.js → index-b87e3ee0.js} +10 -4
  101. package/dist/cjs/index-b87e3ee0.js.map +1 -0
  102. package/dist/cjs/loader.cjs.js +2 -2
  103. package/dist/cjs/{render-combo-items-7cf25644.js → render-combo-items-9d83241b.js} +2 -2
  104. package/dist/cjs/{render-combo-items-7cf25644.js.map → render-combo-items-9d83241b.js.map} +1 -1
  105. package/dist/cjs/{render-list-item-859d6b85.js → render-list-item-353de5ee.js} +2 -2
  106. package/dist/cjs/{render-list-item-859d6b85.js.map → render-list-item-353de5ee.js.map} +1 -1
  107. package/dist/cjs/{render-suggest-5159c128.js → render-suggest-cd69493a.js} +2 -2
  108. package/dist/cjs/render-suggest-cd69493a.js.map +1 -0
  109. package/dist/collection/collection-manifest.json +1 -1
  110. package/dist/collection/common/config.js +20 -0
  111. package/dist/collection/common/config.js.map +1 -1
  112. package/dist/collection/common/constants.js.map +1 -1
  113. package/dist/collection/common/helpers.js +31 -3
  114. package/dist/collection/common/helpers.js.map +1 -1
  115. package/dist/collection/common/render-suggest.js.map +1 -1
  116. package/dist/collection/common/types.js.map +1 -1
  117. package/dist/collection/components/_helpers/card/card.css +108 -0
  118. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.css +638 -16
  119. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.js +17 -111
  120. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.js.map +1 -1
  121. package/dist/collection/components/_helpers/entity-selector/entity-selector.css +21 -386
  122. package/dist/collection/components/_helpers/entity-selector/entity-selector.js +90 -142
  123. package/dist/collection/components/_helpers/entity-selector/entity-selector.js.map +1 -1
  124. package/dist/collection/components/_helpers/entity-selector/gx-ide-assets/entity-selector/langs/entity-selector.lang.en.json +6 -0
  125. package/dist/collection/components/_helpers/entity-selector/gx-ide-assets/entity-selector/langs/entity-selector.lang.zh.json +0 -0
  126. package/dist/collection/components/_helpers/ide-loader/ide-loader.css +23 -38
  127. package/dist/collection/components/_helpers/ide-loader/ide-loader.js +68 -125
  128. package/dist/collection/components/_helpers/ide-loader/ide-loader.js.map +1 -1
  129. package/dist/collection/components/_helpers/list-selector/list-selector.css +108 -0
  130. package/dist/collection/components/_starting-template/template.css +108 -0
  131. package/dist/collection/components/ai-assistant/ai-assistant.css +108 -0
  132. package/dist/collection/components/ai-assistant/ai-message.css +2 -2
  133. package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.css +150 -2
  134. package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.js +1 -2
  135. package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.js.map +1 -1
  136. package/dist/collection/components/bpm/application-declaration/helpers.js.map +1 -1
  137. package/dist/collection/components/bpm/assign-roles/bpm-assign-roles.css +108 -0
  138. package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.css +108 -0
  139. package/dist/collection/components/bpm/import-files/bpm-import-files.css +108 -0
  140. package/dist/collection/components/bpm/import-gxpm/bpm-import-gxpm.css +108 -0
  141. package/dist/collection/components/bpm/objects-selector/bpm-objects-selector.css +108 -0
  142. package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.css +108 -0
  143. package/dist/collection/components/connect-gx-server/connect-gx-server.css +108 -0
  144. package/dist/collection/components/connect-gx-server/connect-gx-server.js +1 -1
  145. package/dist/collection/components/connect-gx-server/connect-gx-server.js.map +1 -1
  146. package/dist/collection/components/create-kb-from-server/create-kb-from-server.css +108 -0
  147. package/dist/collection/components/create-kb-from-server/create-kb-from-server.js +1 -1
  148. package/dist/collection/components/create-kb-from-server/create-kb-from-server.js.map +1 -1
  149. package/dist/collection/components/dashboard-home/dashboard-home.css +108 -0
  150. package/dist/collection/components/dashboard-home/dashboard-home.js +21 -6
  151. package/dist/collection/components/dashboard-home/dashboard-home.js.map +1 -1
  152. package/dist/collection/components/data-selector/data-selector.css +108 -0
  153. package/dist/collection/components/data-selector/data-selector.js +1 -2
  154. package/dist/collection/components/data-selector/data-selector.js.map +1 -1
  155. package/dist/collection/components/design-import/design-import.css +108 -0
  156. package/dist/collection/components/design-import/design-import.js +1 -1
  157. package/dist/collection/components/gam-installation-settings/gam-installation-settings.css +108 -0
  158. package/dist/collection/components/kb-manager-export/helpers.js.map +1 -1
  159. package/dist/collection/components/kb-manager-export/kb-manager-export.css +108 -0
  160. package/dist/collection/components/kb-manager-export/kb-manager-export.js +3 -3
  161. package/dist/collection/components/kb-manager-export/kb-manager-export.js.map +1 -1
  162. package/dist/collection/components/kb-manager-import/kb-manager-import.css +157 -0
  163. package/dist/collection/components/modules/edit-module-server/edit-module-server.css +108 -0
  164. package/dist/collection/components/modules/manage-module-references/manage-module-references.css +108 -0
  165. package/dist/collection/components/modules/manage-module-references/manage-module-references.js +21 -2
  166. package/dist/collection/components/modules/manage-module-references/manage-module-references.js.map +1 -1
  167. package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js +21 -2
  168. package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js.map +1 -1
  169. package/dist/collection/components/modules/manage-module-references-v2/manage-module-references.css +108 -0
  170. package/dist/collection/components/new-environment/new-environment.css +108 -0
  171. package/dist/collection/components/new-environment/new-environment.js +1 -1
  172. package/dist/collection/components/new-environment/new-environment.js.map +1 -1
  173. package/dist/collection/components/new-kb/new-kb.css +108 -0
  174. package/dist/collection/components/new-kb/new-kb.js +1 -1
  175. package/dist/collection/components/new-kb/new-kb.js.map +1 -1
  176. package/dist/collection/components/new-object/new-object.css +108 -0
  177. package/dist/collection/components/new-object/new-object.js +2 -2
  178. package/dist/collection/components/object-selector/gx-ide-assets/object-selector/langs/object-selector.lang.en.json +4 -0
  179. package/dist/collection/components/object-selector/gx-ide-assets/object-selector/langs/object-selector.lang.ja.json +4 -1
  180. package/dist/collection/components/object-selector/gx-ide-assets/object-selector/shortcuts.json +2 -2
  181. package/dist/collection/components/object-selector/helpers.js +13 -0
  182. package/dist/collection/components/object-selector/helpers.js.map +1 -0
  183. package/dist/collection/components/object-selector/object-selector.css +200 -51
  184. package/dist/collection/components/object-selector/object-selector.js +299 -375
  185. package/dist/collection/components/object-selector/object-selector.js.map +1 -1
  186. package/dist/collection/components/references/helpers.js.map +1 -1
  187. package/dist/collection/components/references/references.css +108 -0
  188. package/dist/collection/components/references/references.js.map +1 -1
  189. package/dist/collection/components/share-kb/share-kb.css +108 -0
  190. package/dist/collection/components/share-kb/share-kb.js +1 -1
  191. package/dist/collection/components/share-kb/share-kb.js.map +1 -1
  192. package/dist/collection/components/start-page/gx-ide-assets/recent-news/langs/recent-news.lang.en.json +14 -4
  193. package/dist/collection/components/start-page/gx-ide-assets/recent-news/langs/recent-news.lang.ja.json +15 -5
  194. package/dist/collection/components/start-page/gx-ide-assets/start-page/langs/start-page.lang.en.json +13 -3
  195. package/dist/collection/components/start-page/gx-ide-assets/start-page/langs/start-page.lang.ja.json +15 -5
  196. package/dist/collection/components/start-page/recent-news.css +136 -42
  197. package/dist/collection/components/start-page/recent-news.js +141 -73
  198. package/dist/collection/components/start-page/recent-news.js.map +1 -1
  199. package/dist/collection/components/start-page/start-page.css +186 -29
  200. package/dist/collection/components/start-page/start-page.js +184 -171
  201. package/dist/collection/components/start-page/start-page.js.map +1 -1
  202. package/dist/collection/components/team-dev/commit/commit.css +149 -1
  203. package/dist/collection/components/team-dev/commit/commit.js +2 -3
  204. package/dist/collection/components/team-dev/commit/commit.js.map +1 -1
  205. package/dist/collection/components/team-dev/select-recent-comment/select-recent-comment.css +108 -0
  206. package/dist/collection/components/team-dev/update/update.css +150 -2
  207. package/dist/collection/components/team-dev/update/update.js +1 -2
  208. package/dist/collection/components/team-dev/update/update.js.map +1 -1
  209. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.css +108 -0
  210. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js +1 -2
  211. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js.map +1 -1
  212. package/dist/collection/components/team-dev/update-to-revision/update-to-revision.css +108 -0
  213. package/dist/collection/components/wf-settings/wf-settings.css +108 -0
  214. package/dist/collection/components/ww-images/ww-images.css +151 -3
  215. package/dist/collection/components/ww-images/ww-images.js +3 -4
  216. package/dist/collection/components/ww-images/ww-images.js.map +1 -1
  217. package/dist/components/ai-message.js +1 -1
  218. package/dist/components/ai-message.js.map +1 -1
  219. package/dist/components/assets-manager.js +14667 -0
  220. package/dist/components/assets-manager.js.map +1 -0
  221. package/dist/components/bpm-objects-selector.js +1 -1
  222. package/dist/components/bpm-objects-selector.js.map +1 -1
  223. package/dist/components/config.js +20 -0
  224. package/dist/components/config.js.map +1 -1
  225. package/dist/components/constants.js.map +1 -1
  226. package/dist/components/entity-selector.js +79 -57
  227. package/dist/components/entity-selector.js.map +1 -1
  228. package/dist/components/gx-ide-ai-assistant.js +1 -1
  229. package/dist/components/gx-ide-ai-assistant.js.map +1 -1
  230. package/dist/components/gx-ide-bpm-app-declaration.js +2 -3
  231. package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
  232. package/dist/components/gx-ide-bpm-assign-roles.js +1 -1
  233. package/dist/components/gx-ide-bpm-assign-roles.js.map +1 -1
  234. package/dist/components/gx-ide-bpm-export-xpdl.js +1 -1
  235. package/dist/components/gx-ide-bpm-export-xpdl.js.map +1 -1
  236. package/dist/components/gx-ide-bpm-import-files.js +1 -1
  237. package/dist/components/gx-ide-bpm-import-files.js.map +1 -1
  238. package/dist/components/gx-ide-bpm-import-gxpm.js +1 -1
  239. package/dist/components/gx-ide-bpm-import-gxpm.js.map +1 -1
  240. package/dist/components/gx-ide-bpm-timer-duration.js +1 -1
  241. package/dist/components/gx-ide-bpm-timer-duration.js.map +1 -1
  242. package/dist/components/gx-ide-card.js +1 -1
  243. package/dist/components/gx-ide-card.js.map +1 -1
  244. package/dist/components/gx-ide-connect-gx-server.js +2 -2
  245. package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
  246. package/dist/components/gx-ide-create-kb-from-server.js +2 -2
  247. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  248. package/dist/components/gx-ide-dashboard-home.js +25 -16
  249. package/dist/components/gx-ide-dashboard-home.js.map +1 -1
  250. package/dist/components/gx-ide-data-selector.js +2 -3
  251. package/dist/components/gx-ide-data-selector.js.map +1 -1
  252. package/dist/components/gx-ide-design-import.js +1 -1
  253. package/dist/components/gx-ide-design-import.js.map +1 -1
  254. package/dist/components/gx-ide-edit-module-server.js +1 -1
  255. package/dist/components/gx-ide-edit-module-server.js.map +1 -1
  256. package/dist/components/gx-ide-empty-state2.js +13 -63
  257. package/dist/components/gx-ide-empty-state2.js.map +1 -1
  258. package/dist/components/gx-ide-gam-installation-settings.js +1 -1
  259. package/dist/components/gx-ide-gam-installation-settings.js.map +1 -1
  260. package/dist/components/gx-ide-kb-manager-export.js +1 -1
  261. package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
  262. package/dist/components/gx-ide-kb-manager-import.js +1 -1
  263. package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
  264. package/dist/components/gx-ide-manage-module-references-v2.js +22 -3
  265. package/dist/components/gx-ide-manage-module-references-v2.js.map +1 -1
  266. package/dist/components/gx-ide-manage-module-references.js +22 -3
  267. package/dist/components/gx-ide-manage-module-references.js.map +1 -1
  268. package/dist/components/gx-ide-new-environment.js +2 -3
  269. package/dist/components/gx-ide-new-environment.js.map +1 -1
  270. package/dist/components/gx-ide-new-kb.js +2 -2
  271. package/dist/components/gx-ide-new-kb.js.map +1 -1
  272. package/dist/components/gx-ide-new-object.js +1 -1
  273. package/dist/components/gx-ide-new-object.js.map +1 -1
  274. package/dist/components/gx-ide-object-selector.js +224 -243
  275. package/dist/components/gx-ide-object-selector.js.map +1 -1
  276. package/dist/components/gx-ide-references.js +1 -1
  277. package/dist/components/gx-ide-references.js.map +1 -1
  278. package/dist/components/gx-ide-share-kb.js +2 -2
  279. package/dist/components/gx-ide-share-kb.js.map +1 -1
  280. package/dist/components/gx-ide-start-page.js +149 -133
  281. package/dist/components/gx-ide-start-page.js.map +1 -1
  282. package/dist/components/gx-ide-team-dev-commit.js +4 -5
  283. package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
  284. package/dist/components/gx-ide-team-dev-select-recent-comment.js +1 -1
  285. package/dist/components/gx-ide-team-dev-select-recent-comment.js.map +1 -1
  286. package/dist/components/gx-ide-team-dev-update-partial-selection.js +2 -3
  287. package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
  288. package/dist/components/gx-ide-team-dev-update-to-revision.js +1 -1
  289. package/dist/components/gx-ide-team-dev-update-to-revision.js.map +1 -1
  290. package/dist/components/gx-ide-team-dev-update.js +3 -4
  291. package/dist/components/gx-ide-team-dev-update.js.map +1 -1
  292. package/dist/components/gx-ide-template.js +1 -1
  293. package/dist/components/gx-ide-template.js.map +1 -1
  294. package/dist/components/gx-ide-wf-settings.js +1 -1
  295. package/dist/components/gx-ide-wf-settings.js.map +1 -1
  296. package/dist/components/gx-ide-ww-images.js +4 -5
  297. package/dist/components/gx-ide-ww-images.js.map +1 -1
  298. package/dist/components/helpers.js +32 -4
  299. package/dist/components/helpers.js.map +1 -1
  300. package/dist/components/ide-loader.js +36 -56
  301. package/dist/components/ide-loader.js.map +1 -1
  302. package/dist/components/list-selector.js +1 -1
  303. package/dist/components/list-selector.js.map +1 -1
  304. package/dist/components/recent-news.js +132 -73
  305. package/dist/components/recent-news.js.map +1 -1
  306. package/dist/components/render-suggest.js.map +1 -1
  307. package/dist/esm/assets-manager-120996e9.js +14667 -0
  308. package/dist/esm/assets-manager-120996e9.js.map +1 -0
  309. package/dist/esm/{common-8826f536.js → common-31ac2b05.js} +2 -2
  310. package/dist/esm/{common-8826f536.js.map → common-31ac2b05.js.map} +1 -1
  311. package/dist/esm/{config-a492e15e.js → config-6cfbb06f.js} +21 -1
  312. package/dist/esm/config-6cfbb06f.js.map +1 -0
  313. package/dist/esm/constants-f9193da7.js.map +1 -1
  314. package/dist/esm/genexus-ide-ui.js +3 -3
  315. package/dist/esm/gx-ide-ai-assistant.entry.js +2 -2
  316. package/dist/esm/gx-ide-ai-assistant.entry.js.map +1 -1
  317. package/dist/esm/gx-ide-ai-message.entry.js +3 -3
  318. package/dist/esm/gx-ide-ai-message.entry.js.map +1 -1
  319. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +6 -7
  320. package/dist/esm/gx-ide-bpm-app-declaration.entry.js.map +1 -1
  321. package/dist/esm/gx-ide-bpm-assign-roles.entry.js +3 -3
  322. package/dist/esm/gx-ide-bpm-assign-roles.entry.js.map +1 -1
  323. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +3 -3
  324. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js.map +1 -1
  325. package/dist/esm/gx-ide-bpm-import-files.entry.js +4 -4
  326. package/dist/esm/gx-ide-bpm-import-files.entry.js.map +1 -1
  327. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +3 -3
  328. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js.map +1 -1
  329. package/dist/esm/gx-ide-bpm-objects-selector.entry.js +4 -4
  330. package/dist/esm/gx-ide-bpm-objects-selector.entry.js.map +1 -1
  331. package/dist/esm/gx-ide-bpm-timer-duration.entry.js +3 -3
  332. package/dist/esm/gx-ide-bpm-timer-duration.entry.js.map +1 -1
  333. package/dist/esm/gx-ide-card.entry.js +2 -2
  334. package/dist/esm/gx-ide-card.entry.js.map +1 -1
  335. package/dist/esm/gx-ide-connect-gx-server.entry.js +4 -4
  336. package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
  337. package/dist/esm/gx-ide-container_2.entry.js +1 -1
  338. package/dist/esm/gx-ide-create-kb-from-server.entry.js +4 -4
  339. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  340. package/dist/esm/gx-ide-dashboard-home.entry.js +24 -9
  341. package/dist/esm/gx-ide-dashboard-home.entry.js.map +1 -1
  342. package/dist/esm/gx-ide-data-selector.entry.js +4 -5
  343. package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
  344. package/dist/esm/gx-ide-design-import.entry.js +4 -4
  345. package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
  346. package/dist/esm/gx-ide-directory-selector.entry.js +1 -1
  347. package/dist/esm/gx-ide-edit-module-server.entry.js +2 -2
  348. package/dist/esm/gx-ide-edit-module-server.entry.js.map +1 -1
  349. package/dist/esm/gx-ide-empty-state.entry.js +11 -50
  350. package/dist/esm/gx-ide-empty-state.entry.js.map +1 -1
  351. package/dist/esm/gx-ide-entity-selector.entry.js +78 -53
  352. package/dist/esm/gx-ide-entity-selector.entry.js.map +1 -1
  353. package/dist/esm/gx-ide-gam-installation-settings.entry.js +3 -3
  354. package/dist/esm/gx-ide-gam-installation-settings.entry.js.map +1 -1
  355. package/dist/esm/gx-ide-kb-manager-export.entry.js +3 -3
  356. package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
  357. package/dist/esm/gx-ide-kb-manager-import.entry.js +4 -4
  358. package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
  359. package/dist/esm/gx-ide-list-selector_2.entry.js +2 -2
  360. package/dist/esm/gx-ide-list-selector_2.entry.js.map +1 -1
  361. package/dist/esm/gx-ide-loader.entry.js +32 -47
  362. package/dist/esm/gx-ide-loader.entry.js.map +1 -1
  363. package/dist/esm/gx-ide-manage-module-references-v2.entry.js +24 -5
  364. package/dist/esm/gx-ide-manage-module-references-v2.entry.js.map +1 -1
  365. package/dist/esm/gx-ide-manage-module-references.entry.js +24 -5
  366. package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -1
  367. package/dist/esm/gx-ide-new-environment.entry.js +5 -6
  368. package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
  369. package/dist/esm/gx-ide-new-kb.entry.js +5 -5
  370. package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
  371. package/dist/esm/gx-ide-new-object.entry.js +3 -3
  372. package/dist/esm/gx-ide-new-object.entry.js.map +1 -1
  373. package/dist/esm/gx-ide-object-selector.entry.js +208 -218
  374. package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
  375. package/dist/esm/gx-ide-recent-news.entry.js +119 -70
  376. package/dist/esm/gx-ide-recent-news.entry.js.map +1 -1
  377. package/dist/esm/gx-ide-references.entry.js +4 -4
  378. package/dist/esm/gx-ide-references.entry.js.map +1 -1
  379. package/dist/esm/gx-ide-share-kb.entry.js +5 -5
  380. package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
  381. package/dist/esm/gx-ide-start-page.entry.js +131 -125
  382. package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
  383. package/dist/esm/gx-ide-status-buttons.entry.js +1 -1
  384. package/dist/esm/gx-ide-switch-panel.entry.js +1 -1
  385. package/dist/esm/gx-ide-switcher.entry.js +1 -1
  386. package/dist/esm/gx-ide-team-dev-commit.entry.js +7 -8
  387. package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
  388. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +4 -4
  389. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js.map +1 -1
  390. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +4 -5
  391. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
  392. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +3 -3
  393. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js.map +1 -1
  394. package/dist/esm/gx-ide-team-dev-update.entry.js +6 -7
  395. package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
  396. package/dist/esm/gx-ide-template.entry.js +3 -3
  397. package/dist/esm/gx-ide-template.entry.js.map +1 -1
  398. package/dist/esm/gx-ide-test.entry.js +1 -1
  399. package/dist/esm/gx-ide-top-bar.entry.js +1 -1
  400. package/dist/esm/gx-ide-wf-settings.entry.js +3 -3
  401. package/dist/esm/gx-ide-wf-settings.entry.js.map +1 -1
  402. package/dist/esm/gx-ide-ww-images.entry.js +7 -8
  403. package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
  404. package/dist/esm/{helpers-0a23ab69.js → helpers-05c62775.js} +34 -6
  405. package/dist/esm/helpers-05c62775.js.map +1 -0
  406. package/dist/esm/{index-2f305780.js → index-27c691bc.js} +10 -4
  407. package/dist/esm/index-27c691bc.js.map +1 -0
  408. package/dist/esm/loader.js +3 -3
  409. package/dist/esm/{render-combo-items-42fe0712.js → render-combo-items-b5465c1d.js} +2 -2
  410. package/dist/esm/{render-combo-items-42fe0712.js.map → render-combo-items-b5465c1d.js.map} +1 -1
  411. package/dist/esm/{render-list-item-ae730365.js → render-list-item-06286d62.js} +2 -2
  412. package/dist/esm/{render-list-item-ae730365.js.map → render-list-item-06286d62.js.map} +1 -1
  413. package/dist/esm/{render-suggest-90759f0b.js → render-suggest-3543434c.js} +2 -2
  414. package/dist/esm/render-suggest-3543434c.js.map +1 -0
  415. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +3 -3
  416. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  417. package/dist/genexus-ide-ui/gx-ide-assets/entity-selector/langs/entity-selector.lang.en.json +6 -0
  418. package/dist/genexus-ide-ui/gx-ide-assets/entity-selector/langs/entity-selector.lang.ja.json +0 -0
  419. package/dist/genexus-ide-ui/gx-ide-assets/entity-selector/langs/entity-selector.lang.zh.json +0 -0
  420. package/dist/genexus-ide-ui/gx-ide-assets/object-selector/langs/object-selector.lang.en.json +4 -0
  421. package/dist/genexus-ide-ui/gx-ide-assets/object-selector/langs/object-selector.lang.ja.json +4 -1
  422. package/dist/genexus-ide-ui/gx-ide-assets/object-selector/shortcuts.json +2 -2
  423. package/dist/genexus-ide-ui/gx-ide-assets/recent-news/langs/recent-news.lang.en.json +14 -4
  424. package/dist/genexus-ide-ui/gx-ide-assets/recent-news/langs/recent-news.lang.ja.json +15 -5
  425. package/dist/genexus-ide-ui/gx-ide-assets/start-page/langs/start-page.lang.en.json +13 -3
  426. package/dist/genexus-ide-ui/gx-ide-assets/start-page/langs/start-page.lang.ja.json +15 -5
  427. package/dist/genexus-ide-ui/{p-52037fb7.entry.js → p-02c7b423.entry.js} +74 -74
  428. package/dist/genexus-ide-ui/p-02c7b423.entry.js.map +1 -0
  429. package/dist/genexus-ide-ui/{p-7fe1ceb9.entry.js → p-03a88768.entry.js} +4 -4
  430. package/dist/genexus-ide-ui/{p-c0df43ae.entry.js → p-03b4b814.entry.js} +178 -180
  431. package/dist/genexus-ide-ui/p-03b4b814.entry.js.map +1 -0
  432. package/dist/genexus-ide-ui/{p-fa07dd86.entry.js → p-04875060.entry.js} +99 -99
  433. package/dist/genexus-ide-ui/{p-309544a8.js → p-07b9c2d4.js} +2 -2
  434. package/dist/genexus-ide-ui/{p-fc6040c7.entry.js → p-09cc20b1.entry.js} +2 -2
  435. package/dist/genexus-ide-ui/{p-328fc42f.entry.js → p-0bddf199.entry.js} +110 -89
  436. package/dist/genexus-ide-ui/p-0bddf199.entry.js.map +1 -0
  437. package/dist/genexus-ide-ui/{p-ff934271.entry.js → p-0f7b7541.entry.js} +46 -48
  438. package/dist/genexus-ide-ui/p-0f7b7541.entry.js.map +1 -0
  439. package/dist/genexus-ide-ui/p-13feb5cf.js.map +1 -1
  440. package/dist/genexus-ide-ui/{p-9265eb8d.js → p-14e6ef41.js} +52 -24
  441. package/dist/genexus-ide-ui/p-14e6ef41.js.map +1 -0
  442. package/dist/genexus-ide-ui/p-15ab148b.entry.js +683 -0
  443. package/dist/genexus-ide-ui/{p-8be06716.entry.js → p-2073deab.entry.js} +30 -30
  444. package/dist/genexus-ide-ui/{p-14d3afaf.entry.js → p-2238f5b3.entry.js} +43 -26
  445. package/dist/genexus-ide-ui/p-2238f5b3.entry.js.map +1 -0
  446. package/dist/genexus-ide-ui/{p-947149d1.entry.js → p-28456a97.entry.js} +16 -16
  447. package/dist/genexus-ide-ui/{p-52d063c4.entry.js → p-33434d7d.entry.js} +170 -172
  448. package/dist/genexus-ide-ui/p-33434d7d.entry.js.map +1 -0
  449. package/dist/genexus-ide-ui/{p-1cbf3ae4.entry.js → p-3b5b6908.entry.js} +2 -2
  450. package/dist/genexus-ide-ui/{p-caa3c8b1.entry.js → p-43cfd06b.entry.js} +37 -37
  451. package/dist/genexus-ide-ui/p-43cfd06b.entry.js.map +1 -0
  452. package/dist/genexus-ide-ui/p-44a2f835.entry.js +506 -0
  453. package/dist/genexus-ide-ui/p-44a2f835.entry.js.map +1 -0
  454. package/dist/genexus-ide-ui/{p-c8f4d24c.entry.js → p-48723dcd.entry.js} +8 -8
  455. package/dist/genexus-ide-ui/{p-4f0b6507.entry.js → p-4a0e3c34.entry.js} +74 -74
  456. package/dist/genexus-ide-ui/p-4a0e3c34.entry.js.map +1 -0
  457. package/dist/genexus-ide-ui/{p-df2e4696.entry.js → p-51771269.entry.js} +115 -94
  458. package/dist/genexus-ide-ui/p-51771269.entry.js.map +1 -0
  459. package/dist/genexus-ide-ui/{p-61e2d60e.entry.js → p-51ea74a5.entry.js} +52 -52
  460. package/dist/genexus-ide-ui/p-537dfb63.entry.js +318 -0
  461. package/dist/genexus-ide-ui/p-54f34df2.entry.js +154 -0
  462. package/dist/genexus-ide-ui/p-54f34df2.entry.js.map +1 -0
  463. package/dist/genexus-ide-ui/{p-06cb63b5.entry.js → p-60b5aa38.entry.js} +3 -3
  464. package/dist/genexus-ide-ui/{p-03c0d269.entry.js → p-69a83248.entry.js} +2 -2
  465. package/dist/genexus-ide-ui/p-6df9fab1.js +14666 -0
  466. package/dist/genexus-ide-ui/p-6df9fab1.js.map +1 -0
  467. package/dist/genexus-ide-ui/{p-6b5adc13.entry.js → p-73a98f20.entry.js} +13 -13
  468. package/dist/genexus-ide-ui/p-73a98f20.entry.js.map +1 -0
  469. package/dist/genexus-ide-ui/{p-f744e80f.entry.js → p-73afc989.entry.js} +22 -22
  470. package/dist/genexus-ide-ui/{p-c3fbfe7b.entry.js → p-77239013.entry.js} +18 -18
  471. package/dist/genexus-ide-ui/{p-fc55b26e.entry.js → p-7ac25fc3.entry.js} +2 -2
  472. package/dist/genexus-ide-ui/{p-357b287c.entry.js → p-7ca8ed4b.entry.js} +54 -54
  473. package/dist/genexus-ide-ui/p-8050e61d.entry.js +228 -0
  474. package/dist/genexus-ide-ui/p-8050e61d.entry.js.map +1 -0
  475. package/dist/genexus-ide-ui/{p-8dfde4d9.entry.js → p-82649b9b.entry.js} +47 -47
  476. package/dist/genexus-ide-ui/{p-9c1b4eb9.js → p-8cf892b5.js} +23 -3
  477. package/dist/genexus-ide-ui/p-8cf892b5.js.map +1 -0
  478. package/dist/genexus-ide-ui/{p-b01eccc2.entry.js → p-8ee27085.entry.js} +4 -4
  479. package/dist/genexus-ide-ui/{p-cad2b413.entry.js → p-92e46b5d.entry.js} +37 -37
  480. package/dist/genexus-ide-ui/{p-c6f0f199.entry.js → p-941cdab8.entry.js} +57 -59
  481. package/dist/genexus-ide-ui/p-941cdab8.entry.js.map +1 -0
  482. package/dist/genexus-ide-ui/p-957341c7.entry.js +210 -0
  483. package/dist/genexus-ide-ui/p-957341c7.entry.js.map +1 -0
  484. package/dist/genexus-ide-ui/{p-9d0b7d59.entry.js → p-969e4799.entry.js} +91 -93
  485. package/dist/genexus-ide-ui/p-969e4799.entry.js.map +1 -0
  486. package/dist/genexus-ide-ui/{p-4dbaf435.entry.js → p-a1f28f2b.entry.js} +45 -45
  487. package/dist/genexus-ide-ui/{p-18235116.entry.js → p-a88e14f8.entry.js} +153 -156
  488. package/dist/genexus-ide-ui/p-a88e14f8.entry.js.map +1 -0
  489. package/dist/genexus-ide-ui/{p-c147291f.js → p-aaed592c.js} +12 -5
  490. package/dist/genexus-ide-ui/p-aaed592c.js.map +1 -0
  491. package/dist/genexus-ide-ui/{p-0b854804.js → p-af836892.js} +9 -9
  492. package/dist/genexus-ide-ui/{p-ce59fefc.entry.js → p-b984f974.entry.js} +54 -56
  493. package/dist/genexus-ide-ui/p-b984f974.entry.js.map +1 -0
  494. package/dist/genexus-ide-ui/{p-c6cf40ab.entry.js → p-c79243c8.entry.js} +2 -2
  495. package/dist/genexus-ide-ui/p-cb0e11db.entry.js +73 -0
  496. package/dist/genexus-ide-ui/p-cb0e11db.entry.js.map +1 -0
  497. package/dist/genexus-ide-ui/{p-0c8c6cc3.entry.js → p-d0f99e7f.entry.js} +41 -41
  498. package/dist/genexus-ide-ui/p-d0f99e7f.entry.js.map +1 -0
  499. package/dist/genexus-ide-ui/{p-f9cd47ba.entry.js → p-d40d8792.entry.js} +31 -112
  500. package/dist/genexus-ide-ui/p-d40d8792.entry.js.map +1 -0
  501. package/dist/genexus-ide-ui/{p-9e5fa97a.entry.js → p-dbfddffd.entry.js} +2 -2
  502. package/dist/genexus-ide-ui/{p-5bf67436.js → p-e8bdf9dc.js} +2 -2
  503. package/dist/genexus-ide-ui/p-e8bdf9dc.js.map +1 -0
  504. package/dist/genexus-ide-ui/{p-853dacf5.entry.js → p-ed72073c.entry.js} +42 -42
  505. package/dist/genexus-ide-ui/p-ed72073c.entry.js.map +1 -0
  506. package/dist/genexus-ide-ui/{p-01885db6.entry.js → p-edc4f1dc.entry.js} +5 -5
  507. package/dist/genexus-ide-ui/{p-7e2ea144.entry.js → p-ee3161f8.entry.js} +28 -28
  508. package/dist/genexus-ide-ui/{p-3ce32466.entry.js → p-f1f6b028.entry.js} +31 -31
  509. package/dist/genexus-ide-ui/{p-13c68ced.js → p-f831f30b.js} +2 -2
  510. package/dist/genexus-ide-ui/{p-97fba685.entry.js → p-f9aafa8f.entry.js} +24 -24
  511. package/dist/types/common/config.d.ts +19 -0
  512. package/dist/types/common/constants.d.ts +5 -4
  513. package/dist/types/common/helpers.d.ts +9 -0
  514. package/dist/types/common/render-suggest.d.ts +1 -1
  515. package/dist/types/common/types.d.ts +1 -3
  516. package/dist/types/components/_helpers/empty-state/gx-ide-empty-state.d.ts +4 -22
  517. package/dist/types/components/_helpers/entity-selector/entity-selector.d.ts +12 -31
  518. package/dist/types/components/_helpers/ide-loader/ide-loader.d.ts +11 -28
  519. package/dist/types/components/bpm/application-declaration/bpm-app-declaration.d.ts +1 -1
  520. package/dist/types/components/bpm/application-declaration/helpers.d.ts +1 -1
  521. package/dist/types/components/dashboard-home/dashboard-home.d.ts +1 -0
  522. package/dist/types/components/kb-manager-export/helpers.d.ts +2 -1
  523. package/dist/types/components/kb-manager-export/kb-manager-export.d.ts +1 -5
  524. package/dist/types/components/modules/manage-module-references/manage-module-references.d.ts +1 -0
  525. package/dist/types/components/modules/manage-module-references-v2/manage-module-references-v2.d.ts +1 -0
  526. package/dist/types/components/object-selector/helpers.d.ts +4 -0
  527. package/dist/types/components/object-selector/object-selector.d.ts +28 -82
  528. package/dist/types/components/references/helpers.d.ts +1 -1
  529. package/dist/types/components/references/references.d.ts +1 -1
  530. package/dist/types/components/start-page/recent-news.d.ts +16 -12
  531. package/dist/types/components/start-page/start-page.d.ts +42 -18
  532. package/dist/types/components.d.ts +47 -158
  533. package/package.json +5 -5
  534. package/dist/cjs/config-8246d533.js.map +0 -1
  535. package/dist/cjs/form-validation-40aa8527.js +0 -24
  536. package/dist/cjs/form-validation-40aa8527.js.map +0 -1
  537. package/dist/cjs/grid-99bca82a.js +0 -16
  538. package/dist/cjs/grid-99bca82a.js.map +0 -1
  539. package/dist/cjs/helpers-cef3dd1f.js.map +0 -1
  540. package/dist/cjs/index-13ec56b2.js.map +0 -1
  541. package/dist/cjs/render-suggest-5159c128.js.map +0 -1
  542. package/dist/collection/common/form-validation.js +0 -19
  543. package/dist/collection/common/form-validation.js.map +0 -1
  544. package/dist/collection/common/grid.js +0 -11
  545. package/dist/collection/common/grid.js.map +0 -1
  546. package/dist/collection/common/interfaces.js +0 -4
  547. package/dist/collection/common/interfaces.js.map +0 -1
  548. package/dist/components/form-validation.js +0 -22
  549. package/dist/components/form-validation.js.map +0 -1
  550. package/dist/components/grid.js +0 -14
  551. package/dist/components/grid.js.map +0 -1
  552. package/dist/esm/config-a492e15e.js.map +0 -1
  553. package/dist/esm/form-validation-9367af5a.js +0 -22
  554. package/dist/esm/form-validation-9367af5a.js.map +0 -1
  555. package/dist/esm/grid-55fe9537.js +0 -14
  556. package/dist/esm/grid-55fe9537.js.map +0 -1
  557. package/dist/esm/helpers-0a23ab69.js.map +0 -1
  558. package/dist/esm/index-2f305780.js.map +0 -1
  559. package/dist/esm/render-suggest-90759f0b.js.map +0 -1
  560. package/dist/genexus-ide-ui/p-00095d68.js +0 -20
  561. package/dist/genexus-ide-ui/p-00095d68.js.map +0 -1
  562. package/dist/genexus-ide-ui/p-0c8c6cc3.entry.js.map +0 -1
  563. package/dist/genexus-ide-ui/p-14d3afaf.entry.js.map +0 -1
  564. package/dist/genexus-ide-ui/p-18235116.entry.js.map +0 -1
  565. package/dist/genexus-ide-ui/p-1aee7705.entry.js +0 -493
  566. package/dist/genexus-ide-ui/p-1aee7705.entry.js.map +0 -1
  567. package/dist/genexus-ide-ui/p-328fc42f.entry.js.map +0 -1
  568. package/dist/genexus-ide-ui/p-41326e89.entry.js +0 -184
  569. package/dist/genexus-ide-ui/p-41326e89.entry.js.map +0 -1
  570. package/dist/genexus-ide-ui/p-4c52f542.entry.js +0 -97
  571. package/dist/genexus-ide-ui/p-4c52f542.entry.js.map +0 -1
  572. package/dist/genexus-ide-ui/p-4f0b6507.entry.js.map +0 -1
  573. package/dist/genexus-ide-ui/p-52037fb7.entry.js.map +0 -1
  574. package/dist/genexus-ide-ui/p-52d063c4.entry.js.map +0 -1
  575. package/dist/genexus-ide-ui/p-5bf67436.js.map +0 -1
  576. package/dist/genexus-ide-ui/p-6b5adc13.entry.js.map +0 -1
  577. package/dist/genexus-ide-ui/p-6d9841c4.entry.js +0 -94
  578. package/dist/genexus-ide-ui/p-6d9841c4.entry.js.map +0 -1
  579. package/dist/genexus-ide-ui/p-720702e4.js +0 -13
  580. package/dist/genexus-ide-ui/p-720702e4.js.map +0 -1
  581. package/dist/genexus-ide-ui/p-853dacf5.entry.js.map +0 -1
  582. package/dist/genexus-ide-ui/p-9265eb8d.js.map +0 -1
  583. package/dist/genexus-ide-ui/p-9c1b4eb9.js.map +0 -1
  584. package/dist/genexus-ide-ui/p-9d0b7d59.entry.js.map +0 -1
  585. package/dist/genexus-ide-ui/p-a5c15051.entry.js +0 -318
  586. package/dist/genexus-ide-ui/p-c0df43ae.entry.js.map +0 -1
  587. package/dist/genexus-ide-ui/p-c147291f.js.map +0 -1
  588. package/dist/genexus-ide-ui/p-c6f0f199.entry.js.map +0 -1
  589. package/dist/genexus-ide-ui/p-ca73836a.entry.js +0 -683
  590. package/dist/genexus-ide-ui/p-caa3c8b1.entry.js.map +0 -1
  591. package/dist/genexus-ide-ui/p-ce59fefc.entry.js.map +0 -1
  592. package/dist/genexus-ide-ui/p-df2e4696.entry.js.map +0 -1
  593. package/dist/genexus-ide-ui/p-f66a086d.entry.js +0 -146
  594. package/dist/genexus-ide-ui/p-f66a086d.entry.js.map +0 -1
  595. package/dist/genexus-ide-ui/p-f9cd47ba.entry.js.map +0 -1
  596. package/dist/genexus-ide-ui/p-ff934271.entry.js.map +0 -1
  597. package/dist/types/common/form-validation.d.ts +0 -2
  598. package/dist/types/common/grid.d.ts +0 -10
  599. /package/dist/{types/common/interfaces.d.ts → collection/components/_helpers/entity-selector/gx-ide-assets/entity-selector/langs/entity-selector.lang.ja.json} +0 -0
  600. /package/dist/genexus-ide-ui/{p-7fe1ceb9.entry.js.map → p-03a88768.entry.js.map} +0 -0
  601. /package/dist/genexus-ide-ui/{p-fa07dd86.entry.js.map → p-04875060.entry.js.map} +0 -0
  602. /package/dist/genexus-ide-ui/{p-309544a8.js.map → p-07b9c2d4.js.map} +0 -0
  603. /package/dist/genexus-ide-ui/{p-fc6040c7.entry.js.map → p-09cc20b1.entry.js.map} +0 -0
  604. /package/dist/genexus-ide-ui/{p-ca73836a.entry.js.map → p-15ab148b.entry.js.map} +0 -0
  605. /package/dist/genexus-ide-ui/{p-8be06716.entry.js.map → p-2073deab.entry.js.map} +0 -0
  606. /package/dist/genexus-ide-ui/{p-947149d1.entry.js.map → p-28456a97.entry.js.map} +0 -0
  607. /package/dist/genexus-ide-ui/{p-1cbf3ae4.entry.js.map → p-3b5b6908.entry.js.map} +0 -0
  608. /package/dist/genexus-ide-ui/{p-c8f4d24c.entry.js.map → p-48723dcd.entry.js.map} +0 -0
  609. /package/dist/genexus-ide-ui/{p-61e2d60e.entry.js.map → p-51ea74a5.entry.js.map} +0 -0
  610. /package/dist/genexus-ide-ui/{p-a5c15051.entry.js.map → p-537dfb63.entry.js.map} +0 -0
  611. /package/dist/genexus-ide-ui/{p-06cb63b5.entry.js.map → p-60b5aa38.entry.js.map} +0 -0
  612. /package/dist/genexus-ide-ui/{p-03c0d269.entry.js.map → p-69a83248.entry.js.map} +0 -0
  613. /package/dist/genexus-ide-ui/{p-f744e80f.entry.js.map → p-73afc989.entry.js.map} +0 -0
  614. /package/dist/genexus-ide-ui/{p-c3fbfe7b.entry.js.map → p-77239013.entry.js.map} +0 -0
  615. /package/dist/genexus-ide-ui/{p-fc55b26e.entry.js.map → p-7ac25fc3.entry.js.map} +0 -0
  616. /package/dist/genexus-ide-ui/{p-357b287c.entry.js.map → p-7ca8ed4b.entry.js.map} +0 -0
  617. /package/dist/genexus-ide-ui/{p-8dfde4d9.entry.js.map → p-82649b9b.entry.js.map} +0 -0
  618. /package/dist/genexus-ide-ui/{p-b01eccc2.entry.js.map → p-8ee27085.entry.js.map} +0 -0
  619. /package/dist/genexus-ide-ui/{p-cad2b413.entry.js.map → p-92e46b5d.entry.js.map} +0 -0
  620. /package/dist/genexus-ide-ui/{p-4dbaf435.entry.js.map → p-a1f28f2b.entry.js.map} +0 -0
  621. /package/dist/genexus-ide-ui/{p-0b854804.js.map → p-af836892.js.map} +0 -0
  622. /package/dist/genexus-ide-ui/{p-c6cf40ab.entry.js.map → p-c79243c8.entry.js.map} +0 -0
  623. /package/dist/genexus-ide-ui/{p-9e5fa97a.entry.js.map → p-dbfddffd.entry.js.map} +0 -0
  624. /package/dist/genexus-ide-ui/{p-01885db6.entry.js.map → p-edc4f1dc.entry.js.map} +0 -0
  625. /package/dist/genexus-ide-ui/{p-7e2ea144.entry.js.map → p-ee3161f8.entry.js.map} +0 -0
  626. /package/dist/genexus-ide-ui/{p-3ce32466.entry.js.map → p-f1f6b028.entry.js.map} +0 -0
  627. /package/dist/genexus-ide-ui/{p-13c68ced.js.map → p-f831f30b.js.map} +0 -0
  628. /package/dist/genexus-ide-ui/{p-97fba685.entry.js.map → p-f9aafa8f.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["connectGxServerCss","GxIdeConnectGxServer","this","renderedFirstTime","renderServerUrls","_a","serverUrls","length","map","serverUrl","h","continueWithGxServerHandler","event","displayLoginControls","detail","value","evaluateDisplayLoginControls","enableUserLogged","connectHandler","connectCallback","serverURLEl","continueWithGeneXusAccount","continueWithGeneXusAccountEl","checked","user","userNameEl","password","passwordEl","then","formSubmitResult","console","log","formSubmitValidation","componentWillLoad","_componentLocale","Locale","getComponentStrings","el","componentDidRender","componentDidRenderFirstTime","emit","componentName","render","Host","class","containerTitle","displayTitle","slimmerFooter","config","gxIdeContainer","label","main","disableFilter","enableCustomServer","defaultConnectionData","ref","toolTip","tooltip","continueWithGxAccount","onChange","disabled","userName","labelPosition","_b","_c","slot","type","cancel","onClick","connect"],"sources":["src/components/connect-gx-server/connect-gx-server.scss?tag=gx-ide-connect-gx-server&encapsulation=shadow","src/components/connect-gx-server/connect-gx-server.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n}\n\n.user-details-container {\n display: flex;\n gap: var(--gx-ide-form-items-gap);\n}\n\n.wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--md);\n}\n","/* 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 { formSubmitValidation } from \"../../common/form-validation\";\nimport { ConnectionResultData } from \"../../common/types\";\n\n@Component({\n tag: \"gx-ide-connect-gx-server\",\n styleUrl: \"connect-gx-server.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/connect-gx-server\"]\n})\nexport class GxIdeConnectGxServer {\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: HTMLGxIdeConnectGxServerElement;\n\n private serverURLEl!: HTMLGxgComboBoxElement;\n private userNameEl!: HTMLGxgFormTextElement;\n private passwordEl!: HTMLGxgFormTextElement;\n private continueWithGeneXusAccountEl!: HTMLGxgFormCheckboxElement;\n\n // 3.STATE() VARIABLES //\n\n //\n @State() displayLoginControls: boolean = false;\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 * Array of cataloged server URLs\n */\n @Prop() readonly serverUrls: string[];\n\n /**\n * 'true' if the user should be allowed to manually enter a server URL in serverUrls.\n */\n @Prop() readonly enableCustomServer: boolean = false;\n\n /**\n * Initial user values for the case in which the user returns to the login modal after a successful authentication.\n */\n @Prop() readonly defaultConnectionData?: GXServerConnectionDefault;\n\n /**\n * If 'true', shows the enabled and checked 'Continue with GX Account' checkbox. If 'false', shows the checkbox unchecked and disabled, and displays the options to enter username and password directly. Even if 'true', allow the user to deselect the checkbox and enter username and password.\n */\n @Prop() readonly enableUserLogged: boolean = false;\n\n /**\n * If 'true', shows the enabled and checked 'Continue with GX Account' checkbox. If 'false', shows the checkbox unchecked and disabled, and displays the options to enter username and password directly. Even if 'true', allow the user to deselect the checkbox and enter username and password.\n */\n @Prop() readonly connectCallback: (\n data: GXServerConnectionData\n ) => Promise<ConnectionResultData>;\n\n /**\n * Callback that allows canceling the server connection process.\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 // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.evaluateDisplayLoginControls();\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 renderServerUrls = (): HTMLGxgComboBoxItemElement[] => {\n if (this.serverUrls?.length) {\n return this.serverUrls.map(serverUrl => {\n return <gxg-combo-box-item>{serverUrl}</gxg-combo-box-item>;\n });\n }\n return [];\n };\n\n private continueWithGxServerHandler = (\n event: CustomEvent<{ id: string; value: boolean; disabled?: boolean }>\n ) => {\n this.displayLoginControls = !event.detail.value;\n };\n\n private evaluateDisplayLoginControls = () => {\n if (this.enableUserLogged) {\n this.displayLoginControls = false;\n } else {\n this.displayLoginControls = true;\n }\n };\n\n private connectHandler = () => {\n if (this.connectCallback) {\n this.connectCallback({\n serverUrl: this.serverURLEl.value,\n continueWithGeneXusAccount: this.continueWithGeneXusAccountEl.checked,\n user: this.userNameEl.value,\n password: this.passwordEl.value\n }).then((formSubmitResult: ConnectionResultData) => {\n console.log(formSubmitResult);\n formSubmitValidation(formSubmitResult, this);\n });\n }\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=\"wrapper\">\n {/* server url */}\n <gxg-combo-box\n label={this._componentLocale.main.serverUrl}\n disableFilter={!this.enableCustomServer}\n value={this.defaultConnectionData?.serverUrl}\n ref={el => (this.serverURLEl = el as HTMLGxgComboBoxElement)}\n toolTip={config.tooltip}\n >\n {this.renderServerUrls()}\n </gxg-combo-box>\n\n {/* continue with GeneXus account */}\n <gxg-form-checkbox\n label={this._componentLocale.main.continueWithGxAccount}\n onChange={this.continueWithGxServerHandler}\n checked={this.enableUserLogged}\n disabled={!this.enableUserLogged}\n ref={el =>\n (this.continueWithGeneXusAccountEl =\n el as HTMLGxgFormCheckboxElement)\n }\n ></gxg-form-checkbox>\n\n {this.displayLoginControls ? (\n <div class=\"user-details-container\">\n {/* username */}\n <gxg-form-text\n label={this._componentLocale.main.userName}\n labelPosition=\"above\"\n disabled={!this.displayLoginControls}\n value={this.defaultConnectionData?.user}\n ref={el => (this.userNameEl = el as HTMLGxgFormTextElement)}\n toolTip={config.tooltip}\n ></gxg-form-text>\n {/* password */}\n <gxg-form-text\n label={this._componentLocale.main.password}\n labelPosition=\"above\"\n disabled={!this.displayLoginControls}\n value={this.defaultConnectionData?.password}\n ref={el => (this.passwordEl = el as HTMLGxgFormTextElement)}\n password\n toolTip={config.tooltip}\n ></gxg-form-text>\n </div>\n ) : null}\n </div>\n\n {/* cancel and connect buttons */}\n <gxg-button slot=\"footer-end\" type=\"outlined\">\n {this._componentLocale.main.cancel}\n </gxg-button>\n <gxg-button slot=\"footer-end\" onClick={this.connectHandler}>\n {this._componentLocale.main.connect}\n </gxg-button>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type GXServerConnectionDefault = {\n serverUrl: string;\n user: string;\n password: string;\n};\n\nexport type GXServerConnectionData = GXServerConnectionDefault & {\n continueWithGeneXusAccount: boolean;\n};\n"],"mappings":";;;;;;;;AAAA,MAAMA,IAAqB;;MCwBdC,IAAoB;;;;IAOvBC,KAAAC,oBAAoB;;;;QAoFpBD,KAAAE,mBAAmB;;MACzB,KAAIC,IAAAH,KAAKI,gBAAU,QAAAD,WAAA,aAAAA,EAAEE,QAAQ;QAC3B,OAAOL,KAAKI,WAAWE,KAAIC,KAClBC,EAAA,4BAAqBD;;MAGhC,OAAO;AAAE;IAGHP,KAAAS,8BACNC;MAEAV,KAAKW,wBAAwBD,EAAME,OAAOC;AAAK;IAGzCb,KAAAc,+BAA+B;MACrC,IAAId,KAAKe,kBAAkB;QACzBf,KAAKW,uBAAuB;aACvB;QACLX,KAAKW,uBAAuB;;;IAIxBX,KAAAgB,iBAAiB;MACvB,IAAIhB,KAAKiB,iBAAiB;QACxBjB,KAAKiB,gBAAgB;UACnBV,WAAWP,KAAKkB,YAAYL;UAC5BM,4BAA4BnB,KAAKoB,6BAA6BC;UAC9DC,MAAMtB,KAAKuB,WAAWV;UACtBW,UAAUxB,KAAKyB,WAAWZ;WACzBa,MAAMC;UACPC,QAAQC,IAAIF;UACZG,EAAqBH,GAAkB3B;AAAK;;;gCAtGT;wBAOT;;8BAUe;;4BAUF;;;;;EAuB7C,uBAAM+B;IACJ/B,KAAKgC,yBAAyBC,EAAOC,oBAAoBlC,KAAKmC;IAC9DnC,KAAKc;;EAGP,kBAAAsB;IACE,KAAKpC,KAAKC,mBAAmB;MAC3BD,KAAKqC,4BAA4BC,KAC/BtC,KAAKgC,iBAAiBO;MAExBvC,KAAKC,oBAAoB;;;;EAiD7B,MAAAuC;;IACE,OACEhC,EAACiC,GAAI;MAACC,OAAM;OACVlC,EAAA;MAAKkC,OAAM;OACTlC,EAAA;MACEmC,gBACE3C,KAAK4C,eAAe5C,KAAKgC,iBAAiBO,gBAAgB;MAE5DM,eAAeC,EAAOC,eAAeF;OAErCrC,EAAA;MAAKkC,OAAM;OAETlC,EAAA;MACEwC,OAAOhD,KAAKgC,iBAAiBiB,KAAK1C;MAClC2C,gBAAgBlD,KAAKmD;MACrBtC,QAAOV,IAAAH,KAAKoD,2BAAqB,QAAAjD,WAAA,aAAAA,EAAEI;MACnC8C,KAAKlB,KAAOnC,KAAKkB,cAAciB;MAC/BmB,SAASR,EAAOS;OAEfvD,KAAKE,qBAIRM,EAAA;MACEwC,OAAOhD,KAAKgC,iBAAiBiB,KAAKO;MAClCC,UAAUzD,KAAKS;MACfY,SAASrB,KAAKe;MACd2C,WAAW1D,KAAKe;MAChBsC,KAAKlB,KACFnC,KAAKoB,+BACJe;QAILnC,KAAKW,uBACJH,EAAA;MAAKkC,OAAM;OAETlC,EAAA;MACEwC,OAAOhD,KAAKgC,iBAAiBiB,KAAKU;MAClCC,eAAc;MACdF,WAAW1D,KAAKW;MAChBE,QAAOgD,IAAA7D,KAAKoD,2BAAqB,QAAAS,WAAA,aAAAA,EAAEvC;MACnC+B,KAAKlB,KAAOnC,KAAKuB,aAAaY;MAC9BmB,SAASR,EAAOS;QAGlB/C,EAAA;MACEwC,OAAOhD,KAAKgC,iBAAiBiB,KAAKzB;MAClCoC,eAAc;MACdF,WAAW1D,KAAKW;MAChBE,QAAOiD,IAAA9D,KAAKoD,2BAAqB,QAAAU,WAAA,aAAAA,EAAEtC;MACnC6B,KAAKlB,KAAOnC,KAAKyB,aAAaU;MAC9BX,UAAQ;MACR8B,SAASR,EAAOS;UAGlB,OAIN/C,EAAA;MAAYuD,MAAK;MAAaC,MAAK;OAChChE,KAAKgC,iBAAiBiB,KAAKgB,SAE9BzD,EAAA;MAAYuD,MAAK;MAAaG,SAASlE,KAAKgB;OACzChB,KAAKgC,iBAAiBiB,KAAKkB"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["dataSelectorCss","CSS_BUNDLES","GxIdeDataSelector","this","renderedFirstTime","shortcutsSrc","getAssetPath","loaderCancelCallbackHandler","async","cancelCallbackHandler","getObjects","filters","pattern","_a","filterPatternEl","value","object","_c","_b","filterObjectEl","id","loadItemsCallback","loader","loading","loaderEl","show","then","items","objects","selectedObjectsIds","deselectAll","editCallbackHandler","e","stopPropagation","editCallback","result","confirmCallbackHandler","confirmCallback","cancelCallback","chGridEl","selectAllRows","newVariableCallbackHandler","newVariableCallback","response","listenChanges","addEventListener","ev","detail","rowsId","chGridKeyDownHandler","key","hostKeyPressHandler","renderFilter","h","part","class","displayTitle","slot","labelPosition","noMargin","_componentLocale","filter","ref","el","debounce","selectEntityCallback","selectObjectCallback","renderObjects","rowSelectionMode","selectionType","onKeyDown","settingable","size","gridCommon","colSize","minContent","tableHead","name","auto","dataType","description","sort","a","b","nameA","toLowerCase","nameB","map","obj","rowid","onDblClick","src","type","chGridRowsetEmptyEl","evaluateLoading","componentWillLoad","Locale","getComponentStrings","componentDidLoadEvent","emit","componentDidLoad","container","focus","componentDidRender","componentDidRenderFirstTime","componentName","suspendShortcuts","gxgShortcutsEl","suspend","validate","isValid","render","Host","onKeyPress","model","containerTitle","noContentPadding","noAboveFooterPadding","noHeadingPadding","headingPaddingTop","noHeadingBorder","slimmerFooter","config","gxIdeContainer","onClick","footer","btnNew","disabled","length","btnEdit","btnCancel","btnConfirm","cancelLabel","loaderTitle","title"],"sources":["src/components/data-selector/data-selector.scss?tag=gx-ide-data-selector&encapsulation=shadow","src/components/data-selector/data-selector.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n border: 1px solid var(--gxg-border-color--regular);\n background-color: var(--color-background);\n}\n\n/* Filters */\n.filter-grid {\n display: grid;\n padding: var(--spacing-comp-03);\n row-gap: var(--gx-ide-grid-row-gap);\n column-gap: var(--gx-ide-grid-column-gap);\n border-block-start: 1px solid var(--gx-ide-container-border-color);\n border-block-end: 1px solid var(--gx-ide-container-border-color);\n\n grid-template-areas:\n \"pattern-label pattern-input pattern-input pattern-input\"\n \"object-label object-input object-input object-input\";\n\n .pattern-label {\n grid-area: pattern-label;\n }\n .pattern-input {\n grid-area: pattern-input;\n }\n .object-label {\n grid-area: object-label;\n }\n .object-input {\n grid-area: object-input;\n }\n\n &--no-title {\n border-top: 0;\n }\n}\n\n/*gxg-grid*/\n.grid-container {\n height: 100%;\n}\nch-grid-cell {\n --spacing-comp-02: var(--spacing-comp-03);\n}\n/* Objects Table */\n.objects-count {\n display: flex;\n justify-content: space-around;\n > * {\n flex: 1;\n padding: var(--spacing-comp-01);\n }\n > :not(:last-child) {\n border-inline-end: 1px solid var(--gx-ide-container-border-color);\n }\n}\n\ngx-ide-container.loading::part(content) {\n // only apply display grid when the loader is being displayed, to stretch the container.\n display: grid;\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method,\n getAssetPath,\n Watch\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { config } from \"../../common/config\";\n\nimport { EntityData } from \"../../common/types\";\nimport { gridCommon } from \"../../common/grid\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n\n// Best performance bundle\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\",\n \"components/button\",\n \"components/checkbox\",\n \"components/edit\",\n \"components/tabular-grid\"\n];\n@Component({\n tag: \"gx-ide-data-selector\",\n styleUrl: \"data-selector.scss\",\n shadow: { delegatesFocus: true },\n assetsDirs: [\"gx-ide-assets/data-selector\"]\n})\nexport class GxIdeDataSelector {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n private shortcutsSrc = getAssetPath(\n `./gx-ide-assets/object-selector/shortcuts.json`\n );\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeDataSelectorElement;\n\n /* References needed to collect data */\n private filterPatternEl!: HTMLGxgFormTextElement;\n private filterObjectEl!: HTMLGxIdeEntitySelectorElement;\n private chGridEl!: HTMLChTabularGridElement;\n private chGridRowsetEmptyEl!: HTMLChTabularGridRowsetEmptyElement;\n private gxgShortcutsEl: HTMLGxgShortcutsElement;\n private loaderEl!: HTMLGxgIdeLoaderElement;\n\n // 3.STATE() VARIABLES //\n\n /**\n * The objects rendered in the table\n */\n @State() objects: ItemData[] = [];\n\n /**\n * The selected objects in the table of objects\n */\n @State() selectedObjectsIds: string[] = [];\n\n /**\n * True if loadItemsCallback has been called and has not been resolved yet.\n */\n @State() loading: boolean = true;\n @Watch(\"loading\")\n evaluateLoading(loading: boolean) {\n this.loaderEl.show = loading;\n }\n\n // 4.PUBLIC PROPERTY API //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * If true, it will display a loader when needed.\n */\n @Prop() readonly loader = false;\n\n /**\n * Single if multiple object selection is not allowed. Default is multiple\n */\n @Prop() readonly selectionType: \"single\" | \"multiple\" = \"multiple\";\n\n /**\n * Callback invoked when the action is executed in the Object filter. It returns the information of the selected object (id and name) or 'undefined' if it was canceled.\n */\n @Prop() readonly selectObjectCallback: SelectObjectCallback;\n\n /**\n * Callback invoked when user press edit button. Receives the first selected element id as parameter\n */\n @Prop() readonly editCallback: EditCallback;\n\n /**\n * Callback invoked when the user wishes to cancel the selection of objects.\n */\n @Prop() readonly cancelCallback!: CancelCallback;\n\n /**\n * Callback invoked when the component needs to reload the list of attributes.\n */\n @Prop() readonly loadItemsCallback!: LoadItemsCallback;\n\n /**\n * Callback invoked when the user presses the 'New' button.\n */\n @Prop() readonly newVariableCallback!: NewVariableCallback;\n\n /**\n * Callback invoked when the user presses the 'OK' button\n */\n @Prop() readonly confirmCallback!: ConfirmCallback;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.componentDidLoadEvent.emit(true);\n }\n\n componentDidLoad() {\n this.listenChanges();\n this.loaderEl.container = this.chGridEl;\n this.getObjects();\n this.filterPatternEl.focus();\n this.evaluateLoading(this.loading);\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n this.loaderEl.container = this.chGridRowsetEmptyEl;\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.gxgShortcutsEl.suspend = true;\n } else {\n this.gxgShortcutsEl.suspend = false;\n }\n }\n\n /**\n * Validate necessary data input\n */\n @Method()\n async validate(): Promise<boolean> {\n const isValid = true;\n return isValid;\n }\n\n // 9.LOCAL METHODS //\n\n private loaderCancelCallbackHandler = async () => {\n this.cancelCallbackHandler();\n };\n\n private getObjects = (): void => {\n const filters: FiltersData = {\n pattern: this.filterPatternEl?.value,\n object: this.filterObjectEl?.value?.id\n };\n if (this.loadItemsCallback) {\n if (this.loader) {\n this.loading = true;\n this.loaderEl.show = true;\n }\n this.loadItemsCallback(filters).then((items: ItemData[]) => {\n if (items) {\n this.objects = items;\n }\n this.selectedObjectsIds = [];\n this.deselectAll();\n if (this.loader) {\n this.loading = false;\n this.loaderEl.show = false;\n }\n });\n }\n };\n\n private editCallbackHandler = async (e: MouseEvent): Promise<void> => {\n e.stopPropagation();\n if (this.editCallback && this.selectedObjectsIds[0]) {\n const result = await this.editCallback(this.selectedObjectsIds[0]);\n if (result) {\n this.getObjects();\n }\n }\n };\n\n private confirmCallbackHandler = (e: MouseEvent | KeyboardEvent): void => {\n e.stopPropagation();\n this.confirmCallback(this.selectedObjectsIds);\n };\n\n private cancelCallbackHandler = (): void => {\n this.cancelCallback();\n };\n\n private deselectAll = (): void => {\n (this.chGridEl as HTMLChTabularGridElement).selectAllRows(false);\n };\n\n private newVariableCallbackHandler = async () => {\n if (this.newVariableCallback) {\n const response = await this.newVariableCallback();\n if (response) {\n this.getObjects();\n }\n }\n };\n\n private listenChanges = async (): Promise<void> => {\n /* pattern*/\n this.filterPatternEl.addEventListener(\"valueChanged\", () => {\n this.getObjects();\n });\n\n /* object*/\n this.filterObjectEl.addEventListener(\"valueChanged\", () => {\n this.getObjects();\n });\n // for grid selection\n this.chGridEl.addEventListener(\"selectionChanged\", (ev: any): void => {\n this.selectedObjectsIds = ev.detail.rowsId;\n });\n };\n\n private chGridKeyDownHandler = (e: KeyboardEvent) => {\n if (e.key === \"Enter\") {\n this.confirmCallbackHandler(e);\n }\n };\n\n private hostKeyPressHandler = (e: KeyboardEvent) => {\n // just prevent keypress propagation\n if (e.key === \"Enter\") {\n e.stopPropagation();\n }\n };\n\n // 9.LOCAL METHODS -> RENDER//\n\n private renderFilter = (): Element => {\n return (\n <div\n part=\"filters-container\"\n class={{\n \"filter-grid\": true,\n \"filter-grid--no-title\": !this.displayTitle\n }}\n slot=\"header\"\n >\n <gxg-label labelPosition=\"start\" class=\"pattern-label\" noMargin>\n {this._componentLocale.filter.pattern}\n </gxg-label>\n <gxg-form-text\n ref={(el: HTMLGxgFormTextElement) =>\n (this.filterPatternEl = el as HTMLGxgFormTextElement)\n }\n class=\"pattern-input\"\n part=\"filter-pattern\"\n debounce\n ></gxg-form-text>\n\n <gxg-label labelPosition=\"start\" class=\"object-label\" noMargin>\n {this._componentLocale.filter.object}\n </gxg-label>\n <gx-ide-entity-selector\n selectEntityCallback={this.selectObjectCallback}\n ref={(el: HTMLGxIdeEntitySelectorElement) =>\n (this.filterObjectEl = el as HTMLGxIdeEntitySelectorElement)\n }\n class=\"object-input\"\n ></gx-ide-entity-selector>\n </div>\n );\n };\n\n private renderObjects = (): Element => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid\"\n rowSelectionMode={this.selectionType}\n ref={(el: HTMLChTabularGridElement) => (this.chGridEl = el)}\n onKeyDown={this.chGridKeyDownHandler}\n part=\"ch-grid-objects\"\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n column-name-position=\"text\"\n settingable={false}\n size={gridCommon.colSize.minContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this._componentLocale.tableHead.name}\n column-name-position=\"text\"\n settingable={false}\n size={gridCommon.colSize.auto}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this._componentLocale.tableHead.dataType}\n column-name-position=\"text\"\n settingable={false}\n size={gridCommon.colSize.auto}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this._componentLocale.tableHead.description}\n column-name-position=\"text\"\n settingable={false}\n size={gridCommon.colSize.auto}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {!this.loading ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.objects\n .sort((a, b) => {\n const nameA = a.name.toLowerCase(),\n nameB = b.name.toLowerCase();\n if (nameA < nameB) {\n return -1;\n }\n if (nameA > nameB) {\n return 1;\n }\n return 0;\n })\n .map((obj: ItemData) => (\n <ch-tabular-grid-row\n rowid={obj.id}\n onDblClick={this.confirmCallbackHandler}\n class=\"tabular-grid-row\"\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image\n src={\n obj.type === \"attribute\"\n ? \"objects/attribute\"\n : \"objects-parts/variables\"\n }\n class=\"icon-md\"\n ></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.dataType}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.description}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty\n ref={(el: HTMLChTabularGridRowsetEmptyElement) =>\n (this.chGridRowsetEmptyEl = el)\n }\n ></ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n );\n };\n\n // 10.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host class=\"gx-ide-component\" onKeyPress={this.hostKeyPressHandler}>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n noContentPadding\n noAboveFooterPadding\n noHeadingPadding\n headingPaddingTop\n noHeadingBorder\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n class={{ loading: this.loading }}\n >\n {this.renderFilter()}\n {this.renderObjects()}\n\n {/* footer */}\n {/* button new... */}\n <gxg-button\n type=\"primary-text-only\"\n onClick={this.newVariableCallbackHandler}\n part=\"gxg-button gxg-button--new\"\n slot=\"footer-start\"\n >\n {this._componentLocale.footer.btnNew}\n </gxg-button>\n {/* button edit */}\n <gxg-button\n type=\"primary-text-only\"\n onClick={this.editCallbackHandler}\n part=\"gxg-button gxg-button--edit\"\n disabled={this.selectedObjectsIds.length === 0}\n slot=\"footer-start\"\n >\n {this._componentLocale.footer.btnEdit}\n </gxg-button>\n {/* button cancel */}\n <gxg-button\n type=\"outlined\"\n onClick={this.cancelCallbackHandler}\n part=\"gxg-button gxg-button--cancel\"\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnCancel}\n </gxg-button>\n {/* button confirm */}\n <gxg-button\n type=\"primary-text-only\"\n onClick={this.confirmCallbackHandler}\n part=\"gxg-button gxg-button--ok\"\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnConfirm}\n </gxg-button>\n </gx-ide-container>\n </div>\n <gxg-shortcuts\n src={this.shortcutsSrc}\n ref={(el: HTMLGxgShortcutsElement) =>\n (this.gxgShortcutsEl = el as HTMLGxgShortcutsElement)\n }\n ></gxg-shortcuts>\n {/* loader*/}\n {this.loader ? (\n <gxg-ide-loader\n cancelLabel={this._componentLocale.loader.cancelLabel}\n loaderTitle={this._componentLocale.loader.title}\n ref={el => (this.loaderEl = el as HTMLGxgIdeLoaderElement)}\n cancelCallback={this.loaderCancelCallbackHandler}\n ></gxg-ide-loader>\n ) : null}\n </Host>\n );\n }\n}\n\nexport type NewVariableCallback = () => Promise<boolean>;\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type SelectObjectCallback = () => Promise<EntityData | undefined>;\n\nexport type EditCallback = (id: string) => Promise<boolean>;\n\nexport type ConfirmCallback = (ids: string[]) => Promise<void>;\n\nexport type LoadItemsCallback = (filters: FiltersData) => Promise<ItemData[]>;\n\nexport type FiltersData = {\n pattern?: string;\n object?: string;\n};\n\nexport type ItemData = {\n type: ItemType;\n id: string;\n name: string;\n dataType: string;\n description: string;\n};\n\nexport type ItemType = \"variable\" | \"attribute\";\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["manageModuleReferencesCss","CSS_BUNDLES","GxManageModuleReferences","this","renderedFirstTime","updateModulesSelectedVersion","modulesAll","selectedServerId","selectedServerIdOnModulesAllUpdate","modulesSelectedVersion","clear","forEach","module","set","id","versions","length","newModule","get","undefined","getActionFromCurrentModuleVersion","action","getModuleData","selectedModule","onProgress","message","progress","state","data","selectedModuleAction","Object","assign","progressValue","progressState","handleModuleChange","event","selectedModuleId","detail","rowsId","foundModule","find","item","serverSelectedCallbackHandler","async","reload","serverSelectedCallback","loadingServer","resolvedObjects","filterModulesByType","filteredModules","handleFilterChange","value","trim","toLowerCase","filter","selectedVersionName","includes","handleFilterChangeHandler","e","executeActionCallbackHandler","executeActionCallback","moduleSelectedVersionId","actionCompleted","type","currentVersion","version","showModuleMenu","serverContextMenuCallback","buttonBoundingClientRect","target","getBoundingClientRect","selection","clientX","x","clientY","y","dataType","selectedVersionId","selectedVersion","selectedVersionData","moduleActionHandler","closeProgressBar","renderModulesGrid","h","rowSelectionMode","part","class","onSelectionChanged","settingable","size","map","rowid","key","selected","moduleVersionIconColor","color","disabled","fit","onClick","renderEmptyStateModules","stateIcon","stateTitle","_componentLocale","modules","noModulesFilter","moduleAction","moduleCurrentVersion","renderVersionName","renderVersionWarningMessage","warningMessage","renderInstalledVersion","caption","cssClass","modulesInformation","moduleProperties","installed","notInstalled","moduleVersionsValueChangedHandler","versionId","updateSelectedModuleVersion","moduleVersionsItemChangedHandler","reRenderCounter","renderModuleVersions","label","availableVersions","labelPosition","centerLabel","onValueChanged","onItemSelected","selectedButtonChangedHandler","replace","serverItemSelectedHandler","serverId","serverValueChangedHandler","progressBarCloseHandler","setTimeout","reloadServer","Map","modulesAllWatcher","loadingServerHandler","loading","loaderEl","show","componentDidRender","componentDidRenderFirstTime","emit","componentName","componentWillLoad","Locale","getComponentStrings","el","componentDidLoad","servers","onPropValueChange","newModulesData","validate","render","Host","model","noContentPadding","noAboveFooterPadding","noBorderAboveFooter","containerTitle","displayTitle","selectServer","disableFilter","name","showServerCommands","icon","searchModules","reduced","fullWidth","onSelectedButtonChanged","buttonsContainer","browse","updates","ref","serversDetail","renderModuleDataProperties","emptyState","title","stateDescription","description","slot","stateType","noBorder","progressBar","defaultCaption","active","closeType","closedCallback","loaderTitle","container","borderRadius"],"sources":["src/components/modules/manage-module-references/manage-module-references.scss?tag=gx-ide-manage-module-references&encapsulation=shadow","src/components/modules/manage-module-references/manage-module-references.tsx"],"sourcesContent":["@import \"../../../global/gx-ide-common.scss\";\n@import \"../../../global/gx-ide-mixins.scss\";\n\n/*--- General ---*/\np,\nul {\n font-size: var(--font-size-lg);\n margin: 0;\n}\np {\n line-height: 1.6em;\n}\n/*--- Header ---*/\n.header {\n align-items: center;\n grid-template-columns: 1fr auto;\n grid-template-rows: 1fr;\n}\n.main {\n display: grid;\n //grid-template-columns: 1fr 2fr 1fr;\n grid-template-columns: 1fr 1fr;\n grid-template-rows: 1fr;\n height: 100%;\n overflow: auto;\n}\nch-grid-columnset {\n display: none;\n}\nch-grid-row[selected] {\n gxg-icon[data-action=\"install\"] {\n //WA to improve visibility\n filter: brightness(2);\n }\n}\n.grid-cell-module {\n &__info {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--mer-spacing--3xs);\n }\n &__name {\n font-weight: var(--mer-font__weight--bold);\n }\n &__name,\n &__description {\n line-height: 1.55em;\n }\n}\n\n/*--- Servers Container ---*/\n.grid-container {\n height: 100%;\n overflow: auto;\n gx-ide-empty-state {\n height: 100%;\n }\n}\n.servers-container {\n display: none;\n height: 100%;\n &__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--gxg-list-box-main__padding) var(--gxg-list-box-main__padding)\n 0 var(--gxg-list-box-main__padding);\n\n gxg-button {\n width: 100%;\n }\n }\n}\n\n/*--- Modules (Header) ---*/\n.modules {\n &__header {\n padding: var(--gxg-list-box-main__padding);\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n }\n &__combo-container {\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n }\n &__server-commands {\n display: flex;\n gap: var(--mer-spacing--xs);\n }\n &__combo {\n gxg-combo-box {\n flex: 1;\n }\n display: flex;\n flex-direction: row;\n gap: var(--mer-spacing--xs);\n }\n &__container {\n border-inline-end: var(--mer-border__width--sm) solid\n var(--gx-ide-container-border-color);\n display: grid;\n grid-template-rows: auto 1fr;\n height: 100%;\n overflow: auto;\n }\n &__main {\n display: grid;\n grid-template-rows: auto 1fr;\n height: 100%;\n overflow: auto;\n\n &-header {\n display: flex;\n padding: var(--mer-spacing--xs);\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n }\n }\n}\n\n/*--- Module Info ---*/\n.module-info {\n display: grid;\n grid-template-rows: auto 1fr;\n height: 100%;\n overflow: auto;\n\n &__title {\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--xs);\n }\n\n &__name {\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--sm);\n --ds-icon-size-box--regular: 24px;\n --ds-icon-size--regular: 24px;\n font-weight: var(--mer-font__weight--bold);\n }\n\n &__header {\n padding: var(--gx-ide-container__padding);\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n border-block-end: var(--mer-border__width--sm) solid\n var(--gx-ide-container-border-color);\n }\n\n &__action-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: var(--mer-spacing--xs);\n &:before {\n content: \"\";\n width: var(--mer-spacing--xs);\n height: var(--mer-spacing--xs);\n border-radius: 50%;\n display: block;\n background-color: var(--mer-icon__primary--disabled);\n }\n &--installed:before {\n background-color: var(--mer-icon__primary);\n }\n &--uninstallable:before {\n background-color: var(--mer-icon__warning);\n }\n }\n\n &__warning-message {\n margin-block-start: var(--mer-spacing--2xs);\n background-color: var(--mer-color__tinted-yellow--5);\n color: var(--mer-text__on-elevation);\n border: var(--mer-border__width--sm) solid var(--mer-border-color__warning);\n border-radius: var(--mer-border__radius--sm);\n padding: var(--mer-spacing--xs) var(--mer-spacing--md);\n }\n\n &__divider {\n width: calc(100% - var(--gx-ide-container__padding) * 4);\n padding: 0 var(--gx-ide-container__padding);\n margin: 0 auto;\n border: 0;\n border-block-end: var(--mer-border__width--sm) solid\n var(--gx-ide-container-border-color);\n }\n &__properties {\n display: flex;\n flex-direction: column;\n padding: var(--gx-ide-container__padding);\n gap: var(--mer-spacing--xs);\n overflow: auto;\n }\n}\n\n.md-property {\n display: grid;\n gap: var(--mer-spacing--xs);\n\n &--inline {\n grid-template-columns: auto 1fr;\n }\n &--block {\n }\n &__key {\n font-weight: var(--font-weight-bold);\n max-width: 150px;\n }\n &__value {\n font-size: var(--mer-font__size--2xs);\n }\n &__key,\n &__value {\n > * {\n display: inline-block;\n }\n }\n &__list {\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n > ul {\n margin: 0;\n padding: 0;\n list-style-type: none;\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--2xs);\n margin-inline-start: var(--mer-spacing--xs);\n\n li {\n position: relative;\n padding-inline-start: 12px;\n line-height: var(--ds-base-font-line-height--comfortable);\n &::before {\n content: \"\";\n position: absolute;\n left: 0;\n top: 7px;\n display: inline-block;\n width: var(--mer-spacing--2xs);\n height: var(--mer-spacing--2xs);\n background-color: var(--mer-text__on-surface);\n }\n }\n }\n }\n}\n\n.md-property,\n.md-property__list {\n border-block-end: var(--mer-border__width--sm) solid\n var(--gx-ide-container-border-color);\n padding-block-end: var(--mer-spacing--xs);\n\n &:last-child {\n border-block-end: 0;\n padding-block-end: 0;\n }\n}\n\ngxg-ide-loader {\n border-radius: var(--mer-border__radius--md);\n}\n\n.button-wrapper {\n display: grid;\n align-items: center;\n justify-content: center;\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Event,\n Element,\n EventEmitter,\n Method,\n State,\n Watch\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { Color } from \"@genexus/gemini\";\nimport { topStateBarType } from \"@genexus/gemini\";\nimport { TabularGridSelectionChangedEvent } from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport {\n ModuleServerData,\n ModuleData,\n ModuleActionType,\n ModuleFilterType,\n ModulePropertyData,\n ModuleVersionData\n} from \"../types\";\nimport { renderModuleDataProperties } from \"../../../common/common\";\nimport { Locale } from \"../../../common/locale\";\nimport { ContextMenuInfo } from \"../../../common/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n // \"utils/form\",\n // \"utils/layout\",\n // \"utils/typography\",\n // \"components/button\",\n // \"components/checkbox\",\n // \"components/edit\",\n \"components/tabular-grid\"\n];\n\n@Component({\n tag: \"gx-ide-manage-module-references\",\n styleUrl: \"manage-module-references.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/manage-module-references\"]\n})\nexport class GxManageModuleReferences {\n // 1.OWN PROPERTIES | WATCH'S //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n /* selectedServerIdOnModulesAllUpdate is updated every time modulesAll is modified, in order to determine if the server is the same or not.*/\n private selectedServerIdOnModulesAllUpdate: string;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeManageModuleReferencesElement;\n private loaderEl!: HTMLGxgIdeLoaderElement;\n private serversDetail!: HTMLDivElement;\n\n // 3.STATE() VARIABLES //\n\n @State() modulesAll: ModuleData[] = [];\n @Watch(\"modulesAll\")\n modulesAllWatcher(modulesAll: ModuleData[]) {\n this.updateModulesSelectedVersion(modulesAll);\n }\n @State() filteredModules: ModuleData[] = [];\n @State() selectedModule: ModuleData;\n @State() selectedServerId: string;\n @State() selectedModuleAction: ActionInfo = {\n message: \"\",\n progress: 0,\n state: \"in-progress\"\n };\n @State() modulesSelectedVersion: Map<string, string> = new Map();\n @State() actionCompleted = true;\n @State() closeProgressBar = true;\n @State() progressValue: number = 0;\n @State() progressState: topStateBarType = \"in-progress\";\n @State() loadingServer = false;\n @State() reRenderCounter: number = 0;\n @Watch(\"loadingServer\")\n loadingServerHandler(loading: boolean) {\n if (loading) {\n this.loaderEl.show = true;\n } else {\n this.loaderEl.show = false;\n }\n }\n\n // 4.PUBLIC PROPERTY API //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * List of module servers currently cataloged\n */\n @Prop() readonly servers: ModuleServerData[] = [];\n\n /**\n * Callback invoked when a server is selected. Returns the set of modules available on that server.\n */\n @Prop() readonly serverSelectedCallback: ServerSelectedCallback;\n\n /**\n * Callback invoked when the user wants to execute the action corresponding to a selected module. When the action begins to be executed, the component must be able to show the progress of the action. For this, the onProgress parameter is available, which is in turn a callback used by the host to notify the progress by text message and percentage.\n */\n @Prop() readonly executeActionCallback: ExecuteActionCallback;\n\n /**\n * Callback invoked when Add button is clicked\n */\n @Prop() readonly addServerCallback: AddServerCallback;\n\n /**\n * Callback invoked when an element is right clicked on servers list\n */\n @Prop() readonly serverContextMenuCallback: ServerContextMenuCallback;\n\n /**\n * Allows you to hide the button (...) that executes serverContextMenuCallback, if we do not implement the commands in a first version\n */\n @Prop() readonly showServerCommands: boolean = false;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n async componentDidLoad() {\n await this.serverSelectedCallbackHandler(this.servers[0].id, false);\n }\n\n // 7.LISTENERS //\n\n @Watch(\"modulesAll\")\n onPropValueChange(newModulesData: ModuleData[]) {\n this.filteredModules = [...newModulesData];\n }\n\n // 8.PUBLIC METHODS API //\n\n /**\n * validate\n */\n @Method()\n async validate(): Promise<boolean> {\n return true;\n }\n\n // 9.LOCAL METHODS //\n\n private updateModulesSelectedVersion = (modulesAll: ModuleData[]) => {\n if (this.selectedServerId !== this.selectedServerIdOnModulesAllUpdate) {\n // the server has changed. clear the updateModulesSelectedVersion\n this.modulesSelectedVersion.clear();\n modulesAll.forEach(module => {\n // this.modulesSelectedVersion.set(module.id, module.versions[0].id);\n this.modulesSelectedVersion.set(\n module.id,\n module.versions[module.versions.length - 1].id\n );\n });\n } else {\n // the server has't changed. only add the module to the map, if it is a new module.\n modulesAll.forEach(module => {\n const newModule =\n this.modulesSelectedVersion.get(module.id) === undefined;\n if (newModule) {\n this.modulesSelectedVersion.set(module.id, module.versions[0].id);\n }\n });\n }\n this.selectedServerIdOnModulesAllUpdate = this.selectedServerId;\n };\n\n private getActionFromCurrentModuleVersion = (): ModuleActionType => {\n const action = this.getModuleData(\n this.selectedModule,\n \"action\"\n ) as ModuleActionType;\n return action || \"install\";\n };\n\n /**\n * Callback invoked to get the progress when module is performing an action\n */\n private onProgress = (\n message: string,\n progress: number,\n state: topStateBarType\n ): void => {\n const data = { message, progress, state };\n this.selectedModuleAction = { ...data };\n this.progressValue = this.selectedModuleAction.progress;\n this.progressState = this.selectedModuleAction.state;\n };\n\n // 10.LOCAL METHODS //\n\n /**\n * Used for changing the selected module\n */\n private handleModuleChange = (\n event: CustomEvent<TabularGridSelectionChangedEvent>\n ) => {\n const selectedModuleId = event.detail.rowsId[0];\n const foundModule = this.modulesAll.find(\n item => item.id === selectedModuleId\n );\n if (foundModule) {\n this.selectedModule = foundModule;\n }\n };\n\n /**\n * Change the server selected value in response to callbackServerSelected callback\n */\n private serverSelectedCallbackHandler = async (id: any, reload: boolean) => {\n if (this.serverSelectedCallback) {\n this.loadingServer = true;\n const resolvedObjects = await this.serverSelectedCallback(id, reload);\n this.selectedServerId = id;\n this.modulesAll = [...resolvedObjects];\n this.filterModulesByType(\"browse\");\n this.selectedModule = this.filteredModules[0];\n this.loadingServer = false;\n }\n };\n\n private handleFilterChange = (value: string) => {\n value = value.trim().toLowerCase();\n if (value) {\n this.filteredModules = this.modulesAll.filter(module => {\n const selectedVersionName = this.getModuleData(\n module,\n \"name\"\n ) as string;\n return selectedVersionName?.toLowerCase().includes(value);\n });\n } else {\n this.filteredModules = this.modulesAll;\n }\n };\n\n private handleFilterChangeHandler = (e: CustomEvent<string>) => {\n const value = e.detail;\n return this.handleFilterChange(value);\n };\n\n /**\n * Perform an action relative to a module using callbackExecuteAction callback and receive the state of that action with onProgress callback\n */\n private executeActionCallbackHandler = async (module: ModuleData) => {\n if (this.executeActionCallback) {\n const moduleSelectedVersionId = this.modulesSelectedVersion.get(\n module.id\n );\n const actionCompleted = await this.executeActionCallback(\n this.selectedServerId,\n module.id,\n moduleSelectedVersionId,\n this.getActionFromCurrentModuleVersion(),\n this.onProgress\n );\n if (actionCompleted) {\n this.serverSelectedCallbackHandler(this.selectedServerId, false);\n }\n this.actionCompleted = actionCompleted;\n }\n };\n\n private filterModulesByType = (type: ModuleFilterType) => {\n // browse\n if (type === \"browse\") {\n this.filteredModules = this.modulesAll;\n }\n // installed\n else if (type === \"installed\") {\n this.filteredModules = this.modulesAll.filter((module: ModuleData) => {\n // if the module has a currentVersion (not undefined) it means it is installed\n return module.currentVersion;\n });\n } else if (type === \"updates\") {\n this.filteredModules = this.modulesAll.filter((module: ModuleData) => {\n return module.versions.find(version => version.action === \"update\");\n });\n }\n };\n\n private showModuleMenu = async (e: MouseEvent) => {\n if (this.serverContextMenuCallback) {\n const buttonBoundingClientRect = (\n e.target as HTMLElement\n ).getBoundingClientRect();\n await this.serverContextMenuCallback({\n selection: [this.selectedServerId],\n clientX: buttonBoundingClientRect.x,\n clientY: buttonBoundingClientRect.y\n });\n }\n };\n\n private getModuleData = (\n module: ModuleData,\n dataType: keyof ModuleVersionData\n ): string | ModulePropertyData[] | undefined => {\n const selectedVersionId = this.modulesSelectedVersion.get(module.id);\n let selectedVersion;\n let selectedVersionData;\n if (selectedVersionId) {\n selectedVersion = module.versions.find(\n version => version.id === selectedVersionId\n );\n }\n if (selectedVersion) {\n selectedVersionData = selectedVersion[dataType];\n }\n return selectedVersionData;\n };\n\n private moduleActionHandler = (module: ModuleData) => () => {\n this.actionCompleted = false;\n this.closeProgressBar = false;\n this.executeActionCallbackHandler(module);\n };\n\n private renderModulesGrid = (): Element => {\n return (\n <ch-tabular-grid\n rowSelectionMode=\"single\"\n part=\"ch-grid-pending-commits\"\n class=\"tabular-grid servers-detail no-border\"\n onSelectionChanged={this.handleModuleChange}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"min-content\"\n ></ch-tabular-grid-column>\n\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n settingable={false}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"min-content\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n {this.filteredModules.map((module: ModuleData) => (\n <ch-tabular-grid-row\n class=\"tabular-grid-row\"\n rowid={module.id}\n key={module.id}\n selected={\n this.selectedModule && this.selectedModule.id === module.id\n }\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <gxg-icon\n type=\"objects/module\"\n data-action={this.moduleVersionIconColor(module)}\n color={this.moduleVersionIconColor(module)}\n size=\"small\"\n ></gxg-icon>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell grid-cell-module__info\">\n <span class=\"grid-cell-module__name\">\n {this.getModuleData(module, \"name\")}\n </span>\n <span class=\"grid-cell-module__description\">\n {this.getModuleData(module, \"description\")}\n </span>\n </ch-tabular-grid-cell>\n\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.selectedModule && this.selectedModule.id === module.id ? (\n <div class=\"button-wrapper\">\n <gxg-button\n disabled={\n !this.actionCompleted ||\n this.getModuleData(module, \"action\") === \"incompatible\" ||\n this.getModuleData(module, \"action\") === \"not-installable\"\n }\n fit\n part=\"module-action\"\n onClick={this.moduleActionHandler(module)}\n >\n {this.getActionFromCurrentModuleVersion()}\n </gxg-button>\n </div>\n ) : null}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private renderEmptyStateModules = () => {\n return (\n <gx-ide-empty-state\n stateIcon=\"mercury/filters\"\n stateTitle={this._componentLocale.modules.noModulesFilter}\n ></gx-ide-empty-state>\n );\n };\n\n private moduleVersionIconColor = (module: ModuleData): Color => {\n const moduleAction = this.getModuleData(module, \"action\");\n const moduleCurrentVersion = module.currentVersion;\n if (moduleAction === \"not-installable\" || moduleAction === \"incompatible\") {\n return \"warning\";\n } else if (!moduleCurrentVersion) {\n return \"mercury-primary-disabled\";\n } else {\n return \"mercury-primary\";\n }\n };\n\n /* module details/information renders*/\n private renderVersionName = () => {\n return (\n <gxg-title part=\"module-info__name\" type=\"title-05\">\n <div class=\"module-info__name\">\n {/* <gxg-icon\n type=\"objects/module\"\n color={this.moduleVersionIconColor(this.selectedModule)}\n ></gxg-icon> */}\n {this.getModuleData(this.selectedModule, \"name\")}\n </div>\n </gxg-title>\n );\n };\n\n private renderVersionWarningMessage = () => {\n const warningMessage = this.getModuleData(\n this.selectedModule,\n \"warningMessage\"\n );\n if (warningMessage) {\n return <p class=\"module-info__alert-message\">{warningMessage}</p>;\n }\n };\n\n private renderInstalledVersion = () => {\n const currentVersion = this.selectedModule.currentVersion;\n let caption;\n let cssClass = \"module-info__action-container\";\n if (currentVersion) {\n caption = `${this._componentLocale.modulesInformation.moduleProperties.installed}: ${currentVersion}`;\n cssClass += ` module-info__action-container--installed`;\n } else {\n caption =\n this._componentLocale.modulesInformation.moduleProperties.notInstalled;\n }\n return (\n <div class={cssClass}>\n <gxg-text part=\"module-info__action\">{caption}</gxg-text>\n </div>\n );\n };\n\n private moduleVersionsValueChangedHandler = (e: CustomEvent<any>) => {\n const versionId = e.detail;\n this.updateSelectedModuleVersion(versionId);\n };\n private moduleVersionsItemChangedHandler = (e: CustomEvent<any>) => {\n const versionId = e.detail.value;\n this.updateSelectedModuleVersion(versionId);\n };\n private updateSelectedModuleVersion = (versionId: string) => {\n if (versionId) {\n this.modulesSelectedVersion.set(this.selectedModule.id, versionId);\n this.reRenderCounter++;\n }\n };\n\n private renderModuleVersions = () => {\n return (\n <div part=\"available-versions\">\n <gxg-combo-box\n id=\"versions-combo-box\"\n disable-filter\n value={this.getModuleData(this.selectedModule, \"id\")}\n part=\"module-versions\"\n display-validation-styles\n display-validation-message\n label={\n this._componentLocale.modulesInformation.moduleProperties\n .availableVersions\n }\n labelPosition=\"start\"\n centerLabel\n onValueChanged={this.moduleVersionsValueChangedHandler}\n disabled={this.loadingServer}\n >\n {this.selectedModule.versions.map(item => (\n <gxg-combo-box-item\n value={item.id}\n onItemSelected={this.moduleVersionsItemChangedHandler}\n >\n {item.id}\n </gxg-combo-box-item>\n ))}\n </gxg-combo-box>\n </div>\n );\n };\n\n private selectedButtonChangedHandler = (e: CustomEvent<string>) => {\n const type = e.detail.replace(\"btn-\", \"\") as ModuleFilterType;\n this.filterModulesByType(type);\n };\n\n private serverItemSelectedHandler = (\n e: CustomEvent<{\n el: HTMLGxgComboBoxItemElement;\n index: number;\n value: any;\n icon?: string;\n }>\n ) => {\n const serverId = e.detail.value;\n this.serverSelectedCallbackHandler(serverId, false);\n };\n\n private serverValueChangedHandler = (e: CustomEvent<any>) => {\n const serverId = e.detail;\n this.serverSelectedCallbackHandler(serverId, false);\n };\n\n private progressBarCloseHandler = () => {\n setTimeout(() => {\n this.actionCompleted = true;\n this.closeProgressBar = true;\n // reset\n this.progressValue = 0;\n this.progressState = \"in-progress\";\n }, 400);\n // delay to force the footer line disappear after the top-state-bar has been closed.\n };\n\n private reloadServer = () => {\n this.serverSelectedCallbackHandler(this.selectedServerId, true);\n };\n\n // 11.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host\n class={{\n \"gx-ide-component\": true\n }}\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n noContentPadding\n noAboveFooterPadding\n noBorderAboveFooter={this.closeProgressBar}\n part=\"servers\"\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n >\n {/* Servers*/}\n <main class=\"main\">\n <div class=\"modules__container\">\n <header class=\"modules__header\">\n <div class=\"modules__combo-container\">\n <gxg-label>\n {this._componentLocale.modules.selectServer}\n </gxg-label>\n <div class=\"modules__combo\">\n <gxg-combo-box\n disableFilter\n onValueChanged={this.serverValueChangedHandler}\n >\n {this.servers.map(item => (\n <gxg-combo-box-item\n value={item.id}\n onItemSelected={this.serverItemSelectedHandler}\n >\n {item.name}\n </gxg-combo-box-item>\n ))}\n </gxg-combo-box>\n {this.showServerCommands ? (\n <span class=\"modules__server-commands\">\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/show-more-horizontal\"\n onClick={this.showModuleMenu}\n ></gxg-button>\n </span>\n ) : null}\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/reset\"\n onClick={this.reloadServer}\n ></gxg-button>\n </div>\n </div>\n </header>\n\n <div class=\"modules__main\">\n <div class=\"modules__main-header\">\n <gxg-form-text\n label={this._componentLocale.modules.searchModules}\n labelPosition=\"above\"\n centerLabel={false}\n onValueChanged={this.handleFilterChangeHandler}\n disabled={this.loadingServer}\n ></gxg-form-text>\n <gxg-buttons-container\n reduced\n fullWidth\n class=\"modules__browser\"\n onSelectedButtonChanged={\n this.selectedButtonChangedHandler\n }\n >\n <gxg-button\n id=\"btn-browse\"\n selected\n disabled={this.loadingServer}\n >\n {this._componentLocale.modules.buttonsContainer.browse}\n </gxg-button>\n <gxg-button\n id=\"btn-installed\"\n disabled={this.loadingServer}\n >\n {\n this._componentLocale.modules.buttonsContainer\n .installed\n }\n </gxg-button>\n <gxg-button\n id=\"btn-updates\"\n disabled={this.loadingServer}\n >\n {this._componentLocale.modules.buttonsContainer.updates}\n </gxg-button>\n </gxg-buttons-container>\n </div>\n {/* modules grid*/}\n <div\n class=\"grid-container\"\n ref={el => (this.serversDetail = el as HTMLDivElement)}\n >\n {this.filteredModules.length > 0\n ? this.renderModulesGrid()\n : this.renderEmptyStateModules()}\n </div>\n </div>\n </div>\n\n {/* Module version information*/}\n {this.selectedModule ? (\n <div class=\"module-info\">\n <header class=\"module-info__header\">\n {this.renderVersionName()}\n {this.renderInstalledVersion()}\n {this.renderModuleVersions()}\n {/* {this.renderNotInstallable()} */}\n {this.renderVersionWarningMessage()}\n </header>\n <div class=\"module-info__properties gxg-scrollbar\">\n {renderModuleDataProperties(\n this.getModuleData(\n this.selectedModule,\n \"properties\"\n ) as ModulePropertyData[]\n )}\n </div>\n </div>\n ) : (\n <gx-ide-empty-state\n class=\"recent-objects__empty-state\"\n stateIcon=\"objects/module\"\n stateTitle={\n this._componentLocale.modulesInformation.emptyState.title\n }\n stateDescription={\n this._componentLocale.modulesInformation.emptyState\n .description\n }\n ></gx-ide-empty-state>\n )}\n </main>\n {/* Top State Bar*/}\n <gxg-top-state-bar\n slot=\"footer-above\"\n part=\"progress-bar\"\n stateType={this.progressState}\n noBorder\n caption={\n this.selectedModuleAction.message ||\n this._componentLocale.progressBar.defaultCaption\n }\n progress={this.progressValue}\n active={!this.actionCompleted || !this.closeProgressBar}\n closeType=\"not-progress\"\n closedCallback={this.progressBarCloseHandler}\n ></gxg-top-state-bar>\n </gx-ide-container>\n </div>\n <gxg-ide-loader\n loaderTitle={this._componentLocale.servers.loading}\n ref={el => (this.loaderEl = el as HTMLGxgIdeLoaderElement)}\n container={this.serversDetail}\n borderRadius=\"0 0 0 8px\"\n ></gxg-ide-loader>\n </Host>\n );\n }\n}\n\nexport type ExecuteActionCallback = (\n serverId: string,\n moduleId: string,\n moduleVersionId: string,\n action: ModuleActionType,\n onProgress: (\n message: string,\n progress: number,\n state: topStateBarType\n ) => void\n) => Promise<boolean>;\n\nexport type ServerSelectedCallback = (\n id: string,\n reload: boolean\n) => Promise<ModuleData[]>;\n\nexport type AddServerCallback = () => Promise<void>;\n\nexport type ServerContextMenuCallback = (\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\nexport interface ActionInfo {\n message: string;\n progress: number;\n state: topStateBarType;\n}\n"],"mappings":"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"}
@@ -1,146 +0,0 @@
1
- import { r as e, h as t, H as r, g as a } from "./p-c147291f.js";
2
-
3
- import { L as o } from "./p-74d59062.js";
4
-
5
- const i = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}:host{display:block;box-shadow:none;height:100%;overflow:hidden;padding-bottom:2px;box-sizing:border-box}.news-container{display:flex;flex-direction:column;gap:var(--gx-ide-articles-gap)}.news-container p:first-child{margin-top:0}.news-container p:last-child{margin-bottom:0}gxg-card.section{height:100% !important;overflow:auto;border-bottom:2px solid var(--gray-00)}gxg-ide-loader::part(loader-wrapper){border-radius:var(--gxg-card-section_border-radius);overflow:hidden}.gxg-card-container{height:100%;overflow:auto}.gx-ide-message{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm)}.gx-ide-message--hidden{display:none}gx-ide-title{max-width:250px}.news-article{transition:200ms opacity;opacity:0}.news-article.visible{opacity:1}";
6
-
7
- const s = class {
8
- constructor(r) {
9
- e(this, r);
10
- this.newsRendered = false;
11
- this.setTimeOutNewsDelay = 75;
12
- // 7.LISTENERS //
13
- // 8.PUBLIC METHODS API //
14
- // 9.LOCAL METHODS //
15
- this.evaluateNewsDisplay = () => {
16
- if (!this.newsRendered && this.news.length > 0 && this.newsContainerEl !== undefined) {
17
- this.displayNews();
18
- this.newsRendered = true;
19
- }
20
- };
21
- this.displayNews = () => {
22
- if (this.newsContainerEl !== undefined) {
23
- const e = Array.from(this.newsContainerEl.querySelectorAll("gxg-card"));
24
- e.forEach((e => {
25
- setTimeout((() => {
26
- e.classList.add("visible");
27
- }), this.setTimeOutNewsDelay);
28
- this.setTimeOutNewsDelay += 75;
29
- }));
30
- }
31
- };
32
- this.attachLoaderEvents = () => {
33
- this.loaderEl.addEventListener("loaderFinished", (() => {
34
- if (this.news.length === 0) {
35
- this.newsLoadFailed = true;
36
- } else {
37
- this.newsLoadFailed = false;
38
- }
39
- }));
40
- };
41
- this.getNews = async () => {
42
- this.loaderEl.show = true;
43
- if (this.getNewsCallback) {
44
- const e = await this.getNewsCallback();
45
- this.loaderEl.show = false;
46
- if (e && e.length > 0) {
47
- this.news = e;
48
- this.newsLoadFailed = false;
49
- } else {
50
- this.newsLoadFailed = true;
51
- }
52
- }
53
- };
54
- this.openNewsHandler = e => async () => {
55
- if (this.openNewsCallback) {
56
- await this.openNewsCallback(e);
57
- }
58
- }
59
- // 9.LOCAL METHODS -> RENDERS //
60
- ;
61
- this.renderNews = e => {
62
- if (e.id && e.title) {
63
- return t("gxg-card", {
64
- id: e.id,
65
- key: e.id,
66
- cardType: "article",
67
- cardTitle: e.title,
68
- icon: "gx-test/test-results",
69
- iconColor: "auto",
70
- actionable: true,
71
- onClick: this.openNewsHandler(e.id),
72
- titleSemibold: true,
73
- noHeaderBorder: true,
74
- class: "news-article"
75
- }, e.body ? t("p", null, e.body) : null);
76
- }
77
- return null;
78
- };
79
- this.news = [];
80
- this.newsLoadFailed = false;
81
- this.getNewsCallback = undefined;
82
- this.openNewsCallback = undefined;
83
- }
84
- watchNewsHandler() {
85
- this.displayNews();
86
- }
87
- // 5.EVENTS (EMIT) //
88
- // 6.COMPONENT LIFECYCLE METHODS //
89
- async componentWillLoad() {
90
- this._componentLocale = await o.getComponentStrings(this.el);
91
- }
92
- componentDidLoad() {
93
- this.getNews();
94
- this.attachLoaderEvents();
95
- }
96
- componentDidRender() {
97
- this.evaluateNewsDisplay();
98
- }
99
- // 10.RENDER() FUNCTION //
100
- render() {
101
- var e;
102
- return t(r, null, t("gxg-card", {
103
- class: "section",
104
- cardType: "section",
105
- cardTitle: this._componentLocale.recentNews.title
106
- }, this.news.length > 0 ? t("div", {
107
- class: "news-container",
108
- ref: e => this.newsContainerEl = e
109
- }, (e = this.news) === null || e === void 0 ? void 0 : e.map((e => this.renderNews(e)))) : t("div", {
110
- class: {
111
- "gx-ide-message": true,
112
- "gx-ide-message--hidden": !this.newsLoadFailed
113
- }
114
- }, t("gx-ide-title", {
115
- alignment: "center"
116
- }, this._componentLocale.recentNews.newsNotFetched), t("gxg-button", {
117
- onClick: this.getNews
118
- }, this._componentLocale.recentNews.tryAgainButtonLabel), t("gxg-text", {
119
- type: "text-link",
120
- href: "https://www.genexus.com/en/news",
121
- target: "_blank"
122
- }, this._componentLocale.recentNews.readThemOnline))), t("gxg-ide-loader", {
123
- abortTime: 8e3,
124
- container: this.el,
125
- loaderTitle: this._componentLocale.loader.title,
126
- description: "Hang on please",
127
- ref: e => this.loaderEl = e
128
- }));
129
- }
130
- static get assetsDirs() {
131
- return [ "gx-ide-assets/recent-news" ];
132
- }
133
- get el() {
134
- return a(this);
135
- }
136
- static get watchers() {
137
- return {
138
- news: [ "watchNewsHandler" ]
139
- };
140
- }
141
- };
142
-
143
- s.style = i;
144
-
145
- export { s as gx_ide_recent_news };
146
- //# sourceMappingURL=p-f66a086d.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["recentNewsCss","GxIdeRecentNews","this","newsRendered","setTimeOutNewsDelay","evaluateNewsDisplay","news","length","newsContainerEl","undefined","displayNews","Array","from","querySelectorAll","forEach","setTimeout","classList","add","attachLoaderEvents","loaderEl","addEventListener","newsLoadFailed","getNews","async","show","getNewsCallback","newsResult","openNewsHandler","newsId","openNewsCallback","renderNews","id","title","h","key","cardType","cardTitle","icon","iconColor","actionable","onClick","titleSemibold","noHeaderBorder","class","body","watchNewsHandler","componentWillLoad","_componentLocale","Locale","getComponentStrings","el","componentDidLoad","componentDidRender","render","Host","recentNews","ref","_a","map","singleNews","alignment","newsNotFetched","tryAgainButtonLabel","type","href","target","readThemOnline","abortTime","container","loaderTitle","loader","description"],"sources":["src/components/start-page/recent-news.scss?tag=gx-ide-recent-news&encapsulation=shadow","src/components/start-page/recent-news.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n box-shadow: none;\n height: 100%;\n overflow: hidden;\n padding-bottom: 2px;\n box-sizing: border-box;\n}\n.news-container {\n display: flex;\n flex-direction: column;\n gap: var(--gx-ide-articles-gap);\n p:first-child {\n margin-top: 0;\n }\n p:last-child {\n margin-bottom: 0;\n }\n}\ngxg-card.section {\n height: 100% !important;\n overflow: auto;\n border-bottom: 2px solid var(--gray-00);\n}\ngxg-ide-loader::part(loader-wrapper) {\n border-radius: var(--gxg-card-section_border-radius);\n overflow: hidden;\n}\n.gxg-card-container {\n height: 100%;\n overflow: auto;\n}\n.gx-ide-message {\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n gap: var(--mer-spacing--sm);\n\n &--hidden {\n display: none;\n }\n}\ngx-ide-title {\n max-width: 250px;\n}\n.news-article {\n transition: 200ms opacity;\n opacity: 0;\n\n &.visible {\n opacity: 1;\n }\n}\n","/* STENCIL IMPORTS */\nimport { Component, Host, h, Prop, Element, State, Watch } from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { NewsData, GetNewsCallback, OpenNewsCallback } from \"./start-page\";\n\n@Component({\n tag: \"gx-ide-recent-news\",\n styleUrl: \"recent-news.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/recent-news\"]\n})\nexport class GxIdeRecentNews {\n /*\nINDEX:\n1.OWN PROPERTIES \n2.REFERENCE TO ELEMENTS\n3.STATE() VARIABLES\n4.PUBLIC PROPERTY API | WATCH'S\n5.EVENTS (EMIT)\n6.COMPONENT LIFECYCLE METHODS\n7.LISTENERS\n8.PUBLIC METHODS API\n9.LOCAL METHODS\n10.RENDER() FUNCTION\n*/\n\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeRecentNewsElement;\n private loaderEl!: HTMLGxgIdeLoaderElement;\n private newsContainerEl: HTMLDivElement;\n private newsRendered = false;\n private setTimeOutNewsDelay = 75;\n\n // 3.STATE() VARIABLES //\n\n /**\n * The list of news\n */\n @State() news: NewsData[] = [];\n @Watch(\"news\")\n watchNewsHandler() {\n this.displayNews();\n }\n\n /**\n * True if news couldn't be loaded\n */\n @State() newsLoadFailed = false;\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * Callback invoked to load the news feed (right panel \"Recent News\").\n */\n @Prop() readonly getNewsCallback: GetNewsCallback;\n\n /**\n * Callback invoked to open a news article.\n */\n @Prop() readonly openNewsCallback: OpenNewsCallback;\n\n // 5.EVENTS (EMIT) //\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidLoad() {\n this.getNews();\n this.attachLoaderEvents();\n }\n\n componentDidRender() {\n this.evaluateNewsDisplay();\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private evaluateNewsDisplay = () => {\n if (\n !this.newsRendered &&\n this.news.length > 0 &&\n this.newsContainerEl !== undefined\n ) {\n this.displayNews();\n this.newsRendered = true;\n }\n };\n\n private displayNews = () => {\n if (this.newsContainerEl !== undefined) {\n const news = Array.from(\n this.newsContainerEl.querySelectorAll(\"gxg-card\")\n );\n news.forEach(news => {\n setTimeout(() => {\n news.classList.add(\"visible\");\n }, this.setTimeOutNewsDelay);\n this.setTimeOutNewsDelay += 75;\n });\n }\n };\n\n private attachLoaderEvents = () => {\n this.loaderEl.addEventListener(\"loaderFinished\", () => {\n if (this.news.length === 0) {\n this.newsLoadFailed = true;\n } else {\n this.newsLoadFailed = false;\n }\n });\n };\n\n private getNews = async () => {\n this.loaderEl.show = true;\n if (this.getNewsCallback) {\n const newsResult = await this.getNewsCallback();\n this.loaderEl.show = false;\n if (newsResult && newsResult.length > 0) {\n this.news = newsResult;\n this.newsLoadFailed = false;\n } else {\n this.newsLoadFailed = true;\n }\n }\n };\n\n private openNewsHandler = (newsId: string) => async () => {\n if (this.openNewsCallback) {\n await this.openNewsCallback(newsId);\n }\n };\n\n // 9.LOCAL METHODS -> RENDERS //\n\n private renderNews = (news: NewsData): HTMLGxgCardElement | null => {\n if (news.id && news.title) {\n return (\n <gxg-card\n id={news.id}\n key={news.id}\n cardType=\"article\"\n cardTitle={news.title}\n icon=\"gx-test/test-results\"\n iconColor=\"auto\"\n actionable\n onClick={this.openNewsHandler(news.id)}\n titleSemibold\n noHeaderBorder\n class=\"news-article\"\n >\n {news.body ? <p>{news.body}</p> : null}\n </gxg-card>\n );\n }\n return null;\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host>\n <gxg-card\n class=\"section\"\n cardType=\"section\"\n cardTitle={this._componentLocale.recentNews.title}\n >\n {this.news.length > 0 ? (\n <div\n class=\"news-container\"\n ref={el => (this.newsContainerEl = el as HTMLDivElement)}\n >\n {this.news?.map(singleNews => {\n return this.renderNews(singleNews);\n })}\n </div>\n ) : (\n <div\n class={{\n \"gx-ide-message\": true,\n \"gx-ide-message--hidden\": !this.newsLoadFailed\n }}\n >\n <gx-ide-title alignment=\"center\">\n {this._componentLocale.recentNews.newsNotFetched}\n </gx-ide-title>\n <gxg-button onClick={this.getNews}>\n {this._componentLocale.recentNews.tryAgainButtonLabel}\n </gxg-button>\n <gxg-text\n type=\"text-link\"\n href=\"https://www.genexus.com/en/news\"\n target=\"_blank\"\n >\n {this._componentLocale.recentNews.readThemOnline}\n </gxg-text>\n </div>\n )}\n </gxg-card>\n <gxg-ide-loader\n abortTime={8000}\n container={this.el}\n loaderTitle={this._componentLocale.loader.title}\n description=\"Hang on please\"\n ref={el => (this.loaderEl = el as HTMLGxgIdeLoaderElement)}\n ></gxg-ide-loader>\n </Host>\n );\n }\n}\n"],"mappings":";;;;AAAA,MAAMA,IAAgB;;MCaTC,IAAe;;;IA2BlBC,KAAAC,eAAe;IACfD,KAAAE,sBAAsB;;;;QAqDtBF,KAAAG,sBAAsB;MAC5B,KACGH,KAAKC,gBACND,KAAKI,KAAKC,SAAS,KACnBL,KAAKM,oBAAoBC,WACzB;QACAP,KAAKQ;QACLR,KAAKC,eAAe;;;IAIhBD,KAAAQ,cAAc;MACpB,IAAIR,KAAKM,oBAAoBC,WAAW;QACtC,MAAMH,IAAOK,MAAMC,KACjBV,KAAKM,gBAAgBK,iBAAiB;QAExCP,EAAKQ,SAAQR;UACXS,YAAW;YACTT,EAAKU,UAAUC,IAAI;AAAU,cAC5Bf,KAAKE;UACRF,KAAKE,uBAAuB;AAAE;;;IAK5BF,KAAAgB,qBAAqB;MAC3BhB,KAAKiB,SAASC,iBAAiB,mBAAkB;QAC/C,IAAIlB,KAAKI,KAAKC,WAAW,GAAG;UAC1BL,KAAKmB,iBAAiB;eACjB;UACLnB,KAAKmB,iBAAiB;;;AAExB;IAGInB,KAAAoB,UAAUC;MAChBrB,KAAKiB,SAASK,OAAO;MACrB,IAAItB,KAAKuB,iBAAiB;QACxB,MAAMC,UAAmBxB,KAAKuB;QAC9BvB,KAAKiB,SAASK,OAAO;QACrB,IAAIE,KAAcA,EAAWnB,SAAS,GAAG;UACvCL,KAAKI,OAAOoB;UACZxB,KAAKmB,iBAAiB;eACjB;UACLnB,KAAKmB,iBAAiB;;;;IAKpBnB,KAAAyB,kBAAmBC,KAAmBL;MAC5C,IAAIrB,KAAK2B,kBAAkB;cACnB3B,KAAK2B,iBAAiBD;;;;;IAMxB1B,KAAA4B,aAAcxB;MACpB,IAAIA,EAAKyB,MAAMzB,EAAK0B,OAAO;QACzB,OACEC,EAAA;UACEF,IAAIzB,EAAKyB;UACTG,KAAK5B,EAAKyB;UACVI,UAAS;UACTC,WAAW9B,EAAK0B;UAChBK,MAAK;UACLC,WAAU;UACVC,YAAU;UACVC,SAAStC,KAAKyB,gBAAgBrB,EAAKyB;UACnCU,eAAa;UACbC,gBAAc;UACdC,OAAM;WAELrC,EAAKsC,OAAOX,EAAA,WAAI3B,EAAKsC,QAAY;;MAIxC,OAAO;AAAI;gBA3He;0BASF;;;;EAP1B,gBAAAC;IACE3C,KAAKQ;;;;EAwBP,uBAAMoC;IACJ5C,KAAK6C,yBAAyBC,EAAOC,oBAAoB/C,KAAKgD;;EAGhE,gBAAAC;IACEjD,KAAKoB;IACLpB,KAAKgB;;EAGP,kBAAAkC;IACElD,KAAKG;;;EA2FP,MAAAgD;;IACE,OACEpB,EAACqB,GAAI,MACHrB,EAAA;MACEU,OAAM;MACNR,UAAS;MACTC,WAAWlC,KAAK6C,iBAAiBQ,WAAWvB;OAE3C9B,KAAKI,KAAKC,SAAS,IAClB0B,EAAA;MACEU,OAAM;MACNa,KAAKN,KAAOhD,KAAKM,kBAAkB0C;QAElCO,IAAAvD,KAAKI,UAAI,QAAAmD,WAAA,aAAAA,EAAEC,KAAIC,KACPzD,KAAK4B,WAAW6B,QAI3B1B,EAAA;MACEU,OAAO;QACL,kBAAkB;QAClB,2BAA2BzC,KAAKmB;;OAGlCY,EAAA;MAAc2B,WAAU;OACrB1D,KAAK6C,iBAAiBQ,WAAWM,iBAEpC5B,EAAA;MAAYO,SAAStC,KAAKoB;OACvBpB,KAAK6C,iBAAiBQ,WAAWO,sBAEpC7B,EAAA;MACE8B,MAAK;MACLC,MAAK;MACLC,QAAO;OAEN/D,KAAK6C,iBAAiBQ,WAAWW,mBAK1CjC,EAAA;MACEkC,WAAW;MACXC,WAAWlE,KAAKgD;MAChBmB,aAAanE,KAAK6C,iBAAiBuB,OAAOtC;MAC1CuC,aAAY;MACZf,KAAKN,KAAOhD,KAAKiB,WAAW+B"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["entitySelectorCss","GxIdeEntitySelector","this","btnClearClickHandler","value","defaultValue","btnSelectClickHandler","selectEntityCallback","then","result","iconColor","iconSrc","undefined","buttonFocusHandler","e","type","buttonHasFocus","buttonClearLabel","buttonSelectLabel","valueChangedHandler","valueChanged","emit","render","h","Host","class","label","part","labelPosition","center","centerLabel","width","labelWidth","color","size","readonly","_a","name","_b","onClick","_c","accessibilityLabels","onFocus","onBlur","icon","_d","disabled"],"sources":["src/components/_helpers/entity-selector/entity-selector.scss?tag=gx-ide-entity-selector&encapsulation=shadow","src/components/_helpers/entity-selector/entity-selector.tsx"],"sourcesContent":["@import \"../../../../node_modules/@genexus/gemini/dist/collection/globals/mixins.scss\";\n\n:host {\n display: flex;\n flex-direction: column;\n color: var(--color-primary-enabled);\n\n .container {\n display: flex;\n flex-direction: column;\n gap: 30px;\n }\n /*label*/\n label {\n font-size: var(--mer-font__size--2xs);\n }\n /*wrapper*/\n .wrapper {\n display: inline-flex;\n align-items: center;\n gap: var(--mer-spacing--2xs);\n @include form-element-common-styles();\n }\n /*input*/\n input {\n background-color: transparent;\n width: 100%;\n flex: 1;\n border: 0;\n @include gxg-text();\n font-size: var(--mer-font__size--xcs);\n &:focus-visible {\n outline: none;\n }\n }\n}\n:host(:focus-within) {\n .wrapper {\n @include form-element-common-styles-focus-type-1();\n }\n}\n:host(.gxg-entity-selector--button-has-focus) {\n .wrapper {\n outline: none;\n }\n}\n/*label position*/\n:host([label-position=\"start\"]) {\n flex-direction: row;\n .wrapper {\n flex: 1;\n }\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n State,\n Event,\n EventEmitter,\n Watch\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { Color as IconColor } from \"@genexus/gemini/dist/types/components/icon/icon\";\n/* CUSTOM IMPORTS */\nimport { LabelPosition } from \"../directory-selector/directory-selector\";\nimport { EntityData } from \"../../../common/types\";\n@Component({\n tag: \"gx-ide-entity-selector\",\n styleUrl: \"entity-selector.scss\",\n shadow: true\n})\nexport class GxIdeEntitySelector {\n // 1.OWN PROPERTIES | WATCH'S //\n\n /**\n * This property provides the user a way to define custom aria-label descriptions.\n */\n @Prop() readonly accessibilityLabels?: EntitySelectorLabels = {\n buttonClearLabel: \"clears the actual value\",\n buttonSelectLabel: \"displays the entity selector\"\n };\n\n /**\n * Default value to be assigned as the component's value. This value should always be used when the 'X' button is pressed.\n */\n @Prop() readonly defaultValue?: EntityData | null | undefined;\n\n /**\n * Optional label (same as the label of an input).\n */\n @Prop() readonly label: string;\n\n /**\n * The label position\n */\n @Prop({ reflect: true }) readonly labelPosition: LabelPosition = \"above\";\n\n /**\n * Centers the label\n */\n @Prop() readonly centerLabel: boolean = false;\n\n /**\n * The label width\n */\n @Prop() readonly labelWidth: string;\n\n /**\n * Callback that will be called when the user presses the action button. Returns the new value assigned to the component.\n */\n @Prop() readonly selectEntityCallback: () => Promise<EntityData>;\n\n /**\n * Value currently assigned.\n */\n @Prop({ mutable: true }) value: EntityData | null | undefined;\n\n // 2. REFERENCE TO ELEMENTS //\n\n // 3.STATE() VARIABLES //\n\n /**\n * This variable adds or removes a CSS class on the host, and it can be used to remove the focus-within styles from the host in the case the focus is on a button.\n */\n\n @State() buttonHasFocus = false;\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n *\n * @param newValue the new entity value\n */\n @Watch(\"value\")\n valueChangedHandler() {\n this.valueChanged.emit(this.value);\n }\n\n // 5.EVENTS (EMIT) //\n\n /**\n * @description Emits the input value every time it changes\n */\n @Event() valueChanged: EventEmitter<EntityData>;\n\n // 6.METHODS //\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private btnClearClickHandler = () => {\n this.value = this.defaultValue;\n };\n\n private btnSelectClickHandler = () => {\n this.selectEntityCallback &&\n this.selectEntityCallback().then(result => {\n this.value = result;\n });\n };\n\n private iconColor = (): IconColor => {\n let value;\n if (this.value) {\n value = this.value;\n } else if (this.defaultValue) {\n value = this.defaultValue;\n }\n return value?.iconColor || \"auto\";\n };\n\n private iconSrc = (): string | undefined => {\n if (this.value) {\n return this.value.iconSrc;\n } else if (this.defaultValue) {\n return this.defaultValue.iconSrc;\n }\n return undefined;\n };\n\n private buttonFocusHandler = (e: FocusEvent) => {\n if (e.type === \"focus\") {\n this.buttonHasFocus = true;\n } else if (e.type === \"blur\") {\n this.buttonHasFocus = false;\n }\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host\n class={{\n \"gxg-entity-selector--button-has-focus\": this.buttonHasFocus\n }}\n >\n {this.label && (\n <gxg-label\n part=\"label\"\n labelPosition={this.labelPosition}\n center={this.centerLabel}\n width={this.labelWidth}\n >\n {this.label}\n </gxg-label>\n )}\n <div part=\"wrapper\" class=\"wrapper\">\n {this.iconSrc() && (\n <gxg-icon\n color={this.iconColor()}\n type={this.iconSrc()}\n part=\"icon\"\n aria-hidden=\"true\"\n size=\"small\"\n ></gxg-icon>\n )}\n <input\n type=\"text\"\n readonly\n part=\"input input-entity\"\n value={this.value?.name || this.defaultValue?.name}\n />\n <gxg-button\n part=\"button-clear\"\n onClick={this.btnClearClickHandler}\n aria-label={this.accessibilityLabels?.buttonClearLabel}\n onFocus={this.buttonFocusHandler}\n onBlur={this.buttonFocusHandler}\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/reset\"\n ></gxg-button>\n <gxg-button\n part=\"button-select\"\n onClick={this.btnSelectClickHandler}\n aria-label={this.accessibilityLabels?.buttonSelectLabel}\n onFocus={this.buttonFocusHandler}\n onBlur={this.buttonFocusHandler}\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/show-more-horizontal\"\n disabled={!this.selectEntityCallback}\n ></gxg-button>\n </div>\n </Host>\n );\n }\n}\n\nexport type EntitySelectorLabels = {\n buttonClearLabel: string;\n buttonSelectLabel: string;\n};\n"],"mappings":";;AAAA,MAAMA,IAAoB;;MCqBbC,IAAmB;;;;;;;;QAkFtBC,KAAAC,uBAAuB;MAC7BD,KAAKE,QAAQF,KAAKG;AAAY;IAGxBH,KAAAI,wBAAwB;MAC9BJ,KAAKK,wBACHL,KAAKK,uBAAuBC,MAAKC;QAC/BP,KAAKE,QAAQK;AAAM;AACnB;IAGEP,KAAAQ,YAAY;MAClB,IAAIN;MACJ,IAAIF,KAAKE,OAAO;QACdA,IAAQF,KAAKE;aACR,IAAIF,KAAKG,cAAc;QAC5BD,IAAQF,KAAKG;;MAEf,QAAOD,MAAK,QAALA,WAAK,aAALA,EAAOM,cAAa;AAAM;IAG3BR,KAAAS,UAAU;MAChB,IAAIT,KAAKE,OAAO;QACd,OAAOF,KAAKE,MAAMO;aACb,IAAIT,KAAKG,cAAc;QAC5B,OAAOH,KAAKG,aAAaM;;MAE3B,OAAOC;AAAS;IAGVV,KAAAW,qBAAsBC;MAC5B,IAAIA,EAAEC,SAAS,SAAS;QACtBb,KAAKc,iBAAiB;aACjB,IAAIF,EAAEC,SAAS,QAAQ;QAC5Bb,KAAKc,iBAAiB;;;+BA9GoC;MAC5DC,kBAAkB;MAClBC,mBAAmB;;;;yBAgB4C;uBAKzB;;;;0BAyBd;;;;;;;EAS1B,mBAAAC;IACEjB,KAAKkB,aAAaC,KAAKnB,KAAKE;;;EA0D9B,MAAAkB;;IACE,OACEC,EAACC,GAAI;MACHC,OAAO;QACL,yCAAyCvB,KAAKc;;OAG/Cd,KAAKwB,SACJH,EAAA;MACEI,MAAK;MACLC,eAAe1B,KAAK0B;MACpBC,QAAQ3B,KAAK4B;MACbC,OAAO7B,KAAK8B;OAEX9B,KAAKwB,QAGVH,EAAA;MAAKI,MAAK;MAAUF,OAAM;OACvBvB,KAAKS,aACJY,EAAA;MACEU,OAAO/B,KAAKQ;MACZK,MAAMb,KAAKS;MACXgB,MAAK;MAAM,eACC;MACZO,MAAK;QAGTX,EAAA;MACER,MAAK;MACLoB,UAAQ;MACRR,MAAK;MACLvB,SAAOgC,IAAAlC,KAAKE,WAAK,QAAAgC,WAAA,aAAAA,EAAEC,WAAQC,IAAApC,KAAKG,kBAAY,QAAAiC,WAAA,aAAAA,EAAED;QAEhDd,EAAA;MACEI,MAAK;MACLY,SAASrC,KAAKC;MAAoB,eACtBqC,IAAAtC,KAAKuC,yBAAmB,QAAAD,WAAA,aAAAA,EAAEvB;MACtCyB,SAASxC,KAAKW;MACd8B,QAAQzC,KAAKW;MACbE,MAAK;MACL6B,MAAK;QAEPrB,EAAA;MACEI,MAAK;MACLY,SAASrC,KAAKI;MAAqB,eACvBuC,IAAA3C,KAAKuC,yBAAmB,QAAAI,WAAA,aAAAA,EAAE3B;MACtCwB,SAASxC,KAAKW;MACd8B,QAAQzC,KAAKW;MACbE,MAAK;MACL6B,MAAK;MACLE,WAAW5C,KAAKK"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["newEnvironmentCss","GxIdeNewEnvironment","this","renderedFirstTime","selectedFrontEndsIds","envNameModifiedByUser","shortcutsSrc","getAssetPath","initialSetup","updateSelectedFrontEndsIds","setInitialRuntimeId","setInitialLanguageId","setInitialDataStoreId","evaluateSelectedRuntimeEnvironmentId","runtimes","length","selectedRuntimeEnvironmentId","id","_a","runtimeEnvironmentEl","value","initialRuntimeEnvironment","find","runtime","languageEl","initialLanguage","languages","lang","selectedLanguageId","dataStoreEl","initialDataStore","dataStores","dataStore","selectedDataStoreId","envNameInputHandler","e","newEnvName","detail","trim","environmentName","frontEndsEl","getValues","then","frontEndsCheckboxesInfo","forEach","frontEnd","push","setEnvironmentHandler","async","createCallback","newEnvData","setAsCurrent","setAsCurrentEnvironmentEl","checked","name","environmentNameEl","language","frontEnds","createCallbackPromise","formSubmitResult","formSubmitValidation","cancelButtonClickedHandler","cancelCallback","runtimeEnvironmentChangedHandler","event","updateDataSources","languageValueChangedHandler","updateFrontEnds","updateEnvironmentName","dataStoreValueChangedHandler","getDataSourcesCallback","updatedDataSources","getFrontEndsCallback","updatedFrontEnds","getEnvironmentNameCallback","updatedEnvName","evaluateSingleRuntimeIcon","renderTabBasic","h","tab","flexContainer","class","isSelected","isAdvanced","containerTitle","_componentLocale","noContentPadding","displayBorderBottom","flexRow","slot","radiosLabelSize","ref","el","row","center","onChange","renderFormItems","color","type","textAlign","label","tabBasic","backEnd","backEndLabel","contentBorderEnd","titleType","setInitialComboValue","toolTip","config","tooltip","onValueChanged","part","frontEndLabel","checkboxesLabelSize","onGroupValuesChanged","renderTabAdvanced","componentWillLoad","Locale","getComponentStrings","componentDidLoad","focus","componentDidRender","componentDidRenderFirstTime","emit","componentName","suspendShortcuts","gxgShortcutsEl","suspend","render","Host","displayTitle","noBorderFooter","slimmerFooter","gxIdeContainer","labelPosition","placeholder","onInput","noBorder","displayBorder","tabLabel","tabAdvanced","disabled","disableAdvanced","footer","setAsCurrentEnvironment","setAsTarget","onClick","btnCancel","btnSetNewEnvironment","src"],"sources":["src/components/new-environment/new-environment.scss?tag=gx-ide-new-environment&encapsulation=shadow","src/components/new-environment/new-environment.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n border: 1px solid var(--gxg-border-color--regular);\n background-color: var(--mer-color__surface);\n}\n/*Header*/\n.header {\n display: flex;\n &__label {\n flex: none;\n }\n}\n/*Main*/\n.main {\n height: 100%;\n}\n/*Main > Gxg-Tabs*/\n.gxg-tabs {\n margin-top: 0;\n box-shadow: none;\n}\n.tab {\n &__basic {\n &__single-runtime {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--mer-spacing--2xs);\n }\n }\n}\n/*Main > Gxg-Tabs > Basic*/\n.basic-main {\n display: flex;\n height: 100%;\n\n &__back-end {\n flex: 1;\n //border-inline-end: 1px solid var(--gx-ide-container-border-color);\n }\n &__front-end {\n flex: 1;\n }\n}\n/*Main > Gxg-Tabs > Advanced*/\n.advanced-second-row {\n grid-template-columns: repeat(2, 1fr);\n grid-template-rows: 1fr;\n > *:nth-child(1) {\n grid-area: 1 / 1 / 2 / 2;\n }\n > *:nth-child(2) {\n grid-area: 1 / 2 / 2 / 3;\n }\n}\n.advanced-second-row-col-left {\n grid-template-columns: repeat(2, 1fr);\n grid-template-rows: repeat(4, 1fr);\n grid-template-columns: 1fr auto;\n > * {\n display: flex;\n align-items: self-end;\n }\n > *:nth-child(1) {\n grid-area: 1 / 1 / 2 / 2;\n }\n > *:nth-child(2) {\n grid-area: 1 / 2 / 2 / 3;\n }\n > *:nth-child(3) {\n grid-area: 2 / 1 / 3 / 2;\n }\n > *:nth-child(4) {\n grid-area: 2 / 2 / 3 / 3;\n }\n > *:nth-child(5) {\n grid-area: 3 / 1 / 4 / 2;\n }\n > *:nth-child(6) {\n grid-area: 3 / 2 / 4 / 3;\n }\n > *:nth-child(7) {\n grid-area: 4 / 1 / 5 / 2;\n }\n > *:nth-child(8) {\n grid-area: 4 / 2 / 5 / 3;\n }\n}\n.advanced-second-row-col-right {\n grid-template-columns: 1fr;\n grid-template-rows: repeat(4, 1fr);\n grid-auto-rows: 1fr;\n *:nth-child(1) {\n grid-area: 1 / 1 / 2 / 2;\n }\n *:nth-child(2) {\n grid-area: 2 / 1 / 3 / 2;\n }\n *:nth-child(3) {\n grid-area: 3 / 1 / 4 / 2;\n }\n *:nth-child(4) {\n grid-area: 4 / 1 / 5 / 2;\n }\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n getAssetPath,\n Method\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { RadioData } from \"@genexus/gemini/dist/types/components/form-radio/form-radio\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { setInitialComboValue } from \"../../common/helpers\";\nimport { GxOption } from \"../../common/types\";\nimport { config } from \"../../common/config\";\nimport { renderFormItems } from \"../../common/common\";\nimport { FormSubmitResult } from \"../../common/types\";\nimport { formSubmitValidation } from \"../../common/form-validation\";\n@Component({\n tag: \"gx-ide-new-environment\",\n styleUrl: \"new-environment.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/new-environment\"]\n})\nexport class GxIdeNewEnvironment {\n /*\nINDEX:\n1.OWN PROPERTIES\n2.REFERENCE TO ELEMENTS\n3.STATE() VARIABLES\n4.PUBLIC PROPERTY API | WATCH'S\n5.EVENTS (EMIT)\n6.COMPONENT LIFECYCLE EVENTS\n7.LISTENERS\n8.PUBLIC METHODS API\n9.LOCAL METHODS\n10.RENDER() FUNCTION\n*/\n\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n private selectedFrontEndsIds: string[] = [];\n private selectedRuntimeEnvironmentId: string;\n private selectedLanguageId: string;\n private selectedDataStoreId: string;\n private envNameModifiedByUser = false;\n private shortcutsSrc = getAssetPath(\n `./gx-ide-assets/new-environment/shortcuts.json`\n );\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeNewEnvironmentElement;\n\n /* References needed to collect data con \"Create\" button submit*/\n private environmentNameEl!: HTMLGxgFormTextElement;\n private languageEl!: HTMLGxgComboBoxElement;\n private runtimeEnvironmentEl!: HTMLGxgFormRadioGroupElement;\n private dataStoreEl!: HTMLGxgComboBoxElement;\n private frontEndsEl!: HTMLGxgFormCheckboxGroupElement;\n private setAsCurrentEnvironmentEl: HTMLGxgFormCheckboxElement;\n private gxgShortcutsEl: HTMLGxgShortcutsElement;\n\n // 3.STATE() VARIABLES //\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 that will be invoked when user wants to cancel\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * Callback that will be invoked when user confirms the KB creation\n */\n @Prop() readonly createCallback: CreateCallback;\n\n /**\n * It allows defining the DBMS that will be used in the solution\n */\n @Prop({ mutable: true }) dataStores!: GxOption[];\n\n /**\n * It allows selecting multiple generators for the front end\n */\n @Prop() readonly disableAdvanced: boolean = false;\n\n /**\n * Name of the new environment\n */\n @Prop({ mutable: true }) environmentName: string;\n\n /**\n * It allows selecting multiple generators for the front end\n */\n @Prop({ mutable: true }) frontEnds!: GxOption[];\n\n /**\n * Callback invoked when the user changes the language or the selected data source, if and only if the environment name was not modified\n */\n @Prop() readonly getEnvironmentNameCallback: GetEnvironmentNameCallback;\n\n /**\n * Callback invoked when the user changes the language, allows modifying the list of frontends\n */\n @Prop() readonly getFrontEndsCallback: GetFrontEndsCallback;\n\n /**\n * Callback invoked when the user changes the language or the runtime\n */\n @Prop() readonly getDataSourcesCallback: GetDataSourcesCallback;\n\n /**\n * Define if the Advanced tab should be displayed\n */\n @Prop() readonly isAdvanced: boolean = false;\n\n /**\n * Possible values for 'Language' combo\n */\n @Prop() readonly languages!: GxOption[];\n\n /**\n * Possible values for 'Runtime Environment' radio button\n */\n @Prop() readonly runtimes!: GxOption[];\n\n /**\n * Belongs to checkbox 'Set as current environment' @default true\n *\n */\n @Prop() readonly setAsTarget?: boolean = true;\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 EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.evaluateSelectedRuntimeEnvironmentId();\n }\n\n componentDidLoad() {\n this.initialSetup();\n this.environmentNameEl.focus();\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 /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.gxgShortcutsEl.suspend = true;\n } else {\n this.gxgShortcutsEl.suspend = false;\n }\n }\n\n // 9.LOCAL METHODS //\n\n // 9.LOCAL METHODS -> Helpers //\n\n private initialSetup = () => {\n this.updateSelectedFrontEndsIds();\n this.setInitialRuntimeId();\n this.setInitialLanguageId();\n this.setInitialDataStoreId();\n };\n\n private evaluateSelectedRuntimeEnvironmentId = () => {\n if (this.runtimes.length === 1) {\n this.selectedRuntimeEnvironmentId = this.runtimes[0].id;\n }\n };\n\n private setInitialRuntimeId = () => {\n if (this.runtimeEnvironmentEl?.value) {\n const initialRuntimeEnvironment = this.runtimes.find(\n runtime => runtime.value === this.runtimeEnvironmentEl?.value\n );\n if (initialRuntimeEnvironment) {\n this.selectedRuntimeEnvironmentId = initialRuntimeEnvironment.id;\n }\n }\n };\n\n private setInitialLanguageId = () => {\n if (this.languageEl?.value) {\n const initialLanguage = this.languages.find(\n lang => lang.id === this.languageEl?.value\n );\n if (initialLanguage) {\n this.selectedLanguageId = initialLanguage.id;\n }\n }\n };\n\n private setInitialDataStoreId = () => {\n if (this.dataStoreEl?.value) {\n const initialDataStore = this.dataStores.find(\n dataStore => dataStore.id === this.dataStoreEl?.value\n );\n if (initialDataStore) {\n this.selectedDataStoreId = initialDataStore.id;\n }\n }\n };\n\n // 9.LOCAL METHODS -> Not Helpers //\n\n private envNameInputHandler = (e: CustomEvent<EventEmitter>) => {\n const newEnvName = (e.detail + \"\").trim();\n if (newEnvName !== this.environmentName) {\n this.environmentName = newEnvName;\n this.envNameModifiedByUser = true;\n }\n };\n\n private updateSelectedFrontEndsIds = () => {\n this.selectedFrontEndsIds = [];\n this.frontEndsEl.getValues().then(frontEndsCheckboxesInfo => {\n frontEndsCheckboxesInfo.forEach(frontEnd => {\n if (frontEnd.value) {\n this.selectedFrontEndsIds.push(frontEnd.id);\n }\n });\n });\n };\n\n private setEnvironmentHandler = async () => {\n if (this.createCallback) {\n const newEnvData: NewEnvironmentData = {\n setAsCurrent: this.setAsCurrentEnvironmentEl.checked,\n name: this.environmentNameEl.value,\n runtime: this.selectedRuntimeEnvironmentId,\n language: this.languageEl.value,\n dataStores: this.dataStoreEl.value,\n frontEnds: this.selectedFrontEndsIds\n };\n const createCallbackPromise = this.createCallback(newEnvData);\n createCallbackPromise.then(formSubmitResult => {\n formSubmitValidation(formSubmitResult, this);\n });\n }\n };\n\n private cancelButtonClickedHandler = async (): Promise<void> => {\n if (this.cancelCallback) {\n await this.cancelCallback();\n }\n };\n\n private runtimeEnvironmentChangedHandler = (\n event: CustomEvent<RadioData>\n ): void => {\n this.selectedRuntimeEnvironmentId = event.detail.id;\n this.updateDataSources();\n };\n\n private languageValueChangedHandler = () => {\n /* the language item id is used for the value (they are equal)*/\n this.selectedLanguageId = this.languageEl.value;\n this.updateDataSources();\n this.updateFrontEnds();\n this.updateEnvironmentName();\n };\n\n private dataStoreValueChangedHandler = () => {\n /* the data store item id is used for the value (they are equal)*/\n this.selectedDataStoreId = this.dataStoreEl.value;\n this.updateEnvironmentName();\n };\n\n private updateDataSources = async () => {\n if (this.getDataSourcesCallback) {\n const updatedDataSources = await this.getDataSourcesCallback(\n this.selectedLanguageId,\n this.selectedRuntimeEnvironmentId\n );\n if (updatedDataSources?.length > 0) {\n this.dataStores = updatedDataSources;\n }\n }\n };\n\n private updateFrontEnds = async () => {\n if (this.getFrontEndsCallback) {\n const updatedFrontEnds = await this.getFrontEndsCallback(\n this.selectedLanguageId\n );\n if (updatedFrontEnds?.length > 0) {\n this.frontEnds = updatedFrontEnds;\n }\n }\n };\n\n private updateEnvironmentName = async () => {\n if (\n this.getEnvironmentNameCallback &&\n this.environmentNameEl &&\n this.envNameModifiedByUser\n ) {\n const updatedEnvName = await this.getEnvironmentNameCallback(\n this.selectedLanguageId,\n this.selectedDataStoreId\n );\n if (updatedEnvName) {\n this.environmentName = updatedEnvName;\n }\n }\n };\n\n private evaluateSingleRuntimeIcon = () => {\n if (this.runtimes[0].id === \"local\") {\n return \"window-tools/rol\";\n } else {\n return \"window-tools/genexus-cloud\";\n }\n };\n\n // 9.LOCAL METHODS -> Renders //\n\n private renderTabBasic = (): Element => {\n {\n /* #basic tab*/\n }\n return (\n <gxg-tab\n tab=\"basic\"\n no-padding\n flexContainer\n class=\"tab tab__basic\"\n isSelected={!this.isAdvanced}\n >\n <gx-ide-container\n containerTitle={this._componentLocale.runtime}\n noContentPadding\n displayBorderBottom\n flexRow={this.runtimes.length === 1}\n >\n {/* #runtime environment */}\n {this.runtimes.length > 1 ? (\n <gxg-form-radio-group\n slot=\"header\"\n radiosLabelSize=\"large\"\n ref={(el: HTMLGxgFormRadioGroupElement) =>\n (this.runtimeEnvironmentEl = el as HTMLGxgFormRadioGroupElement)\n }\n row\n center\n onChange={this.runtimeEnvironmentChangedHandler}\n >\n {renderFormItems(\n \"gxg-form-radio\",\n this.runtimes,\n \"runtime-environment\"\n )}\n </gxg-form-radio-group>\n ) : (\n [\n <div class=\"tab__basic__single-runtime\" slot=\"header\">\n <gxg-icon\n color=\"disabled\"\n type={this.evaluateSingleRuntimeIcon()}\n ></gxg-icon>\n <gxg-text textAlign=\"center\">{this.runtimes[0].label}</gxg-text>\n </div>\n ]\n )}\n\n <div class=\"basic-main\">\n {/* #back end*/}\n <gx-ide-container\n container-title={\n this._componentLocale.tabBasic.backEnd.backEndLabel\n }\n class=\"basic-main__back-end\"\n contentBorderEnd\n titleType=\"secondary\"\n >\n {/* #language */}\n <gxg-combo-box\n disable-filter\n label={this._componentLocale.tabBasic.backEnd.language}\n value={setInitialComboValue(this.languages)}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.languageEl = el as HTMLGxgComboBoxElement)\n }\n toolTip={config.tooltip}\n onValueChanged={this.languageValueChangedHandler}\n part=\"language\"\n >\n {renderFormItems(\"gxg-combo-box-item\", this.languages)}\n </gxg-combo-box>\n\n {/* #data stores*/}\n <gxg-combo-box\n disable-filter\n label={this._componentLocale.tabBasic.backEnd.dataStores}\n value={setInitialComboValue(this.dataStores)}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.dataStoreEl = el as HTMLGxgComboBoxElement)\n }\n onValueChanged={this.dataStoreValueChangedHandler}\n toolTip={config.tooltip}\n part=\"data-store\"\n >\n {renderFormItems(\"gxg-combo-box-item\", this.dataStores)}\n </gxg-combo-box>\n </gx-ide-container>\n <gx-ide-container\n container-title={\n this._componentLocale.tabBasic.frontEnd.frontEndLabel\n }\n class=\"basic-main__front-end\"\n titleType=\"secondary\"\n >\n {/* #front end */}\n <gxg-form-checkbox-group\n checkboxesLabelSize=\"large\"\n ref={(el: HTMLGxgFormCheckboxGroupElement) =>\n (this.frontEndsEl = el as HTMLGxgFormCheckboxGroupElement)\n }\n onGroupValuesChanged={this.updateSelectedFrontEndsIds}\n >\n {renderFormItems(\"gxg-form-checkbox\", this.frontEnds)}\n </gxg-form-checkbox-group>\n </gx-ide-container>\n </div>\n </gx-ide-container>\n </gxg-tab>\n );\n };\n\n private renderTabAdvanced = (): Element => {\n return (\n <gxg-tab tab=\"advanced\" no-padding>\n <gx-ide-container>\n {/* #advanced tab*/}\n <slot name=\"property-grid\"></slot>\n </gx-ide-container>\n </gxg-tab>\n );\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 {/* header (environment name)*/}\n <gx-ide-container\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n noContentPadding\n noBorderFooter\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n >\n <header class=\"header\" slot=\"header\">\n {/* #environment name*/}\n <gxg-label labelPosition=\"start\" class=\"header__label\">\n {this._componentLocale.name}\n </gxg-label>\n\n {/* #front end */}\n <gxg-form-text\n label-position=\"start\"\n placeholder=\"New Environment\"\n max-width=\"100%\"\n value={this.environmentName}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.environmentNameEl = el as HTMLGxgFormTextElement)\n }\n onInput={\n !this.envNameModifiedByUser &&\n (this.envNameInputHandler as any)\n }\n toolTip={config.tooltip}\n class=\"header__text\"\n part=\"environment-name\"\n ></gxg-form-text>\n </header>\n\n {/* main */}\n <main class=\"main\">\n <gxg-tabs class=\"gxg-tabs\" noBorder>\n {this.isAdvanced ? (\n <gxg-tab-bar slot=\"tab-bar-container\" displayBorder>\n {/* #basic tab-button*/}\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabBasic.tabLabel}\n tab=\"basic\"\n is-selected\n ></gxg-tab-button>\n\n {/* #advanced tab-button*/}\n {this.isAdvanced ? (\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabAdvanced.tabLabel}\n tab=\"advanced\"\n disabled={this.disableAdvanced}\n ></gxg-tab-button>\n ) : null}\n </gxg-tab-bar>\n ) : null}\n\n {this.renderTabBasic()}\n {this.isAdvanced && this.renderTabAdvanced()}\n </gxg-tabs>\n </main>\n\n {/* #footer */}\n {/* #set as current environment*/}\n <gxg-form-checkbox\n label={this._componentLocale.footer.setAsCurrentEnvironment}\n ref={(el: HTMLGxgFormCheckboxElement) =>\n (this.setAsCurrentEnvironmentEl =\n el as HTMLGxgFormCheckboxElement)\n }\n checked={this.setAsTarget}\n part=\"set-as-current-environment\"\n slot=\"footer-start\"\n ></gxg-form-checkbox>\n\n {/* #cancel*/}\n <gxg-button\n id=\"button-cancel\"\n slot=\"footer-end\"\n type=\"outlined\"\n onClick={this.cancelButtonClickedHandler}\n part=\"gxg-button gxg-button--cancel\"\n >\n {this._componentLocale.footer.btnCancel}\n </gxg-button>\n\n {/* #set new environment */}\n <gxg-button\n id=\"button-create\"\n slot=\"footer-end\"\n type=\"primary-text-only\"\n onClick={this.setEnvironmentHandler}\n part=\"gxg-button gxg-button--create\"\n >\n {this._componentLocale.footer.btnSetNewEnvironment}\n </gxg-button>\n </gx-ide-container>\n </div>\n <gxg-shortcuts\n src={this.shortcutsSrc}\n ref={(el: HTMLGxgShortcutsElement) =>\n (this.gxgShortcutsEl = el as HTMLGxgShortcutsElement)\n }\n ></gxg-shortcuts>\n </Host>\n );\n }\n}\n\nexport interface NewEnvironmentData {\n setAsCurrent: boolean;\n name: string;\n runtime: string;\n language: string;\n dataStores: string;\n frontEnds: string[];\n}\n\nexport type CreateCallback = (\n data: NewEnvironmentData\n) => Promise<FormSubmitResult>;\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type ChangedCallback = (data: NewEnvironmentData) => Promise<void>;\n\nexport type GetDataSourcesCallback = (\n selectedLanguageId: string,\n selectedRuntimeId: string\n) => Promise<GxOption[]>;\n\nexport type GetFrontEndsCallback = (\n selectedLanguageId: string\n) => Promise<GxOption[]>;\n\nexport type GetEnvironmentNameCallback = (\n selectedLanguageId: string,\n selectedDataSourceId: string\n) => Promise<string | undefined>;\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { FormSubmitResult, ConnectionResultData } from "../common/types";
2
- export declare const formSubmitValidation: (result: FormSubmitResult | ConnectionResultData, ref: any) => void;
@@ -1,10 +0,0 @@
1
- export declare const gridCommon: {
2
- colSize: {
3
- minContent: string;
4
- maxContent: string;
5
- auto: string;
6
- common: string;
7
- commonDouble: string;
8
- description: string;
9
- };
10
- };