@genexus/genexus-ide-ui 1.1.34 → 1.1.36

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 (334) hide show
  1. package/dist/cjs/{config-140f58fe.js → config-df6ba4e9.js} +2 -2
  2. package/dist/cjs/config-df6ba4e9.js.map +1 -0
  3. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  4. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +1 -1
  5. package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js +1 -1
  6. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js +1 -1
  7. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js +1 -1
  8. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js +1 -1
  9. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +1 -1
  10. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js +1 -1
  11. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +2 -2
  12. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
  13. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +1 -1
  14. package/dist/cjs/gx-ide-curl-inspector.cjs.entry.js +1 -1
  15. package/dist/cjs/gx-ide-data-selector.cjs.entry.js +1 -1
  16. package/dist/cjs/gx-ide-design-import.cjs.entry.js +1 -1
  17. package/dist/cjs/gx-ide-json-import.cjs.entry.js +1 -1
  18. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
  19. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
  20. package/dist/cjs/gx-ide-new-object.cjs.entry.js +1 -1
  21. package/dist/cjs/gx-ide-new-version.cjs.entry.js +1 -1
  22. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
  23. package/dist/cjs/gx-ide-plugin-explorer.cjs.entry.js +1 -1
  24. package/dist/cjs/gx-ide-server-selector.cjs.entry.js +5 -3
  25. package/dist/cjs/gx-ide-server-selector.cjs.entry.js.map +1 -1
  26. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
  27. package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js +19 -30
  28. package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js.map +1 -1
  29. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +641 -301
  30. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
  31. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js +2 -2
  32. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js.map +1 -1
  33. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +1 -1
  34. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +92 -53
  35. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
  36. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +111 -36
  37. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js.map +1 -1
  38. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +501 -233
  39. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
  40. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +1 -1
  41. package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js +1 -1
  42. package/dist/cjs/gx-ide-ww-files.cjs.entry.js +5 -26
  43. package/dist/cjs/gx-ide-ww-files.cjs.entry.js.map +1 -1
  44. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
  45. package/dist/cjs/helpers-8fb178a2.js +30 -0
  46. package/dist/cjs/helpers-8fb178a2.js.map +1 -0
  47. package/dist/cjs/loader.cjs.js +1 -1
  48. package/dist/cjs/{utilities-11683cc0.js → utilities-0e316b39.js} +6 -6
  49. package/dist/cjs/utilities-0e316b39.js.map +1 -0
  50. package/dist/collection/collection-manifest.json +1 -1
  51. package/dist/collection/common/config.js +1 -1
  52. package/dist/collection/common/config.js.map +1 -1
  53. package/dist/collection/components/data-type-selector/gx-ide-assets/data-type-selector/langs/data-type-selector.lang.en.json +1 -1
  54. package/dist/collection/components/plugin-explorer/gx-ide-assets/plugin-explorer/langs/plugin-explorer.lang.en.json +1 -1
  55. package/dist/collection/components/plugin-explorer/gx-ide-assets/plugin-explorer/langs/plugin-explorer.lang.zh.json +1 -1
  56. package/dist/collection/components/start-page/gx-ide-assets/start-page/langs/start-page.lang.en.json +1 -1
  57. package/dist/collection/components/start-page/gx-ide-assets/start-page/langs/start-page.lang.zh.json +1 -1
  58. package/dist/collection/components/team-dev/bring-changes/bring-changes.css +3 -3
  59. package/dist/collection/components/team-dev/bring-changes/bring-changes.js +44 -50
  60. package/dist/collection/components/team-dev/bring-changes/bring-changes.js.map +1 -1
  61. package/dist/collection/components/team-dev/bring-changes/gx-ide-assets/team-dev-bring-changes/langs/team-dev-bring-changes.lang.en.json +1 -1
  62. package/dist/collection/components/team-dev/bring-changes/gx-ide-assets/team-dev-bring-changes/langs/team-dev-bring-changes.lang.zh.json +1 -1
  63. package/dist/collection/components/team-dev/common/utilities.js +5 -5
  64. package/dist/collection/components/team-dev/common/utilities.js.map +1 -1
  65. package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js +1 -1
  66. package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js.map +1 -1
  67. package/dist/collection/components/team-dev/connect-gx-server/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.en.json +1 -1
  68. package/dist/collection/components/team-dev/connect-gx-server/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.ja.json +1 -1
  69. package/dist/collection/components/team-dev/connect-gx-server/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.zh.json +1 -1
  70. package/dist/collection/components/team-dev/history/history.js.map +1 -1
  71. package/dist/collection/components/team-dev/server-selector/server-selector.js +4 -2
  72. package/dist/collection/components/team-dev/server-selector/server-selector.js.map +1 -1
  73. package/dist/collection/components/team-dev/update/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.en.json +49 -28
  74. package/dist/collection/components/team-dev/update/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.ja.json +58 -37
  75. package/dist/collection/components/team-dev/update/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.zh.json +49 -28
  76. package/dist/collection/components/team-dev/update/types.js.map +1 -0
  77. package/dist/collection/components/team-dev/update/update.css +268 -606
  78. package/dist/collection/components/team-dev/update/update.js +566 -411
  79. package/dist/collection/components/team-dev/update/update.js.map +1 -1
  80. package/dist/collection/components/team-dev/update/utilities/actions-combo-box-model.js +2 -0
  81. package/dist/collection/components/team-dev/update/utilities/actions-combo-box-model.js.map +1 -0
  82. package/dist/collection/components/team-dev/update-partial-selection/gx-ide-assets/team-dev-update-partial-selection/langs/team-dev-update-partial-selection.lang.zh.json +11 -11
  83. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.css +16 -590
  84. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js +100 -78
  85. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js.map +1 -1
  86. package/dist/collection/components/team-dev/update-to-revision/gx-ide-assets/team-dev-update-to-revision/langs/team-dev-update-to-revision.lang.zh.json +5 -5
  87. package/dist/collection/components/team-dev/update-to-revision/gx-ide-assets/team-dev-update-to-revision/shortcuts.json +3 -3
  88. package/dist/collection/components/team-dev/update-to-revision/helpers.js +6 -0
  89. package/dist/collection/components/team-dev/update-to-revision/helpers.js.map +1 -0
  90. package/dist/collection/components/team-dev/update-to-revision/update-to-revision.css +11 -596
  91. package/dist/collection/components/team-dev/update-to-revision/update-to-revision.js +133 -56
  92. package/dist/collection/components/team-dev/update-to-revision/update-to-revision.js.map +1 -1
  93. package/dist/collection/components/team-dev/version-control/commit/commit.css +344 -0
  94. package/dist/collection/components/team-dev/version-control/commit/commit.js +801 -0
  95. package/dist/collection/components/team-dev/version-control/commit/commit.js.map +1 -0
  96. package/dist/collection/components/team-dev/version-control/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.en.json +78 -0
  97. package/dist/collection/components/team-dev/version-control/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.ja.json +78 -0
  98. package/dist/collection/components/team-dev/version-control/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.zh.json +78 -0
  99. package/dist/collection/components/team-dev/version-control/commit/utilities/categories-to-combo-box.js +7 -0
  100. package/dist/collection/components/team-dev/version-control/commit/utilities/categories-to-combo-box.js.map +1 -0
  101. package/dist/collection/components/team-dev/version-control/commit/utilities/changeset-to-combo-box.js +11 -0
  102. package/dist/collection/components/team-dev/version-control/commit/utilities/changeset-to-combo-box.js.map +1 -0
  103. package/dist/collection/components/team-dev/version-control/commit/utilities/folders-to-combo-box.js +5 -0
  104. package/dist/collection/components/team-dev/version-control/commit/utilities/folders-to-combo-box.js.map +1 -0
  105. package/dist/collection/components/team-dev/version-control/commit/utilities/types-to-combo-box.js +6 -0
  106. package/dist/collection/components/team-dev/version-control/commit/utilities/types-to-combo-box.js.map +1 -0
  107. package/dist/collection/components/team-dev/version-control/common/clear-grid-selection.js +37 -0
  108. package/dist/collection/components/team-dev/version-control/common/clear-grid-selection.js.map +1 -0
  109. package/dist/collection/components/team-dev/version-control/common/constants.js +70 -0
  110. package/dist/collection/components/team-dev/version-control/common/constants.js.map +1 -0
  111. package/dist/collection/components/team-dev/version-control/common/header-renders.js +12 -0
  112. package/dist/collection/components/team-dev/version-control/common/header-renders.js.map +1 -0
  113. package/dist/collection/components/team-dev/version-control/common/object-type-to-combo-box.js +6 -0
  114. package/dist/collection/components/team-dev/version-control/common/object-type-to-combo-box.js.map +1 -0
  115. package/dist/collection/components/team-dev/version-control/common/tabular-grid-render.js +112 -0
  116. package/dist/collection/components/team-dev/version-control/common/tabular-grid-render.js.map +1 -0
  117. package/dist/collection/components/team-dev/version-control/common/types.js +2 -0
  118. package/dist/collection/components/team-dev/version-control/common/types.js.map +1 -0
  119. package/dist/components/config.js +1 -1
  120. package/dist/components/config.js.map +1 -1
  121. package/dist/components/gx-ide-connect-gx-server.js +1 -1
  122. package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
  123. package/dist/components/gx-ide-server-selector.js +4 -2
  124. package/dist/components/gx-ide-server-selector.js.map +1 -1
  125. package/dist/components/gx-ide-team-dev-bring-changes.js +20 -32
  126. package/dist/components/gx-ide-team-dev-bring-changes.js.map +1 -1
  127. package/dist/components/gx-ide-team-dev-commit.js +678 -321
  128. package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
  129. package/dist/components/gx-ide-team-dev-history.js.map +1 -1
  130. package/dist/components/gx-ide-team-dev-update-partial-selection.js +93 -67
  131. package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
  132. package/dist/components/gx-ide-team-dev-update-to-revision.js +115 -51
  133. package/dist/components/gx-ide-team-dev-update-to-revision.js.map +1 -1
  134. package/dist/components/gx-ide-team-dev-update.js +532 -266
  135. package/dist/components/gx-ide-team-dev-update.js.map +1 -1
  136. package/dist/components/gx-ide-ww-files.js +2 -23
  137. package/dist/components/gx-ide-ww-files.js.map +1 -1
  138. package/dist/components/helpers2.js +27 -0
  139. package/dist/components/helpers2.js.map +1 -0
  140. package/dist/components/utilities.js +5 -5
  141. package/dist/components/utilities.js.map +1 -1
  142. package/dist/esm/{config-73a57a22.js → config-9eaeb14b.js} +2 -2
  143. package/dist/esm/config-9eaeb14b.js.map +1 -0
  144. package/dist/esm/genexus-ide-ui.js +1 -1
  145. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +1 -1
  146. package/dist/esm/gx-ide-bpm-assign-roles.entry.js +1 -1
  147. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +1 -1
  148. package/dist/esm/gx-ide-bpm-import-files.entry.js +1 -1
  149. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +1 -1
  150. package/dist/esm/gx-ide-bpm-objects-selector.entry.js +1 -1
  151. package/dist/esm/gx-ide-bpm-timer-duration.entry.js +1 -1
  152. package/dist/esm/gx-ide-connect-gx-server.entry.js +2 -2
  153. package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
  154. package/dist/esm/gx-ide-create-kb-from-server.entry.js +1 -1
  155. package/dist/esm/gx-ide-curl-inspector.entry.js +1 -1
  156. package/dist/esm/gx-ide-data-selector.entry.js +1 -1
  157. package/dist/esm/gx-ide-design-import.entry.js +1 -1
  158. package/dist/esm/gx-ide-json-import.entry.js +1 -1
  159. package/dist/esm/gx-ide-new-environment.entry.js +1 -1
  160. package/dist/esm/gx-ide-new-kb.entry.js +1 -1
  161. package/dist/esm/gx-ide-new-object.entry.js +1 -1
  162. package/dist/esm/gx-ide-new-version.entry.js +1 -1
  163. package/dist/esm/gx-ide-object-selector.entry.js +1 -1
  164. package/dist/esm/gx-ide-plugin-explorer.entry.js +1 -1
  165. package/dist/esm/gx-ide-server-selector.entry.js +5 -3
  166. package/dist/esm/gx-ide-server-selector.entry.js.map +1 -1
  167. package/dist/esm/gx-ide-share-kb.entry.js +1 -1
  168. package/dist/esm/gx-ide-team-dev-bring-changes.entry.js +19 -30
  169. package/dist/esm/gx-ide-team-dev-bring-changes.entry.js.map +1 -1
  170. package/dist/esm/gx-ide-team-dev-commit.entry.js +642 -302
  171. package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
  172. package/dist/esm/gx-ide-team-dev-history.entry.js +2 -2
  173. package/dist/esm/gx-ide-team-dev-history.entry.js.map +1 -1
  174. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +1 -1
  175. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +92 -53
  176. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
  177. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +111 -36
  178. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js.map +1 -1
  179. package/dist/esm/gx-ide-team-dev-update.entry.js +502 -234
  180. package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
  181. package/dist/esm/gx-ide-wf-settings.entry.js +1 -1
  182. package/dist/esm/gx-ide-ww-attributes.entry.js +1 -1
  183. package/dist/esm/gx-ide-ww-files.entry.js +3 -24
  184. package/dist/esm/gx-ide-ww-files.entry.js.map +1 -1
  185. package/dist/esm/gx-ide-ww-images.entry.js +1 -1
  186. package/dist/esm/helpers-4d080d9f.js +27 -0
  187. package/dist/esm/helpers-4d080d9f.js.map +1 -0
  188. package/dist/esm/loader.js +1 -1
  189. package/dist/esm/{utilities-482e01e6.js → utilities-6624d90e.js} +6 -6
  190. package/dist/esm/utilities-6624d90e.js.map +1 -0
  191. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  192. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  193. package/dist/genexus-ide-ui/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.en.json +1 -1
  194. package/dist/genexus-ide-ui/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.ja.json +1 -1
  195. package/dist/genexus-ide-ui/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.zh.json +1 -1
  196. package/dist/genexus-ide-ui/gx-ide-assets/data-type-selector/langs/data-type-selector.lang.en.json +1 -1
  197. package/dist/genexus-ide-ui/gx-ide-assets/plugin-explorer/langs/plugin-explorer.lang.en.json +1 -1
  198. package/dist/genexus-ide-ui/gx-ide-assets/plugin-explorer/langs/plugin-explorer.lang.zh.json +1 -1
  199. package/dist/genexus-ide-ui/gx-ide-assets/start-page/langs/start-page.lang.en.json +1 -1
  200. package/dist/genexus-ide-ui/gx-ide-assets/start-page/langs/start-page.lang.zh.json +1 -1
  201. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-bring-changes/langs/team-dev-bring-changes.lang.en.json +1 -1
  202. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-bring-changes/langs/team-dev-bring-changes.lang.zh.json +1 -1
  203. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.en.json +68 -29
  204. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.ja.json +69 -30
  205. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.zh.json +68 -29
  206. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.en.json +49 -28
  207. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.ja.json +58 -37
  208. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.zh.json +49 -28
  209. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-update-partial-selection/langs/team-dev-update-partial-selection.lang.zh.json +11 -11
  210. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-update-to-revision/langs/team-dev-update-to-revision.lang.zh.json +5 -5
  211. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-update-to-revision/shortcuts.json +3 -3
  212. package/dist/genexus-ide-ui/p-08d90282.entry.js +178 -0
  213. package/dist/genexus-ide-ui/p-08d90282.entry.js.map +1 -0
  214. package/dist/genexus-ide-ui/{p-dc1a9bd5.entry.js → p-09a634fc.entry.js} +3 -3
  215. package/dist/genexus-ide-ui/p-09a634fc.entry.js.map +1 -0
  216. package/dist/genexus-ide-ui/{p-8c125495.entry.js → p-0ae0616f.entry.js} +2 -2
  217. package/dist/genexus-ide-ui/{p-00e51225.entry.js → p-1056dfe7.entry.js} +2 -2
  218. package/dist/genexus-ide-ui/{p-bf176329.entry.js → p-12b563fe.entry.js} +2 -2
  219. package/dist/genexus-ide-ui/{p-54946b5e.entry.js → p-159164d6.entry.js} +2 -2
  220. package/dist/genexus-ide-ui/{p-6945a7ad.entry.js → p-16a88fc3.entry.js} +6 -6
  221. package/dist/genexus-ide-ui/{p-2c6ab8f4.entry.js → p-1d044bf5.entry.js} +2 -2
  222. package/dist/genexus-ide-ui/{p-e1d947d7.entry.js → p-2ce60f4c.entry.js} +2 -2
  223. package/dist/genexus-ide-ui/p-34447b77.entry.js +603 -0
  224. package/dist/genexus-ide-ui/p-34447b77.entry.js.map +1 -0
  225. package/dist/genexus-ide-ui/{p-38f135a5.entry.js → p-3b955964.entry.js} +2 -2
  226. package/dist/genexus-ide-ui/{p-4da77239.entry.js → p-3dc5d62e.entry.js} +2 -2
  227. package/dist/genexus-ide-ui/p-42f37527.entry.js +732 -0
  228. package/dist/genexus-ide-ui/p-42f37527.entry.js.map +1 -0
  229. package/dist/genexus-ide-ui/{p-56308ae7.entry.js → p-443fc479.entry.js} +2 -2
  230. package/dist/genexus-ide-ui/{p-68ff4ac9.entry.js → p-4ef96726.entry.js} +2 -2
  231. package/dist/genexus-ide-ui/{p-a5b30dc7.entry.js → p-585fac4a.entry.js} +3 -3
  232. package/dist/genexus-ide-ui/p-585fac4a.entry.js.map +1 -0
  233. package/dist/genexus-ide-ui/{p-e06cfa27.entry.js → p-59908901.entry.js} +2 -2
  234. package/dist/genexus-ide-ui/{p-57b8dd3d.entry.js → p-5a328be1.entry.js} +2 -2
  235. package/dist/genexus-ide-ui/{p-3817c664.entry.js → p-646ddf49.entry.js} +2 -2
  236. package/dist/genexus-ide-ui/p-723d25ae.entry.js +912 -0
  237. package/dist/genexus-ide-ui/p-723d25ae.entry.js.map +1 -0
  238. package/dist/genexus-ide-ui/{p-3d7ed559.entry.js → p-730f0cd3.entry.js} +2 -2
  239. package/dist/genexus-ide-ui/{p-4c37ff28.entry.js → p-7836028c.entry.js} +2 -2
  240. package/dist/genexus-ide-ui/{p-f94cb936.entry.js → p-7adb9d1f.entry.js} +2 -2
  241. package/dist/genexus-ide-ui/p-7f091892.entry.js +222 -0
  242. package/dist/genexus-ide-ui/p-7f091892.entry.js.map +1 -0
  243. package/dist/genexus-ide-ui/{p-44e5e972.js → p-9a03ac9f.js} +2 -2
  244. package/dist/genexus-ide-ui/{p-44e5e972.js.map → p-9a03ac9f.js.map} +1 -1
  245. package/dist/genexus-ide-ui/{p-9b1550be.entry.js → p-9ad85231.entry.js} +2 -2
  246. package/dist/genexus-ide-ui/{p-212ca306.entry.js → p-9b8a8487.entry.js} +252 -273
  247. package/dist/genexus-ide-ui/p-9b8a8487.entry.js.map +1 -0
  248. package/dist/genexus-ide-ui/{p-2ee77587.js → p-a24571ca.js} +6 -6
  249. package/dist/genexus-ide-ui/p-a24571ca.js.map +1 -0
  250. package/dist/genexus-ide-ui/{p-bb0cdfe6.entry.js → p-b5d8589f.entry.js} +2 -2
  251. package/dist/genexus-ide-ui/{p-7fe4387b.entry.js → p-be84e15b.entry.js} +2 -2
  252. package/dist/genexus-ide-ui/{p-923744e7.entry.js → p-bee71b20.entry.js} +25 -23
  253. package/dist/genexus-ide-ui/p-bee71b20.entry.js.map +1 -0
  254. package/dist/genexus-ide-ui/{p-4dd3af73.entry.js → p-d01bbc7a.entry.js} +2 -2
  255. package/dist/genexus-ide-ui/{p-833ae3bf.entry.js → p-da7df3dc.entry.js} +2 -2
  256. package/dist/genexus-ide-ui/{p-9d1316d4.entry.js → p-e7738191.entry.js} +2 -2
  257. package/dist/genexus-ide-ui/p-edcd0022.js +27 -0
  258. package/dist/genexus-ide-ui/p-edcd0022.js.map +1 -0
  259. package/dist/types/components/team-dev/bring-changes/bring-changes.d.ts +6 -9
  260. package/dist/types/components/team-dev/common/utilities.d.ts +1 -1
  261. package/dist/types/components/team-dev/history/history.d.ts +1 -1
  262. package/dist/types/components/team-dev/update/types.d.ts +1 -0
  263. package/dist/types/components/team-dev/update/update.d.ts +98 -110
  264. package/dist/types/components/team-dev/update/utilities/actions-combo-box-model.d.ts +0 -0
  265. package/dist/types/components/team-dev/update-partial-selection/update-partial-selection.d.ts +8 -25
  266. package/dist/types/components/team-dev/update-to-revision/helpers.d.ts +1 -0
  267. package/dist/types/components/team-dev/update-to-revision/update-to-revision.d.ts +8 -25
  268. package/dist/types/components/team-dev/version-control/commit/commit.d.ts +192 -0
  269. package/dist/types/components/team-dev/version-control/commit/utilities/categories-to-combo-box.d.ts +3 -0
  270. package/dist/types/components/team-dev/version-control/commit/utilities/changeset-to-combo-box.d.ts +3 -0
  271. package/dist/types/components/team-dev/version-control/commit/utilities/folders-to-combo-box.d.ts +3 -0
  272. package/dist/types/components/team-dev/version-control/commit/utilities/types-to-combo-box.d.ts +3 -0
  273. package/dist/types/components/team-dev/version-control/common/clear-grid-selection.d.ts +11 -0
  274. package/dist/types/components/team-dev/version-control/common/constants.d.ts +24 -0
  275. package/dist/types/components/team-dev/version-control/common/header-renders.d.ts +5 -0
  276. package/dist/types/components/team-dev/{commit/helpers.d.ts → version-control/common/object-type-to-combo-box.d.ts} +1 -2
  277. package/dist/types/components/team-dev/version-control/common/tabular-grid-render.d.ts +8 -0
  278. package/dist/types/components/team-dev/version-control/common/types.d.ts +52 -0
  279. package/dist/types/components.d.ts +113 -205
  280. package/package.json +1 -1
  281. package/dist/cjs/config-140f58fe.js.map +0 -1
  282. package/dist/cjs/utilities-11683cc0.js.map +0 -1
  283. package/dist/collection/components/team-dev/commit/commit.css +0 -100
  284. package/dist/collection/components/team-dev/commit/commit.js +0 -708
  285. package/dist/collection/components/team-dev/commit/commit.js.map +0 -1
  286. package/dist/collection/components/team-dev/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.en.json +0 -39
  287. package/dist/collection/components/team-dev/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.ja.json +0 -39
  288. package/dist/collection/components/team-dev/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.zh.json +0 -39
  289. package/dist/collection/components/team-dev/commit/helpers.js +0 -10
  290. package/dist/collection/components/team-dev/commit/helpers.js.map +0 -1
  291. package/dist/collection/components/team-dev/common/types.js.map +0 -1
  292. package/dist/esm/config-73a57a22.js.map +0 -1
  293. package/dist/esm/utilities-482e01e6.js.map +0 -1
  294. package/dist/genexus-ide-ui/p-0391a478.entry.js +0 -119
  295. package/dist/genexus-ide-ui/p-0391a478.entry.js.map +0 -1
  296. package/dist/genexus-ide-ui/p-212ca306.entry.js.map +0 -1
  297. package/dist/genexus-ide-ui/p-2ee77587.js.map +0 -1
  298. package/dist/genexus-ide-ui/p-69da0cd9.entry.js +0 -201
  299. package/dist/genexus-ide-ui/p-69da0cd9.entry.js.map +0 -1
  300. package/dist/genexus-ide-ui/p-8c1ee4d9.entry.js +0 -643
  301. package/dist/genexus-ide-ui/p-8c1ee4d9.entry.js.map +0 -1
  302. package/dist/genexus-ide-ui/p-923744e7.entry.js.map +0 -1
  303. package/dist/genexus-ide-ui/p-952d84f8.entry.js +0 -683
  304. package/dist/genexus-ide-ui/p-952d84f8.entry.js.map +0 -1
  305. package/dist/genexus-ide-ui/p-a5b30dc7.entry.js.map +0 -1
  306. package/dist/genexus-ide-ui/p-b2854730.entry.js +0 -641
  307. package/dist/genexus-ide-ui/p-b2854730.entry.js.map +0 -1
  308. package/dist/genexus-ide-ui/p-dc1a9bd5.entry.js.map +0 -1
  309. package/dist/types/components/team-dev/commit/commit.d.ts +0 -115
  310. package/dist/types/components/team-dev/common/types.d.ts +0 -1
  311. /package/dist/collection/components/team-dev/{common → update}/types.js +0 -0
  312. /package/dist/genexus-ide-ui/{p-8c125495.entry.js.map → p-0ae0616f.entry.js.map} +0 -0
  313. /package/dist/genexus-ide-ui/{p-00e51225.entry.js.map → p-1056dfe7.entry.js.map} +0 -0
  314. /package/dist/genexus-ide-ui/{p-bf176329.entry.js.map → p-12b563fe.entry.js.map} +0 -0
  315. /package/dist/genexus-ide-ui/{p-54946b5e.entry.js.map → p-159164d6.entry.js.map} +0 -0
  316. /package/dist/genexus-ide-ui/{p-6945a7ad.entry.js.map → p-16a88fc3.entry.js.map} +0 -0
  317. /package/dist/genexus-ide-ui/{p-2c6ab8f4.entry.js.map → p-1d044bf5.entry.js.map} +0 -0
  318. /package/dist/genexus-ide-ui/{p-e1d947d7.entry.js.map → p-2ce60f4c.entry.js.map} +0 -0
  319. /package/dist/genexus-ide-ui/{p-38f135a5.entry.js.map → p-3b955964.entry.js.map} +0 -0
  320. /package/dist/genexus-ide-ui/{p-4da77239.entry.js.map → p-3dc5d62e.entry.js.map} +0 -0
  321. /package/dist/genexus-ide-ui/{p-56308ae7.entry.js.map → p-443fc479.entry.js.map} +0 -0
  322. /package/dist/genexus-ide-ui/{p-68ff4ac9.entry.js.map → p-4ef96726.entry.js.map} +0 -0
  323. /package/dist/genexus-ide-ui/{p-e06cfa27.entry.js.map → p-59908901.entry.js.map} +0 -0
  324. /package/dist/genexus-ide-ui/{p-57b8dd3d.entry.js.map → p-5a328be1.entry.js.map} +0 -0
  325. /package/dist/genexus-ide-ui/{p-3817c664.entry.js.map → p-646ddf49.entry.js.map} +0 -0
  326. /package/dist/genexus-ide-ui/{p-3d7ed559.entry.js.map → p-730f0cd3.entry.js.map} +0 -0
  327. /package/dist/genexus-ide-ui/{p-4c37ff28.entry.js.map → p-7836028c.entry.js.map} +0 -0
  328. /package/dist/genexus-ide-ui/{p-f94cb936.entry.js.map → p-7adb9d1f.entry.js.map} +0 -0
  329. /package/dist/genexus-ide-ui/{p-9b1550be.entry.js.map → p-9ad85231.entry.js.map} +0 -0
  330. /package/dist/genexus-ide-ui/{p-bb0cdfe6.entry.js.map → p-b5d8589f.entry.js.map} +0 -0
  331. /package/dist/genexus-ide-ui/{p-7fe4387b.entry.js.map → p-be84e15b.entry.js.map} +0 -0
  332. /package/dist/genexus-ide-ui/{p-4dd3af73.entry.js.map → p-d01bbc7a.entry.js.map} +0 -0
  333. /package/dist/genexus-ide-ui/{p-833ae3bf.entry.js.map → p-da7df3dc.entry.js.map} +0 -0
  334. /package/dist/genexus-ide-ui/{p-9d1316d4.entry.js.map → p-e7738191.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["wwFilesCss","CSS_BUNDLES","CLEAR_ICON","getIconPath","category","name","colorType","FILTER_ICON","INFO_ICON","ACCORDION_FILTER_ID","FILTER_AFTER_DATE_TIME","FILTER_AFTER_LAST_BUILD","FILTER_AFTER_IMPORT","CHECKBOX_CHECKED_VALUE","CHECKBOX_UNCHECKED_VALUE","GxIdeWWFiles","_GxIdeWWFiles_componentLocale","set","this","_GxIdeWWFiles_ACCORDION_MODEL","_GxIdeWWFiles_nameValue","_GxIdeWWFiles_moduleValue","_GxIdeWWFiles_searchContentsValue","_GxIdeWWFiles_categoryValue","_GxIdeWWFiles_allDescendants","_GxIdeWWFiles_userValue","_GxIdeWWFiles_selectedObjectsIds","_GxIdeWWFiles_chGridEl","_GxIdeWWFiles_filterModuleEl","_GxIdeWWFiles_setFilterDefaultValues","__classPrivateFieldSet","Object","assign","defaultModule","defaultCategory","categoriesComboBoxModel","length","value","afterValue","filterAfterComboBoxModel","dateTimeValue","undefined","_GxIdeWWFiles_allDescendantsCheckboxHandler","event","detail","__classPrivateFieldGet","_GxIdeWWFiles_getObjects","call","_GxIdeWWFiles_handleSelectionChanged","ev","rowsId","selectionChangeCallback","_GxIdeWWFiles_handleRowDoubleClicked","_GxIdeWWFiles_openSelectionCallbackHandler","_GxIdeWWFiles_handleRowContextMenu","preventDefault","stopPropagation","contextMenuCallback","selection","selectedRowsId","clientX","clientY","_GxIdeWWFiles_attachGridListeners","addEventListener","_GxIdeWWFiles_categoryInputHandler","async","_GxIdeWWFiles_clearDateTimeValue","_GxIdeWWFiles_dateTimeInputHandler","_GxIdeWWFiles_deleteSelectionCallbackHandler","deleteSelectionCallback","_GxIdeWWFiles_deselectAll","selectAllRows","_GxIdeWWFiles_evaluateModifiedDates","objectModifiedDate","filterSelectedModifiedDate","filterSelectedModifiedDateAsDate","Date","h","class","_GxIdeWWFiles_formatDate","_GxIdeWWFiles_filterAfterTypeCallbackHandler","date","formatDate","_GxIdeWWFiles_setLoadingState","parentId","id","filtersValues","searchContents","parent","allDescendants","modifiedAfter","showModified","modifiedBy","modifiedDate","loadCallback","then","items","objects","isLoading","_GxIdeWWFiles_renderHeader","htmlFor","filter","onInput","_GxIdeWWFiles_nameInputHandler","part","debounce","config","inputDebounce","disabled","moduleFolder","labelPosition","defaultValue","selectEntityCallback","selectModuleCallback","ref","el","onValueChanged","_GxIdeWWFiles_moduleValueChangedHandler","model","slot","showSearchContents","content","_GxIdeWWFiles_searchContentsInputHandler","categories","caption","checkedValue","unCheckedValue","modified","_GxIdeWWFiles_showModifiedCheckboxHandler","after","user","_GxIdeWWFiles_userInputHandler","hide","dateTime","src","actionElement","blockAlign","inlineAlign","delay","tooltipSettings","dateTimeTooltip","type","onClick","_GxIdeWWFiles_renderObjects","gridIsEmpty","loading","empty","rowSelectionMode","columnName","columnNameHidden","settingable","size","tabularGrid","colSize","maxContent","tableHead","module","gridColumnsVisibility","description","auto","lastUser","importDate","lastBuildDate","_a","map","object","rowid","icon","hiChar","toLowerCase","loaderTitle","loader","title","show","isAnimated","stateIconSrc","stateTitle","emptyState","_GxIdeWWFiles_newFileCallbackHandler","newFileCallback","openSelectionCallback","_GxIdeWWFiles_selectAll","dateTimeValueChanged","categoriesChanged","newCategories","mapOptionsToComboBoxItemModel","componentWillLoad","Locale","getComponentStrings","accordionCaption","expanded","componentDidLoad","disconnectedCallback","removeEventListener","keyDownHandler","eventInfo","document","activeElement","key","reload","error","console","fallbackError","render","Host","objCount","matching","footer","btnSelectAll","btnNew"],"sources":["src/components/ww-files/ww-files.scss?tag=gx-ide-ww-files&encapsulation=shadow","src/components/ww-files/ww-files.tsx"],"sourcesContent":["@import \"../../global/gx-ide-mixins.scss\";\n@import \"../../../node_modules/@genexus/mercury/dist/assets/scss/helpers.scss\";\n\n:host {\n container-type: inline-size;\n display: grid;\n block-size: 100%;\n overflow: auto;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.section {\n display: contents;\n}\n\n// - - - - - - - - - - - -\n// Header\n// - - - - - - - - - - - -\n\n.header {\n grid-template-areas:\n \"name module-folder\"\n \"advanced-filter advanced-filter\";\n grid-template-columns: 1fr 1fr;\n grid-auto-rows: max-content max-content;\n}\n.name {\n grid-area: name;\n}\n.module-folder {\n grid-area: module-folder;\n}\n.advanced-filter {\n grid-area: advanced-filter;\n}\n\n// Advanced Filter\n.advanced-filter {\n &__container {\n display: grid;\n grid-auto-rows: max-content;\n }\n &__first-row {\n grid-template-columns: 1fr 1fr;\n }\n &__second-row {\n grid-template-columns: 1fr 1fr 1fr;\n }\n .all-descendants__modified {\n display: flex;\n flex-direction: row;\n align-items: center;\n block-size: 32px;\n gap: 16px;\n align-self: self-end;\n }\n}\n// date/time\n.field-date {\n grid-template-areas:\n \"label-date-time label-date-time\"\n \"input-date-time icon-clear-date-time\";\n grid-template-columns: 1fr max-content;\n column-gap: var(--mer-spacing--2xs);\n}\n.label-date-time {\n // WA: There is no official way to use an icon (ch-image) within a label\n display: flex;\n align-items: center;\n gap: 6px;\n .icon-md {\n // WA: Icon looks so small that it is not recognizable\n --mer-icon__box--md: 16.8px;\n }\n grid-area: label-date-time;\n}\n.input-date-time {\n block-size: 31.98px; // WA: ch-edit of type \"date\" block-size is a little bit larger than regular ch-edit block-size. It should compute to 31.98px at the time of writting.\n grid-area: input-date-time;\n}\n.icon-clear-date-time {\n grid-area: icon-clear-date-time;\n}\n\n// - - - - - - - - - - - -\n// Grid\n// - - - - - - - - - - - -\n\n.tabular-grid {\n overflow: auto;\n inline-size: 100%;\n border-inline-end: var(--section-common-border);\n}\n.tabular-grid.empty::part(main),\n.tabular-grid.loading::part(main) {\n // WA to avoid scrollbar flickering when displaying the empty-state message\n overflow: hidden;\n}\nch-tabular-grid-rowset-empty {\n position: relative;\n}\n.main__files-container {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: var(--mer-spacing--xs);\n position: relative;\n z-index: 1;\n}\n\n@include hiChar;\n\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".tabular-grid\",\n $tabular-grid-cell-node-type: \"text\",\n $tabular-grid-cell-apply-ellipsis: true,\n $tabular-grid-affected-columns-nth-list: (\n 4\n )\n);\n.tabular-grid-cell-description {\n min-inline-size: max-content !important; // TODO: See how to remove the !important\n}\n\n@include hiChar();\n\n// - - - - - - - - - - - -\n// Responsive\n// - - - - - - - - - - - -\n\n// @container (max-width: 992px) {\n// .main__files-container {\n// grid-template-columns: repeat(3, 1fr);\n// }\n// }\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n Method,\n Listen,\n Watch\n} from \"@stencil/core\";\n\nimport {\n ChCheckboxCustomEvent,\n TabularGridRowContextMenuEvent\n} from \"@genexus/chameleon-controls-library\";\n\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../common/locale\";\nimport { GxOption } from \"../../common/types\";\nimport { EntityData, ContextMenuInfo } from \"../../common/types\";\nimport { config } from \"../../common/config\";\nimport { mapOptionsToComboBoxItemModel, hiChar } from \"./helpers\";\nimport {\n AccordionModel,\n ComboBoxModel\n} from \"@genexus/chameleon-controls-library\";\nimport { formatDate } from \"../../common/helpers\";\nimport { GxIdeEntitySelectorCustomEvent } from \"../..\";\n\ninterface TabularGridWithSelection extends HTMLChTabularGridElement {\n selectAllRows: (select?: boolean) => Promise<void>;\n}\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/checkbox\",\n \"components/combo-box\",\n \"components/accordion\",\n \"components/edit\",\n \"components/icon\",\n \"components/tooltip\",\n \"components/tabular-grid\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\"\n];\n\nconst CLEAR_ICON = getIconPath({\n category: \"system\",\n name: \"close\",\n colorType: \"neutral\"\n});\nconst FILTER_ICON = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"on-elevation\"\n});\nconst INFO_ICON = getIconPath({\n category: \"system\",\n name: \"information\",\n colorType: \"on-elevation\"\n});\n\nconst ACCORDION_FILTER_ID = \"advanced-filter\";\nconst FILTER_AFTER_DATE_TIME = \"afterDateTime\";\nconst FILTER_AFTER_LAST_BUILD = \"afterLastBuild\";\nconst FILTER_AFTER_IMPORT = \"afterImport\";\n\nconst CHECKBOX_CHECKED_VALUE = \"checked\";\nconst CHECKBOX_UNCHECKED_VALUE = \"unchecked\";\n\n@Component({\n tag: \"gx-ide-ww-files\",\n styleUrl: \"ww-files.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/ww-files\"]\n})\nexport class GxIdeWWFiles {\n #componentLocale: any;\n #ACCORDION_MODEL: AccordionModel = [];\n\n // Filter Values\n #nameValue: string;\n #moduleValue: EntityData;\n // Advanced Filter Values\n #searchContentsValue: string;\n #categoryValue: string;\n #allDescendants: CheckboxState;\n #userValue: string;\n // Other\n #selectedObjectsIds: string[] = [];\n\n @Element() el: HTMLGxIdeWwFilesElement;\n #chGridEl!: HTMLChTabularGridElement;\n #filterModuleEl!: HTMLGxIdeEntitySelectorElement;\n\n /**\n * The \"After\" control value. Controls the visibility of the \"Date/Time\" control.\n */\n @State() afterValue: string;\n\n /**\n * The \"Category\" options as combo box model\n */\n @State() categoriesComboBoxModel: ComboBoxModel = [];\n\n /**\n * Value of the Date/Time control\n */\n @State() dateTimeValue: string;\n @Watch(\"dateTimeValue\")\n dateTimeValueChanged() {\n this.#getObjects();\n }\n\n /**\n * A loader that is shown when the filter changes and the server has to retrieve new data.\n */\n @State() isLoading: boolean = true;\n\n /**\n * The options for the \"After\" combo-box\n */\n @State() filterAfterComboBoxModel: ComboBoxModel;\n\n /**\n * For show or hide the filters relative to modifiers\n */\n @State() showModified: CheckboxState = CHECKBOX_CHECKED_VALUE;\n\n /**\n * The files rendered in the table\n */\n @State() objects: ObjectData[] = [];\n\n /**\n * The categories render in the filter category selector\n */\n @Prop() readonly categories!: GxOption[];\n @Watch(\"categories\")\n categoriesChanged(newCategories: GxOption[]) {\n this.categoriesComboBoxModel = mapOptionsToComboBoxItemModel(newCategories);\n }\n\n /**\n * This is a function provided by the developer for show the context menu of the selected files.\n */\n @Prop() readonly contextMenuCallback!: ContextMenuCallback;\n\n /**\n * The default value for the category filter\n */\n @Prop() readonly defaultCategory: string;\n\n /**\n * The default value for the module/folder filter\n */\n @Prop() readonly defaultModule: EntityData;\n\n /**\n * This is a function provided by the developer for delete the selected files.\n */\n @Prop() readonly deleteSelectionCallback!: DeleteSelectionCallback;\n\n /**\n * Controls the visibility of the tabular grid cell columns, and respective cells.\n */\n @Prop() readonly gridColumnsVisibility: GridColumnsVisibility = {\n description: true,\n importDate: true,\n lastBuildDate: true,\n lastUser: true,\n modifiedDate: true\n };\n\n /**\n * This is a function provided by the developer that return a list of files to populate the table of files.\n */\n @Prop() readonly loadCallback!: LoadCallback;\n\n /**\n *\n */\n @Prop() readonly newFileCallback!: NewFileCallback;\n\n /**\n * This is a function provided by the developer to expand the data of files that is double-clicked or entered.\n */\n @Prop() readonly openSelectionCallback!: OpenSelectionCallback;\n\n /**\n * Callback invoked when the action is executed on the Module/Folder filter (button '...'). It returns the information of the selected object (id and name) or 'undefined' if it was canceled.\n */\n @Prop() readonly selectModuleCallback!: SelectModuleCallback;\n\n /**\n * This is a function provided by the developer for expanded the data of files that is double-clicked or entered.\n */\n @Prop() readonly selectionChangeCallback!: SelectionChangeCallback;\n\n /**\n * Controls whether to show the Search contents field in the advanced filter section (Not available at the time of writting, since the server is not handling this feature yet.)\n */\n @Prop() readonly showSearchContents = false;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n\n // initialize combo-box models∂\n this.categoriesChanged(this.categories);\n\n // initialize \"After\" combo-box options\n this.filterAfterComboBoxModel = [\n {\n caption: this.#componentLocale.filter[FILTER_AFTER_DATE_TIME],\n value: FILTER_AFTER_DATE_TIME\n },\n {\n caption: this.#componentLocale.filter[FILTER_AFTER_LAST_BUILD],\n value: FILTER_AFTER_LAST_BUILD\n },\n {\n caption: this.#componentLocale.filter[FILTER_AFTER_IMPORT],\n value: FILTER_AFTER_IMPORT\n }\n ];\n\n // initialize accordion model with proper configuration\n this.#ACCORDION_MODEL = [\n {\n id: ACCORDION_FILTER_ID,\n caption: this.#componentLocale.filter.accordionCaption,\n expanded: false\n }\n ];\n\n this.#setFilterDefaultValues();\n }\n #setFilterDefaultValues = () => {\n this.#nameValue = \"\";\n this.#moduleValue = { ...this.defaultModule };\n this.#searchContentsValue = \"\";\n\n this.#categoryValue =\n this.defaultCategory ||\n (this.categoriesComboBoxModel && this.categoriesComboBoxModel.length > 0\n ? this.categoriesComboBoxModel[0].value\n : \"\");\n\n this.#allDescendants = CHECKBOX_UNCHECKED_VALUE;\n\n this.afterValue =\n this.filterAfterComboBoxModel && this.filterAfterComboBoxModel.length > 0\n ? this.filterAfterComboBoxModel[0].value\n : FILTER_AFTER_DATE_TIME;\n\n this.#userValue = \"\";\n this.dateTimeValue = undefined;\n };\n\n componentDidLoad() {\n this.#attachGridListeners();\n this.#getObjects();\n }\n\n disconnectedCallback() {\n // Clean up event listeners to prevent memory leaks\n if (this.#chGridEl) {\n this.#chGridEl.removeEventListener(\"selectionChanged\", this.#handleSelectionChanged);\n this.#chGridEl.removeEventListener(\"rowDoubleClicked\", this.#handleRowDoubleClicked);\n this.#chGridEl.removeEventListener(\"rowContextMenu\", this.#handleRowContextMenu);\n }\n }\n\n @Listen(\"keydown\", { passive: true })\n keyDownHandler(eventInfo: KeyboardEvent) {\n if (document.activeElement === this.el) {\n switch (eventInfo.key) {\n case \"Enter\":\n eventInfo.preventDefault();\n this.#openSelectionCallbackHandler();\n break;\n case \"Delete\":\n eventInfo.preventDefault();\n this.#deleteSelectionCallbackHandler();\n break;\n case \"Escape\":\n eventInfo.preventDefault();\n this.#deselectAll();\n break;\n }\n }\n }\n\n /**\n * Reloads the view, refreshing the filters and the table of files.\n */\n @Method()\n async reload(): Promise<void> {\n try {\n if (this.#componentLocale && this.filterAfterComboBoxModel) {\n this.#setFilterDefaultValues();\n this.#getObjects();\n }\n } catch (error) {\n console.error(\"Error in reload method:\");\n // Fallback: try only getObjects if setFilterDefaultValues fails\n try {\n this.#getObjects();\n } catch (fallbackError) {\n console.error(\"Fallback also failed:\");\n }\n }\n }\n\n #allDescendantsCheckboxHandler = (\n event: ChCheckboxCustomEvent<any> | InputEvent\n ) => {\n this.#allDescendants =\n event.detail === CHECKBOX_CHECKED_VALUE\n ? CHECKBOX_CHECKED_VALUE\n : CHECKBOX_UNCHECKED_VALUE;\n this.#getObjects();\n };\n\n #handleSelectionChanged = (ev: CustomEvent<{ rowsId: string[] }>): void => {\n this.#selectedObjectsIds = ev.detail.rowsId;\n this.selectionChangeCallback(this.#selectedObjectsIds);\n };\n\n #handleRowDoubleClicked = (): void => {\n this.#openSelectionCallbackHandler();\n };\n\n #handleRowContextMenu = (ev: CustomEvent<TabularGridRowContextMenuEvent>): void => {\n ev.preventDefault();\n ev.stopPropagation();\n this.contextMenuCallback({\n selection: ev.detail.selectedRowsId,\n clientX: ev.detail.clientX,\n clientY: ev.detail.clientY\n });\n };\n\n #attachGridListeners = (): void => {\n this.#chGridEl.addEventListener(\"selectionChanged\", this.#handleSelectionChanged);\n this.#chGridEl.addEventListener(\"rowDoubleClicked\", this.#handleRowDoubleClicked);\n this.#chGridEl.addEventListener(\"rowContextMenu\", this.#handleRowContextMenu);\n };\n\n #categoryInputHandler = async (event: CustomEvent<string> | InputEvent) => {\n this.#categoryValue = event.detail as string;\n this.#getObjects();\n };\n\n #clearDateTimeValue = () => {\n this.dateTimeValue = undefined;\n };\n\n #dateTimeInputHandler = (event: CustomEvent<any> | InputEvent) => {\n this.dateTimeValue = event.detail;\n this.#getObjects();\n };\n\n #deleteSelectionCallbackHandler = (): void => {\n this.deleteSelectionCallback(this.#selectedObjectsIds);\n };\n\n #deselectAll = (): void => {\n if (\n this.#chGridEl &&\n typeof (this.#chGridEl as TabularGridWithSelection).selectAllRows === \"function\"\n ) {\n (this.#chGridEl as TabularGridWithSelection).selectAllRows(false);\n }\n };\n\n #evaluateModifiedDates = (\n objectModifiedDate: Date,\n filterSelectedModifiedDate: string\n ) => {\n const filterSelectedModifiedDateAsDate = new Date(\n filterSelectedModifiedDate\n );\n if (filterSelectedModifiedDateAsDate >= objectModifiedDate) {\n // Object modifed date matches with filter date, or was modified after that date.\n // Highlight to show that it matches.\n return <span class=\"hiChar\">{this.#formatDate(objectModifiedDate)}</span>;\n } else {\n return this.#formatDate(objectModifiedDate);\n }\n };\n\n #filterAfterTypeCallbackHandler = (\n event: CustomEvent<string> | InputEvent\n ) => {\n this.afterValue = event.detail as string;\n this.#getObjects();\n };\n\n #formatDate = (date: Date): string => {\n return formatDate(date, \"date-time-short\");\n };\n\n #getObjects = () => {\n this.#setLoadingState();\n\n const parentId =\n this.#filterModuleEl && this.#filterModuleEl.value\n ? this.#filterModuleEl.value.id\n : this.defaultModule\n ? this.defaultModule.id\n : \"\";\n\n const filtersValues: ObjectFiltersData = {\n name: this.#nameValue,\n searchContents: this.#searchContentsValue,\n category: this.#categoryValue,\n parent: parentId,\n allDescendants: this.#allDescendants === CHECKBOX_CHECKED_VALUE,\n modifiedAfter: this.showModified ? this.afterValue : undefined,\n modifiedBy: this.showModified ? this.#userValue : undefined,\n modifiedDate: this.showModified ? new Date(this.dateTimeValue) : undefined\n };\n\n this.loadCallback(filtersValues).then((items: ObjectData[]) => {\n this.objects = items;\n this.#selectedObjectsIds = [];\n\n if (this.#chGridEl) {\n this.#deselectAll();\n }\n\n this.isLoading = false;\n });\n };\n\n #renderHeader = (): Element[] => {\n return [\n <div\n // Name\n class=\"field field-block field-name\"\n >\n <label class=\"label\" htmlFor=\"name\">\n {this.#componentLocale.filter.name}\n </label>\n <ch-edit\n id=\"name\"\n class=\"input\"\n value={this.#nameValue}\n onInput={this.#nameInputHandler}\n part=\"filter-files\"\n debounce={config.inputDebounce}\n disabled={this.isLoading}\n ></ch-edit>\n </div>,\n\n <div\n // Module\n class=\"field field-block field-module-folder\"\n >\n <label class=\"label\" htmlFor=\"module-folder\">\n {this.#componentLocale.filter.moduleFolder}\n </label>\n <gx-ide-entity-selector\n part=\"filter-module-folder\"\n id=\"module/folder\"\n labelPosition=\"none\"\n value={this.#moduleValue}\n defaultValue={this.defaultModule}\n selectEntityCallback={this.selectModuleCallback}\n ref={(el: HTMLGxIdeEntitySelectorElement) =>\n (this.#filterModuleEl = el as HTMLGxIdeEntitySelectorElement)\n }\n onValueChanged={this.#moduleValueChangedHandler}\n disabled={this.isLoading}\n ></gx-ide-entity-selector>\n </div>,\n\n <ch-accordion-render\n class=\"accordion-outlined advanced-filter\"\n model={this.#ACCORDION_MODEL}\n >\n <div\n slot={ACCORDION_FILTER_ID}\n class=\"spacing-body field-group advanced-filter__container\"\n >\n {this.showSearchContents && (\n <div\n // Search contents\n class=\"field field-block field-search-contents\"\n >\n <label class=\"label\" htmlFor=\"filter-content\">\n {this.#componentLocale.filter.content}\n </label>\n <ch-edit\n id=\"filter-content\"\n class=\"input\"\n onInput={this.#searchContentsInputHandler}\n part=\"filter-content\"\n ></ch-edit>\n </div>\n )}\n\n <div class=\"field-group advanced-filter__first-row\">\n <div\n // Category\n class=\"field field-block field-category\"\n >\n <label class=\"label\" htmlFor=\"filter-category\">\n {this.#componentLocale.filter.category}\n </label>\n <ch-combo-box-render\n id=\"filter-category\"\n class=\"combo-box disabled\"\n value={this.#categoryValue}\n disabled={!this.categories || this.isLoading}\n model={this.categoriesComboBoxModel}\n part=\"filter-category\"\n onInput={this.#categoryInputHandler}\n ></ch-combo-box-render>\n </div>\n\n <div\n // All descendants / Modified\n class=\"all-descendants__modified field field-inline\"\n >\n <ch-checkbox\n // All descendants\n class=\"checkbox\"\n caption={this.#componentLocale.filter.allDescendants}\n checkedValue={CHECKBOX_CHECKED_VALUE}\n unCheckedValue={CHECKBOX_UNCHECKED_VALUE}\n value={this.#allDescendants}\n onInput={this.#allDescendantsCheckboxHandler}\n part=\"filter-all-descendants\"\n disabled={this.isLoading}\n ></ch-checkbox>\n\n <ch-checkbox\n // Modified\n class=\"checkbox align-center\"\n caption={this.#componentLocale.filter.modified}\n checkedValue={CHECKBOX_CHECKED_VALUE}\n unCheckedValue={CHECKBOX_UNCHECKED_VALUE}\n value={this.showModified}\n onInput={this.#showModifiedCheckboxHandler}\n part=\"filter-modified\"\n ></ch-checkbox>\n </div>\n </div>\n\n {this.showModified === CHECKBOX_CHECKED_VALUE && (\n <div class=\"field-group advanced-filter__second-row\">\n <div\n // After\n class=\"field field-block field-after\"\n >\n <label class=\"label\" htmlFor=\"filter-after-type\">\n {this.#componentLocale.filter.after}\n </label>\n <ch-combo-box-render\n id=\"filter-after-type\"\n class=\"combo-box\"\n value={this.afterValue}\n model={this.filterAfterComboBoxModel}\n onInput={this.#filterAfterTypeCallbackHandler}\n part=\"filter-after-type\"\n disabled={this.isLoading}\n ></ch-combo-box-render>\n </div>\n\n <div\n // User\n class=\"field field-block field-user\"\n >\n <label class=\"label\" htmlFor=\"filter-user\">\n {this.#componentLocale.filter.user}\n </label>\n <ch-edit\n id=\"filter-user\"\n class=\"input\"\n value={this.#userValue}\n onInput={this.#userInputHandler}\n part=\"filter-user\"\n debounce={config.inputDebounce}\n disabled={this.isLoading}\n ></ch-edit>\n </div>\n\n {this.afterValue === FILTER_AFTER_DATE_TIME && (\n <div\n // Date/Time\n class={{\n \"field field-block field-date\": true,\n \"hide\": this.afterValue !== FILTER_AFTER_DATE_TIME\n }}\n >\n <label\n class=\"label label-date-time\"\n htmlFor=\"filter-date-time\"\n >\n {this.#componentLocale.filter.dateTime}\n <ch-image\n class=\"icon-md icon-clear-date-time\"\n src={INFO_ICON}\n ></ch-image>\n <ch-tooltip\n class=\"tooltip\"\n actionElement={null}\n blockAlign=\"outside-start\"\n inlineAlign=\"inside-start\"\n delay={config.tooltipSettings.delay}\n >\n {this.#componentLocale.filter.dateTimeTooltip}\n </ch-tooltip>\n </label>\n\n <ch-edit\n id=\"filter-date-time\"\n type=\"datetime-local\"\n class=\"input input-date-time\"\n value={this.dateTimeValue}\n onInput={this.#dateTimeInputHandler}\n part=\"filter-date-time\"\n disabled={this.isLoading}\n ></ch-edit>\n\n <button\n class=\"button-tertiary button-icon-only\"\n onClick={this.#clearDateTimeValue}\n disabled={this.isLoading}\n >\n <ch-image class=\"icon-md\" src={CLEAR_ICON} type=\"mask\" />\n </button>\n </div>\n )}\n </div>\n )}\n </div>\n </ch-accordion-render>\n ];\n };\n\n #renderObjects = (): Element => {\n const gridIsEmpty = !this.objects.length;\n\n return (\n <ch-tabular-grid\n ref={(el: HTMLChTabularGridElement) => (this.#chGridEl = el)}\n class={{\n \"tabular-grid\": true,\n \"loading\": this.isLoading,\n \"empty\": this.objects.length === 0\n }}\n rowSelectionMode=\"multiple\"\n part=\"ch-grid-files\"\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n columnName=\"\"\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n\n <ch-tabular-grid-column\n columnName={this.#componentLocale.tableHead.name}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n\n <ch-tabular-grid-column\n columnName={this.#componentLocale.tableHead.module}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n\n {this.gridColumnsVisibility.description && (\n <ch-tabular-grid-column\n columnName={this.#componentLocale.tableHead.description}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.auto}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n )}\n\n {this.gridColumnsVisibility.modifiedDate && (\n <ch-tabular-grid-column\n columnName={this.#componentLocale.tableHead.modifiedDate}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n )}\n\n {this.gridColumnsVisibility.lastUser && (\n <ch-tabular-grid-column\n columnName={this.#componentLocale.tableHead.lastUser}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n )}\n\n {this.gridColumnsVisibility.importDate && (\n <ch-tabular-grid-column\n columnName={this.#componentLocale.tableHead.importDate}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n )}\n\n {this.gridColumnsVisibility.lastBuildDate && (\n <ch-tabular-grid-column\n columnName={this.#componentLocale.tableHead.lastBuildDate}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n )}\n </ch-tabular-grid-columnset>\n\n {!gridIsEmpty ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.objects?.map((object: ObjectData) => (\n <ch-tabular-grid-row rowid={object.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={object.icon}></ch-image>\n </ch-tabular-grid-cell>\n\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(\n object.name.toLowerCase(),\n this.#nameValue.toLowerCase()\n )}\n </ch-tabular-grid-cell>\n\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(object.parent, this.#moduleValue.name)}\n </ch-tabular-grid-cell>\n\n {this.gridColumnsVisibility.description && (\n <ch-tabular-grid-cell class=\"tabular-grid-cell tabular-grid-cell-description\">\n {object.description}\n </ch-tabular-grid-cell>\n )}\n\n {this.gridColumnsVisibility.modifiedDate && (\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#evaluateModifiedDates(\n object.modifiedDate,\n this.dateTimeValue\n )}\n </ch-tabular-grid-cell>\n )}\n\n {this.gridColumnsVisibility.lastUser && (\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(object.lastUser?.toLowerCase(), this.#userValue)}\n </ch-tabular-grid-cell>\n )}\n\n {this.gridColumnsVisibility.importDate && (\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(\n object.importDate\n ? this.#formatDate(object.importDate)\n : \"\",\n this.#nameValue\n )}\n </ch-tabular-grid-cell>\n )}\n\n {this.gridColumnsVisibility.lastBuildDate && (\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(\n object.lastBuildDate\n ? this.#formatDate(object.lastBuildDate)\n : \"\",\n this.#nameValue\n )}\n </ch-tabular-grid-cell>\n )}\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n {this.isLoading ? (\n <gx-ide-loader\n loaderTitle={this.#componentLocale.loader.title}\n description={this.#componentLocale.loader.description}\n show\n ></gx-ide-loader>\n ) : (\n <gx-ide-empty-state\n isAnimated={true}\n stateIconSrc={FILTER_ICON}\n stateTitle={this.#componentLocale.emptyState.title}\n ></gx-ide-empty-state>\n )}\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n );\n };\n\n #moduleValueChangedHandler = (\n event: GxIdeEntitySelectorCustomEvent<EntityData>\n ) => {\n this.#moduleValue = event.detail;\n this.#getObjects();\n };\n\n #nameInputHandler = (event: CustomEvent<any> | InputEvent) => {\n this.#nameValue = event.detail;\n this.#getObjects();\n };\n\n #newFileCallbackHandler = (): void => {\n this.newFileCallback();\n };\n\n #openSelectionCallbackHandler = (): void => {\n this.openSelectionCallback(this.#selectedObjectsIds);\n };\n\n #searchContentsInputHandler = (event: CustomEvent<any> | InputEvent) => {\n this.#searchContentsValue = event.detail;\n this.#getObjects();\n };\n\n #setLoadingState = () => {\n // Only clear if no objects or first load\n if (!this.objects || this.objects.length === 0) {\n this.objects = [];\n }\n this.isLoading = true;\n };\n\n #userInputHandler = (event: CustomEvent<any> | InputEvent) => {\n this.#userValue = event.detail;\n this.#getObjects();\n };\n\n #showModifiedCheckboxHandler = (\n event: ChCheckboxCustomEvent<any> | InputEvent\n ) => {\n this.showModified = event.detail;\n };\n\n #selectAll = (): void => {\n if (\n this.#chGridEl &&\n typeof (this.#chGridEl as TabularGridWithSelection).selectAllRows === \"function\"\n ) {\n (this.#chGridEl as TabularGridWithSelection).selectAllRows();\n }\n };\n\n render(): void {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <section class=\"section\">\n <header class=\"header control-header-with-border spacing-body-inline spacing-body-block-start field-group\">\n {this.#renderHeader()}\n </header>\n\n {this.#renderObjects()}\n\n <footer class=\"control-footer-with-border control-footer-space-between spacing-body\">\n <p\n // matching objects\n class=\"text-body\"\n part=\"objects-matching\"\n >\n {`${this.objects?.length} ${\n this.#componentLocale.objCount.matching\n }`}\n </p>\n\n <div class=\"buttons-spacer\">\n <button\n // select all button\n id=\"button-select-all\"\n class=\"button-secondary\"\n onClick={this.#selectAll}\n part=\"button button--select-all\"\n disabled={this.isLoading}\n >\n {this.#componentLocale.footer.btnSelectAll}\n </button>\n\n <button\n // new file button\n id=\"button-new-file\"\n class=\"button-primary button-icon-and-text\"\n onClick={this.#newFileCallbackHandler}\n part=\"button button--new-file\"\n disabled={this.isLoading}\n >\n {this.#componentLocale.footer.btnNew}\n </button>\n </div>\n </footer>\n </section>\n </Host>\n );\n }\n}\n\nexport type SelectionChangeCallback = (ids: string[]) => Promise<void>;\nexport type OpenSelectionCallback = (ids: string[]) => Promise<void>;\nexport type DeleteSelectionCallback = (ids: string[]) => Promise<void>;\nexport type SelectModuleCallback = () => Promise<EntityData | undefined>;\n// export type ContextMenuCallback = (ids: string[]) => Promise<void>;\nexport type ContextMenuCallback = (\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\nexport type NewFileCallback = () => Promise<void>;\nexport type LoadCallback = (\n filters: ObjectFiltersData\n) => Promise<ObjectData[]>;\n\nexport interface ObjectFiltersData {\n name?: string;\n searchContents?: string;\n category?: string;\n parent?: string;\n allDescendants?: boolean;\n modifiedAfter?: string;\n modifiedBy?: string;\n modifiedDate?: Date;\n}\nexport interface ObjectData {\n id: string;\n icon: string;\n name: string;\n description: string;\n parent: string;\n modifiedDate?: Date;\n lastUser?: string;\n importDate?: Date;\n lastBuildDate: Date;\n}\n\nexport type GridColumnsVisibility = {\n description: boolean;\n importDate: boolean;\n lastBuildDate: boolean;\n lastUser: boolean;\n modifiedDate: boolean;\n};\n\ntype CheckboxState =\n | typeof CHECKBOX_CHECKED_VALUE\n | typeof CHECKBOX_UNCHECKED_VALUE;\n"],"mappings":"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"}
