@genexus/genexus-ide-ui 0.0.108 → 0.0.110

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 (265) hide show
  1. package/dist/cjs/ch-dropdown_2.cjs.entry.js +1 -1
  2. package/dist/cjs/ch-dropdown_2.cjs.entry.js.map +1 -1
  3. package/dist/cjs/ch-grid_8.cjs.entry.js +339 -321
  4. package/dist/cjs/ch-grid_8.cjs.entry.js.map +1 -1
  5. package/dist/cjs/ch-icon_5.cjs.entry.js +3 -1
  6. package/dist/cjs/ch-icon_5.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ch-suggest_4.cjs.entry.js +1 -1
  8. package/dist/cjs/ch-suggest_4.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ch-tree-view_5.cjs.entry.js +41 -20
  10. package/dist/cjs/ch-tree-view_5.cjs.entry.js.map +1 -1
  11. package/dist/cjs/{common-103f62f6.js → common-2e355c7d.js} +31 -1
  12. package/dist/cjs/common-2e355c7d.js.map +1 -0
  13. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  14. package/dist/cjs/{gx-ide-container_2.cjs.entry.js → gx-ide-container_3.cjs.entry.js} +47 -4
  15. package/dist/cjs/gx-ide-container_3.cjs.entry.js.map +1 -0
  16. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +2 -2
  17. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  18. package/dist/cjs/gx-ide-edit-module-servers.cjs.entry.js +98 -0
  19. package/dist/cjs/gx-ide-edit-module-servers.cjs.entry.js.map +1 -0
  20. package/dist/cjs/gx-ide-empty-state.cjs.entry.js +70 -0
  21. package/dist/cjs/gx-ide-empty-state.cjs.entry.js.map +1 -0
  22. package/dist/cjs/gx-ide-import-from-design.cjs.entry.js +1 -1
  23. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +1 -1
  24. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
  25. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +311 -0
  26. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -0
  27. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
  28. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
  29. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
  30. package/dist/cjs/gx-ide-status-buttons.cjs.entry.js +76 -0
  31. package/dist/cjs/gx-ide-status-buttons.cjs.entry.js.map +1 -0
  32. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
  33. package/dist/cjs/gxg-buttons-container_2.cjs.entry.js +184 -0
  34. package/dist/cjs/gxg-buttons-container_2.cjs.entry.js.map +1 -0
  35. package/dist/cjs/{gx-ide-empty-state_2.cjs.entry.js → gxg-card_2.cjs.entry.js} +121 -63
  36. package/dist/cjs/gxg-card_2.cjs.entry.js.map +1 -0
  37. package/dist/cjs/gxg-combo-box_2.cjs.entry.js +1 -0
  38. package/dist/cjs/gxg-combo-box_2.cjs.entry.js.map +1 -1
  39. package/dist/cjs/gxg-ide-loader.cjs.entry.js +4 -15
  40. package/dist/cjs/gxg-ide-loader.cjs.entry.js.map +1 -1
  41. package/dist/cjs/gxg-tab_4.cjs.entry.js +1 -1
  42. package/dist/cjs/gxg-tab_4.cjs.entry.js.map +1 -1
  43. package/dist/cjs/loader.cjs.js +1 -1
  44. package/dist/collection/collection-manifest.json +2 -0
  45. package/dist/collection/common/common.js +21 -0
  46. package/dist/collection/common/common.js.map +1 -1
  47. package/dist/collection/components/_helpers/container/container.css +6 -0
  48. package/dist/collection/components/_helpers/container/container.js +40 -0
  49. package/dist/collection/components/_helpers/container/container.js.map +1 -1
  50. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js +1 -1
  51. package/dist/collection/components/_helpers/list-selector/list-selector.js +1 -1
  52. package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.css +370 -29
  53. package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.js +4 -99
  54. package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.js.map +1 -1
  55. package/dist/collection/components/create-kb-from-server/create-kb-from-server.js +1 -1
  56. package/dist/collection/components/create-kb-from-server/create-kb-from-server.js.map +1 -1
  57. package/dist/collection/components/kb-manager-import/kb-manager-import.js +1 -1
  58. package/dist/collection/components/kb-manager-import/kb-manager-import.js.map +1 -1
  59. package/dist/collection/components/modules/edit-module-servers/edit-module-servers.css +560 -0
  60. package/dist/collection/components/modules/edit-module-servers/edit-module-servers.js +251 -0
  61. package/dist/collection/components/modules/edit-module-servers/edit-module-servers.js.map +1 -0
  62. package/dist/collection/components/modules/edit-module-servers/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.en.json +11 -0
  63. package/dist/collection/components/modules/edit-module-servers/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.ja.json +3 -0
  64. package/dist/collection/components/modules/edit-module-servers/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.zh.json +3 -0
  65. package/dist/collection/components/modules/manage-module-references/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.en.json +35 -0
  66. package/dist/collection/components/modules/manage-module-references/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.ja.json +3 -0
  67. package/dist/collection/components/modules/manage-module-references/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.zh.json +3 -0
  68. package/dist/collection/components/modules/manage-module-references/manage-module-references.css +744 -0
  69. package/dist/collection/components/modules/manage-module-references/manage-module-references.js +501 -0
  70. package/dist/collection/components/modules/manage-module-references/manage-module-references.js.map +1 -0
  71. package/dist/collection/components/modules/types.js +2 -0
  72. package/dist/collection/components/modules/types.js.map +1 -0
  73. package/dist/collection/pages/assets/common.js +7 -0
  74. package/dist/components/buttons-container.js +8 -3
  75. package/dist/components/buttons-container.js.map +1 -1
  76. package/dist/components/card.js.map +1 -1
  77. package/dist/components/ch-grid-column2.js +4 -1
  78. package/dist/components/ch-grid-column2.js.map +1 -1
  79. package/dist/components/ch-grid2.js +342 -322
  80. package/dist/components/ch-grid2.js.map +1 -1
  81. package/dist/components/combo-box.js +1 -0
  82. package/dist/components/combo-box.js.map +1 -1
  83. package/dist/components/common.js +30 -1
  84. package/dist/components/common.js.map +1 -1
  85. package/dist/components/container.js +7 -1
  86. package/dist/components/container.js.map +1 -1
  87. package/dist/components/dropdown.js +1 -1
  88. package/dist/components/dropdown.js.map +1 -1
  89. package/dist/components/gx-ide-create-kb-from-server.js +1 -1
  90. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  91. package/dist/components/gx-ide-edit-module-servers.d.ts +11 -0
  92. package/dist/components/gx-ide-edit-module-servers.js +186 -0
  93. package/dist/components/gx-ide-edit-module-servers.js.map +1 -0
  94. package/dist/components/gx-ide-kb-manager-import.js +1 -1
  95. package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
  96. package/dist/components/gx-ide-manage-module-references.d.ts +11 -0
  97. package/dist/components/gx-ide-manage-module-references.js +515 -0
  98. package/dist/components/gx-ide-manage-module-references.js.map +1 -0
  99. package/dist/components/gx-ide-status-buttons2.js +5 -15
  100. package/dist/components/gx-ide-status-buttons2.js.map +1 -1
  101. package/dist/components/gxg-top-state-bar2.js +17 -8
  102. package/dist/components/gxg-top-state-bar2.js.map +1 -1
  103. package/dist/components/icon2.js +3 -1
  104. package/dist/components/icon2.js.map +1 -1
  105. package/dist/components/ide-loader.js +6 -15
  106. package/dist/components/ide-loader.js.map +1 -1
  107. package/dist/components/suggest.js +1 -1
  108. package/dist/components/suggest.js.map +1 -1
  109. package/dist/components/tabs.js +1 -1
  110. package/dist/components/tabs.js.map +1 -1
  111. package/dist/components/tree-view-item.js +8 -2
  112. package/dist/components/tree-view-item.js.map +1 -1
  113. package/dist/components/tree-view2.js +32 -15
  114. package/dist/components/tree-view2.js.map +1 -1
  115. package/dist/esm/ch-dropdown_2.entry.js +1 -1
  116. package/dist/esm/ch-dropdown_2.entry.js.map +1 -1
  117. package/dist/esm/ch-grid_8.entry.js +339 -321
  118. package/dist/esm/ch-grid_8.entry.js.map +1 -1
  119. package/dist/esm/ch-icon_5.entry.js +3 -1
  120. package/dist/esm/ch-icon_5.entry.js.map +1 -1
  121. package/dist/esm/ch-suggest_4.entry.js +1 -1
  122. package/dist/esm/ch-suggest_4.entry.js.map +1 -1
  123. package/dist/esm/ch-tree-view_5.entry.js +41 -20
  124. package/dist/esm/ch-tree-view_5.entry.js.map +1 -1
  125. package/dist/esm/{common-f2983db2.js → common-aaad5759.js} +31 -2
  126. package/dist/esm/common-aaad5759.js.map +1 -0
  127. package/dist/esm/genexus-ide-ui.js +1 -1
  128. package/dist/esm/{gx-ide-container_2.entry.js → gx-ide-container_3.entry.js} +47 -5
  129. package/dist/esm/gx-ide-container_3.entry.js.map +1 -0
  130. package/dist/esm/gx-ide-create-kb-from-server.entry.js +2 -2
  131. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  132. package/dist/esm/gx-ide-edit-module-servers.entry.js +94 -0
  133. package/dist/esm/gx-ide-edit-module-servers.entry.js.map +1 -0
  134. package/dist/esm/gx-ide-empty-state.entry.js +66 -0
  135. package/dist/esm/gx-ide-empty-state.entry.js.map +1 -0
  136. package/dist/esm/gx-ide-import-from-design.entry.js +1 -1
  137. package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
  138. package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
  139. package/dist/esm/gx-ide-manage-module-references.entry.js +307 -0
  140. package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -0
  141. package/dist/esm/gx-ide-new-environment.entry.js +1 -1
  142. package/dist/esm/gx-ide-new-kb.entry.js +1 -1
  143. package/dist/esm/gx-ide-share-kb.entry.js +1 -1
  144. package/dist/esm/gx-ide-status-buttons.entry.js +72 -0
  145. package/dist/esm/gx-ide-status-buttons.entry.js.map +1 -0
  146. package/dist/esm/gx-ide-ww-images.entry.js +1 -1
  147. package/dist/esm/gxg-buttons-container_2.entry.js +179 -0
  148. package/dist/esm/gxg-buttons-container_2.entry.js.map +1 -0
  149. package/dist/esm/{gx-ide-empty-state_2.entry.js → gxg-card_2.entry.js} +122 -64
  150. package/dist/{cjs/gx-ide-empty-state_2.cjs.entry.js.map → esm/gxg-card_2.entry.js.map} +1 -1
  151. package/dist/esm/gxg-combo-box_2.entry.js +1 -0
  152. package/dist/esm/gxg-combo-box_2.entry.js.map +1 -1
  153. package/dist/esm/gxg-ide-loader.entry.js +4 -15
  154. package/dist/esm/gxg-ide-loader.entry.js.map +1 -1
  155. package/dist/esm/gxg-tab_4.entry.js +1 -1
  156. package/dist/esm/gxg-tab_4.entry.js.map +1 -1
  157. package/dist/esm/loader.js +1 -1
  158. package/dist/genexus-ide-ui/genexus-ide-ui.css +9 -6
  159. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  160. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  161. package/dist/genexus-ide-ui/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.en.json +11 -0
  162. package/dist/genexus-ide-ui/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.ja.json +3 -0
  163. package/dist/genexus-ide-ui/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.zh.json +3 -0
  164. package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.en.json +35 -0
  165. package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.ja.json +3 -0
  166. package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.zh.json +3 -0
  167. package/dist/genexus-ide-ui/{p-b7bc3c0c.entry.js → p-00704c36.entry.js} +6 -6
  168. package/dist/genexus-ide-ui/{p-b7bc3c0c.entry.js.map → p-00704c36.entry.js.map} +1 -1
  169. package/dist/genexus-ide-ui/{p-2c1f414f.entry.js → p-0c0c3f1d.entry.js} +53 -53
  170. package/dist/genexus-ide-ui/{p-2c1f414f.entry.js.map → p-0c0c3f1d.entry.js.map} +1 -1
  171. package/dist/genexus-ide-ui/{p-b571e9c0.entry.js → p-0df39b62.entry.js} +5 -2
  172. package/dist/genexus-ide-ui/{p-b571e9c0.entry.js.map → p-0df39b62.entry.js.map} +1 -1
  173. package/dist/genexus-ide-ui/{p-419b2877.entry.js → p-1cb2d0df.entry.js} +80 -47
  174. package/dist/genexus-ide-ui/p-1cb2d0df.entry.js.map +1 -0
  175. package/dist/genexus-ide-ui/p-350f49ac.js +101 -0
  176. package/dist/genexus-ide-ui/p-350f49ac.js.map +1 -0
  177. package/dist/genexus-ide-ui/{p-ca7233a5.entry.js → p-39337325.entry.js} +81 -10
  178. package/dist/genexus-ide-ui/p-39337325.entry.js.map +1 -0
  179. package/dist/genexus-ide-ui/{p-001e085a.entry.js → p-51e86542.entry.js} +2 -2
  180. package/dist/genexus-ide-ui/p-5ca7da19.entry.js +94 -0
  181. package/dist/genexus-ide-ui/p-5ca7da19.entry.js.map +1 -0
  182. package/dist/genexus-ide-ui/p-5fe20f47.entry.js +211 -0
  183. package/dist/genexus-ide-ui/p-5fe20f47.entry.js.map +1 -0
  184. package/dist/genexus-ide-ui/{p-d14b5546.entry.js → p-6f5b13a7.entry.js} +4 -2
  185. package/dist/genexus-ide-ui/{p-d14b5546.entry.js.map → p-6f5b13a7.entry.js.map} +1 -1
  186. package/dist/genexus-ide-ui/p-713ad05d.entry.js +441 -0
  187. package/dist/genexus-ide-ui/p-713ad05d.entry.js.map +1 -0
  188. package/dist/genexus-ide-ui/{p-94015503.entry.js → p-786e5448.entry.js} +374 -380
  189. package/dist/genexus-ide-ui/p-786e5448.entry.js.map +1 -0
  190. package/dist/genexus-ide-ui/{p-40121554.entry.js → p-9f9fda93.entry.js} +172 -120
  191. package/dist/genexus-ide-ui/p-9f9fda93.entry.js.map +1 -0
  192. package/dist/genexus-ide-ui/{p-afce38d4.entry.js → p-b2099890.entry.js} +2 -2
  193. package/dist/genexus-ide-ui/{p-513ec2ad.entry.js → p-b4e526d6.entry.js} +2 -2
  194. package/dist/genexus-ide-ui/p-b7d0697f.entry.js +138 -0
  195. package/dist/genexus-ide-ui/p-b7d0697f.entry.js.map +1 -0
  196. package/dist/genexus-ide-ui/{p-ee9f4e20.entry.js → p-bc04fcaa.entry.js} +7 -15
  197. package/dist/genexus-ide-ui/p-bc04fcaa.entry.js.map +1 -0
  198. package/dist/genexus-ide-ui/{p-8e8bb528.entry.js → p-c14b6b77.entry.js} +2 -2
  199. package/dist/genexus-ide-ui/{p-8e8bb528.entry.js.map → p-c14b6b77.entry.js.map} +1 -1
  200. package/dist/genexus-ide-ui/{p-5a5d3e19.entry.js → p-c9cceb40.entry.js} +1 -4
  201. package/dist/genexus-ide-ui/p-c9cceb40.entry.js.map +1 -0
  202. package/dist/genexus-ide-ui/{p-2c733995.entry.js → p-d5903356.entry.js} +2 -2
  203. package/dist/genexus-ide-ui/{p-e9e4482b.entry.js → p-decf86d4.entry.js} +114 -127
  204. package/dist/genexus-ide-ui/p-decf86d4.entry.js.map +1 -0
  205. package/dist/genexus-ide-ui/{p-05102700.entry.js → p-df72101e.entry.js} +2 -2
  206. package/dist/genexus-ide-ui/{p-045a084f.entry.js → p-f37ec5b8.entry.js} +2 -1
  207. package/dist/genexus-ide-ui/p-f37ec5b8.entry.js.map +1 -0
  208. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/dropdown/dropdown.css +28 -28
  209. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/tree-view/tree-view-item/tree-view-item.css +0 -2
  210. package/dist/node_modules/@genexus/gemini/dist/collection/components/buttons-container/buttons-container.css +11 -0
  211. package/dist/node_modules/@genexus/gemini/dist/collection/components/ide-loader/ide-loader.css +3 -0
  212. package/dist/node_modules/@genexus/gemini/dist/collection/components/suggest/styles.css +1 -0
  213. package/dist/node_modules/@genexus/gemini/dist/collection/components/tabs/tabs.css +1 -0
  214. package/dist/node_modules/@genexus/gemini/dist/collection/components/top-state-bar/gxg-top-state-bar.css +51 -62
  215. package/dist/node_modules/@genexus/gemini/dist/collection/components/tree-view/tree-view.css +37 -54
  216. package/dist/types/common/common.d.ts +2 -0
  217. package/dist/types/components/_helpers/container/container.d.ts +8 -0
  218. package/dist/types/components/_helpers/status-buttons/gx-ide-status-buttons.d.ts +0 -20
  219. package/dist/types/components/modules/edit-module-servers/edit-module-servers.d.ts +60 -0
  220. package/dist/types/components/modules/manage-module-references/manage-module-references.d.ts +110 -0
  221. package/dist/types/components/modules/types.d.ts +41 -0
  222. package/dist/types/components.d.ts +226 -80
  223. package/package.json +3 -3
  224. package/dist/cjs/common-103f62f6.js.map +0 -1
  225. package/dist/cjs/gx-ide-container_2.cjs.entry.js.map +0 -1
  226. package/dist/cjs/gx-ide-status-buttons_2.cjs.entry.js +0 -187
  227. package/dist/cjs/gx-ide-status-buttons_2.cjs.entry.js.map +0 -1
  228. package/dist/cjs/gxg-buttons-container.cjs.entry.js +0 -65
  229. package/dist/cjs/gxg-buttons-container.cjs.entry.js.map +0 -1
  230. package/dist/cjs/gxg-title-editable.cjs.entry.js +0 -128
  231. package/dist/cjs/gxg-title-editable.cjs.entry.js.map +0 -1
  232. package/dist/cjs/gxg-title.cjs.entry.js +0 -47
  233. package/dist/cjs/gxg-title.cjs.entry.js.map +0 -1
  234. package/dist/esm/common-f2983db2.js.map +0 -1
  235. package/dist/esm/gx-ide-container_2.entry.js.map +0 -1
  236. package/dist/esm/gx-ide-empty-state_2.entry.js.map +0 -1
  237. package/dist/esm/gx-ide-status-buttons_2.entry.js +0 -182
  238. package/dist/esm/gx-ide-status-buttons_2.entry.js.map +0 -1
  239. package/dist/esm/gxg-buttons-container.entry.js +0 -61
  240. package/dist/esm/gxg-buttons-container.entry.js.map +0 -1
  241. package/dist/esm/gxg-title-editable.entry.js +0 -124
  242. package/dist/esm/gxg-title-editable.entry.js.map +0 -1
  243. package/dist/esm/gxg-title.entry.js +0 -43
  244. package/dist/esm/gxg-title.entry.js.map +0 -1
  245. package/dist/genexus-ide-ui/p-045a084f.entry.js.map +0 -1
  246. package/dist/genexus-ide-ui/p-40121554.entry.js.map +0 -1
  247. package/dist/genexus-ide-ui/p-419b2877.entry.js.map +0 -1
  248. package/dist/genexus-ide-ui/p-5a5d3e19.entry.js.map +0 -1
  249. package/dist/genexus-ide-ui/p-67406b36.entry.js +0 -71
  250. package/dist/genexus-ide-ui/p-67406b36.entry.js.map +0 -1
  251. package/dist/genexus-ide-ui/p-67ea84e8.js +0 -74
  252. package/dist/genexus-ide-ui/p-67ea84e8.js.map +0 -1
  253. package/dist/genexus-ide-ui/p-94015503.entry.js.map +0 -1
  254. package/dist/genexus-ide-ui/p-ca7233a5.entry.js.map +0 -1
  255. package/dist/genexus-ide-ui/p-cf5c3c10.entry.js +0 -270
  256. package/dist/genexus-ide-ui/p-cf5c3c10.entry.js.map +0 -1
  257. package/dist/genexus-ide-ui/p-d50b5b9a.entry.js +0 -67
  258. package/dist/genexus-ide-ui/p-d50b5b9a.entry.js.map +0 -1
  259. package/dist/genexus-ide-ui/p-e9e4482b.entry.js.map +0 -1
  260. package/dist/genexus-ide-ui/p-ee9f4e20.entry.js.map +0 -1
  261. /package/dist/genexus-ide-ui/{p-001e085a.entry.js.map → p-51e86542.entry.js.map} +0 -0
  262. /package/dist/genexus-ide-ui/{p-afce38d4.entry.js.map → p-b2099890.entry.js.map} +0 -0
  263. /package/dist/genexus-ide-ui/{p-513ec2ad.entry.js.map → p-b4e526d6.entry.js.map} +0 -0
  264. /package/dist/genexus-ide-ui/{p-2c733995.entry.js.map → p-d5903356.entry.js.map} +0 -0
  265. /package/dist/genexus-ide-ui/{p-05102700.entry.js.map → p-df72101e.entry.js.map} +0 -0
