@genexus/genexus-ide-ui 1.1.28 → 1.1.30

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 (414) hide show
  1. package/dist/cjs/{common-8e7923c5.js → common-b913e04c.js} +2 -2
  2. package/dist/cjs/{common-8e7923c5.js.map → common-b913e04c.js.map} +1 -1
  3. package/dist/cjs/{config-6a768514.js → config-140f58fe.js} +4 -2
  4. package/dist/cjs/config-140f58fe.js.map +1 -0
  5. package/dist/cjs/genexus-ide-ui.cjs.js +2 -2
  6. package/dist/cjs/gx-ide-about.cjs.entry.js +1 -1
  7. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +1 -1
  8. package/dist/cjs/gx-ide-ai-message.cjs.entry.js +2 -2
  9. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +2 -2
  10. package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js +2 -2
  11. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js +2 -2
  12. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js +3 -3
  13. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js +2 -2
  14. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +3 -3
  15. package/dist/cjs/gx-ide-bpm-sync-gam-roles.cjs.entry.js +1 -1
  16. package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js +1 -1
  17. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js +2 -2
  18. package/dist/cjs/gx-ide-card.cjs.entry.js +1 -1
  19. package/dist/cjs/gx-ide-chat-container_2.cjs.entry.js +1 -1
  20. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +18 -51
  21. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
  22. package/dist/cjs/gx-ide-container_2.cjs.entry.js +1 -1
  23. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +29 -15
  24. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  25. package/dist/cjs/gx-ide-curl-inspector.cjs.entry.js +2 -2
  26. package/dist/cjs/gx-ide-current-user-info.cjs.entry.js +1 -1
  27. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +2 -2
  28. package/dist/cjs/gx-ide-data-selector.cjs.entry.js +2 -2
  29. package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js +1 -1
  30. package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js +1 -1
  31. package/dist/cjs/gx-ide-design-import.cjs.entry.js +2 -2
  32. package/dist/cjs/gx-ide-directory-selector.cjs.entry.js +1 -1
  33. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js +1 -1
  34. package/dist/cjs/gx-ide-empty-state.cjs.entry.js +1 -1
  35. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +1 -1
  36. package/dist/cjs/gx-ide-file-item.cjs.entry.js +1 -1
  37. package/dist/cjs/gx-ide-file-uploader.cjs.entry.js +1 -1
  38. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +1 -1
  39. package/dist/cjs/gx-ide-json-import.cjs.entry.js +2 -2
  40. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +1 -1
  41. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +1 -1
  42. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +1 -1
  43. package/dist/cjs/gx-ide-loader.cjs.entry.js +1 -1
  44. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +2 -2
  45. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +2 -2
  46. package/dist/cjs/gx-ide-navigation-report.cjs.entry.js +1 -1
  47. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +4 -4
  48. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +4 -4
  49. package/dist/cjs/gx-ide-new-object.cjs.entry.js +2 -2
  50. package/dist/cjs/gx-ide-new-version.cjs.entry.js +2 -2
  51. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +3 -3
  52. package/dist/cjs/gx-ide-open-api-import.cjs.entry.js +1 -1
  53. package/dist/cjs/gx-ide-plugin-details.cjs.entry.js +1 -1
  54. package/dist/cjs/gx-ide-plugin-explorer.cjs.entry.js +2 -2
  55. package/dist/cjs/gx-ide-references.cjs.entry.js +1 -1
  56. package/dist/cjs/gx-ide-sc-chat-container.cjs.entry.js +1 -1
  57. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +14 -1
  58. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js.map +1 -1
  59. package/dist/cjs/gx-ide-select-user-team.cjs.entry.js +1 -1
  60. package/dist/cjs/gx-ide-server-selector.cjs.entry.js +253 -0
  61. package/dist/cjs/gx-ide-server-selector.cjs.entry.js.map +1 -0
  62. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +2 -2
  63. package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js +1 -1
  64. package/dist/cjs/gx-ide-sign-in.cjs.entry.js +1 -1
  65. package/dist/cjs/gx-ide-splash.cjs.entry.js +2 -2
  66. package/dist/cjs/gx-ide-start-page.cjs.entry.js +1 -1
  67. package/dist/cjs/gx-ide-status-buttons.cjs.entry.js +1 -1
  68. package/dist/cjs/gx-ide-switch-panel.cjs.entry.js +1 -1
  69. package/dist/cjs/gx-ide-switcher.cjs.entry.js +1 -1
  70. package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js +2 -2
  71. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +5 -5
  72. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
  73. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js +4 -4
  74. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +3 -3
  75. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +2 -2
  76. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +2 -2
  77. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +3 -3
  78. package/dist/cjs/gx-ide-template.cjs.entry.js +2 -2
  79. package/dist/cjs/gx-ide-test.cjs.entry.js +1 -1
  80. package/dist/cjs/gx-ide-top-bar.cjs.entry.js +1 -1
  81. package/dist/cjs/gx-ide-welcome-page.cjs.entry.js +1 -1
  82. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +2 -2
  83. package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js +2 -2
  84. package/dist/cjs/gx-ide-ww-files.cjs.entry.js +3 -3
  85. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +4 -4
  86. package/dist/cjs/{helpers-8e625231.js → helpers-21c9cd02.js} +2 -2
  87. package/dist/cjs/{helpers-8e625231.js.map → helpers-21c9cd02.js.map} +1 -1
  88. package/dist/cjs/{index-408303ce.js → index-2f1471c9.js} +61 -2
  89. package/dist/cjs/index-2f1471c9.js.map +1 -0
  90. package/dist/cjs/loader.cjs.js +2 -2
  91. package/dist/cjs/{render-list-item-5c33517f.js → render-list-item-f956ec79.js} +2 -2
  92. package/dist/cjs/{render-list-item-5c33517f.js.map → render-list-item-f956ec79.js.map} +1 -1
  93. package/dist/cjs/{utilities-d0de7967.js → utilities-11683cc0.js} +2 -2
  94. package/dist/cjs/{utilities-d0de7967.js.map → utilities-11683cc0.js.map} +1 -1
  95. package/dist/collection/collection-manifest.json +1 -0
  96. package/dist/collection/common/config.js +3 -1
  97. package/dist/collection/common/config.js.map +1 -1
  98. package/dist/collection/components/select-kb-items/select-kb-items.js +34 -0
  99. package/dist/collection/components/select-kb-items/select-kb-items.js.map +1 -1
  100. package/dist/collection/components/team-dev/commit/commit.css +4 -0
  101. package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.css +4 -0
  102. package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js +23 -66
  103. package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js.map +1 -1
  104. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.css +1 -0
  105. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js +29 -14
  106. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js.map +1 -1
  107. package/dist/collection/components/team-dev/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.en.json +6 -1
  108. package/dist/collection/components/team-dev/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.ja.json +6 -1
  109. package/dist/collection/components/team-dev/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.zh.json +6 -1
  110. package/dist/collection/components/team-dev/server-selector/gx-ide-assets/server-selector/langs/server-selector.lang.en.json +32 -0
  111. package/dist/collection/components/team-dev/server-selector/gx-ide-assets/server-selector/langs/server-selector.lang.ja.json +32 -0
  112. package/dist/collection/components/team-dev/server-selector/gx-ide-assets/server-selector/langs/server-selector.lang.zh.json +32 -0
  113. package/dist/collection/components/team-dev/server-selector/server-selector.css +90 -0
  114. package/dist/collection/components/team-dev/server-selector/server-selector.js +364 -0
  115. package/dist/collection/components/team-dev/server-selector/server-selector.js.map +1 -0
  116. package/dist/collection/components/team-dev/share-kb/share-kb.js +1 -1
  117. package/dist/collection/testing/locale.e2e.js +1 -0
  118. package/dist/collection/testing/locale.e2e.js.map +1 -1
  119. package/dist/components/config.js +3 -1
  120. package/dist/components/config.js.map +1 -1
  121. package/dist/components/gx-ide-connect-gx-server.js +17 -53
  122. package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
  123. package/dist/components/gx-ide-create-kb-from-server.js +42 -15
  124. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  125. package/dist/components/gx-ide-server-selector.d.ts +11 -0
  126. package/dist/components/gx-ide-server-selector.js +290 -0
  127. package/dist/components/gx-ide-server-selector.js.map +1 -0
  128. package/dist/components/gx-ide-team-dev-commit.js +1 -1
  129. package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
  130. package/dist/components/select-kb-items.js +15 -1
  131. package/dist/components/select-kb-items.js.map +1 -1
  132. package/dist/esm/{common-c8407100.js → common-0697b339.js} +2 -2
  133. package/dist/esm/{common-c8407100.js.map → common-0697b339.js.map} +1 -1
  134. package/dist/esm/{config-1ef9d75a.js → config-73a57a22.js} +4 -2
  135. package/dist/esm/config-73a57a22.js.map +1 -0
  136. package/dist/esm/genexus-ide-ui.js +3 -3
  137. package/dist/esm/gx-ide-about.entry.js +1 -1
  138. package/dist/esm/gx-ide-ai-assistant.entry.js +1 -1
  139. package/dist/esm/gx-ide-ai-message.entry.js +2 -2
  140. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +2 -2
  141. package/dist/esm/gx-ide-bpm-assign-roles.entry.js +2 -2
  142. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +2 -2
  143. package/dist/esm/gx-ide-bpm-import-files.entry.js +3 -3
  144. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +2 -2
  145. package/dist/esm/gx-ide-bpm-objects-selector.entry.js +3 -3
  146. package/dist/esm/gx-ide-bpm-sync-gam-roles.entry.js +1 -1
  147. package/dist/esm/gx-ide-bpm-task-documents.entry.js +1 -1
  148. package/dist/esm/gx-ide-bpm-timer-duration.entry.js +2 -2
  149. package/dist/esm/gx-ide-card.entry.js +1 -1
  150. package/dist/esm/gx-ide-chat-container_2.entry.js +1 -1
  151. package/dist/esm/gx-ide-connect-gx-server.entry.js +18 -51
  152. package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
  153. package/dist/esm/gx-ide-container_2.entry.js +1 -1
  154. package/dist/esm/gx-ide-create-kb-from-server.entry.js +29 -15
  155. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  156. package/dist/esm/gx-ide-curl-inspector.entry.js +2 -2
  157. package/dist/esm/gx-ide-current-user-info.entry.js +1 -1
  158. package/dist/esm/gx-ide-dashboard-home.entry.js +2 -2
  159. package/dist/esm/gx-ide-data-selector.entry.js +2 -2
  160. package/dist/esm/gx-ide-data-type-selector.entry.js +1 -1
  161. package/dist/esm/gx-ide-deployment-tool.entry.js +1 -1
  162. package/dist/esm/gx-ide-design-import.entry.js +2 -2
  163. package/dist/esm/gx-ide-directory-selector.entry.js +1 -1
  164. package/dist/esm/gx-ide-edit-module-server.entry.js +1 -1
  165. package/dist/esm/gx-ide-empty-state.entry.js +1 -1
  166. package/dist/esm/gx-ide-entity-selector.entry.js +1 -1
  167. package/dist/esm/gx-ide-file-item.entry.js +1 -1
  168. package/dist/esm/gx-ide-file-uploader.entry.js +1 -1
  169. package/dist/esm/gx-ide-gam-installation-settings.entry.js +1 -1
  170. package/dist/esm/gx-ide-json-import.entry.js +2 -2
  171. package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -1
  172. package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
  173. package/dist/esm/gx-ide-list-selector_2.entry.js +1 -1
  174. package/dist/esm/gx-ide-loader.entry.js +1 -1
  175. package/dist/esm/gx-ide-manage-module-references-v2.entry.js +2 -2
  176. package/dist/esm/gx-ide-manage-module-references.entry.js +2 -2
  177. package/dist/esm/gx-ide-navigation-report.entry.js +1 -1
  178. package/dist/esm/gx-ide-new-environment.entry.js +4 -4
  179. package/dist/esm/gx-ide-new-kb.entry.js +4 -4
  180. package/dist/esm/gx-ide-new-object.entry.js +2 -2
  181. package/dist/esm/gx-ide-new-version.entry.js +2 -2
  182. package/dist/esm/gx-ide-object-selector.entry.js +3 -3
  183. package/dist/esm/gx-ide-open-api-import.entry.js +1 -1
  184. package/dist/esm/gx-ide-plugin-details.entry.js +1 -1
  185. package/dist/esm/gx-ide-plugin-explorer.entry.js +2 -2
  186. package/dist/esm/gx-ide-references.entry.js +1 -1
  187. package/dist/esm/gx-ide-sc-chat-container.entry.js +1 -1
  188. package/dist/esm/gx-ide-select-kb-items.entry.js +14 -1
  189. package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
  190. package/dist/esm/gx-ide-select-user-team.entry.js +1 -1
  191. package/dist/esm/gx-ide-server-selector.entry.js +249 -0
  192. package/dist/esm/gx-ide-server-selector.entry.js.map +1 -0
  193. package/dist/esm/gx-ide-share-kb.entry.js +2 -2
  194. package/dist/esm/gx-ide-sign-in-team.entry.js +1 -1
  195. package/dist/esm/gx-ide-sign-in.entry.js +1 -1
  196. package/dist/esm/gx-ide-splash.entry.js +2 -2
  197. package/dist/esm/gx-ide-start-page.entry.js +1 -1
  198. package/dist/esm/gx-ide-status-buttons.entry.js +1 -1
  199. package/dist/esm/gx-ide-switch-panel.entry.js +1 -1
  200. package/dist/esm/gx-ide-switcher.entry.js +1 -1
  201. package/dist/esm/gx-ide-team-dev-bring-changes.entry.js +2 -2
  202. package/dist/esm/gx-ide-team-dev-commit.entry.js +5 -5
  203. package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
  204. package/dist/esm/gx-ide-team-dev-history.entry.js +4 -4
  205. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +3 -3
  206. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +2 -2
  207. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +2 -2
  208. package/dist/esm/gx-ide-team-dev-update.entry.js +3 -3
  209. package/dist/esm/gx-ide-template.entry.js +2 -2
  210. package/dist/esm/gx-ide-test.entry.js +1 -1
  211. package/dist/esm/gx-ide-top-bar.entry.js +1 -1
  212. package/dist/esm/gx-ide-welcome-page.entry.js +1 -1
  213. package/dist/esm/gx-ide-wf-settings.entry.js +2 -2
  214. package/dist/esm/gx-ide-ww-attributes.entry.js +2 -2
  215. package/dist/esm/gx-ide-ww-files.entry.js +3 -3
  216. package/dist/esm/gx-ide-ww-images.entry.js +4 -4
  217. package/dist/esm/{helpers-37946d65.js → helpers-7960f084.js} +2 -2
  218. package/dist/esm/{helpers-37946d65.js.map → helpers-7960f084.js.map} +1 -1
  219. package/dist/esm/{index-25ff5600.js → index-eace714c.js} +61 -3
  220. package/dist/esm/index-eace714c.js.map +1 -0
  221. package/dist/esm/loader.js +3 -3
  222. package/dist/esm/{render-list-item-b79501ca.js → render-list-item-9d604b22.js} +2 -2
  223. package/dist/esm/{render-list-item-b79501ca.js.map → render-list-item-9d604b22.js.map} +1 -1
  224. package/dist/esm/{utilities-76a18030.js → utilities-482e01e6.js} +2 -2
  225. package/dist/esm/{utilities-76a18030.js.map → utilities-482e01e6.js.map} +1 -1
  226. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +3 -3
  227. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  228. package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.en.json +6 -1
  229. package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.ja.json +6 -1
  230. package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.zh.json +6 -1
  231. package/dist/genexus-ide-ui/gx-ide-assets/server-selector/langs/server-selector.lang.en.json +32 -0
  232. package/dist/genexus-ide-ui/gx-ide-assets/server-selector/langs/server-selector.lang.ja.json +32 -0
  233. package/dist/genexus-ide-ui/gx-ide-assets/server-selector/langs/server-selector.lang.zh.json +32 -0
  234. package/dist/genexus-ide-ui/{p-ba9b9aa5.entry.js → p-00e51225.entry.js} +3 -3
  235. package/dist/genexus-ide-ui/{p-34af745b.entry.js → p-0391a478.entry.js} +3 -3
  236. package/dist/genexus-ide-ui/p-0c81d013.entry.js +17 -0
  237. package/dist/genexus-ide-ui/{p-1622e339.entry.js → p-13630aa2.entry.js} +2 -2
  238. package/dist/genexus-ide-ui/{p-29db37fd.entry.js → p-137130ad.entry.js} +2 -2
  239. package/dist/genexus-ide-ui/{p-04597fd0.entry.js → p-1477d49a.entry.js} +2 -2
  240. package/dist/genexus-ide-ui/{p-8657d13c.entry.js → p-17b54532.entry.js} +2 -2
  241. package/dist/genexus-ide-ui/{p-ddbd4891.entry.js → p-198a7cce.entry.js} +26 -14
  242. package/dist/genexus-ide-ui/p-198a7cce.entry.js.map +1 -0
  243. package/dist/genexus-ide-ui/{p-a92f1884.entry.js → p-20032d70.entry.js} +2 -2
  244. package/dist/genexus-ide-ui/{p-e27f0e14.entry.js → p-212ca306.entry.js} +4 -4
  245. package/dist/genexus-ide-ui/p-26bc0884.entry.js +17 -0
  246. package/dist/genexus-ide-ui/{p-7f756647.entry.js → p-2c6ab8f4.entry.js} +3 -3
  247. package/dist/genexus-ide-ui/{p-6c5cc7e2.js → p-2ee77587.js} +2 -2
  248. package/dist/genexus-ide-ui/{p-149e771e.entry.js → p-2fe7ffc8.entry.js} +2 -2
  249. package/dist/genexus-ide-ui/{p-52d48fba.entry.js → p-3817c664.entry.js} +4 -4
  250. package/dist/genexus-ide-ui/{p-e267e84e.entry.js → p-38f135a5.entry.js} +3 -3
  251. package/dist/genexus-ide-ui/{p-832ec678.entry.js → p-3917d6c4.entry.js} +2 -2
  252. package/dist/genexus-ide-ui/{p-9e15d58d.entry.js → p-3d7ed559.entry.js} +4 -4
  253. package/dist/genexus-ide-ui/{p-13738332.js → p-44e5e972.js} +4 -2
  254. package/dist/genexus-ide-ui/p-44e5e972.js.map +1 -0
  255. package/dist/genexus-ide-ui/{p-2e559ead.entry.js → p-46874948.entry.js} +2 -2
  256. package/dist/genexus-ide-ui/{p-888d029f.entry.js → p-47f78f65.entry.js} +3 -3
  257. package/dist/genexus-ide-ui/{p-e0eda984.entry.js → p-4c37ff28.entry.js} +3 -3
  258. package/dist/genexus-ide-ui/{p-7a8aeb4e.entry.js → p-4cc2b3e6.entry.js} +2 -2
  259. package/dist/genexus-ide-ui/{p-df148798.entry.js → p-4dd3af73.entry.js} +3 -3
  260. package/dist/genexus-ide-ui/{p-1bb1c9cc.entry.js → p-4faee913.entry.js} +2 -2
  261. package/dist/genexus-ide-ui/{p-541c43a2.entry.js → p-50fad6eb.entry.js} +3 -3
  262. package/dist/genexus-ide-ui/{p-74882b8f.entry.js → p-54946b5e.entry.js} +4 -4
  263. package/dist/genexus-ide-ui/{p-6c0cc0fc.entry.js → p-5624d287.entry.js} +3 -3
  264. package/dist/genexus-ide-ui/{p-c3400671.entry.js → p-56308ae7.entry.js} +3 -3
  265. package/dist/genexus-ide-ui/{p-a5de63cc.entry.js → p-56c0c556.entry.js} +2 -2
  266. package/dist/genexus-ide-ui/{p-eea24d19.entry.js → p-57b8dd3d.entry.js} +3 -3
  267. package/dist/genexus-ide-ui/{p-45267d6e.entry.js → p-60302626.entry.js} +2 -2
  268. package/dist/genexus-ide-ui/{p-36e62da4.entry.js → p-61343e93.entry.js} +2 -2
  269. package/dist/genexus-ide-ui/{p-1191a6f0.entry.js → p-614467b4.entry.js} +2 -2
  270. package/dist/genexus-ide-ui/{p-5770d8b7.entry.js → p-64dbc4c0.entry.js} +2 -2
  271. package/dist/genexus-ide-ui/{p-e94c0ad6.entry.js → p-65555f37.entry.js} +2 -2
  272. package/dist/genexus-ide-ui/{p-e40929cd.entry.js → p-68ff4ac9.entry.js} +4 -4
  273. package/dist/genexus-ide-ui/{p-7ba4e229.entry.js → p-6945a7ad.entry.js} +3 -3
  274. package/dist/genexus-ide-ui/{p-f15c84ab.entry.js → p-69da0cd9.entry.js} +3 -3
  275. package/dist/genexus-ide-ui/{p-3090813a.entry.js → p-6e01f5a5.entry.js} +2 -2
  276. package/dist/genexus-ide-ui/{p-44eacccd.entry.js → p-70526bf3.entry.js} +3 -3
  277. package/dist/genexus-ide-ui/{p-06fbe725.entry.js → p-73b1bfba.entry.js} +2 -2
  278. package/dist/genexus-ide-ui/{p-5cb98d5b.js → p-790a3088.js} +7 -7
  279. package/dist/genexus-ide-ui/{p-7de1daee.entry.js → p-7fe4387b.entry.js} +3 -3
  280. package/dist/genexus-ide-ui/{p-0e2da68a.entry.js → p-80e49324.entry.js} +2 -2
  281. package/dist/genexus-ide-ui/{p-847cd613.entry.js → p-833ae3bf.entry.js} +3 -3
  282. package/dist/genexus-ide-ui/{p-61c8d171.entry.js → p-891faf90.entry.js} +2 -2
  283. package/dist/genexus-ide-ui/{p-fb62d808.entry.js → p-898712c4.entry.js} +2 -2
  284. package/dist/genexus-ide-ui/{p-cd8831e4.entry.js → p-8c125495.entry.js} +3 -3
  285. package/dist/genexus-ide-ui/{p-7c2a9252.js → p-8c15538c.js} +2 -2
  286. package/dist/genexus-ide-ui/{p-de83b5d7.entry.js → p-8c1ee4d9.entry.js} +3 -3
  287. package/dist/genexus-ide-ui/{p-0090f914.js → p-8c2e9df4.js} +2 -2
  288. package/dist/genexus-ide-ui/{p-78d65da3.entry.js → p-8d570fd2.entry.js} +8 -8
  289. package/dist/genexus-ide-ui/{p-4cafeee4.entry.js → p-90fd4f83.entry.js} +2 -2
  290. package/dist/genexus-ide-ui/p-923744e7.entry.js +415 -0
  291. package/dist/genexus-ide-ui/p-923744e7.entry.js.map +1 -0
  292. package/dist/genexus-ide-ui/{p-987081c1.entry.js → p-952d84f8.entry.js} +6 -6
  293. package/dist/genexus-ide-ui/p-952d84f8.entry.js.map +1 -0
  294. package/dist/genexus-ide-ui/{p-4406e156.js → p-97107ecc.js} +147 -87
  295. package/dist/genexus-ide-ui/p-97107ecc.js.map +1 -0
  296. package/dist/genexus-ide-ui/{p-693be6bb.entry.js → p-9ac4aaa0.entry.js} +2 -2
  297. package/dist/genexus-ide-ui/{p-afd84bc7.entry.js → p-9b1550be.entry.js} +119 -96
  298. package/dist/genexus-ide-ui/p-9b1550be.entry.js.map +1 -0
  299. package/dist/genexus-ide-ui/{p-9d5dc6a7.entry.js → p-9d1316d4.entry.js} +3 -3
  300. package/dist/genexus-ide-ui/{p-eb3caba5.entry.js → p-a5b30dc7.entry.js} +5 -5
  301. package/dist/genexus-ide-ui/{p-9e8a71db.entry.js → p-ac026635.entry.js} +2 -2
  302. package/dist/genexus-ide-ui/{p-b3aa0ecb.entry.js → p-aebf9728.entry.js} +2 -2
  303. package/dist/genexus-ide-ui/{p-f5157be1.entry.js → p-b2854730.entry.js} +4 -4
  304. package/dist/genexus-ide-ui/{p-a7194c97.entry.js → p-b7aafbf6.entry.js} +2 -2
  305. package/dist/genexus-ide-ui/{p-2e8b3151.entry.js → p-b80bd861.entry.js} +2 -2
  306. package/dist/genexus-ide-ui/{p-7884efd9.entry.js → p-bb0cdfe6.entry.js} +3 -3
  307. package/dist/genexus-ide-ui/{p-3d143a80.entry.js → p-c1ad1cc6.entry.js} +3 -3
  308. package/dist/genexus-ide-ui/{p-8b4fac7e.entry.js → p-c3e410cc.entry.js} +2 -2
  309. package/dist/genexus-ide-ui/{p-7965af56.entry.js → p-d0c2dde3.entry.js} +2 -2
  310. package/dist/genexus-ide-ui/{p-2e0ace7b.entry.js → p-dc1a9bd5.entry.js} +68 -99
  311. package/dist/genexus-ide-ui/p-dc1a9bd5.entry.js.map +1 -0
  312. package/dist/genexus-ide-ui/{p-9b2a1619.entry.js → p-ddb3be63.entry.js} +2 -2
  313. package/dist/genexus-ide-ui/{p-32262d7f.entry.js → p-e06cfa27.entry.js} +5 -5
  314. package/dist/genexus-ide-ui/{p-811ff88b.entry.js → p-e100a114.entry.js} +2 -2
  315. package/dist/genexus-ide-ui/{p-277999c2.entry.js → p-e1d947d7.entry.js} +3 -3
  316. package/dist/genexus-ide-ui/{p-aae7f543.entry.js → p-e2b0ee82.entry.js} +2 -2
  317. package/dist/genexus-ide-ui/{p-a4c35113.entry.js → p-e8b51673.entry.js} +2 -2
  318. package/dist/genexus-ide-ui/{p-070628a8.entry.js → p-ec9e0915.entry.js} +5 -5
  319. package/dist/genexus-ide-ui/{p-fdd75b9c.entry.js → p-eedb407c.entry.js} +3 -3
  320. package/dist/genexus-ide-ui/{p-2698d51a.entry.js → p-f281608a.entry.js} +2 -2
  321. package/dist/genexus-ide-ui/{p-312ea200.entry.js → p-f94cb936.entry.js} +3 -3
  322. package/dist/types/common/config.d.ts +2 -0
  323. package/dist/types/components/select-kb-items/select-kb-items.d.ts +4 -0
  324. package/dist/types/components/team-dev/connect-gx-server/connect-gx-server.d.ts +6 -9
  325. package/dist/types/components/team-dev/create-kb-from-server/create-kb-from-server.d.ts +5 -1
  326. package/dist/types/components/team-dev/server-selector/server-selector.d.ts +93 -0
  327. package/dist/types/components.d.ts +61 -12
  328. package/package.json +1 -1
  329. package/dist/cjs/config-6a768514.js.map +0 -1
  330. package/dist/cjs/index-408303ce.js.map +0 -1
  331. package/dist/esm/config-1ef9d75a.js.map +0 -1
  332. package/dist/esm/index-25ff5600.js.map +0 -1
  333. package/dist/genexus-ide-ui/p-13738332.js.map +0 -1
  334. package/dist/genexus-ide-ui/p-2e0ace7b.entry.js.map +0 -1
  335. package/dist/genexus-ide-ui/p-4406e156.js.map +0 -1
  336. package/dist/genexus-ide-ui/p-987081c1.entry.js.map +0 -1
  337. package/dist/genexus-ide-ui/p-a29936cd.entry.js +0 -17
  338. package/dist/genexus-ide-ui/p-afd84bc7.entry.js.map +0 -1
  339. package/dist/genexus-ide-ui/p-ddbd4891.entry.js.map +0 -1
  340. package/dist/genexus-ide-ui/p-eaa0d5ce.entry.js +0 -17
  341. /package/dist/genexus-ide-ui/{p-ba9b9aa5.entry.js.map → p-00e51225.entry.js.map} +0 -0
  342. /package/dist/genexus-ide-ui/{p-34af745b.entry.js.map → p-0391a478.entry.js.map} +0 -0
  343. /package/dist/genexus-ide-ui/{p-a29936cd.entry.js.map → p-0c81d013.entry.js.map} +0 -0
  344. /package/dist/genexus-ide-ui/{p-1622e339.entry.js.map → p-13630aa2.entry.js.map} +0 -0
  345. /package/dist/genexus-ide-ui/{p-29db37fd.entry.js.map → p-137130ad.entry.js.map} +0 -0
  346. /package/dist/genexus-ide-ui/{p-04597fd0.entry.js.map → p-1477d49a.entry.js.map} +0 -0
  347. /package/dist/genexus-ide-ui/{p-8657d13c.entry.js.map → p-17b54532.entry.js.map} +0 -0
  348. /package/dist/genexus-ide-ui/{p-a92f1884.entry.js.map → p-20032d70.entry.js.map} +0 -0
  349. /package/dist/genexus-ide-ui/{p-e27f0e14.entry.js.map → p-212ca306.entry.js.map} +0 -0
  350. /package/dist/genexus-ide-ui/{p-eaa0d5ce.entry.js.map → p-26bc0884.entry.js.map} +0 -0
  351. /package/dist/genexus-ide-ui/{p-7f756647.entry.js.map → p-2c6ab8f4.entry.js.map} +0 -0
  352. /package/dist/genexus-ide-ui/{p-6c5cc7e2.js.map → p-2ee77587.js.map} +0 -0
  353. /package/dist/genexus-ide-ui/{p-149e771e.entry.js.map → p-2fe7ffc8.entry.js.map} +0 -0
  354. /package/dist/genexus-ide-ui/{p-52d48fba.entry.js.map → p-3817c664.entry.js.map} +0 -0
  355. /package/dist/genexus-ide-ui/{p-e267e84e.entry.js.map → p-38f135a5.entry.js.map} +0 -0
  356. /package/dist/genexus-ide-ui/{p-832ec678.entry.js.map → p-3917d6c4.entry.js.map} +0 -0
  357. /package/dist/genexus-ide-ui/{p-9e15d58d.entry.js.map → p-3d7ed559.entry.js.map} +0 -0
  358. /package/dist/genexus-ide-ui/{p-2e559ead.entry.js.map → p-46874948.entry.js.map} +0 -0
  359. /package/dist/genexus-ide-ui/{p-888d029f.entry.js.map → p-47f78f65.entry.js.map} +0 -0
  360. /package/dist/genexus-ide-ui/{p-e0eda984.entry.js.map → p-4c37ff28.entry.js.map} +0 -0
  361. /package/dist/genexus-ide-ui/{p-7a8aeb4e.entry.js.map → p-4cc2b3e6.entry.js.map} +0 -0
  362. /package/dist/genexus-ide-ui/{p-df148798.entry.js.map → p-4dd3af73.entry.js.map} +0 -0
  363. /package/dist/genexus-ide-ui/{p-1bb1c9cc.entry.js.map → p-4faee913.entry.js.map} +0 -0
  364. /package/dist/genexus-ide-ui/{p-541c43a2.entry.js.map → p-50fad6eb.entry.js.map} +0 -0
  365. /package/dist/genexus-ide-ui/{p-74882b8f.entry.js.map → p-54946b5e.entry.js.map} +0 -0
  366. /package/dist/genexus-ide-ui/{p-6c0cc0fc.entry.js.map → p-5624d287.entry.js.map} +0 -0
  367. /package/dist/genexus-ide-ui/{p-c3400671.entry.js.map → p-56308ae7.entry.js.map} +0 -0
  368. /package/dist/genexus-ide-ui/{p-a5de63cc.entry.js.map → p-56c0c556.entry.js.map} +0 -0
  369. /package/dist/genexus-ide-ui/{p-eea24d19.entry.js.map → p-57b8dd3d.entry.js.map} +0 -0
  370. /package/dist/genexus-ide-ui/{p-45267d6e.entry.js.map → p-60302626.entry.js.map} +0 -0
  371. /package/dist/genexus-ide-ui/{p-36e62da4.entry.js.map → p-61343e93.entry.js.map} +0 -0
  372. /package/dist/genexus-ide-ui/{p-1191a6f0.entry.js.map → p-614467b4.entry.js.map} +0 -0
  373. /package/dist/genexus-ide-ui/{p-5770d8b7.entry.js.map → p-64dbc4c0.entry.js.map} +0 -0
  374. /package/dist/genexus-ide-ui/{p-e94c0ad6.entry.js.map → p-65555f37.entry.js.map} +0 -0
  375. /package/dist/genexus-ide-ui/{p-e40929cd.entry.js.map → p-68ff4ac9.entry.js.map} +0 -0
  376. /package/dist/genexus-ide-ui/{p-7ba4e229.entry.js.map → p-6945a7ad.entry.js.map} +0 -0
  377. /package/dist/genexus-ide-ui/{p-f15c84ab.entry.js.map → p-69da0cd9.entry.js.map} +0 -0
  378. /package/dist/genexus-ide-ui/{p-3090813a.entry.js.map → p-6e01f5a5.entry.js.map} +0 -0
  379. /package/dist/genexus-ide-ui/{p-44eacccd.entry.js.map → p-70526bf3.entry.js.map} +0 -0
  380. /package/dist/genexus-ide-ui/{p-06fbe725.entry.js.map → p-73b1bfba.entry.js.map} +0 -0
  381. /package/dist/genexus-ide-ui/{p-5cb98d5b.js.map → p-790a3088.js.map} +0 -0
  382. /package/dist/genexus-ide-ui/{p-7de1daee.entry.js.map → p-7fe4387b.entry.js.map} +0 -0
  383. /package/dist/genexus-ide-ui/{p-0e2da68a.entry.js.map → p-80e49324.entry.js.map} +0 -0
  384. /package/dist/genexus-ide-ui/{p-847cd613.entry.js.map → p-833ae3bf.entry.js.map} +0 -0
  385. /package/dist/genexus-ide-ui/{p-61c8d171.entry.js.map → p-891faf90.entry.js.map} +0 -0
  386. /package/dist/genexus-ide-ui/{p-fb62d808.entry.js.map → p-898712c4.entry.js.map} +0 -0
  387. /package/dist/genexus-ide-ui/{p-cd8831e4.entry.js.map → p-8c125495.entry.js.map} +0 -0
  388. /package/dist/genexus-ide-ui/{p-7c2a9252.js.map → p-8c15538c.js.map} +0 -0
  389. /package/dist/genexus-ide-ui/{p-de83b5d7.entry.js.map → p-8c1ee4d9.entry.js.map} +0 -0
  390. /package/dist/genexus-ide-ui/{p-0090f914.js.map → p-8c2e9df4.js.map} +0 -0
  391. /package/dist/genexus-ide-ui/{p-78d65da3.entry.js.map → p-8d570fd2.entry.js.map} +0 -0
  392. /package/dist/genexus-ide-ui/{p-4cafeee4.entry.js.map → p-90fd4f83.entry.js.map} +0 -0
  393. /package/dist/genexus-ide-ui/{p-693be6bb.entry.js.map → p-9ac4aaa0.entry.js.map} +0 -0
  394. /package/dist/genexus-ide-ui/{p-9d5dc6a7.entry.js.map → p-9d1316d4.entry.js.map} +0 -0
  395. /package/dist/genexus-ide-ui/{p-eb3caba5.entry.js.map → p-a5b30dc7.entry.js.map} +0 -0
  396. /package/dist/genexus-ide-ui/{p-9e8a71db.entry.js.map → p-ac026635.entry.js.map} +0 -0
  397. /package/dist/genexus-ide-ui/{p-b3aa0ecb.entry.js.map → p-aebf9728.entry.js.map} +0 -0
  398. /package/dist/genexus-ide-ui/{p-f5157be1.entry.js.map → p-b2854730.entry.js.map} +0 -0
  399. /package/dist/genexus-ide-ui/{p-a7194c97.entry.js.map → p-b7aafbf6.entry.js.map} +0 -0
  400. /package/dist/genexus-ide-ui/{p-2e8b3151.entry.js.map → p-b80bd861.entry.js.map} +0 -0
  401. /package/dist/genexus-ide-ui/{p-7884efd9.entry.js.map → p-bb0cdfe6.entry.js.map} +0 -0
  402. /package/dist/genexus-ide-ui/{p-3d143a80.entry.js.map → p-c1ad1cc6.entry.js.map} +0 -0
  403. /package/dist/genexus-ide-ui/{p-8b4fac7e.entry.js.map → p-c3e410cc.entry.js.map} +0 -0
  404. /package/dist/genexus-ide-ui/{p-7965af56.entry.js.map → p-d0c2dde3.entry.js.map} +0 -0
  405. /package/dist/genexus-ide-ui/{p-9b2a1619.entry.js.map → p-ddb3be63.entry.js.map} +0 -0
  406. /package/dist/genexus-ide-ui/{p-32262d7f.entry.js.map → p-e06cfa27.entry.js.map} +0 -0
  407. /package/dist/genexus-ide-ui/{p-811ff88b.entry.js.map → p-e100a114.entry.js.map} +0 -0
  408. /package/dist/genexus-ide-ui/{p-277999c2.entry.js.map → p-e1d947d7.entry.js.map} +0 -0
  409. /package/dist/genexus-ide-ui/{p-aae7f543.entry.js.map → p-e2b0ee82.entry.js.map} +0 -0
  410. /package/dist/genexus-ide-ui/{p-a4c35113.entry.js.map → p-e8b51673.entry.js.map} +0 -0
  411. /package/dist/genexus-ide-ui/{p-070628a8.entry.js.map → p-ec9e0915.entry.js.map} +0 -0
  412. /package/dist/genexus-ide-ui/{p-fdd75b9c.entry.js.map → p-eedb407c.entry.js.map} +0 -0
  413. /package/dist/genexus-ide-ui/{p-2698d51a.entry.js.map → p-f281608a.entry.js.map} +0 -0
  414. /package/dist/genexus-ide-ui/{p-312ea200.entry.js.map → p-f94cb936.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["serverSelectorCss","CSS_BUNDLES","INFO_ICON","getIconPath","category","name","colorType","LOCK_ICON","LANGUAGE_ICON","GxIdeServerSelector","_GxIdeServerSelector_chSearchIcon","set","this","_GxIdeServerSelector_versionsSelect","value","caption","_GxIdeServerSelector__componentLocale","_GxIdeServerSelector_chGridRecentlyUsedServersEl","_GxIdeServerSelector_chGridConnectedServersEl","_GxIdeServerSelector_previousSelectedRowId","_GxIdeServerSelector_selectedRowId","_GxIdeServerSelector_serverUrlEL","_GxIdeServerSelector_cancelHandler","cancelCallback","_GxIdeServerSelector_confirmHandler","async","selectedConnectionType","selectServerCallback","uri","selectedServerUri","selectedServerName","isValidUrl","__classPrivateFieldGet","_GxIdeServerSelector_validateUrl","call","serverUrlInputValue","serverNameInputValue","_GxIdeServerSelector_filterValueChangedHandler","event","filterValue","detail","toLowerCase","filteredConnectedServersData","connectedServersData","filter","item","serverName","includes","_GxIdeServerSelector_inputHandler","field","enableConfirmButton","_GxIdeServerSelector_enableConfirmButton","url","serverUrl","URL","protocol","ex","length","_GxIdeServerSelector_selectConnectedServersHandler","_GxIdeServerSelector_handleServerSelection","_GxIdeServerSelector_selectRecentlyUsedServersHandler","recentlyUsedServersData","serversData","otherGridEl","isFirstSelection","__classPrivateFieldSet","rowId","undefined","selectedServer","find","server","id","userName","gxServerUsername","selectRow","_GxIdeServerSelector_connectionTypeChangedHandler","_GxIdeServerSelector_renderTabularGridColumnSet","hideColumnName","h","class","columnId","columnName","settingable","columnNameHidden","size","config","tabularGrid","colSize","maxContent","resizable","sortable","onColumnSortChanged","_GxIdeServerSelector_handleColumnSortChanged","auto","_GxIdeServerSelector_renderTooltip","text","actionElement","blockAlign","inlineAlign","tooltipSettings","delay","_GxIdeServerSelector_renderTabularGridCommonCells","_GxIdeServerSelector_renderIcon","accessLevel","isConnected","_GxIdeServerSelector_renderRecentlyUsedServersGrid","rowSelectionMode","ref","el","allowColumnReorder","onRowClicked","map","rowid","stateIconSrc","stateTitle","emptyConnectedServers","isAnimated","_GxIdeServerSelector_renderConnectedServersGrid","e","sortDirection","aux","sort","a","b","icon","src","_GxIdeServerSelector_renderFooter","isSelectionMode","onClick","footer","cancel","disabled","confirm","Map","componentWillLoad","Locale","getComponentStrings","_a","_b","render","connectionTypeClass","recentlyUsedEmptyClass","Host","model","header","title","onChange","startImgSrc","onInput","placeholder","placeholders","searchServers","accessibleName","type","htmlFor","recentlyUsed","allServers","labels","input","errors","serverUrlInvalid"],"sources":["src/components/team-dev/server-selector/server-selector.scss?tag=gx-ide-server-selector&encapsulation=shadow","src/components/team-dev/server-selector/server-selector.tsx"],"sourcesContent":["@import \"../../../../node_modules/@genexus/mercury/dist/assets/scss/helpers.scss\";\n\n:host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content max-content 1fr max-content;\n row-gap: var(--mer-spacing--md);\n overflow: auto;\n}\n\n:host(.new-connection) {\n grid-template-rows: max-content 1fr;\n}\n\n:host(.recently-used-empty) {\n grid-template-rows: max-content 1fr;\n}\n\n.section {\n display: contents;\n}\n\n// General\n\n.tabular-grid {\n border-radius: var(--mer-border__radius--sm);\n overflow: hidden;\n border-inline: 1px solid var(--grid-cell__border-color);\n --grid-cell__box-shadow-inline-block:\n inset 0 0px var(--grid-cell__border-color),\n inset 0 -1px var(--grid-cell__border-color);\n overflow: auto;\n}\n\n.tabular-grid-rowset-empty {\n border-block-end: 1px solid var(--grid-cell__border-color);\n overflow: hidden;\n}\n\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".tabular-grid\",\n $tabular-grid-cell-apply-ellipsis: true,\n $tabular-grid-affected-columns-nth-list: (\n 2,\n 3,\n 4\n )\n);\n\n.text-neutral-gray-400,\n.tabular-grid-cell.text-neutral-gray-400 {\n // WA: colors for text should be defined in Mercury\n color: var(--mer-color__neutral-gray--400);\n}\n// Header\n\n.search-server {\n inline-size: 50%;\n}\n\n// Recently Used\n\n.tabular-grid-recently-used .tabular-grid-column::part(bar) {\n --grid-cell__padding-block: 0;\n --grid-cell__padding-inline: 0;\n}\n\n.tabular-grid.tabular-grid-recently-used {\n border-block-end: 1px solid var(--grid-cell__border-color);\n max-block-size: 100px;\n}\n\n// All Servers\n\n.tabular-grid-all-servers {\n overflow: auto;\n}\n\n.field-block-all-servers {\n overflow: auto;\n}\n\n.tabular-grid-all-servers {\n border-block: 1px solid var(--grid-cell__border-color);\n\n .tabular-grid-column:first-child::part(bar-name-icon) {\n background-image: var(\n --icon__system_order-alphabetically_on-elevation--enabled\n );\n block-size: var(--mer-icon__box--md);\n inline-size: var(--mer-icon__box--md);\n background-size: var(--mer-icon__size--md);\n }\n .tabular-grid-rowset-empty {\n border-block-end: none;\n overflow: hidden;\n }\n}\n\n.tabular-grid-all-servers .tabular-grid-column:first-child::part(bar) {\n --grid-common__gap: 0;\n}\n","// Stencil\nimport { Component, Element, h, Host, Prop, State } from \"@stencil/core\";\n\n// Other Libraries\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n\n// Custom Imports\nimport {\n ChEditCustomEvent,\n TabularGridRowClickedEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { RadioGroupItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/radio-group/types\";\nimport { JSX } from \"@stencil/core/internal\";\nimport { config } from \"../../../common/config\";\nimport {\n ControlValidation\n // validateControls\n} from \"../../../common/form-validation\";\nimport { Locale } from \"../../../common/locale\";\nimport { FormSubmitResult } from \"../../../common/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"components/tooltip\",\n \"chameleon/scrollbar\",\n \"components/tabular-grid\"\n];\n\nconst INFO_ICON = getIconPath({\n category: \"system\",\n name: \"information\",\n colorType: \"on-surface\"\n});\n\nconst LOCK_ICON = getIconPath({\n category: \"system\",\n name: \"lock\",\n colorType: \"on-surface\"\n});\n\nconst LANGUAGE_ICON = getIconPath({\n category: \"system\",\n name: \"language\",\n colorType: \"on-surface\"\n});\n\n@Component({\n tag: \"gx-ide-server-selector\",\n styleUrl: \"server-selector.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/server-selector\"]\n})\nexport class GxIdeServerSelector {\n #chSearchIcon = getIconPath({\n category: \"system\",\n name: \"search\",\n colorType: \"on-surface\"\n });\n\n #versionsSelect: RadioGroupItemModel[] = [\n { value: \"select\", caption: \"Select a server from the list below\" },\n { value: \"new\", caption: \"Enter a server URL manually\" }\n ];\n\n [key: string]: any;\n\n #_componentLocale: any;\n\n #chGridRecentlyUsedServersEl: HTMLChTabularGridElement;\n #chGridConnectedServersEl: HTMLChTabularGridElement;\n #previousSelectedRowId: string | undefined;\n #selectedRowId: string | undefined;\n #serverUrlEL: HTMLChEditElement;\n\n @Element() el: HTMLGxIdeServerSelectorElement;\n\n /**\n * State to enable/disable confirm button.\n */\n @State() enableConfirmButton: boolean = false;\n\n /**\n * State to track if this is the first selection made by the user.\n */\n @State() isFirstSelection: boolean = true;\n\n /**\n * State to track if the server URL is valid.\n */\n @State() isValidUrl: boolean = true;\n\n /**\n * The current server URL input value.\n */\n @State() serverUrlInputValue: string = \"\";\n\n /**\n * The current server URL input value.\n */\n @State() serverNameInputValue: string = \"\";\n\n /**\n * The selected server URI.\n */\n @State() selectedServerUri: string | undefined;\n\n /**\n * The selected server name.\n */\n @State() selectedServerName: string | undefined = \"None\";\n\n /**\n * The user name of the selected server.\n */\n @State() userName: string;\n\n /**\n * State to store the filter input value to filter the list-box\n */\n @State() filterValue: string = \"\";\n\n /**\n * Servers filtered\n */\n @State() filteredConnectedServersData: ConnectedGXServerData[] = [];\n\n @State() validatableControls = new Map<string, ControlValidation>();\n\n /**\n * The selected connection type\n */\n @State() selectedConnectionType: ConnectionOption = \"select\";\n\n /**\n * The list of connected GX servers.\n */\n @Prop({ mutable: true }) connectedServersData: ConnectedGXServerData[] = [];\n\n /**\n * The list of recently used servers.\n */\n @Prop() readonly recentlyUsedServersData: ConnectedGXServerData[] = [];\n\n /**\n * Callback that is invoked when the dialog is closed\n */\n @Prop() readonly cancelCallback!: () => Promise<void>;\n\n /**\n * Callback that must be invoked when the 'Confirm' button is pressed and the Select Server option is checked.\n */\n @Prop() readonly selectServerCallback!: (\n authenticationSessionOrigin: AuthenticationSessionOrigin\n ) => Promise<void>;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.selectedServerUri = this.connectedServersData[0]?.serverUrl;\n this.userName = this.connectedServersData[0]?.gxServerUsername;\n\n this.filteredConnectedServersData = this.connectedServersData;\n }\n\n #cancelHandler = (): void => {\n this.cancelCallback();\n };\n\n #confirmHandler = async (): Promise<void | ServerType> => {\n if (this.selectedConnectionType === \"select\") {\n await this.selectServerCallback({\n uri: this.selectedServerUri,\n name: this.selectedServerName\n });\n } else if (this.selectedConnectionType === \"new\") {\n this.isValidUrl = this.#validateUrl(this.serverUrlInputValue);\n if (this.isValidUrl) {\n await this.selectServerCallback({\n uri: this.serverUrlInputValue,\n name: this.serverNameInputValue\n });\n }\n }\n };\n\n #filterValueChangedHandler = (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.filterValue = (event.detail as string).toLowerCase();\n this.filteredConnectedServersData = this.connectedServersData.filter(item =>\n item.serverName.toLowerCase().includes(this.filterValue)\n );\n };\n\n #inputHandler = (\n event: ChEditCustomEvent<string> | InputEvent,\n field: \"serverUrlInputValue\" | \"serverNameInputValue\"\n ) => {\n this.enableConfirmButton = false;\n this[field] = event.detail as string;\n this.#enableConfirmButton();\n };\n\n #validateUrl = (url: string): boolean => {\n try {\n const serverUrl = new URL(url);\n return serverUrl.protocol === \"http:\" || serverUrl.protocol === \"https:\";\n } catch (ex) {\n return false;\n }\n };\n\n #enableConfirmButton = () => {\n if (\n this.serverUrlInputValue &&\n this.serverUrlInputValue.length > 0 &&\n this.serverNameInputValue &&\n this.serverNameInputValue.length > 0\n ) {\n this.enableConfirmButton = true;\n } else {\n this.enableConfirmButton = false;\n }\n };\n\n #selectConnectedServersHandler = (\n event: CustomEvent<TabularGridRowClickedEvent>\n ) =>\n this.#handleServerSelection(\n event,\n this.connectedServersData,\n this.#chGridRecentlyUsedServersEl\n );\n\n #selectRecentlyUsedServersHandler = (\n event: CustomEvent<TabularGridRowClickedEvent>\n ) =>\n this.#handleServerSelection(\n event,\n this.recentlyUsedServersData,\n this.#chGridConnectedServersEl\n );\n\n #handleServerSelection = async (\n event: CustomEvent<TabularGridRowClickedEvent>,\n serversData: ConnectedGXServerData[],\n otherGridEl: HTMLChTabularGridElement\n ): Promise<void> => {\n if (!this.isFirstSelection) {\n this.#previousSelectedRowId = this.#selectedRowId;\n }\n this.#selectedRowId = event.detail.rowId;\n if (this.#selectedRowId === undefined) {\n this.enableConfirmButton = false;\n this.selectedServerUri = undefined;\n this.selectedServerName = undefined;\n return;\n } else {\n const selectedServer = serversData.find(\n server => server.id === this.#selectedRowId\n );\n this.enableConfirmButton = true;\n this.selectedServerName = selectedServer?.serverName;\n this.selectedServerUri = selectedServer?.serverUrl;\n this.userName = selectedServer?.gxServerUsername || \"\";\n this.isFirstSelection = false;\n await otherGridEl?.selectRow(this.#previousSelectedRowId, false);\n }\n };\n\n #connectionTypeChangedHandler = (event: CustomEvent<string>) => {\n this.selectedConnectionType = event.detail as ConnectionOption;\n if (this.selectedConnectionType === \"new\") {\n this.enableConfirmButton = false;\n this.serverUrlInputValue = \"\";\n }\n this.selectedServerName = \"None\";\n };\n\n #renderTabularGridColumnSet = (\n hideColumnName: boolean = false\n ): HTMLChTabularGridColumnsetElement => {\n return (\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n columnId=\"icon\"\n class=\"tabular-grid-column\"\n columnName=\"Icon\"\n settingable={false}\n columnNameHidden={true}\n size={config.tabularGrid.colSize.maxContent}\n resizable={false}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"serverName\"\n class=\"tabular-grid-column\"\n sortable\n columnName=\"Server Name\"\n settingable={false}\n columnNameHidden={hideColumnName}\n onColumnSortChanged={this.#handleColumnSortChanged}\n size={config.tabularGrid.colSize.serverName}\n resizable={false}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"serverUrl\"\n class=\"tabular-grid-column\"\n sortable\n columnName=\"Server Url\"\n settingable={false}\n columnNameHidden={hideColumnName}\n onColumnSortChanged={this.#handleColumnSortChanged}\n size={config.tabularGrid.colSize.auto}\n resizable={false}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"userName\"\n class=\"tabular-grid-column\"\n sortable\n columnName=\"Username\"\n settingable={false}\n columnNameHidden={hideColumnName}\n onColumnSortChanged={this.#handleColumnSortChanged}\n size={config.tabularGrid.colSize.userName}\n resizable={false}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"status\"\n class=\"tabular-grid-column\"\n sortable\n columnName=\"Status\"\n settingable={false}\n columnNameHidden={hideColumnName}\n onColumnSortChanged={this.#handleColumnSortChanged}\n size={config.tabularGrid.colSize.maxContent}\n resizable={false}\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n );\n };\n\n #renderTooltip = (text: string): JSX.Element | null => {\n return text !== \"\" ? (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={null}\n blockAlign=\"outside-end\"\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {text}\n </ch-tooltip>\n ) : null;\n };\n\n #renderTabularGridCommonCells = (server: ConnectedGXServerData) => {\n return [\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#renderIcon(server.accessLevel)}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell tabular-grid-cell-server-name\">\n {server.serverName}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell tabular-grid-cell-server-url\">\n {server.serverUrl}\n {this.#renderTooltip(server.serverUrl)}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {server.gxServerUsername}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell text-neutral-gray-400 body-italic-s\">\n {server.isConnected && \"Connected\"}\n </ch-tabular-grid-cell>\n ];\n };\n\n #renderRecentlyUsedServersGrid = (hideColumnName: boolean): Element => {\n return (\n <ch-tabular-grid\n class={\"tabular-grid-recently-used tabular-grid\"}\n rowSelectionMode=\"single\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.#chGridRecentlyUsedServersEl = el)\n }\n allowColumnReorder={false}\n onRowClicked={this.#selectRecentlyUsedServersHandler}\n id=\"recently-used-servers\"\n >\n {this.#renderTabularGridColumnSet(hideColumnName)}\n {this.recentlyUsedServersData.length > 0 ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.recentlyUsedServersData.map(\n (server: ConnectedGXServerData) => (\n <ch-tabular-grid-row rowid={server.id} class=\"tabular-grid-row\">\n {this.#renderTabularGridCommonCells(server)}\n </ch-tabular-grid-row>\n )\n )}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n <gx-ide-empty-state\n stateIconSrc={INFO_ICON}\n stateTitle={this.#_componentLocale.emptyConnectedServers}\n isAnimated={true}\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n );\n };\n\n #renderConnectedServersGrid = (): Element => {\n return (\n <ch-tabular-grid\n class={\"tabular-grid tabular-grid-all-servers\"}\n rowSelectionMode=\"single\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.#chGridConnectedServersEl = el)\n }\n allowColumnReorder={false}\n onRowClicked={this.#selectConnectedServersHandler}\n id=\"all-servers\"\n >\n {this.#renderTabularGridColumnSet()}\n {this.filteredConnectedServersData.length > 0 ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.filteredConnectedServersData.map(\n (server: ConnectedGXServerData) => (\n <ch-tabular-grid-row rowid={server.id} class=\"tabular-grid-row\">\n {this.#renderTabularGridCommonCells(server)}\n </ch-tabular-grid-row>\n )\n )}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty class=\"tabular-grid-rowset-empty\">\n <gx-ide-empty-state\n stateIconSrc={INFO_ICON}\n stateTitle={this.#_componentLocale.emptyConnectedServers}\n isAnimated={true}\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n );\n };\n\n #handleColumnSortChanged = (e: CustomEvent) => {\n const { columnId, sortDirection } = e.detail;\n\n const aux = this.connectedServersData;\n aux.sort((a: any, b: any) => {\n if (a[columnId] < b[columnId]) {\n return sortDirection === \"asc\" ? -1 : 1;\n }\n if (a[columnId] > b[columnId]) {\n return sortDirection === \"asc\" ? 1 : -1;\n }\n return 0;\n });\n\n this.connectedServersData = [...aux];\n };\n\n #renderIcon = (accessLevel: string): JSX.Element => {\n const icon = accessLevel === \"private\" ? LOCK_ICON : LANGUAGE_ICON;\n return <ch-image class=\"icon-md\" src={icon}></ch-image>;\n };\n\n #renderFooter = () => {\n const isSelectionMode = this.selectedConnectionType === \"select\";\n return (\n <footer\n class={{\n \"control-footer-with-border\": true,\n \"control-footer-space-between\":\n this.selectedConnectionType === \"select\",\n \"space-between\": isSelectionMode,\n \"spacing-body-inline\": true,\n \"spacing-body-block\": true\n }}\n >\n {isSelectionMode && (\n <p class=\"body-italic-m\">Selected: {this.selectedServerName}</p>\n )}\n <div class=\"buttons-spacer\">\n <button\n // cancel button\n class=\"button-secondary\"\n onClick={this.#cancelHandler}\n >\n {this.#_componentLocale.footer.cancel}\n </button>\n\n <button\n // confirm button\n class=\"button-primary\"\n onClick={this.enableConfirmButton && this.#confirmHandler}\n disabled={!this.enableConfirmButton}\n >\n {this.#_componentLocale.footer.confirm}\n </button>\n </div>\n </footer>\n );\n };\n\n render(): void {\n const connectionTypeClass =\n this.selectedConnectionType === \"new\" && \"new-connection\";\n const recentlyUsedEmptyClass =\n this.recentlyUsedServersData.length === 0 && \"recently-used-empty\";\n return (\n <Host\n class={`widget elevation-1 ${connectionTypeClass} ${recentlyUsedEmptyClass}`}\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <main class=\"section\">\n <header class=\"header spacing-body-block-start spacing-body-inline\">\n <div class=\"field-group\">\n <label class=\"body-regular-m text-neutral-gray-400\">\n {this.#_componentLocale.header.title}\n </label>\n <ch-radio-group-render\n class=\"radio-group\"\n model={this.#versionsSelect}\n onChange={this.#connectionTypeChangedHandler}\n value={this.#versionsSelect[0].value}\n ></ch-radio-group-render>\n\n {this.selectedConnectionType === \"select\" && (\n <ch-edit\n class=\"input search-server\"\n id=\"server-name-search\"\n startImgSrc={this.#chSearchIcon}\n onInput={this.#filterValueChangedHandler}\n placeholder={\n this.#_componentLocale.placeholders.searchServers\n }\n accessibleName=\"search server\"\n type=\"search\"\n ></ch-edit>\n )}\n </div>\n </header>\n {this.selectedConnectionType === \"select\" && [\n this.recentlyUsedServersData.length > 0 && (\n <div class=\"field field-block spacing-body-inline\">\n <label class=\"label\" htmlFor=\"recently-used-servers\">\n {this.#_componentLocale.recentlyUsed.title}\n </label>\n {this.#renderRecentlyUsedServersGrid(true)}\n </div>\n ),\n <div class=\"field field-block field-block-all-servers spacing-body-inline\">\n <label class=\"label\" htmlFor=\"all-servers\">\n {this.#_componentLocale.allServers.title}\n </label>\n {this.#renderConnectedServersGrid()}\n </div>\n ]}\n\n {this.selectedConnectionType === \"new\" && (\n <section class=\"spacing-body-inline\">\n <div class=\"layout layout--cols-2\">\n <div class=\"field field-block layout__panel\">\n <label class=\"label\" htmlFor=\"server-url\">\n {this.#_componentLocale.labels.serverUrl}\n </label>\n <ch-edit\n // server url\n class={{ \"input\": true, \"input-error\": !this.isValidUrl }}\n id=\"server-url\"\n value={this.serverUrlInputValue}\n onInput={event =>\n this.#inputHandler(event, \"serverUrlInputValue\")\n }\n placeholder={this.#_componentLocale.placeholders.serverUrl}\n ref={el => (this.#serverUrlEL = el as HTMLChEditElement)}\n ></ch-edit>\n </div>\n <div class=\"field field-block layout__panel\">\n <label class=\"label\" htmlFor=\"server-name\">\n {this.#_componentLocale.labels.serverName}\n </label>\n <ch-edit\n // server friendly name\n class=\"input\"\n id=\"server-name\"\n value={this.serverNameInputValue}\n onInput={event =>\n this.#inputHandler(event, \"serverNameInputValue\")\n }\n placeholder={this.#_componentLocale.placeholders.serverName}\n ></ch-edit>\n </div>\n {!this.isValidUrl && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={\n this.#serverUrlEL as unknown as HTMLButtonElement\n }\n blockAlign=\"outside-end\"\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.#_componentLocale.errors.serverUrlInvalid}\n </ch-tooltip>\n )}\n </div>\n </section>\n )}\n\n {this.#renderFooter()}\n </main>\n </Host>\n );\n }\n}\n\nexport type ConnectionResultData = {\n formResult: FormSubmitResult;\n};\n\nexport type ConnectionOption = \"select\" | \"new\";\n\nexport type ServerType = \"legacy\" | \"next\";\n\nexport type ServerAccessLevel = \"public\" | \"private\";\n\nexport type AuthenticationSessionOrigin = {\n uri: string;\n name: string;\n};\n\nexport type ConnectedGXServerData = {\n id: string;\n serverUrl: string;\n accessLevel: ServerAccessLevel;\n masterSessionUsername: string;\n serverName?: string;\n gxServerUsername: string;\n isConnected: boolean;\n};\n\nexport type NewServerConnectionData = {\n serverUrl: string;\n serverName: string;\n};\n"],"mappings":";;;;;;;;AAAA,MAAMA,IAAoB;;;;;;;;;;;;;;;;;ACqB1B,MAAMC,IAA8B,EAClC,qBACA,oBACA,gBACA,oBACA,iBACA,sBACA,uBACA;;AAGF,MAAMC,IAAYC,EAAY;EAC5BC,UAAU;EACVC,MAAM;EACNC,WAAW;;;AAGb,MAAMC,IAAYJ,EAAY;EAC5BC,UAAU;EACVC,MAAM;EACNC,WAAW;;;AAGb,MAAME,IAAgBL,EAAY;EAChCC,UAAU;EACVC,MAAM;EACNC,WAAW;;;MASAG,IAAmB;;;IAC9BC,EAAAC,IAAAC,MAAgBT,EAAY;MAC1BC,UAAU;MACVC,MAAM;MACNC,WAAW;;IAGbO,EAAAF,IAAAC,MAAyC,EACvC;MAAEE,OAAO;MAAUC,SAAS;OAC5B;MAAED,OAAO;MAAOC,SAAS;;IAK3BC,EAAAL,IAAAC,WAAA;IAEAK,EAAAN,IAAAC,WAAA;IACAM,EAAAP,IAAAC,WAAA;IACAO,EAAAR,IAAAC,WAAA;IACAQ,EAAAT,IAAAC,WAAA;IACAS,EAAAV,IAAAC,WAAA;IA2FAU,EAAAX,IAAAC,OAAiB;MACfA,KAAKW;AAAgB;IAGvBC,EAAAb,IAAAC,OAAkBa;MAChB,IAAIb,KAAKc,2BAA2B,UAAU;cACtCd,KAAKe,qBAAqB;UAC9BC,KAAKhB,KAAKiB;UACVxB,MAAMO,KAAKkB;;aAER,IAAIlB,KAAKc,2BAA2B,OAAO;QAChDd,KAAKmB,aAAaC,EAAApB,MAAIqB,GAAA,KAAaC,KAAjBtB,MAAkBA,KAAKuB;QACzC,IAAIvB,KAAKmB,YAAY;gBACbnB,KAAKe,qBAAqB;YAC9BC,KAAKhB,KAAKuB;YACV9B,MAAMO,KAAKwB;;;;;IAMnBC,EAAA1B,IAAAC,OACE0B;MAEA1B,KAAK2B,cAAeD,EAAME,OAAkBC;MAC5C7B,KAAK8B,+BAA+B9B,KAAK+B,qBAAqBC,QAAOC,KACnEA,EAAKC,WAAWL,cAAcM,SAASnC,KAAK2B;AAC7C;IAGHS,EAAArC,IAAAC,OAAgB,CACd0B,GACAW;MAEArC,KAAKsC,sBAAsB;MAC3BtC,KAAKqC,KAASX,EAAME;MACpBR,EAAApB,MAAIuC,GAAA,KAAqBjB,KAAzBtB;AAA2B;IAG7BqB,EAAAtB,IAAAC,OAAgBwC;MACd;QACE,MAAMC,IAAY,IAAIC,IAAIF;QAC1B,OAAOC,EAAUE,aAAa,WAAWF,EAAUE,aAAa;QAChE,OAAOC;QACP,OAAO;;;IAIXL,EAAAxC,IAAAC,OAAuB;MACrB,IACEA,KAAKuB,uBACLvB,KAAKuB,oBAAoBsB,SAAS,KAClC7C,KAAKwB,wBACLxB,KAAKwB,qBAAqBqB,SAAS,GACnC;QACA7C,KAAKsC,sBAAsB;aACtB;QACLtC,KAAKsC,sBAAsB;;;IAI/BQ,EAAA/C,IAAAC,OACE0B,KAEAN,EAAApB,MAAI+C,GAAA,KAAuBzB,KAA3BtB,MACE0B,GACA1B,KAAK+B,sBACLX,EAAApB,MAAIK,GAAA;IAGR2C,EAAAjD,IAAAC,OACE0B,KAEAN,EAAApB,MAAI+C,GAAA,KAAuBzB,KAA3BtB,MACE0B,GACA1B,KAAKiD,yBACL7B,EAAApB,MAAIM,GAAA;IAGRyC,EAAAhD,IAAAC,OAAyBa,OACvBa,GACAwB,GACAC;MAEA,KAAKnD,KAAKoD,kBAAkB;QAC1BC,EAAArD,MAAIO,GAA0Ba,EAAApB,MAAIQ,GAAA,MAAe;;MAEnD6C,EAAArD,MAAIQ,GAAkBkB,EAAME,OAAO0B,OAAK;MACxC,IAAIlC,EAAApB,MAAIQ,GAAA,SAAoB+C,WAAW;QACrCvD,KAAKsC,sBAAsB;QAC3BtC,KAAKiB,oBAAoBsC;QACzBvD,KAAKkB,qBAAqBqC;QAC1B;aACK;QACL,MAAMC,IAAiBN,EAAYO,MACjCC,KAAUA,EAAOC,OAAOvC,EAAApB,MAAIQ,GAAA;QAE9BR,KAAKsC,sBAAsB;QAC3BtC,KAAKkB,qBAAqBsC,MAAc,QAAdA,WAAc,aAAdA,EAAgBtB;QAC1ClC,KAAKiB,oBAAoBuC,MAAc,QAAdA,WAAc,aAAdA,EAAgBf;QACzCzC,KAAK4D,YAAWJ,MAAc,QAAdA,WAAc,aAAdA,EAAgBK,qBAAoB;QACpD7D,KAAKoD,mBAAmB;eAClBD,MAAW,QAAXA,WAAW,aAAXA,EAAaW,UAAU1C,EAAApB,MAAIO,GAAA,MAAyB;;;IAI9DwD,EAAAhE,IAAAC,OAAiC0B;MAC/B1B,KAAKc,yBAAyBY,EAAME;MACpC,IAAI5B,KAAKc,2BAA2B,OAAO;QACzCd,KAAKsC,sBAAsB;QAC3BtC,KAAKuB,sBAAsB;;MAE7BvB,KAAKkB,qBAAqB;AAAM;IAGlC8C,EAAAjE,IAAAC,OAA8B,CAC5BiE,IAA0B,UAGxBC,EAAA;MAA2BC,OAAM;OAC/BD,EAAA;MACEE,UAAS;MACTD,OAAM;MACNE,YAAW;MACXC,aAAa;MACbC,kBAAkB;MAClBC,MAAMC,EAAOC,YAAYC,QAAQC;MACjCC,WAAW;QAEbX,EAAA;MACEE,UAAS;MACTD,OAAM;MACNW,UAAQ;MACRT,YAAW;MACXC,aAAa;MACbC,kBAAkBN;MAClBc,qBAAqB3D,EAAApB,MAAIgF,GAAA;MACzBR,MAAMC,EAAOC,YAAYC,QAAQzC;MACjC2C,WAAW;QAEbX,EAAA;MACEE,UAAS;MACTD,OAAM;MACNW,UAAQ;MACRT,YAAW;MACXC,aAAa;MACbC,kBAAkBN;MAClBc,qBAAqB3D,EAAApB,MAAIgF,GAAA;MACzBR,MAAMC,EAAOC,YAAYC,QAAQM;MACjCJ,WAAW;QAEbX,EAAA;MACEE,UAAS;MACTD,OAAM;MACNW,UAAQ;MACRT,YAAW;MACXC,aAAa;MACbC,kBAAkBN;MAClBc,qBAAqB3D,EAAApB,MAAIgF,GAAA;MACzBR,MAAMC,EAAOC,YAAYC,QAAQf;MACjCiB,WAAW;QAEbX,EAAA;MACEE,UAAS;MACTD,OAAM;MACNW,UAAQ;MACRT,YAAW;MACXC,aAAa;MACbC,kBAAkBN;MAClBc,qBAAqB3D,EAAApB,MAAIgF,GAAA;MACzBR,MAAMC,EAAOC,YAAYC,QAAQC;MACjCC,WAAW;;IAMnBK,EAAAnF,IAAAC,OAAkBmF,KACTA,MAAS,KACdjB,EAAA;MACEC,OAAM;MACNiB,eAAe;MACfC,YAAW;MACXC,aAAab,EAAOc,gBAAgBD;MACpCE,OAAOf,EAAOc,gBAAgBC;OAE7BL,KAED;IAGNM,EAAA1F,IAAAC,OAAiC0D,KACxB,EACLQ,EAAA;MAAsBC,OAAM;OACzB/C,EAAApB,MAAI0F,GAAA,KAAYpE,KAAhBtB,MAAiB0D,EAAOiC,eAE3BzB,EAAA;MAAsBC,OAAM;OACzBT,EAAOxB,aAEVgC,EAAA;MAAsBC,OAAM;OACzBT,EAAOjB,WACPrB,EAAApB,MAAIkF,GAAA,KAAe5D,KAAnBtB,MAAoB0D,EAAOjB,aAE9ByB,EAAA;MAAsBC,OAAM;OACzBT,EAAOG,mBAEVK,EAAA;MAAsBC,OAAM;OACzBT,EAAOkC,eAAe;IAK7BC,EAAA9F,IAAAC,OAAkCiE,KAE9BC,EAAA;MACEC,OAAO;MACP2B,kBAAiB;MACjBC,KAAMC,KACH3C,EAAArD,MAAIK,GAAgC2F,GAAE;MAEzCC,oBAAoB;MACpBC,cAAc9E,EAAApB,MAAIgD,GAAA;MAClBW,IAAG;OAEFvC,EAAApB,MAAIgE,GAAA,KAA4B1C,KAAhCtB,MAAiCiE,IACjCjE,KAAKiD,wBAAwBJ,SAAS,IACrCqB,EAAA;MAAwBC,OAAM;OAC3BnE,KAAKiD,wBAAwBkD,KAC3BzC,KACCQ,EAAA;MAAqBkC,OAAO1C,EAAOC;MAAIQ,OAAM;OAC1C/C,EAAApB,MAAIyF,GAAA,KAA8BnE,KAAlCtB,MAAmC0D,SAM5CQ,EAAA;MAAwBC,OAAM;OAC5BD,EAAA,sCACEA,EAAA;MACEmC,cAAc/G;MACdgH,YAAYlF,EAAApB,MAAII,GAAA,KAAmBmG;MACnCC,YAAY;;IAS1BC,EAAA1G,IAAAC,OAA8B,MAE1BkE,EAAA;MACEC,OAAO;MACP2B,kBAAiB;MACjBC,KAAMC,KACH3C,EAAArD,MAAIM,GAA6B0F,GAAE;MAEtCC,oBAAoB;MACpBC,cAAc9E,EAAApB,MAAI8C,GAAA;MAClBa,IAAG;OAEFvC,EAAApB,MAAIgE,GAAA,KAA4B1C,KAAhCtB,OACAA,KAAK8B,6BAA6Be,SAAS,IAC1CqB,EAAA;MAAwBC,OAAM;OAC3BnE,KAAK8B,6BAA6BqE,KAChCzC,KACCQ,EAAA;MAAqBkC,OAAO1C,EAAOC;MAAIQ,OAAM;OAC1C/C,EAAApB,MAAIyF,GAAA,KAA8BnE,KAAlCtB,MAAmC0D,SAM5CQ,EAAA;MAAwBC,OAAM;OAC5BD,EAAA;MAA8BC,OAAM;OAClCD,EAAA;MACEmC,cAAc/G;MACdgH,YAAYlF,EAAApB,MAAII,GAAA,KAAmBmG;MACnCC,YAAY;;IAS1BxB,EAAAjF,IAAAC,OAA4B0G;MAC1B,OAAMtC,UAAEA,GAAQuC,eAAEA,KAAkBD,EAAE9E;MAEtC,MAAMgF,IAAM5G,KAAK+B;MACjB6E,EAAIC,MAAK,CAACC,GAAQC;QAChB,IAAID,EAAE1C,KAAY2C,EAAE3C,IAAW;UAC7B,OAAOuC,MAAkB,SAAS,IAAI;;QAExC,IAAIG,EAAE1C,KAAY2C,EAAE3C,IAAW;UAC7B,OAAOuC,MAAkB,QAAQ,KAAK;;QAExC,OAAO;AAAC;MAGV3G,KAAK+B,uBAAuB,KAAI6E;AAAI;IAGtClB,EAAA3F,IAAAC,OAAe2F;MACb,MAAMqB,IAAOrB,MAAgB,YAAYhG,IAAYC;MACrD,OAAOsE,EAAA;QAAUC,OAAM;QAAU8C,KAAKD;;AAAiB;IAGzDE,EAAAnH,IAAAC,OAAgB;MACd,MAAMmH,IAAkBnH,KAAKc,2BAA2B;MACxD,OACEoD,EAAA;QACEC,OAAO;UACL,8BAA8B;UAC9B,gCACEnE,KAAKc,2BAA2B;UAClC,iBAAiBqG;UACjB,uBAAuB;UACvB,sBAAsB;;SAGvBA,KACCjD,EAAA;QAAGC,OAAM;SAAe,cAAYnE,KAAKkB,qBAE3CgD,EAAA;QAAKC,OAAM;SACTD,EAAA;;QAEEC,OAAM;QACNiD,SAAShG,EAAApB,MAAIU,GAAA;SAEZU,EAAApB,MAAII,GAAA,KAAmBiH,OAAOC,SAGjCpD,EAAA;;QAEEC,OAAM;QACNiD,SAASpH,KAAKsC,uBAAuBlB,EAAApB,MAAIY,GAAA;QACzC2G,WAAWvH,KAAKsC;SAEflB,EAAApB,MAAII,GAAA,KAAmBiH,OAAOG;AAG5B;+BA5a2B;4BAKH;sBAKN;+BAKQ;gCAKC;;8BAUU;;uBAUnB;wCAKkC;+BAElC,IAAIC;kCAKiB;gCAKqB;mCAKL;;;;EAcpE,uBAAMC;;IACJrE,EAAArD,MAAII,SAA2BuH,EAAOC,oBAAoB5H,KAAKgG,KAAG;IAClEhG,KAAKiB,qBAAoB4G,IAAA7H,KAAK+B,qBAAqB,QAAE,QAAA8F,WAAA,aAAAA,EAAEpF;IACvDzC,KAAK4D,YAAWkE,IAAA9H,KAAK+B,qBAAqB,QAAE,QAAA+F,WAAA,aAAAA,EAAEjE;IAE9C7D,KAAK8B,+BAA+B9B,KAAK+B;;EA+V3C,MAAAgG;IACE,MAAMC,IACJhI,KAAKc,2BAA2B,SAAS;IAC3C,MAAMmH,IACJjI,KAAKiD,wBAAwBJ,WAAW,KAAK;IAC/C,OACEqB,EAACgE,GAAI;MACH/D,OAAO,sBAAsB6D,KAAuBC;OAEpD/D,EAAA;MAAUiE,OAAO9I;QACjB6E,EAAA;MAAMC,OAAM;OACVD,EAAA;MAAQC,OAAM;OACZD,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAOC,OAAM;OACV/C,EAAApB,MAAII,GAAA,KAAmBgI,OAAOC,QAEjCnE,EAAA;MACEC,OAAM;MACNgE,OAAO/G,EAAApB,MAAIC,GAAA;MACXqI,UAAUlH,EAAApB,MAAI+D,GAAA;MACd7D,OAAOkB,EAAApB,MAAIC,GAAA,KAAiB,GAAGC;QAGhCF,KAAKc,2BAA2B,YAC/BoD,EAAA;MACEC,OAAM;MACNR,IAAG;MACH4E,aAAanH,EAAApB,MAAIF,GAAA;MACjB0I,SAASpH,EAAApB,MAAIyB,GAAA;MACbgH,aACErH,EAAApB,MAAII,GAAA,KAAmBsI,aAAaC;MAEtCC,gBAAe;MACfC,MAAK;UAKZ7I,KAAKc,2BAA2B,YAAY,EAC3Cd,KAAKiD,wBAAwBJ,SAAS,KACpCqB,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAOC,OAAM;MAAQ2E,SAAQ;OAC1B1H,EAAApB,MAAII,GAAA,KAAmB2I,aAAaV,QAEtCjH,EAAApB,MAAI6F,GAAA,KAA+BvE,KAAnCtB,MAAoC,QAGzCkE,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAOC,OAAM;MAAQ2E,SAAQ;OAC1B1H,EAAApB,MAAII,GAAA,KAAmB4I,WAAWX,QAEpCjH,EAAApB,MAAIyG,GAAA,KAA4BnF,KAAhCtB,UAIJA,KAAKc,2BAA2B,SAC/BoD,EAAA;MAASC,OAAM;OACbD,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAOC,OAAM;MAAQ2E,SAAQ;OAC1B1H,EAAApB,MAAII,GAAA,KAAmB6I,OAAOxG,YAEjCyB,EAAA;;MAEEC,OAAO;QAAE+E,OAAS;QAAM,gBAAgBlJ,KAAKmB;;MAC7CwC,IAAG;MACHzD,OAAOF,KAAKuB;MACZiH,SAAS9G,KACPN,EAAApB,MAAIoC,GAAA,KAAcd,KAAlBtB,MAAmB0B,GAAO;MAE5B+G,aAAarH,EAAApB,MAAII,GAAA,KAAmBsI,aAAajG;MACjDsD,KAAKC,KAAO3C,EAAArD,MAAIS,GAAgBuF,GAAuB;SAG3D9B,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAOC,OAAM;MAAQ2E,SAAQ;OAC1B1H,EAAApB,MAAII,GAAA,KAAmB6I,OAAO/G,aAEjCgC,EAAA;;MAEEC,OAAM;MACNR,IAAG;MACHzD,OAAOF,KAAKwB;MACZgH,SAAS9G,KACPN,EAAApB,MAAIoC,GAAA,KAAcd,KAAlBtB,MAAmB0B,GAAO;MAE5B+G,aAAarH,EAAApB,MAAII,GAAA,KAAmBsI,aAAaxG;UAGnDlC,KAAKmB,cACL+C,EAAA;MACEC,OAAM;MACNiB,eACEhE,EAAApB,MAAIS,GAAA;MAEN4E,YAAW;MACXC,aAAab,EAAOc,gBAAgBD;MACpCE,OAAOf,EAAOc,gBAAgBC;OAE7BpE,EAAApB,MAAII,GAAA,KAAmB+I,OAAOC,qBAOxChI,EAAApB,MAAIkH,GAAA,KAAc5F,KAAlBtB"}