@@ -43,19 +43,19 @@ const t = s({
43
43
  */ const renderObjectStateWithIcon = s => {
44
44
  let o;
45
45
  switch (s) {
46
- case "Inserted":
46
+ case "inserted":
47
47
  o = c;
48
48
  break;
49
49
 
50
- case "Modified":
50
+ case "modified":
51
51
  o = r;
52
52
  break;
53
53
 
54
- case "Deleted":
54
+ case "deleted":
55
55
  o = a;
56
56
  break;
57
57
 
58
- case "Conflicted":
58
+ case "conflicted":
59
59
  o = t;
60
60
  break;
61
61
  }
@@ -64,7 +64,7 @@ const t = s({
64
64
  }, e("ch-image", {
65
65
  class: "icon-md",
66
66
  src: o
67
- }), `${s}`);
67
+ }), `${s.charAt(0).toUpperCase() + s.slice(1)}`);
68
68
  };
69
69
 
70
70
  /**
@@ -84,4 +84,4 @@ const t = s({
84
84
  };
85
85
 
86
86
  export { renderObjectStateWithIcon as a, renderObjectTypeWithIcon as r };
87
- //# sourceMappingURL=p-2ee77587.js.map
87
+ //# sourceMappingURL=p-a24571ca.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["INSERTED_ICON","getIconPath","category","name","colorType","EDITED_ICON","DELETED_ICON","WARNING_ICON","renderObjectStateWithIcon","objectState","icon","h","class","src","charAt","toUpperCase","slice","renderObjectTypeWithIcon","objectType"],"sources":["src/components/team-dev/common/utilities.tsx"],"sourcesContent":["// Stencil\nimport { h, JSX } from \"@stencil/core\";\nimport { getIconPath } from \"@genexus/mercury\";\nimport { ObjectState } from \"../version-control/common/types\";\nimport { ObjectType } from \"../../../components\";\n\nconst INSERTED_ICON = getIconPath({\n category: \"system\",\n name: \"add\",\n colorType: \"success\"\n});\nconst EDITED_ICON = getIconPath({\n category: \"system\",\n name: \"edit\",\n colorType: \"warning\"\n});\nconst DELETED_ICON = getIconPath({\n category: \"system\",\n name: \"substract\",\n colorType: \"error\"\n});\nconst WARNING_ICON = getIconPath({\n category: \"system\",\n name: \"warning\",\n colorType: \"warning\"\n});\n\n/**\n * Renders a visual indicator (icon and label) for a given object state.\n *\n * This helper function maps a fixed set of object states to corresponding icons\n *\n * Supported states:\n * - \"inserted\": Displays a green \"add\" icon.\n * - \"modified\": Displays a yellow \"edit\" icon.\n * - \"deleted\": Displays a red \"subtract\" icon.\n * - \"conflicted\": Displays a yellow \"warning\" icon.\n *\n * @param {ObjectState} objectState - The current state of the object.\n * @returns {HTMLChImageElement} A span element containing the corresponding icon and state label.\n */\nexport const renderObjectStateWithIcon = (\n objectState: ObjectState\n): HTMLChImageElement => {\n let icon: string;\n switch (objectState) {\n case \"inserted\":\n icon = INSERTED_ICON;\n break;\n case \"modified\":\n icon = EDITED_ICON;\n break;\n case \"deleted\":\n icon = DELETED_ICON;\n break;\n case \"conflicted\":\n icon = WARNING_ICON;\n break;\n }\n return (\n <span class=\"custom-icon-text-wrapper\">\n <ch-image class=\"icon-md\" src={icon}></ch-image>\n {`${objectState.charAt(0).toUpperCase() + objectState.slice(1)}`}\n </span>\n );\n};\n\n/**\n * Renders a GeneXus object type as a span element containing its icon and name.\n *\n * @param {ObjectType} objectType - The GeneXus object type to render, including its `icon` and `name` properties.\n * @returns {JSX.Element} A span element with the object's icon and label.\n */\nexport const renderObjectTypeWithIcon = (\n objectType: ObjectType\n): JSX.Element => {\n // bring changes\n const icon = objectType.icon;\n\n return (\n <span class=\"custom-icon-text-wrapper\">\n <ch-image class=\"icon-md\" src={icon}></ch-image>\n {`${objectType.name}`}\n </span>\n );\n};\n"],"mappings":";;;;;AAMA,MAAMA,IAAgBC,EAAY;EAChCC,UAAU;EACVC,MAAM;EACNC,WAAW;;;AAEb,MAAMC,IAAcJ,EAAY;EAC9BC,UAAU;EACVC,MAAM;EACNC,WAAW;;;AAEb,MAAME,IAAeL,EAAY;EAC/BC,UAAU;EACVC,MAAM;EACNC,WAAW;;;AAEb,MAAMG,IAAeN,EAAY;EAC/BC,UAAU;EACVC,MAAM;EACNC,WAAW;;;;;;;;;;;;;;;;UAiBAI,4BACXC;EAEA,IAAIC;EACJ,QAAQD;GACN,KAAK;IACHC,IAAOV;IACP;;GACF,KAAK;IACHU,IAAOL;IACP;;GACF,KAAK;IACHK,IAAOJ;IACP;;GACF,KAAK;IACHI,IAAOH;IACP;;EAEJ,OACEI,EAAA;IAAMC,OAAM;KACVD,EAAA;IAAUC,OAAM;IAAUC,KAAKH;MAC9B,GAAGD,EAAYK,OAAO,GAAGC,gBAAgBN,EAAYO,MAAM;AACvD;;;;;;;UAUEC,2BACXC;;EAGA,MAAMR,IAAOQ,EAAWR;EAExB,OACEC,EAAA;IAAMC,OAAM;KACVD,EAAA;IAAUC,OAAM;IAAUC,KAAKH;MAC9B,GAAGQ,EAAWf;AACV"}
@@ -1,6 +1,6 @@
1
1
  import { r as t, c as i, g as e, h as s, H as a, a as n } from "./p-97107ecc.js";
