@genexus/genexus-ide-ui 0.0.112 → 0.0.114

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 (318) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +1 -1
  3. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js.map +1 -1
  4. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +1 -1
  5. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js.map +1 -1
  6. package/dist/cjs/gx-ide-card.cjs.entry.js +1 -1
  7. package/dist/cjs/gx-ide-card.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-container_3.cjs.entry.js +1 -1
  9. package/dist/cjs/gx-ide-container_3.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +1 -1
  11. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  12. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +1 -1
  13. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +1 -1
  14. package/dist/cjs/gx-ide-data-selector.cjs.entry.js +1 -1
  15. package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
  16. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js +3 -2
  17. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js.map +1 -1
  18. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +17 -28
  19. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js.map +1 -1
  20. package/dist/cjs/gx-ide-import-from-design.cjs.entry.js +1 -1
  21. package/dist/cjs/gx-ide-import-from-design.cjs.entry.js.map +1 -1
  22. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +1 -1
  23. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
  24. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +1 -1
  25. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
  26. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +2 -2
  27. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js.map +1 -1
  28. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +8 -5
  29. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
  30. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
  31. package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
  32. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
  33. package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
  34. package/dist/cjs/gx-ide-new-object.cjs.entry.js +1 -1
  35. package/dist/cjs/gx-ide-new-object.cjs.entry.js.map +1 -1
  36. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
  37. package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
  38. package/dist/cjs/gx-ide-recent-news.cjs.entry.js +1 -1
  39. package/dist/cjs/gx-ide-recent-news.cjs.entry.js.map +1 -1
  40. package/dist/cjs/gx-ide-references.cjs.entry.js +1 -1
  41. package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
  42. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
  43. package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
  44. package/dist/cjs/gx-ide-start-page.cjs.entry.js +1 -1
  45. package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
  46. package/dist/cjs/gx-ide-status-buttons.cjs.entry.js +1 -1
  47. package/dist/cjs/gx-ide-status-buttons.cjs.entry.js.map +1 -1
  48. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +1 -1
  49. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
  50. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +1 -1
  51. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js.map +1 -1
  52. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +1 -1
  53. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
  54. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +1 -1
  55. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js.map +1 -1
  56. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +1 -1
  57. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
  58. package/dist/cjs/gx-ide-template.cjs.entry.js +1 -1
  59. package/dist/cjs/gx-ide-template.cjs.entry.js.map +1 -1
  60. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
  61. package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
  62. package/dist/cjs/gxg-buttons-container_2.cjs.entry.js +11 -20
  63. package/dist/cjs/gxg-buttons-container_2.cjs.entry.js.map +1 -1
  64. package/dist/cjs/gxg-ide-loader.cjs.entry.js +1 -1
  65. package/dist/cjs/gxg-ide-loader.cjs.entry.js.map +1 -1
  66. package/dist/cjs/loader.cjs.js +1 -1
  67. package/dist/collection/components/_helpers/card/card.css +4 -0
  68. package/dist/collection/components/_helpers/container/container.js +1 -1
  69. package/dist/collection/components/_helpers/container/container.js.map +1 -1
  70. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js +1 -1
  71. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js.map +1 -1
  72. package/dist/collection/components/_helpers/list-selector/list-selector.css +4 -0
  73. package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.css +0 -1
  74. package/dist/collection/components/_starting-template/template.css +4 -0
  75. package/dist/collection/components/ai-assistant/ai-assistant.css +4 -0
  76. package/dist/collection/components/bpm-application-declaration/bpm-app-declaration.css +4 -0
  77. package/dist/collection/components/create-kb-from-server/create-kb-from-server.css +4 -0
  78. package/dist/collection/components/dashboard-home/dashboard-home.css +4 -0
  79. package/dist/collection/components/data-selector/data-selector.css +4 -0
  80. package/dist/collection/components/gam-installation-settings/gam-installation-settings.css +36 -3
  81. package/dist/collection/components/gam-installation-settings/gam-installation-settings.js +16 -27
  82. package/dist/collection/components/gam-installation-settings/gam-installation-settings.js.map +1 -1
  83. package/dist/collection/components/gam-installation-settings/gx-ide-assets/gam-installation-settings/langs/gam-installation-settings.lang.en.json +7 -1
  84. package/dist/collection/components/import-from-design/import-from-design.css +4 -0
  85. package/dist/collection/components/kb-manager-export/kb-manager-export.css +4 -0
  86. package/dist/collection/components/kb-manager-import/kb-manager-import.css +4 -0
  87. package/dist/collection/components/modules/edit-module-server/edit-module-server.css +4 -0
  88. package/dist/collection/components/modules/edit-module-server/edit-module-server.js +19 -1
  89. package/dist/collection/components/modules/edit-module-server/edit-module-server.js.map +1 -1
  90. package/dist/collection/components/modules/manage-module-references/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.en.json +1 -1
  91. package/dist/collection/components/modules/manage-module-references/manage-module-references.css +8 -0
  92. package/dist/collection/components/modules/manage-module-references/manage-module-references.js +25 -4
  93. package/dist/collection/components/modules/manage-module-references/manage-module-references.js.map +1 -1
  94. package/dist/collection/components/new-environment/new-environment.css +4 -0
  95. package/dist/collection/components/new-kb/new-kb.css +4 -0
  96. package/dist/collection/components/new-object/new-object.css +4 -0
  97. package/dist/collection/components/object-selector/object-selector.css +4 -0
  98. package/dist/collection/components/references/references.css +4 -0
  99. package/dist/collection/components/share-kb/share-kb.css +4 -0
  100. package/dist/collection/components/start-page/recent-news.css +4 -0
  101. package/dist/collection/components/start-page/start-page.css +4 -0
  102. package/dist/collection/components/team-dev/commit/commit.css +4 -0
  103. package/dist/collection/components/team-dev/select-recent-comment/select-recent-comment.css +4 -0
  104. package/dist/collection/components/team-dev/update/update.css +4 -0
  105. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.css +4 -0
  106. package/dist/collection/components/team-dev/update-to-revision/update-to-revision.css +4 -0
  107. package/dist/collection/components/ww-images/ww-images.css +4 -0
  108. package/dist/components/container.js +1 -1
  109. package/dist/components/container.js.map +1 -1
  110. package/dist/components/gx-ide-ai-assistant.js +1 -1
  111. package/dist/components/gx-ide-ai-assistant.js.map +1 -1
  112. package/dist/components/gx-ide-bpm-app-declaration.js +1 -1
  113. package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
  114. package/dist/components/gx-ide-card.js +1 -1
  115. package/dist/components/gx-ide-card.js.map +1 -1
  116. package/dist/components/gx-ide-create-kb-from-server.js +1 -1
  117. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  118. package/dist/components/gx-ide-dashboard-home.js +1 -1
  119. package/dist/components/gx-ide-dashboard-home.js.map +1 -1
  120. package/dist/components/gx-ide-data-selector.js +1 -1
  121. package/dist/components/gx-ide-data-selector.js.map +1 -1
  122. package/dist/components/gx-ide-edit-module-server.js +4 -2
  123. package/dist/components/gx-ide-edit-module-server.js.map +1 -1
  124. package/dist/components/gx-ide-gam-installation-settings.js +17 -28
  125. package/dist/components/gx-ide-gam-installation-settings.js.map +1 -1
  126. package/dist/components/gx-ide-import-from-design.js +1 -1
  127. package/dist/components/gx-ide-import-from-design.js.map +1 -1
  128. package/dist/components/gx-ide-kb-manager-export.js +1 -1
  129. package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
  130. package/dist/components/gx-ide-kb-manager-import.js +1 -1
  131. package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
  132. package/dist/components/gx-ide-manage-module-references.js +9 -5
  133. package/dist/components/gx-ide-manage-module-references.js.map +1 -1
  134. package/dist/components/gx-ide-new-environment.js +1 -1
  135. package/dist/components/gx-ide-new-environment.js.map +1 -1
  136. package/dist/components/gx-ide-new-kb.js +1 -1
  137. package/dist/components/gx-ide-new-kb.js.map +1 -1
  138. package/dist/components/gx-ide-new-object.js +1 -1
  139. package/dist/components/gx-ide-new-object.js.map +1 -1
  140. package/dist/components/gx-ide-object-selector.js +1 -1
  141. package/dist/components/gx-ide-object-selector.js.map +1 -1
  142. package/dist/components/gx-ide-references.js +1 -1
  143. package/dist/components/gx-ide-references.js.map +1 -1
  144. package/dist/components/gx-ide-share-kb.js +1 -1
  145. package/dist/components/gx-ide-share-kb.js.map +1 -1
  146. package/dist/components/gx-ide-start-page.js +1 -1
  147. package/dist/components/gx-ide-start-page.js.map +1 -1
  148. package/dist/components/gx-ide-status-buttons2.js +1 -1
  149. package/dist/components/gx-ide-status-buttons2.js.map +1 -1
  150. package/dist/components/gx-ide-team-dev-commit.js +1 -1
  151. package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
  152. package/dist/components/gx-ide-team-dev-select-recent-comment.js +1 -1
  153. package/dist/components/gx-ide-team-dev-select-recent-comment.js.map +1 -1
  154. package/dist/components/gx-ide-team-dev-update-partial-selection.js +1 -1
  155. package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
  156. package/dist/components/gx-ide-team-dev-update-to-revision.js +1 -1
  157. package/dist/components/gx-ide-team-dev-update-to-revision.js.map +1 -1
  158. package/dist/components/gx-ide-team-dev-update.js +1 -1
  159. package/dist/components/gx-ide-team-dev-update.js.map +1 -1
  160. package/dist/components/gx-ide-template.js +1 -1
  161. package/dist/components/gx-ide-template.js.map +1 -1
  162. package/dist/components/gx-ide-ww-images.js +1 -1
  163. package/dist/components/gx-ide-ww-images.js.map +1 -1
  164. package/dist/components/gxg-top-state-bar2.js +12 -23
  165. package/dist/components/gxg-top-state-bar2.js.map +1 -1
  166. package/dist/components/ide-loader.js +1 -1
  167. package/dist/components/ide-loader.js.map +1 -1
  168. package/dist/components/list-selector-item.js +1 -1
  169. package/dist/components/list-selector-item.js.map +1 -1
  170. package/dist/components/list-selector.js +1 -1
  171. package/dist/components/list-selector.js.map +1 -1
  172. package/dist/components/recent-news.js +1 -1
  173. package/dist/components/recent-news.js.map +1 -1
  174. package/dist/esm/genexus-ide-ui.js +1 -1
  175. package/dist/esm/gx-ide-ai-assistant.entry.js +1 -1
  176. package/dist/esm/gx-ide-ai-assistant.entry.js.map +1 -1
  177. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +1 -1
  178. package/dist/esm/gx-ide-bpm-app-declaration.entry.js.map +1 -1
  179. package/dist/esm/gx-ide-card.entry.js +1 -1
  180. package/dist/esm/gx-ide-card.entry.js.map +1 -1
  181. package/dist/esm/gx-ide-container_3.entry.js +1 -1
  182. package/dist/esm/gx-ide-container_3.entry.js.map +1 -1
  183. package/dist/esm/gx-ide-create-kb-from-server.entry.js +1 -1
  184. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  185. package/dist/esm/gx-ide-dashboard-home.entry.js +1 -1
  186. package/dist/esm/gx-ide-dashboard-home.entry.js.map +1 -1
  187. package/dist/esm/gx-ide-data-selector.entry.js +1 -1
  188. package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
  189. package/dist/esm/gx-ide-edit-module-server.entry.js +3 -2
  190. package/dist/esm/gx-ide-edit-module-server.entry.js.map +1 -1
  191. package/dist/esm/gx-ide-gam-installation-settings.entry.js +17 -28
  192. package/dist/esm/gx-ide-gam-installation-settings.entry.js.map +1 -1
  193. package/dist/esm/gx-ide-import-from-design.entry.js +1 -1
  194. package/dist/esm/gx-ide-import-from-design.entry.js.map +1 -1
  195. package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -1
  196. package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
  197. package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
  198. package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
  199. package/dist/esm/gx-ide-list-selector_2.entry.js +2 -2
  200. package/dist/esm/gx-ide-list-selector_2.entry.js.map +1 -1
  201. package/dist/esm/gx-ide-manage-module-references.entry.js +8 -5
  202. package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -1
  203. package/dist/esm/gx-ide-new-environment.entry.js +1 -1
  204. package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
  205. package/dist/esm/gx-ide-new-kb.entry.js +1 -1
  206. package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
  207. package/dist/esm/gx-ide-new-object.entry.js +1 -1
  208. package/dist/esm/gx-ide-new-object.entry.js.map +1 -1
  209. package/dist/esm/gx-ide-object-selector.entry.js +1 -1
  210. package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
  211. package/dist/esm/gx-ide-recent-news.entry.js +1 -1
  212. package/dist/esm/gx-ide-recent-news.entry.js.map +1 -1
  213. package/dist/esm/gx-ide-references.entry.js +1 -1
  214. package/dist/esm/gx-ide-references.entry.js.map +1 -1
  215. package/dist/esm/gx-ide-share-kb.entry.js +1 -1
  216. package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
  217. package/dist/esm/gx-ide-start-page.entry.js +1 -1
  218. package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
  219. package/dist/esm/gx-ide-status-buttons.entry.js +1 -1
  220. package/dist/esm/gx-ide-status-buttons.entry.js.map +1 -1
  221. package/dist/esm/gx-ide-team-dev-commit.entry.js +1 -1
  222. package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
  223. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +1 -1
  224. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js.map +1 -1
  225. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +1 -1
  226. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
  227. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +1 -1
  228. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js.map +1 -1
  229. package/dist/esm/gx-ide-team-dev-update.entry.js +1 -1
  230. package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
  231. package/dist/esm/gx-ide-template.entry.js +1 -1
  232. package/dist/esm/gx-ide-template.entry.js.map +1 -1
  233. package/dist/esm/gx-ide-ww-images.entry.js +1 -1
  234. package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
  235. package/dist/esm/gxg-buttons-container_2.entry.js +11 -20
  236. package/dist/esm/gxg-buttons-container_2.entry.js.map +1 -1
  237. package/dist/esm/gxg-ide-loader.entry.js +1 -1
  238. package/dist/esm/gxg-ide-loader.entry.js.map +1 -1
  239. package/dist/esm/loader.js +1 -1
  240. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  241. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  242. package/dist/genexus-ide-ui/gx-ide-assets/gam-installation-settings/langs/gam-installation-settings.lang.en.json +7 -1
  243. package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.en.json +1 -1
  244. package/dist/genexus-ide-ui/{p-a3dea97e.entry.js → p-096cf817.entry.js} +2 -2
  245. package/dist/genexus-ide-ui/{p-f91c432e.entry.js → p-0d1cf3ee.entry.js} +7 -4
  246. package/dist/genexus-ide-ui/p-0d1cf3ee.entry.js.map +1 -0
  247. package/dist/genexus-ide-ui/{p-033b498a.entry.js → p-0fd26289.entry.js} +2 -2
  248. package/dist/genexus-ide-ui/{p-6fdb5c12.entry.js → p-11d2e597.entry.js} +2 -2
  249. package/dist/genexus-ide-ui/{p-51e86542.entry.js → p-259c12b9.entry.js} +2 -2
  250. package/dist/genexus-ide-ui/{p-c9cceb40.entry.js → p-2e571548.entry.js} +2 -2
  251. package/dist/genexus-ide-ui/{p-decf86d4.entry.js → p-3111e5e9.entry.js} +2 -2
  252. package/dist/genexus-ide-ui/p-3111e5e9.entry.js.map +1 -0
  253. package/dist/genexus-ide-ui/{p-bc04fcaa.entry.js → p-3ae0ce60.entry.js} +2 -2
  254. package/dist/genexus-ide-ui/p-3ae0ce60.entry.js.map +1 -0
  255. package/dist/genexus-ide-ui/{p-85d71611.entry.js → p-5dd1b9ab.entry.js} +2 -2
  256. package/dist/genexus-ide-ui/{p-b2099890.entry.js → p-6719090c.entry.js} +2 -2
  257. package/dist/genexus-ide-ui/{p-39337325.entry.js → p-6b0ea3c8.entry.js} +2 -2
  258. package/dist/genexus-ide-ui/p-6b0ea3c8.entry.js.map +1 -0
  259. package/dist/genexus-ide-ui/{p-bfa24a92.entry.js → p-6cb14be6.entry.js} +11 -11
  260. package/dist/genexus-ide-ui/{p-e3e704fb.entry.js → p-7ed89885.entry.js} +2 -2
  261. package/dist/genexus-ide-ui/{p-d26c67f3.entry.js → p-824b50eb.entry.js} +2 -2
  262. package/dist/genexus-ide-ui/{p-3d7a2553.entry.js → p-84c20e24.entry.js} +2 -2
  263. package/dist/genexus-ide-ui/{p-40c6edbf.entry.js → p-8a27e8df.entry.js} +8 -8
  264. package/dist/genexus-ide-ui/{p-b4e526d6.entry.js → p-8eb7131d.entry.js} +2 -2
  265. package/dist/genexus-ide-ui/{p-84934392.entry.js → p-8fb3e5b3.entry.js} +54 -48
  266. package/dist/genexus-ide-ui/p-8fb3e5b3.entry.js.map +1 -0
  267. package/dist/genexus-ide-ui/{p-5fe20f47.entry.js → p-9cc3600f.entry.js} +17 -28
  268. package/dist/genexus-ide-ui/p-9cc3600f.entry.js.map +1 -0
  269. package/dist/genexus-ide-ui/{p-d3cc2f33.entry.js → p-a7e13b00.entry.js} +2 -2
  270. package/dist/genexus-ide-ui/{p-0df39b62.entry.js → p-a80f163a.entry.js} +2 -2
  271. package/dist/genexus-ide-ui/{p-713ad05d.entry.js → p-abf70091.entry.js} +10 -7
  272. package/dist/genexus-ide-ui/p-abf70091.entry.js.map +1 -0
  273. package/dist/genexus-ide-ui/{p-292fb84f.entry.js → p-b13cafbf.entry.js} +2 -2
  274. package/dist/genexus-ide-ui/{p-87db4bb0.entry.js → p-b4294776.entry.js} +2 -2
  275. package/dist/genexus-ide-ui/{p-26527723.entry.js → p-b7ad27fe.entry.js} +2 -2
  276. package/dist/genexus-ide-ui/{p-27d0fcde.entry.js → p-bd9cbfaf.entry.js} +3 -3
  277. package/dist/genexus-ide-ui/{p-27d0fcde.entry.js.map → p-bd9cbfaf.entry.js.map} +1 -1
  278. package/dist/genexus-ide-ui/{p-a14ff83c.entry.js → p-ca3f470e.entry.js} +2 -2
  279. package/dist/genexus-ide-ui/{p-d5903356.entry.js → p-d3610b68.entry.js} +2 -2
  280. package/dist/genexus-ide-ui/{p-a7f6d8d4.entry.js → p-da209fe0.entry.js} +2 -2
  281. package/dist/genexus-ide-ui/{p-aa1e320b.entry.js → p-f067657f.entry.js} +2 -2
  282. package/dist/genexus-ide-ui/{p-df72101e.entry.js → p-f08a5cbf.entry.js} +2 -2
  283. package/dist/genexus-ide-ui/{p-c47ea5ff.entry.js → p-f35bc31e.entry.js} +2 -2
  284. package/dist/types/components/modules/edit-module-server/edit-module-server.d.ts +4 -0
  285. package/dist/types/components/modules/manage-module-references/manage-module-references.d.ts +4 -0
  286. package/dist/types/components.d.ts +16 -0
  287. package/package.json +3 -3
  288. package/dist/genexus-ide-ui/p-39337325.entry.js.map +0 -1
  289. package/dist/genexus-ide-ui/p-5fe20f47.entry.js.map +0 -1
  290. package/dist/genexus-ide-ui/p-713ad05d.entry.js.map +0 -1
  291. package/dist/genexus-ide-ui/p-84934392.entry.js.map +0 -1
  292. package/dist/genexus-ide-ui/p-bc04fcaa.entry.js.map +0 -1
  293. package/dist/genexus-ide-ui/p-decf86d4.entry.js.map +0 -1
  294. package/dist/genexus-ide-ui/p-f91c432e.entry.js.map +0 -1
  295. /package/dist/genexus-ide-ui/{p-a3dea97e.entry.js.map → p-096cf817.entry.js.map} +0 -0
  296. /package/dist/genexus-ide-ui/{p-033b498a.entry.js.map → p-0fd26289.entry.js.map} +0 -0
  297. /package/dist/genexus-ide-ui/{p-6fdb5c12.entry.js.map → p-11d2e597.entry.js.map} +0 -0
  298. /package/dist/genexus-ide-ui/{p-51e86542.entry.js.map → p-259c12b9.entry.js.map} +0 -0
  299. /package/dist/genexus-ide-ui/{p-c9cceb40.entry.js.map → p-2e571548.entry.js.map} +0 -0
  300. /package/dist/genexus-ide-ui/{p-85d71611.entry.js.map → p-5dd1b9ab.entry.js.map} +0 -0
  301. /package/dist/genexus-ide-ui/{p-b2099890.entry.js.map → p-6719090c.entry.js.map} +0 -0
  302. /package/dist/genexus-ide-ui/{p-bfa24a92.entry.js.map → p-6cb14be6.entry.js.map} +0 -0
  303. /package/dist/genexus-ide-ui/{p-e3e704fb.entry.js.map → p-7ed89885.entry.js.map} +0 -0
  304. /package/dist/genexus-ide-ui/{p-d26c67f3.entry.js.map → p-824b50eb.entry.js.map} +0 -0
  305. /package/dist/genexus-ide-ui/{p-3d7a2553.entry.js.map → p-84c20e24.entry.js.map} +0 -0
  306. /package/dist/genexus-ide-ui/{p-40c6edbf.entry.js.map → p-8a27e8df.entry.js.map} +0 -0
  307. /package/dist/genexus-ide-ui/{p-b4e526d6.entry.js.map → p-8eb7131d.entry.js.map} +0 -0
  308. /package/dist/genexus-ide-ui/{p-d3cc2f33.entry.js.map → p-a7e13b00.entry.js.map} +0 -0
  309. /package/dist/genexus-ide-ui/{p-0df39b62.entry.js.map → p-a80f163a.entry.js.map} +0 -0
  310. /package/dist/genexus-ide-ui/{p-292fb84f.entry.js.map → p-b13cafbf.entry.js.map} +0 -0
  311. /package/dist/genexus-ide-ui/{p-87db4bb0.entry.js.map → p-b4294776.entry.js.map} +0 -0
  312. /package/dist/genexus-ide-ui/{p-26527723.entry.js.map → p-b7ad27fe.entry.js.map} +0 -0
  313. /package/dist/genexus-ide-ui/{p-a14ff83c.entry.js.map → p-ca3f470e.entry.js.map} +0 -0
  314. /package/dist/genexus-ide-ui/{p-d5903356.entry.js.map → p-d3610b68.entry.js.map} +0 -0
  315. /package/dist/genexus-ide-ui/{p-a7f6d8d4.entry.js.map → p-da209fe0.entry.js.map} +0 -0
  316. /package/dist/genexus-ide-ui/{p-aa1e320b.entry.js.map → p-f067657f.entry.js.map} +0 -0
  317. /package/dist/genexus-ide-ui/{p-df72101e.entry.js.map → p-f08a5cbf.entry.js.map} +0 -0
  318. /package/dist/genexus-ide-ui/{p-c47ea5ff.entry.js.map → p-f35bc31e.entry.js.map} +0 -0
