@genexus/genexus-ide-ui 1.0.17 → 1.0.19

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 (483) hide show
  1. package/dist/cjs/{assets-manager-64c42a1e.js → assets-manager-a318866f.js} +143 -69
  2. package/dist/cjs/assets-manager-a318866f.js.map +1 -0
  3. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  4. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +1 -1
  5. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js.map +1 -1
  6. package/dist/cjs/gx-ide-ai-message.cjs.entry.js +2 -2
  7. package/dist/cjs/gx-ide-ai-message.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +1 -1
  9. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js +1 -1
  11. package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js.map +1 -1
  12. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js +1 -1
  13. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js.map +1 -1
  14. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js +1 -1
  15. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js.map +1 -1
  16. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js +1 -1
  17. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js.map +1 -1
  18. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +1 -1
  19. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js.map +1 -1
  20. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js +1 -1
  21. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js.map +1 -1
  22. package/dist/cjs/gx-ide-card.cjs.entry.js +1 -1
  23. package/dist/cjs/gx-ide-card.cjs.entry.js.map +1 -1
  24. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +1 -1
  25. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
  26. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +1 -1
  27. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  28. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +3 -3
  29. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +1 -1
  30. package/dist/cjs/gx-ide-data-selector.cjs.entry.js +4 -3
  31. package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
  32. package/dist/cjs/gx-ide-design-import.cjs.entry.js +1 -1
  33. package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -1
  34. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js +1 -1
  35. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js.map +1 -1
  36. package/dist/cjs/gx-ide-empty-state_2.cjs.entry.js +1 -1
  37. package/dist/cjs/gx-ide-empty-state_2.cjs.entry.js.map +1 -1
  38. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +3 -3
  39. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js.map +1 -1
  40. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +1 -1
  41. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js.map +1 -1
  42. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +7 -4
  43. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
  44. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +2 -2
  45. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
  46. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +4 -27
  47. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js.map +1 -1
  48. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +2 -2
  49. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js.map +1 -1
  50. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +2 -2
  51. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
  52. package/dist/cjs/gx-ide-navigation-report.cjs.entry.js +228 -0
  53. package/dist/cjs/gx-ide-navigation-report.cjs.entry.js.map +1 -0
  54. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +3 -2
  55. package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
  56. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +8 -7
  57. package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
  58. package/dist/cjs/gx-ide-new-object.cjs.entry.js +285 -169
  59. package/dist/cjs/gx-ide-new-object.cjs.entry.js.map +1 -1
  60. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +8 -7
  61. package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
  62. package/dist/cjs/gx-ide-recent-news.cjs.entry.js +3 -3
  63. package/dist/cjs/gx-ide-recent-news.cjs.entry.js.map +1 -1
  64. package/dist/cjs/gx-ide-references.cjs.entry.js +1 -1
  65. package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
  66. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
  67. package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
  68. package/dist/cjs/gx-ide-start-page.cjs.entry.js +4 -4
  69. package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
  70. package/dist/cjs/gx-ide-status-buttons.cjs.entry.js +35 -17
  71. package/dist/cjs/gx-ide-status-buttons.cjs.entry.js.map +1 -1
  72. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +2 -2
  73. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
  74. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +1 -1
  75. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js.map +1 -1
  76. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +1 -1
  77. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
  78. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +1 -1
  79. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js.map +1 -1
  80. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +2 -2
  81. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
  82. package/dist/cjs/gx-ide-template.cjs.entry.js +1 -1
  83. package/dist/cjs/gx-ide-template.cjs.entry.js.map +1 -1
  84. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +1 -1
  85. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js.map +1 -1
  86. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +396 -279
  87. package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
  88. package/dist/cjs/{helpers-b5b4a659.js → helpers-19194a5a.js} +1 -7
  89. package/dist/{genexus-ide-ui/p-c339f703.js.map → cjs/helpers-19194a5a.js.map} +1 -1
  90. package/dist/cjs/loader.cjs.js +1 -1
  91. package/dist/collection/collection-manifest.json +1 -0
  92. package/dist/collection/common/chameleon-helpers.js +7 -0
  93. package/dist/collection/common/chameleon-helpers.js.map +1 -0
  94. package/dist/collection/components/_helpers/card/card.css +8 -0
  95. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.css +8 -0
  96. package/dist/collection/components/_helpers/entity-selector/entity-selector.css +2 -2
  97. package/dist/collection/components/_helpers/entity-selector/entity-selector.js +1 -1
  98. package/dist/collection/components/_helpers/entity-selector/entity-selector.js.map +1 -1
  99. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.css +19 -332
  100. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js +2 -64
  101. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js.map +1 -1
  102. package/dist/collection/components/_helpers/list-selector/list-selector.css +19 -9
  103. package/dist/collection/components/_helpers/list-selector/list-selector.js +2 -75
  104. package/dist/collection/components/_helpers/list-selector/list-selector.js.map +1 -1
  105. package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.css +20 -61
  106. package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.js +34 -17
  107. package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.js.map +1 -1
  108. package/dist/collection/components/_starting-template/template.css +8 -0
  109. package/dist/collection/components/ai-assistant/ai-assistant.css +8 -0
  110. package/dist/collection/components/ai-assistant/ai-message.css +1 -1
  111. package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.css +16 -0
  112. package/dist/collection/components/bpm/assign-roles/bpm-assign-roles.css +8 -0
  113. package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.css +8 -0
  114. package/dist/collection/components/bpm/import-files/bpm-import-files.css +8 -0
  115. package/dist/collection/components/bpm/import-gxpm/bpm-import-gxpm.css +8 -0
  116. package/dist/collection/components/bpm/objects-selector/bpm-objects-selector.css +8 -0
  117. package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.css +8 -0
  118. package/dist/collection/components/connect-gx-server/connect-gx-server.css +8 -0
  119. package/dist/collection/components/create-kb-from-server/create-kb-from-server.css +8 -0
  120. package/dist/collection/components/dashboard-home/dashboard-home.css +8 -0
  121. package/dist/collection/components/data-selector/data-selector.css +8 -0
  122. package/dist/collection/components/data-selector/data-selector.js +2 -1
  123. package/dist/collection/components/data-selector/data-selector.js.map +1 -1
  124. package/dist/collection/components/design-import/design-import.css +8 -0
  125. package/dist/collection/components/gam-installation-settings/gam-installation-settings.css +8 -0
  126. package/dist/collection/components/kb-manager-export/kb-manager-export.js +6 -3
  127. package/dist/collection/components/kb-manager-export/kb-manager-export.js.map +1 -1
  128. package/dist/collection/components/kb-manager-import/kb-manager-import.css +16 -0
  129. package/dist/collection/components/modules/edit-module-server/edit-module-server.css +8 -0
  130. package/dist/collection/components/modules/manage-module-references/manage-module-references.css +8 -0
  131. package/dist/collection/components/modules/manage-module-references-v2/manage-module-references.css +8 -0
  132. package/dist/collection/components/navigation-report/gx-ide-assets/navigation-report/langs/navigation-report.lang.en.json +6 -0
  133. package/dist/collection/components/navigation-report/gx-ide-assets/navigation-report/langs/navigation-report.lang.ja.json +3 -0
  134. package/dist/collection/components/navigation-report/gx-ide-assets/navigation-report/langs/navigation-report.lang.zh.json +3 -0
  135. package/dist/collection/components/navigation-report/helpers.js +17 -0
  136. package/dist/collection/components/navigation-report/helpers.js.map +1 -0
  137. package/dist/collection/components/navigation-report/navigation-report.css +75 -0
  138. package/dist/collection/components/navigation-report/navigation-report.js +407 -0
  139. package/dist/collection/components/navigation-report/navigation-report.js.map +1 -0
  140. package/dist/collection/components/new-environment/new-environment.js +2 -1
  141. package/dist/collection/components/new-environment/new-environment.js.map +1 -1
  142. package/dist/collection/components/new-kb/new-kb.js +7 -6
  143. package/dist/collection/components/new-kb/new-kb.js.map +1 -1
  144. package/dist/collection/components/new-object/gx-ide-assets/new-object/langs/new-object.lang.en.json +2 -0
  145. package/dist/collection/components/new-object/gx-ide-assets/new-object/shortcuts.json +3 -3
  146. package/dist/collection/components/new-object/helpers.js +33 -0
  147. package/dist/collection/components/new-object/helpers.js.map +1 -0
  148. package/dist/collection/components/new-object/new-object.css +22 -622
  149. package/dist/collection/components/new-object/new-object.js +349 -296
  150. package/dist/collection/components/new-object/new-object.js.map +1 -1
  151. package/dist/collection/components/object-selector/object-selector.css +8 -0
  152. package/dist/collection/components/object-selector/object-selector.js +5 -4
  153. package/dist/collection/components/object-selector/object-selector.js.map +1 -1
  154. package/dist/collection/components/references/references.css +8 -0
  155. package/dist/collection/components/share-kb/share-kb.css +8 -0
  156. package/dist/collection/components/start-page/recent-news.css +9 -1
  157. package/dist/collection/components/start-page/start-page.css +9 -1
  158. package/dist/collection/components/start-page/start-page.js +1 -1
  159. package/dist/collection/components/start-page/start-page.js.map +1 -1
  160. package/dist/collection/components/team-dev/commit/commit.css +16 -0
  161. package/dist/collection/components/team-dev/select-recent-comment/select-recent-comment.css +8 -0
  162. package/dist/collection/components/team-dev/update/update.css +16 -0
  163. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.css +8 -0
  164. package/dist/collection/components/team-dev/update-to-revision/update-to-revision.css +8 -0
  165. package/dist/collection/components/wf-settings/wf-settings.css +8 -0
  166. package/dist/collection/components/ww-images/gx-ide-assets/ww-images/langs/ww-images.lang.en.json +7 -3
  167. package/dist/collection/components/ww-images/gx-ide-assets/ww-images/langs/ww-images.lang.ja.json +8 -4
  168. package/dist/collection/components/ww-images/helpers.js +11 -0
  169. package/dist/collection/components/ww-images/helpers.js.map +1 -0
  170. package/dist/collection/components/ww-images/ww-images.css +90 -712
  171. package/dist/collection/components/ww-images/ww-images.js +465 -413
  172. package/dist/collection/components/ww-images/ww-images.js.map +1 -1
  173. package/dist/components/ai-message.js +1 -1
  174. package/dist/components/ai-message.js.map +1 -1
  175. package/dist/components/assets-manager.js +142 -68
  176. package/dist/components/assets-manager.js.map +1 -1
  177. package/dist/components/bpm-objects-selector.js +1 -1
  178. package/dist/components/bpm-objects-selector.js.map +1 -1
  179. package/dist/components/entity-selector.js +2 -2
  180. package/dist/components/entity-selector.js.map +1 -1
  181. package/dist/components/gx-ide-ai-assistant.js +1 -1
  182. package/dist/components/gx-ide-ai-assistant.js.map +1 -1
  183. package/dist/components/gx-ide-bpm-app-declaration.js +1 -1
  184. package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
  185. package/dist/components/gx-ide-bpm-assign-roles.js +1 -1
  186. package/dist/components/gx-ide-bpm-assign-roles.js.map +1 -1
  187. package/dist/components/gx-ide-bpm-export-xpdl.js +1 -1
  188. package/dist/components/gx-ide-bpm-export-xpdl.js.map +1 -1
  189. package/dist/components/gx-ide-bpm-import-files.js +1 -1
  190. package/dist/components/gx-ide-bpm-import-files.js.map +1 -1
  191. package/dist/components/gx-ide-bpm-import-gxpm.js +1 -1
  192. package/dist/components/gx-ide-bpm-import-gxpm.js.map +1 -1
  193. package/dist/components/gx-ide-bpm-timer-duration.js +1 -1
  194. package/dist/components/gx-ide-bpm-timer-duration.js.map +1 -1
  195. package/dist/components/gx-ide-card.js +1 -1
  196. package/dist/components/gx-ide-card.js.map +1 -1
  197. package/dist/components/gx-ide-connect-gx-server.js +1 -1
  198. package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
  199. package/dist/components/gx-ide-create-kb-from-server.js +1 -1
  200. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  201. package/dist/components/gx-ide-dashboard-home.js +1 -1
  202. package/dist/components/gx-ide-dashboard-home.js.map +1 -1
  203. package/dist/components/gx-ide-data-selector.js +3 -2
  204. package/dist/components/gx-ide-data-selector.js.map +1 -1
  205. package/dist/components/gx-ide-design-import.js +1 -1
  206. package/dist/components/gx-ide-design-import.js.map +1 -1
  207. package/dist/components/gx-ide-edit-module-server.js +1 -1
  208. package/dist/components/gx-ide-edit-module-server.js.map +1 -1
  209. package/dist/components/gx-ide-empty-state2.js +1 -1
  210. package/dist/components/gx-ide-empty-state2.js.map +1 -1
  211. package/dist/components/gx-ide-gam-installation-settings.js +1 -1
  212. package/dist/components/gx-ide-gam-installation-settings.js.map +1 -1
  213. package/dist/components/gx-ide-kb-manager-export.js +6 -3
  214. package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
  215. package/dist/components/gx-ide-kb-manager-import.js +1 -1
  216. package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
  217. package/dist/components/gx-ide-manage-module-references-v2.js +1 -1
  218. package/dist/components/gx-ide-manage-module-references-v2.js.map +1 -1
  219. package/dist/components/gx-ide-manage-module-references.js +1 -1
  220. package/dist/components/gx-ide-manage-module-references.js.map +1 -1
  221. package/dist/components/gx-ide-navigation-report.d.ts +11 -0
  222. package/dist/components/gx-ide-navigation-report.js +279 -0
  223. package/dist/components/gx-ide-navigation-report.js.map +1 -0
  224. package/dist/components/gx-ide-new-environment.js +2 -1
  225. package/dist/components/gx-ide-new-environment.js.map +1 -1
  226. package/dist/components/gx-ide-new-kb.js +7 -6
  227. package/dist/components/gx-ide-new-kb.js.map +1 -1
  228. package/dist/components/gx-ide-new-object.js +299 -192
  229. package/dist/components/gx-ide-new-object.js.map +1 -1
  230. package/dist/components/gx-ide-object-selector.js +6 -5
  231. package/dist/components/gx-ide-object-selector.js.map +1 -1
  232. package/dist/components/gx-ide-references.js +1 -1
  233. package/dist/components/gx-ide-references.js.map +1 -1
  234. package/dist/components/gx-ide-share-kb.js +1 -1
  235. package/dist/components/gx-ide-share-kb.js.map +1 -1
  236. package/dist/components/gx-ide-start-page.js +2 -2
  237. package/dist/components/gx-ide-start-page.js.map +1 -1
  238. package/dist/components/gx-ide-status-buttons2.js +35 -17
  239. package/dist/components/gx-ide-status-buttons2.js.map +1 -1
  240. package/dist/components/gx-ide-team-dev-commit.js +1 -1
  241. package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
  242. package/dist/components/gx-ide-team-dev-select-recent-comment.js +1 -1
  243. package/dist/components/gx-ide-team-dev-select-recent-comment.js.map +1 -1
  244. package/dist/components/gx-ide-team-dev-update-partial-selection.js +1 -1
  245. package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
  246. package/dist/components/gx-ide-team-dev-update-to-revision.js +1 -1
  247. package/dist/components/gx-ide-team-dev-update-to-revision.js.map +1 -1
  248. package/dist/components/gx-ide-team-dev-update.js +1 -1
  249. package/dist/components/gx-ide-team-dev-update.js.map +1 -1
  250. package/dist/components/gx-ide-template.js +1 -1
  251. package/dist/components/gx-ide-template.js.map +1 -1
  252. package/dist/components/gx-ide-wf-settings.js +1 -1
  253. package/dist/components/gx-ide-wf-settings.js.map +1 -1
  254. package/dist/components/gx-ide-ww-images.js +419 -306
  255. package/dist/components/gx-ide-ww-images.js.map +1 -1
  256. package/dist/components/helpers.js +1 -6
  257. package/dist/components/helpers.js.map +1 -1
  258. package/dist/components/list-selector-item.js +2 -19
  259. package/dist/components/list-selector-item.js.map +1 -1
  260. package/dist/components/list-selector.js +2 -13
  261. package/dist/components/list-selector.js.map +1 -1
  262. package/dist/components/recent-news.js +1 -1
  263. package/dist/components/recent-news.js.map +1 -1
  264. package/dist/esm/{assets-manager-120996e9.js → assets-manager-5ac25bb6.js} +143 -69
  265. package/dist/esm/assets-manager-5ac25bb6.js.map +1 -0
  266. package/dist/esm/genexus-ide-ui.js +1 -1
  267. package/dist/esm/gx-ide-ai-assistant.entry.js +1 -1
  268. package/dist/esm/gx-ide-ai-assistant.entry.js.map +1 -1
  269. package/dist/esm/gx-ide-ai-message.entry.js +2 -2
  270. package/dist/esm/gx-ide-ai-message.entry.js.map +1 -1
  271. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +1 -1
  272. package/dist/esm/gx-ide-bpm-app-declaration.entry.js.map +1 -1
  273. package/dist/esm/gx-ide-bpm-assign-roles.entry.js +1 -1
  274. package/dist/esm/gx-ide-bpm-assign-roles.entry.js.map +1 -1
  275. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +1 -1
  276. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js.map +1 -1
  277. package/dist/esm/gx-ide-bpm-import-files.entry.js +1 -1
  278. package/dist/esm/gx-ide-bpm-import-files.entry.js.map +1 -1
  279. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +1 -1
  280. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js.map +1 -1
  281. package/dist/esm/gx-ide-bpm-objects-selector.entry.js +1 -1
  282. package/dist/esm/gx-ide-bpm-objects-selector.entry.js.map +1 -1
  283. package/dist/esm/gx-ide-bpm-timer-duration.entry.js +1 -1
  284. package/dist/esm/gx-ide-bpm-timer-duration.entry.js.map +1 -1
  285. package/dist/esm/gx-ide-card.entry.js +1 -1
  286. package/dist/esm/gx-ide-card.entry.js.map +1 -1
  287. package/dist/esm/gx-ide-connect-gx-server.entry.js +1 -1
  288. package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
  289. package/dist/esm/gx-ide-create-kb-from-server.entry.js +1 -1
  290. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  291. package/dist/esm/gx-ide-dashboard-home.entry.js +3 -3
  292. package/dist/esm/gx-ide-dashboard-home.entry.js.map +1 -1
  293. package/dist/esm/gx-ide-data-selector.entry.js +4 -3
  294. package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
  295. package/dist/esm/gx-ide-design-import.entry.js +1 -1
  296. package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
  297. package/dist/esm/gx-ide-edit-module-server.entry.js +1 -1
  298. package/dist/esm/gx-ide-edit-module-server.entry.js.map +1 -1
  299. package/dist/esm/gx-ide-empty-state_2.entry.js +1 -1
  300. package/dist/esm/gx-ide-empty-state_2.entry.js.map +1 -1
  301. package/dist/esm/gx-ide-entity-selector.entry.js +3 -3
  302. package/dist/esm/gx-ide-entity-selector.entry.js.map +1 -1
  303. package/dist/esm/gx-ide-gam-installation-settings.entry.js +1 -1
  304. package/dist/esm/gx-ide-gam-installation-settings.entry.js.map +1 -1
  305. package/dist/esm/gx-ide-kb-manager-export.entry.js +7 -4
  306. package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
  307. package/dist/esm/gx-ide-kb-manager-import.entry.js +2 -2
  308. package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
  309. package/dist/esm/gx-ide-list-selector_2.entry.js +4 -27
  310. package/dist/esm/gx-ide-list-selector_2.entry.js.map +1 -1
  311. package/dist/esm/gx-ide-manage-module-references-v2.entry.js +2 -2
  312. package/dist/esm/gx-ide-manage-module-references-v2.entry.js.map +1 -1
  313. package/dist/esm/gx-ide-manage-module-references.entry.js +2 -2
  314. package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -1
  315. package/dist/esm/gx-ide-navigation-report.entry.js +224 -0
  316. package/dist/esm/gx-ide-navigation-report.entry.js.map +1 -0
  317. package/dist/esm/gx-ide-new-environment.entry.js +3 -2
  318. package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
  319. package/dist/esm/gx-ide-new-kb.entry.js +8 -7
  320. package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
  321. package/dist/esm/gx-ide-new-object.entry.js +285 -169
  322. package/dist/esm/gx-ide-new-object.entry.js.map +1 -1
  323. package/dist/esm/gx-ide-object-selector.entry.js +8 -7
  324. package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
  325. package/dist/esm/gx-ide-recent-news.entry.js +3 -3
  326. package/dist/esm/gx-ide-recent-news.entry.js.map +1 -1
  327. package/dist/esm/gx-ide-references.entry.js +1 -1
  328. package/dist/esm/gx-ide-references.entry.js.map +1 -1
  329. package/dist/esm/gx-ide-share-kb.entry.js +1 -1
  330. package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
  331. package/dist/esm/gx-ide-start-page.entry.js +4 -4
  332. package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
  333. package/dist/esm/gx-ide-status-buttons.entry.js +35 -17
  334. package/dist/esm/gx-ide-status-buttons.entry.js.map +1 -1
  335. package/dist/esm/gx-ide-team-dev-commit.entry.js +2 -2
  336. package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
  337. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +1 -1
  338. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js.map +1 -1
  339. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +1 -1
  340. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
  341. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +1 -1
  342. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js.map +1 -1
  343. package/dist/esm/gx-ide-team-dev-update.entry.js +2 -2
  344. package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
  345. package/dist/esm/gx-ide-template.entry.js +1 -1
  346. package/dist/esm/gx-ide-template.entry.js.map +1 -1
  347. package/dist/esm/gx-ide-wf-settings.entry.js +1 -1
  348. package/dist/esm/gx-ide-wf-settings.entry.js.map +1 -1
  349. package/dist/esm/gx-ide-ww-images.entry.js +396 -279
  350. package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
  351. package/dist/esm/{helpers-64e1dd0b.js → helpers-9ee6ddce.js} +2 -7
  352. package/dist/esm/helpers-9ee6ddce.js.map +1 -0
  353. package/dist/esm/loader.js +1 -1
  354. package/dist/genexus-ide-ui/genexus-ide-ui.css +1 -1
  355. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  356. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  357. package/dist/genexus-ide-ui/gx-ide-assets/navigation-report/langs/navigation-report.lang.en.json +6 -0
  358. package/dist/genexus-ide-ui/gx-ide-assets/navigation-report/langs/navigation-report.lang.ja.json +3 -0
  359. package/dist/genexus-ide-ui/gx-ide-assets/navigation-report/langs/navigation-report.lang.zh.json +3 -0
  360. package/dist/genexus-ide-ui/gx-ide-assets/new-object/langs/new-object.lang.en.json +2 -0
  361. package/dist/genexus-ide-ui/gx-ide-assets/new-object/shortcuts.json +3 -3
  362. package/dist/genexus-ide-ui/gx-ide-assets/ww-images/langs/ww-images.lang.en.json +7 -3
  363. package/dist/genexus-ide-ui/gx-ide-assets/ww-images/langs/ww-images.lang.ja.json +8 -4
  364. package/dist/genexus-ide-ui/{p-faa6fc25.entry.js → p-01581437.entry.js} +2 -2
  365. package/dist/genexus-ide-ui/{p-eb52d685.entry.js → p-037ea55d.entry.js} +2 -2
  366. package/dist/genexus-ide-ui/{p-35c9edc0.entry.js → p-0576a392.entry.js} +6 -6
  367. package/dist/genexus-ide-ui/{p-35c9edc0.entry.js.map → p-0576a392.entry.js.map} +1 -1
  368. package/dist/genexus-ide-ui/{p-c339f703.js → p-066028bc.js} +8 -14
  369. package/dist/genexus-ide-ui/p-066028bc.js.map +1 -0
  370. package/dist/genexus-ide-ui/{p-6df9fab1.js → p-0b0ce806.js} +143 -69
  371. package/dist/genexus-ide-ui/p-0b0ce806.js.map +1 -0
  372. package/dist/genexus-ide-ui/{p-1ad7189f.entry.js → p-0d5fc7ca.entry.js} +2 -2
  373. package/dist/genexus-ide-ui/{p-8b9cf93c.entry.js → p-1ced155b.entry.js} +4 -4
  374. package/dist/genexus-ide-ui/p-1ced155b.entry.js.map +1 -0
  375. package/dist/genexus-ide-ui/{p-e4cbd23c.entry.js → p-1f37f5b5.entry.js} +3 -3
  376. package/dist/genexus-ide-ui/{p-85f7f92d.entry.js → p-20389960.entry.js} +4 -4
  377. package/dist/genexus-ide-ui/p-2465307a.entry.js +418 -0
  378. package/dist/genexus-ide-ui/p-2465307a.entry.js.map +1 -0
  379. package/dist/genexus-ide-ui/{p-ad92d701.entry.js → p-26b2037d.entry.js} +2 -2
  380. package/dist/genexus-ide-ui/{p-4546fa05.entry.js → p-278afab1.entry.js} +4 -4
  381. package/dist/genexus-ide-ui/p-2dd09b01.entry.js +265 -0
  382. package/dist/genexus-ide-ui/p-2dd09b01.entry.js.map +1 -0
  383. package/dist/genexus-ide-ui/{p-36cfb4c0.entry.js → p-352d4aad.entry.js} +36 -36
  384. package/dist/genexus-ide-ui/p-352d4aad.entry.js.map +1 -0
  385. package/dist/genexus-ide-ui/{p-58e33dda.entry.js → p-3f5ea8bf.entry.js} +34 -34
  386. package/dist/genexus-ide-ui/p-3f5ea8bf.entry.js.map +1 -0
  387. package/dist/genexus-ide-ui/{p-edffe8d7.entry.js → p-3f9f8691.entry.js} +2 -2
  388. package/dist/genexus-ide-ui/{p-a5d5fb4d.entry.js → p-44d779c9.entry.js} +8 -8
  389. package/dist/genexus-ide-ui/p-44d779c9.entry.js.map +1 -0
  390. package/dist/genexus-ide-ui/{p-5bff0103.entry.js → p-4ce0a85e.entry.js} +3 -3
  391. package/dist/genexus-ide-ui/p-4ce0a85e.entry.js.map +1 -0
  392. package/dist/genexus-ide-ui/{p-d703bff2.entry.js → p-60cd6b09.entry.js} +3 -3
  393. package/dist/genexus-ide-ui/p-62efd8f2.entry.js +712 -0
  394. package/dist/genexus-ide-ui/p-62efd8f2.entry.js.map +1 -0
  395. package/dist/genexus-ide-ui/{p-c484250c.entry.js → p-68605d06.entry.js} +20 -20
  396. package/dist/genexus-ide-ui/{p-dbfddffd.entry.js → p-69b88e9f.entry.js} +35 -23
  397. package/dist/genexus-ide-ui/p-69b88e9f.entry.js.map +1 -0
  398. package/dist/genexus-ide-ui/{p-e0da6770.entry.js → p-7bbefdcc.entry.js} +2 -2
  399. package/dist/genexus-ide-ui/{p-1d56cc71.entry.js → p-82032e9c.entry.js} +2 -2
  400. package/dist/genexus-ide-ui/{p-b967c6e3.entry.js → p-9346bb01.entry.js} +2 -2
  401. package/dist/genexus-ide-ui/{p-a7be549c.entry.js → p-95c31c66.entry.js} +2 -2
  402. package/dist/genexus-ide-ui/{p-241f3d69.entry.js → p-98b5b178.entry.js} +2 -2
  403. package/dist/genexus-ide-ui/{p-e54bdad1.entry.js → p-9efea53c.entry.js} +12 -12
  404. package/dist/genexus-ide-ui/p-9efea53c.entry.js.map +1 -0
  405. package/dist/genexus-ide-ui/{p-424ed874.entry.js → p-acf0cbac.entry.js} +3 -3
  406. package/dist/genexus-ide-ui/{p-bb1d0ab8.entry.js → p-b113c5b4.entry.js} +5 -5
  407. package/dist/genexus-ide-ui/{p-7f08a5f8.entry.js → p-b1f6fdd6.entry.js} +2 -2
  408. package/dist/genexus-ide-ui/{p-a29d27ed.entry.js → p-b3a336b8.entry.js} +2 -2
  409. package/dist/genexus-ide-ui/p-b785673d.entry.js +683 -0
  410. package/dist/genexus-ide-ui/{p-9a9fdfc0.entry.js → p-bfbce8fb.entry.js} +2 -2
  411. package/dist/genexus-ide-ui/{p-70588f0b.entry.js → p-c2c6f3f0.entry.js} +2 -2
  412. package/dist/genexus-ide-ui/{p-23c9b4e6.entry.js → p-c36effd2.entry.js} +13 -13
  413. package/dist/genexus-ide-ui/p-c36effd2.entry.js.map +1 -0
  414. package/dist/genexus-ide-ui/{p-99d52e11.entry.js → p-c4d1d0ce.entry.js} +3 -3
  415. package/dist/genexus-ide-ui/{p-4bf55012.entry.js → p-d5d0ed5e.entry.js} +2 -2
  416. package/dist/genexus-ide-ui/p-de59d495.entry.js +273 -0
  417. package/dist/genexus-ide-ui/p-de59d495.entry.js.map +1 -0
  418. package/dist/genexus-ide-ui/{p-c10d7879.entry.js → p-dffecb40.entry.js} +2 -2
  419. package/dist/genexus-ide-ui/{p-dbf8b06e.entry.js → p-e7bb68ec.entry.js} +2 -2
  420. package/dist/genexus-ide-ui/{p-d1a76638.entry.js → p-ec6ea5d2.entry.js} +2 -2
  421. package/dist/genexus-ide-ui/{p-15711eed.entry.js → p-f471d180.entry.js} +2 -2
  422. package/dist/genexus-ide-ui/{p-89a7d88f.entry.js → p-fc64d088.entry.js} +2 -2
  423. package/dist/types/common/chameleon-helpers.d.ts +5 -0
  424. package/dist/types/components/_helpers/list-selector/list-selector-item/list-selector-item.d.ts +0 -11
  425. package/dist/types/components/_helpers/list-selector/list-selector.d.ts +0 -13
  426. package/dist/types/components/_helpers/status-buttons/gx-ide-status-buttons.d.ts +1 -4
  427. package/dist/types/components/navigation-report/helpers.d.ts +5 -0
  428. package/dist/types/components/navigation-report/navigation-report.d.ts +88 -0
  429. package/dist/types/components/new-object/helpers.d.ts +6 -0
  430. package/dist/types/components/new-object/new-object.d.ts +42 -75
  431. package/dist/types/components/ww-images/helpers.d.ts +3 -0
  432. package/dist/types/components/ww-images/ww-images.d.ts +98 -118
  433. package/dist/types/components.d.ts +152 -150
  434. package/package.json +5 -5
  435. package/dist/cjs/assets-manager-64c42a1e.js.map +0 -1
  436. package/dist/cjs/helpers-b5b4a659.js.map +0 -1
  437. package/dist/esm/assets-manager-120996e9.js.map +0 -1
  438. package/dist/esm/helpers-64e1dd0b.js.map +0 -1
  439. package/dist/genexus-ide-ui/p-23c9b4e6.entry.js.map +0 -1
  440. package/dist/genexus-ide-ui/p-36cfb4c0.entry.js.map +0 -1
  441. package/dist/genexus-ide-ui/p-58e33dda.entry.js.map +0 -1
  442. package/dist/genexus-ide-ui/p-5bff0103.entry.js.map +0 -1
  443. package/dist/genexus-ide-ui/p-6df9fab1.js.map +0 -1
  444. package/dist/genexus-ide-ui/p-88fff4f3.entry.js +0 -344
  445. package/dist/genexus-ide-ui/p-88fff4f3.entry.js.map +0 -1
  446. package/dist/genexus-ide-ui/p-8b9cf93c.entry.js.map +0 -1
  447. package/dist/genexus-ide-ui/p-8da18e59.entry.js +0 -287
  448. package/dist/genexus-ide-ui/p-8da18e59.entry.js.map +0 -1
  449. package/dist/genexus-ide-ui/p-a5d5fb4d.entry.js.map +0 -1
  450. package/dist/genexus-ide-ui/p-be640a8a.entry.js +0 -611
  451. package/dist/genexus-ide-ui/p-be640a8a.entry.js.map +0 -1
  452. package/dist/genexus-ide-ui/p-c2fdb419.entry.js +0 -683
  453. package/dist/genexus-ide-ui/p-dbfddffd.entry.js.map +0 -1
  454. package/dist/genexus-ide-ui/p-e54bdad1.entry.js.map +0 -1
  455. /package/dist/genexus-ide-ui/{p-faa6fc25.entry.js.map → p-01581437.entry.js.map} +0 -0
  456. /package/dist/genexus-ide-ui/{p-eb52d685.entry.js.map → p-037ea55d.entry.js.map} +0 -0
  457. /package/dist/genexus-ide-ui/{p-1ad7189f.entry.js.map → p-0d5fc7ca.entry.js.map} +0 -0
  458. /package/dist/genexus-ide-ui/{p-e4cbd23c.entry.js.map → p-1f37f5b5.entry.js.map} +0 -0
  459. /package/dist/genexus-ide-ui/{p-85f7f92d.entry.js.map → p-20389960.entry.js.map} +0 -0
  460. /package/dist/genexus-ide-ui/{p-ad92d701.entry.js.map → p-26b2037d.entry.js.map} +0 -0
  461. /package/dist/genexus-ide-ui/{p-4546fa05.entry.js.map → p-278afab1.entry.js.map} +0 -0
  462. /package/dist/genexus-ide-ui/{p-edffe8d7.entry.js.map → p-3f9f8691.entry.js.map} +0 -0
  463. /package/dist/genexus-ide-ui/{p-d703bff2.entry.js.map → p-60cd6b09.entry.js.map} +0 -0
  464. /package/dist/genexus-ide-ui/{p-c484250c.entry.js.map → p-68605d06.entry.js.map} +0 -0
  465. /package/dist/genexus-ide-ui/{p-e0da6770.entry.js.map → p-7bbefdcc.entry.js.map} +0 -0
  466. /package/dist/genexus-ide-ui/{p-1d56cc71.entry.js.map → p-82032e9c.entry.js.map} +0 -0
  467. /package/dist/genexus-ide-ui/{p-b967c6e3.entry.js.map → p-9346bb01.entry.js.map} +0 -0
  468. /package/dist/genexus-ide-ui/{p-a7be549c.entry.js.map → p-95c31c66.entry.js.map} +0 -0
  469. /package/dist/genexus-ide-ui/{p-241f3d69.entry.js.map → p-98b5b178.entry.js.map} +0 -0
  470. /package/dist/genexus-ide-ui/{p-424ed874.entry.js.map → p-acf0cbac.entry.js.map} +0 -0
  471. /package/dist/genexus-ide-ui/{p-bb1d0ab8.entry.js.map → p-b113c5b4.entry.js.map} +0 -0
  472. /package/dist/genexus-ide-ui/{p-7f08a5f8.entry.js.map → p-b1f6fdd6.entry.js.map} +0 -0
  473. /package/dist/genexus-ide-ui/{p-a29d27ed.entry.js.map → p-b3a336b8.entry.js.map} +0 -0
  474. /package/dist/genexus-ide-ui/{p-c2fdb419.entry.js.map → p-b785673d.entry.js.map} +0 -0
  475. /package/dist/genexus-ide-ui/{p-9a9fdfc0.entry.js.map → p-bfbce8fb.entry.js.map} +0 -0
  476. /package/dist/genexus-ide-ui/{p-70588f0b.entry.js.map → p-c2c6f3f0.entry.js.map} +0 -0
  477. /package/dist/genexus-ide-ui/{p-99d52e11.entry.js.map → p-c4d1d0ce.entry.js.map} +0 -0
  478. /package/dist/genexus-ide-ui/{p-4bf55012.entry.js.map → p-d5d0ed5e.entry.js.map} +0 -0
  479. /package/dist/genexus-ide-ui/{p-c10d7879.entry.js.map → p-dffecb40.entry.js.map} +0 -0
  480. /package/dist/genexus-ide-ui/{p-dbf8b06e.entry.js.map → p-e7bb68ec.entry.js.map} +0 -0
  481. /package/dist/genexus-ide-ui/{p-d1a76638.entry.js.map → p-ec6ea5d2.entry.js.map} +0 -0
  482. /package/dist/genexus-ide-ui/{p-15711eed.entry.js.map → p-f471d180.entry.js.map} +0 -0
  483. /package/dist/genexus-ide-ui/{p-89a7d88f.entry.js.map → p-fc64d088.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"gx-ide-manage-module-references.entry.cjs.js","mappings":"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","names":["getIconPath","h","Locale","Host","renderModuleDataProperties"],"sources":["src/components/modules/manage-module-references/manage-module-references.scss?tag=gx-ide-manage-module-references&encapsulation=shadow","src/components/modules/manage-module-references/manage-module-references.tsx"],"sourcesContent":["@import \"../../../global/gx-ide-common.scss\";\n@import \"../../../global/gx-ide-mixins.scss\";\n\n/*--- General ---*/\np,\nul {\n font-size: var(--font-size-lg);\n margin: 0;\n}\np {\n line-height: 1.6em;\n}\n/*--- Header ---*/\n.header {\n align-items: center;\n grid-template-columns: 1fr auto;\n grid-template-rows: 1fr;\n}\n.main {\n display: grid;\n //grid-template-columns: 1fr 2fr 1fr;\n grid-template-columns: 1fr 1fr;\n grid-template-rows: 1fr;\n height: 100%;\n overflow: auto;\n}\nch-grid-columnset {\n display: none;\n}\nch-grid-row[selected] {\n gxg-icon[data-action=\"install\"] {\n //WA to improve visibility\n filter: brightness(2);\n }\n}\n.grid-cell-module {\n &__info {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--mer-spacing--3xs);\n }\n &__name {\n font-weight: var(--mer-font__weight--bold);\n }\n &__name,\n &__description {\n line-height: 1.55em;\n }\n}\n\n/*--- Servers Container ---*/\n.grid-container {\n height: 100%;\n overflow: auto;\n gx-ide-empty-state {\n height: 100%;\n }\n}\n.servers-container {\n display: none;\n height: 100%;\n &__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--gxg-list-box-main__padding) var(--gxg-list-box-main__padding)\n 0 var(--gxg-list-box-main__padding);\n\n gxg-button {\n width: 100%;\n }\n }\n}\n\n/*--- Modules (Header) ---*/\n.modules {\n &__header {\n padding: var(--gxg-list-box-main__padding);\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n }\n &__combo-container {\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n }\n &__server-commands {\n display: flex;\n gap: var(--mer-spacing--xs);\n }\n &__combo {\n gxg-combo-box {\n flex: 1;\n }\n display: flex;\n flex-direction: row;\n gap: var(--mer-spacing--xs);\n }\n &__container {\n border-inline-end: var(--mer-border__width--sm) solid\n var(--gx-ide-container-border-color);\n display: grid;\n grid-template-rows: auto 1fr;\n height: 100%;\n overflow: auto;\n }\n &__main {\n display: grid;\n grid-template-rows: auto 1fr;\n height: 100%;\n overflow: auto;\n\n &-header {\n display: flex;\n padding: var(--mer-spacing--xs);\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n }\n }\n}\n\n/*--- Module Info ---*/\n.module-info {\n display: grid;\n grid-template-rows: auto 1fr;\n height: 100%;\n overflow: auto;\n\n &__title {\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--xs);\n }\n\n &__name {\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--sm);\n --ds-icon-size-box--regular: 24px;\n --ds-icon-size--regular: 24px;\n font-weight: var(--mer-font__weight--bold);\n }\n\n &__header {\n padding: var(--gx-ide-container__padding);\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n border-block-end: var(--mer-border__width--sm) solid\n var(--gx-ide-container-border-color);\n }\n\n &__action-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: var(--mer-spacing--xs);\n &:before {\n content: \"\";\n width: var(--mer-spacing--xs);\n height: var(--mer-spacing--xs);\n border-radius: 50%;\n display: block;\n background-color: var(--mer-icon__primary--disabled);\n }\n &--installed:before {\n background-color: var(--mer-icon__primary);\n }\n &--uninstallable:before {\n background-color: var(--mer-icon__warning);\n }\n }\n\n &__warning-message {\n margin-block-start: var(--mer-spacing--2xs);\n background-color: var(--mer-color__tinted-yellow--5);\n color: var(--mer-text__on-elevation);\n border: var(--mer-border__width--sm) solid var(--mer-border-color__warning);\n border-radius: var(--mer-border__radius--sm);\n padding: var(--mer-spacing--xs) var(--mer-spacing--md);\n }\n\n &__divider {\n width: calc(100% - var(--gx-ide-container__padding) * 4);\n padding: 0 var(--gx-ide-container__padding);\n margin: 0 auto;\n border: 0;\n border-block-end: var(--mer-border__width--sm) solid\n var(--gx-ide-container-border-color);\n }\n &__properties {\n display: flex;\n flex-direction: column;\n padding: var(--gx-ide-container__padding);\n gap: var(--mer-spacing--xs);\n overflow: auto;\n }\n}\n\n.md-property {\n display: grid;\n gap: var(--mer-spacing--xs);\n\n &--inline {\n grid-template-columns: auto 1fr;\n }\n &--block {\n }\n &__key {\n font-weight: var(--font-weight-bold);\n max-width: 150px;\n }\n &__value {\n font-size: var(--mer-font__size--2xs);\n }\n &__key,\n &__value {\n > * {\n display: inline-block;\n }\n }\n &__list {\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n > ul {\n margin: 0;\n padding: 0;\n list-style-type: none;\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--2xs);\n margin-inline-start: var(--mer-spacing--xs);\n\n li {\n position: relative;\n padding-inline-start: 12px;\n line-height: var(--ds-base-font-line-height--comfortable);\n &::before {\n content: \"\";\n position: absolute;\n left: 0;\n top: 7px;\n display: inline-block;\n width: var(--mer-spacing--2xs);\n height: var(--mer-spacing--2xs);\n background-color: var(--mer-text__on-surface);\n }\n }\n }\n }\n}\n\n.md-property,\n.md-property__list {\n border-block-end: var(--mer-border__width--sm) solid\n var(--gx-ide-container-border-color);\n padding-block-end: var(--mer-spacing--xs);\n\n &:last-child {\n border-block-end: 0;\n padding-block-end: 0;\n }\n}\n\ngxg-ide-loader {\n border-radius: var(--mer-border__radius--md);\n}\n\n.button-wrapper {\n display: grid;\n align-items: center;\n justify-content: center;\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Event,\n Element,\n EventEmitter,\n Method,\n State,\n Watch\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { Color } from \"@genexus/gemini\";\nimport { topStateBarType } from \"@genexus/gemini\";\nimport { TabularGridSelectionChangedEvent } from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport {\n ModuleServerData,\n ModuleData,\n ModuleActionType,\n ModuleFilterType,\n ModulePropertyData,\n ModuleVersionData\n} from \"../types\";\nimport { renderModuleDataProperties } from \"../../../common/common\";\nimport { Locale } from \"../../../common/locale\";\nimport { ContextMenuInfo } from \"../../../common/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n // \"utils/form\",\n // \"utils/layout\",\n // \"utils/typography\",\n // \"components/button\",\n // \"components/checkbox\",\n // \"components/edit\",\n \"components/tabular-grid\"\n];\n\n@Component({\n tag: \"gx-ide-manage-module-references\",\n styleUrl: \"manage-module-references.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/manage-module-references\"]\n})\nexport class GxManageModuleReferences {\n // 1.OWN PROPERTIES | WATCH'S //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n /* selectedServerIdOnModulesAllUpdate is updated every time modulesAll is modified, in order to determine if the server is the same or not.*/\n private selectedServerIdOnModulesAllUpdate: string;\n\n #filterIcon = getIconPath({\n category: \"system\",\n name: \"filters\",\n colorType: \"on-elevation\"\n });\n #moduleIcon = getIconPath({\n category: \"objects\",\n name: \"module\"\n });\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeManageModuleReferencesElement;\n private loaderEl!: HTMLGxgIdeLoaderElement;\n private serversDetail!: HTMLDivElement;\n\n // 3.STATE() VARIABLES //\n\n @State() modulesAll: ModuleData[] = [];\n @Watch(\"modulesAll\")\n modulesAllWatcher(modulesAll: ModuleData[]) {\n this.updateModulesSelectedVersion(modulesAll);\n }\n @State() filteredModules: ModuleData[] = [];\n @State() selectedModule: ModuleData;\n @State() selectedServerId: string;\n @State() selectedModuleAction: ActionInfo = {\n message: \"\",\n progress: 0,\n state: \"in-progress\"\n };\n @State() modulesSelectedVersion: Map<string, string> = new Map();\n @State() actionCompleted = true;\n @State() closeProgressBar = true;\n @State() progressValue: number = 0;\n @State() progressState: topStateBarType = \"in-progress\";\n @State() loadingServer = false;\n @State() reRenderCounter: number = 0;\n @Watch(\"loadingServer\")\n loadingServerHandler(loading: boolean) {\n if (loading) {\n this.loaderEl.show = true;\n } else {\n this.loaderEl.show = false;\n }\n }\n\n // 4.PUBLIC PROPERTY API //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * List of module servers currently cataloged\n */\n @Prop() readonly servers: ModuleServerData[] = [];\n\n /**\n * Callback invoked when a server is selected. Returns the set of modules available on that server.\n */\n @Prop() readonly serverSelectedCallback: ServerSelectedCallback;\n\n /**\n * Callback invoked when the user wants to execute the action corresponding to a selected module. When the action begins to be executed, the component must be able to show the progress of the action. For this, the onProgress parameter is available, which is in turn a callback used by the host to notify the progress by text message and percentage.\n */\n @Prop() readonly executeActionCallback: ExecuteActionCallback;\n\n /**\n * Callback invoked when Add button is clicked\n */\n @Prop() readonly addServerCallback: AddServerCallback;\n\n /**\n * Callback invoked when an element is right clicked on servers list\n */\n @Prop() readonly serverContextMenuCallback: ServerContextMenuCallback;\n\n /**\n * Allows you to hide the button (...) that executes serverContextMenuCallback, if we do not implement the commands in a first version\n */\n @Prop() readonly showServerCommands: boolean = false;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n async componentDidLoad() {\n await this.serverSelectedCallbackHandler(this.servers[0].id, false);\n }\n\n // 7.LISTENERS //\n\n @Watch(\"modulesAll\")\n onPropValueChange(newModulesData: ModuleData[]) {\n this.filteredModules = [...newModulesData];\n }\n\n // 8.PUBLIC METHODS API //\n\n /**\n * validate\n */\n @Method()\n async validate(): Promise<boolean> {\n return true;\n }\n\n // 9.LOCAL METHODS //\n\n private updateModulesSelectedVersion = (modulesAll: ModuleData[]) => {\n if (this.selectedServerId !== this.selectedServerIdOnModulesAllUpdate) {\n // the server has changed. clear the updateModulesSelectedVersion\n this.modulesSelectedVersion.clear();\n modulesAll.forEach(module => {\n // this.modulesSelectedVersion.set(module.id, module.versions[0].id);\n this.modulesSelectedVersion.set(\n module.id,\n module.versions[module.versions.length - 1].id\n );\n });\n } else {\n // the server has't changed. only add the module to the map, if it is a new module.\n modulesAll.forEach(module => {\n const newModule =\n this.modulesSelectedVersion.get(module.id) === undefined;\n if (newModule) {\n this.modulesSelectedVersion.set(module.id, module.versions[0].id);\n }\n });\n }\n this.selectedServerIdOnModulesAllUpdate = this.selectedServerId;\n };\n\n private getActionFromCurrentModuleVersion = (): ModuleActionType => {\n const action = this.getModuleData(\n this.selectedModule,\n \"action\"\n ) as ModuleActionType;\n return action || \"install\";\n };\n\n /**\n * Callback invoked to get the progress when module is performing an action\n */\n private onProgress = (\n message: string,\n progress: number,\n state: topStateBarType\n ): void => {\n const data = { message, progress, state };\n this.selectedModuleAction = { ...data };\n this.progressValue = this.selectedModuleAction.progress;\n this.progressState = this.selectedModuleAction.state;\n };\n\n // 10.LOCAL METHODS //\n\n /**\n * Used for changing the selected module\n */\n private handleModuleChange = (\n event: CustomEvent<TabularGridSelectionChangedEvent>\n ) => {\n const selectedModuleId = event.detail.rowsId[0];\n const foundModule = this.modulesAll.find(\n item => item.id === selectedModuleId\n );\n if (foundModule) {\n this.selectedModule = foundModule;\n }\n };\n\n /**\n * Change the server selected value in response to callbackServerSelected callback\n */\n private serverSelectedCallbackHandler = async (id: any, reload: boolean) => {\n if (this.serverSelectedCallback) {\n this.loadingServer = true;\n const resolvedObjects = await this.serverSelectedCallback(id, reload);\n this.selectedServerId = id;\n this.modulesAll = [...resolvedObjects];\n this.filterModulesByType(\"browse\");\n this.selectedModule = this.filteredModules[0];\n this.loadingServer = false;\n }\n };\n\n private handleFilterChange = (value: string) => {\n value = value.trim().toLowerCase();\n if (value) {\n this.filteredModules = this.modulesAll.filter(module => {\n const selectedVersionName = this.getModuleData(\n module,\n \"name\"\n ) as string;\n return selectedVersionName?.toLowerCase().includes(value);\n });\n } else {\n this.filteredModules = this.modulesAll;\n }\n };\n\n private handleFilterChangeHandler = (e: CustomEvent<string>) => {\n const value = e.detail;\n return this.handleFilterChange(value);\n };\n\n /**\n * Perform an action relative to a module using callbackExecuteAction callback and receive the state of that action with onProgress callback\n */\n private executeActionCallbackHandler = async (module: ModuleData) => {\n if (this.executeActionCallback) {\n const moduleSelectedVersionId = this.modulesSelectedVersion.get(\n module.id\n );\n const actionCompleted = await this.executeActionCallback(\n this.selectedServerId,\n module.id,\n moduleSelectedVersionId,\n this.getActionFromCurrentModuleVersion(),\n this.onProgress\n );\n if (actionCompleted) {\n this.serverSelectedCallbackHandler(this.selectedServerId, false);\n }\n this.actionCompleted = actionCompleted;\n }\n };\n\n private filterModulesByType = (type: ModuleFilterType) => {\n // browse\n if (type === \"browse\") {\n this.filteredModules = this.modulesAll;\n }\n // installed\n else if (type === \"installed\") {\n this.filteredModules = this.modulesAll.filter((module: ModuleData) => {\n // if the module has a currentVersion (not undefined) it means it is installed\n return module.currentVersion;\n });\n } else if (type === \"updates\") {\n this.filteredModules = this.modulesAll.filter((module: ModuleData) => {\n return module.versions.find(version => version.action === \"update\");\n });\n }\n };\n\n private showModuleMenu = async (e: MouseEvent) => {\n if (this.serverContextMenuCallback) {\n const buttonBoundingClientRect = (\n e.target as HTMLElement\n ).getBoundingClientRect();\n await this.serverContextMenuCallback({\n selection: [this.selectedServerId],\n clientX: buttonBoundingClientRect.x,\n clientY: buttonBoundingClientRect.y\n });\n }\n };\n\n private getModuleData = (\n module: ModuleData,\n dataType: keyof ModuleVersionData\n ): string | ModulePropertyData[] | undefined => {\n const selectedVersionId = this.modulesSelectedVersion.get(module.id);\n let selectedVersion;\n let selectedVersionData;\n if (selectedVersionId) {\n selectedVersion = module.versions.find(\n version => version.id === selectedVersionId\n );\n }\n if (selectedVersion) {\n selectedVersionData = selectedVersion[dataType];\n }\n return selectedVersionData;\n };\n\n private moduleActionHandler = (module: ModuleData) => () => {\n this.actionCompleted = false;\n this.closeProgressBar = false;\n this.executeActionCallbackHandler(module);\n };\n\n private renderModulesGrid = (): Element => {\n return (\n <ch-tabular-grid\n rowSelectionMode=\"single\"\n part=\"ch-grid-pending-commits\"\n class=\"tabular-grid servers-detail no-border\"\n onSelectionChanged={this.handleModuleChange}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"min-content\"\n ></ch-tabular-grid-column>\n\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n settingable={false}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"min-content\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n {this.filteredModules.map((module: ModuleData) => (\n <ch-tabular-grid-row\n class=\"tabular-grid-row\"\n rowid={module.id}\n key={module.id}\n selected={\n this.selectedModule && this.selectedModule.id === module.id\n }\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <gxg-icon\n type=\"objects/module\"\n data-action={this.moduleVersionIconColor(module)}\n color={this.moduleVersionIconColor(module)}\n size=\"small\"\n ></gxg-icon>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell grid-cell-module__info\">\n <span class=\"grid-cell-module__name\">\n {this.getModuleData(module, \"name\")}\n </span>\n <span class=\"grid-cell-module__description\">\n {this.getModuleData(module, \"description\")}\n </span>\n </ch-tabular-grid-cell>\n\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.selectedModule && this.selectedModule.id === module.id ? (\n <div class=\"button-wrapper\">\n <gxg-button\n disabled={\n !this.actionCompleted ||\n this.getModuleData(module, \"action\") === \"incompatible\" ||\n this.getModuleData(module, \"action\") === \"not-installable\"\n }\n fit\n part=\"module-action\"\n onClick={this.moduleActionHandler(module)}\n >\n {this.getActionFromCurrentModuleVersion()}\n </gxg-button>\n </div>\n ) : null}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private renderEmptyStateModules = () => {\n return (\n <gx-ide-empty-state\n stateIconSrc={this.#filterIcon}\n stateTitle={this._componentLocale.modules.noModulesFilter}\n ></gx-ide-empty-state>\n );\n };\n\n private moduleVersionIconColor = (module: ModuleData): Color => {\n const moduleAction = this.getModuleData(module, \"action\");\n const moduleCurrentVersion = module.currentVersion;\n if (moduleAction === \"not-installable\" || moduleAction === \"incompatible\") {\n return \"warning\";\n } else if (!moduleCurrentVersion) {\n return \"mercury-primary-disabled\";\n } else {\n return \"mercury-primary\";\n }\n };\n\n /* module details/information renders*/\n private renderVersionName = () => {\n return (\n <gxg-title part=\"module-info__name\" type=\"title-05\">\n <div class=\"module-info__name\">\n {/* <gxg-icon\n type=\"objects/module\"\n color={this.moduleVersionIconColor(this.selectedModule)}\n ></gxg-icon> */}\n {this.getModuleData(this.selectedModule, \"name\")}\n </div>\n </gxg-title>\n );\n };\n\n private renderVersionWarningMessage = () => {\n const warningMessage = this.getModuleData(\n this.selectedModule,\n \"warningMessage\"\n );\n if (warningMessage) {\n return <p class=\"module-info__alert-message\">{warningMessage}</p>;\n }\n };\n\n private renderInstalledVersion = () => {\n const currentVersion = this.selectedModule.currentVersion;\n let caption;\n let cssClass = \"module-info__action-container\";\n if (currentVersion) {\n caption = `${this._componentLocale.modulesInformation.moduleProperties.installed}: ${currentVersion}`;\n cssClass += ` module-info__action-container--installed`;\n } else {\n caption =\n this._componentLocale.modulesInformation.moduleProperties.notInstalled;\n }\n return (\n <div class={cssClass}>\n <gxg-text part=\"module-info__action\">{caption}</gxg-text>\n </div>\n );\n };\n\n private moduleVersionsValueChangedHandler = (e: CustomEvent<any>) => {\n const versionId = e.detail;\n this.updateSelectedModuleVersion(versionId);\n };\n private moduleVersionsItemChangedHandler = (e: CustomEvent<any>) => {\n const versionId = e.detail.value;\n this.updateSelectedModuleVersion(versionId);\n };\n private updateSelectedModuleVersion = (versionId: string) => {\n if (versionId) {\n this.modulesSelectedVersion.set(this.selectedModule.id, versionId);\n this.reRenderCounter++;\n }\n };\n\n private renderModuleVersions = () => {\n return (\n <div part=\"available-versions\">\n <gxg-combo-box\n id=\"versions-combo-box\"\n disable-filter\n value={this.getModuleData(this.selectedModule, \"id\")}\n part=\"module-versions\"\n display-validation-styles\n display-validation-message\n label={\n this._componentLocale.modulesInformation.moduleProperties\n .availableVersions\n }\n labelPosition=\"start\"\n centerLabel\n onValueChanged={this.moduleVersionsValueChangedHandler}\n disabled={this.loadingServer}\n >\n {this.selectedModule.versions.map(item => (\n <gxg-combo-box-item\n value={item.id}\n onItemSelected={this.moduleVersionsItemChangedHandler}\n >\n {item.id}\n </gxg-combo-box-item>\n ))}\n </gxg-combo-box>\n </div>\n );\n };\n\n private selectedButtonChangedHandler = (e: CustomEvent<string>) => {\n const type = e.detail.replace(\"btn-\", \"\") as ModuleFilterType;\n this.filterModulesByType(type);\n };\n\n private serverItemSelectedHandler = (\n e: CustomEvent<{\n el: HTMLGxgComboBoxItemElement;\n index: number;\n value: any;\n icon?: string;\n }>\n ) => {\n const serverId = e.detail.value;\n this.serverSelectedCallbackHandler(serverId, false);\n };\n\n private serverValueChangedHandler = (e: CustomEvent<any>) => {\n const serverId = e.detail;\n this.serverSelectedCallbackHandler(serverId, false);\n };\n\n private progressBarCloseHandler = () => {\n setTimeout(() => {\n this.actionCompleted = true;\n this.closeProgressBar = true;\n // reset\n this.progressValue = 0;\n this.progressState = \"in-progress\";\n }, 400);\n // delay to force the footer line disappear after the top-state-bar has been closed.\n };\n\n private reloadServer = () => {\n this.serverSelectedCallbackHandler(this.selectedServerId, true);\n };\n\n // 11.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host\n class={{\n \"gx-ide-component\": true\n }}\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n noContentPadding\n noAboveFooterPadding\n noBorderAboveFooter={this.closeProgressBar}\n part=\"servers\"\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n >\n {/* Servers*/}\n <main class=\"main\">\n <div class=\"modules__container\">\n <header class=\"modules__header\">\n <div class=\"modules__combo-container\">\n <gxg-label>\n {this._componentLocale.modules.selectServer}\n </gxg-label>\n <div class=\"modules__combo\">\n <gxg-combo-box\n disableFilter\n onValueChanged={this.serverValueChangedHandler}\n >\n {this.servers.map(item => (\n <gxg-combo-box-item\n value={item.id}\n onItemSelected={this.serverItemSelectedHandler}\n >\n {item.name}\n </gxg-combo-box-item>\n ))}\n </gxg-combo-box>\n {this.showServerCommands ? (\n <span class=\"modules__server-commands\">\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/show-more-horizontal\"\n onClick={this.showModuleMenu}\n ></gxg-button>\n </span>\n ) : null}\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/reset\"\n onClick={this.reloadServer}\n ></gxg-button>\n </div>\n </div>\n </header>\n\n <div class=\"modules__main\">\n <div class=\"modules__main-header\">\n <gxg-form-text\n label={this._componentLocale.modules.searchModules}\n labelPosition=\"above\"\n centerLabel={false}\n onValueChanged={this.handleFilterChangeHandler}\n disabled={this.loadingServer}\n ></gxg-form-text>\n <gxg-buttons-container\n reduced\n fullWidth\n class=\"modules__browser\"\n onSelectedButtonChanged={\n this.selectedButtonChangedHandler\n }\n >\n <gxg-button\n id=\"btn-browse\"\n selected\n disabled={this.loadingServer}\n >\n {this._componentLocale.modules.buttonsContainer.browse}\n </gxg-button>\n <gxg-button\n id=\"btn-installed\"\n disabled={this.loadingServer}\n >\n {\n this._componentLocale.modules.buttonsContainer\n .installed\n }\n </gxg-button>\n <gxg-button\n id=\"btn-updates\"\n disabled={this.loadingServer}\n >\n {this._componentLocale.modules.buttonsContainer.updates}\n </gxg-button>\n </gxg-buttons-container>\n </div>\n {/* modules grid*/}\n <div\n class=\"grid-container\"\n ref={el => (this.serversDetail = el as HTMLDivElement)}\n >\n {this.filteredModules.length > 0\n ? this.renderModulesGrid()\n : this.renderEmptyStateModules()}\n </div>\n </div>\n </div>\n\n {/* Module version information*/}\n {this.selectedModule ? (\n <div class=\"module-info\">\n <header class=\"module-info__header\">\n {this.renderVersionName()}\n {this.renderInstalledVersion()}\n {this.renderModuleVersions()}\n {/* {this.renderNotInstallable()} */}\n {this.renderVersionWarningMessage()}\n </header>\n <div class=\"module-info__properties gxg-scrollbar\">\n {renderModuleDataProperties(\n this.getModuleData(\n this.selectedModule,\n \"properties\"\n ) as ModulePropertyData[]\n )}\n </div>\n </div>\n ) : (\n <gx-ide-empty-state\n class=\"recent-objects__empty-state\"\n stateIconSrc={this.#moduleIcon}\n stateTitle={\n this._componentLocale.modulesInformation.emptyState.title\n }\n stateDescription={\n this._componentLocale.modulesInformation.emptyState\n .description\n }\n ></gx-ide-empty-state>\n )}\n </main>\n {/* Top State Bar*/}\n <gxg-top-state-bar\n slot=\"footer-above\"\n part=\"progress-bar\"\n stateType={this.progressState}\n noBorder\n caption={\n this.selectedModuleAction.message ||\n this._componentLocale.progressBar.defaultCaption\n }\n progress={this.progressValue}\n active={!this.actionCompleted || !this.closeProgressBar}\n closeType=\"not-progress\"\n closedCallback={this.progressBarCloseHandler}\n ></gxg-top-state-bar>\n </gx-ide-container>\n </div>\n <gxg-ide-loader\n loaderTitle={this._componentLocale.servers.loading}\n ref={el => (this.loaderEl = el as HTMLGxgIdeLoaderElement)}\n container={this.serversDetail}\n borderRadius=\"0 0 0 8px\"\n ></gxg-ide-loader>\n </Host>\n );\n }\n}\n\nexport type ExecuteActionCallback = (\n serverId: string,\n moduleId: string,\n moduleVersionId: string,\n action: ModuleActionType,\n onProgress: (\n message: string,\n progress: number,\n state: topStateBarType\n ) => void\n) => Promise<boolean>;\n\nexport type ServerSelectedCallback = (\n id: string,\n reload: boolean\n) => Promise<ModuleData[]>;\n\nexport type AddServerCallback = () => Promise<void>;\n\nexport type ServerContextMenuCallback = (\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\nexport interface ActionInfo {\n message: string;\n progress: number;\n state: topStateBarType;\n}\n"],"version":3}
1
+ {"file":"gx-ide-manage-module-references.entry.cjs.js","mappings":"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","names":["getIconPath","h","Locale","Host","renderModuleDataProperties"],"sources":["src/components/modules/manage-module-references/manage-module-references.scss?tag=gx-ide-manage-module-references&encapsulation=shadow","src/components/modules/manage-module-references/manage-module-references.tsx"],"sourcesContent":["@import \"../../../global/gx-ide-common.scss\";\n@import \"../../../global/gx-ide-mixins.scss\";\n\n/*--- General ---*/\np,\nul {\n font-size: var(--font-size-lg);\n margin: 0;\n}\np {\n line-height: 1.6em;\n}\n/*--- Header ---*/\n.header {\n align-items: center;\n grid-template-columns: 1fr auto;\n grid-template-rows: 1fr;\n}\n.main {\n display: grid;\n //grid-template-columns: 1fr 2fr 1fr;\n grid-template-columns: 1fr 1fr;\n grid-template-rows: 1fr;\n height: 100%;\n overflow: auto;\n}\nch-grid-columnset {\n display: none;\n}\nch-grid-row[selected] {\n gxg-icon[data-action=\"install\"] {\n //WA to improve visibility\n filter: brightness(2);\n }\n}\n.grid-cell-module {\n &__info {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--mer-spacing--3xs);\n }\n &__name {\n font-weight: var(--mer-font__weight--bold);\n }\n &__name,\n &__description {\n line-height: 1.55em;\n }\n}\n\n/*--- Servers Container ---*/\n.grid-container {\n height: 100%;\n overflow: auto;\n gx-ide-empty-state {\n height: 100%;\n }\n}\n.servers-container {\n display: none;\n height: 100%;\n &__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--gxg-list-box-main__padding) var(--gxg-list-box-main__padding)\n 0 var(--gxg-list-box-main__padding);\n\n gxg-button {\n width: 100%;\n }\n }\n}\n\n/*--- Modules (Header) ---*/\n.modules {\n &__header {\n padding: var(--gxg-list-box-main__padding);\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n }\n &__combo-container {\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n }\n &__server-commands {\n display: flex;\n gap: var(--mer-spacing--xs);\n }\n &__combo {\n gxg-combo-box {\n flex: 1;\n }\n display: flex;\n flex-direction: row;\n gap: var(--mer-spacing--xs);\n }\n &__container {\n border-inline-end: var(--mer-border__width--sm) solid\n var(--gx-ide-container-border-color);\n display: grid;\n grid-template-rows: auto 1fr;\n height: 100%;\n overflow: auto;\n }\n &__main {\n display: grid;\n grid-template-rows: auto 1fr;\n height: 100%;\n overflow: auto;\n\n &-header {\n display: flex;\n padding: var(--mer-spacing--xs);\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n }\n }\n}\n\n/*--- Module Info ---*/\n.module-info {\n display: grid;\n grid-template-rows: auto 1fr;\n height: 100%;\n overflow: auto;\n\n &__title {\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--xs);\n }\n\n &__name {\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--sm);\n --ds-icon-size-box--regular: 24px;\n --ds-icon-size--regular: 24px;\n font-weight: var(--mer-font__weight--bold);\n }\n\n &__header {\n padding: var(--gx-ide-container__padding);\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n border-block-end: var(--mer-border__width--sm) solid\n var(--gx-ide-container-border-color);\n }\n\n &__action-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: var(--mer-spacing--xs);\n &:before {\n content: \"\";\n width: var(--mer-spacing--xs);\n height: var(--mer-spacing--xs);\n border-radius: 50%;\n display: block;\n background-color: var(--mer-icon__primary--disabled);\n }\n &--installed:before {\n background-color: var(--mer-icon__primary);\n }\n &--uninstallable:before {\n background-color: var(--mer-icon__warning);\n }\n }\n\n &__warning-message {\n margin-block-start: var(--mer-spacing--2xs);\n background-color: var(--mer-color__tinted-yellow--5);\n color: var(--mer-text__on-elevation);\n border: var(--mer-border__width--sm) solid var(--mer-border-color__warning);\n border-radius: var(--mer-border__radius--sm);\n padding: var(--mer-spacing--xs) var(--mer-spacing--md);\n }\n\n &__divider {\n width: calc(100% - var(--gx-ide-container__padding) * 4);\n padding: 0 var(--gx-ide-container__padding);\n margin: 0 auto;\n border: 0;\n border-block-end: var(--mer-border__width--sm) solid\n var(--gx-ide-container-border-color);\n }\n &__properties {\n display: flex;\n flex-direction: column;\n padding: var(--gx-ide-container__padding);\n gap: var(--mer-spacing--xs);\n overflow: auto;\n }\n}\n\n.md-property {\n display: grid;\n gap: var(--mer-spacing--xs);\n\n &--inline {\n grid-template-columns: auto 1fr;\n }\n &--block {\n }\n &__key {\n font-weight: var(--font-weight-bold);\n max-width: 150px;\n }\n &__value {\n font-size: var(--mer-font__size--2xs);\n }\n &__key,\n &__value {\n > * {\n display: inline-block;\n }\n }\n &__list {\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n > ul {\n margin: 0;\n padding: 0;\n list-style-type: none;\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--2xs);\n margin-inline-start: var(--mer-spacing--xs);\n\n li {\n position: relative;\n padding-inline-start: 12px;\n line-height: var(--ds-base-font-line-height--comfortable);\n &::before {\n content: \"\";\n position: absolute;\n left: 0;\n top: 7px;\n display: inline-block;\n width: var(--mer-spacing--2xs);\n height: var(--mer-spacing--2xs);\n background-color: var(--mer-text__on-surface);\n }\n }\n }\n }\n}\n\n.md-property,\n.md-property__list {\n border-block-end: var(--mer-border__width--sm) solid\n var(--gx-ide-container-border-color);\n padding-block-end: var(--mer-spacing--xs);\n\n &:last-child {\n border-block-end: 0;\n padding-block-end: 0;\n }\n}\n\ngxg-ide-loader {\n border-radius: var(--mer-border__radius--md);\n}\n\n.button-wrapper {\n display: grid;\n align-items: center;\n justify-content: center;\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Event,\n Element,\n EventEmitter,\n Method,\n State,\n Watch\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { Color } from \"@genexus/gemini\";\nimport { topStateBarType } from \"@genexus/gemini\";\nimport { TabularGridSelectionChangedEvent } from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport {\n ModuleServerData,\n ModuleData,\n ModuleActionType,\n ModuleFilterType,\n ModulePropertyData,\n ModuleVersionData\n} from \"../types\";\nimport { renderModuleDataProperties } from \"../../../common/common\";\nimport { Locale } from \"../../../common/locale\";\nimport { ContextMenuInfo } from \"../../../common/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n // \"utils/form\",\n // \"utils/layout\",\n // \"utils/typography\",\n // \"components/button\",\n // \"components/checkbox\",\n // \"components/edit\",\n \"components/tabular-grid\"\n];\n\n@Component({\n tag: \"gx-ide-manage-module-references\",\n styleUrl: \"manage-module-references.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/manage-module-references\"]\n})\nexport class GxManageModuleReferences {\n // 1.OWN PROPERTIES | WATCH'S //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n /* selectedServerIdOnModulesAllUpdate is updated every time modulesAll is modified, in order to determine if the server is the same or not.*/\n private selectedServerIdOnModulesAllUpdate: string;\n\n #filterIcon = getIconPath({\n category: \"system\",\n name: \"filters\",\n colorType: \"on-elevation\"\n });\n #moduleIcon = getIconPath({\n category: \"objects\",\n name: \"module\"\n });\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeManageModuleReferencesElement;\n private loaderEl!: HTMLGxgIdeLoaderElement;\n private serversDetail!: HTMLDivElement;\n\n // 3.STATE() VARIABLES //\n\n @State() modulesAll: ModuleData[] = [];\n @Watch(\"modulesAll\")\n modulesAllWatcher(modulesAll: ModuleData[]) {\n this.updateModulesSelectedVersion(modulesAll);\n }\n @State() filteredModules: ModuleData[] = [];\n @State() selectedModule: ModuleData;\n @State() selectedServerId: string;\n @State() selectedModuleAction: ActionInfo = {\n message: \"\",\n progress: 0,\n state: \"in-progress\"\n };\n @State() modulesSelectedVersion: Map<string, string> = new Map();\n @State() actionCompleted = true;\n @State() closeProgressBar = true;\n @State() progressValue: number = 0;\n @State() progressState: topStateBarType = \"in-progress\";\n @State() loadingServer = false;\n @State() reRenderCounter: number = 0;\n @Watch(\"loadingServer\")\n loadingServerHandler(loading: boolean) {\n if (loading) {\n this.loaderEl.show = true;\n } else {\n this.loaderEl.show = false;\n }\n }\n\n // 4.PUBLIC PROPERTY API //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * List of module servers currently cataloged\n */\n @Prop() readonly servers: ModuleServerData[] = [];\n\n /**\n * Callback invoked when a server is selected. Returns the set of modules available on that server.\n */\n @Prop() readonly serverSelectedCallback: ServerSelectedCallback;\n\n /**\n * Callback invoked when the user wants to execute the action corresponding to a selected module. When the action begins to be executed, the component must be able to show the progress of the action. For this, the onProgress parameter is available, which is in turn a callback used by the host to notify the progress by text message and percentage.\n */\n @Prop() readonly executeActionCallback: ExecuteActionCallback;\n\n /**\n * Callback invoked when Add button is clicked\n */\n @Prop() readonly addServerCallback: AddServerCallback;\n\n /**\n * Callback invoked when an element is right clicked on servers list\n */\n @Prop() readonly serverContextMenuCallback: ServerContextMenuCallback;\n\n /**\n * Allows you to hide the button (...) that executes serverContextMenuCallback, if we do not implement the commands in a first version\n */\n @Prop() readonly showServerCommands: boolean = false;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n async componentDidLoad() {\n await this.serverSelectedCallbackHandler(this.servers[0].id, false);\n }\n\n // 7.LISTENERS //\n\n @Watch(\"modulesAll\")\n onPropValueChange(newModulesData: ModuleData[]) {\n this.filteredModules = [...newModulesData];\n }\n\n // 8.PUBLIC METHODS API //\n\n /**\n * validate\n */\n @Method()\n async validate(): Promise<boolean> {\n return true;\n }\n\n // 9.LOCAL METHODS //\n\n private updateModulesSelectedVersion = (modulesAll: ModuleData[]) => {\n if (this.selectedServerId !== this.selectedServerIdOnModulesAllUpdate) {\n // the server has changed. clear the updateModulesSelectedVersion\n this.modulesSelectedVersion.clear();\n modulesAll.forEach(module => {\n // this.modulesSelectedVersion.set(module.id, module.versions[0].id);\n this.modulesSelectedVersion.set(\n module.id,\n module.versions[module.versions.length - 1].id\n );\n });\n } else {\n // the server has't changed. only add the module to the map, if it is a new module.\n modulesAll.forEach(module => {\n const newModule =\n this.modulesSelectedVersion.get(module.id) === undefined;\n if (newModule) {\n this.modulesSelectedVersion.set(module.id, module.versions[0].id);\n }\n });\n }\n this.selectedServerIdOnModulesAllUpdate = this.selectedServerId;\n };\n\n private getActionFromCurrentModuleVersion = (): ModuleActionType => {\n const action = this.getModuleData(\n this.selectedModule,\n \"action\"\n ) as ModuleActionType;\n return action || \"install\";\n };\n\n /**\n * Callback invoked to get the progress when module is performing an action\n */\n private onProgress = (\n message: string,\n progress: number,\n state: topStateBarType\n ): void => {\n const data = { message, progress, state };\n this.selectedModuleAction = { ...data };\n this.progressValue = this.selectedModuleAction.progress;\n this.progressState = this.selectedModuleAction.state;\n };\n\n // 10.LOCAL METHODS //\n\n /**\n * Used for changing the selected module\n */\n private handleModuleChange = (\n event: CustomEvent<TabularGridSelectionChangedEvent>\n ) => {\n const selectedModuleId = event.detail.rowsId[0];\n const foundModule = this.modulesAll.find(\n item => item.id === selectedModuleId\n );\n if (foundModule) {\n this.selectedModule = foundModule;\n }\n };\n\n /**\n * Change the server selected value in response to callbackServerSelected callback\n */\n private serverSelectedCallbackHandler = async (id: any, reload: boolean) => {\n if (this.serverSelectedCallback) {\n this.loadingServer = true;\n const resolvedObjects = await this.serverSelectedCallback(id, reload);\n this.selectedServerId = id;\n this.modulesAll = [...resolvedObjects];\n this.filterModulesByType(\"browse\");\n this.selectedModule = this.filteredModules[0];\n this.loadingServer = false;\n }\n };\n\n private handleFilterChange = (value: string) => {\n value = value.trim().toLowerCase();\n if (value) {\n this.filteredModules = this.modulesAll.filter(module => {\n const selectedVersionName = this.getModuleData(\n module,\n \"name\"\n ) as string;\n return selectedVersionName?.toLowerCase().includes(value);\n });\n } else {\n this.filteredModules = this.modulesAll;\n }\n };\n\n private handleFilterChangeHandler = (e: CustomEvent<string>) => {\n const value = e.detail;\n return this.handleFilterChange(value);\n };\n\n /**\n * Perform an action relative to a module using callbackExecuteAction callback and receive the state of that action with onProgress callback\n */\n private executeActionCallbackHandler = async (module: ModuleData) => {\n if (this.executeActionCallback) {\n const moduleSelectedVersionId = this.modulesSelectedVersion.get(\n module.id\n );\n const actionCompleted = await this.executeActionCallback(\n this.selectedServerId,\n module.id,\n moduleSelectedVersionId,\n this.getActionFromCurrentModuleVersion(),\n this.onProgress\n );\n if (actionCompleted) {\n this.serverSelectedCallbackHandler(this.selectedServerId, false);\n }\n this.actionCompleted = actionCompleted;\n }\n };\n\n private filterModulesByType = (type: ModuleFilterType) => {\n // browse\n if (type === \"browse\") {\n this.filteredModules = this.modulesAll;\n }\n // installed\n else if (type === \"installed\") {\n this.filteredModules = this.modulesAll.filter((module: ModuleData) => {\n // if the module has a currentVersion (not undefined) it means it is installed\n return module.currentVersion;\n });\n } else if (type === \"updates\") {\n this.filteredModules = this.modulesAll.filter((module: ModuleData) => {\n return module.versions.find(version => version.action === \"update\");\n });\n }\n };\n\n private showModuleMenu = async (e: MouseEvent) => {\n if (this.serverContextMenuCallback) {\n const buttonBoundingClientRect = (\n e.target as HTMLElement\n ).getBoundingClientRect();\n await this.serverContextMenuCallback({\n selection: [this.selectedServerId],\n clientX: buttonBoundingClientRect.x,\n clientY: buttonBoundingClientRect.y\n });\n }\n };\n\n private getModuleData = (\n module: ModuleData,\n dataType: keyof ModuleVersionData\n ): string | ModulePropertyData[] | undefined => {\n const selectedVersionId = this.modulesSelectedVersion.get(module.id);\n let selectedVersion;\n let selectedVersionData;\n if (selectedVersionId) {\n selectedVersion = module.versions.find(\n version => version.id === selectedVersionId\n );\n }\n if (selectedVersion) {\n selectedVersionData = selectedVersion[dataType];\n }\n return selectedVersionData;\n };\n\n private moduleActionHandler = (module: ModuleData) => () => {\n this.actionCompleted = false;\n this.closeProgressBar = false;\n this.executeActionCallbackHandler(module);\n };\n\n private renderModulesGrid = (): Element => {\n return (\n <ch-tabular-grid\n rowSelectionMode=\"single\"\n part=\"ch-grid-pending-commits\"\n class=\"tabular-grid servers-detail no-border\"\n onSelectionChanged={this.handleModuleChange}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"min-content\"\n ></ch-tabular-grid-column>\n\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n settingable={false}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"min-content\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n {this.filteredModules.map((module: ModuleData) => (\n <ch-tabular-grid-row\n class=\"tabular-grid-row\"\n rowid={module.id}\n key={module.id}\n selected={\n this.selectedModule && this.selectedModule.id === module.id\n }\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <gxg-icon\n type=\"objects/module\"\n data-action={this.moduleVersionIconColor(module)}\n color={this.moduleVersionIconColor(module)}\n size=\"small\"\n ></gxg-icon>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell grid-cell-module__info\">\n <span class=\"grid-cell-module__name\">\n {this.getModuleData(module, \"name\")}\n </span>\n <span class=\"grid-cell-module__description\">\n {this.getModuleData(module, \"description\")}\n </span>\n </ch-tabular-grid-cell>\n\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.selectedModule && this.selectedModule.id === module.id ? (\n <div class=\"button-wrapper\">\n <gxg-button\n disabled={\n !this.actionCompleted ||\n this.getModuleData(module, \"action\") === \"incompatible\" ||\n this.getModuleData(module, \"action\") === \"not-installable\"\n }\n fit\n part=\"module-action\"\n onClick={this.moduleActionHandler(module)}\n >\n {this.getActionFromCurrentModuleVersion()}\n </gxg-button>\n </div>\n ) : null}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private renderEmptyStateModules = () => {\n return (\n <gx-ide-empty-state\n stateIconSrc={this.#filterIcon}\n stateTitle={this._componentLocale.modules.noModulesFilter}\n ></gx-ide-empty-state>\n );\n };\n\n private moduleVersionIconColor = (module: ModuleData): Color => {\n const moduleAction = this.getModuleData(module, \"action\");\n const moduleCurrentVersion = module.currentVersion;\n if (moduleAction === \"not-installable\" || moduleAction === \"incompatible\") {\n return \"warning\";\n } else if (!moduleCurrentVersion) {\n return \"mercury-primary-disabled\";\n } else {\n return \"mercury-primary\";\n }\n };\n\n /* module details/information renders*/\n private renderVersionName = () => {\n return (\n <gxg-title part=\"module-info__name\" type=\"title-05\">\n <div class=\"module-info__name\">\n {/* <gxg-icon\n type=\"objects/module\"\n color={this.moduleVersionIconColor(this.selectedModule)}\n ></gxg-icon> */}\n {this.getModuleData(this.selectedModule, \"name\")}\n </div>\n </gxg-title>\n );\n };\n\n private renderVersionWarningMessage = () => {\n const warningMessage = this.getModuleData(\n this.selectedModule,\n \"warningMessage\"\n );\n if (warningMessage) {\n return <p class=\"module-info__alert-message\">{warningMessage}</p>;\n }\n };\n\n private renderInstalledVersion = () => {\n const currentVersion = this.selectedModule.currentVersion;\n let caption;\n let cssClass = \"module-info__action-container\";\n if (currentVersion) {\n caption = `${this._componentLocale.modulesInformation.moduleProperties.installed}: ${currentVersion}`;\n cssClass += ` module-info__action-container--installed`;\n } else {\n caption =\n this._componentLocale.modulesInformation.moduleProperties.notInstalled;\n }\n return (\n <div class={cssClass}>\n <gxg-text part=\"module-info__action\">{caption}</gxg-text>\n </div>\n );\n };\n\n private moduleVersionsValueChangedHandler = (e: CustomEvent<any>) => {\n const versionId = e.detail;\n this.updateSelectedModuleVersion(versionId);\n };\n private moduleVersionsItemChangedHandler = (e: CustomEvent<any>) => {\n const versionId = e.detail.value;\n this.updateSelectedModuleVersion(versionId);\n };\n private updateSelectedModuleVersion = (versionId: string) => {\n if (versionId) {\n this.modulesSelectedVersion.set(this.selectedModule.id, versionId);\n this.reRenderCounter++;\n }\n };\n\n private renderModuleVersions = () => {\n return (\n <div part=\"available-versions\">\n <gxg-combo-box\n id=\"versions-combo-box\"\n disable-filter\n value={this.getModuleData(this.selectedModule, \"id\")}\n part=\"module-versions\"\n display-validation-styles\n display-validation-message\n label={\n this._componentLocale.modulesInformation.moduleProperties\n .availableVersions\n }\n labelPosition=\"start\"\n centerLabel\n onValueChanged={this.moduleVersionsValueChangedHandler}\n disabled={this.loadingServer}\n >\n {this.selectedModule.versions.map(item => (\n <gxg-combo-box-item\n value={item.id}\n onItemSelected={this.moduleVersionsItemChangedHandler}\n >\n {item.id}\n </gxg-combo-box-item>\n ))}\n </gxg-combo-box>\n </div>\n );\n };\n\n private selectedButtonChangedHandler = (e: CustomEvent<string>) => {\n const type = e.detail.replace(\"btn-\", \"\") as ModuleFilterType;\n this.filterModulesByType(type);\n };\n\n private serverItemSelectedHandler = (\n e: CustomEvent<{\n el: HTMLGxgComboBoxItemElement;\n index: number;\n value: any;\n icon?: string;\n }>\n ) => {\n const serverId = e.detail.value;\n this.serverSelectedCallbackHandler(serverId, false);\n };\n\n private serverValueChangedHandler = (e: CustomEvent<any>) => {\n const serverId = e.detail;\n this.serverSelectedCallbackHandler(serverId, false);\n };\n\n private progressBarCloseHandler = () => {\n setTimeout(() => {\n this.actionCompleted = true;\n this.closeProgressBar = true;\n // reset\n this.progressValue = 0;\n this.progressState = \"in-progress\";\n }, 400);\n // delay to force the footer line disappear after the top-state-bar has been closed.\n };\n\n private reloadServer = () => {\n this.serverSelectedCallbackHandler(this.selectedServerId, true);\n };\n\n // 11.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host\n class={{\n \"gx-ide-component\": true\n }}\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n noContentPadding\n noAboveFooterPadding\n noBorderAboveFooter={this.closeProgressBar}\n part=\"servers\"\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n >\n {/* Servers*/}\n <main class=\"main\">\n <div class=\"modules__container\">\n <header class=\"modules__header\">\n <div class=\"modules__combo-container\">\n <gxg-label>\n {this._componentLocale.modules.selectServer}\n </gxg-label>\n <div class=\"modules__combo\">\n <gxg-combo-box\n disableFilter\n onValueChanged={this.serverValueChangedHandler}\n >\n {this.servers.map(item => (\n <gxg-combo-box-item\n value={item.id}\n onItemSelected={this.serverItemSelectedHandler}\n >\n {item.name}\n </gxg-combo-box-item>\n ))}\n </gxg-combo-box>\n {this.showServerCommands ? (\n <span class=\"modules__server-commands\">\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/show-more-horizontal\"\n onClick={this.showModuleMenu}\n ></gxg-button>\n </span>\n ) : null}\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/reset\"\n onClick={this.reloadServer}\n ></gxg-button>\n </div>\n </div>\n </header>\n\n <div class=\"modules__main\">\n <div class=\"modules__main-header\">\n <gxg-form-text\n label={this._componentLocale.modules.searchModules}\n labelPosition=\"above\"\n centerLabel={false}\n onValueChanged={this.handleFilterChangeHandler}\n disabled={this.loadingServer}\n ></gxg-form-text>\n <gxg-buttons-container\n reduced\n fullWidth\n class=\"modules__browser\"\n onSelectedButtonChanged={\n this.selectedButtonChangedHandler\n }\n >\n <gxg-button\n id=\"btn-browse\"\n selected\n disabled={this.loadingServer}\n >\n {this._componentLocale.modules.buttonsContainer.browse}\n </gxg-button>\n <gxg-button\n id=\"btn-installed\"\n disabled={this.loadingServer}\n >\n {\n this._componentLocale.modules.buttonsContainer\n .installed\n }\n </gxg-button>\n <gxg-button\n id=\"btn-updates\"\n disabled={this.loadingServer}\n >\n {this._componentLocale.modules.buttonsContainer.updates}\n </gxg-button>\n </gxg-buttons-container>\n </div>\n {/* modules grid*/}\n <div\n class=\"grid-container\"\n ref={el => (this.serversDetail = el as HTMLDivElement)}\n >\n {this.filteredModules.length > 0\n ? this.renderModulesGrid()\n : this.renderEmptyStateModules()}\n </div>\n </div>\n </div>\n\n {/* Module version information*/}\n {this.selectedModule ? (\n <div class=\"module-info\">\n <header class=\"module-info__header\">\n {this.renderVersionName()}\n {this.renderInstalledVersion()}\n {this.renderModuleVersions()}\n {/* {this.renderNotInstallable()} */}\n {this.renderVersionWarningMessage()}\n </header>\n <div class=\"module-info__properties gxg-scrollbar\">\n {renderModuleDataProperties(\n this.getModuleData(\n this.selectedModule,\n \"properties\"\n ) as ModulePropertyData[]\n )}\n </div>\n </div>\n ) : (\n <gx-ide-empty-state\n class=\"recent-objects__empty-state\"\n stateIconSrc={this.#moduleIcon}\n stateTitle={\n this._componentLocale.modulesInformation.emptyState.title\n }\n stateDescription={\n this._componentLocale.modulesInformation.emptyState\n .description\n }\n ></gx-ide-empty-state>\n )}\n </main>\n {/* Top State Bar*/}\n <gxg-top-state-bar\n slot=\"footer-above\"\n part=\"progress-bar\"\n stateType={this.progressState}\n noBorder\n caption={\n this.selectedModuleAction.message ||\n this._componentLocale.progressBar.defaultCaption\n }\n progress={this.progressValue}\n active={!this.actionCompleted || !this.closeProgressBar}\n closeType=\"not-progress\"\n closedCallback={this.progressBarCloseHandler}\n ></gxg-top-state-bar>\n </gx-ide-container>\n </div>\n <gxg-ide-loader\n loaderTitle={this._componentLocale.servers.loading}\n ref={el => (this.loaderEl = el as HTMLGxgIdeLoaderElement)}\n container={this.serversDetail}\n borderRadius=\"0 0 0 8px\"\n ></gxg-ide-loader>\n </Host>\n );\n }\n}\n\nexport type ExecuteActionCallback = (\n serverId: string,\n moduleId: string,\n moduleVersionId: string,\n action: ModuleActionType,\n onProgress: (\n message: string,\n progress: number,\n state: topStateBarType\n ) => void\n) => Promise<boolean>;\n\nexport type ServerSelectedCallback = (\n id: string,\n reload: boolean\n) => Promise<ModuleData[]>;\n\nexport type AddServerCallback = () => Promise<void>;\n\nexport type ServerContextMenuCallback = (\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\nexport interface ActionInfo {\n message: string;\n progress: number;\n state: topStateBarType;\n}\n"],"version":3}
@@ -0,0 +1,228 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-b87e3ee0.js');
6
+ const locale = require('./locale-bf43b87c.js');
7
+
8
+ const STATUS_REGEXP_KEY = "status";
9
+ const CAPTION_REGEXP_KEY = "caption";
10
+ const mapNavigationDataToTreeView = (navigationData) => navigationData.map((dataItem, i) => {
11
+ return {
12
+ id: dataItem.id,
13
+ selected: i === 0,
14
+ caption: dataItem.name,
15
+ startImgSrc: dataItem.icon,
16
+ parts: `tree-view-item tree-view-item--status tree-view-item--${dataItem.result}`,
17
+ leaf: true,
18
+ metadata: JSON.stringify({
19
+ [STATUS_REGEXP_KEY]: dataItem.result.toString(),
20
+ [CAPTION_REGEXP_KEY]: dataItem.name
21
+ })
22
+ };
23
+ });
24
+
25
+ const navigationReportCss = ":host{display:grid;block-size:100%;overflow:auto;grid-template-areas:\"aside main\" \"footer footer\";grid-template-rows:1fr max-content;grid-template-columns:240px 1fr}:host(.display-header-type){grid-template-areas:\"header header\" \"aside main\" \"footer footer\";grid-template-rows:max-content 1fr max-content;grid-template-columns:240px 1fr}.section{display:contents}.header{grid-area:header;display:grid;grid-template-columns:1fr max-content}.header__description{display:grid;gap:var(--mer-spacing--xs)}.header__description-p{max-inline-size:460px}.header__actions{flex-shrink:0}.aside{grid-area:aside;overflow:auto;border-inline-end:var(--section-common-border);display:grid;grid-template-rows:max-content 1fr}.main{grid-area:main;overflow:auto}.footer{grid-area:footer;justify-content:flex-start}.tree-view::part(item__action tree-view-item--success),.tree-view::part(item__action tree-view-item--warning),.tree-view::part(item__action tree-view-item--error){padding-inline-start:var(--mer-spacing--lg)}.tree-view::part(item__action tree-view-item--success){background:var(--icon__states_pill-filled_success--enabled) no-repeat}.tree-view::part(item__action tree-view-item--warning){background:var(--icon__states_pill-filled_warning--enabled) no-repeat}.tree-view::part(item__action tree-view-item--error){background:var(--icon__states_pill-filled_error--enabled) no-repeat}";
26
+
27
+ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
28
+ if (kind === "m")
29
+ throw new TypeError("Private method is not writable");
30
+ if (kind === "a" && !f)
31
+ throw new TypeError("Private accessor was defined without a setter");
32
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
33
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
34
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
35
+ };
36
+ var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
37
+ if (kind === "a" && !f)
38
+ throw new TypeError("Private accessor was defined without a getter");
39
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
40
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
41
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
42
+ };
43
+ var _GxIdeNavigationReport_componentLocale, _GxIdeNavigationReport_items, _GxIdeNavigationReport_combinedRegExp, _GxIdeNavigationReport_itemsSelectionChangedHandler, _GxIdeNavigationReport_sortItemsCallback, _GxIdeNavigationReport_statusButtonsSelectionChangedHandler, _GxIdeNavigationReport_patternInputHandler, _GxIdeNavigationReport_handleChangedItems;
44
+ const CSS_BUNDLES = [
45
+ "resets/box-sizing",
46
+ "components/tab",
47
+ "components/tooltip",
48
+ "components/tree-view",
49
+ "utils/form--full",
50
+ "utils/layout",
51
+ "utils/typography",
52
+ "utils/spacing",
53
+ "chameleon/scrollbar"
54
+ ];
55
+ const GxIdeNavigationReport = class {
56
+ constructor(hostRef) {
57
+ index.registerInstance(this, hostRef);
58
+ this.componentDidRenderEvent = index.createEvent(this, "componentDidRenderEvent", 7);
59
+ /**
60
+ * The component hard-coded strings translations.
61
+ */
62
+ // eslint-disable-next-line @stencil-community/own-props-must-be-private
63
+ _GxIdeNavigationReport_componentLocale.set(this, void 0);
64
+ _GxIdeNavigationReport_items.set(this, []);
65
+ _GxIdeNavigationReport_combinedRegExp.set(this, () => {
66
+ const statusPattern = this.navigationItemsStatusRegExpString || "";
67
+ const captionPattern = this.navigationItemsCaptionRegExpString || "";
68
+ // Create a RegExp that combines the values from the buttons statues and the filer value.
69
+ const combinedPattern = `${statusPattern && `(${statusPattern})`}${statusPattern && captionPattern ? ".*" : ""}${captionPattern && `(${captionPattern})`}`;
70
+ this.navigationItemsRegExp = new RegExp(combinedPattern, "i");
71
+ });
72
+ _GxIdeNavigationReport_itemsSelectionChangedHandler.set(this, (event) => {
73
+ var _a;
74
+ const selectedItemId = (_a = event.detail[0]) === null || _a === void 0 ? void 0 : _a.item.id;
75
+ if (selectedItemId) {
76
+ this.itemSelectedCallback(selectedItemId);
77
+ }
78
+ });
79
+ _GxIdeNavigationReport_sortItemsCallback.set(this, (subModel) => {
80
+ return subModel.sort((a, b) => a.caption.localeCompare(b.caption));
81
+ });
82
+ _GxIdeNavigationReport_statusButtonsSelectionChangedHandler.set(this, (event) => {
83
+ const activeStates = event.detail;
84
+ const statuses = [];
85
+ const errorIndex = activeStates.findIndex(state => state.itemId === "errors");
86
+ const warningIndex = activeStates.findIndex(state => state.itemId === "warnings");
87
+ const successIndex = activeStates.findIndex(state => state.itemId === "successes");
88
+ if (errorIndex !== -1) {
89
+ statuses.push("error");
90
+ }
91
+ if (warningIndex !== -1) {
92
+ statuses.push("warning");
93
+ }
94
+ if (successIndex !== -1) {
95
+ statuses.push("success");
96
+ }
97
+ if (statuses.length) {
98
+ const statusOptions = statuses.join("|");
99
+ this.navigationItemsStatusRegExpString = `"${STATUS_REGEXP_KEY}":"(${statusOptions})"`;
100
+ }
101
+ else {
102
+ this.navigationItemsStatusRegExpString = `"${STATUS_REGEXP_KEY}":""`;
103
+ }
104
+ // Update statusInfo for the status-buttons
105
+ this.statusInfo = {
106
+ error: {
107
+ display: errorIndex !== -1,
108
+ number: this.statusInfo.error.number
109
+ },
110
+ warning: {
111
+ display: warningIndex !== -1,
112
+ number: this.statusInfo.warning.number
113
+ },
114
+ success: {
115
+ display: successIndex !== -1,
116
+ number: this.statusInfo.success.number
117
+ }
118
+ };
119
+ });
120
+ _GxIdeNavigationReport_patternInputHandler.set(this, (event) => {
121
+ const patternFilterValue = event.detail;
122
+ this.navigationItemsCaptionRegExpString = `"${CAPTION_REGEXP_KEY}":".*${patternFilterValue}.*"`;
123
+ });
124
+ _GxIdeNavigationReport_handleChangedItems.set(this, (newItems) => {
125
+ __classPrivateFieldSet(this, _GxIdeNavigationReport_items, newItems, "f");
126
+ this.reportTreeItems = mapNavigationDataToTreeView(newItems);
127
+ let errorsCount = 0;
128
+ let warningsCount = 0;
129
+ let successCount = 0;
130
+ this.reportTreeItems.forEach(item => {
131
+ const metadataObject = JSON.parse(item.metadata);
132
+ let statusValue;
133
+ if (STATUS_REGEXP_KEY in metadataObject) {
134
+ statusValue = metadataObject[STATUS_REGEXP_KEY];
135
+ }
136
+ if (statusValue && statusValue === "error") {
137
+ errorsCount++;
138
+ }
139
+ else if (statusValue && statusValue === "warning") {
140
+ warningsCount++;
141
+ }
142
+ else if (statusValue && statusValue === "success") {
143
+ successCount++;
144
+ }
145
+ });
146
+ this.statusInfo["error"].number = errorsCount;
147
+ this.statusInfo["warning"].number = warningsCount;
148
+ this.statusInfo["success"].number = successCount;
149
+ });
150
+ this.reportTreeItems = [];
151
+ this.navigationItemsStatusRegExpString = "";
152
+ this.navigationItemsCaptionRegExpString = "";
153
+ this.navigationItemsRegExp = undefined;
154
+ this.confirmed = false;
155
+ this.headerState = "none";
156
+ this.statusInfo = {
157
+ error: {
158
+ display: true,
159
+ number: 0
160
+ },
161
+ warning: {
162
+ display: true,
163
+ number: 0
164
+ },
165
+ success: {
166
+ display: true,
167
+ number: 0
168
+ }
169
+ };
170
+ this.someStatusVisible = undefined;
171
+ this.headerData = undefined;
172
+ this.confirmCallback = undefined;
173
+ this.cancelCallback = undefined;
174
+ this.closeCallback = undefined;
175
+ this.itemSelectedCallback = undefined;
176
+ }
177
+ navigationItemsStatusRegExpStringChanged() {
178
+ __classPrivateFieldGet(this, _GxIdeNavigationReport_combinedRegExp, "f").call(this);
179
+ }
180
+ navigationItemsCaptionRegExpStringChanged() {
181
+ __classPrivateFieldGet(this, _GxIdeNavigationReport_combinedRegExp, "f").call(this);
182
+ }
183
+ /**
184
+ * Add a new item
185
+ */
186
+ async addItem(item) {
187
+ __classPrivateFieldGet(this, _GxIdeNavigationReport_handleChangedItems, "f").call(this, __classPrivateFieldGet(this, _GxIdeNavigationReport_items, "f").concat([item]));
188
+ }
189
+ /**
190
+ * Clear items
191
+ */
192
+ async clearItems() {
193
+ __classPrivateFieldGet(this, _GxIdeNavigationReport_handleChangedItems, "f").call(this, []);
194
+ }
195
+ async componentWillLoad() {
196
+ __classPrivateFieldSet(this, _GxIdeNavigationReport_componentLocale, await locale.Locale.getComponentStrings(this.el), "f");
197
+ }
198
+ render() {
199
+ var _a;
200
+ return (index.h(index.Host, { class: {
201
+ "widget": true,
202
+ "display-header-type": !!this.headerData
203
+ } }, index.h("ch-theme", { model: CSS_BUNDLES }), index.h("section", { class: "section" }, this.headerData && (index.h("header", { class: "header control-header-with-border spacing-body-inline spacing-body-block-start" }, index.h("div", { class: "header__description" }, index.h("h3", { class: "heading-3" }, this.headerData.title), index.h("p", { class: "text-body-regular-s header__description-p" }, this.headerData.description)), index.h("div", { class: "header__actions" }, index.h("div", { class: "buttons-spacer header__actions" }, (_a = this.headerData.buttons) === null || _a === void 0 ? void 0 : _a.map(button => {
204
+ var _a;
205
+ const buttonIcon = button.icon;
206
+ const buttonType = (_a = button.type) !== null && _a !== void 0 ? _a : "button-primary";
207
+ return (index.h("button", { class: {
208
+ [buttonType]: true,
209
+ "button-icon-and-text": !!buttonIcon
210
+ }, onClick: button.callback }, buttonIcon && (index.h("ch-image", { class: "icon-md", src: buttonIcon })), button.caption));
211
+ }))))), index.h("section", { class: "aside field-group" }, index.h("header", { class: "aside__header spacing-body-inline spacing-body-block-start" }, index.h("div", { class: "field field-block" }, index.h("label", { class: "label", htmlFor: "pattern" }, __classPrivateFieldGet(this, _GxIdeNavigationReport_componentLocale, "f").aside.filterLabel), index.h("ch-edit", { id: "pattern", class: "input", placeholder: __classPrivateFieldGet(this, _GxIdeNavigationReport_componentLocale, "f").aside.filterPlaceholder, onInput: __classPrivateFieldGet(this, _GxIdeNavigationReport_patternInputHandler, "f") }))), index.h("ch-tree-view-render", { class: "tree-view", "show-lines": "last", filter: this.navigationItemsRegExp, filterType: "metadata", model: this.reportTreeItems, onSelectedItemsChange: __classPrivateFieldGet(this, _GxIdeNavigationReport_itemsSelectionChangedHandler, "f"), sortItemsCallback: __classPrivateFieldGet(this, _GxIdeNavigationReport_sortItemsCallback, "f"), filterOptions: {
212
+ autoExpand: true,
213
+ hideMatchesAndShowNonMatches: false
214
+ } })), index.h("section", { class: "main spacing-body" }, index.h("slot", null)), index.h("footer", { class: "footer control-footer-with-border control-footer-start spacing-body-inline spacing-body-block-end" }, index.h("gx-ide-status-buttons", { errors: this.statusInfo.error.number, warnings: this.statusInfo.warning.number, successes: this.statusInfo.success.number, hideMessage: true, compact: true, onSelectionChanged: __classPrivateFieldGet(this, _GxIdeNavigationReport_statusButtonsSelectionChangedHandler, "f") })))));
215
+ }
216
+ static get assetsDirs() { return ["gx-ide-assets/navigation-report"]; }
217
+ get el() { return index.getElement(this); }
218
+ static get watchers() { return {
219
+ "navigationItemsStatusRegExpString": ["navigationItemsStatusRegExpStringChanged"],
220
+ "navigationItemsCaptionRegExpString": ["navigationItemsCaptionRegExpStringChanged"]
221
+ }; }
222
+ };
223
+ _GxIdeNavigationReport_componentLocale = new WeakMap(), _GxIdeNavigationReport_items = new WeakMap(), _GxIdeNavigationReport_combinedRegExp = new WeakMap(), _GxIdeNavigationReport_itemsSelectionChangedHandler = new WeakMap(), _GxIdeNavigationReport_sortItemsCallback = new WeakMap(), _GxIdeNavigationReport_statusButtonsSelectionChangedHandler = new WeakMap(), _GxIdeNavigationReport_patternInputHandler = new WeakMap(), _GxIdeNavigationReport_handleChangedItems = new WeakMap();
224
+ GxIdeNavigationReport.style = navigationReportCss;
225
+
226
+ exports.gx_ide_navigation_report = GxIdeNavigationReport;
227
+
228
+ //# sourceMappingURL=gx-ide-navigation-report.cjs.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"gx-ide-navigation-report.entry.cjs.js","mappings":"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","names":["Locale","h","Host"],"sources":["src/components/navigation-report/helpers.ts","src/components/navigation-report/navigation-report.scss?tag=gx-ide-navigation-report&encapsulation=shadow","src/components/navigation-report/navigation-report.tsx"],"sourcesContent":["import { TreeViewModel } from \"@genexus/chameleon-controls-library\";\nimport { NavigationData, Status } from \"./navigation-report\";\n\nexport const STATUS_REGEXP_KEY = \"status\";\nexport const CAPTION_REGEXP_KEY = \"caption\";\n\nexport const mapNavigationDataToTreeView = (\n navigationData: NavigationData[]\n): TreeViewModel =>\n navigationData.map((dataItem, i) => {\n return {\n id: dataItem.id,\n selected: i === 0,\n caption: dataItem.name,\n startImgSrc: dataItem.icon,\n parts: `tree-view-item tree-view-item--status tree-view-item--${dataItem.result}`,\n leaf: true,\n metadata: JSON.stringify({\n [STATUS_REGEXP_KEY]: dataItem.result.toString() as Status,\n [CAPTION_REGEXP_KEY]: dataItem.name\n })\n };\n });\n","@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: grid;\n block-size: 100%;\n overflow: auto;\n grid-template-areas:\n \"aside main\"\n \"footer footer\";\n grid-template-rows: 1fr max-content;\n grid-template-columns: 240px 1fr;\n}\n\n:host(.display-header-type) {\n grid-template-areas:\n \"header header\"\n \"aside main\"\n \"footer footer\";\n\n grid-template-rows: max-content 1fr max-content;\n grid-template-columns: 240px 1fr;\n}\n\n.section {\n display: contents;\n}\n\n// - - - - - - - - - - - - -\n// Header\n// - - - - - - - - - - - - -\n\n.header {\n grid-area: header;\n display: grid;\n grid-template-columns: 1fr max-content;\n\n &__description {\n display: grid;\n gap: var(--mer-spacing--xs);\n\n &-p {\n max-inline-size: 460px;\n }\n }\n &__actions {\n flex-shrink: 0;\n }\n}\n\n// - - - - - - - - - - - - -\n// Aside & Main\n// - - - - - - - - - - - - -\n\n.aside {\n grid-area: aside;\n overflow: auto;\n border-inline-end: var(--section-common-border);\n display: grid;\n grid-template-rows: max-content 1fr;\n}\n\n.main {\n grid-area: main;\n overflow: auto;\n}\n\n// - - - - - - - - - - - - -\n// Footer\n// - - - - - - - - - - - - -\n\n.footer {\n grid-area: footer;\n justify-content: flex-start;\n}\n\n// - - - - - - - - - - - - - - - - - - -\n// Tree view status custom status \"icon\"\n// - - - - - - - - - - - - - - - - - - -\n.tree-view::part(item__action tree-view-item--success),\n.tree-view::part(item__action tree-view-item--warning),\n.tree-view::part(item__action tree-view-item--error) {\n // WA custom solution for two icons\n // Because this is a one level tree, there is no risk of\n // breaking the layout with a custom padding.\n padding-inline-start: var(--mer-spacing--lg);\n}\n\n.tree-view::part(item__action tree-view-item--success) {\n background: var(--icon__states_pill-filled_success--enabled) no-repeat;\n}\n.tree-view::part(item__action tree-view-item--warning) {\n background: var(--icon__states_pill-filled_warning--enabled) no-repeat;\n}\n.tree-view::part(item__action tree-view-item--error) {\n background: var(--icon__states_pill-filled_error--enabled) no-repeat;\n}\n","// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Watch,\n Method\n} from \"@stencil/core\";\n// Other Libraries\nimport { MercuryBundles } from \"@genexus/mercury\";\n// Custom Imports\nimport { Locale } from \"../../common/locale\";\nimport {\n mapNavigationDataToTreeView,\n STATUS_REGEXP_KEY,\n CAPTION_REGEXP_KEY\n} from \"./helpers\";\nimport {\n ChEditCustomEvent,\n TreeViewItemModelExtended,\n TreeViewModel\n} from \"@genexus/chameleon-controls-library\";\nimport { CheckedItemsInfo } from \"../_helpers/list-selector/list-selector\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/tab\",\n \"components/tooltip\",\n \"components/tree-view\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\n\n@Component({\n tag: \"gx-ide-navigation-report\",\n styleUrl: \"navigation-report.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/navigation-report\"]\n})\nexport class GxIdeNavigationReport {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n\n #items: NavigationData[] = [];\n\n @Element() el: HTMLGxIdeNavigationReportElement;\n @State() reportTreeItems: TreeViewModel = [];\n @State() navigationItemsStatusRegExpString: string = \"\";\n @Watch(\"navigationItemsStatusRegExpString\")\n navigationItemsStatusRegExpStringChanged() {\n this.#combinedRegExp();\n }\n @State() navigationItemsCaptionRegExpString: string = \"\";\n @Watch(\"navigationItemsCaptionRegExpString\")\n navigationItemsCaptionRegExpStringChanged() {\n this.#combinedRegExp();\n }\n @State() navigationItemsRegExp: RegExp;\n @State() confirmed = false;\n @State() headerState: \"none\" | \"create\" | \"reorganize\" = \"none\";\n\n @State() statusInfo: StatusInfo = {\n error: {\n display: true,\n number: 0\n },\n warning: {\n display: true,\n number: 0\n },\n success: {\n display: true,\n number: 0\n }\n };\n @State() someStatusVisible: boolean;\n\n /**\n * The header data to display on the header.\n */\n @Prop() readonly headerData: HeaderData;\n\n /**\n * Callback invoked when user confirms data base reorganization\n */\n @Prop() readonly confirmCallback: ConfirmCallback;\n\n /**\n * Callback invoked when user cancels reorganization\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * Callback to be invoked when the user closes the dialog\n */\n @Prop() readonly closeCallback: CloseCallback;\n\n /**\n * Callback invoked when a list item is selected\n */\n @Prop() readonly itemSelectedCallback: ItemSelectedCallback;\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderEvent: EventEmitter<string>;\n\n /**\n * Add a new item\n */\n @Method()\n async addItem(item: NavigationData) {\n this.#handleChangedItems(this.#items.concat([item]));\n }\n\n /**\n * Clear items\n */\n @Method()\n async clearItems() {\n this.#handleChangedItems([]);\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n #combinedRegExp = () => {\n const statusPattern = this.navigationItemsStatusRegExpString || \"\";\n const captionPattern = this.navigationItemsCaptionRegExpString || \"\";\n\n // Create a RegExp that combines the values from the buttons statues and the filer value.\n const combinedPattern = `${statusPattern && `(${statusPattern})`}${\n statusPattern && captionPattern ? \".*\" : \"\"\n }${captionPattern && `(${captionPattern})`}`;\n\n this.navigationItemsRegExp = new RegExp(combinedPattern, \"i\");\n };\n\n #itemsSelectionChangedHandler = (\n event: CustomEvent<TreeViewItemModelExtended[]>\n ) => {\n const selectedItemId = event.detail[0]?.item.id;\n if (selectedItemId) {\n this.itemSelectedCallback(selectedItemId);\n }\n };\n\n #sortItemsCallback = (subModel: TreeViewModel) => {\n return subModel.sort((a, b) => a.caption.localeCompare(b.caption));\n };\n\n #statusButtonsSelectionChangedHandler = (\n event: CustomEvent<CheckedItemsInfo>\n ) => {\n const activeStates = event.detail;\n const statuses: Status[] = [];\n\n const errorIndex = activeStates.findIndex(\n state => state.itemId === \"errors\"\n );\n const warningIndex = activeStates.findIndex(\n state => state.itemId === \"warnings\"\n );\n const successIndex = activeStates.findIndex(\n state => state.itemId === \"successes\"\n );\n\n if (errorIndex !== -1) {\n statuses.push(\"error\");\n }\n if (warningIndex !== -1) {\n statuses.push(\"warning\");\n }\n if (successIndex !== -1) {\n statuses.push(\"success\");\n }\n\n if (statuses.length) {\n const statusOptions = statuses.join(\"|\");\n this.navigationItemsStatusRegExpString = `\"${STATUS_REGEXP_KEY}\":\"(${statusOptions})\"`;\n } else {\n this.navigationItemsStatusRegExpString = `\"${STATUS_REGEXP_KEY}\":\"\"`;\n }\n\n // Update statusInfo for the status-buttons\n this.statusInfo = {\n error: {\n display: errorIndex !== -1,\n number: this.statusInfo.error.number\n },\n warning: {\n display: warningIndex !== -1,\n number: this.statusInfo.warning.number\n },\n success: {\n display: successIndex !== -1,\n number: this.statusInfo.success.number\n }\n };\n };\n\n #patternInputHandler = (event: ChEditCustomEvent<string> | InputEvent) => {\n const patternFilterValue = event.detail as string;\n this.navigationItemsCaptionRegExpString = `\"${CAPTION_REGEXP_KEY}\":\".*${patternFilterValue}.*\"`;\n };\n\n #handleChangedItems = (newItems: NavigationData[]) => {\n this.#items = newItems;\n this.reportTreeItems = mapNavigationDataToTreeView(newItems);\n let errorsCount: number = 0;\n let warningsCount: number = 0;\n let successCount: number = 0;\n this.reportTreeItems.forEach(item => {\n const metadataObject = JSON.parse(item.metadata);\n let statusValue;\n if (STATUS_REGEXP_KEY in metadataObject) {\n statusValue = metadataObject[STATUS_REGEXP_KEY] as Status;\n }\n\n if (statusValue && statusValue === \"error\") {\n errorsCount++;\n } else if (statusValue && statusValue === \"warning\") {\n warningsCount++;\n } else if (statusValue && statusValue === \"success\") {\n successCount++;\n }\n });\n\n this.statusInfo[\"error\"].number = errorsCount;\n this.statusInfo[\"warning\"].number = warningsCount;\n this.statusInfo[\"success\"].number = successCount;\n };\n\n render() {\n return (\n <Host\n class={{\n \"widget\": true,\n \"display-header-type\": !!this.headerData\n }}\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"section\">\n {this.headerData && (\n <header class=\"header control-header-with-border spacing-body-inline spacing-body-block-start\">\n <div class=\"header__description\">\n <h3 class=\"heading-3\">{this.headerData.title}</h3>\n <p class=\"text-body-regular-s header__description-p\">\n {this.headerData.description}\n </p>\n </div>\n <div class=\"header__actions\">\n <div class=\"buttons-spacer header__actions\">\n {this.headerData.buttons?.map(button => {\n const buttonIcon = button.icon;\n const buttonType: headerButtonType =\n button.type ?? \"button-primary\";\n return (\n <button\n class={{\n [buttonType]: true,\n \"button-icon-and-text\": !!buttonIcon\n }}\n onClick={button.callback}\n >\n {buttonIcon && (\n <ch-image class=\"icon-md\" src={buttonIcon}></ch-image>\n )}\n {button.caption}\n </button>\n );\n })}\n </div>\n </div>\n </header>\n )}\n\n <section class=\"aside field-group\">\n <header class=\"aside__header spacing-body-inline spacing-body-block-start\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"pattern\">\n {this.#componentLocale.aside.filterLabel}\n </label>\n <ch-edit\n id=\"pattern\"\n class=\"input\"\n placeholder={this.#componentLocale.aside.filterPlaceholder}\n onInput={this.#patternInputHandler}\n ></ch-edit>\n </div>\n </header>\n <ch-tree-view-render\n class=\"tree-view\"\n show-lines=\"last\"\n filter={this.navigationItemsRegExp}\n filterType=\"metadata\"\n model={this.reportTreeItems}\n onSelectedItemsChange={this.#itemsSelectionChangedHandler}\n sortItemsCallback={this.#sortItemsCallback}\n filterOptions={{\n autoExpand: true,\n hideMatchesAndShowNonMatches: false\n }}\n ></ch-tree-view-render>\n </section>\n <section class=\"main spacing-body\">\n <slot></slot>\n </section>\n <footer class=\"footer control-footer-with-border control-footer-start spacing-body-inline spacing-body-block-end\">\n <gx-ide-status-buttons\n errors={this.statusInfo.error.number}\n warnings={this.statusInfo.warning.number}\n successes={this.statusInfo.success.number}\n hideMessage\n compact\n onSelectionChanged={this.#statusButtonsSelectionChangedHandler}\n ></gx-ide-status-buttons>\n </footer>\n </section>\n </Host>\n );\n }\n}\n\nexport type NavigationData = {\n id: string;\n result: Status;\n icon: string;\n name: string;\n};\n\nexport type ConfirmCallback = () => Promise<void>;\nexport type CancelCallback = () => Promise<void>;\nexport type CloseCallback = () => Promise<void>;\nexport type ItemSelectedCallback = (id: string) => Promise<void>;\n\ntype StatusInfo = {\n error: {\n display: boolean;\n number: number;\n };\n warning: {\n display: boolean;\n number: number;\n };\n success: {\n display: boolean;\n number: number;\n };\n};\n\nexport type HeaderData = {\n title: string;\n description: string;\n buttons: HeaderButtonData[];\n};\n\nexport type HeaderButtonData = {\n caption: string;\n icon?: string;\n type?: headerButtonType;\n callback: () => Promise<void>;\n};\n\nexport type headerButtonType = \"button-primary\" | \"button-secondary\";\n\nexport type Status = \"success\" | \"error\" | \"warning\";\n"],"version":3}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-b87e3ee0.js');
6
6
  const config = require('./config-b21feeee.js');
7
7
  const locale = require('./locale-bf43b87c.js');
8
- const helpers = require('./helpers-b5b4a659.js');
8
+ const helpers = require('./helpers-19194a5a.js');
9
9
  const common = require('./common-10d3b190.js');
10
10
  const formValidation = require('./form-validation-df39cabb.js');
11
11
  const array = require('./array-b1e04a85.js');
@@ -37,6 +37,7 @@ const CSS_BUNDLES = [
37
37
  "utils/form--full",
38
38
  "utils/layout",
39
39
  "utils/typography",
40
+ "utils/spacing",
40
41
  "chameleon/scrollbar"
41
42
  ];
42
43
  const MAIN_SECTION_CLASSES = "main";
@@ -306,7 +307,7 @@ const GxIdeNewEnvironment = class {
306
307
  class: "field field-inline"
307
308
  }, index.h("label", { class: "label", htmlFor: "environment-name" }, __classPrivateFieldGet(this, _GxIdeNewEnvironment_componentLocale, "f").name), index.h("ch-edit", {
308
309
  // environment name
309
- autoFocus: true, id: "environment-name", class: "form-input", part: "environment-name", value: this.environmentName, placeholder: __classPrivateFieldGet(this, _GxIdeNewEnvironment_componentLocale, "f").environmentNamePlaceholder,
310
+ autoFocus: true, id: "environment-name", class: "input", part: "environment-name", value: this.environmentName, placeholder: __classPrivateFieldGet(this, _GxIdeNewEnvironment_componentLocale, "f").environmentNamePlaceholder,
310
311
  // TODO: toolTip={config.tooltip}
311
312
  ref: (el) => (__classPrivateFieldSet(this, _GxIdeNewEnvironment_environmentNameEl, el, "f")), onInput: __classPrivateFieldGet(this, _GxIdeNewEnvironment_envNameInputHandler, "f")
312
313
  }))), this.isAdvanced ? (index.h("ch-tab-render", {