2
2
 
3
- import { c as o } from "./p-44e5e972.js";
3
+ import { c as o } from "./p-9a03ac9f.js";
4
4
 
5
5
  import { L as h } from "./p-311eedf3.js";
6
6
 
@@ -452,4 +452,4 @@ N = new WeakMap, d = new WeakSet, E = function _GxIdeNewObject_initializeSelecte
452
452
  B.style = l;
453
453
 
454
454
  export { B as gx_ide_new_object };
455
- //# sourceMappingURL=p-bb0cdfe6.entry.js.map
455
+ //# sourceMappingURL=p-b5d8589f.entry.js.map
@@ -1,6 +1,6 @@
1
1
  import { r as e, c as r, h as t, H as a, a as o } from "./p-97107ecc.js";
2
2
 
3
- import { c as i } from "./p-44e5e972.js";
3
+ import { c as i } from "./p-9a03ac9f.js";
4
4
 
5
5
  import { L as s } from "./p-311eedf3.js";
6
6
 
@@ -124,4 +124,4 @@ const n = class {
124
124
  n.style = l;
125
125
 
126
126
  export { n as gx_ide_bpm_import_gxpm };
127
- //# sourceMappingURL=p-7fe4387b.entry.js.map
127
+ //# sourceMappingURL=p-be84e15b.entry.js.map
@@ -1,8 +1,8 @@
1
1
  import { r as e, h as t, H as s, a as i } from "./p-97107ecc.js";
2
2
 
3
- import { g as r } from "./p-401bfc97.js";
3
+ import { g as a } from "./p-401bfc97.js";
4
4
 
5
- import { c as a } from "./p-44e5e972.js";
5
+ import { c as r } from "./p-9a03ac9f.js";
6
6
 
7
7
  import { L as l } from "./p-311eedf3.js";
8
8
 
@@ -14,30 +14,30 @@ var n = undefined && undefined.__classPrivateFieldGet || function(e, t, s, i) {
14
14
  return s === "m" ? i : s === "a" ? i.call(e) : i ? i.value : t.get(e);
15
15
  };
16
16
 
17
- var c = undefined && undefined.__classPrivateFieldSet || function(e, t, s, i, r) {
17
+ var c = undefined && undefined.__classPrivateFieldSet || function(e, t, s, i, a) {
18
18
  if (i === "m") throw new TypeError("Private method is not writable");
19
- if (i === "a" && !r) throw new TypeError("Private accessor was defined without a setter");
20
- if (typeof t === "function" ? e !== t || !r : !t.has(e)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
21
- return i === "a" ? r.call(e, s) : r ? r.value = s : t.set(e, s), s;
19
+ if (i === "a" && !a) throw new TypeError("Private accessor was defined without a setter");
20
+ if (typeof t === "function" ? e !== t || !a : !t.has(e)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
21
+ return i === "a" ? a.call(e, s) : a ? a.value = s : t.set(e, s), s;
22
22
  };
23
23
 
24
24
  var d, h, u, b, f, m, g, p, w, v, y, k, _, M, x, W, z, C, N, I, S, T, E, j, A, H;
25
25
 
26
26
  const R = [ "resets/box-sizing", "utils/form--full", "utils/layout", "utils/typography", "utils/spacing", "components/tooltip", "chameleon/scrollbar", "components/tabular-grid" ];
27
27
 
28
- const U = r({
28
+ const U = a({
29
29
  category: "system",
30
30
  name: "information",
31
31
  colorType: "on-surface"
32
32
  });
33
33
 
34
- const F = r({
34
+ const L = a({
35
35
  category: "system",
36
36
  name: "lock",
37
37
  colorType: "on-surface"
38
38
  });
39
39
 
40
- const L = r({
40
+ const F = a({
41
41
  category: "system",
42
42
  name: "language",
43
43
  colorType: "on-surface"
@@ -46,7 +46,7 @@ const L = r({
46
46
  const P = class {
47
47
  constructor(s) {
48
48
  e(this, s);
49
- d.set(this, r({
49
+ d.set(this, a({
50
50
  category: "system",
51
51
  name: "search",
52
52
  colorType: "on-surface"
@@ -95,7 +95,8 @@ const P = class {
95
95
  _.set(this, (e => {
96
96
  try {
97
97
  const t = new URL(e);
98
- return t.protocol === "http:" || t.protocol === "https:";
98
+ const s = (t.protocol === "http:" || t.protocol === "https:") && e.startsWith(`${t.protocol}//`);
99
+ return s;
99
100
  } catch (e) {
100
101
  return false;
101
102
  }
@@ -145,7 +146,7 @@ const P = class {
145
146
  columnName: "Icon",
146
147
  settingable: false,
147
148
  columnNameHidden: true,
148
- size: a.tabularGrid.colSize.maxContent,
149
+ size: r.tabularGrid.colSize.maxContent,
149
150
  resizable: false
150
151
  }), t("ch-tabular-grid-column", {
151
152
  columnId: "serverName",
@@ -155,7 +156,7 @@ const P = class {
155
156
  settingable: false,
156
157
  columnNameHidden: e,
157
158
  onColumnSortChanged: n(this, j, "f"),
158
- size: a.tabularGrid.colSize.serverName,
159
+ size: r.tabularGrid.colSize.serverName,
159
160
  resizable: false
160
161
  }), t("ch-tabular-grid-column", {
161
162
  columnId: "serverUrl",
@@ -165,7 +166,7 @@ const P = class {
165
166
  settingable: false,
166
167
  columnNameHidden: e,
167
168
  onColumnSortChanged: n(this, j, "f"),
168
- size: a.tabularGrid.colSize.auto,
169
+ size: r.tabularGrid.colSize.auto,
169
170
  resizable: false
170
171
  }), t("ch-tabular-grid-column", {
171
172
  columnId: "userName",
@@ -175,7 +176,7 @@ const P = class {
175
176
  settingable: false,
176
177
  columnNameHidden: e,
177
178
  onColumnSortChanged: n(this, j, "f"),
178
- size: a.tabularGrid.colSize.userName,
179
+ size: r.tabularGrid.colSize.userName,
179
180
  resizable: false
180
181
  }), t("ch-tabular-grid-column", {
181
182
  columnId: "status",
@@ -185,15 +186,15 @@ const P = class {
185
186
  settingable: false,
186
187
  columnNameHidden: e,
187
188
  onColumnSortChanged: n(this, j, "f"),
188
- size: a.tabularGrid.colSize.maxContent,
189
+ size: r.tabularGrid.colSize.maxContent,
189
190
  resizable: false
190
191
  }))));
191
192
  I.set(this, (e => e !== "" ? t("ch-tooltip", {
192
193
  class: "tooltip",
193
194
  actionElement: null,
194
195
  blockAlign: "outside-end",
195
- inlineAlign: a.tooltipSettings.inlineAlign,
196
- delay: a.tooltipSettings.delay
196
+ inlineAlign: r.tooltipSettings.inlineAlign,
197
+ delay: r.tooltipSettings.delay
197
198
  }, e) : null));
198
199
  S.set(this, (e => [ t("ch-tabular-grid-cell", {
199
200
  class: "tabular-grid-cell"
@@ -261,7 +262,7 @@ const P = class {
261
262
  this.connectedServersData = [ ...i ];
262
263
  }));
263
264
  A.set(this, (e => {
264
- const s = e === "private" ? F : L;
265
+ const s = e === "private" ? L : F;
265
266
  return t("ch-image", {
266
267
  class: "icon-md",
267
268
  src: s
@@ -385,13 +386,14 @@ const P = class {
385
386
  id: "server-name",
386
387
  value: this.serverNameInputValue,
387
388
  onInput: e => n(this, k, "f").call(this, e, "serverNameInputValue"),
388
- placeholder: n(this, u, "f").placeholders.serverName
389
+ placeholder: n(this, u, "f").placeholders.serverName,
390
+ maxLength: 18
389
391
  })), !this.isValidUrl && t("ch-tooltip", {
390
392
  class: "tooltip",
391
393
  actionElement: n(this, p, "f"),
392
394
  blockAlign: "outside-end",
393
- inlineAlign: a.tooltipSettings.inlineAlign,
394
- delay: a.tooltipSettings.delay
395
+ inlineAlign: r.tooltipSettings.inlineAlign,
396
+ delay: r.tooltipSettings.delay
395
397
  }, n(this, u, "f").errors.serverUrlInvalid))), n(this, H, "f").call(this)));
396
398
  }
397
399
  static get assetsDirs() {
@@ -412,4 +414,4 @@ H = new WeakMap;
412
414
  P.style = o;
413
415
 
414
416
  export { P as gx_ide_server_selector };
415
- //# sourceMappingURL=p-923744e7.entry.js.map
417
+ //# sourceMappingURL=p-bee71b20.entry.js.map
@@ -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","protocolValid","protocol","startsWith","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","maxLength","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 const protocolValid =\n (serverUrl.protocol === \"http:\" || serverUrl.protocol === \"https:\") &&\n url.startsWith(`${serverUrl.protocol}//`);\n return protocolValid;\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 maxLength={18}\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,MAAMG,KACHF,EAAUG,aAAa,WAAWH,EAAUG,aAAa,aAC1DJ,EAAIK,WAAW,GAAGJ,EAAUG;QAC9B,OAAOD;QACP,OAAOG;QACP,OAAO;;;IAIXP,EAAAxC,IAAAC,OAAuB;MACrB,IACEA,KAAKuB,uBACLvB,KAAKuB,oBAAoBwB,SAAS,KAClC/C,KAAKwB,wBACLxB,KAAKwB,qBAAqBuB,SAAS,GACnC;QACA/C,KAAKsC,sBAAsB;aACtB;QACLtC,KAAKsC,sBAAsB;;;IAI/BU,EAAAjD,IAAAC,OACE0B,KAEAN,EAAApB,MAAIiD,GAAA,KAAuB3B,KAA3BtB,MACE0B,GACA1B,KAAK+B,sBACLX,EAAApB,MAAIK,GAAA;IAGR6C,EAAAnD,IAAAC,OACE0B,KAEAN,EAAApB,MAAIiD,GAAA,KAAuB3B,KAA3BtB,MACE0B,GACA1B,KAAKmD,yBACL/B,EAAApB,MAAIM,GAAA;IAGR2C,EAAAlD,IAAAC,OAAyBa,OACvBa,GACA0B,GACAC;MAEA,KAAKrD,KAAKsD,kBAAkB;QAC1BC,EAAAvD,MAAIO,GAA0Ba,EAAApB,MAAIQ,GAAA,MAAe;;MAEnD+C,EAAAvD,MAAIQ,GAAkBkB,EAAME,OAAO4B,OAAK;MACxC,IAAIpC,EAAApB,MAAIQ,GAAA,SAAoBiD,WAAW;QACrCzD,KAAKsC,sBAAsB;QAC3BtC,KAAKiB,oBAAoBwC;QACzBzD,KAAKkB,qBAAqBuC;QAC1B;aACK;QACL,MAAMC,IAAiBN,EAAYO,MACjCC,KAAUA,EAAOC,OAAOzC,EAAApB,MAAIQ,GAAA;QAE9BR,KAAKsC,sBAAsB;QAC3BtC,KAAKkB,qBAAqBwC,MAAc,QAAdA,WAAc,aAAdA,EAAgBxB;QAC1ClC,KAAKiB,oBAAoByC,MAAc,QAAdA,WAAc,aAAdA,EAAgBjB;QACzCzC,KAAK8D,YAAWJ,MAAc,QAAdA,WAAc,aAAdA,EAAgBK,qBAAoB;QACpD/D,KAAKsD,mBAAmB;eAClBD,MAAW,QAAXA,WAAW,aAAXA,EAAaW,UAAU5C,EAAApB,MAAIO,GAAA,MAAyB;;;IAI9D0D,EAAAlE,IAAAC,OAAiC0B;MAC/B1B,KAAKc,yBAAyBY,EAAME;MACpC,IAAI5B,KAAKc,2BAA2B,OAAO;QACzCd,KAAKsC,sBAAsB;QAC3BtC,KAAKuB,sBAAsB;;MAE7BvB,KAAKkB,qBAAqB;AAAM;IAGlCgD,EAAAnE,IAAAC,OAA8B,CAC5BmE,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,qBAAqB7D,EAAApB,MAAIkF,GAAA;MACzBR,MAAMC,EAAOC,YAAYC,QAAQ3C;MACjC6C,WAAW;QAEbX,EAAA;MACEE,UAAS;MACTD,OAAM;MACNW,UAAQ;MACRT,YAAW;MACXC,aAAa;MACbC,kBAAkBN;MAClBc,qBAAqB7D,EAAApB,MAAIkF,GAAA;MACzBR,MAAMC,EAAOC,YAAYC,QAAQM;MACjCJ,WAAW;QAEbX,EAAA;MACEE,UAAS;MACTD,OAAM;MACNW,UAAQ;MACRT,YAAW;MACXC,aAAa;MACbC,kBAAkBN;MAClBc,qBAAqB7D,EAAApB,MAAIkF,GAAA;MACzBR,MAAMC,EAAOC,YAAYC,QAAQf;MACjCiB,WAAW;QAEbX,EAAA;MACEE,UAAS;MACTD,OAAM;MACNW,UAAQ;MACRT,YAAW;MACXC,aAAa;MACbC,kBAAkBN;MAClBc,qBAAqB7D,EAAApB,MAAIkF,GAAA;MACzBR,MAAMC,EAAOC,YAAYC,QAAQC;MACjCC,WAAW;;IAMnBK,EAAArF,IAAAC,OAAkBqF,KACTA,MAAS,KACdjB,EAAA;MACEC,OAAM;MACNiB,eAAe;MACfC,YAAW;MACXC,aAAab,EAAOc,gBAAgBD;MACpCE,OAAOf,EAAOc,gBAAgBC;OAE7BL,KAED;IAGNM,EAAA5F,IAAAC,OAAiC4D,KACxB,EACLQ,EAAA;MAAsBC,OAAM;OACzBjD,EAAApB,MAAI4F,GAAA,KAAYtE,KAAhBtB,MAAiB4D,EAAOiC,eAE3BzB,EAAA;MAAsBC,OAAM;OACzBT,EAAO1B,aAEVkC,EAAA;MAAsBC,OAAM;OACzBT,EAAOnB,WACPrB,EAAApB,MAAIoF,GAAA,KAAe9D,KAAnBtB,MAAoB4D,EAAOnB,aAE9B2B,EAAA;MAAsBC,OAAM;OACzBT,EAAOG,mBAEVK,EAAA;MAAsBC,OAAM;OACzBT,EAAOkC,eAAe;IAK7BC,EAAAhG,IAAAC,OAAkCmE,KAE9BC,EAAA;MACEC,OAAO;MACP2B,kBAAiB;MACjBC,KAAMC,KACH3C,EAAAvD,MAAIK,GAAgC6F,GAAE;MAEzCC,oBAAoB;MACpBC,cAAchF,EAAApB,MAAIkD,GAAA;MAClBW,IAAG;OAEFzC,EAAApB,MAAIkE,GAAA,KAA4B5C,KAAhCtB,MAAiCmE,IACjCnE,KAAKmD,wBAAwBJ,SAAS,IACrCqB,EAAA;MAAwBC,OAAM;OAC3BrE,KAAKmD,wBAAwBkD,KAC3BzC,KACCQ,EAAA;MAAqBkC,OAAO1C,EAAOC;MAAIQ,OAAM;OAC1CjD,EAAApB,MAAI2F,GAAA,KAA8BrE,KAAlCtB,MAAmC4D,SAM5CQ,EAAA;MAAwBC,OAAM;OAC5BD,EAAA,sCACEA,EAAA;MACEmC,cAAcjH;MACdkH,YAAYpF,EAAApB,MAAII,GAAA,KAAmBqG;MACnCC,YAAY;;IAS1BC,EAAA5G,IAAAC,OAA8B,MAE1BoE,EAAA;MACEC,OAAO;MACP2B,kBAAiB;MACjBC,KAAMC,KACH3C,EAAAvD,MAAIM,GAA6B4F,GAAE;MAEtCC,oBAAoB;MACpBC,cAAchF,EAAApB,MAAIgD,GAAA;MAClBa,IAAG;OAEFzC,EAAApB,MAAIkE,GAAA,KAA4B5C,KAAhCtB,OACAA,KAAK8B,6BAA6BiB,SAAS,IAC1CqB,EAAA;MAAwBC,OAAM;OAC3BrE,KAAK8B,6BAA6BuE,KAChCzC,KACCQ,EAAA;MAAqBkC,OAAO1C,EAAOC;MAAIQ,OAAM;OAC1CjD,EAAApB,MAAI2F,GAAA,KAA8BrE,KAAlCtB,MAAmC4D,SAM5CQ,EAAA;MAAwBC,OAAM;OAC5BD,EAAA;MAA8BC,OAAM;OAClCD,EAAA;MACEmC,cAAcjH;MACdkH,YAAYpF,EAAApB,MAAII,GAAA,KAAmBqG;MACnCC,YAAY;;IAS1BxB,EAAAnF,IAAAC,OAA4B4G;MAC1B,OAAMtC,UAAEA,GAAQuC,eAAEA,KAAkBD,EAAEhF;MAEtC,MAAMkF,IAAM9G,KAAK+B;MACjB+E,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;MAGV7G,KAAK+B,uBAAuB,KAAI+E;AAAI;IAGtClB,EAAA7F,IAAAC,OAAe6F;MACb,MAAMqB,IAAOrB,MAAgB,YAAYlG,IAAYC;MACrD,OAAOwE,EAAA;QAAUC,OAAM;QAAU8C,KAAKD;;AAAiB;IAGzDE,EAAArH,IAAAC,OAAgB;MACd,MAAMqH,IAAkBrH,KAAKc,2BAA2B;MACxD,OACEsD,EAAA;QACEC,OAAO;UACL,8BAA8B;UAC9B,gCACErE,KAAKc,2BAA2B;UAClC,iBAAiBuG;UACjB,uBAAuB;UACvB,sBAAsB;;SAGvBA,KACCjD,EAAA;QAAGC,OAAM;SAAe,cAAYrE,KAAKkB,qBAE3CkD,EAAA;QAAKC,OAAM;SACTD,EAAA;;QAEEC,OAAM;QACNiD,SAASlG,EAAApB,MAAIU,GAAA;SAEZU,EAAApB,MAAII,GAAA,KAAmBmH,OAAOC,SAGjCpD,EAAA;;QAEEC,OAAM;QACNiD,SAAStH,KAAKsC,uBAAuBlB,EAAApB,MAAIY,GAAA;QACzC6G,WAAWzH,KAAKsC;SAEflB,EAAApB,MAAII,GAAA,KAAmBmH,OAAOG;AAG5B;+BA/a2B;4BAKH;sBAKN;+BAKQ;gCAKC;;8BAUU;;uBAUnB;wCAKkC;+BAElC,IAAIC;kCAKiB;gCAKqB;mCAKL;;;;EAcpE,uBAAMC;;IACJrE,EAAAvD,MAAII,SAA2ByH,EAAOC,oBAAoB9H,KAAKkG,KAAG;IAClElG,KAAKiB,qBAAoB8G,IAAA/H,KAAK+B,qBAAqB,QAAE,QAAAgG,WAAA,aAAAA,EAAEtF;IACvDzC,KAAK8D,YAAWkE,IAAAhI,KAAK+B,qBAAqB,QAAE,QAAAiG,WAAA,aAAAA,EAAEjE;IAE9C/D,KAAK8B,+BAA+B9B,KAAK+B;;EAkW3C,MAAAkG;IACE,MAAMC,IACJlI,KAAKc,2BAA2B,SAAS;IAC3C,MAAMqH,IACJnI,KAAKmD,wBAAwBJ,WAAW,KAAK;IAC/C,OACEqB,EAACgE,GAAI;MACH/D,OAAO,sBAAsB6D,KAAuBC;OAEpD/D,EAAA;MAAUiE,OAAOhJ;QACjB+E,EAAA;MAAMC,OAAM;OACVD,EAAA;MAAQC,OAAM;OACZD,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAOC,OAAM;OACVjD,EAAApB,MAAII,GAAA,KAAmBkI,OAAOC,QAEjCnE,EAAA;MACEC,OAAM;MACNgE,OAAOjH,EAAApB,MAAIC,GAAA;MACXuI,UAAUpH,EAAApB,MAAIiE,GAAA;MACd/D,OAAOkB,EAAApB,MAAIC,GAAA,KAAiB,GAAGC;QAGhCF,KAAKc,2BAA2B,YAC/BsD,EAAA;MACEC,OAAM;MACNR,IAAG;MACH4E,aAAarH,EAAApB,MAAIF,GAAA;MACjB4I,SAAStH,EAAApB,MAAIyB,GAAA;MACbkH,aACEvH,EAAApB,MAAII,GAAA,KAAmBwI,aAAaC;MAEtCC,gBAAe;MACfC,MAAK;UAKZ/I,KAAKc,2BAA2B,YAAY,EAC3Cd,KAAKmD,wBAAwBJ,SAAS,KACpCqB,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAOC,OAAM;MAAQ2E,SAAQ;OAC1B5H,EAAApB,MAAII,GAAA,KAAmB6I,aAAaV,QAEtCnH,EAAApB,MAAI+F,GAAA,KAA+BzE,KAAnCtB,MAAoC,QAGzCoE,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAOC,OAAM;MAAQ2E,SAAQ;OAC1B5H,EAAApB,MAAII,GAAA,KAAmB8I,WAAWX,QAEpCnH,EAAApB,MAAI2G,GAAA,KAA4BrF,KAAhCtB,UAIJA,KAAKc,2BAA2B,SAC/BsD,EAAA;MAASC,OAAM;OACbD,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAOC,OAAM;MAAQ2E,SAAQ;OAC1B5H,EAAApB,MAAII,GAAA,KAAmB+I,OAAO1G,YAEjC2B,EAAA;;MAEEC,OAAO;QAAE+E,OAAS;QAAM,gBAAgBpJ,KAAKmB;;MAC7C0C,IAAG;MACH3D,OAAOF,KAAKuB;MACZmH,SAAShH,KACPN,EAAApB,MAAIoC,GAAA,KAAcd,KAAlBtB,MAAmB0B,GAAO;MAE5BiH,aAAavH,EAAApB,MAAII,GAAA,KAAmBwI,aAAanG;MACjDwD,KAAKC,KAAO3C,EAAAvD,MAAIS,GAAgByF,GAAuB;SAG3D9B,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAOC,OAAM;MAAQ2E,SAAQ;OAC1B5H,EAAApB,MAAII,GAAA,KAAmB+I,OAAOjH,aAEjCkC,EAAA;;MAEEC,OAAM;MACNR,IAAG;MACH3D,OAAOF,KAAKwB;MACZkH,SAAShH,KACPN,EAAApB,MAAIoC,GAAA,KAAcd,KAAlBtB,MAAmB0B,GAAO;MAE5BiH,aAAavH,EAAApB,MAAII,GAAA,KAAmBwI,aAAa1G;MACjDmH,WAAW;UAGbrJ,KAAKmB,cACLiD,EAAA;MACEC,OAAM;MACNiB,eACElE,EAAApB,MAAIS,GAAA;MAEN8E,YAAW;MACXC,aAAab,EAAOc,gBAAgBD;MACpCE,OAAOf,EAAOc,gBAAgBC;OAE7BtE,EAAApB,MAAII,GAAA,KAAmBkJ,OAAOC,qBAOxCnI,EAAApB,MAAIoH,GAAA,KAAc9F,KAAlBtB"}
@@ -2,7 +2,7 @@ import { r as t, g as i, h as e, H as s, a as n } from "./p-97107ecc.js";
2
2
 
3
3
  import { g as o } from "./p-401bfc97.js";
4
4
 
5
- import { c as a } from "./p-44e5e972.js";
5
+ import { c as a } from "./p-9a03ac9f.js";
6
6
 
7
7
  import { L as l } from "./p-311eedf3.js";
8
8
 
@@ -323,4 +323,4 @@ I = new WeakMap, L = new WeakMap;
323
323
  A.style = d;
324
324
 
325
325
  export { A as gx_ide_json_import };
326
- //# sourceMappingURL=p-4dd3af73.entry.js.map
326
+ //# sourceMappingURL=p-d01bbc7a.entry.js.map
@@ -2,7 +2,7 @@ import { r as e, c as t, h as r, H as o, a } from "./p-97107ecc.js";
2
2
 
3
3
  import { L as i } from "./p-311eedf3.js";
4
4
 
5
- import { c as s } from "./p-44e5e972.js";
5
+ import { c as s } from "./p-9a03ac9f.js";
6
6
 
7
7
  const l = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.pill-tag{padding:1px 4px;border-radius:2px;min-inline-size:40px;text-align:center;margin-inline-end:10px;font-size:11px}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}:host{display:block}.roles__container{display:grid;height:100%;box-sizing:border-box;grid-template-columns:1fr 1fr;gap:var(--gx-ide-form-items-gap)}.roles__role{display:grid;grid-template-rows:auto 1fr;overflow:auto}.roles__list{display:flex;flex-direction:column;height:100%;overflow:auto}.roles__list-header{display:grid;grid-template-rows:auto 1fr;gap:var(--mer-spacing--xs)}.roles__list-title{background-color:var(--mer-color__elevation--01);display:flex;align-items:center;justify-content:center}.add-remove-buttons{display:flex;justify-content:space-between}";
8
8
 
@@ -229,4 +229,4 @@ const n = class {
229
229
  n.style = l;
230
230
 
231
231
  export { n as gx_ide_bpm_assign_roles };
232
- //# sourceMappingURL=p-833ae3bf.entry.js.map
232
+ //# sourceMappingURL=p-da7df3dc.entry.js.map
@@ -1,6 +1,6 @@
1
1
  import { r as e, c as t, h as r, H as a, a as o } from "./p-97107ecc.js";
2
2
 
3
- import { c as i } from "./p-44e5e972.js";
3
+ import { c as i } from "./p-9a03ac9f.js";
4
4
 
5
5
  import { L as s } from "./p-311eedf3.js";
6
6
 
@@ -103,4 +103,4 @@ const n = class {
103
103
  n.style = l;
104
104
 
105
105
  export { n as gx_ide_wf_settings };
106
- //# sourceMappingURL=p-9d1316d4.entry.js.map
106
+ //# sourceMappingURL=p-e7738191.entry.js.map
@@ -0,0 +1,27 @@
1
+ import { h as r } from "./p-97107ecc.js";
2
+
3
+ const mapOptionsToComboBoxItemModel = r => r.map((r => {
4
+ var t;
5
+ return {
6
+ value: r.id,
7
+ caption: r.label,
8
+ startImgSrc: (t = r.iconName) !== null && t !== void 0 ? t : ""
9
+ };
10
+ }));
11
+
12
+ const escapeRegExp = r => r.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
13
+
14
+ const hiChar = (t, n) => {
15
+ if (!n) {
16
+ return t;
17
+ }
18
+ const s = escapeRegExp(n);
19
+ const c = t.split(new RegExp(`(${s})`, "gi"));
20
+ return c.map(((t, s) => t.toLowerCase() === n.toLowerCase() ? r("span", {
21
+ key: s,
22
+ class: "hiChar"
23
+ }, t) : t));
24
+ };
25
+
26
+ export { hiChar as h, mapOptionsToComboBoxItemModel as m };
27
+ //# sourceMappingURL=p-edcd0022.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["mapOptionsToComboBoxItemModel","options","map","option","value","id","caption","label","startImgSrc","_a","iconName","escapeRegExp","string","replace","hiChar","text","search","escapedSearch","parts","split","RegExp","part","i","toLowerCase","h","key","class"],"sources":["src/components/ww-files/helpers.tsx"],"sourcesContent":["import { h } from \"@stencil/core\";\n\nimport { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\nimport { GxOption } from \"../..\";\n\nexport const mapOptionsToComboBoxItemModel = (\n options: GxOption[]\n): ComboBoxModel => {\n return options.map(option => {\n return {\n value: option.id,\n caption: option.label,\n startImgSrc: option.iconName ?? \"\"\n };\n });\n};\n\nconst escapeRegExp = (string: string) => {\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n};\n\nexport const hiChar = (text: string, search: string): Element[] | string => {\n if (!search) {\n return text;\n }\n const escapedSearch = escapeRegExp(search);\n const parts = text.split(new RegExp(`(${escapedSearch})`, \"gi\"));\n return parts.map((part, i) =>\n part.toLowerCase() === search.toLowerCase() ? (\n <span key={i} class=\"hiChar\">\n {part}\n </span>\n ) : (\n part\n )\n );\n};\n"],"mappings":";;MAKaA,gCACXC,KAEOA,EAAQC,KAAIC;;EACjB,OAAO;IACLC,OAAOD,EAAOE;IACdC,SAASH,EAAOI;IAChBC,cAAaC,IAAAN,EAAOO,cAAQ,QAAAD,WAAA,IAAAA,IAAI;;AACjC;;AAIL,MAAME,eAAgBC,KACbA,EAAOC,QAAQ,uBAAuB;;MAGlCC,SAAS,CAACC,GAAcC;EACnC,KAAKA,GAAQ;IACX,OAAOD;;EAET,MAAME,IAAgBN,aAAaK;EACnC,MAAME,IAAQH,EAAKI,MAAM,IAAIC,OAAO,IAAIH,MAAkB;EAC1D,OAAOC,EAAMhB,KAAI,CAACmB,GAAMC,MACtBD,EAAKE,kBAAkBP,EAAOO,gBAC5BC,EAAA;IAAMC,KAAKH;IAAGI,OAAM;KACjBL,KACI;AAIV"}
@@ -1,4 +1,5 @@
1
1
  import { ObjectType } from "../../../components";
2
+ import { ContextMenuCallback } from "../../../components";
2
3
  export declare class GxIdeTeamDevBringChanges {
3
4
  #private;
4
5
  el: HTMLGxIdeTeamDevBringChangesElement;
@@ -15,10 +16,6 @@ export declare class GxIdeTeamDevBringChanges {
15
16
  * True while commitObjects hasn't been loaded or is empty. Used to display a loader.
16
17
  */
17
18
  loading: boolean;
18
- /**
19
- * The current search filter value
20
- */
21
- menuContextAction: ObjectActionTaken;
22
19
  /**
23
20
  * It hols a boolean indicating if at least one object from the tabular-grid is checked, for merging.
24
21
  */
@@ -61,10 +58,6 @@ export declare class GxIdeTeamDevBringChanges {
61
58
  */
62
59
  readonly commitObjects: CommitObject[];
63
60
  commitObjectsChanged(newCommitObjects: CommitObject[]): void;
64
- /**
65
- * Determines whether the row options are enabled or not.
66
- */
67
- readonly enableRowOptions: boolean;
68
61
  /**
69
62
  * Determines whether the filters are rendered or not.
70
63
  */
@@ -80,7 +73,11 @@ export declare class GxIdeTeamDevBringChanges {
80
73
  /**
81
74
  * If true, the "Action" column will display a button instead of a pill, only when the action is
82
75
  */
83
- readonly mergePillAsButton: boolean;
76
+ readonly revertPillAsButton: boolean;
77
+ /**
78
+ * Invoked when user activates the context menu on th grid.
79
+ */
80
+ readonly contextMenuCallback: ContextMenuCallback;
84
81
  componentWillLoad(): Promise<void>;
85
82
  /**
86
83
  * It allows the host updating an object state, by providing the object id.
@@ -1,5 +1,5 @@
1
1
  import { JSX } from "../../../stencil-public-runtime";
2
- import { ObjectState } from "./types";
2
+ import { ObjectState } from "../version-control/common/types";
3
3
  import { ObjectType } from "../../../components";
4
4
  /**
5
5
  * Renders a visual indicator (icon and label) for a given object state.