@@ -30,7 +30,7 @@ import { d as defineCustomElement$4 } from './title.js';
30
30
  import { d as defineCustomElement$3 } from './tooltip.js';
31
31
  import { d as defineCustomElement$2 } from './gxg-top-state-bar2.js';
32
32
 
33
- const manageModuleReferencesCss = ":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-container{display:flex;height:100%;width:100%;box-sizing:border-box}p,ul{font-size:var(--font-size-lg);margin:0}p{line-height:1.6em}.header{align-items:center;grid-template-columns:1fr auto;grid-template-rows:1fr}.main{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr;height:100%;overflow:auto}ch-grid-columnset{display:none}.grid-cell-module__info{display:flex;flex-direction:column;align-items:flex-start;gap:var(--mer-spacing--xxxs)}.grid-cell-module__name{font-weight:var(--mer-font__weight--bold)}.grid-cell-module__name,.grid-cell-module__description{line-height:1.55em}.grid-container{height:100%;overflow:auto}.grid-container gx-ide-empty-state{height:100%}.servers-container{display:none;height:100%}.servers-container__header{display:flex;align-items:center;justify-content:space-between;padding:var(--gxg-list-box-main__padding) var(--gxg-list-box-main__padding) 0 var(--gxg-list-box-main__padding)}.servers-container__header gxg-button{width:100%}.modules__header{padding:var(--gxg-list-box-main__padding);display:flex;flex-direction:column;gap:var(--mer-spacing--xs)}.modules__combo-container{display:flex;flex-direction:column;gap:var(--mer-spacing--xs)}.modules__combo{display:flex;flex-direction:row;gap:var(--mer-spacing--xs)}.modules__combo gxg-combo-box{flex:1}.modules__container{border-inline-end:var(--mer-border__width--sm) solid var(--gx-ide-container-border-color);display:grid;grid-template-rows:auto 1fr;height:100%;overflow:auto}.modules__main{display:grid;grid-template-rows:auto 1fr;height:100%;overflow:auto}.modules__main-header{display:flex;padding:var(--mer-spacing--xs);flex-direction:column;gap:var(--mer-spacing--xs)}.module-info{display:grid;grid-template-rows:auto 1fr;height:100%;overflow:auto}.module-info__name{display:flex;align-items:center;gap:var(--mer-spacing--sm);--ds-icon-size-box--regular:24px;--ds-icon-size--regular:24px;font-weight:var(--mer-font__weight--bold)}.module-info__header{padding:var(--gx-ide-container__padding);display:flex;flex-direction:column;gap:var(--mer-spacing--xs);border-block-end:var(--mer-border__width--sm) solid var(--gx-ide-container-border-color)}.module-info__action-container{display:flex;flex-direction:row;align-items:center;gap:var(--mer-spacing--xs)}.module-info__action-container:before{content:\"\";width:var(--mer-spacing--xs);height:var(--mer-spacing--xs);border-radius:50%;display:block;background-color:var(--mer-icon__primary--disabled)}.module-info__action-container--installed:before{background-color:var(--mer-icon__primary)}.module-info__alert-message{margin-block-start:var(--mer-spacing--xxs);background-color:var(--mer-color__tinted-yellow--5);color:var(--mer-text__on-elevation);border:var(--mer-border__width--sm) solid var(--mer-border-color__warning);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--xs) var(--mer-spacing--md)}.module-info__divider{width:calc(100% - var(--gx-ide-container__padding) * 4);padding:0 var(--gx-ide-container__padding);margin:0 auto;border:0;border-block-end:var(--mer-border__width--sm) solid var(--gx-ide-container-border-color)}.module-info__properties{display:flex;flex-direction:column;padding:var(--gx-ide-container__padding);gap:var(--mer-spacing--xs);overflow:auto}.md-property{display:grid;gap:var(--mer-spacing--xs)}.md-property--inline{grid-template-columns:auto 1fr}.md-property__key{font-weight:var(--font-weight-bold);max-width:150px}.md-property__value{font-size:var(--mer-font__size--xxs)}.md-property__key>*,.md-property__value>*{display:inline-block}.md-property__list{display:flex;flex-direction:column;gap:var(--mer-spacing--xs)}.md-property__list>ul{margin:0;padding:0;list-style-type:none;display:flex;flex-direction:column;gap:var(--mer-spacing--xxs);margin-inline-start:var(--mer-spacing--xs)}.md-property__list>ul li{position:relative;padding-inline-start:12px;line-height:var(--ds-base-font-line-height--comfortable)}.md-property__list>ul li::before{content:\"\";position:absolute;left:0;top:7px;display:inline-block;width:var(--mer-spacing--xxs);height:var(--mer-spacing--xxs);background-color:var(--mer-text__on-surface)}.md-property,.md-property__list{border-block-end:var(--mer-border__width--sm) solid var(--gx-ide-container-border-color);padding-block-end:var(--mer-spacing--xs)}.md-property:last-child,.md-property__list:last-child{border-block-end:0;padding-block-end:0}gxg-ide-loader{border-radius:var(--mer-border__radius--md)}";
33
+ const manageModuleReferencesCss = ":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-container{display:flex;height:100%;width:100%;box-sizing:border-box}p{margin:0}p,ul{font-size:var(--font-size-lg);margin:0}p{line-height:1.6em}.header{align-items:center;grid-template-columns:1fr auto;grid-template-rows:1fr}.main{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr;height:100%;overflow:auto}ch-grid-columnset{display:none}ch-grid-row[selected] gxg-icon[data-action=mercury-primary-disabled]{filter:brightness(2)}.grid-cell-module__info{display:flex;flex-direction:column;align-items:flex-start;gap:var(--mer-spacing--xxxs)}.grid-cell-module__name{font-weight:var(--mer-font__weight--bold)}.grid-cell-module__name,.grid-cell-module__description{line-height:1.55em}.grid-container{height:100%;overflow:auto}.grid-container gx-ide-empty-state{height:100%}.servers-container{display:none;height:100%}.servers-container__header{display:flex;align-items:center;justify-content:space-between;padding:var(--gxg-list-box-main__padding) var(--gxg-list-box-main__padding) 0 var(--gxg-list-box-main__padding)}.servers-container__header gxg-button{width:100%}.modules__header{padding:var(--gxg-list-box-main__padding);display:flex;flex-direction:column;gap:var(--mer-spacing--xs)}.modules__combo-container{display:flex;flex-direction:column;gap:var(--mer-spacing--xs)}.modules__combo{display:flex;flex-direction:row;gap:var(--mer-spacing--xs)}.modules__combo gxg-combo-box{flex:1}.modules__container{border-inline-end:var(--mer-border__width--sm) solid var(--gx-ide-container-border-color);display:grid;grid-template-rows:auto 1fr;height:100%;overflow:auto}.modules__main{display:grid;grid-template-rows:auto 1fr;height:100%;overflow:auto}.modules__main-header{display:flex;padding:var(--mer-spacing--xs);flex-direction:column;gap:var(--mer-spacing--xs)}.module-info{display:grid;grid-template-rows:auto 1fr;height:100%;overflow:auto}.module-info__name{display:flex;align-items:center;gap:var(--mer-spacing--sm);--ds-icon-size-box--regular:24px;--ds-icon-size--regular:24px;font-weight:var(--mer-font__weight--bold)}.module-info__header{padding:var(--gx-ide-container__padding);display:flex;flex-direction:column;gap:var(--mer-spacing--xs);border-block-end:var(--mer-border__width--sm) solid var(--gx-ide-container-border-color)}.module-info__action-container{display:flex;flex-direction:row;align-items:center;gap:var(--mer-spacing--xs)}.module-info__action-container:before{content:\"\";width:var(--mer-spacing--xs);height:var(--mer-spacing--xs);border-radius:50%;display:block;background-color:var(--mer-icon__primary--disabled)}.module-info__action-container--installed:before{background-color:var(--mer-icon__primary)}.module-info__alert-message{margin-block-start:var(--mer-spacing--xxs);background-color:var(--mer-color__tinted-yellow--5);color:var(--mer-text__on-elevation);border:var(--mer-border__width--sm) solid var(--mer-border-color__warning);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--xs) var(--mer-spacing--md)}.module-info__divider{width:calc(100% - var(--gx-ide-container__padding) * 4);padding:0 var(--gx-ide-container__padding);margin:0 auto;border:0;border-block-end:var(--mer-border__width--sm) solid var(--gx-ide-container-border-color)}.module-info__properties{display:flex;flex-direction:column;padding:var(--gx-ide-container__padding);gap:var(--mer-spacing--xs);overflow:auto}.md-property{display:grid;gap:var(--mer-spacing--xs)}.md-property--inline{grid-template-columns:auto 1fr}.md-property__key{font-weight:var(--font-weight-bold);max-width:150px}.md-property__value{font-size:var(--mer-font__size--xxs)}.md-property__key>*,.md-property__value>*{display:inline-block}.md-property__list{display:flex;flex-direction:column;gap:var(--mer-spacing--xs)}.md-property__list>ul{margin:0;padding:0;list-style-type:none;display:flex;flex-direction:column;gap:var(--mer-spacing--xxs);margin-inline-start:var(--mer-spacing--xs)}.md-property__list>ul li{position:relative;padding-inline-start:12px;line-height:var(--ds-base-font-line-height--comfortable)}.md-property__list>ul li::before{content:\"\";position:absolute;left:0;top:7px;display:inline-block;width:var(--mer-spacing--xxs);height:var(--mer-spacing--xxs);background-color:var(--mer-text__on-surface)}.md-property,.md-property__list{border-block-end:var(--mer-border__width--sm) solid var(--gx-ide-container-border-color);padding-block-end:var(--mer-spacing--xs)}.md-property:last-child,.md-property__list:last-child{border-block-end:0;padding-block-end:0}gxg-ide-loader{border-radius:var(--mer-border__radius--md)}";
34
34
 