@@ -1,14 +1,14 @@
1
- import { r as t, c as e, h as i, H as s, a } from "./p-4406e156.js";
1
+ import { r as t, c as e, h as i, H as s, a } from "./p-97107ecc.js";
2
2
 
3
3
  import { g as o } from "./p-401bfc97.js";
4
4
 
5
- import { r, a as l } from "./p-6c5cc7e2.js";
5
+ import { r, a as l } from "./p-2ee77587.js";
6
6
 
7
7
  import { L as n } from "./p-311eedf3.js";
8
8
 
9
- import { c } from "./p-13738332.js";
9
+ import { c } from "./p-44e5e972.js";
10
10
 
11
- import { f as d } from "./p-7c2a9252.js";
11
+ import { f as d } from "./p-8c15538c.js";
12
12
 
13
13
  const mapObjectTypeToComboBoxItemModel = t => t.map((t => ({
14
14
  value: t.id,
@@ -21,7 +21,7 @@ const mapGxOptionsToComboBoxItemModel = t => t.map((t => ({
21
21
  caption: t.label || t.name || ""
22
22
  })));
23
23
 
24
- const h = '.custom-icon-text-wrapper{display:flex;align-items:center;gap:10px}:host{display:grid;block-size:100%;overflow:auto;grid-template-rows:max-content 1fr max-content}section{display:contents}.header__first-row{grid-template-columns:1fr max-content}.field-comment{flex:1}.filters-container{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--mer-timing--fast)}.filters-container-visible{grid-template-rows:1fr}.filters-container>div{overflow:hidden}.filter{grid-template-areas:"field-pattern field-folder field-type" "field-changeset field-changeset field-category";padding-block-start:var(--mer-spacing--sm)}.field-pattern{grid-area:field-pattern}.field-folder{grid-area:field-folder}.field-type{grid-area:field-type}.field-changeset{grid-area:field-changeset}.field-category{grid-area:field-category}.ch-tab-slot{inline-size:100%;overflow:auto}.tab{border:none !important}.tabular-grid{block-size:100%;position:relative;overflow:auto}.tabular-grid-cell.tabular-grid-cell-description{max-inline-size:600px}gx-ide-loader{position:absolute;inline-size:100%;block-size:100%}ch-tabular-grid-rowset-empty{position:relative}.tooltip{position:absolute}';
24
+ const h = '.custom-icon-text-wrapper{display:flex;align-items:center;gap:10px}:host{display:grid;block-size:100%;overflow:auto;grid-template-rows:max-content 1fr max-content}section{display:contents}.header__first-row{grid-template-columns:1fr max-content}.field-comment{flex:1}.filters-container{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--mer-timing--fast)}.filters-container-visible{grid-template-rows:1fr}.filters-container>div{overflow:hidden}.filter{grid-template-areas:"field-pattern field-folder field-type" "field-changeset field-changeset field-category";padding-block-start:var(--mer-spacing--sm)}.field-pattern{grid-area:field-pattern}.field-folder{grid-area:field-folder}.field-type{grid-area:field-type}.field-changeset{grid-area:field-changeset}.field-category{grid-area:field-category}.ch-tab-slot{inline-size:100%;overflow:auto}.tab{border:none !important}.tabular-grid{block-size:100%;position:relative;overflow:auto}.tabular-grid-cell.tabular-grid-cell-description{max-inline-size:600px}gx-ide-loader{position:absolute;inline-size:100%;block-size:100%}ch-tabular-grid-rowset-empty{position:relative}ch-tabular-grid.tabular-grid--empty::part(main){overflow:hidden}.tooltip{position:absolute}';
25
25
 
26
26
  var f = undefined && undefined.__classPrivateFieldGet || function(t, e, i, s) {
27
27
  if (i === "a" && !s) throw new TypeError("Private accessor was defined without a getter");
@@ -680,4 +680,4 @@ X = new WeakMap, Y = new WeakMap;
680
680
  V.style = h;
681
681
 
682
682
  export { V as gx_ide_team_dev_commit };
683
- //# sourceMappingURL=p-987081c1.entry.js.map
683
+ //# sourceMappingURL=p-952d84f8.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["mapObjectTypeToComboBoxItemModel","objectTypeModel","map","objectType","value","id","caption","name","startImgSrc","icon","mapGxOptionsToComboBoxItemModel","categoryModel","category","label","commitCss","FILTER_ICON","getIconPath","colorType","FILTER_ICON_EMPTY","FILTER_WITH_CONDITIONS_ICON","RESET_ICON","ALL_OPTION","CSS_BUNDLES","GxIdeTeamDevCommit","_GxIdeTeamDevCommit_componentLocale","set","this","_GxIdeTeamDevCommit_loadDataCalledFirstTime","_GxIdeTeamDevCommit_renderedFirstTime","_GxIdeTeamDevCommit_commitsTabModel","_GxIdeTeamDevCommit_categoriesEl","_GxIdeTeamDevCommit_changeSetEl","_GxIdeTeamDevCommit_commitCommentEl","_GxIdeTeamDevCommit_foldersEl","_GxIdeTeamDevCommit_patternEl","_GxIdeTeamDevCommit_typesEl","_GxIdeTeamDevCommit_chGridIgnoredObjectsEl","_GxIdeTeamDevCommit_chGridPendingCommitsEl","_GxIdeTeamDevCommit_initializeComboBoxModels","foldersChangedHandler","folders","typesChangedHandler","types","changeSetChangedHandler","changeSet","categoriesChangedHandler","categories","_GxIdeTeamDevCommit_commitCallbackHandler","async","comment","__classPrivateFieldGet","length","commentInputHasError","commitingObjects","pendingCommitsCheckedIds","getMarkedRows","commitCallback","_GxIdeTeamDevCommit_evaluateFilterConditions","filterHasConditions","_GxIdeTeamDevCommit_getRecentCommentHandler","getRecentCommentCallback","response","_GxIdeTeamDevCommit_gridOnSelectionChangedCallbackHandler","grid","ev","selectCallback","detail","rowsId","_GxIdeTeamDevCommit_handleColumnSortChanged","e","columnId","sortDirection","aux","pendingCommits","sort","a","b","_GxIdeTeamDevCommit_loadData","loading","filtersData","pattern","folder","type","call","loadCallback","then","pending","ignored","ignoredObjects","_GxIdeTeamDevCommit_updateTabModel","_GxIdeTeamDevCommit_markAllPendingCommitsRows","markAllRows","_GxIdeTeamDevCommit_objectsOnContextMenuCallbackHandler","preventDefault","stopPropagation","selection","selectedRowsId","getSelectedRows","objectsContextMenuCallback","clientX","clientY","_GxIdeTeamDevCommit_pendingCommitsRowMarkingChangedHandler","removeEventListener","addedRowsIds","addedRowsId","removedRowsId","pendingItemCheckedResult","pendingItemsCheckedCallback","itemsChecked","itemsUnchecked","undefined","_GxIdeTeamDevCommit_revertPendingCommitsCheckboxes","_GxIdeTeamDevCommit_togglePendingCommitsCheckboxes","addEventListener","_GxIdeTeamDevCommit_renderTabularGridColumnSet","withCheckboxes","h","class","columnType","richRowSelector","richRowSelectorMode","settingable","sortable","size","config","tabularGrid","colSize","maxContent","columnName","onColumnSortChanged","auto","_GxIdeTeamDevCommit_renderTabularGridCommonCells","object","renderObjectTypeWithIcon","description","formatDate","modifiedOn","module","renderObjectStateWithIcon","localState","lastSynchronized","_GxIdeTeamDevCommit_renderIgnoredObjectsGrid","tabularGridEmpty","_a","rowSelectionMode","ref","el","__classPrivateFieldSet","allowColumnReorder","part","onRowContextMenu","onSelectionChanged","loaderTitle","loader","title","show","obj","rowid","selected","stateIconSrc","stateTitle","emptyIgnoredObjects","isAnimated","_GxIdeTeamDevCommit_renderPendingCommitsGrid","objectsLoader","emptyPendingCommitsObjects","rowId","markRow","itemsToToggle","itemsToCheck","itemsToUncheck","tabs","_GxIdeTeamDevCommit_commentInputHandler","event","_GxIdeTeamDevCommit_toggleFiltersHandler","filtersHidden","_GxIdeTeamDevCommit_onTabActivated","evt","stopImmediatePropagation","newCategoriesOptions","newChangeSetOptions","changeSetOptionsModel","newFolderOptions","folderOptionsModel","newTypesOptions","typeOptionsModel","componentDidLoad","componentDidLoadEvent","emit","focus","componentDidRender","componentDidRenderFirstTime","componentName","componentWillLoad","Locale","getComponentStrings","reload","render","filterIcon","Host","model","htmlFor","header","commentLabel","input","scrollable","placeholder","commentPlaceholder","onInput","filterAriaLabel","onClick","src","reloadAriaLabel","actionElement","blockAlign","inlineAlign","tooltipSettings","delay","commentEmptyError","recentCommentsButton","disabled","inert","hidden","slot","filtersMenu","patternLabel","debounce","inputDebounce","folderLabel","typeLabel","changesetLabel","categoryLabel","categoryOptionsModel","tabListPosition","selectedId","showTabListEnd","overflow","contain","onSelectedItemChange","footer","commitButton"],"sources":["src/components/team-dev/commit/helpers.ts","src/components/team-dev/commit/commit.scss?tag=gx-ide-team-dev-commit&encapsulation=shadow","src/components/team-dev/commit/commit.tsx"],"sourcesContent":["import { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\nimport { ObjectType, GxOption } from \"../../../common/types\";\n\nexport const mapObjectTypeToComboBoxItemModel = (\n objectTypeModel: ObjectType[]\n): ComboBoxModel =>\n objectTypeModel.map(objectType => ({\n value: objectType.id,\n caption: objectType.name,\n startImgSrc: objectType.icon\n }));\n\nexport const mapGxOptionsToComboBoxItemModel = (\n categoryModel: GxOption[]\n): ComboBoxModel =>\n categoryModel.map(category => ({\n value: category.id,\n caption: category.label || category.name || \"\"\n }));\n","@import \"../common/styles.scss\";\n\n:host {\n display: grid;\n block-size: 100%;\n overflow: auto;\n grid-template-rows: max-content 1fr max-content;\n}\n\nsection {\n display: contents;\n}\n\n// header\n.header {\n &__first-row {\n grid-template-columns: 1fr max-content;\n }\n}\n.field-comment {\n flex: 1;\n}\n\n// filter\n.filters-container {\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows var(--mer-timing--fast);\n}\n.filters-container-visible {\n grid-template-rows: 1fr;\n}\n.filters-container > div {\n overflow: hidden;\n}\n.filter {\n grid-template-areas:\n \"field-pattern field-folder field-type\"\n \"field-changeset field-changeset field-category\";\n padding-block-start: var(--mer-spacing--sm);\n}\n.field-pattern {\n grid-area: field-pattern;\n}\n.field-folder {\n grid-area: field-folder;\n}\n.field-type {\n grid-area: field-type;\n}\n.field-changeset {\n grid-area: field-changeset;\n}\n.field-category {\n grid-area: field-category;\n}\n\n.ch-tab-slot {\n inline-size: 100%;\n overflow: auto;\n}\n\n// tab\n.tab {\n // WA / TODO: Mercury should provide an additional class to remove tab border\n border: none !important;\n}\n\n// tabular grid\n.tabular-grid {\n block-size: 100%;\n position: relative;\n overflow: auto;\n}\n.tabular-grid-cell.tabular-grid-cell-description {\n max-inline-size: 600px;\n}\n\ngx-ide-loader {\n position: absolute;\n inline-size: 100%;\n block-size: 100%;\n}\n\nch-tabular-grid-rowset-empty {\n position: relative; // makes this the bounder element for the loader\n}\n\nch-tabular-grid.tabular-grid--empty::part(main) {\n // WA to avoid scrollbar flickering when displaying the empty-state message\n overflow: hidden;\n}\n\n.tooltip {\n position: absolute;\n}\n","// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n Method,\n State,\n Watch\n} from \"@stencil/core\";\n\n// Other Libraries\nimport {\n ChEditCustomEvent,\n ComboBoxModel,\n TabModel,\n TabularGridMarkingChangedEvent,\n TabularGridRowContextMenuEvent,\n TabularGridSelectionChangedEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n\nimport {\n renderObjectStateWithIcon,\n renderObjectTypeWithIcon\n} from \"../common/utilities\";\nimport { ObjectState } from \"../common/types\";\n\n// Custom Imports\nimport { Locale } from \"../../../common/locale\";\nimport { config } from \"../../../common/config\";\nimport {\n GxOption,\n ContextMenuInfo,\n ObjectType,\n ItemsCheckedState,\n ItemsCheckedResult\n} from \"../../../common/types\";\n\nimport { formatDate } from \"../../../common/helpers\";\nimport {\n mapGxOptionsToComboBoxItemModel,\n mapObjectTypeToComboBoxItemModel\n} from \"./helpers\";\n\nconst FILTER_ICON = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"primary\"\n});\n\nconst FILTER_ICON_EMPTY = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"on-surface\"\n});\n\nconst FILTER_WITH_CONDITIONS_ICON = getIconPath({\n category: \"window-tools\",\n name: \"filter-conditions\",\n colorType: \"primary\"\n});\n\nconst RESET_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"reset\",\n colorType: \"primary\"\n});\n\nconst ALL_OPTION = \"All\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/checkbox\",\n \"components/combo-box\",\n \"components/edit\",\n \"components/tab\",\n \"components/icon\",\n \"components/tabular-grid\",\n \"components/tooltip\",\n \"chameleon/scrollbar\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\"\n];\n@Component({\n tag: \"gx-ide-team-dev-commit\",\n styleUrl: \"commit.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/team-dev-commit\"]\n})\nexport class GxIdeTeamDevCommit {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n #loadDataCalledFirstTime = false; // pending commits grid checkboxes, should be checked, after loadData has loaded commits for the first time.\n #renderedFirstTime = false;\n #commitsTabModel: TabModel = [\n { id: \"pending-commits\", name: \"Pending Commits\" },\n { id: \"ignored-objects\", name: \"Ignored Objects\" }\n ];\n\n @Element() el: HTMLGxIdeTeamDevCommitElement;\n\n // filters\n #categoriesEl!: HTMLChComboBoxRenderElement;\n #changeSetEl!: HTMLChComboBoxRenderElement;\n #commitCommentEl!: HTMLChEditElement;\n #foldersEl!: HTMLChComboBoxRenderElement;\n #patternEl!: HTMLChEditElement;\n #typesEl!: HTMLChComboBoxRenderElement;\n // other\n #chGridIgnoredObjectsEl!: HTMLChTabularGridElement;\n #chGridPendingCommitsEl!: HTMLChTabularGridElement;\n\n @State() comment = \"\";\n @State() filterHasConditions = false;\n @State() ignoredObjects: ModifiedObjectData[] = [];\n @State() pendingCommits: ModifiedObjectData[] = [];\n @State() commentInputHasError: boolean = false;\n @State() commitingObjects: boolean = false;\n @State() filtersHidden = true;\n // Combo box models\n @State() folderOptionsModel: ComboBoxModel;\n @State() typeOptionsModel: ComboBoxModel;\n @State() changeSetOptionsModel: ComboBoxModel;\n @State() categoryOptionsModel: ComboBoxModel;\n\n /**\n * To show a loader when the component is loading\n */\n @State() loading: boolean = true;\n\n /**\n * Possible values for Categories filter\n */\n @Prop() readonly categories: GxOption[];\n @Watch(\"categories\")\n categoriesChangedHandler(newCategoriesOptions: GxOption[]) {\n mapGxOptionsToComboBoxItemModel(newCategoriesOptions);\n }\n\n /**\n * Possible values for ChangeSet filter\n */\n @Prop() readonly changeSet: GxOption[];\n @Watch(\"changeSet\")\n changeSetChangedHandler(newChangeSetOptions: GxOption[]) {\n this.changeSetOptionsModel =\n mapGxOptionsToComboBoxItemModel(newChangeSetOptions);\n }\n\n /**\n * Callback invoked when user starts the commit process\n */\n @Prop() readonly commitCallback: CommitCallback;\n\n /**\n * Possible values for Folders filter\n */\n @Prop() readonly folders: GxOption[];\n @Watch(\"folders\")\n foldersChangedHandler(newFolderOptions: GxOption[]) {\n this.folderOptionsModel = mapGxOptionsToComboBoxItemModel(newFolderOptions);\n }\n\n /**\n * Callback invoked when user press Recent Comments button.\n */\n @Prop() readonly getRecentCommentCallback: GetRecentComment;\n\n /**\n * Callback invoked when user wants to reload the grid\n */\n @Prop() readonly loadCallback: LoadCallback;\n\n /**\n * Callback invoked when the user activates the context menu in any grid\n */\n @Prop() readonly objectsContextMenuCallback: ObjectsContextMenuCallback;\n\n /**\n * Callback invoked when user check/uncheck any item from the 'Pending to Commit' grid\n */\n @Prop() readonly pendingItemsCheckedCallback!: PendingItemsCheckedCallback;\n\n /**\n * Callback invoked when the user selects rows from the grid\n */\n @Prop() readonly selectCallback: CommitSelectCallback;\n\n /**\n * Possible values for Type filter\n */\n @Prop() readonly types: ObjectType[];\n @Watch(\"types\")\n typesChangedHandler(newTypesOptions: ObjectType[]) {\n this.typeOptionsModel = mapObjectTypeToComboBoxItemModel(newTypesOptions);\n }\n\n /**\n * Emitted once after the component fully loads and the first render occurs\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\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 async componentDidLoad() {\n await this.#loadData();\n this.#loadDataCalledFirstTime = true;\n this.componentDidLoadEvent.emit(true);\n this.#commitCommentEl.focus();\n }\n\n async componentDidRender() {\n if (!this.#renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this.#componentLocale.componentName\n );\n this.#renderedFirstTime = true;\n }\n\n if (this.#loadDataCalledFirstTime) {\n // call this method only once\n await this.#markAllPendingCommitsRows();\n // attach \"rowMarkingChanged\" after rows have been checked for the first time.\n this.#chGridPendingCommitsEl.addEventListener(\n \"rowMarkingChanged\",\n this.#pendingCommitsRowMarkingChangedHandler\n );\n this.#loadDataCalledFirstTime = false;\n }\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#initializeComboBoxModels();\n }\n\n #initializeComboBoxModels = () => {\n this.foldersChangedHandler(this.folders);\n this.typesChangedHandler(this.types);\n this.changeSetChangedHandler(this.changeSet);\n this.categoriesChangedHandler(this.categories);\n };\n\n /**\n * Method used by the Host to force a data refresh in the grids\n */\n @Method()\n async reload(): Promise<void> {\n this.#loadData();\n }\n\n #commitCallbackHandler = async () => {\n const comment = this.#commitCommentEl.value;\n if (!comment.length) {\n // A comment is required to commit.\n this.commentInputHasError = true;\n return;\n }\n\n this.commitingObjects = true;\n this.commentInputHasError = false;\n const pendingCommitsCheckedIds =\n await this.#chGridPendingCommitsEl.getMarkedRows();\n\n await this.commitCallback(pendingCommitsCheckedIds, comment);\n this.commitingObjects = false;\n };\n\n #evaluateFilterConditions = () => {\n // TODO: This should update\n if (\n this.#patternEl.value !== \"\" ||\n this.#changeSetEl.value !== ALL_OPTION ||\n this.#typesEl.value !== ALL_OPTION ||\n this.#foldersEl.value !== ALL_OPTION ||\n this.#categoriesEl.value !== ALL_OPTION\n ) {\n this.filterHasConditions = true;\n } else {\n this.filterHasConditions = false;\n }\n };\n\n #getRecentCommentHandler = async () => {\n if (this.getRecentCommentCallback) {\n const response = await this.getRecentCommentCallback();\n if (response) {\n this.#commitCommentEl.value = response;\n }\n }\n };\n\n #gridOnSelectionChangedCallbackHandler =\n (grid: CommitSourceType) =>\n async (ev: CustomEvent<TabularGridSelectionChangedEvent>) => {\n if (this.selectCallback) {\n await this.selectCallback(grid, ev.detail.rowsId);\n }\n };\n\n #handleColumnSortChanged = (e: CustomEvent) => {\n const { columnId, sortDirection } = e.detail;\n\n const aux = this.pendingCommits;\n aux.sort((a: any, b: any) => {\n if (a[columnId] < b[columnId]) {\n return sortDirection === \"asc\" ? -1 : 1;\n }\n if (a[columnId] > b[columnId]) {\n return sortDirection === \"asc\" ? 1 : -1;\n }\n return 0;\n });\n\n this.pendingCommits = [...aux];\n };\n\n #loadData = async () => {\n this.loading = true;\n const filtersData: FiltersData = {\n pattern: this.#patternEl.value,\n changeSet: this.#changeSetEl.value,\n folder: this.#foldersEl.value,\n category: this.#categoriesEl.value,\n type: this.#typesEl.value\n };\n\n this.#evaluateFilterConditions();\n\n await this.loadCallback(filtersData).then(async ({ pending, ignored }) => {\n this.pendingCommits = [...pending];\n this.ignoredObjects = [...ignored];\n });\n this.loading = false;\n this.#updateTabModel();\n };\n\n #markAllPendingCommitsRows = async () => {\n await this.#chGridPendingCommitsEl.markAllRows();\n };\n\n #objectsOnContextMenuCallbackHandler =\n (grid: CommitSourceType) =>\n async (ev: CustomEvent<TabularGridRowContextMenuEvent>) => {\n ev.preventDefault();\n ev.stopPropagation();\n let selection: string[] = [];\n if (grid === \"commit\") {\n selection = ev.detail.selectedRowsId;\n } else if (grid === \"ignored\") {\n selection = await this.#chGridIgnoredObjectsEl.getSelectedRows();\n }\n if (this.objectsContextMenuCallback) {\n await this.objectsContextMenuCallback(grid, {\n selection: selection,\n clientX: ev.detail.clientX,\n clientY: ev.detail.clientY\n });\n }\n };\n\n #pendingCommitsRowMarkingChangedHandler = async (\n e: CustomEvent<TabularGridMarkingChangedEvent>\n ): Promise<void> => {\n // remove \"rowMarkingChanged\" until checkboxes have been added/removed on #togglePendingCommitsCheckboxes, to prevent loops.\n this.#chGridPendingCommitsEl.removeEventListener(\n \"rowMarkingChanged\",\n this.#pendingCommitsRowMarkingChangedHandler\n );\n if (this.#chGridPendingCommitsEl) {\n const addedRowsIds = e.detail.addedRowsId;\n const removedRowsId = e.detail.removedRowsId;\n\n const pendingItemCheckedResult = await this.pendingItemsCheckedCallback({\n itemsChecked: addedRowsIds,\n itemsUnchecked: removedRowsId\n });\n\n if (pendingItemCheckedResult === undefined) {\n // undo check/uncheck\n await this.#revertPendingCommitsCheckboxes(addedRowsIds, removedRowsId);\n } else {\n await this.#togglePendingCommitsCheckboxes(pendingItemCheckedResult);\n }\n this.#chGridPendingCommitsEl.addEventListener(\n \"rowMarkingChanged\",\n this.#pendingCommitsRowMarkingChangedHandler\n );\n }\n };\n\n #renderTabularGridColumnSet = (\n withCheckboxes: boolean = false\n ): HTMLChTabularGridColumnsetElement => {\n return (\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n {withCheckboxes && (\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnType=\"rich\"\n richRowSelector\n richRowSelectorMode=\"mark\"\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n )}\n <ch-tabular-grid-column\n columnId=\"name\"\n class=\"tabular-grid-column\"\n sortable\n columnName=\"Name\"\n settingable={false}\n onColumnSortChanged={this.#handleColumnSortChanged}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"type\"\n class=\"tabular-grid-column\"\n sortable\n columnName=\"Type\"\n settingable={false}\n onColumnSortChanged={this.#handleColumnSortChanged}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"description\"\n class=\"tabular-grid-column\"\n columnName=\"Description\"\n settingable={false}\n sortable\n onColumnSortChanged={this.#handleColumnSortChanged}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"modifiedOn\"\n class=\"tabular-grid-column\"\n sortable\n columnName=\"Modified On\"\n settingable={false}\n onColumnSortChanged={this.#handleColumnSortChanged}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"module\"\n class=\"tabular-grid-column\"\n columnName=\"Module\"\n settingable={false}\n sortable\n onColumnSortChanged={this.#handleColumnSortChanged}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"localState\"\n class=\"tabular-grid-column\"\n columnName=\"Local State\"\n settingable={false}\n sortable\n onColumnSortChanged={this.#handleColumnSortChanged}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"lastSynchronized\"\n class=\"tabular-grid-column\"\n columnName=\"Last Synchronized\"\n settingable={false}\n sortable\n onColumnSortChanged={this.#handleColumnSortChanged}\n size={config.tabularGrid.colSize.auto}\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n );\n };\n\n #renderTabularGridCommonCells = (object: ModifiedObjectData) => {\n return [\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {object.name}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {renderObjectTypeWithIcon(object.type)}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell tabular-grid-cell-description\">\n {object.description}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(object.modifiedOn)}`}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {object.module}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {renderObjectStateWithIcon(object.localState)}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(object.lastSynchronized)}`}\n </ch-tabular-grid-cell>\n ];\n };\n\n #renderIgnoredObjectsGrid = (): Element => {\n const tabularGridEmpty =\n this.ignoredObjects?.length === 0 || !this.ignoredObjects;\n return (\n <ch-tabular-grid\n // ignored objects grid render\n class={{\n \"tabular-grid\": true,\n \"tabular-grid--empty\": tabularGridEmpty\n }}\n rowSelectionMode=\"multiple\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.#chGridIgnoredObjectsEl = el)\n }\n allowColumnReorder={false}\n part=\"ch-grid-pending-commits\"\n onRowContextMenu={this.#objectsOnContextMenuCallbackHandler(\"ignored\")}\n onSelectionChanged={this.#gridOnSelectionChangedCallbackHandler(\n \"ignored\"\n )}\n >\n {this.commitingObjects && (\n <gx-ide-loader\n loaderTitle={this.#componentLocale.loader.title}\n description={this.#componentLocale.loader.description}\n show\n ></gx-ide-loader>\n )}\n\n {this.#renderTabularGridColumnSet()}\n {this.ignoredObjects.length > 0 ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.ignoredObjects.map((obj: ModifiedObjectData) => (\n <ch-tabular-grid-row\n rowid={obj.id}\n selected\n class=\"tabular-grid-row\"\n >\n {this.#renderTabularGridCommonCells(obj)}\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 <gx-ide-empty-state\n stateIconSrc={FILTER_ICON_EMPTY}\n stateTitle={this.#componentLocale.emptyIgnoredObjects}\n isAnimated={true}\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n );\n };\n\n #renderPendingCommitsGrid = (): Element => {\n const withCheckboxes = true;\n const tabularGridEmpty =\n this.pendingCommits?.length === 0 || !this.pendingCommits;\n\n if (this.loading) {\n return (\n <div class=\"tabular-grid\">\n <gx-ide-loader\n loaderTitle={this.#componentLocale.objectsLoader.title}\n description={this.#componentLocale.objectsLoader.description}\n show\n ></gx-ide-loader>\n </div>\n );\n }\n return (\n <ch-tabular-grid\n // pending commits grid render\n class={{\n \"tabular-grid\": true,\n \"tabular-grid--empty\": tabularGridEmpty\n }}\n rowSelectionMode=\"multiple\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.#chGridPendingCommitsEl = el)\n }\n allowColumnReorder={false}\n part=\"ch-grid-pending-commits\"\n onRowContextMenu={this.#objectsOnContextMenuCallbackHandler(\"commit\")}\n onSelectionChanged={this.#gridOnSelectionChangedCallbackHandler(\n \"commit\"\n )}\n >\n {this.commitingObjects && (\n <gx-ide-loader\n loaderTitle={this.#componentLocale.loader.title}\n description={this.#componentLocale.loader.description}\n show\n ></gx-ide-loader>\n )}\n\n {this.#renderTabularGridColumnSet(withCheckboxes)}\n\n {this.pendingCommits.length > 0 ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.pendingCommits.map((obj: ModifiedObjectData) => (\n <ch-tabular-grid-row rowid={obj.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell\n cell-type=\"rich\"\n row-selector\n class=\"tabular-grid-cell\"\n ></ch-tabular-grid-cell>\n {this.#renderTabularGridCommonCells(obj)}\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 <gx-ide-empty-state\n stateIconSrc={FILTER_ICON_EMPTY}\n stateTitle={this.#componentLocale.emptyPendingCommitsObjects}\n isAnimated={true}\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n );\n };\n\n #revertPendingCommitsCheckboxes = async (\n addedRowsIds: string[],\n removedRowsId: string[]\n ) => {\n if (this.#chGridPendingCommitsEl) {\n for (const rowId of addedRowsIds) {\n await this.#chGridPendingCommitsEl.markRow(rowId, false);\n }\n for (const rowId of removedRowsId) {\n await this.#chGridPendingCommitsEl.markRow(rowId, true);\n }\n }\n };\n\n #togglePendingCommitsCheckboxes = async (\n itemsToToggle: ItemsCheckedResult\n ) => {\n if (this.#chGridPendingCommitsEl) {\n const itemsToCheck: string[] = itemsToToggle.itemsToCheck;\n const itemsToUncheck: string[] = itemsToToggle.itemsToUncheck;\n // check\n for (const rowId of itemsToCheck) {\n await this.#chGridPendingCommitsEl.markRow(rowId, true);\n }\n // uncheck\n for (const rowId of itemsToUncheck) {\n await this.#chGridPendingCommitsEl.markRow(rowId, false);\n }\n }\n };\n\n #updateTabModel = () => {\n this.#commitsTabModel = [\n {\n id: \"pending-commits\",\n name: `${this.#componentLocale.tabs.pendingCommits} (${\n this.pendingCommits.length\n })`\n },\n {\n id: \"ignored-objects\",\n name: `${this.#componentLocale.tabs.ignoredObjects} (${\n this.ignoredObjects.length\n })`\n }\n ];\n };\n\n #commentInputHandler = async (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n const comment = event.detail as string;\n if (comment.length && this.commentInputHasError) {\n // remove error style and tooltip\n this.commentInputHasError = false;\n }\n };\n\n #toggleFiltersHandler = () => {\n this.filtersHidden = !this.filtersHidden;\n };\n\n #onTabActivated = (evt: CustomEvent) => {\n evt.stopImmediatePropagation();\n };\n\n render() {\n const filterIcon = this.filterHasConditions\n ? FILTER_WITH_CONDITIONS_ICON\n : FILTER_ICON;\n\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"section\">\n <header class=\"header spacing-body\">\n <div class=\"header__first-row field-group\">\n <div class=\"buttons-spacer\">\n <div\n // pattern\n class=\"field field-inline field-comment\"\n >\n <label class=\"label\" htmlFor=\"pattern-form-text\">\n {this.#componentLocale.header.commentLabel}\n </label>\n <ch-edit\n // commit comment\n id=\"comment\"\n class={{\n \"input\": true,\n \"commit-input\": true,\n \"scrollable\": true,\n \"input-error\": this.commentInputHasError\n }}\n placeholder={\n this.#componentLocale.header.commentPlaceholder\n }\n onInput={this.#commentInputHandler}\n value={this.comment}\n ref={(el: HTMLChEditElement) =>\n (this.#commitCommentEl = el as HTMLChEditElement)\n }\n part=\"comment\"\n ></ch-edit>\n </div>\n <button\n id=\"filter-toggle-button\"\n class=\"button-teritary button-icon-only\"\n aria-label={this.#componentLocale.header.filterAriaLabel}\n aria-expanded={this.filtersHidden ? \"false\" : \"true\"}\n aria-controls=\"filters-container\"\n onClick={this.#toggleFiltersHandler}\n title={this.#componentLocale.header.filterAriaLabel}\n >\n <ch-image class=\"icon-md\" src={filterIcon}></ch-image>\n </button>\n\n <button\n class=\"button-teritary button-icon-only\"\n aria-label={this.#componentLocale.header.reloadAriaLabel}\n title={this.#componentLocale.header.reloadAriaLabel}\n onClick={this.#loadData}\n part={this.#componentLocale.header.reloadAriaLabel}\n >\n <ch-image class=\"icon-md\" src={RESET_ICON}></ch-image>\n </button>\n </div>\n {this.commentInputHasError && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={\n this.#commitCommentEl as unknown as HTMLButtonElement\n }\n blockAlign=\"outside-end\"\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.#componentLocale.header.commentEmptyError}\n </ch-tooltip>\n )}\n\n <div class=\"buttons-spacer\">\n <button\n type=\"button\"\n class=\"button-secondary recent-comments-btn\"\n part=\"button button-location\"\n onClick={this.#getRecentCommentHandler}\n aria-label={this.#componentLocale.header.recentCommentsButton}\n disabled={this.commitingObjects}\n >\n {this.#componentLocale.header.recentCommentsButton}\n </button>\n </div>\n </div>\n\n <div\n id=\"filters-container\"\n aria-labelledby=\"filter-toggle-button\"\n class={{\n \"filters-container-visible\": !this.filtersHidden,\n \"filters-container\": true\n }}\n inert={this.filtersHidden}\n hidden={this.filtersHidden}\n >\n <div>\n <div slot=\"filter\" class=\"filter field-group\">\n <div\n // pattern\n class=\"field field-block field-pattern\"\n >\n <label class=\"label\" htmlFor=\"pattern-form-text\">\n {this.#componentLocale.filtersMenu.patternLabel}\n </label>\n <ch-edit\n id=\"pattern-form-text\"\n class=\"input\"\n value=\"\"\n ref={(el: HTMLChEditElement) =>\n (this.#patternEl = el as HTMLChEditElement)\n }\n debounce={config.inputDebounce}\n onInput={this.#loadData}\n part=\"pattern-form-text\"\n ></ch-edit>\n </div>\n\n <div\n // folder\n class=\"field field-block field-folder\"\n >\n <label class=\"label\" htmlFor=\"folder-combo\">\n {this.#componentLocale.filtersMenu.folderLabel}\n </label>\n <ch-combo-box-render\n id=\"folder-combo\"\n class=\"combo-box\"\n value={this.folders[0].id}\n model={this.folderOptionsModel}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#foldersEl = el as HTMLChComboBoxRenderElement)\n }\n onInput={this.#loadData}\n part=\"folder-combo\"\n ></ch-combo-box-render>\n </div>\n\n <div\n // type\n class=\"field field-block field-type\"\n >\n <label class=\"label\" htmlFor=\"type-combo\">\n {this.#componentLocale.filtersMenu.typeLabel}\n </label>\n <ch-combo-box-render\n id=\"type-combo\"\n class=\"combo-box\"\n value={this.types[0].id}\n model={this.typeOptionsModel}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#typesEl = el as HTMLChComboBoxRenderElement)\n }\n onInput={this.#loadData}\n part=\"type-combo\"\n ></ch-combo-box-render>\n </div>\n\n <div\n // changeset\n class=\"field field-block field-changeset\"\n >\n <label class=\"label\" htmlFor=\"changeset-combo\">\n {this.#componentLocale.filtersMenu.changesetLabel}\n </label>\n <ch-combo-box-render\n id=\"changeset-combo\"\n class=\"combo-box\"\n value={this.changeSet[0].id}\n model={this.changeSetOptionsModel}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#changeSetEl = el as HTMLChComboBoxRenderElement)\n }\n onInput={this.#loadData}\n part=\"changeset-combo\"\n ></ch-combo-box-render>\n </div>\n\n <div\n // category\n class=\"field field-block field-category\"\n >\n <label class=\"label\" htmlFor=\"category-combo\">\n {this.#componentLocale.filtersMenu.categoryLabel}\n </label>\n <ch-combo-box-render\n id=\"category-combo\"\n class=\"combo-box\"\n value={this.categories[0].id}\n model={this.categoryOptionsModel}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#categoriesEl = el as HTMLChComboBoxRenderElement)\n }\n onInput={this.#loadData}\n part=\"category-combo\"\n ></ch-combo-box-render>\n </div>\n </div>\n </div>\n </div>\n </header>\n\n <ch-tab-render\n class=\"tab scrollable\"\n tabListPosition=\"block-start\"\n model={this.#commitsTabModel}\n selectedId=\"pending-commits\"\n showTabListEnd\n overflow=\"auto auto\"\n contain=\"size\"\n onSelectedItemChange={this.#onTabActivated}\n >\n <div\n class=\"ch-tab-slot\"\n slot=\"pending-commits\"\n part=\"pending-commits\"\n >\n {this.#renderPendingCommitsGrid()}\n </div>\n <div\n class=\"ch-tab-slot\"\n slot=\"ignored-objects\"\n part=\"ignored-objects\"\n >\n {this.#renderIgnoredObjectsGrid()}\n </div>\n </ch-tab-render>\n\n <footer class=\"control-footer control-footer-with-border spacing-body-inline spacing-body-block-end\">\n <button\n class=\"button-primary\"\n onClick={this.#commitCallbackHandler}\n part=\"commit-button\"\n disabled={this.commitingObjects}\n >\n {this.#componentLocale.footer.commitButton}\n </button>\n </footer>\n </section>\n </Host>\n );\n }\n}\nexport type CommitCallback = (\n selection: string[],\n commitCommentEl: string\n) => Promise<boolean>;\n\nexport type CommitData = {\n pending: ModifiedObjectData[];\n ignored: ModifiedObjectData[];\n};\n\nexport type CommitSelectCallback = (\n grid: CommitSourceType,\n selectionIds: string[]\n) => Promise<void>;\n\nexport type CommitSourceType = \"commit\" | \"ignored\";\n\nexport type FiltersData = {\n pattern: string;\n changeSet: string;\n type: string;\n folder: string;\n category: string;\n};\n\nexport type GetRecentComment = () => Promise<string | undefined>;\n\nexport type ItemCheckedCallback = (\n checkedItemIds: string[]\n) => Promise<ItemsCheckedResult | undefined>;\n\nexport type LoadCallback = (filters: FiltersData) => Promise<CommitData>;\n\nexport type ModifiedObjectData = {\n id: string;\n name: string;\n iconType: string;\n state: ObjectState;\n type: ObjectType;\n description: string;\n modifiedOn: Date;\n module: string;\n localState: ObjectState;\n lastSynchronized: Date;\n user: string;\n};\n\nexport type ObjectsContextMenuCallback = (\n grid: CommitSourceType,\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\n\nexport type PendingItemsCheckedCallback = (\n pendingItemsCheckedState: ItemsCheckedState\n) => Promise<ItemsCheckedResult | undefined>;\n"],"mappings":"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"}