@@ -0,0 +1,501 @@
1
+ /* STENCIL IMPORTS */
2
+ import { Host, h } from "@stencil/core";
3
+ import { renderModuleDataProperties } from "../../../common/common";
4
+ import { Locale } from "../../../common/locale";
5
+ export class GxManageModuleReferences {
6
+ constructor() {
7
+ this.renderedFirstTime = false;
8
+ // 9.LOCAL METHODS //
9
+ this.updateModulesSelectedVersion = (modulesAll) => {
10
+ if (this.selectedServerId !== this.selectedServerIdOnModulesAllUpdate) {
11
+ // the server has changed. clear the updateModulesSelectedVersion
12
+ this.modulesSelectedVersion.clear();
13
+ modulesAll.forEach(module => {
14
+ this.modulesSelectedVersion.set(module.id, module.versions[module.versions.length - 1].id);
15
+ });
16
+ }
17
+ else {
18
+ // the server has't changed. only add the module to the map, if it is a new module.
19
+ modulesAll.forEach(module => {
20
+ const newModule = this.modulesSelectedVersion.get(module.id) === undefined;
21
+ if (newModule) {
22
+ this.modulesSelectedVersion.set(module.id, module.versions[0].id);
23
+ }
24
+ });
25
+ }
26
+ this.selectedServerIdOnModulesAllUpdate = this.selectedServerId;
27
+ };
28
+ this.getActionFromCurrentModuleVersion = () => {
29
+ const action = this.getModuleData(this.selectedModule, "action");
30
+ return action || "install";
31
+ };
32
+ /**
33
+ * Callback invoked to get the progress when module is performing an action
34
+ */
35
+ this.onProgress = (message, progress, state) => {
36
+ const data = { message, progress, state };
37
+ this.selectedModuleAction = Object.assign({}, data);
38
+ this.progressValue = this.selectedModuleAction.progress;
39
+ this.progressState = this.selectedModuleAction.state;
40
+ };
41
+ // 10.LOCAL METHODS //
42
+ /**
43
+ * Used for changing the selected module
44
+ */
45
+ this.handleModuleChange = (event) => {
46
+ const selectedModuleId = event.detail.rowsId[0];
47
+ const foundModule = this.modulesAll.find(item => item.id === selectedModuleId);
48
+ if (foundModule) {
49
+ this.selectedModule = foundModule;
50
+ }
51
+ };
52
+ /**
53
+ * Change the server selected value in response to callbackServerSelected callback
54
+ */
55
+ this.serverSelectedCallbackHandler = async (id) => {
56
+ if (this.serverSelectedCallback) {
57
+ this.loadingServer = true;
58
+ const resolvedObjects = await this.serverSelectedCallback(id);
59
+ this.selectedServerId = id;
60
+ this.modulesAll = [...resolvedObjects];
61
+ this.filterModulesByType("browse");
62
+ this.selectedModule = this.filteredModules[0];
63
+ this.loadingServer = false;
64
+ }
65
+ };
66
+ this.handleFilterChange = (value) => {
67
+ const trimmedValue = value.trim();
68
+ if (trimmedValue) {
69
+ const lowerCaseValue = trimmedValue.toLowerCase();
70
+ this.filteredModules = this.modulesAll.filter(module => {
71
+ const selectedVersionName = this.getModuleData(module, "name");
72
+ return selectedVersionName === null || selectedVersionName === void 0 ? void 0 : selectedVersionName.toLowerCase().includes(lowerCaseValue);
73
+ });
74
+ }
75
+ else {
76
+ this.filteredModules = this.modulesAll;
77
+ }
78
+ };
79
+ /**
80
+ * Perform an action relative to a module using callbackExecuteAction callback and receive the state of that action with onProgress callback
81
+ */
82
+ this.executeActionCallbackHandler = async (module) => {
83
+ if (this.executeActionCallback) {
84
+ console.log("hey!");
85
+ const moduleSelectedVersionId = this.modulesSelectedVersion.get(module.id);
86
+ const actionCompleted = await this.executeActionCallback(this.selectedServerId, module.id, moduleSelectedVersionId, this.getActionFromCurrentModuleVersion(), this.onProgress);
87
+ this.actionCompleted = actionCompleted;
88
+ }
89
+ };
90
+ this.filterModulesByType = (type) => {
91
+ // browse
92
+ if (type === "browse") {
93
+ this.filteredModules = this.modulesAll;
94
+ }
95
+ // installed
96
+ else if (type === "installed") {
97
+ this.filteredModules = this.modulesAll.filter((module) => {
98
+ // if the module has a currentVersion (not undefined) it means it is installed
99
+ return module.currentVersion;
100
+ });
101
+ }
102
+ else if (type === "updates") {
103
+ this.filteredModules = this.modulesAll.filter((module) => {
104
+ return module.versions.find(version => version.action === "update");
105
+ });
106
+ }
107
+ };
108
+ this.showModuleMenu = async (e) => {
109
+ if (this.serverContextMenuCallback) {
110
+ const buttonBoundingClientRect = e.target.getBoundingClientRect();
111
+ await this.serverContextMenuCallback({
112
+ selection: [this.selectedServerId],
113
+ clientX: buttonBoundingClientRect.x,
114
+ clientY: buttonBoundingClientRect.y
115
+ });
116
+ }
117
+ };
118
+ this.getModuleData = (module, dataType) => {
119
+ const selectedVersionId = this.modulesSelectedVersion.get(module.id);
120
+ let selectedVersion;
121
+ let selectedVersionData;
122
+ if (selectedVersionId) {
123
+ selectedVersion = module.versions.find(version => version.id === selectedVersionId);
124
+ }
125
+ if (selectedVersion) {
126
+ selectedVersionData = selectedVersion[dataType];
127
+ }
128
+ return selectedVersionData;
129
+ };
130
+ this.renderModulesGrid = () => {
131
+ return (h("gxg-grid", { noBorder: true, fullHeight: true }, h("ch-grid", { rowSelectionMode: "single", part: "ch-grid-pending-commits", class: "servers-detail no-border", onSelectionChanged: this.handleModuleChange }, h("ch-grid-columnset", null, h("ch-grid-column", { settingable: false, size: "min-content" }), h("ch-grid-column", { settingable: false }), h("ch-grid-column", { settingable: false, size: "min-content" })), this.filteredModules.map((module) => (h("ch-grid-row", { rowid: module.id, key: module.id, selected: this.selectedModule && this.selectedModule.id === module.id }, h("ch-grid-cell", null, h("gxg-icon", { type: "objects/module", color: this.moduleVersionIconColor(module), size: "small" })), h("ch-grid-cell", { class: "grid-cell-module__info" }, h("span", { class: "grid-cell-module__name" }, this.getModuleData(module, "name")), h("span", { class: "grid-cell-module__description" }, this.getModuleData(module, "description"))), h("ch-grid-cell", null, this.selectedModule && this.selectedModule.id === module.id ? (h("gxg-button", { disabled: !this.actionCompleted ||
132
+ this.getModuleData(module, "action") === "incompatible" ||
133
+ this.getModuleData(module, "action") === "not-installable", fit: true, part: "module-action", onClick: () => {
134
+ this.actionCompleted = false;
135
+ this.closeProgressBar = false;
136
+ this.executeActionCallbackHandler(module);
137
+ } }, this.getActionFromCurrentModuleVersion())) : null)))))));
138
+ };
139
+ this.renderEmptyStateModules = () => {
140
+ return (h("gx-ide-empty-state", { stateIcon: "mercury/filters", stateTitle: this._componentLocale.modules.noModulesFilter }));
141
+ };
142
+ this.moduleVersionIconColor = (module) => {
143
+ const moduleAction = this.getModuleData(module, "action");
144
+ if (moduleAction === "not-installable" || moduleAction === "incompatible") {
145
+ return "warning";
146
+ }
147
+ else if (moduleAction === "install") {
148
+ return "mercury-primary-disabled";
149
+ }
150
+ else {
151
+ return "mercury-primary";
152
+ }
153
+ };
154
+ /* module details/information renders*/
155
+ this.renderModuleName = () => {
156
+ return (h("gxg-title", { part: "module-info__name", type: "title-05" }, h("div", { class: "module-info__name" }, h("gxg-icon", { type: "objects/module", color: this.moduleVersionIconColor(this.selectedModule) }), this.getModuleData(this.selectedModule, "name"))));
157
+ };
158
+ this.renderModuleAlertMessage = () => {
159
+ const alertMessage = this.getModuleData(this.selectedModule, "alertMessage");
160
+ if (alertMessage) {
161
+ return h("p", { class: "module-info__alert-message" }, alertMessage);
162
+ }
163
+ };
164
+ this.renderModuleAction = () => {
165
+ const action = this.getActionFromCurrentModuleVersion();
166
+ let actionDescription;
167
+ let cssClass = "module-info__action-container";
168
+ if (action === "restore" || action === "update") {
169
+ actionDescription =
170
+ this._componentLocale.modulesInformation.moduleProperties.installed;
171
+ cssClass += ` module-info__action-container--installed`;
172
+ }
173
+ else if (action === "incompatible" || action === "not-installable") {
174
+ actionDescription = "Can not be installed";
175
+ }
176
+ else {
177
+ actionDescription =
178
+ this._componentLocale.modulesInformation.moduleProperties.notInstalled;
179
+ }
180
+ return (h("div", { class: cssClass }, h("gxg-text", { part: "module-info__action" }, actionDescription)));
181
+ };
182
+ this.moduleVersionsValueChangedHandler = (e) => {
183
+ const versionId = e.detail;
184
+ this.updateSelectedModuleVersion(versionId);
185
+ };
186
+ this.moduleVersionsItemChangedHandler = (e) => {
187
+ const versionId = e.detail.value;
188
+ this.updateSelectedModuleVersion(versionId);
189
+ };
190
+ this.updateSelectedModuleVersion = (versionId) => {
191
+ if (versionId) {
192
+ this.selectedModule = Object.assign(Object.assign({}, this.selectedModule), { currentVersion: versionId });
193
+ this.modulesSelectedVersion.set(this.selectedModule.id, versionId);
194
+ }
195
+ };
196
+ this.renderModuleVersions = () => {
197
+ return (h("div", { part: "available-versions" }, h("gxg-combo-box", { id: "versions-combo-box", "disable-filter": true, value: this.getModuleData(this.selectedModule, "id"), part: "module-versions", "display-validation-styles": true, "display-validation-message": true, label: this._componentLocale.modulesInformation.moduleProperties
198
+ .availableVersions, labelPosition: "start", centerLabel: true, onValueChanged: this.moduleVersionsValueChangedHandler, disabled: this.loadingServer }, this.selectedModule.versions.map(item => (h("gxg-combo-box-item", { value: item.id, onItemSelected: this.moduleVersionsItemChangedHandler }, item.id))))));
199
+ };
200
+ this.selectedButtonChangedHandler = (e) => {
201
+ const type = e.detail.replace("btn-", "");
202
+ this.filterModulesByType(type);
203
+ };
204
+ this.serverItemSelectedHandler = (e) => {
205
+ const serverId = e.detail.value;
206
+ this.serverSelectedCallbackHandler(serverId);
207
+ };
208
+ this.serverValueChangedHandler = (e) => {
209
+ const serverId = e.detail;
210
+ this.serverSelectedCallbackHandler(serverId);
211
+ };
212
+ this.progressBarCloseHandler = () => {
213
+ setTimeout(() => {
214
+ this.actionCompleted = true;
215
+ this.closeProgressBar = true;
216
+ // reset
217
+ this.progressValue = 0;
218
+ this.progressState = "in-progress";
219
+ }, 400);
220
+ // delay to force the footer line disappear after the top-state-bar has been closed.
221
+ };
222
+ this.modulesAll = [];
223
+ this.filteredModules = [];
224
+ this.selectedModule = undefined;
225
+ this.selectedServerId = undefined;
226
+ this.selectedModuleAction = {
227
+ message: "",
228
+ progress: 0,
229
+ state: "in-progress"
230
+ };
231
+ this.modulesSelectedVersion = new Map();
232
+ this.actionCompleted = true;
233
+ this.closeProgressBar = true;
234
+ this.progressValue = 0;
235
+ this.progressState = "in-progress";
236
+ this.loadingServer = false;
237
+ this.displayTitle = false;
238
+ this.servers = [];
239
+ this.serverSelectedCallback = undefined;
240
+ this.executeActionCallback = undefined;
241
+ this.addServerCallback = undefined;
242
+ this.serverContextMenuCallback = undefined;
243
+ }
244
+ modulesAllWatcher(modulesAll) {
245
+ this.updateModulesSelectedVersion(modulesAll);
246
+ }
247
+ loadingServerHandler(loading) {
248
+ if (loading) {
249
+ this.loaderEl.show = true;
250
+ }
251
+ else {
252
+ this.loaderEl.show = false;
253
+ }
254
+ }
255
+ // 6.COMPONENT LIFECYCLE EVENTS //
256
+ componentDidRender() {
257
+ if (!this.renderedFirstTime) {
258
+ this.componentDidRenderFirstTime.emit(this._componentLocale.componentName);
259
+ this.renderedFirstTime = true;
260
+ }
261
+ }
262
+ async componentWillLoad() {
263
+ this._componentLocale = await Locale.getComponentStrings(this.el);
264
+ }
265
+ async componentDidLoad() {
266
+ await this.serverSelectedCallbackHandler(this.servers[0].id);
267
+ }
268
+ // 7.LISTENERS //
269
+ onPropValueChange(newModulesData) {
270
+ this.filteredModules = [...newModulesData];
271
+ }
272
+ // 8.PUBLIC METHODS API //
273
+ /**
274
+ * validate
275
+ */
276
+ async validate() {
277
+ return true;
278
+ }
279
+ // 11.RENDER() FUNCTION //
280
+ render() {
281
+ return (h(Host, { class: {
282
+ "gx-ide-component": true
283
+ } }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { noContentPadding: true, noAboveFooterPadding: true, noBorderAboveFooter: this.closeProgressBar, part: "servers", containerTitle: this.displayTitle ? this._componentLocale.componentName : null }, h("main", { class: "main" }, h("div", { class: "modules__container" }, h("header", { class: "modules__header" }, h("div", { class: "modules__combo-container" }, h("gxg-label", null, this._componentLocale.modules.selectServer), h("div", { class: "modules__combo" }, h("gxg-combo-box", { disableFilter: true, onValueChanged: this.serverValueChangedHandler }, this.servers.map(item => (h("gxg-combo-box-item", { value: item.id, onItemSelected: this.serverItemSelectedHandler }, item.name)))), h("span", { class: "modules__menu-container" }, h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/show-more-horizontal", onClick: this.showModuleMenu }))))), h("div", { class: "modules__main" }, h("div", { class: "modules__main-header" }, h("gxg-form-text", { label: this._componentLocale.modules.searchModules, labelPosition: "above", centerLabel: false, onValueChanged: (event) => {
284
+ this.handleFilterChange(event.detail);
285
+ }, disabled: this.loadingServer }), h("gxg-buttons-container", { reduced: true, fullWidth: true, class: "modules__browser", onSelectedButtonChanged: this.selectedButtonChangedHandler }, h("gxg-button", { id: "btn-browse", selected: true, disabled: this.loadingServer }, this._componentLocale.modules.buttonsContainer.browse), h("gxg-button", { id: "btn-installed", disabled: this.loadingServer }, this._componentLocale.modules.buttonsContainer
286
+ .installed), h("gxg-button", { id: "btn-updates", disabled: this.loadingServer }, this._componentLocale.modules.buttonsContainer.updates))), h("div", { class: "grid-container", ref: el => (this.serversDetail = el) }, this.filteredModules.length > 0
287
+ ? this.renderModulesGrid()
288
+ : this.renderEmptyStateModules()))), this.selectedModule ? (h("div", { class: "module-info" }, h("header", { class: "module-info__header" }, this.renderModuleName(), this.renderModuleAlertMessage(), this.renderModuleAction(), this.renderModuleVersions()), h("div", { class: "module-info__properties gxg-scrollbar" }, renderModuleDataProperties(this.getModuleData(this.selectedModule, "properties"))))) : (h("gx-ide-empty-state", { class: "recent-objects__empty-state", stateIcon: "objects/module", stateTitle: this._componentLocale.modulesInformation.emptyState.title, stateDescription: this._componentLocale.modulesInformation.emptyState
289
+ .description }))), h("gxg-top-state-bar", { slot: "footer-above", part: "progress-bar", stateType: this.progressState, noBorder: true, caption: this.selectedModuleAction.message ||
290
+ this._componentLocale.progressBar.defaultCaption, progress: this.progressValue, active: !this.actionCompleted || !this.closeProgressBar, autoClose: false, withClose: true, closedCallback: this.progressBarCloseHandler }))), h("gxg-ide-loader", { loaderTitle: this._componentLocale.servers.loading, ref: el => (this.loaderEl = el), container: this.serversDetail, borderRadius: "0 0 0 8px" })));
291
+ }
292
+ static get is() { return "gx-ide-manage-module-references"; }
293
+ static get encapsulation() { return "shadow"; }
294
+ static get originalStyleUrls() {
295
+ return {
296
+ "$": ["manage-module-references.scss"]
297
+ };
298
+ }
299
+ static get styleUrls() {
300
+ return {
301
+ "$": ["manage-module-references.css"]
302
+ };
303
+ }
304
+ static get assetsDirs() { return ["gx-ide-assets/manage-module-references"]; }
305
+ static get properties() {
306
+ return {
307
+ "displayTitle": {
308
+ "type": "boolean",
309
+ "mutable": false,
310
+ "complexType": {
311
+ "original": "false",
312
+ "resolved": "boolean",
313
+ "references": {}
314
+ },
315
+ "required": false,
316
+ "optional": false,
317
+ "docs": {
318
+ "tags": [],
319
+ "text": "If true it displays the component title on the header"
320
+ },
321
+ "attribute": "display-title",
322
+ "reflect": false,
323
+ "defaultValue": "false"
324
+ },
325
+ "servers": {
326
+ "type": "unknown",
327
+ "mutable": false,
328
+ "complexType": {
329
+ "original": "ModuleServerData[]",
330
+ "resolved": "ModuleServerData[]",
331
+ "references": {
332
+ "ModuleServerData": {
333
+ "location": "import",
334
+ "path": "../types",
335
+ "id": "src/components/modules/types.ts::ModuleServerData"
336
+ }
337
+ }
338
+ },
339
+ "required": false,
340
+ "optional": false,
341
+ "docs": {
342
+ "tags": [],
343
+ "text": "List of module servers currently cataloged"
344
+ },
345
+ "defaultValue": "[]"
346
+ },
347
+ "serverSelectedCallback": {
348
+ "type": "unknown",
349
+ "mutable": false,
350
+ "complexType": {
351
+ "original": "ServerSelectedCallback",
352
+ "resolved": "(id: string) => Promise<ModuleData[]>",
353
+ "references": {
354
+ "ServerSelectedCallback": {
355
+ "location": "local",
356
+ "path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/modules/manage-module-references/manage-module-references.tsx",
357
+ "id": "src/components/modules/manage-module-references/manage-module-references.tsx::ServerSelectedCallback"
358
+ }
359
+ }
360
+ },
361
+ "required": false,
362
+ "optional": false,
363
+ "docs": {
364
+ "tags": [],
365
+ "text": "Callback invoked when a server is selected. Returns the set of modules available on that server."
366
+ }
367
+ },
368
+ "executeActionCallback": {
369
+ "type": "unknown",
370
+ "mutable": false,
371
+ "complexType": {
372
+ "original": "ExecuteActionCallback",
373
+ "resolved": "(serverId: string, moduleId: string, moduleVersionId: string, action: ModuleActionType, onProgress: (message: string, progress: number, state: topStateBarType) => void) => Promise<boolean>",
374
+ "references": {
375
+ "ExecuteActionCallback": {
376
+ "location": "local",
377
+ "path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/modules/manage-module-references/manage-module-references.tsx",
378
+ "id": "src/components/modules/manage-module-references/manage-module-references.tsx::ExecuteActionCallback"
379
+ }
380
+ }
381
+ },
382
+ "required": false,
383
+ "optional": false,
384
+ "docs": {
385
+ "tags": [],
386
+ "text": "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."
387
+ }
388
+ },
389
+ "addServerCallback": {
390
+ "type": "unknown",
391
+ "mutable": false,
392
+ "complexType": {
393
+ "original": "AddServerCallback",
394
+ "resolved": "() => Promise<void>",
395
+ "references": {
396
+ "AddServerCallback": {
397
+ "location": "local",
398
+ "path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/modules/manage-module-references/manage-module-references.tsx",
399
+ "id": "src/components/modules/manage-module-references/manage-module-references.tsx::AddServerCallback"
400
+ }
401
+ }
402
+ },
403
+ "required": false,
404
+ "optional": false,
405
+ "docs": {
406
+ "tags": [],
407
+ "text": "Callback invoked when Add button is clicked"
408
+ }
409
+ },
410
+ "serverContextMenuCallback": {
411
+ "type": "unknown",
412
+ "mutable": false,
413
+ "complexType": {
414
+ "original": "ServerContextMenuCallback",
415
+ "resolved": "(contextMenuInfo: ContextMenuInfo) => Promise<void>",
416
+ "references": {
417
+ "ServerContextMenuCallback": {
418
+ "location": "local",
419
+ "path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/modules/manage-module-references/manage-module-references.tsx",
420
+ "id": "src/components/modules/manage-module-references/manage-module-references.tsx::ServerContextMenuCallback"
421
+ }
422
+ }
423
+ },
424
+ "required": false,
425
+ "optional": false,
426
+ "docs": {
427
+ "tags": [],
428
+ "text": "Callback invoked when an element is right clicked on servers list"
429
+ }
430
+ }
431
+ };
432
+ }
433
+ static get states() {
434
+ return {
435
+ "modulesAll": {},
436
+ "filteredModules": {},
437
+ "selectedModule": {},
438
+ "selectedServerId": {},
439
+ "selectedModuleAction": {},
440
+ "modulesSelectedVersion": {},
441
+ "actionCompleted": {},
442
+ "closeProgressBar": {},
443
+ "progressValue": {},
444
+ "progressState": {},
445
+ "loadingServer": {}
446
+ };
447
+ }
448
+ static get events() {
449
+ return [{
450
+ "method": "componentDidRenderFirstTime",
451
+ "name": "componentDidRenderFirstTime",
452
+ "bubbles": true,
453
+ "cancelable": true,
454
+ "composed": true,
455
+ "docs": {
456
+ "tags": [],
457
+ "text": "This event is emitted once just after the component is fully loaded and the first render() occurs"
458
+ },
459
+ "complexType": {
460
+ "original": "boolean",
461
+ "resolved": "boolean",
462
+ "references": {}
463
+ }
464
+ }];
465
+ }
466
+ static get methods() {
467
+ return {
468
+ "validate": {
469
+ "complexType": {
470
+ "signature": "() => Promise<boolean>",
471
+ "parameters": [],
472
+ "references": {
473
+ "Promise": {
474
+ "location": "global",
475
+ "id": "global::Promise"
476
+ }
477
+ },
478
+ "return": "Promise<boolean>"
479
+ },
480
+ "docs": {
481
+ "text": "validate",
482
+ "tags": []
483
+ }
484
+ }
485
+ };
486
+ }
487
+ static get elementRef() { return "el"; }
488
+ static get watchers() {
489
+ return [{
490
+ "propName": "modulesAll",
491
+ "methodName": "modulesAllWatcher"
492
+ }, {
493
+ "propName": "loadingServer",
494
+ "methodName": "loadingServerHandler"
495
+ }, {
496
+ "propName": "modulesAll",
497
+ "methodName": "onPropValueChange"
498
+ }];
499
+ }
500
+ }
501
+ //# sourceMappingURL=manage-module-references.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manage-module-references.js","sourceRoot":"","sources":["../../../../src/components/modules/manage-module-references/manage-module-references.tsx"],"names":[],"mappings":"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","sourcesContent":["/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Event,\n Element,\n EventEmitter,\n Method,\n State,\n Watch\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { Color } from \"@genexus/gemini\";\nimport { topStateBarType } from \"@genexus/gemini\";\nimport { ChGridSelectionChangedEvent } from \"@genexus/chameleon-controls-library\";\n/* CUSTOM IMPORTS */\nimport {\n ModuleServerData,\n ModuleData,\n ModuleActionType,\n ModuleFilterType,\n ModulePropertyData,\n ModuleVersionData\n} from \"../types\";\nimport { renderModuleDataProperties } from \"../../../common/common\";\nimport { Locale } from \"../../../common/locale\";\nimport { ContextMenuInfo } from \"../../../common/types\";\n\n@Component({\n tag: \"gx-ide-manage-module-references\",\n styleUrl: \"manage-module-references.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/manage-module-references\"]\n})\nexport class GxManageModuleReferences {\n // 1.OWN PROPERTIES | WATCH'S //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n /* selectedServerIdOnModulesAllUpdate is updated every time modulesAll is modified, in order to determine if the server is the same or not.*/\n private selectedServerIdOnModulesAllUpdate: string;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeManageModuleReferencesElement;\n private loaderEl!: HTMLGxgIdeLoaderElement;\n private serversDetail!: HTMLDivElement;\n\n // 3.STATE() VARIABLES //\n\n @State() modulesAll: ModuleData[] = [];\n @Watch(\"modulesAll\")\n modulesAllWatcher(modulesAll: ModuleData[]) {\n this.updateModulesSelectedVersion(modulesAll);\n }\n @State() filteredModules: ModuleData[] = [];\n @State() selectedModule: ModuleData;\n @State() selectedServerId: string;\n @State() selectedModuleAction: ActionInfo = {\n message: \"\",\n progress: 0,\n state: \"in-progress\"\n };\n @State() modulesSelectedVersion: Map<string, string> = new Map();\n @State() actionCompleted = true;\n @State() closeProgressBar = true;\n @State() progressValue: number = 0;\n @State() progressState: topStateBarType = \"in-progress\";\n @State() loadingServer = false;\n @Watch(\"loadingServer\")\n loadingServerHandler(loading: boolean) {\n if (loading) {\n this.loaderEl.show = true;\n } else {\n this.loaderEl.show = false;\n }\n }\n\n // 4.PUBLIC PROPERTY API //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * List of module servers currently cataloged\n */\n @Prop() readonly servers: ModuleServerData[] = [];\n\n /**\n * Callback invoked when a server is selected. Returns the set of modules available on that server.\n */\n @Prop() readonly serverSelectedCallback: ServerSelectedCallback;\n\n /**\n * Callback invoked when the user wants to execute the action corresponding to a selected module. When the action begins to be executed, the component must be able to show the progress of the action. For this, the onProgress parameter is available, which is in turn a callback used by the host to notify the progress by text message and percentage.\n */\n @Prop() readonly executeActionCallback: ExecuteActionCallback;\n\n /**\n * Callback invoked when Add button is clicked\n */\n @Prop() readonly addServerCallback: AddServerCallback;\n\n /**\n * Callback invoked when an element is right clicked on servers list\n */\n @Prop() readonly serverContextMenuCallback: ServerContextMenuCallback;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n async componentDidLoad() {\n await this.serverSelectedCallbackHandler(this.servers[0].id);\n }\n\n // 7.LISTENERS //\n\n @Watch(\"modulesAll\")\n onPropValueChange(newModulesData: ModuleData[]) {\n this.filteredModules = [...newModulesData];\n }\n\n // 8.PUBLIC METHODS API //\n\n /**\n * validate\n */\n @Method()\n async validate(): Promise<boolean> {\n return true;\n }\n\n // 9.LOCAL METHODS //\n\n private updateModulesSelectedVersion = (modulesAll: ModuleData[]) => {\n if (this.selectedServerId !== this.selectedServerIdOnModulesAllUpdate) {\n // the server has changed. clear the updateModulesSelectedVersion\n this.modulesSelectedVersion.clear();\n modulesAll.forEach(module => {\n this.modulesSelectedVersion.set(\n module.id,\n module.versions[module.versions.length - 1].id\n );\n });\n } else {\n // the server has't changed. only add the module to the map, if it is a new module.\n modulesAll.forEach(module => {\n const newModule =\n this.modulesSelectedVersion.get(module.id) === undefined;\n if (newModule) {\n this.modulesSelectedVersion.set(module.id, module.versions[0].id);\n }\n });\n }\n this.selectedServerIdOnModulesAllUpdate = this.selectedServerId;\n };\n\n private getActionFromCurrentModuleVersion = (): ModuleActionType => {\n const action = this.getModuleData(\n this.selectedModule,\n \"action\"\n ) as ModuleActionType;\n return action || \"install\";\n };\n\n /**\n * Callback invoked to get the progress when module is performing an action\n */\n private onProgress = (\n message: string,\n progress: number,\n state: topStateBarType\n ): void => {\n const data = { message, progress, state };\n this.selectedModuleAction = { ...data };\n this.progressValue = this.selectedModuleAction.progress;\n this.progressState = this.selectedModuleAction.state;\n };\n\n // 10.LOCAL METHODS //\n\n /**\n * Used for changing the selected module\n */\n private handleModuleChange = (\n event: CustomEvent<ChGridSelectionChangedEvent>\n ) => {\n const selectedModuleId = event.detail.rowsId[0];\n const foundModule = this.modulesAll.find(\n item => item.id === selectedModuleId\n );\n if (foundModule) {\n this.selectedModule = foundModule;\n }\n };\n\n /**\n * Change the server selected value in response to callbackServerSelected callback\n */\n private serverSelectedCallbackHandler = async (id: any) => {\n if (this.serverSelectedCallback) {\n this.loadingServer = true;\n const resolvedObjects = await this.serverSelectedCallback(id);\n this.selectedServerId = id;\n this.modulesAll = [...resolvedObjects];\n this.filterModulesByType(\"browse\");\n this.selectedModule = this.filteredModules[0];\n this.loadingServer = false;\n }\n };\n\n private handleFilterChange = (value: string) => {\n const trimmedValue = value.trim();\n\n if (trimmedValue) {\n const lowerCaseValue = trimmedValue.toLowerCase();\n this.filteredModules = this.modulesAll.filter(module => {\n const selectedVersionName = this.getModuleData(\n module,\n \"name\"\n ) as string;\n return selectedVersionName?.toLowerCase().includes(lowerCaseValue);\n });\n } else {\n this.filteredModules = this.modulesAll;\n }\n };\n\n /**\n * Perform an action relative to a module using callbackExecuteAction callback and receive the state of that action with onProgress callback\n */\n private executeActionCallbackHandler = async (module: ModuleData) => {\n if (this.executeActionCallback) {\n console.log(\"hey!\");\n const moduleSelectedVersionId = this.modulesSelectedVersion.get(\n module.id\n );\n const actionCompleted = await this.executeActionCallback(\n this.selectedServerId,\n module.id,\n moduleSelectedVersionId,\n this.getActionFromCurrentModuleVersion(),\n this.onProgress\n );\n this.actionCompleted = actionCompleted;\n }\n };\n\n private filterModulesByType = (type: ModuleFilterType) => {\n // browse\n if (type === \"browse\") {\n this.filteredModules = this.modulesAll;\n }\n // installed\n else if (type === \"installed\") {\n this.filteredModules = this.modulesAll.filter((module: ModuleData) => {\n // if the module has a currentVersion (not undefined) it means it is installed\n return module.currentVersion;\n });\n } else if (type === \"updates\") {\n this.filteredModules = this.modulesAll.filter((module: ModuleData) => {\n return module.versions.find(version => version.action === \"update\");\n });\n }\n };\n\n private showModuleMenu = async (e: MouseEvent) => {\n if (this.serverContextMenuCallback) {\n const buttonBoundingClientRect = (\n e.target as HTMLElement\n ).getBoundingClientRect();\n await this.serverContextMenuCallback({\n selection: [this.selectedServerId],\n clientX: buttonBoundingClientRect.x,\n clientY: buttonBoundingClientRect.y\n });\n }\n };\n\n private getModuleData = (\n module: ModuleData,\n dataType: keyof ModuleVersionData\n ): string | ModulePropertyData[] | undefined => {\n const selectedVersionId = this.modulesSelectedVersion.get(module.id);\n let selectedVersion;\n let selectedVersionData;\n if (selectedVersionId) {\n selectedVersion = module.versions.find(\n version => version.id === selectedVersionId\n );\n }\n if (selectedVersion) {\n selectedVersionData = selectedVersion[dataType];\n }\n return selectedVersionData;\n };\n\n private renderModulesGrid = (): Element => {\n return (\n <gxg-grid noBorder fullHeight>\n <ch-grid\n rowSelectionMode=\"single\"\n part=\"ch-grid-pending-commits\"\n class=\"servers-detail no-border\"\n onSelectionChanged={this.handleModuleChange}\n >\n <ch-grid-columnset>\n <ch-grid-column\n settingable={false}\n size=\"min-content\"\n ></ch-grid-column>\n\n <ch-grid-column settingable={false}></ch-grid-column>\n <ch-grid-column\n settingable={false}\n size=\"min-content\"\n ></ch-grid-column>\n </ch-grid-columnset>\n\n {this.filteredModules.map((module: ModuleData) => (\n <ch-grid-row\n rowid={module.id}\n key={module.id}\n selected={\n this.selectedModule && this.selectedModule.id === module.id\n }\n >\n <ch-grid-cell>\n <gxg-icon\n type=\"objects/module\"\n color={this.moduleVersionIconColor(module)}\n size=\"small\"\n ></gxg-icon>\n </ch-grid-cell>\n <ch-grid-cell class=\"grid-cell-module__info\">\n <span class=\"grid-cell-module__name\">\n {this.getModuleData(module, \"name\")}\n </span>\n <span class=\"grid-cell-module__description\">\n {this.getModuleData(module, \"description\")}\n </span>\n </ch-grid-cell>\n\n <ch-grid-cell>\n {this.selectedModule && this.selectedModule.id === module.id ? (\n <gxg-button\n disabled={\n !this.actionCompleted ||\n this.getModuleData(module, \"action\") === \"incompatible\" ||\n this.getModuleData(module, \"action\") === \"not-installable\"\n }\n fit\n part=\"module-action\"\n onClick={() => {\n this.actionCompleted = false;\n this.closeProgressBar = false;\n this.executeActionCallbackHandler(module);\n }}\n >\n {this.getActionFromCurrentModuleVersion()}\n </gxg-button>\n ) : null}\n </ch-grid-cell>\n </ch-grid-row>\n ))}\n </ch-grid>\n </gxg-grid>\n );\n };\n\n private renderEmptyStateModules = () => {\n return (\n <gx-ide-empty-state\n stateIcon=\"mercury/filters\"\n stateTitle={this._componentLocale.modules.noModulesFilter}\n ></gx-ide-empty-state>\n );\n };\n\n private moduleVersionIconColor = (module: ModuleData): Color => {\n const moduleAction = this.getModuleData(module, \"action\");\n if (moduleAction === \"not-installable\" || moduleAction === \"incompatible\") {\n return \"warning\";\n } else if (moduleAction === \"install\") {\n return \"mercury-primary-disabled\";\n } else {\n return \"mercury-primary\";\n }\n };\n\n /* module details/information renders*/\n private renderModuleName = () => {\n return (\n <gxg-title part=\"module-info__name\" type=\"title-05\">\n <div class=\"module-info__name\">\n <gxg-icon\n type=\"objects/module\"\n color={this.moduleVersionIconColor(this.selectedModule)}\n ></gxg-icon>\n {this.getModuleData(this.selectedModule, \"name\")}\n </div>\n </gxg-title>\n );\n };\n private renderModuleAlertMessage = () => {\n const alertMessage = this.getModuleData(\n this.selectedModule,\n \"alertMessage\"\n );\n if (alertMessage) {\n return <p class=\"module-info__alert-message\">{alertMessage}</p>;\n }\n };\n private renderModuleAction = () => {\n const action = this.getActionFromCurrentModuleVersion();\n let actionDescription;\n let cssClass = \"module-info__action-container\";\n if (action === \"restore\" || action === \"update\") {\n actionDescription =\n this._componentLocale.modulesInformation.moduleProperties.installed;\n cssClass += ` module-info__action-container--installed`;\n } else if (action === \"incompatible\" || action === \"not-installable\") {\n actionDescription = \"Can not be installed\";\n } else {\n actionDescription =\n this._componentLocale.modulesInformation.moduleProperties.notInstalled;\n }\n return (\n <div class={cssClass}>\n <gxg-text part=\"module-info__action\">{actionDescription}</gxg-text>\n </div>\n );\n };\n\n private moduleVersionsValueChangedHandler = (e: CustomEvent<any>) => {\n const versionId = e.detail;\n this.updateSelectedModuleVersion(versionId);\n };\n private moduleVersionsItemChangedHandler = (e: CustomEvent<any>) => {\n const versionId = e.detail.value;\n this.updateSelectedModuleVersion(versionId);\n };\n private updateSelectedModuleVersion = (versionId: string) => {\n if (versionId) {\n this.selectedModule = {\n ...this.selectedModule,\n currentVersion: versionId\n };\n this.modulesSelectedVersion.set(this.selectedModule.id, versionId);\n }\n };\n\n private renderModuleVersions = () => {\n return (\n <div part=\"available-versions\">\n <gxg-combo-box\n id=\"versions-combo-box\"\n disable-filter\n value={this.getModuleData(this.selectedModule, \"id\")}\n part=\"module-versions\"\n display-validation-styles\n display-validation-message\n label={\n this._componentLocale.modulesInformation.moduleProperties\n .availableVersions\n }\n labelPosition=\"start\"\n centerLabel\n onValueChanged={this.moduleVersionsValueChangedHandler}\n disabled={this.loadingServer}\n >\n {this.selectedModule.versions.map(item => (\n <gxg-combo-box-item\n value={item.id}\n onItemSelected={this.moduleVersionsItemChangedHandler}\n >\n {item.id}\n </gxg-combo-box-item>\n ))}\n </gxg-combo-box>\n </div>\n );\n };\n\n private selectedButtonChangedHandler = (e: CustomEvent<string>) => {\n const type = e.detail.replace(\"btn-\", \"\") as ModuleFilterType;\n this.filterModulesByType(type);\n };\n\n private serverItemSelectedHandler = (\n e: CustomEvent<{\n el: HTMLGxgComboBoxItemElement;\n index: number;\n value: any;\n icon?: string;\n }>\n ) => {\n const serverId = e.detail.value;\n this.serverSelectedCallbackHandler(serverId);\n };\n\n private serverValueChangedHandler = (e: CustomEvent<any>) => {\n const serverId = e.detail;\n this.serverSelectedCallbackHandler(serverId);\n };\n\n private progressBarCloseHandler = () => {\n setTimeout(() => {\n this.actionCompleted = true;\n this.closeProgressBar = true;\n // reset\n this.progressValue = 0;\n this.progressState = \"in-progress\";\n }, 400);\n // delay to force the footer line disappear after the top-state-bar has been closed.\n };\n\n // 11.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host\n class={{\n \"gx-ide-component\": true\n }}\n >\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n noContentPadding\n noAboveFooterPadding\n noBorderAboveFooter={this.closeProgressBar}\n part=\"servers\"\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n >\n {/* Servers*/}\n <main class=\"main\">\n <div class=\"modules__container\">\n <header class=\"modules__header\">\n <div class=\"modules__combo-container\">\n <gxg-label>\n {this._componentLocale.modules.selectServer}\n </gxg-label>\n <div class=\"modules__combo\">\n <gxg-combo-box\n disableFilter\n onValueChanged={this.serverValueChangedHandler}\n >\n {this.servers.map(item => (\n <gxg-combo-box-item\n value={item.id}\n onItemSelected={this.serverItemSelectedHandler}\n >\n {item.name}\n </gxg-combo-box-item>\n ))}\n </gxg-combo-box>\n <span class=\"modules__menu-container\">\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/show-more-horizontal\"\n onClick={this.showModuleMenu}\n ></gxg-button>\n </span>\n </div>\n </div>\n </header>\n\n <div class=\"modules__main\">\n <div class=\"modules__main-header\">\n <gxg-form-text\n label={this._componentLocale.modules.searchModules}\n labelPosition=\"above\"\n centerLabel={false}\n onValueChanged={(event: any) => {\n this.handleFilterChange(event.detail);\n }}\n disabled={this.loadingServer}\n ></gxg-form-text>\n <gxg-buttons-container\n reduced\n fullWidth\n class=\"modules__browser\"\n onSelectedButtonChanged={\n this.selectedButtonChangedHandler\n }\n >\n <gxg-button\n id=\"btn-browse\"\n selected\n disabled={this.loadingServer}\n >\n {this._componentLocale.modules.buttonsContainer.browse}\n </gxg-button>\n <gxg-button\n id=\"btn-installed\"\n disabled={this.loadingServer}\n >\n {\n this._componentLocale.modules.buttonsContainer\n .installed\n }\n </gxg-button>\n <gxg-button\n id=\"btn-updates\"\n disabled={this.loadingServer}\n >\n {this._componentLocale.modules.buttonsContainer.updates}\n </gxg-button>\n </gxg-buttons-container>\n </div>\n {/* modules grid*/}\n <div\n class=\"grid-container\"\n ref={el => (this.serversDetail = el as HTMLDivElement)}\n >\n {this.filteredModules.length > 0\n ? this.renderModulesGrid()\n : this.renderEmptyStateModules()}\n </div>\n </div>\n </div>\n\n {/* Module Information*/}\n {this.selectedModule ? (\n <div class=\"module-info\">\n <header class=\"module-info__header\">\n {this.renderModuleName()}\n {this.renderModuleAlertMessage()}\n {this.renderModuleAction()}\n {this.renderModuleVersions()}\n </header>\n <div class=\"module-info__properties gxg-scrollbar\">\n {renderModuleDataProperties(\n this.getModuleData(\n this.selectedModule,\n \"properties\"\n ) as ModulePropertyData[]\n )}\n </div>\n </div>\n ) : (\n <gx-ide-empty-state\n class=\"recent-objects__empty-state\"\n stateIcon=\"objects/module\"\n stateTitle={\n this._componentLocale.modulesInformation.emptyState.title\n }\n stateDescription={\n this._componentLocale.modulesInformation.emptyState\n .description\n }\n ></gx-ide-empty-state>\n )}\n </main>\n {/* Top State Bar*/}\n <gxg-top-state-bar\n slot=\"footer-above\"\n part=\"progress-bar\"\n stateType={this.progressState}\n noBorder\n caption={\n this.selectedModuleAction.message ||\n this._componentLocale.progressBar.defaultCaption\n }\n progress={this.progressValue}\n active={!this.actionCompleted || !this.closeProgressBar}\n autoClose={false}\n withClose\n closedCallback={this.progressBarCloseHandler}\n ></gxg-top-state-bar>\n </gx-ide-container>\n </div>\n <gxg-ide-loader\n loaderTitle={this._componentLocale.servers.loading}\n ref={el => (this.loaderEl = el as HTMLGxgIdeLoaderElement)}\n container={this.serversDetail}\n borderRadius=\"0 0 0 8px\"\n ></gxg-ide-loader>\n </Host>\n );\n }\n}\n\nexport type ExecuteActionCallback = (\n serverId: string,\n moduleId: string,\n moduleVersionId: string,\n action: ModuleActionType,\n onProgress: (\n message: string,\n progress: number,\n state: topStateBarType\n ) => void\n) => Promise<boolean>;\n\nexport type ServerSelectedCallback = (id: string) => Promise<ModuleData[]>;\n\nexport type AddServerCallback = () => Promise<void>;\n\nexport type ServerContextMenuCallback = (\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\nexport interface ActionInfo {\n message: string;\n progress: number;\n state: topStateBarType;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/modules/types.ts"],"names":[],"mappings":"","sourcesContent":["export type ModuleServerData = {\n type: \"remote\" | \"local\";\n id: string;\n name: string;\n source?: string;\n authenticated?: boolean;\n};\n\nexport type ModuleServerType = {\n id: string;\n name: string;\n type: \"local\" | \"remote\";\n authenticated: boolean;\n};\n\nexport type ModuleData = {\n id: string;\n\n versions?: ModuleVersionData[];\n currentVersion?: string;\n};\n\nexport type ModuleActionType =\n | \"install\"\n | \"restore\"\n | \"update\"\n | \"not-installable\"\n | \"incompatible\";\n\nexport type ModuleFilterType = \"browse\" | \"installed\" | \"updates\";\n\nexport type ModulePropertyData = {\n name: string;\n value?: string | string[];\n inline?: boolean;\n};\n\nexport type ModuleServerFullData = ModuleServerData & {\n user?: string;\n password?: string;\n};\n\nexport type ModuleVersionData = {\n id: string;\n name: string;\n description?: string;\n action: ModuleActionType;\n properties?: ModulePropertyData[];\n alertMessage?: string;\n};\n\nexport type EditServerModuleResult = {\n success: boolean;\n message: string;\n};\n"]}
@@ -291,3 +291,10 @@ const appendConsoleLog = log => {
291
291
  const stringify = data => {
292
292
  return JSON.stringify(data, null, 2);
293
293
  };
294
+
295
+ /* --- Ch Styles --- */
296
+ const head = document.head || document.getElementsByTagName("head")[0];
297
+ const chStyle = document.createElement("ch-style");
298
+ chStyle.innerText =
299
+ "::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width);cursor:initial}::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius);}::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}::-webkit-scrollbar-corner{background:rgba(0,0,0,0)}";
300
+ head.appendChild(chStyle);