35
35
  const GxManageModuleReferences = /*@__PURE__*/ proxyCustomElement(class GxManageModuleReferences extends HTMLElement {
36
36
  constructor() {
@@ -115,9 +115,11 @@ const GxManageModuleReferences = /*@__PURE__*/ proxyCustomElement(class GxManage
115
115
  */
116
116
  this.executeActionCallbackHandler = async (module) => {
117
117
  if (this.executeActionCallback) {
118
- console.log("hey!");
119
118
  const moduleSelectedVersionId = this.modulesSelectedVersion.get(module.id);
120
119
  const actionCompleted = await this.executeActionCallback(this.selectedServerId, module.id, moduleSelectedVersionId, this.getActionFromCurrentModuleVersion(), this.onProgress);
120
+ if (actionCompleted) {
121
+ this.serverSelectedCallbackHandler(this.selectedServerId);
122
+ }
121
123
  this.actionCompleted = actionCompleted;
122
124
  }
123
125
  };
@@ -162,7 +164,7 @@ const GxManageModuleReferences = /*@__PURE__*/ proxyCustomElement(class GxManage
162
164
  return selectedVersionData;
163
165
  };
164
166
  this.renderModulesGrid = () => {
165
- return (h("gxg-grid", { noBorder: true, fullHeight: true }, h("ch-grid", { rowSelectionMode: "single", part: "ch-grid-pending-commits", class: "servers-detail no-border", onSelectionChanged: this.handleModuleChange }, h("ch-grid-columnset", null, h("ch-grid-column", { settingable: false, size: "min-content" }), h("ch-grid-column", { settingable: false }), h("ch-grid-column", { settingable: false, size: "min-content" })), this.filteredModules.map((module) => (h("ch-grid-row", { rowid: module.id, key: module.id, selected: this.selectedModule && this.selectedModule.id === module.id }, h("ch-grid-cell", null, h("gxg-icon", { type: "objects/module", color: this.moduleVersionIconColor(module), size: "small" })), h("ch-grid-cell", { class: "grid-cell-module__info" }, h("span", { class: "grid-cell-module__name" }, this.getModuleData(module, "name")), h("span", { class: "grid-cell-module__description" }, this.getModuleData(module, "description"))), h("ch-grid-cell", null, this.selectedModule && this.selectedModule.id === module.id ? (h("gxg-button", { disabled: !this.actionCompleted ||
167
+ return (h("gxg-grid", { noBorder: true, fullHeight: true }, h("ch-grid", { rowSelectionMode: "single", part: "ch-grid-pending-commits", class: "servers-detail no-border", onSelectionChanged: this.handleModuleChange }, h("ch-grid-columnset", null, h("ch-grid-column", { settingable: false, size: "min-content" }), h("ch-grid-column", { settingable: false }), h("ch-grid-column", { settingable: false, size: "min-content" })), this.filteredModules.map((module) => (h("ch-grid-row", { rowid: module.id, key: module.id, selected: this.selectedModule && this.selectedModule.id === module.id }, h("ch-grid-cell", null, h("gxg-icon", { type: "objects/module", "data-action": this.moduleVersionIconColor(module), color: this.moduleVersionIconColor(module), size: "small" })), h("ch-grid-cell", { class: "grid-cell-module__info" }, h("span", { class: "grid-cell-module__name" }, this.getModuleData(module, "name")), h("span", { class: "grid-cell-module__description" }, this.getModuleData(module, "description"))), h("ch-grid-cell", null, this.selectedModule && this.selectedModule.id === module.id ? (h("gxg-button", { disabled: !this.actionCompleted ||
166
168
  this.getModuleData(module, "action") === "incompatible" ||
167
169
  this.getModuleData(module, "action") === "not-installable", fit: true, part: "module-action", onClick: () => {
168
170
  this.actionCompleted = false;
@@ -274,6 +276,7 @@ const GxManageModuleReferences = /*@__PURE__*/ proxyCustomElement(class GxManage
274
276
  this.executeActionCallback = undefined;
275
277
  this.addServerCallback = undefined;
276
278
  this.serverContextMenuCallback = undefined;
279
+ this.showServerCommands = true;
277
280
  }
278
281
  modulesAllWatcher(modulesAll) {
279
282
  this.updateModulesSelectedVersion(modulesAll);
@@ -314,14 +317,14 @@ const GxManageModuleReferences = /*@__PURE__*/ proxyCustomElement(class GxManage
314
317
  render() {
315
318
  return (h(Host, { class: {
316
319
  "gx-ide-component": true
317
- } }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { noContentPadding: true, noAboveFooterPadding: true, noBorderAboveFooter: this.closeProgressBar, part: "servers", containerTitle: this.displayTitle ? this._componentLocale.componentName : null }, h("main", { class: "main" }, h("div", { class: "modules__container" }, h("header", { class: "modules__header" }, h("div", { class: "modules__combo-container" }, h("gxg-label", null, this._componentLocale.modules.selectServer), h("div", { class: "modules__combo" }, h("gxg-combo-box", { disableFilter: true, onValueChanged: this.serverValueChangedHandler }, this.servers.map(item => (h("gxg-combo-box-item", { value: item.id, onItemSelected: this.serverItemSelectedHandler }, item.name)))), h("span", { class: "modules__menu-container" }, h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/show-more-horizontal", onClick: this.showModuleMenu }))))), h("div", { class: "modules__main" }, h("div", { class: "modules__main-header" }, h("gxg-form-text", { label: this._componentLocale.modules.searchModules, labelPosition: "above", centerLabel: false, onValueChanged: (event) => {
320
+ } }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { noContentPadding: true, noAboveFooterPadding: true, noBorderAboveFooter: this.closeProgressBar, part: "servers", containerTitle: this.displayTitle ? this._componentLocale.componentName : null }, h("main", { class: "main" }, h("div", { class: "modules__container" }, h("header", { class: "modules__header" }, h("div", { class: "modules__combo-container" }, h("gxg-label", null, this._componentLocale.modules.selectServer), h("div", { class: "modules__combo" }, h("gxg-combo-box", { disableFilter: true, onValueChanged: this.serverValueChangedHandler }, this.servers.map(item => (h("gxg-combo-box-item", { value: item.id, onItemSelected: this.serverItemSelectedHandler }, item.name)))), this.showServerCommands ? (h("span", { class: "modules__menu-container" }, h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/show-more-horizontal", onClick: this.showModuleMenu }))) : null))), h("div", { class: "modules__main" }, h("div", { class: "modules__main-header" }, h("gxg-form-text", { label: this._componentLocale.modules.searchModules, labelPosition: "above", centerLabel: false, onValueChanged: (event) => {
318
321
  this.handleFilterChange(event.detail);
319
322
  }, disabled: this.loadingServer }), h("gxg-buttons-container", { reduced: true, fullWidth: true, class: "modules__browser", onSelectedButtonChanged: this.selectedButtonChangedHandler }, h("gxg-button", { id: "btn-browse", selected: true, disabled: this.loadingServer }, this._componentLocale.modules.buttonsContainer.browse), h("gxg-button", { id: "btn-installed", disabled: this.loadingServer }, this._componentLocale.modules.buttonsContainer
320
323
  .installed), h("gxg-button", { id: "btn-updates", disabled: this.loadingServer }, this._componentLocale.modules.buttonsContainer.updates))), h("div", { class: "grid-container", ref: el => (this.serversDetail = el) }, this.filteredModules.length > 0
321
324
  ? this.renderModulesGrid()
322
325
  : this.renderEmptyStateModules()))), this.selectedModule ? (h("div", { class: "module-info" }, h("header", { class: "module-info__header" }, this.renderModuleName(), this.renderModuleAlertMessage(), this.renderModuleAction(), this.renderModuleVersions()), h("div", { class: "module-info__properties gxg-scrollbar" }, renderModuleDataProperties(this.getModuleData(this.selectedModule, "properties"))))) : (h("gx-ide-empty-state", { class: "recent-objects__empty-state", stateIcon: "objects/module", stateTitle: this._componentLocale.modulesInformation.emptyState.title, stateDescription: this._componentLocale.modulesInformation.emptyState
323
326
  .description }))), h("gxg-top-state-bar", { slot: "footer-above", part: "progress-bar", stateType: this.progressState, noBorder: true, caption: this.selectedModuleAction.message ||
324
- this._componentLocale.progressBar.defaultCaption, progress: this.progressValue, active: !this.actionCompleted || !this.closeProgressBar, autoClose: false, withClose: true, closedCallback: this.progressBarCloseHandler }))), h("gxg-ide-loader", { loaderTitle: this._componentLocale.servers.loading, ref: el => (this.loaderEl = el), container: this.serversDetail, borderRadius: "0 0 0 8px" })));
327
+ this._componentLocale.progressBar.defaultCaption, progress: this.progressValue, active: !this.actionCompleted || !this.closeProgressBar, closeType: "not-progress", closedCallback: this.progressBarCloseHandler }))), h("gxg-ide-loader", { loaderTitle: this._componentLocale.servers.loading, ref: el => (this.loaderEl = el), container: this.serversDetail, borderRadius: "0 0 0 8px" })));
325
328
  }
326
329
  static get assetsDirs() { return ["gx-ide-assets/manage-module-references"]; }
327
330
  get el() { return this; }
@@ -337,6 +340,7 @@ const GxManageModuleReferences = /*@__PURE__*/ proxyCustomElement(class GxManage
337
340
  "executeActionCallback": [16],
338
341
  "addServerCallback": [16],
339
342
  "serverContextMenuCallback": [16],
343
+ "showServerCommands": [4, "show-server-commands"],
340
344
  "modulesAll": [32],
341
345
  "filteredModules": [32],
342
346
  "selectedModule": [32],
@@ -1 +1 @@
1
- {"file":"gx-ide-manage-module-references.js","mappings":"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","names":[],"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}\n.grid-cell-module {\n &__info {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--mer-spacing--xxxs);\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 &__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 &__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 }\n\n &__alert-message {\n margin-block-start: var(--mer-spacing--xxs);\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--xxs);\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--xxs);\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--xxs);\n height: var(--mer-spacing--xxs);\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","/* 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 { ChGridSelectionChangedEvent } from \"@genexus/chameleon-controls-library\";\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\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 @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 // 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);\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(\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<ChGridSelectionChangedEvent>\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) => {\n if (this.serverSelectedCallback) {\n this.loadingServer = true;\n const resolvedObjects = await this.serverSelectedCallback(id);\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 const trimmedValue = value.trim();\n\n if (trimmedValue) {\n const lowerCaseValue = trimmedValue.toLowerCase();\n this.filteredModules = this.modulesAll.filter(module => {\n const selectedVersionName = this.getModuleData(\n module,\n \"name\"\n ) as string;\n return selectedVersionName?.toLowerCase().includes(lowerCaseValue);\n });\n } else {\n this.filteredModules = this.modulesAll;\n }\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 console.log(\"hey!\");\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 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 renderModulesGrid = (): Element => {\n return (\n <gxg-grid noBorder fullHeight>\n <ch-grid\n rowSelectionMode=\"single\"\n part=\"ch-grid-pending-commits\"\n class=\"servers-detail no-border\"\n onSelectionChanged={this.handleModuleChange}\n >\n <ch-grid-columnset>\n <ch-grid-column\n settingable={false}\n size=\"min-content\"\n ></ch-grid-column>\n\n <ch-grid-column settingable={false}></ch-grid-column>\n <ch-grid-column\n settingable={false}\n size=\"min-content\"\n ></ch-grid-column>\n </ch-grid-columnset>\n\n {this.filteredModules.map((module: ModuleData) => (\n <ch-grid-row\n rowid={module.id}\n key={module.id}\n selected={\n this.selectedModule && this.selectedModule.id === module.id\n }\n >\n <ch-grid-cell>\n <gxg-icon\n type=\"objects/module\"\n color={this.moduleVersionIconColor(module)}\n size=\"small\"\n ></gxg-icon>\n </ch-grid-cell>\n <ch-grid-cell class=\"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-grid-cell>\n\n <ch-grid-cell>\n {this.selectedModule && this.selectedModule.id === module.id ? (\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={() => {\n this.actionCompleted = false;\n this.closeProgressBar = false;\n this.executeActionCallbackHandler(module);\n }}\n >\n {this.getActionFromCurrentModuleVersion()}\n </gxg-button>\n ) : null}\n </ch-grid-cell>\n </ch-grid-row>\n ))}\n </ch-grid>\n </gxg-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 if (moduleAction === \"not-installable\" || moduleAction === \"incompatible\") {\n return \"warning\";\n } else if (moduleAction === \"install\") {\n return \"mercury-primary-disabled\";\n } else {\n return \"mercury-primary\";\n }\n };\n\n /* module details/information renders*/\n private renderModuleName = () => {\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 private renderModuleAlertMessage = () => {\n const alertMessage = this.getModuleData(\n this.selectedModule,\n \"alertMessage\"\n );\n if (alertMessage) {\n return <p class=\"module-info__alert-message\">{alertMessage}</p>;\n }\n };\n private renderModuleAction = () => {\n const action = this.getActionFromCurrentModuleVersion();\n let actionDescription;\n let cssClass = \"module-info__action-container\";\n if (action === \"restore\" || action === \"update\") {\n actionDescription =\n this._componentLocale.modulesInformation.moduleProperties.installed;\n cssClass += ` module-info__action-container--installed`;\n } else if (action === \"incompatible\" || action === \"not-installable\") {\n actionDescription = \"Can not be installed\";\n } else {\n actionDescription =\n this._componentLocale.modulesInformation.moduleProperties.notInstalled;\n }\n return (\n <div class={cssClass}>\n <gxg-text part=\"module-info__action\">{actionDescription}</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.selectedModule = {\n ...this.selectedModule,\n currentVersion: versionId\n };\n this.modulesSelectedVersion.set(this.selectedModule.id, versionId);\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);\n };\n\n private serverValueChangedHandler = (e: CustomEvent<any>) => {\n const serverId = e.detail;\n this.serverSelectedCallbackHandler(serverId);\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 // 11.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host\n class={{\n \"gx-ide-component\": true\n }}\n >\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 <span class=\"modules__menu-container\">\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 </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={(event: any) => {\n this.handleFilterChange(event.detail);\n }}\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 Information*/}\n {this.selectedModule ? (\n <div class=\"module-info\">\n <header class=\"module-info__header\">\n {this.renderModuleName()}\n {this.renderModuleAlertMessage()}\n {this.renderModuleAction()}\n {this.renderModuleVersions()}\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 autoClose={false}\n withClose\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 = (id: string) => 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"],"version":3}
1
+ {"file":"gx-ide-manage-module-references.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,yBAAyB,GAAG,oteAAote;;MCoCzue,wBAAwB;;;;;;QAO3B,sBAAiB,GAAG,KAAK,CAAC;;QA0H1B,iCAA4B,GAAG,CAAC,UAAwB;YAC9D,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,kCAAkC,EAAE;;gBAErE,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC;gBACpC,UAAU,CAAC,OAAO,CAAC,MAAM;oBACvB,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAC7B,MAAM,CAAC,EAAE,EACT,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAC/C,CAAC;iBACH,CAAC,CAAC;aACJ;iBAAM;;gBAEL,UAAU,CAAC,OAAO,CAAC,MAAM;oBACvB,MAAM,SAAS,GACb,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC;oBAC3D,IAAI,SAAS,EAAE;wBACb,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBACnE;iBACF,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,kCAAkC,GAAG,IAAI,CAAC,gBAAgB,CAAC;SACjE,CAAC;QAEM,sCAAiC,GAAG;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAC/B,IAAI,CAAC,cAAc,EACnB,QAAQ,CACW,CAAC;YACtB,OAAO,MAAM,IAAI,SAAS,CAAC;SAC5B,CAAC;;;;QAKM,eAAU,GAAG,CACnB,OAAe,EACf,QAAgB,EAChB,KAAsB;YAEtB,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YAC1C,IAAI,CAAC,oBAAoB,qBAAQ,IAAI,CAAE,CAAC;YACxC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC;YACxD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;SACtD,CAAC;;;;;QAOM,uBAAkB,GAAG,CAC3B,KAA+C;YAE/C,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAChD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CACtC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,gBAAgB,CACrC,CAAC;YACF,IAAI,WAAW,EAAE;gBACf,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC;aACnC;SACF,CAAC;;;;QAKM,kCAA6B,GAAG,OAAO,EAAO;YACpD,IAAI,IAAI,CAAC,sBAAsB,EAAE;gBAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;gBAC9D,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;gBAC3B,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC;gBACvC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;gBACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gBAC9C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;aAC5B;SACF,CAAC;QAEM,uBAAkB,GAAG,CAAC,KAAa;YACzC,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAElC,IAAI,YAAY,EAAE;gBAChB,MAAM,cAAc,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;gBAClD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM;oBAClD,MAAM,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAC5C,MAAM,EACN,MAAM,CACG,CAAC;oBACZ,OAAO,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;iBACpE,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC;aACxC;SACF,CAAC;;;;QAKM,iCAA4B,GAAG,OAAO,MAAkB;YAC9D,IAAI,IAAI,CAAC,qBAAqB,EAAE;gBAC9B,MAAM,uBAAuB,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAC7D,MAAM,CAAC,EAAE,CACV,CAAC;gBACF,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,qBAAqB,CACtD,IAAI,CAAC,gBAAgB,EACrB,MAAM,CAAC,EAAE,EACT,uBAAuB,EACvB,IAAI,CAAC,iCAAiC,EAAE,EACxC,IAAI,CAAC,UAAU,CAChB,CAAC;gBACF,IAAI,eAAe,EAAE;oBACnB,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;iBAC3D;gBACD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;aACxC;SACF,CAAC;QAEM,wBAAmB,GAAG,CAAC,IAAsB;;YAEnD,IAAI,IAAI,KAAK,QAAQ,EAAE;gBACrB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC;aACxC;;iBAEI,IAAI,IAAI,KAAK,WAAW,EAAE;gBAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAkB;;oBAE/D,OAAO,MAAM,CAAC,cAAc,CAAC;iBAC9B,CAAC,CAAC;aACJ;iBAAM,IAAI,IAAI,KAAK,SAAS,EAAE;gBAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAkB;oBAC/D,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;iBACrE,CAAC,CAAC;aACJ;SACF,CAAC;QAEM,mBAAc,GAAG,OAAO,CAAa;YAC3C,IAAI,IAAI,CAAC,yBAAyB,EAAE;gBAClC,MAAM,wBAAwB,GAC5B,CAAC,CAAC,MACH,CAAC,qBAAqB,EAAE,CAAC;gBAC1B,MAAM,IAAI,CAAC,yBAAyB,CAAC;oBACnC,SAAS,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;oBAClC,OAAO,EAAE,wBAAwB,CAAC,CAAC;oBACnC,OAAO,EAAE,wBAAwB,CAAC,CAAC;iBACpC,CAAC,CAAC;aACJ;SACF,CAAC;QAEM,kBAAa,GAAG,CACtB,MAAkB,EAClB,QAAiC;YAEjC,MAAM,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACrE,IAAI,eAAe,CAAC;YACpB,IAAI,mBAAmB,CAAC;YACxB,IAAI,iBAAiB,EAAE;gBACrB,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CACpC,OAAO,IAAI,OAAO,CAAC,EAAE,KAAK,iBAAiB,CAC5C,CAAC;aACH;YACD,IAAI,eAAe,EAAE;gBACnB,mBAAmB,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;aACjD;YACD,OAAO,mBAAmB,CAAC;SAC5B,CAAC;QAEM,sBAAiB,GAAG;YAC1B,QACE,gBAAU,QAAQ,QAAC,UAAU,UAC3B,eACE,gBAAgB,EAAC,QAAQ,EACzB,IAAI,EAAC,yBAAyB,EAC9B,KAAK,EAAC,0BAA0B,EAChC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAE3C,6BACE,sBACE,WAAW,EAAE,KAAK,EAClB,IAAI,EAAC,aAAa,GACF,EAElB,sBAAgB,WAAW,EAAE,KAAK,GAAmB,EACrD,sBACE,WAAW,EAAE,KAAK,EAClB,IAAI,EAAC,aAAa,GACF,CACA,EAEnB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,MAAkB,MAC3C,mBACE,KAAK,EAAE,MAAM,CAAC,EAAE,EAChB,GAAG,EAAE,MAAM,CAAC,EAAE,EACd,QAAQ,EACN,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,IAG7D,wBACE,gBACE,IAAI,EAAC,gBAAgB,iBACR,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAChD,KAAK,EAAE,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAC1C,IAAI,EAAC,OAAO,GACF,CACC,EACf,oBAAc,KAAK,EAAC,wBAAwB,IAC1C,YAAM,KAAK,EAAC,wBAAwB,IACjC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAC9B,EACP,YAAM,KAAK,EAAC,+BAA+B,IACxC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,CACrC,CACM,EAEf,wBACG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,IAC1D,kBACE,QAAQ,EACN,CAAC,IAAI,CAAC,eAAe;oBACrB,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,cAAc;oBACvD,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,iBAAiB,EAE5D,GAAG,QACH,IAAI,EAAC,eAAe,EACpB,OAAO,EAAE;oBACP,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;oBAC7B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;oBAC9B,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC;iBAC3C,IAEA,IAAI,CAAC,iCAAiC,EAAE,CAC9B,IACX,IAAI,CACK,CACH,CACf,CAAC,CACM,CACD,EACX;SACH,CAAC;QAEM,4BAAuB,GAAG;YAChC,QACE,0BACE,SAAS,EAAC,iBAAiB,EAC3B,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,eAAe,GACrC,EACtB;SACH,CAAC;QAEM,2BAAsB,GAAG,CAAC,MAAkB;YAClD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC1D,IAAI,YAAY,KAAK,iBAAiB,IAAI,YAAY,KAAK,cAAc,EAAE;gBACzE,OAAO,SAAS,CAAC;aAClB;iBAAM,IAAI,YAAY,KAAK,SAAS,EAAE;gBACrC,OAAO,0BAA0B,CAAC;aACnC;iBAAM;gBACL,OAAO,iBAAiB,CAAC;aAC1B;SACF,CAAC;;QAGM,qBAAgB,GAAG;YACzB,QACE,iBAAW,IAAI,EAAC,mBAAmB,EAAC,IAAI,EAAC,UAAU,IACjD,WAAK,KAAK,EAAC,mBAAmB,IAC5B,gBACE,IAAI,EAAC,gBAAgB,EACrB,KAAK,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,GAC7C,EACX,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAC5C,CACI,EACZ;SACH,CAAC;QACM,6BAAwB,GAAG;YACjC,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CACrC,IAAI,CAAC,cAAc,EACnB,cAAc,CACf,CAAC;YACF,IAAI,YAAY,EAAE;gBAChB,OAAO,SAAG,KAAK,EAAC,4BAA4B,IAAE,YAAY,CAAK,CAAC;aACjE;SACF,CAAC;QACM,uBAAkB,GAAG;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,iCAAiC,EAAE,CAAC;YACxD,IAAI,iBAAiB,CAAC;YACtB,IAAI,QAAQ,GAAG,+BAA+B,CAAC;YAC/C,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,QAAQ,EAAE;gBAC/C,iBAAiB;oBACf,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,SAAS,CAAC;gBACtE,QAAQ,IAAI,2CAA2C,CAAC;aACzD;iBAAM,IAAI,MAAM,KAAK,cAAc,IAAI,MAAM,KAAK,iBAAiB,EAAE;gBACpE,iBAAiB,GAAG,sBAAsB,CAAC;aAC5C;iBAAM;gBACL,iBAAiB;oBACf,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,YAAY,CAAC;aAC1E;YACD,QACE,WAAK,KAAK,EAAE,QAAQ,IAClB,gBAAU,IAAI,EAAC,qBAAqB,IAAE,iBAAiB,CAAY,CAC/D,EACN;SACH,CAAC;QAEM,sCAAiC,GAAG,CAAC,CAAmB;YAC9D,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;YAC3B,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;SAC7C,CAAC;QACM,qCAAgC,GAAG,CAAC,CAAmB;YAC7D,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YACjC,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;SAC7C,CAAC;QACM,gCAA2B,GAAG,CAAC,SAAiB;YACtD,IAAI,SAAS,EAAE;gBACb,IAAI,CAAC,cAAc,mCACd,IAAI,CAAC,cAAc,KACtB,cAAc,EAAE,SAAS,GAC1B,CAAC;gBACF,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;aACpE;SACF,CAAC;QAEM,yBAAoB,GAAG;YAC7B,QACE,WAAK,IAAI,EAAC,oBAAoB,IAC5B,qBACE,EAAE,EAAC,oBAAoB,0BAEvB,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,EACpD,IAAI,EAAC,iBAAiB,yEAGtB,KAAK,EACH,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,gBAAgB;qBACtD,iBAAiB,EAEtB,aAAa,EAAC,OAAO,EACrB,WAAW,QACX,cAAc,EAAE,IAAI,CAAC,iCAAiC,EACtD,QAAQ,EAAE,IAAI,CAAC,aAAa,IAE3B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KACpC,0BACE,KAAK,EAAE,IAAI,CAAC,EAAE,EACd,cAAc,EAAE,IAAI,CAAC,gCAAgC,IAEpD,IAAI,CAAC,EAAE,CACW,CACtB,CAAC,CACY,CACZ,EACN;SACH,CAAC;QAEM,iCAA4B,GAAG,CAAC,CAAsB;YAC5D,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAqB,CAAC;YAC9D,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;SAChC,CAAC;QAEM,8BAAyB,GAAG,CAClC,CAKE;YAEF,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAChC,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;SAC9C,CAAC;QAEM,8BAAyB,GAAG,CAAC,CAAmB;YACtD,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;YAC1B,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;SAC9C,CAAC;QAEM,4BAAuB,GAAG;YAChC,UAAU,CAAC;gBACT,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;;gBAE7B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;gBACvB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;aACpC,EAAE,GAAG,CAAC,CAAC;;SAET,CAAC;0BA9ekC,EAAE;+BAKG,EAAE;;;oCAGC;YAC1C,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,CAAC;YACX,KAAK,EAAE,aAAa;SACrB;sCACsD,IAAI,GAAG,EAAE;+BACrC,IAAI;gCACH,IAAI;6BACC,CAAC;6BACQ,aAAa;6BAC9B,KAAK;4BAeE,KAAK;uBAKU,EAAE;;;;;kCAyBF,IAAI;;IA7DnD,iBAAiB,CAAC,UAAwB;QACxC,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;KAC/C;IAgBD,oBAAoB,CAAC,OAAgB;QACnC,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;SAC3B;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC;SAC5B;KACF;;IAgDD,kBAAkB;QAChB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,IAAI,CAAC,2BAA2B,CAAC,IAAI,CACnC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CACpC,CAAC;YACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;SAC/B;KACF;IAED,MAAM,iBAAiB;QACrB,IAAI,CAAC,gBAAgB,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACnE;IAED,MAAM,gBAAgB;QACpB,MAAM,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;KAC9D;;IAKD,iBAAiB,CAAC,cAA4B;QAC5C,IAAI,CAAC,eAAe,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC;KAC5C;;;;;IAQD,MAAM,QAAQ;QACZ,OAAO,IAAI,CAAC;KACb;;IAwYD,MAAM;QACJ,QACE,EAAC,IAAI,IACH,KAAK,EAAE;gBACL,kBAAkB,EAAE,IAAI;aACzB,IAED,WAAK,KAAK,EAAC,qBAAqB,IAC9B,wBACE,gBAAgB,QAChB,oBAAoB,QACpB,mBAAmB,EAAE,IAAI,CAAC,gBAAgB,EAC1C,IAAI,EAAC,SAAS,EACd,cAAc,EACZ,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG,IAAI,IAIhE,YAAM,KAAK,EAAC,MAAM,IAChB,WAAK,KAAK,EAAC,oBAAoB,IAC7B,cAAQ,KAAK,EAAC,iBAAiB,IAC7B,WAAK,KAAK,EAAC,0BAA0B,IACnC,qBACG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAY,CACjC,EACZ,WAAK,KAAK,EAAC,gBAAgB,IACzB,qBACE,aAAa,QACb,cAAc,EAAE,IAAI,CAAC,yBAAyB,IAE7C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,KACpB,0BACE,KAAK,EAAE,IAAI,CAAC,EAAE,EACd,cAAc,EAAE,IAAI,CAAC,yBAAyB,IAE7C,IAAI,CAAC,IAAI,CACS,CACtB,CAAC,CACY,EACf,IAAI,CAAC,kBAAkB,IACtB,YAAM,KAAK,EAAC,yBAAyB,IACnC,kBACE,IAAI,EAAC,qBAAqB,EAC1B,IAAI,EAAC,mCAAmC,EACxC,OAAO,EAAE,IAAI,CAAC,cAAc,GAChB,CACT,IACL,IAAI,CACJ,CACF,CACC,EAET,WAAK,KAAK,EAAC,eAAe,IACxB,WAAK,KAAK,EAAC,sBAAsB,IAC/B,qBACE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAa,EAClD,aAAa,EAAC,OAAO,EACrB,WAAW,EAAE,KAAK,EAClB,cAAc,EAAE,CAAC,KAAU;gBACzB,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;aACvC,EACD,QAAQ,EAAE,IAAI,CAAC,aAAa,GACb,EACjB,6BACE,OAAO,QACP,SAAS,QACT,KAAK,EAAC,kBAAkB,EACxB,uBAAuB,EACrB,IAAI,CAAC,4BAA4B,IAGnC,kBACE,EAAE,EAAC,YAAY,EACf,QAAQ,QACR,QAAQ,EAAE,IAAI,CAAC,aAAa,IAE3B,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAC3C,EACb,kBACE,EAAE,EAAC,eAAe,EAClB,QAAQ,EAAE,IAAI,CAAC,aAAa,IAG1B,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,gBAAgB;aAC3C,SAAS,CAEH,EACb,kBACE,EAAE,EAAC,aAAa,EAChB,QAAQ,EAAE,IAAI,CAAC,aAAa,IAE3B,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAC5C,CACS,CACpB,EAEN,WACE,KAAK,EAAC,gBAAgB,EACtB,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,aAAa,GAAG,EAAoB,CAAC,IAErD,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;cAC5B,IAAI,CAAC,iBAAiB,EAAE;cACxB,IAAI,CAAC,uBAAuB,EAAE,CAC9B,CACF,CACF,EAGL,IAAI,CAAC,cAAc,IAClB,WAAK,KAAK,EAAC,aAAa,IACtB,cAAQ,KAAK,EAAC,qBAAqB,IAChC,IAAI,CAAC,gBAAgB,EAAE,EACvB,IAAI,CAAC,wBAAwB,EAAE,EAC/B,IAAI,CAAC,kBAAkB,EAAE,EACzB,IAAI,CAAC,oBAAoB,EAAE,CACrB,EACT,WAAK,KAAK,EAAC,uCAAuC,IAC/C,0BAA0B,CACzB,IAAI,CAAC,aAAa,CAChB,IAAI,CAAC,cAAc,EACnB,YAAY,CACW,CAC1B,CACG,CACF,KAEN,0BACE,KAAK,EAAC,6BAA6B,EACnC,SAAS,EAAC,gBAAgB,EAC1B,UAAU,EACR,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,UAAU,CAAC,KAAK,EAE3D,gBAAgB,EACd,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,UAAU;iBAChD,WAAW,GAEI,CACvB,CACI,EAEP,yBACE,IAAI,EAAC,cAAc,EACnB,IAAI,EAAC,cAAc,EACnB,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,QAAQ,QACR,OAAO,EACL,IAAI,CAAC,oBAAoB,CAAC,OAAO;gBACjC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,cAAc,EAElD,QAAQ,EAAE,IAAI,CAAC,aAAa,EAC5B,MAAM,EAAE,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,gBAAgB,EACvD,SAAS,EAAC,cAAc,EACxB,cAAc,EAAE,IAAI,CAAC,uBAAuB,GACzB,CACJ,CACf,EACN,sBACE,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAClD,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,QAAQ,GAAG,EAA6B,CAAC,EAC1D,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,YAAY,EAAC,WAAW,GACR,CACb,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"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=\"mercury-primary-disabled\"] {\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--xxxs);\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 &__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 &__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 }\n\n &__alert-message {\n margin-block-start: var(--mer-spacing--xxs);\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--xxs);\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--xxs);\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--xxs);\n height: var(--mer-spacing--xxs);\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","/* 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 { ChGridSelectionChangedEvent } from \"@genexus/chameleon-controls-library\";\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\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 @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 = true;\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);\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(\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<ChGridSelectionChangedEvent>\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) => {\n if (this.serverSelectedCallback) {\n this.loadingServer = true;\n const resolvedObjects = await this.serverSelectedCallback(id);\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 const trimmedValue = value.trim();\n\n if (trimmedValue) {\n const lowerCaseValue = trimmedValue.toLowerCase();\n this.filteredModules = this.modulesAll.filter(module => {\n const selectedVersionName = this.getModuleData(\n module,\n \"name\"\n ) as string;\n return selectedVersionName?.toLowerCase().includes(lowerCaseValue);\n });\n } else {\n this.filteredModules = this.modulesAll;\n }\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);\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 renderModulesGrid = (): Element => {\n return (\n <gxg-grid noBorder fullHeight>\n <ch-grid\n rowSelectionMode=\"single\"\n part=\"ch-grid-pending-commits\"\n class=\"servers-detail no-border\"\n onSelectionChanged={this.handleModuleChange}\n >\n <ch-grid-columnset>\n <ch-grid-column\n settingable={false}\n size=\"min-content\"\n ></ch-grid-column>\n\n <ch-grid-column settingable={false}></ch-grid-column>\n <ch-grid-column\n settingable={false}\n size=\"min-content\"\n ></ch-grid-column>\n </ch-grid-columnset>\n\n {this.filteredModules.map((module: ModuleData) => (\n <ch-grid-row\n rowid={module.id}\n key={module.id}\n selected={\n this.selectedModule && this.selectedModule.id === module.id\n }\n >\n <ch-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-grid-cell>\n <ch-grid-cell class=\"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-grid-cell>\n\n <ch-grid-cell>\n {this.selectedModule && this.selectedModule.id === module.id ? (\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={() => {\n this.actionCompleted = false;\n this.closeProgressBar = false;\n this.executeActionCallbackHandler(module);\n }}\n >\n {this.getActionFromCurrentModuleVersion()}\n </gxg-button>\n ) : null}\n </ch-grid-cell>\n </ch-grid-row>\n ))}\n </ch-grid>\n </gxg-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 if (moduleAction === \"not-installable\" || moduleAction === \"incompatible\") {\n return \"warning\";\n } else if (moduleAction === \"install\") {\n return \"mercury-primary-disabled\";\n } else {\n return \"mercury-primary\";\n }\n };\n\n /* module details/information renders*/\n private renderModuleName = () => {\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 private renderModuleAlertMessage = () => {\n const alertMessage = this.getModuleData(\n this.selectedModule,\n \"alertMessage\"\n );\n if (alertMessage) {\n return <p class=\"module-info__alert-message\">{alertMessage}</p>;\n }\n };\n private renderModuleAction = () => {\n const action = this.getActionFromCurrentModuleVersion();\n let actionDescription;\n let cssClass = \"module-info__action-container\";\n if (action === \"restore\" || action === \"update\") {\n actionDescription =\n this._componentLocale.modulesInformation.moduleProperties.installed;\n cssClass += ` module-info__action-container--installed`;\n } else if (action === \"incompatible\" || action === \"not-installable\") {\n actionDescription = \"Can not be installed\";\n } else {\n actionDescription =\n this._componentLocale.modulesInformation.moduleProperties.notInstalled;\n }\n return (\n <div class={cssClass}>\n <gxg-text part=\"module-info__action\">{actionDescription}</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.selectedModule = {\n ...this.selectedModule,\n currentVersion: versionId\n };\n this.modulesSelectedVersion.set(this.selectedModule.id, versionId);\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);\n };\n\n private serverValueChangedHandler = (e: CustomEvent<any>) => {\n const serverId = e.detail;\n this.serverSelectedCallbackHandler(serverId);\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 // 11.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host\n class={{\n \"gx-ide-component\": true\n }}\n >\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__menu-container\">\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 </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={(event: any) => {\n this.handleFilterChange(event.detail);\n }}\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 Information*/}\n {this.selectedModule ? (\n <div class=\"module-info\">\n <header class=\"module-info__header\">\n {this.renderModuleName()}\n {this.renderModuleAlertMessage()}\n {this.renderModuleAction()}\n {this.renderModuleVersions()}\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 = (id: string) => 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"],"version":3}
@@ -29,7 +29,7 @@ import { d as defineCustomElement$4 } from './text.js';
29
29
  import { d as defineCustomElement$3 } from './title.js';
30
30
  import { d as defineCustomElement$2 } from './tooltip.js';
31
31
 
32
- const newEnvironmentCss = ":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-container{display:flex;height:100%;width:100%;box-sizing:border-box}:host{display:block;border:1px solid var(--gxg-border-color--regular);background-color:var(--mer-color__surface)}.header{display:flex}.header__label{flex:none}.main{height:100%}.gxg-tabs{margin-top:0;box-shadow:none}.tab__basic__single-runtime{display:flex;align-items:center;justify-content:center;gap:var(--mer-spacing--xxs)}.basic-main{display:flex;height:100%}.basic-main__back-end{flex:1}.basic-main__front-end{flex:1}.advanced-second-row{grid-template-columns:repeat(2, 1fr);grid-template-rows:1fr}.advanced-second-row>*:nth-child(1){grid-area:1/1/2/2}.advanced-second-row>*:nth-child(2){grid-area:1/2/2/3}.advanced-second-row-col-left{grid-template-columns:repeat(2, 1fr);grid-template-rows:repeat(4, 1fr);grid-template-columns:1fr auto}.advanced-second-row-col-left>*{display:flex;align-items:self-end}.advanced-second-row-col-left>*:nth-child(1){grid-area:1/1/2/2}.advanced-second-row-col-left>*:nth-child(2){grid-area:1/2/2/3}.advanced-second-row-col-left>*:nth-child(3){grid-area:2/1/3/2}.advanced-second-row-col-left>*:nth-child(4){grid-area:2/2/3/3}.advanced-second-row-col-left>*:nth-child(5){grid-area:3/1/4/2}.advanced-second-row-col-left>*:nth-child(6){grid-area:3/2/4/3}.advanced-second-row-col-left>*:nth-child(7){grid-area:4/1/5/2}.advanced-second-row-col-left>*:nth-child(8){grid-area:4/2/5/3}.advanced-second-row-col-right{grid-template-columns:1fr;grid-template-rows:repeat(4, 1fr);grid-auto-rows:1fr}.advanced-second-row-col-right *:nth-child(1){grid-area:1/1/2/2}.advanced-second-row-col-right *:nth-child(2){grid-area:2/1/3/2}.advanced-second-row-col-right *:nth-child(3){grid-area:3/1/4/2}.advanced-second-row-col-right *:nth-child(4){grid-area:4/1/5/2}";
32
+ const newEnvironmentCss = ":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-container{display:flex;height:100%;width:100%;box-sizing:border-box}p{margin:0}:host{display:block;border:1px solid var(--gxg-border-color--regular);background-color:var(--mer-color__surface)}.header{display:flex}.header__label{flex:none}.main{height:100%}.gxg-tabs{margin-top:0;box-shadow:none}.tab__basic__single-runtime{display:flex;align-items:center;justify-content:center;gap:var(--mer-spacing--xxs)}.basic-main{display:flex;height:100%}.basic-main__back-end{flex:1}.basic-main__front-end{flex:1}.advanced-second-row{grid-template-columns:repeat(2, 1fr);grid-template-rows:1fr}.advanced-second-row>*:nth-child(1){grid-area:1/1/2/2}.advanced-second-row>*:nth-child(2){grid-area:1/2/2/3}.advanced-second-row-col-left{grid-template-columns:repeat(2, 1fr);grid-template-rows:repeat(4, 1fr);grid-template-columns:1fr auto}.advanced-second-row-col-left>*{display:flex;align-items:self-end}.advanced-second-row-col-left>*:nth-child(1){grid-area:1/1/2/2}.advanced-second-row-col-left>*:nth-child(2){grid-area:1/2/2/3}.advanced-second-row-col-left>*:nth-child(3){grid-area:2/1/3/2}.advanced-second-row-col-left>*:nth-child(4){grid-area:2/2/3/3}.advanced-second-row-col-left>*:nth-child(5){grid-area:3/1/4/2}.advanced-second-row-col-left>*:nth-child(6){grid-area:3/2/4/3}.advanced-second-row-col-left>*:nth-child(7){grid-area:4/1/5/2}.advanced-second-row-col-left>*:nth-child(8){grid-area:4/2/5/3}.advanced-second-row-col-right{grid-template-columns:1fr;grid-template-rows:repeat(4, 1fr);grid-auto-rows:1fr}.advanced-second-row-col-right *:nth-child(1){grid-area:1/1/2/2}.advanced-second-row-col-right *:nth-child(2){grid-area:2/1/3/2}.advanced-second-row-col-right *:nth-child(3){grid-area:3/1/4/2}.advanced-second-row-col-right *:nth-child(4){grid-area:4/1/5/2}";
33
33
 
34
34
  const GxIdeNewEnvironment$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeNewEnvironment extends HTMLElement {
35
35
  constructor() {
@@ -1 +1 @@
1
- {"file":"gx-ide-new-environment.js","mappings":"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","names":["GxIdeNewEnvironment"],"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--xxs);\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"],"version":3}
1
+ {"file":"gx-ide-new-environment.js","mappings":"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","names":["GxIdeNewEnvironment"],"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--xxs);\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"],"version":3}