@genexus/genexus-ide-ui 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (614) hide show
  1. package/dist/cjs/assets-manager-64c42a1e.js +14669 -0
  2. package/dist/cjs/assets-manager-64c42a1e.js.map +1 -0
  3. package/dist/cjs/{common-a9c44141.js → common-d21da2fc.js} +2 -2
  4. package/dist/cjs/{common-a9c44141.js.map → common-d21da2fc.js.map} +1 -1
  5. package/dist/cjs/{config-8246d533.js → config-7499aff7.js} +21 -1
  6. package/dist/cjs/config-7499aff7.js.map +1 -0
  7. package/dist/cjs/constants-96a42315.js.map +1 -1
  8. package/dist/cjs/genexus-ide-ui.cjs.js +2 -2
  9. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +2 -2
  10. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js.map +1 -1
  11. package/dist/cjs/gx-ide-ai-message.cjs.entry.js +3 -3
  12. package/dist/cjs/gx-ide-ai-message.cjs.entry.js.map +1 -1
  13. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +6 -7
  14. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js.map +1 -1
  15. package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js +3 -3
  16. package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js.map +1 -1
  17. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js +3 -3
  18. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js.map +1 -1
  19. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js +4 -4
  20. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js.map +1 -1
  21. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js +3 -3
  22. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js.map +1 -1
  23. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +4 -4
  24. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js.map +1 -1
  25. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js +3 -3
  26. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js.map +1 -1
  27. package/dist/cjs/gx-ide-card.cjs.entry.js +2 -2
  28. package/dist/cjs/gx-ide-card.cjs.entry.js.map +1 -1
  29. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +5 -5
  30. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
  31. package/dist/cjs/gx-ide-container_2.cjs.entry.js +1 -1
  32. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +6 -6
  33. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  34. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +24 -9
  35. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +1 -1
  36. package/dist/cjs/gx-ide-data-selector.cjs.entry.js +4 -5
  37. package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
  38. package/dist/cjs/gx-ide-design-import.cjs.entry.js +4 -4
  39. package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -1
  40. package/dist/cjs/gx-ide-directory-selector.cjs.entry.js +1 -1
  41. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js +2 -2
  42. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js.map +1 -1
  43. package/dist/cjs/gx-ide-empty-state.cjs.entry.js +11 -50
  44. package/dist/cjs/gx-ide-empty-state.cjs.entry.js.map +1 -1
  45. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +78 -53
  46. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js.map +1 -1
  47. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +3 -3
  48. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js.map +1 -1
  49. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +3 -3
  50. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
  51. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +4 -4
  52. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
  53. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +2 -2
  54. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js.map +1 -1
  55. package/dist/cjs/gx-ide-loader.cjs.entry.js +32 -47
  56. package/dist/cjs/gx-ide-loader.cjs.entry.js.map +1 -1
  57. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +24 -5
  58. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js.map +1 -1
  59. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +24 -5
  60. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
  61. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +6 -7
  62. package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
  63. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +6 -6
  64. package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
  65. package/dist/cjs/gx-ide-new-object.cjs.entry.js +3 -3
  66. package/dist/cjs/gx-ide-new-object.cjs.entry.js.map +1 -1
  67. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +208 -218
  68. package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
  69. package/dist/cjs/gx-ide-recent-news.cjs.entry.js +119 -70
  70. package/dist/cjs/gx-ide-recent-news.cjs.entry.js.map +1 -1
  71. package/dist/cjs/gx-ide-references.cjs.entry.js +4 -4
  72. package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
  73. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +6 -6
  74. package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
  75. package/dist/cjs/gx-ide-start-page.cjs.entry.js +131 -125
  76. package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
  77. package/dist/cjs/gx-ide-status-buttons.cjs.entry.js +1 -1
  78. package/dist/cjs/gx-ide-switch-panel.cjs.entry.js +1 -1
  79. package/dist/cjs/gx-ide-switcher.cjs.entry.js +1 -1
  80. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +7 -8
  81. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
  82. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +4 -4
  83. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js.map +1 -1
  84. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +4 -5
  85. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
  86. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +3 -3
  87. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js.map +1 -1
  88. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +6 -7
  89. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
  90. package/dist/cjs/gx-ide-template.cjs.entry.js +3 -3
  91. package/dist/cjs/gx-ide-template.cjs.entry.js.map +1 -1
  92. package/dist/cjs/gx-ide-test.cjs.entry.js +1 -1
  93. package/dist/cjs/gx-ide-top-bar.cjs.entry.js +1 -1
  94. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +3 -3
  95. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js.map +1 -1
  96. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +7 -8
  97. package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
  98. package/dist/cjs/{helpers-cef3dd1f.js → helpers-be14ea67.js} +34 -5
  99. package/dist/cjs/helpers-be14ea67.js.map +1 -0
  100. package/dist/cjs/{index-13ec56b2.js → index-b87e3ee0.js} +10 -4
  101. package/dist/cjs/index-b87e3ee0.js.map +1 -0
  102. package/dist/cjs/loader.cjs.js +2 -2
  103. package/dist/cjs/{render-combo-items-7cf25644.js → render-combo-items-9d83241b.js} +2 -2
  104. package/dist/cjs/{render-combo-items-7cf25644.js.map → render-combo-items-9d83241b.js.map} +1 -1
  105. package/dist/cjs/{render-list-item-859d6b85.js → render-list-item-353de5ee.js} +2 -2
  106. package/dist/cjs/{render-list-item-859d6b85.js.map → render-list-item-353de5ee.js.map} +1 -1
  107. package/dist/cjs/{render-suggest-5159c128.js → render-suggest-cd69493a.js} +2 -2
  108. package/dist/cjs/{render-suggest-5159c128.js.map → render-suggest-cd69493a.js.map} +1 -1
  109. package/dist/collection/collection-manifest.json +1 -1
  110. package/dist/collection/common/config.js +20 -0
  111. package/dist/collection/common/config.js.map +1 -1
  112. package/dist/collection/common/constants.js.map +1 -1
  113. package/dist/collection/common/helpers.js +31 -3
  114. package/dist/collection/common/helpers.js.map +1 -1
  115. package/dist/collection/common/types.js.map +1 -1
  116. package/dist/collection/components/_helpers/card/card.css +108 -0
  117. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.css +638 -16
  118. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.js +17 -111
  119. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.js.map +1 -1
  120. package/dist/collection/components/_helpers/entity-selector/entity-selector.css +21 -386
  121. package/dist/collection/components/_helpers/entity-selector/entity-selector.js +90 -142
  122. package/dist/collection/components/_helpers/entity-selector/entity-selector.js.map +1 -1
  123. package/dist/collection/components/_helpers/entity-selector/gx-ide-assets/entity-selector/langs/entity-selector.lang.en.json +6 -0
  124. package/dist/collection/components/_helpers/entity-selector/gx-ide-assets/entity-selector/langs/entity-selector.lang.zh.json +0 -0
  125. package/dist/collection/components/_helpers/ide-loader/ide-loader.css +23 -38
  126. package/dist/collection/components/_helpers/ide-loader/ide-loader.js +68 -125
  127. package/dist/collection/components/_helpers/ide-loader/ide-loader.js.map +1 -1
  128. package/dist/collection/components/_helpers/list-selector/list-selector.css +108 -0
  129. package/dist/collection/components/_starting-template/template.css +108 -0
  130. package/dist/collection/components/ai-assistant/ai-assistant.css +108 -0
  131. package/dist/collection/components/ai-assistant/ai-message.css +2 -2
  132. package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.css +148 -0
  133. package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.js +1 -2
  134. package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.js.map +1 -1
  135. package/dist/collection/components/bpm/assign-roles/bpm-assign-roles.css +108 -0
  136. package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.css +108 -0
  137. package/dist/collection/components/bpm/import-files/bpm-import-files.css +108 -0
  138. package/dist/collection/components/bpm/import-gxpm/bpm-import-gxpm.css +108 -0
  139. package/dist/collection/components/bpm/objects-selector/bpm-objects-selector.css +108 -0
  140. package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.css +108 -0
  141. package/dist/collection/components/connect-gx-server/connect-gx-server.css +108 -0
  142. package/dist/collection/components/connect-gx-server/connect-gx-server.js +1 -1
  143. package/dist/collection/components/connect-gx-server/connect-gx-server.js.map +1 -1
  144. package/dist/collection/components/create-kb-from-server/create-kb-from-server.css +108 -0
  145. package/dist/collection/components/create-kb-from-server/create-kb-from-server.js +1 -1
  146. package/dist/collection/components/create-kb-from-server/create-kb-from-server.js.map +1 -1
  147. package/dist/collection/components/dashboard-home/dashboard-home.css +108 -0
  148. package/dist/collection/components/dashboard-home/dashboard-home.js +21 -6
  149. package/dist/collection/components/dashboard-home/dashboard-home.js.map +1 -1
  150. package/dist/collection/components/data-selector/data-selector.css +108 -0
  151. package/dist/collection/components/data-selector/data-selector.js +1 -2
  152. package/dist/collection/components/data-selector/data-selector.js.map +1 -1
  153. package/dist/collection/components/design-import/design-import.css +108 -0
  154. package/dist/collection/components/design-import/design-import.js +1 -1
  155. package/dist/collection/components/gam-installation-settings/gam-installation-settings.css +108 -0
  156. package/dist/collection/components/kb-manager-export/helpers.js.map +1 -1
  157. package/dist/collection/components/kb-manager-export/kb-manager-export.css +108 -0
  158. package/dist/collection/components/kb-manager-export/kb-manager-export.js +3 -3
  159. package/dist/collection/components/kb-manager-export/kb-manager-export.js.map +1 -1
  160. package/dist/collection/components/kb-manager-import/kb-manager-import.css +157 -0
  161. package/dist/collection/components/modules/edit-module-server/edit-module-server.css +108 -0
  162. package/dist/collection/components/modules/manage-module-references/manage-module-references.css +108 -0
  163. package/dist/collection/components/modules/manage-module-references/manage-module-references.js +21 -2
  164. package/dist/collection/components/modules/manage-module-references/manage-module-references.js.map +1 -1
  165. package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js +21 -2
  166. package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js.map +1 -1
  167. package/dist/collection/components/modules/manage-module-references-v2/manage-module-references.css +108 -0
  168. package/dist/collection/components/new-environment/new-environment.css +108 -0
  169. package/dist/collection/components/new-environment/new-environment.js +1 -1
  170. package/dist/collection/components/new-environment/new-environment.js.map +1 -1
  171. package/dist/collection/components/new-kb/new-kb.css +108 -0
  172. package/dist/collection/components/new-kb/new-kb.js +1 -1
  173. package/dist/collection/components/new-kb/new-kb.js.map +1 -1
  174. package/dist/collection/components/new-object/new-object.css +108 -0
  175. package/dist/collection/components/new-object/new-object.js +2 -2
  176. package/dist/collection/components/object-selector/gx-ide-assets/object-selector/langs/object-selector.lang.en.json +4 -0
  177. package/dist/collection/components/object-selector/gx-ide-assets/object-selector/langs/object-selector.lang.ja.json +4 -1
  178. package/dist/collection/components/object-selector/gx-ide-assets/object-selector/shortcuts.json +2 -2
  179. package/dist/collection/components/object-selector/helpers.js +13 -0
  180. package/dist/collection/components/object-selector/helpers.js.map +1 -0
  181. package/dist/collection/components/object-selector/object-selector.css +199 -50
  182. package/dist/collection/components/object-selector/object-selector.js +299 -375
  183. package/dist/collection/components/object-selector/object-selector.js.map +1 -1
  184. package/dist/collection/components/references/references.css +108 -0
  185. package/dist/collection/components/share-kb/share-kb.css +108 -0
  186. package/dist/collection/components/share-kb/share-kb.js +1 -1
  187. package/dist/collection/components/share-kb/share-kb.js.map +1 -1
  188. package/dist/collection/components/start-page/gx-ide-assets/recent-news/langs/recent-news.lang.en.json +14 -4
  189. package/dist/collection/components/start-page/gx-ide-assets/recent-news/langs/recent-news.lang.ja.json +15 -5
  190. package/dist/collection/components/start-page/gx-ide-assets/start-page/langs/start-page.lang.en.json +13 -3
  191. package/dist/collection/components/start-page/gx-ide-assets/start-page/langs/start-page.lang.ja.json +15 -5
  192. package/dist/collection/components/start-page/recent-news.css +136 -42
  193. package/dist/collection/components/start-page/recent-news.js +141 -73
  194. package/dist/collection/components/start-page/recent-news.js.map +1 -1
  195. package/dist/collection/components/start-page/start-page.css +186 -29
  196. package/dist/collection/components/start-page/start-page.js +184 -171
  197. package/dist/collection/components/start-page/start-page.js.map +1 -1
  198. package/dist/collection/components/team-dev/commit/commit.css +148 -0
  199. package/dist/collection/components/team-dev/commit/commit.js +2 -3
  200. package/dist/collection/components/team-dev/commit/commit.js.map +1 -1
  201. package/dist/collection/components/team-dev/select-recent-comment/select-recent-comment.css +108 -0
  202. package/dist/collection/components/team-dev/update/update.css +148 -0
  203. package/dist/collection/components/team-dev/update/update.js +1 -2
  204. package/dist/collection/components/team-dev/update/update.js.map +1 -1
  205. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.css +108 -0
  206. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js +1 -2
  207. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js.map +1 -1
  208. package/dist/collection/components/team-dev/update-to-revision/update-to-revision.css +108 -0
  209. package/dist/collection/components/wf-settings/wf-settings.css +108 -0
  210. package/dist/collection/components/ww-images/ww-images.css +150 -2
  211. package/dist/collection/components/ww-images/ww-images.js +3 -4
  212. package/dist/collection/components/ww-images/ww-images.js.map +1 -1
  213. package/dist/components/ai-message.js +1 -1
  214. package/dist/components/ai-message.js.map +1 -1
  215. package/dist/components/assets-manager.js +14667 -0
  216. package/dist/components/assets-manager.js.map +1 -0
  217. package/dist/components/bpm-objects-selector.js +1 -1
  218. package/dist/components/bpm-objects-selector.js.map +1 -1
  219. package/dist/components/config.js +20 -0
  220. package/dist/components/config.js.map +1 -1
  221. package/dist/components/constants.js.map +1 -1
  222. package/dist/components/entity-selector.js +79 -57
  223. package/dist/components/entity-selector.js.map +1 -1
  224. package/dist/components/gx-ide-ai-assistant.js +1 -1
  225. package/dist/components/gx-ide-ai-assistant.js.map +1 -1
  226. package/dist/components/gx-ide-bpm-app-declaration.js +2 -3
  227. package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
  228. package/dist/components/gx-ide-bpm-assign-roles.js +1 -1
  229. package/dist/components/gx-ide-bpm-assign-roles.js.map +1 -1
  230. package/dist/components/gx-ide-bpm-export-xpdl.js +1 -1
  231. package/dist/components/gx-ide-bpm-export-xpdl.js.map +1 -1
  232. package/dist/components/gx-ide-bpm-import-files.js +1 -1
  233. package/dist/components/gx-ide-bpm-import-files.js.map +1 -1
  234. package/dist/components/gx-ide-bpm-import-gxpm.js +1 -1
  235. package/dist/components/gx-ide-bpm-import-gxpm.js.map +1 -1
  236. package/dist/components/gx-ide-bpm-timer-duration.js +1 -1
  237. package/dist/components/gx-ide-bpm-timer-duration.js.map +1 -1
  238. package/dist/components/gx-ide-card.js +1 -1
  239. package/dist/components/gx-ide-card.js.map +1 -1
  240. package/dist/components/gx-ide-connect-gx-server.js +2 -2
  241. package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
  242. package/dist/components/gx-ide-create-kb-from-server.js +2 -2
  243. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  244. package/dist/components/gx-ide-dashboard-home.js +25 -16
  245. package/dist/components/gx-ide-dashboard-home.js.map +1 -1
  246. package/dist/components/gx-ide-data-selector.js +2 -3
  247. package/dist/components/gx-ide-data-selector.js.map +1 -1
  248. package/dist/components/gx-ide-design-import.js +1 -1
  249. package/dist/components/gx-ide-design-import.js.map +1 -1
  250. package/dist/components/gx-ide-edit-module-server.js +1 -1
  251. package/dist/components/gx-ide-edit-module-server.js.map +1 -1
  252. package/dist/components/gx-ide-empty-state2.js +13 -63
  253. package/dist/components/gx-ide-empty-state2.js.map +1 -1
  254. package/dist/components/gx-ide-gam-installation-settings.js +1 -1
  255. package/dist/components/gx-ide-gam-installation-settings.js.map +1 -1
  256. package/dist/components/gx-ide-kb-manager-export.js +1 -1
  257. package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
  258. package/dist/components/gx-ide-kb-manager-import.js +1 -1
  259. package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
  260. package/dist/components/gx-ide-manage-module-references-v2.js +22 -3
  261. package/dist/components/gx-ide-manage-module-references-v2.js.map +1 -1
  262. package/dist/components/gx-ide-manage-module-references.js +22 -3
  263. package/dist/components/gx-ide-manage-module-references.js.map +1 -1
  264. package/dist/components/gx-ide-new-environment.js +2 -3
  265. package/dist/components/gx-ide-new-environment.js.map +1 -1
  266. package/dist/components/gx-ide-new-kb.js +2 -2
  267. package/dist/components/gx-ide-new-kb.js.map +1 -1
  268. package/dist/components/gx-ide-new-object.js +1 -1
  269. package/dist/components/gx-ide-new-object.js.map +1 -1
  270. package/dist/components/gx-ide-object-selector.js +224 -243
  271. package/dist/components/gx-ide-object-selector.js.map +1 -1
  272. package/dist/components/gx-ide-references.js +1 -1
  273. package/dist/components/gx-ide-references.js.map +1 -1
  274. package/dist/components/gx-ide-share-kb.js +2 -2
  275. package/dist/components/gx-ide-share-kb.js.map +1 -1
  276. package/dist/components/gx-ide-start-page.js +149 -133
  277. package/dist/components/gx-ide-start-page.js.map +1 -1
  278. package/dist/components/gx-ide-team-dev-commit.js +4 -5
  279. package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
  280. package/dist/components/gx-ide-team-dev-select-recent-comment.js +1 -1
  281. package/dist/components/gx-ide-team-dev-select-recent-comment.js.map +1 -1
  282. package/dist/components/gx-ide-team-dev-update-partial-selection.js +2 -3
  283. package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
  284. package/dist/components/gx-ide-team-dev-update-to-revision.js +1 -1
  285. package/dist/components/gx-ide-team-dev-update-to-revision.js.map +1 -1
  286. package/dist/components/gx-ide-team-dev-update.js +3 -4
  287. package/dist/components/gx-ide-team-dev-update.js.map +1 -1
  288. package/dist/components/gx-ide-template.js +1 -1
  289. package/dist/components/gx-ide-template.js.map +1 -1
  290. package/dist/components/gx-ide-wf-settings.js +1 -1
  291. package/dist/components/gx-ide-wf-settings.js.map +1 -1
  292. package/dist/components/gx-ide-ww-images.js +4 -5
  293. package/dist/components/gx-ide-ww-images.js.map +1 -1
  294. package/dist/components/helpers.js +32 -4
  295. package/dist/components/helpers.js.map +1 -1
  296. package/dist/components/ide-loader.js +36 -56
  297. package/dist/components/ide-loader.js.map +1 -1
  298. package/dist/components/list-selector.js +1 -1
  299. package/dist/components/list-selector.js.map +1 -1
  300. package/dist/components/recent-news.js +132 -73
  301. package/dist/components/recent-news.js.map +1 -1
  302. package/dist/esm/assets-manager-120996e9.js +14667 -0
  303. package/dist/esm/assets-manager-120996e9.js.map +1 -0
  304. package/dist/esm/{common-8826f536.js → common-31ac2b05.js} +2 -2
  305. package/dist/esm/{common-8826f536.js.map → common-31ac2b05.js.map} +1 -1
  306. package/dist/esm/{config-a492e15e.js → config-6cfbb06f.js} +21 -1
  307. package/dist/esm/config-6cfbb06f.js.map +1 -0
  308. package/dist/esm/constants-f9193da7.js.map +1 -1
  309. package/dist/esm/genexus-ide-ui.js +3 -3
  310. package/dist/esm/gx-ide-ai-assistant.entry.js +2 -2
  311. package/dist/esm/gx-ide-ai-assistant.entry.js.map +1 -1
  312. package/dist/esm/gx-ide-ai-message.entry.js +3 -3
  313. package/dist/esm/gx-ide-ai-message.entry.js.map +1 -1
  314. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +6 -7
  315. package/dist/esm/gx-ide-bpm-app-declaration.entry.js.map +1 -1
  316. package/dist/esm/gx-ide-bpm-assign-roles.entry.js +3 -3
  317. package/dist/esm/gx-ide-bpm-assign-roles.entry.js.map +1 -1
  318. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +3 -3
  319. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js.map +1 -1
  320. package/dist/esm/gx-ide-bpm-import-files.entry.js +4 -4
  321. package/dist/esm/gx-ide-bpm-import-files.entry.js.map +1 -1
  322. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +3 -3
  323. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js.map +1 -1
  324. package/dist/esm/gx-ide-bpm-objects-selector.entry.js +4 -4
  325. package/dist/esm/gx-ide-bpm-objects-selector.entry.js.map +1 -1
  326. package/dist/esm/gx-ide-bpm-timer-duration.entry.js +3 -3
  327. package/dist/esm/gx-ide-bpm-timer-duration.entry.js.map +1 -1
  328. package/dist/esm/gx-ide-card.entry.js +2 -2
  329. package/dist/esm/gx-ide-card.entry.js.map +1 -1
  330. package/dist/esm/gx-ide-connect-gx-server.entry.js +4 -4
  331. package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
  332. package/dist/esm/gx-ide-container_2.entry.js +1 -1
  333. package/dist/esm/gx-ide-create-kb-from-server.entry.js +4 -4
  334. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  335. package/dist/esm/gx-ide-dashboard-home.entry.js +24 -9
  336. package/dist/esm/gx-ide-dashboard-home.entry.js.map +1 -1
  337. package/dist/esm/gx-ide-data-selector.entry.js +4 -5
  338. package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
  339. package/dist/esm/gx-ide-design-import.entry.js +4 -4
  340. package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
  341. package/dist/esm/gx-ide-directory-selector.entry.js +1 -1
  342. package/dist/esm/gx-ide-edit-module-server.entry.js +2 -2
  343. package/dist/esm/gx-ide-edit-module-server.entry.js.map +1 -1
  344. package/dist/esm/gx-ide-empty-state.entry.js +11 -50
  345. package/dist/esm/gx-ide-empty-state.entry.js.map +1 -1
  346. package/dist/esm/gx-ide-entity-selector.entry.js +78 -53
  347. package/dist/esm/gx-ide-entity-selector.entry.js.map +1 -1
  348. package/dist/esm/gx-ide-gam-installation-settings.entry.js +3 -3
  349. package/dist/esm/gx-ide-gam-installation-settings.entry.js.map +1 -1
  350. package/dist/esm/gx-ide-kb-manager-export.entry.js +3 -3
  351. package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
  352. package/dist/esm/gx-ide-kb-manager-import.entry.js +4 -4
  353. package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
  354. package/dist/esm/gx-ide-list-selector_2.entry.js +2 -2
  355. package/dist/esm/gx-ide-list-selector_2.entry.js.map +1 -1
  356. package/dist/esm/gx-ide-loader.entry.js +32 -47
  357. package/dist/esm/gx-ide-loader.entry.js.map +1 -1
  358. package/dist/esm/gx-ide-manage-module-references-v2.entry.js +24 -5
  359. package/dist/esm/gx-ide-manage-module-references-v2.entry.js.map +1 -1
  360. package/dist/esm/gx-ide-manage-module-references.entry.js +24 -5
  361. package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -1
  362. package/dist/esm/gx-ide-new-environment.entry.js +5 -6
  363. package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
  364. package/dist/esm/gx-ide-new-kb.entry.js +5 -5
  365. package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
  366. package/dist/esm/gx-ide-new-object.entry.js +3 -3
  367. package/dist/esm/gx-ide-new-object.entry.js.map +1 -1
  368. package/dist/esm/gx-ide-object-selector.entry.js +208 -218
  369. package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
  370. package/dist/esm/gx-ide-recent-news.entry.js +119 -70
  371. package/dist/esm/gx-ide-recent-news.entry.js.map +1 -1
  372. package/dist/esm/gx-ide-references.entry.js +4 -4
  373. package/dist/esm/gx-ide-references.entry.js.map +1 -1
  374. package/dist/esm/gx-ide-share-kb.entry.js +5 -5
  375. package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
  376. package/dist/esm/gx-ide-start-page.entry.js +131 -125
  377. package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
  378. package/dist/esm/gx-ide-status-buttons.entry.js +1 -1
  379. package/dist/esm/gx-ide-switch-panel.entry.js +1 -1
  380. package/dist/esm/gx-ide-switcher.entry.js +1 -1
  381. package/dist/esm/gx-ide-team-dev-commit.entry.js +7 -8
  382. package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
  383. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +4 -4
  384. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js.map +1 -1
  385. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +4 -5
  386. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
  387. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +3 -3
  388. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js.map +1 -1
  389. package/dist/esm/gx-ide-team-dev-update.entry.js +6 -7
  390. package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
  391. package/dist/esm/gx-ide-template.entry.js +3 -3
  392. package/dist/esm/gx-ide-template.entry.js.map +1 -1
  393. package/dist/esm/gx-ide-test.entry.js +1 -1
  394. package/dist/esm/gx-ide-top-bar.entry.js +1 -1
  395. package/dist/esm/gx-ide-wf-settings.entry.js +3 -3
  396. package/dist/esm/gx-ide-wf-settings.entry.js.map +1 -1
  397. package/dist/esm/gx-ide-ww-images.entry.js +7 -8
  398. package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
  399. package/dist/esm/{helpers-0a23ab69.js → helpers-05c62775.js} +34 -6
  400. package/dist/esm/helpers-05c62775.js.map +1 -0
  401. package/dist/esm/{index-2f305780.js → index-27c691bc.js} +10 -4
  402. package/dist/esm/index-27c691bc.js.map +1 -0
  403. package/dist/esm/loader.js +3 -3
  404. package/dist/esm/{render-combo-items-42fe0712.js → render-combo-items-b5465c1d.js} +2 -2
  405. package/dist/esm/{render-combo-items-42fe0712.js.map → render-combo-items-b5465c1d.js.map} +1 -1
  406. package/dist/esm/{render-list-item-ae730365.js → render-list-item-06286d62.js} +2 -2
  407. package/dist/esm/{render-list-item-ae730365.js.map → render-list-item-06286d62.js.map} +1 -1
  408. package/dist/esm/{render-suggest-90759f0b.js → render-suggest-3543434c.js} +2 -2
  409. package/dist/esm/{render-suggest-90759f0b.js.map → render-suggest-3543434c.js.map} +1 -1
  410. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +3 -3
  411. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  412. package/dist/genexus-ide-ui/gx-ide-assets/entity-selector/langs/entity-selector.lang.en.json +6 -0
  413. package/dist/genexus-ide-ui/gx-ide-assets/entity-selector/langs/entity-selector.lang.ja.json +0 -0
  414. package/dist/genexus-ide-ui/gx-ide-assets/entity-selector/langs/entity-selector.lang.zh.json +0 -0
  415. package/dist/genexus-ide-ui/gx-ide-assets/object-selector/langs/object-selector.lang.en.json +4 -0
  416. package/dist/genexus-ide-ui/gx-ide-assets/object-selector/langs/object-selector.lang.ja.json +4 -1
  417. package/dist/genexus-ide-ui/gx-ide-assets/object-selector/shortcuts.json +2 -2
  418. package/dist/genexus-ide-ui/gx-ide-assets/recent-news/langs/recent-news.lang.en.json +14 -4
  419. package/dist/genexus-ide-ui/gx-ide-assets/recent-news/langs/recent-news.lang.ja.json +15 -5
  420. package/dist/genexus-ide-ui/gx-ide-assets/start-page/langs/start-page.lang.en.json +13 -3
  421. package/dist/genexus-ide-ui/gx-ide-assets/start-page/langs/start-page.lang.ja.json +15 -5
  422. package/dist/genexus-ide-ui/{p-52037fb7.entry.js → p-02c7b423.entry.js} +74 -74
  423. package/dist/genexus-ide-ui/p-02c7b423.entry.js.map +1 -0
  424. package/dist/genexus-ide-ui/{p-7fe1ceb9.entry.js → p-03a88768.entry.js} +4 -4
  425. package/dist/genexus-ide-ui/{p-c585f865.entry.js → p-03b4b814.entry.js} +178 -180
  426. package/dist/genexus-ide-ui/p-03b4b814.entry.js.map +1 -0
  427. package/dist/genexus-ide-ui/{p-fa07dd86.entry.js → p-04875060.entry.js} +99 -99
  428. package/dist/genexus-ide-ui/{p-309544a8.js → p-07b9c2d4.js} +2 -2
  429. package/dist/genexus-ide-ui/{p-fc6040c7.entry.js → p-09cc20b1.entry.js} +2 -2
  430. package/dist/genexus-ide-ui/{p-328fc42f.entry.js → p-0bddf199.entry.js} +110 -89
  431. package/dist/genexus-ide-ui/p-0bddf199.entry.js.map +1 -0
  432. package/dist/genexus-ide-ui/{p-ff934271.entry.js → p-0f7b7541.entry.js} +46 -48
  433. package/dist/genexus-ide-ui/p-0f7b7541.entry.js.map +1 -0
  434. package/dist/genexus-ide-ui/p-13feb5cf.js.map +1 -1
  435. package/dist/genexus-ide-ui/{p-9265eb8d.js → p-14e6ef41.js} +52 -24
  436. package/dist/genexus-ide-ui/p-14e6ef41.js.map +1 -0
  437. package/dist/genexus-ide-ui/p-15ab148b.entry.js +683 -0
  438. package/dist/genexus-ide-ui/{p-8be06716.entry.js → p-2073deab.entry.js} +30 -30
  439. package/dist/genexus-ide-ui/{p-14d3afaf.entry.js → p-2238f5b3.entry.js} +43 -26
  440. package/dist/genexus-ide-ui/p-2238f5b3.entry.js.map +1 -0
  441. package/dist/genexus-ide-ui/{p-947149d1.entry.js → p-28456a97.entry.js} +16 -16
  442. package/dist/genexus-ide-ui/{p-df7151fa.entry.js → p-33434d7d.entry.js} +170 -172
  443. package/dist/genexus-ide-ui/p-33434d7d.entry.js.map +1 -0
  444. package/dist/genexus-ide-ui/{p-1cbf3ae4.entry.js → p-3b5b6908.entry.js} +2 -2
  445. package/dist/genexus-ide-ui/{p-caa3c8b1.entry.js → p-43cfd06b.entry.js} +37 -37
  446. package/dist/genexus-ide-ui/p-43cfd06b.entry.js.map +1 -0
  447. package/dist/genexus-ide-ui/p-44a2f835.entry.js +506 -0
  448. package/dist/genexus-ide-ui/p-44a2f835.entry.js.map +1 -0
  449. package/dist/genexus-ide-ui/{p-c8f4d24c.entry.js → p-48723dcd.entry.js} +8 -8
  450. package/dist/genexus-ide-ui/{p-4f0b6507.entry.js → p-4a0e3c34.entry.js} +74 -74
  451. package/dist/genexus-ide-ui/p-4a0e3c34.entry.js.map +1 -0
  452. package/dist/genexus-ide-ui/{p-df2e4696.entry.js → p-51771269.entry.js} +115 -94
  453. package/dist/genexus-ide-ui/p-51771269.entry.js.map +1 -0
  454. package/dist/genexus-ide-ui/{p-61e2d60e.entry.js → p-51ea74a5.entry.js} +52 -52
  455. package/dist/genexus-ide-ui/p-537dfb63.entry.js +318 -0
  456. package/dist/genexus-ide-ui/p-54f34df2.entry.js +154 -0
  457. package/dist/genexus-ide-ui/p-54f34df2.entry.js.map +1 -0
  458. package/dist/genexus-ide-ui/{p-06cb63b5.entry.js → p-60b5aa38.entry.js} +3 -3
  459. package/dist/genexus-ide-ui/{p-03c0d269.entry.js → p-69a83248.entry.js} +2 -2
  460. package/dist/genexus-ide-ui/p-6df9fab1.js +14666 -0
  461. package/dist/genexus-ide-ui/p-6df9fab1.js.map +1 -0
  462. package/dist/genexus-ide-ui/{p-6b5adc13.entry.js → p-73a98f20.entry.js} +13 -13
  463. package/dist/genexus-ide-ui/{p-f744e80f.entry.js → p-73afc989.entry.js} +22 -22
  464. package/dist/genexus-ide-ui/{p-c3fbfe7b.entry.js → p-77239013.entry.js} +18 -18
  465. package/dist/genexus-ide-ui/{p-fc55b26e.entry.js → p-7ac25fc3.entry.js} +2 -2
  466. package/dist/genexus-ide-ui/{p-357b287c.entry.js → p-7ca8ed4b.entry.js} +54 -54
  467. package/dist/genexus-ide-ui/p-8050e61d.entry.js +228 -0
  468. package/dist/genexus-ide-ui/p-8050e61d.entry.js.map +1 -0
  469. package/dist/genexus-ide-ui/{p-8dfde4d9.entry.js → p-82649b9b.entry.js} +47 -47
  470. package/dist/genexus-ide-ui/{p-9c1b4eb9.js → p-8cf892b5.js} +23 -3
  471. package/dist/genexus-ide-ui/p-8cf892b5.js.map +1 -0
  472. package/dist/genexus-ide-ui/{p-b01eccc2.entry.js → p-8ee27085.entry.js} +4 -4
  473. package/dist/genexus-ide-ui/{p-cad2b413.entry.js → p-92e46b5d.entry.js} +37 -37
  474. package/dist/genexus-ide-ui/{p-c6f0f199.entry.js → p-941cdab8.entry.js} +57 -59
  475. package/dist/genexus-ide-ui/p-941cdab8.entry.js.map +1 -0
  476. package/dist/genexus-ide-ui/p-957341c7.entry.js +210 -0
  477. package/dist/genexus-ide-ui/p-957341c7.entry.js.map +1 -0
  478. package/dist/genexus-ide-ui/{p-dc02927a.entry.js → p-969e4799.entry.js} +68 -70
  479. package/dist/genexus-ide-ui/p-969e4799.entry.js.map +1 -0
  480. package/dist/genexus-ide-ui/{p-4dbaf435.entry.js → p-a1f28f2b.entry.js} +45 -45
  481. package/dist/genexus-ide-ui/{p-6b1fe886.entry.js → p-a88e14f8.entry.js} +153 -156
  482. package/dist/genexus-ide-ui/p-a88e14f8.entry.js.map +1 -0
  483. package/dist/genexus-ide-ui/{p-c147291f.js → p-aaed592c.js} +12 -5
  484. package/dist/genexus-ide-ui/p-aaed592c.js.map +1 -0
  485. package/dist/genexus-ide-ui/{p-0b854804.js → p-af836892.js} +9 -9
  486. package/dist/genexus-ide-ui/{p-ce59fefc.entry.js → p-b984f974.entry.js} +54 -56
  487. package/dist/genexus-ide-ui/p-b984f974.entry.js.map +1 -0
  488. package/dist/genexus-ide-ui/{p-c6cf40ab.entry.js → p-c79243c8.entry.js} +2 -2
  489. package/dist/genexus-ide-ui/p-cb0e11db.entry.js +73 -0
  490. package/dist/genexus-ide-ui/p-cb0e11db.entry.js.map +1 -0
  491. package/dist/genexus-ide-ui/{p-0c8c6cc3.entry.js → p-d0f99e7f.entry.js} +41 -41
  492. package/dist/genexus-ide-ui/p-d0f99e7f.entry.js.map +1 -0
  493. package/dist/genexus-ide-ui/{p-f9cd47ba.entry.js → p-d40d8792.entry.js} +31 -112
  494. package/dist/genexus-ide-ui/p-d40d8792.entry.js.map +1 -0
  495. package/dist/genexus-ide-ui/{p-9e5fa97a.entry.js → p-dbfddffd.entry.js} +2 -2
  496. package/dist/genexus-ide-ui/{p-5bf67436.js → p-e8bdf9dc.js} +2 -2
  497. package/dist/genexus-ide-ui/{p-853dacf5.entry.js → p-ed72073c.entry.js} +42 -42
  498. package/dist/genexus-ide-ui/p-ed72073c.entry.js.map +1 -0
  499. package/dist/genexus-ide-ui/{p-01885db6.entry.js → p-edc4f1dc.entry.js} +5 -5
  500. package/dist/genexus-ide-ui/{p-7e2ea144.entry.js → p-ee3161f8.entry.js} +28 -28
  501. package/dist/genexus-ide-ui/{p-3ce32466.entry.js → p-f1f6b028.entry.js} +31 -31
  502. package/dist/genexus-ide-ui/{p-13c68ced.js → p-f831f30b.js} +2 -2
  503. package/dist/genexus-ide-ui/{p-97fba685.entry.js → p-f9aafa8f.entry.js} +24 -24
  504. package/dist/types/common/config.d.ts +19 -0
  505. package/dist/types/common/constants.d.ts +5 -4
  506. package/dist/types/common/helpers.d.ts +9 -0
  507. package/dist/types/common/types.d.ts +1 -3
  508. package/dist/types/components/_helpers/empty-state/gx-ide-empty-state.d.ts +4 -22
  509. package/dist/types/components/_helpers/entity-selector/entity-selector.d.ts +12 -31
  510. package/dist/types/components/_helpers/ide-loader/ide-loader.d.ts +11 -28
  511. package/dist/types/components/dashboard-home/dashboard-home.d.ts +1 -0
  512. package/dist/types/components/kb-manager-export/helpers.d.ts +2 -1
  513. package/dist/types/components/kb-manager-export/kb-manager-export.d.ts +1 -5
  514. package/dist/types/components/modules/manage-module-references/manage-module-references.d.ts +1 -0
  515. package/dist/types/components/modules/manage-module-references-v2/manage-module-references-v2.d.ts +1 -0
  516. package/dist/types/components/object-selector/helpers.d.ts +4 -0
  517. package/dist/types/components/object-selector/object-selector.d.ts +28 -82
  518. package/dist/types/components/start-page/recent-news.d.ts +16 -12
  519. package/dist/types/components/start-page/start-page.d.ts +42 -18
  520. package/dist/types/components.d.ts +47 -158
  521. package/package.json +5 -5
  522. package/dist/cjs/config-8246d533.js.map +0 -1
  523. package/dist/cjs/form-validation-40aa8527.js +0 -24
  524. package/dist/cjs/form-validation-40aa8527.js.map +0 -1
  525. package/dist/cjs/grid-99bca82a.js +0 -16
  526. package/dist/cjs/grid-99bca82a.js.map +0 -1
  527. package/dist/cjs/helpers-cef3dd1f.js.map +0 -1
  528. package/dist/cjs/index-13ec56b2.js.map +0 -1
  529. package/dist/collection/common/form-validation.js +0 -19
  530. package/dist/collection/common/form-validation.js.map +0 -1
  531. package/dist/collection/common/grid.js +0 -11
  532. package/dist/collection/common/grid.js.map +0 -1
  533. package/dist/collection/common/interfaces.js +0 -4
  534. package/dist/collection/common/interfaces.js.map +0 -1
  535. package/dist/components/form-validation.js +0 -22
  536. package/dist/components/form-validation.js.map +0 -1
  537. package/dist/components/grid.js +0 -14
  538. package/dist/components/grid.js.map +0 -1
  539. package/dist/esm/config-a492e15e.js.map +0 -1
  540. package/dist/esm/form-validation-9367af5a.js +0 -22
  541. package/dist/esm/form-validation-9367af5a.js.map +0 -1
  542. package/dist/esm/grid-55fe9537.js +0 -14
  543. package/dist/esm/grid-55fe9537.js.map +0 -1
  544. package/dist/esm/helpers-0a23ab69.js.map +0 -1
  545. package/dist/esm/index-2f305780.js.map +0 -1
  546. package/dist/genexus-ide-ui/p-00095d68.js +0 -20
  547. package/dist/genexus-ide-ui/p-00095d68.js.map +0 -1
  548. package/dist/genexus-ide-ui/p-0c8c6cc3.entry.js.map +0 -1
  549. package/dist/genexus-ide-ui/p-14d3afaf.entry.js.map +0 -1
  550. package/dist/genexus-ide-ui/p-328fc42f.entry.js.map +0 -1
  551. package/dist/genexus-ide-ui/p-41326e89.entry.js +0 -184
  552. package/dist/genexus-ide-ui/p-41326e89.entry.js.map +0 -1
  553. package/dist/genexus-ide-ui/p-4c52f542.entry.js +0 -97
  554. package/dist/genexus-ide-ui/p-4c52f542.entry.js.map +0 -1
  555. package/dist/genexus-ide-ui/p-4f0b6507.entry.js.map +0 -1
  556. package/dist/genexus-ide-ui/p-52037fb7.entry.js.map +0 -1
  557. package/dist/genexus-ide-ui/p-6b1fe886.entry.js.map +0 -1
  558. package/dist/genexus-ide-ui/p-6d9841c4.entry.js +0 -94
  559. package/dist/genexus-ide-ui/p-6d9841c4.entry.js.map +0 -1
  560. package/dist/genexus-ide-ui/p-6ecf34b8.entry.js +0 -493
  561. package/dist/genexus-ide-ui/p-6ecf34b8.entry.js.map +0 -1
  562. package/dist/genexus-ide-ui/p-720702e4.js +0 -13
  563. package/dist/genexus-ide-ui/p-720702e4.js.map +0 -1
  564. package/dist/genexus-ide-ui/p-853dacf5.entry.js.map +0 -1
  565. package/dist/genexus-ide-ui/p-9265eb8d.js.map +0 -1
  566. package/dist/genexus-ide-ui/p-9c1b4eb9.js.map +0 -1
  567. package/dist/genexus-ide-ui/p-a5c15051.entry.js +0 -318
  568. package/dist/genexus-ide-ui/p-c147291f.js.map +0 -1
  569. package/dist/genexus-ide-ui/p-c585f865.entry.js.map +0 -1
  570. package/dist/genexus-ide-ui/p-c6f0f199.entry.js.map +0 -1
  571. package/dist/genexus-ide-ui/p-ca73836a.entry.js +0 -683
  572. package/dist/genexus-ide-ui/p-caa3c8b1.entry.js.map +0 -1
  573. package/dist/genexus-ide-ui/p-ce59fefc.entry.js.map +0 -1
  574. package/dist/genexus-ide-ui/p-dc02927a.entry.js.map +0 -1
  575. package/dist/genexus-ide-ui/p-df2e4696.entry.js.map +0 -1
  576. package/dist/genexus-ide-ui/p-df7151fa.entry.js.map +0 -1
  577. package/dist/genexus-ide-ui/p-f66a086d.entry.js +0 -146
  578. package/dist/genexus-ide-ui/p-f66a086d.entry.js.map +0 -1
  579. package/dist/genexus-ide-ui/p-f9cd47ba.entry.js.map +0 -1
  580. package/dist/genexus-ide-ui/p-ff934271.entry.js.map +0 -1
  581. package/dist/types/common/form-validation.d.ts +0 -2
  582. package/dist/types/common/grid.d.ts +0 -10
  583. /package/dist/{types/common/interfaces.d.ts → collection/components/_helpers/entity-selector/gx-ide-assets/entity-selector/langs/entity-selector.lang.ja.json} +0 -0
  584. /package/dist/genexus-ide-ui/{p-7fe1ceb9.entry.js.map → p-03a88768.entry.js.map} +0 -0
  585. /package/dist/genexus-ide-ui/{p-fa07dd86.entry.js.map → p-04875060.entry.js.map} +0 -0
  586. /package/dist/genexus-ide-ui/{p-309544a8.js.map → p-07b9c2d4.js.map} +0 -0
  587. /package/dist/genexus-ide-ui/{p-fc6040c7.entry.js.map → p-09cc20b1.entry.js.map} +0 -0
  588. /package/dist/genexus-ide-ui/{p-ca73836a.entry.js.map → p-15ab148b.entry.js.map} +0 -0
  589. /package/dist/genexus-ide-ui/{p-8be06716.entry.js.map → p-2073deab.entry.js.map} +0 -0
  590. /package/dist/genexus-ide-ui/{p-947149d1.entry.js.map → p-28456a97.entry.js.map} +0 -0
  591. /package/dist/genexus-ide-ui/{p-1cbf3ae4.entry.js.map → p-3b5b6908.entry.js.map} +0 -0
  592. /package/dist/genexus-ide-ui/{p-c8f4d24c.entry.js.map → p-48723dcd.entry.js.map} +0 -0
  593. /package/dist/genexus-ide-ui/{p-61e2d60e.entry.js.map → p-51ea74a5.entry.js.map} +0 -0
  594. /package/dist/genexus-ide-ui/{p-a5c15051.entry.js.map → p-537dfb63.entry.js.map} +0 -0
  595. /package/dist/genexus-ide-ui/{p-06cb63b5.entry.js.map → p-60b5aa38.entry.js.map} +0 -0
  596. /package/dist/genexus-ide-ui/{p-03c0d269.entry.js.map → p-69a83248.entry.js.map} +0 -0
  597. /package/dist/genexus-ide-ui/{p-6b5adc13.entry.js.map → p-73a98f20.entry.js.map} +0 -0
  598. /package/dist/genexus-ide-ui/{p-f744e80f.entry.js.map → p-73afc989.entry.js.map} +0 -0
  599. /package/dist/genexus-ide-ui/{p-c3fbfe7b.entry.js.map → p-77239013.entry.js.map} +0 -0
  600. /package/dist/genexus-ide-ui/{p-fc55b26e.entry.js.map → p-7ac25fc3.entry.js.map} +0 -0
  601. /package/dist/genexus-ide-ui/{p-357b287c.entry.js.map → p-7ca8ed4b.entry.js.map} +0 -0
  602. /package/dist/genexus-ide-ui/{p-8dfde4d9.entry.js.map → p-82649b9b.entry.js.map} +0 -0
  603. /package/dist/genexus-ide-ui/{p-b01eccc2.entry.js.map → p-8ee27085.entry.js.map} +0 -0
  604. /package/dist/genexus-ide-ui/{p-cad2b413.entry.js.map → p-92e46b5d.entry.js.map} +0 -0
  605. /package/dist/genexus-ide-ui/{p-4dbaf435.entry.js.map → p-a1f28f2b.entry.js.map} +0 -0
  606. /package/dist/genexus-ide-ui/{p-0b854804.js.map → p-af836892.js.map} +0 -0
  607. /package/dist/genexus-ide-ui/{p-c6cf40ab.entry.js.map → p-c79243c8.entry.js.map} +0 -0
  608. /package/dist/genexus-ide-ui/{p-9e5fa97a.entry.js.map → p-dbfddffd.entry.js.map} +0 -0
  609. /package/dist/genexus-ide-ui/{p-5bf67436.js.map → p-e8bdf9dc.js.map} +0 -0
  610. /package/dist/genexus-ide-ui/{p-01885db6.entry.js.map → p-edc4f1dc.entry.js.map} +0 -0
  611. /package/dist/genexus-ide-ui/{p-7e2ea144.entry.js.map → p-ee3161f8.entry.js.map} +0 -0
  612. /package/dist/genexus-ide-ui/{p-3ce32466.entry.js.map → p-f1f6b028.entry.js.map} +0 -0
  613. /package/dist/genexus-ide-ui/{p-13c68ced.js.map → p-f831f30b.js.map} +0 -0
  614. /package/dist/genexus-ide-ui/{p-97fba685.entry.js.map → p-f9aafa8f.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"gx-ide-object-selector.entry.cjs.js","mappings":"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","names":["getAssetPath","FILTER_AFTER","h","renderComboItems","gridCommon","formatDate","Locale","Host","config"],"sources":["src/components/object-selector/object-selector.scss?tag=gx-ide-object-selector&encapsulation=shadow","src/components/object-selector/object-selector.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n@import \"../../../node_modules/@genexus/mercury/dist/mercury.scss\";\n\n:host {\n display: block;\n border: 1px solid var(--gxg-border-color--regular);\n background-color: var(--mer-color__surface);\n}\n\n/* Filters */\n.filter-grid {\n display: grid;\n padding: var(--mer-spacing--sm);\n row-gap: var(--gx-ide-grid-row-gap);\n column-gap: var(--gx-ide-grid-column-gap);\n border-block-start: 1px solid var(--gx-ide-container-border-color);\n border-block-end: 1px solid var(--gx-ide-container-border-color);\n\n grid-template-columns: 1fr 1fr;\n grid-template-areas:\n \"pattern type\"\n \"category module-folder\"\n \"modified-row modified-row\";\n .pattern {\n grid-area: pattern;\n }\n .type {\n grid-area: type;\n }\n .category {\n grid-area: category;\n }\n .module-folder {\n grid-area: module-folder;\n }\n .modified-row {\n grid-area: modified-row;\n }\n &--no-title {\n border-top: 0;\n }\n}\n\n/*modified row*/\n.modified-row {\n min-height: 24px;\n display: flex;\n align-items: center;\n gap: var(--gx-ide-grid-column-gap);\n flex: 1;\n &__inner-wrapper {\n display: flex;\n align-items: center;\n gap: var(--gx-ide-grid-column-gap);\n flex: 1;\n .date-time {\n display: flex;\n align-items: center;\n }\n }\n .combo-modified {\n }\n .user {\n max-width: 205px !important;\n }\n .date-time {\n flex: 1;\n }\n}\n\n// gx-ide-container.loading::part(content) {\n// // only apply display grid when the loader is being displayed, to stretch the container.\n// display: grid ;\n// }\ngx-ide-container::part(content) {\n // only apply display grid when the loader is being displayed, to stretch the container.\n display: grid;\n}\n\n/*tabular grid*/\nch-tabular-grid {\n overflow: auto;\n max-width: 100%;\n}\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".tabular-grid-object-selector\",\n $tabular-grid-cell-node-type: \"text\",\n $tabular-grid-cell-apply-ellipsis: true,\n $tabular-grid-affected-columns-nth-list: (\n 5\n )\n);\n\n/* Objects Table */\n.objects-count {\n display: flex;\n justify-content: space-around;\n > * {\n flex: 1;\n padding: var(--mer-spacing--2xs);\n }\n > :not(:last-child) {\n border-inline-end: 1px solid var(--gx-ide-container-border-color);\n }\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method,\n getAssetPath,\n Watch\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { MercuryBundles } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { config } from \"../../common/config\";\nimport { renderComboItems } from \"../../common/render-combo-items\";\nimport { EntityData, GxOption } from \"../../common/types\";\nimport { formatDate } from \"../../common/helpers\";\nimport { gridCommon } from \"../../common/grid\";\nimport { FILTER_AFTER } from \"../../common/constants\";\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-object-selector\",\n styleUrl: \"object-selector.scss\",\n shadow: { delegatesFocus: true },\n assetsDirs: [\"gx-ide-assets/object-selector\"]\n})\nexport class GxIdeObjectSelector {\n // 1.OWN PROPERTIES\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n private shortcutsSrc = getAssetPath(\n `./gx-ide-assets/object-selector/shortcuts.json`\n );\n\n private selectedAttribute: string;\n private selectedCategory: string;\n\n // 2. REFERENCE TO ELEMENTS\n\n @Element() el: HTMLGxIdeObjectSelectorElement;\n\n /* References needed to collect data */\n private filterPatternEl!: HTMLGxgFormTextElement;\n private filterTypeEl!: HTMLGxgComboBoxElement;\n private filterCategoryEl!: HTMLGxgComboBoxElement;\n private filterModuleEl!: HTMLGxIdeEntitySelectorElement;\n private filterModifiedEl!: HTMLGxgFormCheckboxElement;\n private filterAfterTypeEl!: HTMLGxgComboBoxElement;\n private filterUserEl!: HTMLGxgFormTextElement;\n private filterModifiedDateEl!: HTMLGxgDatePickerElement;\n private chGridEl!: HTMLChTabularGridElement;\n private chGridRowsetEmptyEl!: HTMLChTabularGridRowsetEmptyElement;\n private gxgShortcutsEl: HTMLGxgShortcutsElement;\n private loaderEl!: HTMLGxgIdeLoaderElement;\n\n // 3.STATE() VARIABLES\n\n /**\n * The after types render in the after selector\n */\n @State() filterAfterType = \"\";\n\n /**\n * For show or hide the filters relative to modifiers\n */\n @State() filterModified = false;\n\n /**\n * The objects rendered in the table\n */\n @State() objects: ObjectData[] = [];\n\n /**\n * The selected objects in the table of objects\n */\n @State() selectedObjectsIds: string[] = [];\n\n /**\n * True if loadCallback has been called and has not been resolved yet.\n */\n @State() loading: boolean = true;\n @Watch(\"loading\")\n evaluateLoading(loading: boolean) {\n this.loaderEl.show = loading;\n }\n\n // 4.PUBLIC PROPERTY API\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * If true, it will display a loader when needed.\n */\n @Prop() readonly loader = false;\n\n /**\n * True' if multiple object selection is allowed. Default is 'True'\n */\n @Prop() readonly multiSelection: boolean = true;\n\n /**\n * Current value of the input pattern. It is also used to set the default value when initializing the component\n */\n @Prop() readonly patternValue: string;\n\n /**\n * The types render in the filter type selector\n */\n @Prop() readonly types!: ObjectType[];\n\n /**\n * The default value for the type filter\n */\n @Prop() readonly defaultType: string;\n\n /**\n * The categories render in the filter category selector\n */\n @Prop() readonly categories!: GxOption[];\n\n /**\n * The default id value for the category filter\n */\n @Prop() readonly defaultCategory: string;\n\n /**\n * The default value for the module/folder filter\n */\n @Prop() readonly defaultModule: EntityData;\n\n /**\n * Callback invoked when the action is executed in the Module/Folder filter. It returns the information of the selected object (id and name) or 'undefined' if it was canceled.\n */\n @Prop() readonly selectModuleCallback: SelectModuleCallback;\n\n /**\n * Callback invoked when the user wishes to cancel the selection of objects.\n */\n @Prop() readonly cancelCallback!: CancelCallback;\n\n /**\n * Callback invoked when the component needs to reload the list of attributes.\n */\n @Prop() readonly loadCallback!: LoadCallback;\n\n /**\n * Callback invoked when the user presses the 'New' button.\n */\n @Prop() readonly newObjectCallback!: NewObjectCallback;\n\n /**\n * This is a function provided by the developer for expanded the data of object that is double-clicked or entered.\n */\n @Prop() readonly openSelectionCallback!: OpenSelectionCallback;\n\n // 5.EVENTS (EMIT)\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.componentDidLoadEvent.emit(true);\n }\n\n componentDidLoad() {\n this.listenChanges();\n this.selectedAttribute = this.filterTypeEl.value;\n this.getObjects();\n this.filterPatternEl.focus();\n this.evaluateLoading(this.loading);\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n this.loaderEl.container = this.chGridRowsetEmptyEl;\n }\n\n // 7.LISTENERS\n\n // 8.PUBLIC METHODS API\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.gxgShortcutsEl.suspend = true;\n } else {\n this.gxgShortcutsEl.suspend = false;\n }\n }\n\n /**\n * Validate necessary data input\n */\n @Method()\n async validate(): Promise<boolean> {\n const isValid = true;\n return isValid;\n }\n\n // 9.LOCAL METHODS\n\n private loaderCancelCallbackHandler = async () => {\n this.cancelCallbackHandler();\n };\n\n private getObjects = (): void => {\n /* 'modified' checkbox, should only be considered if 'date' || 'user' */\n const modified = this.filterModifiedEl.checked;\n const modifiedAfter = this.filterAfterTypeEl.value;\n const user = this.filterUserEl?.value?.trim();\n const filters: ObjectFiltersData = {\n pattern: this.filterPatternEl?.value,\n // type: this.filterTypeEl?.value,\n type: this.selectedAttribute,\n // category: this.filterCategoryEl?.value,\n category: this.selectedCategory,\n module: this.filterModuleEl?.value?.id,\n modifiedAfter: modified && modifiedAfter ? modifiedAfter : null,\n modifiedBy: modified && user ? user : null,\n modifiedDate:\n modified && modifiedAfter === FILTER_AFTER.DATE_TIME\n ? (this.filterModifiedDateEl?.value as Date)\n : null\n };\n if (this.loadCallback) {\n this.loading = true;\n this.objects = [];\n this.loadCallback(filters).then((items: ObjectData[]) => {\n this.loaderEl.show = false;\n if (items) {\n this.objects = items;\n }\n this.selectedObjectsIds = [];\n this.deselectAll();\n this.loading = false;\n });\n }\n };\n\n private openSelectionCallbackHandler = (\n e: MouseEvent | KeyboardEvent\n ): void => {\n e.stopPropagation();\n this.openSelectionCallback(this.selectedObjectsIds);\n };\n\n private cancelCallbackHandler = (): void => {\n this.cancelCallback();\n };\n\n private selectAll = (): void => {\n (this.chGridEl as any).selectAllRows();\n };\n\n private deselectAll = (): void => {\n (this.chGridEl as any).selectAllRows(false);\n };\n\n private newObjectCallbackHandler = (): void => {\n this.newObjectCallback();\n };\n\n private listenChanges = async (): Promise<void> => {\n /* pattern*/\n this.filterPatternEl.addEventListener(\"input\", () => {\n this.getObjects();\n });\n /* type*/\n this.filterTypeEl.addEventListener(\n \"valueChanged\",\n (e: CustomEvent<any>) => {\n this.selectedAttribute = e.detail;\n this.getObjects();\n }\n );\n /* category*/\n this.filterCategoryEl.addEventListener(\n \"valueChanged\",\n (e: CustomEvent<any>) => {\n this.selectedCategory = e.detail;\n this.getObjects();\n }\n );\n /* module/folder*/\n this.filterModuleEl.addEventListener(\"valueChanged\", () => {\n this.getObjects();\n });\n /* modified */\n this.filterModifiedEl.addEventListener(\"change\", (e: any) => {\n this.filterModified = e.detail.value;\n this.getObjects();\n });\n /* modified after... */\n this.filterAfterTypeEl.addEventListener(\"valueChanged\", () => {\n this.filterAfterType = this.filterAfterTypeEl.value;\n this.getObjects();\n });\n /* user... */\n this.filterUserEl.addEventListener(\"input\", () => {\n this.getObjects();\n });\n /* Date/Time */\n this.filterModifiedDateEl.addEventListener(\"valueChanged\", () => {\n this.getObjects();\n });\n // for grid selection\n this.chGridEl.addEventListener(\"selectionChanged\", (ev: any): void => {\n this.selectedObjectsIds = ev.detail.rowsId;\n });\n };\n\n private filterTypeHandler = (\n e: CustomEvent<{\n el: HTMLGxgComboBoxItemElement;\n index: number;\n value: any;\n icon?: string;\n }>\n ) => {\n this.selectedAttribute = e.detail.value;\n this.getObjects();\n };\n\n private filterCategoryHandler = (\n e: CustomEvent<{\n el: HTMLGxgComboBoxItemElement;\n index: number;\n value: any;\n icon?: string;\n }>\n ) => {\n this.selectedCategory = e.detail.value;\n this.getObjects();\n };\n\n private chGridKeyDownHandler = (e: KeyboardEvent) => {\n if (e.key === \"Enter\") {\n this.openSelectionCallbackHandler(e);\n }\n };\n\n private hostKeyPressHandler = (e: KeyboardEvent) => {\n // just prevent keypress propagation\n if (e.key === \"Enter\") {\n e.stopPropagation();\n }\n };\n\n private evaluateObjectsCount = (type: \"selected\" | \"matching\"): string => {\n if (type === \"selected\" && this.selectedObjectsIds.length === 0) {\n return this._componentLocale.objCount.selected.none;\n } else if (type === \"selected\" && this.selectedObjectsIds.length === 1) {\n return `1 ${this._componentLocale.objCount.selected.one}`;\n } else if (type === \"selected\" && this.selectedObjectsIds.length > 1) {\n return `${this.selectedObjectsIds.length} ${this._componentLocale.objCount.selected.many}`;\n } else if (type === \"matching\" && this.objects.length === 0) {\n return this._componentLocale.objCount.matching.none;\n } else if (type === \"matching\" && this.objects.length === 1) {\n return `1 ${this._componentLocale.objCount.matching.one}`;\n } else {\n // hopefully: type === \"matching\" && this.objects.length > 1\n return `${this.objects.length} ${this._componentLocale.objCount.matching.many}`;\n }\n };\n\n private afterClosedHandler = () => {\n // do the same as if the value was changed.\n this.filterAfterType = this.filterAfterTypeEl.value;\n this.getObjects();\n };\n\n // 9.LOCAL METHODS -> RENDER\n\n private renderFilter = (): Element => {\n return (\n <div\n part=\"filters-container\"\n class={{\n \"filter-grid\": true,\n \"filter-grid--no-title\": !this.displayTitle\n }}\n slot=\"header\"\n >\n <gxg-form-text\n label-position=\"above\"\n label={this._componentLocale.filter.pattern}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.filterPatternEl = el as HTMLGxgFormTextElement)\n }\n value={this.patternValue}\n class=\"pattern\"\n part=\"filter-pattern\"\n ></gxg-form-text>\n\n <gxg-combo-box\n disable-filter\n label={this._componentLocale.filter.type}\n value={this.defaultType}\n disabled={!this.types}\n display-validation-styles\n display-validation-message\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterTypeEl = el as HTMLGxgComboBoxElement)\n }\n class=\"type\"\n part=\"filter-type\"\n >\n {this.types.map(item => (\n <gxg-combo-box-item\n value={item.id}\n onItemSelected={this.filterTypeHandler}\n >\n {item.name}\n </gxg-combo-box-item>\n ))}\n </gxg-combo-box>\n\n <gxg-combo-box\n disable-filter\n label={this._componentLocale.filter.category}\n value={this.defaultCategory}\n disabled={!this.categories}\n display-validation-styles\n display-validation-message\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterCategoryEl = el as HTMLGxgComboBoxElement)\n }\n class=\"category\"\n part=\"filter-category\"\n >\n {this.categories.map(item => (\n <gxg-combo-box-item\n value={item.id}\n onItemSelected={this.filterCategoryHandler}\n >\n {item.label}\n </gxg-combo-box-item>\n ))}\n </gxg-combo-box>\n\n <gx-ide-entity-selector\n label={this._componentLocale.filter.module}\n label-position=\"above\"\n value={this.defaultModule}\n defaultValue={this.defaultModule}\n selectEntityCallback={this.selectModuleCallback}\n ref={(el: HTMLGxIdeEntitySelectorElement) =>\n (this.filterModuleEl = el as HTMLGxIdeEntitySelectorElement)\n }\n class=\"module-folder\"\n ></gx-ide-entity-selector>\n\n <div class=\"modified-row\">\n <gxg-form-checkbox\n label={this._componentLocale.filter.modified}\n class=\"align-center\"\n ref={(el: HTMLGxgFormCheckboxElement) =>\n (this.filterModifiedEl = el as HTMLGxgFormCheckboxElement)\n }\n part=\"filter-modified\"\n ></gxg-form-checkbox>\n\n <div class=\"modified-row__inner-wrapper\">\n <gxg-combo-box\n class={{\n \"gxi-hidden\": !this.filterModified,\n \"combo-modified\": true\n }}\n disable-filter\n value={this.filterAfterType}\n display-validation-styles\n display-validation-message\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterAfterTypeEl = el as HTMLGxgComboBoxElement)\n }\n part=\"filter-after-type\"\n onClosed={this.afterClosedHandler}\n >\n {renderComboItems([\n {\n id: FILTER_AFTER.NONE,\n label: this._componentLocale.filter.afterNone,\n value: FILTER_AFTER.NONE\n },\n {\n id: FILTER_AFTER.DATE_TIME,\n label: this._componentLocale.filter[FILTER_AFTER.DATE_TIME],\n value: FILTER_AFTER.DATE_TIME\n },\n {\n id: FILTER_AFTER.IMPORT,\n label: this._componentLocale.filter[FILTER_AFTER.IMPORT],\n value: FILTER_AFTER.IMPORT\n },\n {\n id: FILTER_AFTER.LAST_BUILD,\n label: this._componentLocale.filter[FILTER_AFTER.LAST_BUILD],\n value: FILTER_AFTER.LAST_BUILD\n }\n ])}\n </gxg-combo-box>\n\n <gxg-form-text\n class={{\n \"gxi-hidden\": !this.filterModified,\n \"user\": true\n }}\n label-position=\"start\"\n label={this._componentLocale.filter.user}\n max-width=\"150px\"\n ref={(el: HTMLGxgFormTextElement) =>\n (this.filterUserEl = el as HTMLGxgFormTextElement)\n }\n part=\"filter-user\"\n ></gxg-form-text>\n\n <div\n class={{\n \"date-time\": true,\n \"gxi-hidden\":\n !this.filterModified ||\n this.filterAfterType !== FILTER_AFTER.DATE_TIME\n }}\n part=\"filter-datetime\"\n >\n <gxg-label label-position=\"start\">\n {this._componentLocale.filter.dateTime}\n </gxg-label>\n <gxg-date-picker\n ref={(el: HTMLGxgDatePickerElement) =>\n (this.filterModifiedDateEl = el as HTMLGxgDatePickerElement)\n }\n class=\"date-time\"\n ></gxg-date-picker>\n </div>\n </div>\n </div>\n </div>\n );\n };\n\n private renderObjects = (): Element => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid tabular-grid-object-selector\"\n rowSelectionMode={this.multiSelection ? \"multiple\" : \"single\"}\n ref={(el: HTMLChTabularGridElement) => (this.chGridEl = el)}\n onKeyDown={this.chGridKeyDownHandler}\n part=\"ch-grid-objects\"\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n column-name-position=\"text\"\n settingable={false}\n size={gridCommon.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this._componentLocale.tableHead.name}\n column-name-position=\"text\"\n settingable={false}\n size={gridCommon.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this._componentLocale.tableHead.type}\n column-name-position=\"text\"\n settingable={false}\n size={gridCommon.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this._componentLocale.tableHead.module}\n column-name-position=\"text\"\n settingable={false}\n size={gridCommon.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this._componentLocale.tableHead.description}\n column-name-position=\"text\"\n settingable={false}\n size={gridCommon.colSize.commonDouble}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this._componentLocale.tableHead.modifiedDate}\n column-name-position=\"text\"\n settingable={false}\n size={gridCommon.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this._componentLocale.tableHead.importDate}\n column-name-position=\"text\"\n settingable={false}\n size={gridCommon.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {!this.loading ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.objects\n .sort((a, b) => {\n const nameA = a.name.toLowerCase(),\n nameB = b.name.toLowerCase();\n if (nameA < nameB) {\n return -1;\n }\n if (nameA > nameB) {\n return 1;\n }\n return 0;\n })\n .map((obj: ObjectData) => (\n <ch-tabular-grid-row\n rowid={obj.id}\n onDblClick={this.openSelectionCallbackHandler}\n class=\"tabular-grid-row\"\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.icon} class=\"icon-md\"></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.type}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.module}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.description}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.modifiedDate, \"date-time\")}`}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.importDate, \"date-time\")}`}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty\n ref={(el: HTMLChTabularGridRowsetEmptyElement) =>\n (this.chGridRowsetEmptyEl = el)\n }\n ></ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n );\n };\n\n // 10.RENDER() FUNCTION\n\n render(): void {\n return (\n <Host class=\"gx-ide-component\" onKeyPress={this.hostKeyPressHandler}>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n noContentPadding\n noAboveFooterPadding\n noHeadingPadding\n headingPaddingTop\n noHeadingBorder\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n class={{ loading: this.loading }}\n >\n {this.renderFilter()}\n {this.renderObjects()}\n\n <div class=\"objects-count\" slot=\"footer-above\">\n <gxg-text\n class=\"align-end\"\n part=\"objects-selected\"\n textAlign=\"center\"\n >\n {this.evaluateObjectsCount(\"selected\")}\n </gxg-text>\n <gxg-text\n class=\"align-end\"\n part=\"objects-matching\"\n textAlign=\"center\"\n >\n {this.evaluateObjectsCount(\"matching\")}\n </gxg-text>\n </div>\n\n {/* footer */}\n {/* button cancel */}\n <gxg-button\n type=\"outlined\"\n onClick={this.cancelCallbackHandler}\n part=\"gxg-button gxg-button--cancel\"\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnCancel}\n </gxg-button>\n {/* button confirm */}\n <gxg-button\n type=\"primary-text-only\"\n onClick={this.openSelectionCallbackHandler}\n part=\"gxg-button gxg-button--ok\"\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnConfirm}\n </gxg-button>\n {/* button new... */}\n <gxg-button\n type=\"secondary-text-icon\"\n icon=\"menus/new-object\"\n onClick={this.newObjectCallbackHandler}\n part=\"gxg-button gxg-button--new\"\n slot=\"footer-start\"\n >\n {this._componentLocale.footer.btnNew}\n </gxg-button>\n {/* button select all */}\n {this.multiSelection ? (\n <gxg-button\n type=\"secondary-text-only\"\n onClick={this.selectAll}\n part=\"gxg-button gxg-button--select-all\"\n slot=\"footer-start\"\n >\n {this._componentLocale.footer.btnSelectAll}\n </gxg-button>\n ) : null}\n </gx-ide-container>\n </div>\n <gxg-shortcuts\n src={this.shortcutsSrc}\n ref={(el: HTMLGxgShortcutsElement) =>\n (this.gxgShortcutsEl = el as HTMLGxgShortcutsElement)\n }\n ></gxg-shortcuts>\n {/* loader*/}\n {this.loader ? (\n <gx-ide-loader\n cancelLabel={this._componentLocale.loader.cancelLabel}\n loaderTitle={this._componentLocale.loader.title}\n ref={el => (this.loaderEl = el as HTMLGxgIdeLoaderElement)}\n cancelCallback={this.loaderCancelCallbackHandler}\n ></gx-ide-loader>\n ) : null}\n </Host>\n );\n }\n}\n\nexport type ObjectType = {\n id: string;\n name: string;\n icon?: string;\n};\n\nexport type NewObjectCallback = () => Promise<void>;\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type SelectModuleCallback = () => Promise<EntityData | undefined>;\n\nexport type OpenSelectionCallback = (ids: string[]) => Promise<void>;\n\nexport type LoadCallback = (\n filters: ObjectFiltersData\n) => Promise<ObjectData[]>;\n\nexport type ObjectFiltersData = {\n pattern?: string;\n type: string;\n category?: string;\n module?: string;\n modifiedAfter?: string;\n modifiedBy?: string;\n modifiedDate?: Date;\n};\n\nexport type ObjectData = {\n id: string;\n icon: string;\n name: string;\n type: string;\n description: string;\n module: string;\n modifiedDate?: Date;\n importDate?: Date;\n};\n\nexport type ObjectSelectorFilterAfter =\n | typeof FILTER_AFTER.NONE\n | typeof FILTER_AFTER.DATE_TIME\n | typeof FILTER_AFTER.LAST_BUILD\n | typeof FILTER_AFTER.IMPORT;\n"],"version":3}
1
+ {"file":"gx-ide-object-selector.entry.cjs.js","mappings":";;;;;;;;;;;AAEA;AACA;AACA;AAEA;AAEO,MAAM,gCAAgC,GAAG,CAC9C,eAA6B,KAE7B,eAAe,CAAC,GAAG,CAAC,UAAU,KAAK;IACjC,KAAK,EAAE,UAAU,CAAC,EAAE;IACpB,OAAO,EAAE,UAAU,CAAC,IAAI;CACzB,CAAC,CAAC,CAAC;AACC,MAAM,8BAA8B,GAAG,CAC5C,aAAyB,KAEzB,aAAa,CAAC,GAAG,CAAC,QAAQ,KAAK;IAC7B,KAAK,EAAE,QAAQ,CAAC,EAAE;IAClB,OAAO,EAAE,QAAQ,CAAC,KAAK;CACxB,CAAC,CAAC;;ACrBL,MAAM,iBAAiB,GAAG,kggBAAkggB;;;;;;;;;;;;;;;;;;;AC4B5hgB,MAAM,WAAW,GAAmB;IAClC,mBAAmB;IACnB,kBAAkB;IAClB,sBAAsB;IACtB,yBAAyB;IACzB,kBAAkB;IAClB,cAAc;CACf,CAAC;AAEF,MAAM,WAAW,GAAGA,yBAAW,CAAC;IAC9B,QAAQ,EAAE,cAAc;IACxB,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,cAAc;CAC1B,CAAC,CAAC;AACH,MAAM,SAAS,GAAGA,yBAAW,CAAC;IAC5B,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,cAAc;CAC1B,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAmB;IAC/C;QACE,EAAE,EAAE,UAAU;QACd,OAAO,EAAE,UAAU;QACnB,QAAQ,EAAE,KAAK;KAChB;CACF,CAAC;AAEF,IAAI,KAAK,GAAW,IAAI,CAAC;MAQZ,mBAAmB;;;QAC9B,uDAAsB;QACtB,4CAAgBC,kBAAY,CAC1B,gDAAgD,CACjD,EAAC;QAEF,0CAA6B,IAAI,EAAC;;QAKlC,oDAAkC;QAClC,oDAA4C;QAC5C,wDAAgD;QAChD,4DAAuD;QACvD,yDAAiD;QACjD,iDAA+B;QAC/B,yDAAsC;QACtC,mDAAwC;QACxC,mDAAqC;QAkIrC,qDAAyB;YACvB,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB,EAAC;QAEF,oDAAwB,CAAC,CAAgB;YACvC,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;gBACrB,uBAAA,IAAI,yDAA8B,MAAlC,IAAI,EAA+B,CAAC,CAAC,CAAC;aACvC;SACF,EAAC;QAEF,2CAAe;YACZ,uBAAA,IAAI,wCAAqB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACjD,EAAC;QAEF,oDAAwB,CAAC,IAA6B;YACpD,MAAM,MAAM,GAAG,uBAAA,IAAI,4CAAiB,CAAC;YAErC,IAAI,IAAI,KAAK,UAAU,EAAE;gBACvB,IAAI,IAAI,CAAC,uBAAuB,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC7C,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;iBACtC;gBACD,IAAI,IAAI,CAAC,uBAAuB,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC7C,OAAO,KAAK,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;iBAC5C;gBACD,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;aAClF;;YAGD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;aACtC;YACD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC7B,OAAO,KAAK,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;aAC5C;YACD,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;SAClE,EAAC;QAEF,wCAAY;YACV,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACzD,OAAO,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;SAC1B,EAAC;QAEF,sDAA0B,CAAC,KAAuC;YAChE,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,MAA0B,CAAC;YAC3D,IACE,IAAI,CAAC,kBAAkB,KAAKC,sBAAY,CAAC,SAAS;iBACjD,IAAI,CAAC,kBAAkB,KAAKA,sBAAY,CAAC,SAAS;oBACjD,uBAAA,IAAI,8CAAmB,CAAC,KAAK,CAAC,EAChC;;gBAEA,uBAAA,IAAI,0DAA+B,MAAnC,IAAI,CAAiC,CAAC;aACvC;SACF,EAAC;QAEF,4DAAgC,CAC9B,KAAoD;YAEpD,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;SACpD,EAAC;QAEF,mDAAuB,CAAC,CAAgB;;YAEtC,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;gBACrB,CAAC,CAAC,eAAe,EAAE,CAAC;aACrB;SACF,EAAC;QAEF,wDAA4B;YAC1B,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC1B,EAAC;QAEF,4DAAgC,CAAC,CAA6B;YAC5D,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;SAC1D,EAAC;QAEF,6DAAiC;;;YAE/B,MAAM,aAAa,GAAG,uBAAA,IAAI,8CAAmB,CAAC,KAAK,CAAC;YACpD,MAAM,IAAI,GAAG,MAAA,MAAA,uBAAA,IAAI,sCAAW,0CAAE,KAAK,0CAAE,IAAI,EAAE,CAAC;YAC5C,MAAM,OAAO,GAAsB;gBACjC,OAAO,EAAE,MAAA,uBAAA,IAAI,yCAAc,0CAAE,KAAK;gBAClC,IAAI,EAAE,uBAAA,IAAI,yCAAc,CAAC,KAAK;gBAC9B,QAAQ,EAAE,uBAAA,IAAI,6CAAkB,CAAC,KAAK;gBACtC,MAAM,EAAE,MAAA,MAAA,uBAAA,IAAI,iDAAsB,0CAAE,KAAK,0CAAE,EAAE;gBAC7C,aAAa,EAAE,aAAa,GAAG,aAAa,GAAG,IAAI;gBACnD,UAAU,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI;gBAC9B,YAAY,EACV,aAAa,KAAKA,sBAAY,CAAC,SAAS;sBACpC,IAAI,IAAI,CAAC,MAAA,uBAAA,IAAI,8CAAmB,0CAAE,KAAK,CAAC;sBACxC,IAAI;aACX,CAAC;YACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,OAAqB;gBACpD,IAAI,OAAO,EAAE;oBACX,IAAI,CAAC,OAAO,GAAG,uBAAA,IAAI,8CAAmB,MAAvB,IAAI,EAAoB,OAAO,CAAC,CAAC;iBACjD;gBACD,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;gBAClC,uBAAA,IAAI,wCAAa,MAAjB,IAAI,CAAe,CAAC;gBACpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB,CAAC,CAAC;SACJ,EAAC;QAEF,4CAAgB;YACd,QACEC,kBAAM,KAAK,EAAC,wCAAwC,IAElDA,iBAAK,KAAK,EAAC,2BAA2B,IACpCA,mBAAO,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,SAAS,IACnC,uBAAA,IAAI,4CAAiB,CAAC,MAAM,CAAC,OAAO,CAC/B,EAERA,qBACE,cAAc,EAAE,uBAAA,IAAI,4CAAiB,CAAC,MAAM,CAAC,OAAO,EACpD,QAAQ,EAAEC,aAAM,CAAC,aAAa,EAC9B,KAAK,EAAC,YAAY,EAClB,IAAI,EAAC,gBAAgB,EACrB,EAAE,EAAC,SAAS,EACZ,IAAI,EAAC,SAAS,EACd,KAAK,EAAE,IAAI,CAAC,YAAY,EACxB,IAAI,EAAC,MAAM,EACX,GAAG,EAAE,CAAC,EAAqB,MACxB,uBAAA,IAAI,qCAAiB,EAAuB,MAAA,CAAC,EAEhD,OAAO,EAAE,uBAAA,IAAI,0DAA+B,GACnC,CACP,EAGND,iBAAK,KAAK,EAAC,wBAAwB,IACjCA,mBAAO,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,MAAM,IAChC,uBAAA,IAAI,4CAAiB,CAAC,MAAM,CAAC,IAAI,CAC5B,EACRA,iCACE,cAAc,EAAE,uBAAA,IAAI,4CAAiB,CAAC,MAAM,CAAC,IAAI,EACjD,KAAK,EAAC,WAAW,EACjB,QAAQ,EAAE,CAAC,IAAI,CAAC,KAAK,EACrB,KAAK,EAAE,IAAI,CAAC,WAAW,EACvB,IAAI,EAAC,aAAa,EAClB,EAAE,EAAC,MAAM,EACT,KAAK,EAAE,gCAAgC,CAAC,IAAI,CAAC,KAAK,CAAC,EACnD,GAAG,EAAE,CAAC,EAA+B,MAClC,uBAAA,IAAI,qCAAiB,EAAiC,MAAA,CAAC,EAE1D,OAAO,EAAE,uBAAA,IAAI,0DAA+B,GACvB,CACnB,EAGNA,iBAAK,KAAK,EAAC,4BAA4B,IACrCA,mBAAO,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,UAAU,IACpC,uBAAA,IAAI,4CAAiB,CAAC,MAAM,CAAC,QAAQ,CAChC,EACRA,iCACE,EAAE,EAAC,UAAU,EACb,KAAK,EAAC,WAAW,EACjB,cAAc,EAAE,uBAAA,IAAI,4CAAiB,CAAC,MAAM,CAAC,QAAQ,EACrD,QAAQ,EAAE,CAAC,IAAI,CAAC,UAAU,EAC1B,KAAK,EAAE,8BAA8B,CAAC,IAAI,CAAC,UAAU,CAAC,EACtD,KAAK,EAAE,IAAI,CAAC,eAAe,EAC3B,IAAI,EAAC,iBAAiB,EACtB,OAAO,EAAE,IAAI,CAAC,UAAU,IAAI,uBAAA,IAAI,0DAA+B,EAC/D,GAAG,EAAE,CAAC,EAA+B,MAClC,uBAAA,IAAI,yCAAqB,EAAiC,MAAA,CAAC,GAEzC,CACnB,EAGNA,oCACE,KAAK,EAAE,IAAI,CAAC,aAAa,EACzB,YAAY,EAAE,IAAI,CAAC,aAAa,EAChC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,EAC/C,GAAG,EAAE,CAAC,EAAkC,MACrC,uBAAA,IAAI,6CAAyB,EAAoC,MAAA,CAAC,EAErE,KAAK,EAAC,QAAQ,EACd,EAAE,EAAC,QAAQ,EACX,cAAc,EAAE,uBAAA,IAAI,0DAA+B,EACnD,aAAa,EAAC,aAAa,GACH,EAG1BA,iCACE,KAAK,EAAC,uCAAuC,EAC7C,KAAK,EAAE,wBAAwB,IAE/BA,iBAAK,IAAI,EAAC,UAAU,EAAC,KAAK,EAAC,cAAc,IACvCA,iBAAK,KAAK,EAAC,kCAAkC,IAC3CA,iBAAK,KAAK,EAAC,yBAAyB,IAElCA,mBAAO,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,YAAY,IACtC,uBAAA,IAAI,4CAAiB,CAAC,MAAM,CAAC,KAAK,CAC7B,EACRA,iCACE,KAAK,EAAC,WAAW,EACjB,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAC9B,IAAI,EAAC,mBAAmB,EACxB,EAAE,EAAC,YAAY,EACf,KAAK,EAAE,uBAAA,IAAI,uCAAY,EACvB,GAAG,EAAE,CAAC,EAA+B,MAClC,uBAAA,IAAI,0CACH,EAAiC,MAAA,CAAC,EAEtC,OAAO,EAAE,uBAAA,IAAI,mDAAwB,GAChB,CACnB,EAGNA,iBAAK,KAAK,EAAC,mBAAmB,IAC5BA,mBAAO,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,WAAW,IACrC,uBAAA,IAAI,4CAAiB,CAAC,MAAM,CAAC,IAAI,CAC5B,EACRA,qBACE,KAAK,EAAC,YAAY,EAClB,IAAI,EAAC,aAAa,EAClB,KAAK,EAAE,IAAI,CAAC,YAAY,EACxB,GAAG,EAAE,CAAC,EAAqB,MACxB,uBAAA,IAAI,kCAAc,EAAuB,MAAA,CAAC,EAE7C,EAAE,EAAC,WAAW,EACd,IAAI,EAAC,UAAU,EACf,WAAW,EAAE,SAAS,EACtB,OAAO,EAAE,uBAAA,IAAI,0DAA+B,GACnC,CACP,EAGNA,iBAAK,KAAK,EAAC,mBAAmB,IAC5BA,mBACE,KAAK,EAAE;oBACL,OAAO,EAAE,IAAI;oBACb,iBAAiB,EACf,IAAI,CAAC,kBAAkB,KAAK,eAAe;iBAC9C,EACD,OAAO,EAAC,eAAe,IAEtB,uBAAA,IAAI,4CAAiB,CAAC,MAAM,CAAC,QAAQ,CAChC,EAERA,mBACE,IAAI,EAAC,gBAAgB,EACrB,KAAK,EAAC,4BAA4B,EAClC,EAAE,EAAC,eAAe,EAClB,IAAI,EAAC,cAAc,EACnB,IAAI,EAAC,gBAAgB,EACrB,KAAK,EAAE,IAAI,CAAC,YAAY,EACxB,GAAG,EAAE,KAAK,EACV,GAAG,EAAE,CAAC,EAAoB,MACvB,uBAAA,IAAI,0CAAsB,EAAsB,MAAA,CAAC,EAEpD,QAAQ,EAAE,IAAI,CAAC,kBAAkB,KAAK,eAAe,EACrD,OAAO,EAAE,uBAAA,IAAI,0DAA+B,GACrC,CACL,CACF,CACF,CACc,CACjB,EACP;SACH,EAAC;QAEF,4CAAgB;YACd,QACEA,wBACEA,iBAAK,KAAK,EAAC,eAAe,EAAC,IAAI,EAAC,cAAc,IAC5CA,eACE,KAAK,EAAC,sCAAsC,EAC5C,IAAI,EAAC,kBAAkB,IAEtB,uBAAA,IAAI,iDAAsB,MAA1B,IAAI,EAAuB,UAAU,CAAC,CACrC,EACJA,eACE,KAAK,EAAC,sCAAsC,EAC5C,IAAI,EAAC,kBAAkB,IAEtB,uBAAA,IAAI,iDAAsB,MAA1B,IAAI,EAAuB,UAAU,CAAC,CACrC,CACA,EAENA,iBAAK,KAAK,EAAC,2CAA2C,IAEpDA,oBACE,KAAK,EAAC,kBAAkB,EACxB,IAAI,EAAC,mBAAmB,EACxB,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,uBAAA,IAAI,qDAA0B,GAAG,SAAS,EACnE,QAAQ,EAAE,IAAI,CAAC,OAAO,IAErB,uBAAA,IAAI,4CAAiB,CAAC,MAAM,CAAC,MAAM,CAC7B,EACTA,iBAAK,KAAK,EAAC,uBAAuB,IAEhCA,oBACE,KAAK,EAAC,kBAAkB,EACxB,IAAI,EAAC,sBAAsB,EAC3B,OAAO,EAAE,uBAAA,IAAI,kDAAuB,IAEnC,uBAAA,IAAI,4CAAiB,CAAC,MAAM,CAAC,SAAS,CAChC,EAETA,oBACE,KAAK,EAAC,gBAAgB,EACtB,IAAI,EAAC,uBAAuB,EAC5B,OAAO,EAAE,uBAAA,IAAI,yDAA8B,EAC3C,QAAQ,EAAE,IAAI,CAAC,OAAO,IAErB,uBAAA,IAAI,4CAAiB,CAAC,MAAM,CAAC,UAAU,CACjC,EACR,IAAI,CAAC,cAAc,IAClBA,oBACE,KAAK,EAAC,kBAAkB,EACxB,OAAO,EAAE,uBAAA,IAAI,sCAAW,EACxB,IAAI,EAAC,0BAA0B,IAE9B,uBAAA,IAAI,4CAAiB,CAAC,MAAM,CAAC,YAAY,CACnC,IACP,IAAI,CACJ,CACF,CACC,EACT;SACH,EAAC;QAEF,6CAAiB;YACf,QACEA,6BACE,KAAK,EAAE;oBACL,cAAc,EAAE,IAAI;oBACpB,8BAA8B,EAAE,IAAI;oBACpC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;iBAC1C,EACD,gBAAgB,EAAE,IAAI,CAAC,cAAc,GAAG,UAAU,GAAG,QAAQ,EAC7D,GAAG,EAAE,CAAC,EAA4B,MAAM,uBAAA,IAAI,oCAAgB,EAAE,MAAA,CAAC,EAC/D,IAAI,EAAC,iBAAiB,EACtB,SAAS,EAAE,uBAAA,IAAI,iDAAsB,EACrC,kBAAkB,EAAE,uBAAA,IAAI,yDAA8B,EACtD,UAAU,EAAE,uBAAA,IAAI,yDAA8B,IAE9CA,uCAA2B,KAAK,EAAC,yBAAyB,IACxDA,4DACuB,MAAM,EAC3B,WAAW,EAAE,KAAK,EAClB,IAAI,EAAEC,aAAM,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,EAC3C,KAAK,EAAC,qBAAqB,GACH,EAC1BD,mDACe,uBAAA,IAAI,4CAAiB,CAAC,SAAS,CAAC,IAAI,0BAC5B,MAAM,EAC3B,WAAW,EAAE,KAAK,EAClB,IAAI,EAAEC,aAAM,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,EAC3C,KAAK,EAAC,qBAAqB,GACH,EAC1BD,mDACe,uBAAA,IAAI,4CAAiB,CAAC,SAAS,CAAC,IAAI,0BAC5B,MAAM,EAC3B,WAAW,EAAE,KAAK,EAClB,IAAI,EAAEC,aAAM,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,EAC3C,KAAK,EAAC,qBAAqB,GACH,EAC1BD,mDACe,uBAAA,IAAI,4CAAiB,CAAC,SAAS,CAAC,MAAM,0BAC9B,MAAM,EAC3B,WAAW,EAAE,KAAK,EAClB,IAAI,EAAEC,aAAM,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,EAC3C,KAAK,EAAC,qBAAqB,GACH,EAC1BD,mDACe,uBAAA,IAAI,4CAAiB,CAAC,SAAS,CAAC,WAAW,0BACnC,MAAM,EAC3B,WAAW,EAAE,KAAK,EAClB,IAAI,EAAEC,aAAM,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,EAC7C,KAAK,EAAC,qBAAqB,GACH,EAC1BD,mDACe,uBAAA,IAAI,4CAAiB,CAAC,SAAS,CAAC,YAAY,0BACpC,MAAM,EAC3B,WAAW,EAAE,KAAK,EAClB,IAAI,EAAEC,aAAM,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,EAC3C,KAAK,EAAC,qBAAqB,GACH,EAC1BD,mDACe,uBAAA,IAAI,4CAAiB,CAAC,SAAS,CAAC,UAAU,0BAClC,MAAM,EAC3B,WAAW,EAAE,KAAK,EAClB,IAAI,EAAEC,aAAM,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,EAC3C,KAAK,EAAC,qBAAqB,GACH,CACA,EAE3B,IAAI,CAAC,OAAO,CAAC,MAAM,IAClBD,oCAAwB,KAAK,EAAC,qBAAqB,IAChD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAe,MAChCA,iCACE,KAAK,EAAE,GAAG,CAAC,EAAE,EACb,GAAG,EAAE,GAAG,CAAC,EAAE,EACX,KAAK,EAAC,kBAAkB,IAExBA,kCAAsB,KAAK,EAAC,mBAAmB,IAC7CA,sBAAU,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAC,SAAS,GAAY,CAC/B,EACvBA,kCAAsB,KAAK,EAAC,mBAAmB,IAC5C,GAAG,CAAC,IAAI,CACY,EACvBA,kCAAsB,KAAK,EAAC,mBAAmB,IAC5C,GAAG,CAAC,IAAI,CACY,EACvBA,kCAAsB,KAAK,EAAC,mBAAmB,IAC5C,GAAG,CAAC,MAAM,CACU,EACvBA,kCAAsB,KAAK,EAAC,mBAAmB,IAC5C,GAAG,CAAC,WAAW,CACK,EACvBA,kCAAsB,KAAK,EAAC,mBAAmB,IAC5C,GAAGE,kBAAU,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,CAC1B,EACvBF,kCAAsB,KAAK,EAAC,mBAAmB,IAC5C,GAAGE,kBAAU,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,CACxB,CACH,CACvB,CAAC,CACqB,KAEzBF,oCAAwB,KAAK,EAAC,qBAAqB,IACjDA,8CACG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,IAC1BA,2BACE,WAAW,EAAE,uBAAA,IAAI,4CAAiB,CAAC,MAAM,CAAC,KAAK,EAC/C,IAAI,SACW,KAEjBA,gCACE,YAAY,EAAE,WAAW,EACzB,UAAU,EAAE,uBAAA,IAAI,4CAAiB,CAAC,UAAU,CAAC,KAAK,GAC9B,CACvB,CAC4B,CACR,CAC1B,CACe,EAClB;SACH,EAAC;QAEF,yCAAa;YACV,uBAAA,IAAI,wCAAqB,CAAC,aAAa,EAAE,CAAC;SAC5C,EAAC;QAEF,oDAAwB;YACtB,IAAI,CAAC,kBAAkB,GAAGD,sBAAY,CAAC,IAAI,CAAC;SAC7C,EAAC;QAEF,+CAAmB;YACjB,uBAAA,IAAI,mCAAe;gBACjB;oBACE,OAAO,EAAE,uBAAA,IAAI,4CAAiB,CAAC,MAAM,CAAC,SAAS;oBAC/C,KAAK,EAAEA,sBAAY,CAAC,IAAI;iBACzB;gBACD;oBACE,OAAO,EAAE,uBAAA,IAAI,4CAAiB,CAAC,MAAM,CAACA,sBAAY,CAAC,SAAS,CAAC;oBAC7D,KAAK,EAAEA,sBAAY,CAAC,SAAS;iBAC9B;gBACD;oBACE,OAAO,EAAE,uBAAA,IAAI,4CAAiB,CAAC,MAAM,CAACA,sBAAY,CAAC,MAAM,CAAC;oBAC1D,KAAK,EAAEA,sBAAY,CAAC,MAAM;iBAC3B;gBACD;oBACE,OAAO,EAAE,uBAAA,IAAI,4CAAiB,CAAC,MAAM,CAACA,sBAAY,CAAC,UAAU,CAAC;oBAC9D,KAAK,EAAEA,sBAAY,CAAC,UAAU;iBAC/B;aACF,MAAA,CAAC;SACH,EAAC;QAEF,iDAAqB,CAAC,OAAqB;YACzC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvB,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,EAChC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC/B,IAAI,KAAK,GAAG,KAAK,EAAE;oBACjB,OAAO,CAAC,CAAC,CAAC;iBACX;gBACD,IAAI,KAAK,GAAG,KAAK,EAAE;oBACjB,OAAO,CAAC,CAAC;iBACV;gBACD,OAAO,CAAC,CAAC;aACV,CAAC,CAAC;SACJ,EAAC;8BAnmBwB,KAAK;uBAKH,KAAK;;uBAUA,EAAE;uCAKU,EAAE;;;;;;sBA8BrB,KAAK;;8BAUY,KAAK;;;;;;;IA2BhD,MAAM,iBAAiB;QACrB,KAAK,GAAG,uBAAA,IAAI,qCAAU,MAAd,IAAI,CAAY,CAAC;KAC1B;IAED,MAAM,iBAAiB;QACrB,uBAAA,IAAI,wCAAoB,MAAMI,aAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,MAAA,CAAC;QAClE,uBAAA,IAAI,4CAAiB,MAArB,IAAI,CAAmB,CAAC;QACxB,uBAAA,IAAI,iDAAsB,MAA1B,IAAI,CAAwB,CAAC;KAC9B;IAED,gBAAgB;QACd,uBAAA,IAAI,0DAA+B,MAAnC,IAAI,CAAiC,CAAC;QACtC,uBAAA,IAAI,yCAAc,CAAC,KAAK,EAAE,CAAC;KAC5B;IAED,kBAAkB,MAAK;;;;IAMvB,MAAM,gBAAgB,CAAC,gBAAyB;QAC9C,IAAI,gBAAgB,EAAE;YACpB,uBAAA,IAAI,wCAAa,CAAC,OAAO,GAAG,IAAI,CAAC;SAClC;aAAM;YACL,uBAAA,IAAI,wCAAa,CAAC,OAAO,GAAG,KAAK,CAAC;SACnC;KACF;;;;IAMD,MAAM,QAAQ;QACZ,MAAM,OAAO,GAAG,IAAI,CAAC;QACrB,OAAO,OAAO,CAAC;KAChB;IA0eD,MAAM;QACJ,QACEH,QAACI,UAAI,IAAC,UAAU,EAAE,uBAAA,IAAI,gDAAqB,IACzCJ,sBAAU,KAAK,EAAE,WAAW,GAAa,EACxC,uBAAA,IAAI,yCAAc,MAAlB,IAAI,CAAgB,EACpB,uBAAA,IAAI,0CAAe,MAAnB,IAAI,CAAiB,EACrB,uBAAA,IAAI,yCAAc,MAAlB,IAAI,CAAgB,EACrBA,0BACE,GAAG,EAAE,uBAAA,IAAI,yCAAc,EACvB,GAAG,EAAE,CAAC,EAA0B,MAC7B,uBAAA,IAAI,oCAAgB,EAA4B,MAAA,CAAC,GAEtC,CACX,EACP;KACH;;;;;;;;;;","names":["getIconPath","getAssetPath","FILTER_AFTER","h","config","formatDate","Locale","Host"],"sources":["src/components/object-selector/helpers.ts","src/components/object-selector/object-selector.scss?tag=gx-ide-object-selector&encapsulation=shadow","src/components/object-selector/object-selector.tsx"],"sourcesContent":["import { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\nimport { ObjectType, GxOption } from \"../../common/types\";\n// - - - - - - - - - - - -\n// Data Mappings\n// - - - - - - - - - - - -\n\n// ch-combo-box-render\n\nexport const mapObjectTypeToComboBoxItemModel = (\n objectTypeModel: ObjectType[]\n): ComboBoxModel =>\n objectTypeModel.map(objectType => ({\n value: objectType.id,\n caption: objectType.name\n }));\nexport const mapCategoryToComboBoxItemModel = (\n categoryModel: GxOption[]\n): ComboBoxModel =>\n categoryModel.map(category => ({\n value: category.id,\n caption: category.label\n }));\n","@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n@import \"../../../node_modules/@genexus/mercury/dist/mercury.scss\";\n\n:host {\n block-size: 100%;\n display: grid;\n grid-template-rows: auto 1fr auto;\n overflow: auto;\n}\n\n/* Filters */\n.filter-layout {\n grid-template:\n \"pattern type\"\n \"category module\"\n \"modified modified\";\n grid-template-columns: 1fr 1fr;\n}\n.pattern {\n grid-area: pattern;\n}\n.type {\n grid-area: type;\n}\n.category {\n grid-area: category;\n}\n.module {\n grid-area: module;\n}\n.modified-accordion {\n grid-area: modified;\n display: flex;\n flex-direction: column;\n}\n.field-group-modified {\n grid-template-columns: 1fr 1fr 1fr;\n}\n\ngx-ide-container::part(content) {\n // only apply display grid when the loader is being displayed, to stretch the container.\n display: grid;\n}\n\n/*tabular grid*/\nch-tabular-grid {\n overflow: auto;\n max-width: 100%;\n}\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".tabular-grid-object-selector\",\n $tabular-grid-cell-node-type: \"text\",\n $tabular-grid-cell-apply-ellipsis: true,\n $tabular-grid-affected-columns-nth-list: (\n 5\n )\n);\n\n/* Objects Table */\n.objects-count {\n display: grid;\n grid-template-columns: 1fr 1fr;\n border-block-start: var(--mer-border__width--sm) solid\n var(--mer-color__elevation--04);\n}\n.objects-selected {\n text-align: start;\n}\n.objects-matching {\n text-align: end;\n}\n.objects-selected,\n.objects-matching {\n padding: var(--mer-spacing--xs) var(--mer-spacing--md);\n}\ndiv.buttons-footer {\n justify-content: space-between;\n}\n\nch-tabular-grid-rowset-empty {\n position: relative; // makes this the bounder element for the loader\n}\n\nch-tabular-grid.empty-result::part(main) {\n // WA to avoid scrollbar flickering when displaying the empty-state message\n overflow: hidden;\n}\n\ninput::-webkit-datetime-edit-fields-wrapper {\n // WA remove padding to force this input block-size to be the same as other\n // mercury controls block size.\n padding: none;\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n Method,\n getAssetPath\n} from \"@stencil/core\";\n\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\nimport {\n AccordionModel,\n ComboBoxModel,\n TabularGridSelectionChangedEvent\n} from \"@genexus/chameleon-controls-library\";\n\nimport { Locale } from \"../../common/locale\";\nimport { config } from \"../../common/config\";\nimport { EntityData, GxOption, ObjectType } from \"../../common/types\";\nimport { formatDate } from \"../../common/helpers\";\nimport {\n mapObjectTypeToComboBoxItemModel,\n mapCategoryToComboBoxItemModel\n} from \"./helpers\";\nimport { FILTER_AFTER, FilterAfterValue } from \"../../common/constants\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"components/accordion\",\n \"components/tabular-grid\",\n \"utils/typography\",\n \"utils/layout\"\n];\n\nconst FILTER_ICON = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"on-elevation\"\n});\nconst USER_ICON = getIconPath({\n category: \"system\",\n name: \"user\",\n colorType: \"on-elevation\"\n});\n\nconst MODIFIED_ACCORDION_MODEL: AccordionModel = [\n {\n id: \"modified\",\n caption: \"Modified\",\n expanded: false\n }\n];\n\nlet TODAY: string = null;\n\n@Component({\n tag: \"gx-ide-object-selector\",\n styleUrl: \"object-selector.scss\",\n shadow: { delegatesFocus: true },\n assetsDirs: [\"gx-ide-assets/object-selector\"]\n})\nexport class GxIdeObjectSelector {\n #componentLocale: any;\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/object-selector/shortcuts.json`\n );\n\n #afterModel: ComboBoxModel = null;\n\n @Element() el: HTMLGxIdeObjectSelectorElement;\n\n /* References needed to collect data */\n #patternInput!: HTMLChEditElement;\n #typeComboBox!: HTMLChComboBoxRenderElement;\n #categoryComboBox!: HTMLChComboBoxRenderElement;\n #moduleEntitySelector!: HTMLGxIdeEntitySelectorElement;\n #afterTypeComboBox!: HTMLChComboBoxRenderElement;\n #userInput!: HTMLChEditElement;\n #modifiedDateInput!: HTMLInputElement;\n #objectsGrid!: HTMLChTabularGridElement;\n #shortcutsEl: HTMLChShortcutsElement;\n\n /**\n * For show or hide the filters relative to modifiers\n */\n @State() filterModified = false;\n\n /**\n * True if loadCallback has been called and has not been resolved yet.\n */\n @State() loading: boolean = false;\n\n /**\n * The \"modified after\" value\n */\n @State() modifiedAfterValue: FilterAfterValue;\n\n /**\n * The objects rendered in the table\n */\n @State() objects: ObjectData[] = [];\n\n /**\n * The selected objects in the table of objects\n */\n @State() selectedObjectsIdsArray: string[] = [];\n\n /**\n * Callback invoked when the user wishes to cancel the selection of objects.\n */\n @Prop() readonly cancelCallback!: CancelCallback;\n\n /**\n * The categories render in the filter category selector\n */\n @Prop() readonly categories!: GxOption[];\n\n /**\n * The default id value for the category filter\n */\n @Prop() readonly defaultCategory: string;\n\n /**\n * The default value for the module/folder filter\n */\n @Prop() readonly defaultModule: EntityData;\n\n /**\n * The default value for the type filter\n */\n @Prop() readonly defaultType: string;\n\n /**\n * If true, it will display a loader when needed.\n */\n @Prop() readonly loader = false;\n\n /**\n * Callback invoked when the component needs to reload the list of attributes.\n */\n @Prop() readonly loadCallback!: LoadCallback;\n\n /**\n * True if multiple object selection is allowed. Default is 'True'\n */\n @Prop() readonly multiSelection: boolean = false;\n\n /**\n * Callback invoked when the user presses the 'New' button.\n */\n @Prop() readonly newObjectCallback!: NewObjectCallback;\n\n /**\n * This is a function provided by the developer for expanded the data of object that is double-clicked or entered.\n */\n @Prop() readonly openSelectionCallback!: OpenSelectionCallback;\n\n /**\n * Current value of the input pattern. It is also used to set the default value when initializing the component\n */\n @Prop() readonly patternValue: string;\n\n /**\n * Callback invoked when the action is executed in the Module/Folder filter. It returns the information of the selected object (id and name) or 'undefined' if it was canceled.\n */\n @Prop() readonly selectModuleCallback: SelectModuleCallback;\n\n /**\n * The types render in the filter type selector\n */\n @Prop() readonly types!: ObjectType[];\n\n async connectedCallback() {\n TODAY = this.#getToday();\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#setAfterOptions();\n this.#setAfterDefaultValue();\n }\n\n componentDidLoad() {\n this.#refreshUIWithNewConfiguration();\n this.#patternInput.focus();\n }\n\n componentDidRender() {}\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.#shortcutsEl.suspend = true;\n } else {\n this.#shortcutsEl.suspend = false;\n }\n }\n\n /**\n * Validate necessary data input\n */\n @Method()\n async validate(): Promise<boolean> {\n const isValid = true;\n return isValid;\n }\n\n #cancelCallbackHandler = (): void => {\n this.cancelCallback();\n };\n\n #chGridKeyDownHandler = (e: KeyboardEvent) => {\n if (e.key === \"Enter\") {\n this.#openSelectionCallbackHandler(e);\n }\n };\n\n #deselectAll = (): void => {\n (this.#objectsGrid as any).selectAllRows(false);\n };\n\n #evaluateObjectsCount = (type: \"selected\" | \"matching\"): string => {\n const locale = this.#componentLocale;\n\n if (type === \"selected\") {\n if (this.selectedObjectsIdsArray.length === 0) {\n return locale.objCount.selected.none;\n }\n if (this.selectedObjectsIdsArray.length === 1) {\n return `1 ${locale.objCount.selected.one}`;\n }\n return `${this.selectedObjectsIdsArray.length} ${locale.objCount.selected.many}`;\n }\n\n // type === \"matching\"\n if (this.objects.length === 0) {\n return locale.objCount.matching.none;\n }\n if (this.objects.length === 1) {\n return `1 ${locale.objCount.matching.one}`;\n }\n return `${this.objects.length} ${locale.objCount.matching.many}`;\n };\n\n #getToday = (): string => {\n const now = new Date();\n const date = now.toISOString().split(\"T\")[0];\n const time = now.toISOString().split(\"T\")[1].slice(0, 5); // Only take 'HH:MM' part\n return `${date}T${time}`;\n };\n\n #handleAfterValueChange = (event: CustomEvent<string> | InputEvent) => {\n this.modifiedAfterValue = event.detail as FilterAfterValue;\n if (\n this.modifiedAfterValue !== FILTER_AFTER.DATE_TIME ||\n (this.modifiedAfterValue === FILTER_AFTER.DATE_TIME &&\n this.#modifiedDateInput.value)\n ) {\n // if \"modified\" is \"after date/time\" only refresh ui if date/time is valid.\n this.#refreshUIWithNewConfiguration();\n }\n };\n\n #handleObjectsSelectionChange = (\n event: CustomEvent<TabularGridSelectionChangedEvent>\n ) => {\n this.selectedObjectsIdsArray = event.detail.rowsId;\n };\n\n #hostKeyPressHandler = (e: KeyboardEvent) => {\n // just prevent keypress propagation\n if (e.key === \"Enter\") {\n e.stopPropagation();\n }\n };\n\n #newObjectCallbackHandler = (): void => {\n this.newObjectCallback();\n };\n\n #openSelectionCallbackHandler = (e: MouseEvent | KeyboardEvent): void => {\n e.stopPropagation();\n this.openSelectionCallback(this.selectedObjectsIdsArray);\n };\n\n #refreshUIWithNewConfiguration = (): void => {\n /* 'modified' checkbox, should only be considered if 'date' || 'user' */\n const modifiedAfter = this.#afterTypeComboBox.value;\n const user = this.#userInput?.value?.trim();\n const filters: ObjectFiltersData = {\n pattern: this.#patternInput?.value,\n type: this.#typeComboBox.value,\n category: this.#categoryComboBox.value,\n module: this.#moduleEntitySelector?.value?.id,\n modifiedAfter: modifiedAfter ? modifiedAfter : null,\n modifiedBy: user ? user : null,\n modifiedDate:\n modifiedAfter === FILTER_AFTER.DATE_TIME\n ? new Date(this.#modifiedDateInput?.value)\n : null\n };\n this.loading = true;\n this.objects = [];\n this.loadCallback(filters).then((objects: ObjectData[]) => {\n if (objects) {\n this.objects = this.#sortObjectsByName(objects);\n }\n this.selectedObjectsIdsArray = [];\n this.#deselectAll();\n this.loading = false;\n });\n };\n\n #renderFilter = (): Element => {\n return (\n <form class=\"field-group filter-layout spacing-body\">\n {/* #pattern */}\n <div class=\"field field-block pattern\">\n <label class=\"label\" htmlFor=\"pattern\">\n {this.#componentLocale.filter.pattern}\n </label>\n\n <ch-edit\n accessibleName={this.#componentLocale.filter.pattern}\n debounce={config.inputDebounce}\n class=\"form-input\"\n part=\"filter-pattern\"\n id=\"pattern\"\n name=\"pattern\"\n value={this.patternValue}\n mode=\"text\"\n ref={(el: HTMLChEditElement) =>\n (this.#patternInput = el as HTMLChEditElement)\n }\n onInput={this.#refreshUIWithNewConfiguration}\n ></ch-edit>\n </div>\n\n {/* #type */}\n <div class=\"field field-block type\">\n <label class=\"label\" htmlFor=\"type\">\n {this.#componentLocale.filter.type}\n </label>\n <ch-combo-box-render\n accessibleName={this.#componentLocale.filter.type}\n class=\"combo-box\"\n disabled={!this.types}\n value={this.defaultType}\n part=\"filter-type\"\n id=\"type\"\n model={mapObjectTypeToComboBoxItemModel(this.types)}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#typeComboBox = el as HTMLChComboBoxRenderElement)\n }\n onInput={this.#refreshUIWithNewConfiguration}\n ></ch-combo-box-render>\n </div>\n\n {/* #category */}\n <div class=\"field field-block category\">\n <label class=\"label\" htmlFor=\"category\">\n {this.#componentLocale.filter.category}\n </label>\n <ch-combo-box-render\n id=\"category\"\n class=\"combo-box\"\n accessibleName={this.#componentLocale.filter.category}\n disabled={!this.categories}\n model={mapCategoryToComboBoxItemModel(this.categories)}\n value={this.defaultCategory}\n part=\"filter-category\"\n onInput={this.categories && this.#refreshUIWithNewConfiguration}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#categoryComboBox = el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n </div>\n\n {/* #module */}\n <gx-ide-entity-selector\n value={this.defaultModule}\n defaultValue={this.defaultModule}\n selectEntityCallback={this.selectModuleCallback}\n ref={(el: HTMLGxIdeEntitySelectorElement) =>\n (this.#moduleEntitySelector = el as HTMLGxIdeEntitySelectorElement)\n }\n class=\"module\"\n id=\"module\"\n onValueChanged={this.#refreshUIWithNewConfiguration}\n labelPosition=\"block-start\"\n ></gx-ide-entity-selector>\n\n {/* #modified */}\n <ch-accordion-render\n class=\"accordion-outlined modified-accordion\"\n model={MODIFIED_ACCORDION_MODEL}\n >\n <div slot=\"modified\" class=\"spacing-body\">\n <div class=\"field-group field-group-modified\">\n <div class=\"field field-block after\">\n {/* #after */}\n <label class=\"label\" htmlFor=\"after-type\">\n {this.#componentLocale.filter.after}\n </label>\n <ch-combo-box-render\n class=\"combo-box\"\n value={this.modifiedAfterValue}\n part=\"filter-after-type\"\n id=\"after-type\"\n model={this.#afterModel}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#afterTypeComboBox =\n el as HTMLChComboBoxRenderElement)\n }\n onInput={this.#handleAfterValueChange}\n ></ch-combo-box-render>\n </div>\n\n {/* #user */}\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"user-name\">\n {this.#componentLocale.filter.user}\n </label>\n <ch-edit\n class=\"form-input\"\n part=\"filter-user\"\n value={this.patternValue}\n ref={(el: HTMLChEditElement) =>\n (this.#userInput = el as HTMLChEditElement)\n }\n id=\"user-name\"\n name=\"userName\"\n startImgSrc={USER_ICON}\n onInput={this.#refreshUIWithNewConfiguration}\n ></ch-edit>\n </div>\n\n {/* #date */}\n <div class=\"field field-block\">\n <label\n class={{\n \"label\": true,\n \"label--disabled\":\n this.modifiedAfterValue !== \"afterDateTime\"\n }}\n htmlFor=\"modified-date\"\n >\n {this.#componentLocale.filter.dateTime}\n </label>\n\n <input\n type=\"datetime-local\"\n class=\"form-input input-date-time\"\n id=\"modified-date\"\n name=\"modifiedDate\"\n part=\"filter-pattern\"\n value={this.patternValue}\n max={TODAY}\n ref={(el: HTMLInputElement) =>\n (this.#modifiedDateInput = el as HTMLInputElement)\n }\n disabled={this.modifiedAfterValue !== \"afterDateTime\"}\n onInput={this.#refreshUIWithNewConfiguration}\n ></input>\n </div>\n </div>\n </div>\n </ch-accordion-render>\n </form>\n );\n };\n\n #renderFooter = (): Element => {\n return (\n <footer>\n <div class=\"objects-count\" slot=\"footer-above\">\n <p\n class=\"text-body-regular-s objects-selected\"\n part=\"objects-selected\"\n >\n {this.#evaluateObjectsCount(\"selected\")}\n </p>\n <p\n class=\"text-body-regular-s objects-matching\"\n part=\"objects-matching\"\n >\n {this.#evaluateObjectsCount(\"matching\")}\n </p>\n </div>\n\n <div class=\"buttons-footer control-footer-with-border\">\n {/* button new object */}\n <button\n class=\"button-secondary\"\n part=\"button button-new\"\n onClick={!this.loading ? this.#newObjectCallbackHandler : undefined}\n disabled={this.loading}\n >\n {this.#componentLocale.footer.btnNew}\n </button>\n <div class=\"end buttons-container\">\n {/* button cancel */}\n <button\n class=\"button-secondary\"\n part=\"button button-cancel\"\n onClick={this.#cancelCallbackHandler}\n >\n {this.#componentLocale.footer.btnCancel}\n </button>\n {/* button confirm */}\n <button\n class=\"button-primary\"\n part=\"button button-confirm\"\n onClick={this.#openSelectionCallbackHandler}\n disabled={this.loading}\n >\n {this.#componentLocale.footer.btnConfirm}\n </button>\n {this.multiSelection ? (\n <button\n class=\"button-secondary\"\n onClick={this.#selectAll}\n part=\"button button-select-all\"\n >\n {this.#componentLocale.footer.btnSelectAll}\n </button>\n ) : null}\n </div>\n </div>\n </footer>\n );\n };\n\n #renderObjects = (): Element => {\n return (\n <ch-tabular-grid\n class={{\n \"tabular-grid\": true,\n \"tabular-grid-object-selector\": true,\n \"empty-result\": this.objects.length === 0\n }}\n rowSelectionMode={this.multiSelection ? \"multiple\" : \"single\"}\n ref={(el: HTMLChTabularGridElement) => (this.#objectsGrid = el)}\n part=\"ch-grid-objects\"\n onKeyDown={this.#chGridKeyDownHandler}\n onSelectionChanged={this.#handleObjectsSelectionChange}\n onDblClick={this.#openSelectionCallbackHandler}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.name}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.type}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.module}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.description}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.commonDouble}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.modifiedDate}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.importDate}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n {this.objects.length ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.objects.map((obj: ObjectData) => (\n <ch-tabular-grid-row\n rowid={obj.id}\n key={obj.id}\n class=\"tabular-grid-row\"\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.icon} class=\"icon-md\"></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.type}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.module}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.description}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.modifiedDate, \"date-time\")}`}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.importDate, \"date-time\")}`}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n {this.loader && this.loading ? (\n <gx-ide-loader\n loaderTitle={this.#componentLocale.loader.title}\n show\n ></gx-ide-loader>\n ) : (\n <gx-ide-empty-state\n stateIconSrc={FILTER_ICON}\n stateTitle={this.#componentLocale.emptyState.title}\n ></gx-ide-empty-state>\n )}\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n );\n };\n\n #selectAll = (): void => {\n (this.#objectsGrid as any).selectAllRows();\n };\n\n #setAfterDefaultValue = (): void => {\n this.modifiedAfterValue = FILTER_AFTER.NONE;\n };\n\n #setAfterOptions = (): void => {\n this.#afterModel = [\n {\n caption: this.#componentLocale.filter.afterNone,\n value: FILTER_AFTER.NONE\n },\n {\n caption: this.#componentLocale.filter[FILTER_AFTER.DATE_TIME],\n value: FILTER_AFTER.DATE_TIME\n },\n {\n caption: this.#componentLocale.filter[FILTER_AFTER.IMPORT],\n value: FILTER_AFTER.IMPORT\n },\n {\n caption: this.#componentLocale.filter[FILTER_AFTER.LAST_BUILD],\n value: FILTER_AFTER.LAST_BUILD\n }\n ];\n };\n\n #sortObjectsByName = (objects: ObjectData[]): ObjectData[] => {\n return objects.sort((a, b) => {\n const nameA = a.name.toLowerCase(),\n nameB = b.name.toLowerCase();\n if (nameA < nameB) {\n return -1;\n }\n if (nameA > nameB) {\n return 1;\n }\n return 0;\n });\n };\n\n render(): void {\n return (\n <Host onKeyPress={this.#hostKeyPressHandler}>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n {this.#renderFilter()}\n {this.#renderObjects()}\n {this.#renderFooter()}\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.#shortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n </Host>\n );\n }\n}\n\nexport type NewObjectCallback = () => Promise<void>;\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type SelectModuleCallback = () => Promise<EntityData | undefined>;\n\nexport type OpenSelectionCallback = (ids: string[]) => Promise<void>;\n\nexport type LoadCallback = (\n filters: ObjectFiltersData\n) => Promise<ObjectData[]>;\n\nexport type ObjectFiltersData = {\n pattern?: string;\n type: string;\n category?: string;\n module?: string;\n modifiedAfter?: string;\n modifiedBy?: string;\n modifiedDate?: Date;\n};\n\nexport type ObjectData = {\n id: string;\n icon: string;\n name: string;\n type: string;\n description: string;\n module: string;\n modifiedDate?: Date;\n importDate?: Date;\n};\n"],"version":3}
@@ -2,110 +2,159 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-13ec56b2.js');
5
+ const index = require('./index-b87e3ee0.js');
6
+ const assetsManager = require('./assets-manager-64c42a1e.js');
6
7
  const locale = require('./locale-bf43b87c.js');
8
+ const config = require('./config-7499aff7.js');
9
+ const helpers = require('./helpers-be14ea67.js');
7
10
 
8
- const recentNewsCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}:host{display:block;box-shadow:none;height:100%;overflow:hidden;padding-bottom:2px;box-sizing:border-box}.news-container{display:flex;flex-direction:column;gap:var(--gx-ide-articles-gap)}.news-container p:first-child{margin-top:0}.news-container p:last-child{margin-bottom:0}gxg-card.section{height:100% !important;overflow:auto;border-bottom:2px solid var(--gray-00)}gxg-ide-loader::part(loader-wrapper){border-radius:var(--gxg-card-section_border-radius);overflow:hidden}.gxg-card-container{height:100%;overflow:auto}.gx-ide-message{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm)}.gx-ide-message--hidden{display:none}gx-ide-title{max-width:250px}.news-article{transition:200ms opacity;opacity:0}.news-article.visible{opacity:1}";
11
+ const recentNewsCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.button-primary-destructive{--control__border-color:var(--button-primary__border-color--destructive);background-color:var(--button-primary__bg-color--destructive);color:var(--button-primary__color--destructive)}.button-primary-destructive:hover{--control__border-color:var(\n --button-primary__bg-color--destructive-hover\n );background-color:var(--button-primary__bg-color--destructive-hover);color:var(--button-primary__color--destructive)}.button-primary-destructive:active{--control__border-color:var(\n --button-primary__bg-color--destructive-active\n );background-color:var(--button-primary__bg-color--destructive-active);color:var(--button-primary__color--destructive)}.button-secondary-destructive{--control__border-color:var(--button-secondary__border-color--destructive);background-color:var(--button-secondary__bg-color--destructive);color:var(--button-secondary__color--destructive)}.button-secondary-destructive:hover{--control__border-color:var(\n --button-secondary__bg-color--destructive-hover\n );background-color:var(--button-secondary__bg-color--destructive-hover);color:var(--button-secondary__color--destructive)}.button-secondary-destructive:active{--control__border-color:var(\n --button-secondary__bg-color--destructive-active\n );background-color:var(--button-secondary__bg-color--destructive-active);color:var(--button-secondary__color--destructive)}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}.hiChar{color:var(--mer-color__primary-blue--200);filter:brightness(1.3)}:host(.empty){overflow:hidden !important}.news-container{display:grid;gap:var(--mer-spacing--xs);grid-auto-rows:max-content}.news-item{opacity:0;transition:150ms opacity}.news-item.visible{opacity:1}.card-news{display:flex;flex-direction:column;align-items:start;gap:var(--mer-spacing--xs)}.card-news__header{display:flex;gap:var(--mer-spacing--sm);align-items:center}gx-ide-loader::part(loader-wrapper){border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md)}.text-link{color:var(--mer-accent__primary)}.text-link:hover{text-decoration:underline}";
9
12
 
13
+ var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
14
+ if (kind === "a" && !f)
15
+ throw new TypeError("Private accessor was defined without a getter");
16
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
17
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
18
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
19
+ };
20
+ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
21
+ if (kind === "m")
22
+ throw new TypeError("Private method is not writable");
23
+ if (kind === "a" && !f)
24
+ throw new TypeError("Private accessor was defined without a setter");
25
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
26
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
27
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
28
+ };
29
+ var _GxIdeRecentNews_NEWS_ITEM_CLASS_SELECTOR, _GxIdeRecentNews_newsRendered, _GxIdeRecentNews_setTimeOutNewsDelay, _GxIdeRecentNews_newsContainerEl, _GxIdeRecentNews_displayNews, _GxIdeRecentNews_evaluateNewsDisplay, _GxIdeRecentNews_evaluateNewsRender, _GxIdeRecentNews_getNews, _GxIdeRecentNews_openNewsHandler, _GxIdeRecentNews_refreshFilteredNews, _GxIdeRecentNews_renderNewsItem, _GxIdeRecentNews_renderNewsList;
30
+ const NEWS_ICON = assetsManager.getIconPath({
31
+ category: "system",
32
+ name: "news",
33
+ colorType: "on-surface"
34
+ });
35
+ const CSS_BUNDLES = [
36
+ "resets/box-sizing",
37
+ "components/button",
38
+ "components/icon",
39
+ "utils/typography",
40
+ "utils/layout"
41
+ ];
10
42
  const GxIdeRecentNews = class {
11
43
  constructor(hostRef) {
12
44
  index.registerInstance(this, hostRef);
13
- this.newsRendered = false;
14
- this.setTimeOutNewsDelay = 75;
15
- // 7.LISTENERS //
16
- // 8.PUBLIC METHODS API //
17
- // 9.LOCAL METHODS //
18
- this.evaluateNewsDisplay = () => {
19
- if (!this.newsRendered &&
20
- this.news.length > 0 &&
21
- this.newsContainerEl !== undefined) {
22
- this.displayNews();
23
- this.newsRendered = true;
24
- }
25
- };
26
- this.displayNews = () => {
27
- if (this.newsContainerEl !== undefined) {
28
- const news = Array.from(this.newsContainerEl.querySelectorAll("gxg-card"));
45
+ _GxIdeRecentNews_NEWS_ITEM_CLASS_SELECTOR.set(this, "news-item");
46
+ _GxIdeRecentNews_newsRendered.set(this, false);
47
+ _GxIdeRecentNews_setTimeOutNewsDelay.set(this, 75);
48
+ _GxIdeRecentNews_newsContainerEl.set(this, void 0);
49
+ _GxIdeRecentNews_displayNews.set(this, () => {
50
+ if (__classPrivateFieldGet(this, _GxIdeRecentNews_newsContainerEl, "f") !== undefined) {
51
+ const news = Array.from(__classPrivateFieldGet(this, _GxIdeRecentNews_newsContainerEl, "f").querySelectorAll(`.${__classPrivateFieldGet(this, _GxIdeRecentNews_NEWS_ITEM_CLASS_SELECTOR, "f")}`));
29
52
  news.forEach(news => {
53
+ // display news with a cascade effect
30
54
  setTimeout(() => {
31
55
  news.classList.add("visible");
32
- }, this.setTimeOutNewsDelay);
33
- this.setTimeOutNewsDelay += 75;
56
+ }, __classPrivateFieldGet(this, _GxIdeRecentNews_setTimeOutNewsDelay, "f"));
57
+ __classPrivateFieldSet(this, _GxIdeRecentNews_setTimeOutNewsDelay, __classPrivateFieldGet(this, _GxIdeRecentNews_setTimeOutNewsDelay, "f") + 45, "f");
34
58
  });
35
59
  }
36
- };
37
- this.attachLoaderEvents = () => {
38
- this.loaderEl.addEventListener("loaderFinished", () => {
39
- if (this.news.length === 0) {
40
- this.newsLoadFailed = true;
41
- }
42
- else {
43
- this.newsLoadFailed = false;
44
- }
45
- });
46
- };
47
- this.getNews = async () => {
48
- this.loaderEl.show = true;
49
- if (this.getNewsCallback) {
50
- const newsResult = await this.getNewsCallback();
51
- this.loaderEl.show = false;
52
- if (newsResult && newsResult.length > 0) {
53
- this.news = newsResult;
54
- this.newsLoadFailed = false;
55
- }
56
- else {
57
- this.newsLoadFailed = true;
58
- }
60
+ });
61
+ _GxIdeRecentNews_evaluateNewsDisplay.set(this, () => {
62
+ if (!__classPrivateFieldGet(this, _GxIdeRecentNews_newsRendered, "f") &&
63
+ this.news.length > 0 &&
64
+ __classPrivateFieldGet(this, _GxIdeRecentNews_newsContainerEl, "f") !== undefined) {
65
+ __classPrivateFieldGet(this, _GxIdeRecentNews_displayNews, "f").call(this);
66
+ __classPrivateFieldSet(this, _GxIdeRecentNews_newsRendered, true, "f");
67
+ }
68
+ });
69
+ _GxIdeRecentNews_evaluateNewsRender.set(this, () => {
70
+ var _a;
71
+ if (this.newsLoadFailed) {
72
+ return (index.h("gx-ide-empty-state", { stateIconSrc: NEWS_ICON, stateTitle: this._componentLocale.recentNews.newsNotFetched.title }, index.h("button", { class: "empty-state__button button-primary", onClick: __classPrivateFieldGet(this, _GxIdeRecentNews_getNews, "f") }, this._componentLocale.recentNews.newsNotFetched
73
+ .tryAgainButtonLabel), index.h("a", { class: "text-link text-body-regular-s", href: this._componentLocale.recentNews.newsNotFetched.onlineNewsURL, target: "_blank" }, this._componentLocale.recentNews.newsNotFetched.readThemOnline)));
74
+ }
75
+ if (this.news.length === 0) {
76
+ return (index.h("gx-ide-empty-state", { stateIconSrc: NEWS_ICON, stateTitle: this._componentLocale.recentNews.noNewsToDisplay.title }, index.h("a", { class: "empty-state__link text-body-regular-s", href: this._componentLocale.recentNews.onlineNewsURL, target: "_blank" }, this._componentLocale.recentNews.readThemOnline)));
59
77
  }
60
- };
61
- this.openNewsHandler = (newsId) => async () => {
62
- if (this.openNewsCallback) {
63
- await this.openNewsCallback(newsId);
78
+ if (((_a = this.filteredNews) === null || _a === void 0 ? void 0 : _a.length) === 0) {
79
+ return (index.h("gx-ide-empty-state", { class: "news-empty-state", stateIconSrc: NEWS_ICON, stateTitle: this._componentLocale.recentNews.noNewsFiltered.title }));
64
80
  }
65
- };
66
- // 9.LOCAL METHODS -> RENDERS //
67
- this.renderNews = (news) => {
81
+ return __classPrivateFieldGet(this, _GxIdeRecentNews_renderNewsList, "f").call(this);
82
+ });
83
+ _GxIdeRecentNews_getNews.set(this, async () => {
84
+ this.loadingNews = true;
85
+ const newsResult = await this.getNewsCallback();
86
+ this.loadingNews = false;
87
+ if (newsResult && newsResult.length > 0) {
88
+ this.news = newsResult;
89
+ this.newsLoadFailed = false;
90
+ }
91
+ else {
92
+ this.newsLoadFailed = true;
93
+ }
94
+ });
95
+ _GxIdeRecentNews_openNewsHandler.set(this, (newsId) => async () => {
96
+ await this.openNewsCallback(newsId);
97
+ });
98
+ _GxIdeRecentNews_refreshFilteredNews.set(this, (filterValue, news) => {
99
+ this.filteredNews = news.filter(singleNews => {
100
+ var _a, _b;
101
+ return ((_a = singleNews.title) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(filterValue)) ||
102
+ ((_b = singleNews.body) === null || _b === void 0 ? void 0 : _b.toLowerCase().includes(filterValue));
103
+ });
104
+ });
105
+ _GxIdeRecentNews_renderNewsItem.set(this, (news) => {
68
106
  if (news.id && news.title) {
69
- return (index.h("gxg-card", { id: news.id, key: news.id, cardType: "article", cardTitle: news.title, icon: "gx-test/test-results", iconColor: "auto", actionable: true, onClick: this.openNewsHandler(news.id), titleSemibold: true, noHeaderBorder: true, class: "news-article" }, news.body ? index.h("p", null, news.body) : null));
107
+ return (index.h("article", null, index.h("button", { class: {
108
+ "card-small": true,
109
+ "card-small--actionable": true,
110
+ "card-news": true,
111
+ [__classPrivateFieldGet(this, _GxIdeRecentNews_NEWS_ITEM_CLASS_SELECTOR, "f")]: true,
112
+ "visible": __classPrivateFieldGet(this, _GxIdeRecentNews_newsRendered, "f")
113
+ }, id: news.id, key: news.id, type: "button", onClick: __classPrivateFieldGet(this, _GxIdeRecentNews_openNewsHandler, "f").call(this, news.id) }, index.h("header", { class: "card-news__header" }, index.h("ch-image", { src: NEWS_ICON, class: "icon-md" }), index.h("h2", { class: config.config.headingsClasses.cardSmall }, helpers.hiChar(news.title, this.filterValue))), news.body && (index.h("p", { class: "text-body-regular-s" }, helpers.hiChar(news.body, this.filterValue))))));
70
114
  }
71
115
  return null;
72
- };
116
+ });
117
+ _GxIdeRecentNews_renderNewsList.set(this, () => {
118
+ var _a;
119
+ return (index.h("div", { class: "news-container", ref: el => (__classPrivateFieldSet(this, _GxIdeRecentNews_newsContainerEl, el, "f")) }, (_a = this.filteredNews) === null || _a === void 0 ? void 0 : _a.map(__classPrivateFieldGet(this, _GxIdeRecentNews_renderNewsItem, "f"))));
120
+ });
121
+ this.filteredNews = [];
122
+ this.loadingNews = true;
73
123
  this.news = [];
74
124
  this.newsLoadFailed = false;
75
125
  this.getNewsCallback = undefined;
76
126
  this.openNewsCallback = undefined;
127
+ this.filterValue = "";
128
+ }
129
+ newsChanged(news) {
130
+ __classPrivateFieldGet(this, _GxIdeRecentNews_refreshFilteredNews, "f").call(this, this.filterValue, news);
131
+ __classPrivateFieldGet(this, _GxIdeRecentNews_displayNews, "f").call(this);
77
132
  }
78
- watchNewsHandler() {
79
- this.displayNews();
133
+ watchNews(newFilterValue) {
134
+ __classPrivateFieldGet(this, _GxIdeRecentNews_refreshFilteredNews, "f").call(this, newFilterValue, this.news);
80
135
  }
81
- // 5.EVENTS (EMIT) //
82
- // 6.COMPONENT LIFECYCLE METHODS //
83
136
  async componentWillLoad() {
84
137
  this._componentLocale = await locale.Locale.getComponentStrings(this.el);
85
138
  }
86
- componentDidLoad() {
87
- this.getNews();
88
- this.attachLoaderEvents();
89
- }
90
139
  componentDidRender() {
91
- this.evaluateNewsDisplay();
140
+ __classPrivateFieldGet(this, _GxIdeRecentNews_evaluateNewsDisplay, "f").call(this);
141
+ }
142
+ componentDidLoad() {
143
+ __classPrivateFieldGet(this, _GxIdeRecentNews_getNews, "f").call(this);
92
144
  }
93
- // 10.RENDER() FUNCTION //
94
145
  render() {
95
- var _a;
96
- return (index.h(index.Host, null, index.h("gxg-card", { class: "section", cardType: "section", cardTitle: this._componentLocale.recentNews.title }, this.news.length > 0 ? (index.h("div", { class: "news-container", ref: el => (this.newsContainerEl = el) }, (_a = this.news) === null || _a === void 0 ? void 0 : _a.map(singleNews => {
97
- return this.renderNews(singleNews);
98
- }))) : (index.h("div", { class: {
99
- "gx-ide-message": true,
100
- "gx-ide-message--hidden": !this.newsLoadFailed
101
- } }, index.h("gx-ide-title", { alignment: "center" }, this._componentLocale.recentNews.newsNotFetched), index.h("gxg-button", { onClick: this.getNews }, this._componentLocale.recentNews.tryAgainButtonLabel), index.h("gxg-text", { type: "text-link", href: "https://www.genexus.com/en/news", target: "_blank" }, this._componentLocale.recentNews.readThemOnline)))), index.h("gxg-ide-loader", { abortTime: 8000, container: this.el, loaderTitle: this._componentLocale.loader.title, description: "Hang on please", ref: el => (this.loaderEl = el) })));
146
+ return (index.h(index.Host
147
+ // Improve accessibility by announcing live changes
148
+ , { "aria-live": "polite", "aria-busy": this.loadingNews ? "true" : "false", class: { empty: this.filteredNews.length === 0 } }, index.h("ch-theme", { model: CSS_BUNDLES }), this.loadingNews ? (index.h("gx-ide-loader", { abortTime: 8000, loaderTitle: this._componentLocale.loader.title, description: this._componentLocale.loader.description, show: true })) : (__classPrivateFieldGet(this, _GxIdeRecentNews_evaluateNewsRender, "f").call(this))));
102
149
  }
103
150
  static get assetsDirs() { return ["gx-ide-assets/recent-news"]; }
104
151
  get el() { return index.getElement(this); }
105
152
  static get watchers() { return {
106
- "news": ["watchNewsHandler"]
153
+ "news": ["newsChanged"],
154
+ "filterValue": ["watchNews"]
107
155
  }; }
108
156
  };
157
+ _GxIdeRecentNews_NEWS_ITEM_CLASS_SELECTOR = new WeakMap(), _GxIdeRecentNews_newsRendered = new WeakMap(), _GxIdeRecentNews_setTimeOutNewsDelay = new WeakMap(), _GxIdeRecentNews_newsContainerEl = new WeakMap(), _GxIdeRecentNews_displayNews = new WeakMap(), _GxIdeRecentNews_evaluateNewsDisplay = new WeakMap(), _GxIdeRecentNews_evaluateNewsRender = new WeakMap(), _GxIdeRecentNews_getNews = new WeakMap(), _GxIdeRecentNews_openNewsHandler = new WeakMap(), _GxIdeRecentNews_refreshFilteredNews = new WeakMap(), _GxIdeRecentNews_renderNewsItem = new WeakMap(), _GxIdeRecentNews_renderNewsList = new WeakMap();
109
158
  GxIdeRecentNews.style = recentNewsCss;
110
159
 
111
160
  exports.gx_ide_recent_news = GxIdeRecentNews;
@@ -1 +1 @@
1
- {"file":"gx-ide-recent-news.entry.cjs.js","mappings":"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","names":["h","Locale","Host"],"sources":["src/components/start-page/recent-news.scss?tag=gx-ide-recent-news&encapsulation=shadow","src/components/start-page/recent-news.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n box-shadow: none;\n height: 100%;\n overflow: hidden;\n padding-bottom: 2px;\n box-sizing: border-box;\n}\n.news-container {\n display: flex;\n flex-direction: column;\n gap: var(--gx-ide-articles-gap);\n p:first-child {\n margin-top: 0;\n }\n p:last-child {\n margin-bottom: 0;\n }\n}\ngxg-card.section {\n height: 100% !important;\n overflow: auto;\n border-bottom: 2px solid var(--gray-00);\n}\ngxg-ide-loader::part(loader-wrapper) {\n border-radius: var(--gxg-card-section_border-radius);\n overflow: hidden;\n}\n.gxg-card-container {\n height: 100%;\n overflow: auto;\n}\n.gx-ide-message {\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n gap: var(--mer-spacing--sm);\n\n &--hidden {\n display: none;\n }\n}\ngx-ide-title {\n max-width: 250px;\n}\n.news-article {\n transition: 200ms opacity;\n opacity: 0;\n\n &.visible {\n opacity: 1;\n }\n}\n","/* STENCIL IMPORTS */\nimport { Component, Host, h, Prop, Element, State, Watch } from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { NewsData, GetNewsCallback, OpenNewsCallback } from \"./start-page\";\n\n@Component({\n tag: \"gx-ide-recent-news\",\n styleUrl: \"recent-news.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/recent-news\"]\n})\nexport class GxIdeRecentNews {\n /*\nINDEX:\n1.OWN PROPERTIES \n2.REFERENCE TO ELEMENTS\n3.STATE() VARIABLES\n4.PUBLIC PROPERTY API | WATCH'S\n5.EVENTS (EMIT)\n6.COMPONENT LIFECYCLE METHODS\n7.LISTENERS\n8.PUBLIC METHODS API\n9.LOCAL METHODS\n10.RENDER() FUNCTION\n*/\n\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeRecentNewsElement;\n private loaderEl!: HTMLGxgIdeLoaderElement;\n private newsContainerEl: HTMLDivElement;\n private newsRendered = false;\n private setTimeOutNewsDelay = 75;\n\n // 3.STATE() VARIABLES //\n\n /**\n * The list of news\n */\n @State() news: NewsData[] = [];\n @Watch(\"news\")\n watchNewsHandler() {\n this.displayNews();\n }\n\n /**\n * True if news couldn't be loaded\n */\n @State() newsLoadFailed = false;\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * Callback invoked to load the news feed (right panel \"Recent News\").\n */\n @Prop() readonly getNewsCallback: GetNewsCallback;\n\n /**\n * Callback invoked to open a news article.\n */\n @Prop() readonly openNewsCallback: OpenNewsCallback;\n\n // 5.EVENTS (EMIT) //\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidLoad() {\n this.getNews();\n this.attachLoaderEvents();\n }\n\n componentDidRender() {\n this.evaluateNewsDisplay();\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private evaluateNewsDisplay = () => {\n if (\n !this.newsRendered &&\n this.news.length > 0 &&\n this.newsContainerEl !== undefined\n ) {\n this.displayNews();\n this.newsRendered = true;\n }\n };\n\n private displayNews = () => {\n if (this.newsContainerEl !== undefined) {\n const news = Array.from(\n this.newsContainerEl.querySelectorAll(\"gxg-card\")\n );\n news.forEach(news => {\n setTimeout(() => {\n news.classList.add(\"visible\");\n }, this.setTimeOutNewsDelay);\n this.setTimeOutNewsDelay += 75;\n });\n }\n };\n\n private attachLoaderEvents = () => {\n this.loaderEl.addEventListener(\"loaderFinished\", () => {\n if (this.news.length === 0) {\n this.newsLoadFailed = true;\n } else {\n this.newsLoadFailed = false;\n }\n });\n };\n\n private getNews = async () => {\n this.loaderEl.show = true;\n if (this.getNewsCallback) {\n const newsResult = await this.getNewsCallback();\n this.loaderEl.show = false;\n if (newsResult && newsResult.length > 0) {\n this.news = newsResult;\n this.newsLoadFailed = false;\n } else {\n this.newsLoadFailed = true;\n }\n }\n };\n\n private openNewsHandler = (newsId: string) => async () => {\n if (this.openNewsCallback) {\n await this.openNewsCallback(newsId);\n }\n };\n\n // 9.LOCAL METHODS -> RENDERS //\n\n private renderNews = (news: NewsData): HTMLGxgCardElement | null => {\n if (news.id && news.title) {\n return (\n <gxg-card\n id={news.id}\n key={news.id}\n cardType=\"article\"\n cardTitle={news.title}\n icon=\"gx-test/test-results\"\n iconColor=\"auto\"\n actionable\n onClick={this.openNewsHandler(news.id)}\n titleSemibold\n noHeaderBorder\n class=\"news-article\"\n >\n {news.body ? <p>{news.body}</p> : null}\n </gxg-card>\n );\n }\n return null;\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host>\n <gxg-card\n class=\"section\"\n cardType=\"section\"\n cardTitle={this._componentLocale.recentNews.title}\n >\n {this.news.length > 0 ? (\n <div\n class=\"news-container\"\n ref={el => (this.newsContainerEl = el as HTMLDivElement)}\n >\n {this.news?.map(singleNews => {\n return this.renderNews(singleNews);\n })}\n </div>\n ) : (\n <div\n class={{\n \"gx-ide-message\": true,\n \"gx-ide-message--hidden\": !this.newsLoadFailed\n }}\n >\n <gx-ide-title alignment=\"center\">\n {this._componentLocale.recentNews.newsNotFetched}\n </gx-ide-title>\n <gxg-button onClick={this.getNews}>\n {this._componentLocale.recentNews.tryAgainButtonLabel}\n </gxg-button>\n <gxg-text\n type=\"text-link\"\n href=\"https://www.genexus.com/en/news\"\n target=\"_blank\"\n >\n {this._componentLocale.recentNews.readThemOnline}\n </gxg-text>\n </div>\n )}\n </gxg-card>\n <gxg-ide-loader\n abortTime={8000}\n container={this.el}\n loaderTitle={this._componentLocale.loader.title}\n description=\"Hang on please\"\n ref={el => (this.loaderEl = el as HTMLGxgIdeLoaderElement)}\n ></gxg-ide-loader>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"gx-ide-recent-news.entry.cjs.js","mappings":"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","names":["getIconPath","h","config","hiChar","Locale","Host"],"sources":["src/components/start-page/recent-news.scss?tag=gx-ide-recent-news&encapsulation=shadow","src/components/start-page/recent-news.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n@include hiChar();\n\n:host(.empty) {\n overflow: hidden !important; // WA to avoid scrollbar \"flickering\"\n}\n.news-container {\n display: grid;\n gap: var(--mer-spacing--xs);\n grid-auto-rows: max-content;\n // padding-inline-end: var(--mer-spacing--xs);\n}\n.news-item {\n opacity: 0;\n transition: 150ms opacity;\n\n &.visible {\n opacity: 1;\n }\n}\n.card-news {\n display: flex;\n flex-direction: column;\n align-items: start;\n gap: var(--mer-spacing--xs);\n\n &__header {\n display: flex;\n gap: var(--mer-spacing--sm);\n align-items: center;\n }\n}\n\ngx-ide-loader::part(loader-wrapper) {\n border: var(--mer-border__width--sm) solid\n var(--mer-border-color__on-elevation--01);\n border-radius: var(--mer-border__radius--md);\n}\n\n.text-link {\n color: var(--mer-accent__primary);\n\n &:hover {\n text-decoration: underline;\n }\n}\n","import { Component, Host, h, Prop, Element, State, Watch } from \"@stencil/core\";\n\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../common/locale\";\nimport { config } from \"../../common/config\";\nimport { hiChar } from \"../../common/helpers\";\nimport { NewsData, GetNewsCallback, OpenNewsCallback } from \"./start-page\";\n\nconst NEWS_ICON = getIconPath({\n category: \"system\",\n name: \"news\",\n colorType: \"on-surface\"\n});\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/icon\",\n \"utils/typography\",\n \"utils/layout\"\n];\n@Component({\n tag: \"gx-ide-recent-news\",\n styleUrl: \"recent-news.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/recent-news\"]\n})\nexport class GxIdeRecentNews {\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n\n #NEWS_ITEM_CLASS_SELECTOR = \"news-item\";\n #newsRendered = false;\n #setTimeOutNewsDelay = 75;\n\n @Element() el: HTMLGxIdeRecentNewsElement;\n\n #newsContainerEl: HTMLDivElement;\n\n /**\n * The list of news after the filter\n */\n @State() filteredNews: NewsData[] = [];\n\n /**\n * True if news are being requested\n */\n @State() loadingNews = true;\n\n /**\n * The list of news\n */\n @State() news: NewsData[] = [];\n @Watch(\"news\")\n newsChanged(news: NewsData[]) {\n this.#refreshFilteredNews(this.filterValue, news);\n this.#displayNews();\n }\n\n /**\n * True if news couldn't be loaded\n */\n @State() newsLoadFailed = false;\n\n /**\n * Callback invoked to load the news feed (right panel \"Recent News\").\n */\n @Prop() readonly getNewsCallback!: GetNewsCallback;\n\n /**\n * Callback invoked to open a news article.\n */\n @Prop() readonly openNewsCallback!: OpenNewsCallback;\n\n /**\n * The news filter value inserted by the user on the news input filter\n */\n @Prop() readonly filterValue: string = \"\";\n @Watch(\"filterValue\")\n watchNews(newFilterValue: string) {\n this.#refreshFilteredNews(newFilterValue, this.news);\n }\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidRender() {\n this.#evaluateNewsDisplay();\n }\n\n componentDidLoad() {\n this.#getNews();\n }\n\n #displayNews = () => {\n if (this.#newsContainerEl !== undefined) {\n const news = Array.from(\n this.#newsContainerEl.querySelectorAll(\n `.${this.#NEWS_ITEM_CLASS_SELECTOR}`\n )\n );\n news.forEach(news => {\n // display news with a cascade effect\n setTimeout(() => {\n news.classList.add(\"visible\");\n }, this.#setTimeOutNewsDelay);\n this.#setTimeOutNewsDelay += 45;\n });\n }\n };\n\n #evaluateNewsDisplay = () => {\n if (\n !this.#newsRendered &&\n this.news.length > 0 &&\n this.#newsContainerEl !== undefined\n ) {\n this.#displayNews();\n this.#newsRendered = true;\n }\n };\n\n #evaluateNewsRender = (): HTMLElement => {\n if (this.newsLoadFailed) {\n return (\n <gx-ide-empty-state\n stateIconSrc={NEWS_ICON}\n stateTitle={this._componentLocale.recentNews.newsNotFetched.title}\n >\n <button\n class=\"empty-state__button button-primary\"\n onClick={this.#getNews}\n >\n {\n this._componentLocale.recentNews.newsNotFetched\n .tryAgainButtonLabel\n }\n </button>\n <a\n class=\"text-link text-body-regular-s\"\n href={this._componentLocale.recentNews.newsNotFetched.onlineNewsURL}\n target=\"_blank\"\n >\n {this._componentLocale.recentNews.newsNotFetched.readThemOnline}\n </a>\n </gx-ide-empty-state>\n );\n }\n if (this.news.length === 0) {\n return (\n <gx-ide-empty-state\n stateIconSrc={NEWS_ICON}\n stateTitle={this._componentLocale.recentNews.noNewsToDisplay.title}\n >\n <a\n class=\"empty-state__link text-body-regular-s\"\n href={this._componentLocale.recentNews.onlineNewsURL}\n target=\"_blank\"\n >\n {this._componentLocale.recentNews.readThemOnline}\n </a>\n </gx-ide-empty-state>\n );\n }\n if (this.filteredNews?.length === 0) {\n return (\n <gx-ide-empty-state\n class=\"news-empty-state\"\n stateIconSrc={NEWS_ICON}\n stateTitle={this._componentLocale.recentNews.noNewsFiltered.title}\n ></gx-ide-empty-state>\n );\n }\n return this.#renderNewsList();\n };\n\n #getNews = async () => {\n this.loadingNews = true;\n const newsResult = await this.getNewsCallback();\n this.loadingNews = false;\n if (newsResult && newsResult.length > 0) {\n this.news = newsResult;\n this.newsLoadFailed = false;\n } else {\n this.newsLoadFailed = true;\n }\n };\n\n #openNewsHandler = (newsId: string) => async () => {\n await this.openNewsCallback(newsId);\n };\n\n #refreshFilteredNews = (filterValue: string, news: NewsData[]) => {\n this.filteredNews = news.filter(\n singleNews =>\n singleNews.title?.toLowerCase().includes(filterValue) ||\n singleNews.body?.toLowerCase().includes(filterValue)\n );\n };\n\n #renderNewsItem = (news: NewsData): HTMLGxgCardElement | null => {\n if (news.id && news.title) {\n return (\n <article>\n <button\n class={{\n \"card-small\": true,\n \"card-small--actionable\": true,\n \"card-news\": true,\n [this.#NEWS_ITEM_CLASS_SELECTOR]: true,\n \"visible\": this.#newsRendered\n }}\n id={news.id}\n key={news.id}\n type=\"button\"\n onClick={this.#openNewsHandler(news.id)}\n >\n <header class=\"card-news__header\">\n <ch-image src={NEWS_ICON} class=\"icon-md\"></ch-image>\n <h2 class={config.headingsClasses.cardSmall}>\n {hiChar(news.title, this.filterValue)}\n </h2>\n </header>\n {news.body && (\n <p class=\"text-body-regular-s\">\n {hiChar(news.body, this.filterValue)}\n </p>\n )}\n </button>\n </article>\n );\n }\n return null;\n };\n\n #renderNewsList = (): HTMLElement => (\n <div\n class=\"news-container\"\n ref={el => (this.#newsContainerEl = el as HTMLDivElement)}\n >\n {this.filteredNews?.map(this.#renderNewsItem)}\n </div>\n );\n\n render() {\n return (\n <Host\n // Improve accessibility by announcing live changes\n aria-live=\"polite\"\n // Wait until all changes are made to prevents assistive\n // technologies from announcing changes before updates are done\n aria-busy={this.loadingNews ? \"true\" : \"false\"}\n class={{ empty: this.filteredNews.length === 0 }}\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n {this.loadingNews ? (\n <gx-ide-loader\n abortTime={8000}\n loaderTitle={this._componentLocale.loader.title}\n description={this._componentLocale.loader.description}\n show={true}\n ></gx-ide-loader>\n ) : (\n this.#evaluateNewsRender()\n )}\n </Host>\n );\n }\n}\n"],"version":3}