@genexus/genexus-ide-ui 1.1.33 → 1.1.35

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 (280) 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 +12 -3
  19. package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
  20. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +31 -11
  21. package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
  22. package/dist/cjs/gx-ide-new-object.cjs.entry.js +1 -1
  23. package/dist/cjs/gx-ide-new-version.cjs.entry.js +1 -1
  24. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
  25. package/dist/cjs/gx-ide-plugin-explorer.cjs.entry.js +1 -1
  26. package/dist/cjs/gx-ide-server-selector.cjs.entry.js +5 -3
  27. package/dist/cjs/gx-ide-server-selector.cjs.entry.js.map +1 -1
  28. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
  29. package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js +18 -29
  30. package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js.map +1 -1
  31. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +6 -15
  32. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
  33. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js +1 -1
  34. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +1 -1
  35. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +92 -53
  36. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
  37. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +111 -36
  38. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js.map +1 -1
  39. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +497 -234
  40. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
  41. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +1 -1
  42. package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js +1 -1
  43. package/dist/cjs/gx-ide-ww-files.cjs.entry.js +1 -1
  44. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
  45. package/dist/cjs/helpers-456ecc75.js +16 -0
  46. package/dist/cjs/helpers-456ecc75.js.map +1 -0
  47. package/dist/cjs/loader.cjs.js +1 -1
  48. package/dist/collection/common/config.js +1 -1
  49. package/dist/collection/common/config.js.map +1 -1
  50. package/dist/collection/components/data-type-selector/gx-ide-assets/data-type-selector/langs/data-type-selector.lang.en.json +1 -1
  51. package/dist/collection/components/new-environment/new-environment.js +33 -3
  52. package/dist/collection/components/new-environment/new-environment.js.map +1 -1
  53. package/dist/collection/components/new-kb/new-kb.js +55 -14
  54. package/dist/collection/components/new-kb/new-kb.js.map +1 -1
  55. package/dist/collection/components/new-kb/tests/new-kb.e2e.js +10 -1
  56. package/dist/collection/components/new-kb/tests/new-kb.e2e.js.map +1 -1
  57. package/dist/collection/components/plugin-explorer/gx-ide-assets/plugin-explorer/langs/plugin-explorer.lang.en.json +1 -1
  58. package/dist/collection/components/plugin-explorer/gx-ide-assets/plugin-explorer/langs/plugin-explorer.lang.zh.json +1 -1
  59. package/dist/collection/components/start-page/gx-ide-assets/start-page/langs/start-page.lang.en.json +1 -1
  60. package/dist/collection/components/start-page/gx-ide-assets/start-page/langs/start-page.lang.zh.json +1 -1
  61. package/dist/collection/components/team-dev/bring-changes/bring-changes.css +3 -3
  62. package/dist/collection/components/team-dev/bring-changes/bring-changes.js +43 -49
  63. package/dist/collection/components/team-dev/bring-changes/bring-changes.js.map +1 -1
  64. 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
  65. 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
  66. package/dist/collection/components/team-dev/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.en.json +2 -2
  67. package/dist/collection/components/team-dev/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.ja.json +1 -1
  68. package/dist/collection/components/team-dev/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.zh.json +2 -2
  69. package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js +1 -1
  70. package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js.map +1 -1
  71. package/dist/collection/components/team-dev/connect-gx-server/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.en.json +1 -1
  72. package/dist/collection/components/team-dev/connect-gx-server/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.ja.json +1 -1
  73. package/dist/collection/components/team-dev/connect-gx-server/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.zh.json +1 -1
  74. package/dist/collection/components/team-dev/server-selector/server-selector.js +4 -2
  75. package/dist/collection/components/team-dev/server-selector/server-selector.js.map +1 -1
  76. package/dist/collection/components/team-dev/update/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.en.json +49 -28
  77. package/dist/collection/components/team-dev/update/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.ja.json +58 -37
  78. package/dist/collection/components/team-dev/update/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.zh.json +49 -28
  79. package/dist/collection/components/team-dev/update/types.js +2 -0
  80. package/dist/collection/components/team-dev/update/types.js.map +1 -0
  81. package/dist/collection/components/team-dev/update/update.css +268 -606
  82. package/dist/collection/components/team-dev/update/update.js +566 -411
  83. package/dist/collection/components/team-dev/update/update.js.map +1 -1
  84. package/dist/collection/components/team-dev/update/utilities/actions-combo-box-model.js +2 -0
  85. package/dist/collection/components/team-dev/update/utilities/actions-combo-box-model.js.map +1 -0
  86. 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
  87. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.css +16 -590
  88. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js +100 -78
  89. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js.map +1 -1
  90. 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
  91. package/dist/collection/components/team-dev/update-to-revision/gx-ide-assets/team-dev-update-to-revision/shortcuts.json +3 -3
  92. package/dist/collection/components/team-dev/update-to-revision/helpers.js +6 -0
  93. package/dist/collection/components/team-dev/update-to-revision/helpers.js.map +1 -0
  94. package/dist/collection/components/team-dev/update-to-revision/update-to-revision.css +11 -596
  95. package/dist/collection/components/team-dev/update-to-revision/update-to-revision.js +133 -56
  96. package/dist/collection/components/team-dev/update-to-revision/update-to-revision.js.map +1 -1
  97. package/dist/components/config.js +1 -1
  98. package/dist/components/config.js.map +1 -1
  99. package/dist/components/gx-ide-connect-gx-server.js +1 -1
  100. package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
  101. package/dist/components/gx-ide-new-environment.js +13 -3
  102. package/dist/components/gx-ide-new-environment.js.map +1 -1
  103. package/dist/components/gx-ide-new-kb.js +34 -13
  104. package/dist/components/gx-ide-new-kb.js.map +1 -1
  105. package/dist/components/gx-ide-server-selector.js +4 -2
  106. package/dist/components/gx-ide-server-selector.js.map +1 -1
  107. package/dist/components/gx-ide-team-dev-bring-changes.js +20 -32
  108. package/dist/components/gx-ide-team-dev-bring-changes.js.map +1 -1
  109. package/dist/components/gx-ide-team-dev-commit.js +1 -10
  110. package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
  111. package/dist/components/gx-ide-team-dev-update-partial-selection.js +93 -67
  112. package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
  113. package/dist/components/gx-ide-team-dev-update-to-revision.js +115 -51
  114. package/dist/components/gx-ide-team-dev-update-to-revision.js.map +1 -1
  115. package/dist/components/gx-ide-team-dev-update.js +528 -267
  116. package/dist/components/gx-ide-team-dev-update.js.map +1 -1
  117. package/dist/components/helpers2.js +13 -0
  118. package/dist/components/helpers2.js.map +1 -0
  119. package/dist/esm/{config-73a57a22.js → config-9eaeb14b.js} +2 -2
  120. package/dist/esm/config-9eaeb14b.js.map +1 -0
  121. package/dist/esm/genexus-ide-ui.js +1 -1
  122. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +1 -1
  123. package/dist/esm/gx-ide-bpm-assign-roles.entry.js +1 -1
  124. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +1 -1
  125. package/dist/esm/gx-ide-bpm-import-files.entry.js +1 -1
  126. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +1 -1
  127. package/dist/esm/gx-ide-bpm-objects-selector.entry.js +1 -1
  128. package/dist/esm/gx-ide-bpm-timer-duration.entry.js +1 -1
  129. package/dist/esm/gx-ide-connect-gx-server.entry.js +2 -2
  130. package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
  131. package/dist/esm/gx-ide-create-kb-from-server.entry.js +1 -1
  132. package/dist/esm/gx-ide-curl-inspector.entry.js +1 -1
  133. package/dist/esm/gx-ide-data-selector.entry.js +1 -1
  134. package/dist/esm/gx-ide-design-import.entry.js +1 -1
  135. package/dist/esm/gx-ide-json-import.entry.js +1 -1
  136. package/dist/esm/gx-ide-new-environment.entry.js +12 -3
  137. package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
  138. package/dist/esm/gx-ide-new-kb.entry.js +32 -12
  139. package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
  140. package/dist/esm/gx-ide-new-object.entry.js +1 -1
  141. package/dist/esm/gx-ide-new-version.entry.js +1 -1
  142. package/dist/esm/gx-ide-object-selector.entry.js +1 -1
  143. package/dist/esm/gx-ide-plugin-explorer.entry.js +1 -1
  144. package/dist/esm/gx-ide-server-selector.entry.js +5 -3
  145. package/dist/esm/gx-ide-server-selector.entry.js.map +1 -1
  146. package/dist/esm/gx-ide-share-kb.entry.js +1 -1
  147. package/dist/esm/gx-ide-team-dev-bring-changes.entry.js +18 -29
  148. package/dist/esm/gx-ide-team-dev-bring-changes.entry.js.map +1 -1
  149. package/dist/esm/gx-ide-team-dev-commit.entry.js +2 -11
  150. package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
  151. package/dist/esm/gx-ide-team-dev-history.entry.js +1 -1
  152. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +1 -1
  153. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +92 -53
  154. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
  155. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +111 -36
  156. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js.map +1 -1
  157. package/dist/esm/gx-ide-team-dev-update.entry.js +498 -235
  158. package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
  159. package/dist/esm/gx-ide-wf-settings.entry.js +1 -1
  160. package/dist/esm/gx-ide-ww-attributes.entry.js +1 -1
  161. package/dist/esm/gx-ide-ww-files.entry.js +1 -1
  162. package/dist/esm/gx-ide-ww-images.entry.js +1 -1
  163. package/dist/esm/helpers-e1db579e.js +13 -0
  164. package/dist/esm/helpers-e1db579e.js.map +1 -0
  165. package/dist/esm/loader.js +1 -1
  166. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  167. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  168. package/dist/genexus-ide-ui/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.en.json +1 -1
  169. package/dist/genexus-ide-ui/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.ja.json +1 -1
  170. package/dist/genexus-ide-ui/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.zh.json +1 -1
  171. package/dist/genexus-ide-ui/gx-ide-assets/data-type-selector/langs/data-type-selector.lang.en.json +1 -1
  172. package/dist/genexus-ide-ui/gx-ide-assets/plugin-explorer/langs/plugin-explorer.lang.en.json +1 -1
  173. package/dist/genexus-ide-ui/gx-ide-assets/plugin-explorer/langs/plugin-explorer.lang.zh.json +1 -1
  174. package/dist/genexus-ide-ui/gx-ide-assets/start-page/langs/start-page.lang.en.json +1 -1
  175. package/dist/genexus-ide-ui/gx-ide-assets/start-page/langs/start-page.lang.zh.json +1 -1
  176. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-bring-changes/langs/team-dev-bring-changes.lang.en.json +1 -1
  177. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-bring-changes/langs/team-dev-bring-changes.lang.zh.json +1 -1
  178. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.en.json +2 -2
  179. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.ja.json +1 -1
  180. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.zh.json +2 -2
  181. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.en.json +49 -28
  182. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.ja.json +58 -37
  183. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.zh.json +49 -28
  184. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-update-partial-selection/langs/team-dev-update-partial-selection.lang.zh.json +11 -11
  185. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-update-to-revision/langs/team-dev-update-to-revision.lang.zh.json +5 -5
  186. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-update-to-revision/shortcuts.json +3 -3
  187. package/dist/genexus-ide-ui/p-08d90282.entry.js +178 -0
  188. package/dist/genexus-ide-ui/p-08d90282.entry.js.map +1 -0
  189. package/dist/genexus-ide-ui/{p-dc1a9bd5.entry.js → p-09a634fc.entry.js} +3 -3
  190. package/dist/genexus-ide-ui/p-09a634fc.entry.js.map +1 -0
  191. package/dist/genexus-ide-ui/{p-8c125495.entry.js → p-0ae0616f.entry.js} +2 -2
  192. package/dist/genexus-ide-ui/{p-00e51225.entry.js → p-1056dfe7.entry.js} +2 -2
  193. package/dist/genexus-ide-ui/{p-8d570fd2.entry.js → p-12b563fe.entry.js} +61 -51
  194. package/dist/genexus-ide-ui/p-12b563fe.entry.js.map +1 -0
  195. package/dist/genexus-ide-ui/{p-a5b30dc7.entry.js → p-13f4b647.entry.js} +2 -2
  196. package/dist/genexus-ide-ui/{p-54946b5e.entry.js → p-159164d6.entry.js} +2 -2
  197. package/dist/genexus-ide-ui/{p-6945a7ad.entry.js → p-16a88fc3.entry.js} +6 -6
  198. package/dist/genexus-ide-ui/{p-2c6ab8f4.entry.js → p-1d044bf5.entry.js} +2 -2
  199. package/dist/genexus-ide-ui/p-1f7ef8ba.entry.js +603 -0
  200. package/dist/genexus-ide-ui/p-1f7ef8ba.entry.js.map +1 -0
  201. package/dist/genexus-ide-ui/{p-e1d947d7.entry.js → p-2ce60f4c.entry.js} +2 -2
  202. package/dist/genexus-ide-ui/{p-38f135a5.entry.js → p-3b955964.entry.js} +2 -2
  203. package/dist/genexus-ide-ui/{p-ec9e0915.entry.js → p-3dc5d62e.entry.js} +229 -210
  204. package/dist/genexus-ide-ui/p-3dc5d62e.entry.js.map +1 -0
  205. package/dist/genexus-ide-ui/{p-56308ae7.entry.js → p-443fc479.entry.js} +2 -2
  206. package/dist/genexus-ide-ui/{p-952d84f8.entry.js → p-49f765ef.entry.js} +163 -172
  207. package/dist/genexus-ide-ui/p-49f765ef.entry.js.map +1 -0
  208. package/dist/genexus-ide-ui/{p-68ff4ac9.entry.js → p-4ef96726.entry.js} +2 -2
  209. package/dist/genexus-ide-ui/{p-e06cfa27.entry.js → p-59908901.entry.js} +2 -2
  210. package/dist/genexus-ide-ui/{p-57b8dd3d.entry.js → p-5a328be1.entry.js} +2 -2
  211. package/dist/genexus-ide-ui/{p-3817c664.entry.js → p-646ddf49.entry.js} +2 -2
  212. package/dist/genexus-ide-ui/{p-3d7ed559.entry.js → p-730f0cd3.entry.js} +2 -2
  213. package/dist/genexus-ide-ui/{p-4c37ff28.entry.js → p-7836028c.entry.js} +2 -2
  214. package/dist/genexus-ide-ui/{p-f94cb936.entry.js → p-7adb9d1f.entry.js} +2 -2
  215. package/dist/genexus-ide-ui/p-7f091892.entry.js +222 -0
  216. package/dist/genexus-ide-ui/p-7f091892.entry.js.map +1 -0
  217. package/dist/genexus-ide-ui/p-821431b4.js +13 -0
  218. package/dist/genexus-ide-ui/p-821431b4.js.map +1 -0
  219. package/dist/genexus-ide-ui/{p-44e5e972.js → p-9a03ac9f.js} +2 -2
  220. package/dist/genexus-ide-ui/{p-44e5e972.js.map → p-9a03ac9f.js.map} +1 -1
  221. package/dist/genexus-ide-ui/{p-9b1550be.entry.js → p-9ad85231.entry.js} +2 -2
  222. package/dist/genexus-ide-ui/{p-bb0cdfe6.entry.js → p-b5d8589f.entry.js} +2 -2
  223. package/dist/genexus-ide-ui/{p-7fe4387b.entry.js → p-be84e15b.entry.js} +2 -2
  224. package/dist/genexus-ide-ui/{p-923744e7.entry.js → p-bee71b20.entry.js} +25 -23
  225. package/dist/genexus-ide-ui/p-bee71b20.entry.js.map +1 -0
  226. package/dist/genexus-ide-ui/{p-4dd3af73.entry.js → p-d01bbc7a.entry.js} +2 -2
  227. package/dist/genexus-ide-ui/p-d1374a00.entry.js +728 -0
  228. package/dist/genexus-ide-ui/p-d1374a00.entry.js.map +1 -0
  229. package/dist/genexus-ide-ui/{p-833ae3bf.entry.js → p-da7df3dc.entry.js} +2 -2
  230. package/dist/genexus-ide-ui/{p-9d1316d4.entry.js → p-e7738191.entry.js} +2 -2
  231. package/dist/genexus-ide-ui/{p-212ca306.entry.js → p-f242ae04.entry.js} +2 -2
  232. package/dist/types/components/new-environment/new-environment.d.ts +6 -1
  233. package/dist/types/components/new-kb/new-kb.d.ts +7 -2
  234. package/dist/types/components/team-dev/bring-changes/bring-changes.d.ts +6 -9
  235. package/dist/types/components/team-dev/update/types.d.ts +1 -0
  236. package/dist/types/components/team-dev/update/update.d.ts +98 -110
  237. package/dist/types/components/team-dev/update/utilities/actions-combo-box-model.d.ts +0 -0
  238. package/dist/types/components/team-dev/update-partial-selection/update-partial-selection.d.ts +8 -25
  239. package/dist/types/components/team-dev/update-to-revision/helpers.d.ts +1 -0
  240. package/dist/types/components/team-dev/update-to-revision/update-to-revision.d.ts +8 -25
  241. package/dist/types/components.d.ts +96 -156
  242. package/package.json +1 -1
  243. package/dist/cjs/config-140f58fe.js.map +0 -1
  244. package/dist/esm/config-73a57a22.js.map +0 -1
  245. package/dist/genexus-ide-ui/p-0391a478.entry.js +0 -119
  246. package/dist/genexus-ide-ui/p-0391a478.entry.js.map +0 -1
  247. package/dist/genexus-ide-ui/p-69da0cd9.entry.js +0 -201
  248. package/dist/genexus-ide-ui/p-69da0cd9.entry.js.map +0 -1
  249. package/dist/genexus-ide-ui/p-8c1ee4d9.entry.js +0 -643
  250. package/dist/genexus-ide-ui/p-8c1ee4d9.entry.js.map +0 -1
  251. package/dist/genexus-ide-ui/p-8d570fd2.entry.js.map +0 -1
  252. package/dist/genexus-ide-ui/p-923744e7.entry.js.map +0 -1
  253. package/dist/genexus-ide-ui/p-952d84f8.entry.js.map +0 -1
  254. package/dist/genexus-ide-ui/p-b2854730.entry.js +0 -641
  255. package/dist/genexus-ide-ui/p-b2854730.entry.js.map +0 -1
  256. package/dist/genexus-ide-ui/p-dc1a9bd5.entry.js.map +0 -1
  257. package/dist/genexus-ide-ui/p-ec9e0915.entry.js.map +0 -1
  258. /package/dist/genexus-ide-ui/{p-8c125495.entry.js.map → p-0ae0616f.entry.js.map} +0 -0
  259. /package/dist/genexus-ide-ui/{p-00e51225.entry.js.map → p-1056dfe7.entry.js.map} +0 -0
  260. /package/dist/genexus-ide-ui/{p-a5b30dc7.entry.js.map → p-13f4b647.entry.js.map} +0 -0
  261. /package/dist/genexus-ide-ui/{p-54946b5e.entry.js.map → p-159164d6.entry.js.map} +0 -0
  262. /package/dist/genexus-ide-ui/{p-6945a7ad.entry.js.map → p-16a88fc3.entry.js.map} +0 -0
  263. /package/dist/genexus-ide-ui/{p-2c6ab8f4.entry.js.map → p-1d044bf5.entry.js.map} +0 -0
  264. /package/dist/genexus-ide-ui/{p-e1d947d7.entry.js.map → p-2ce60f4c.entry.js.map} +0 -0
  265. /package/dist/genexus-ide-ui/{p-38f135a5.entry.js.map → p-3b955964.entry.js.map} +0 -0
  266. /package/dist/genexus-ide-ui/{p-56308ae7.entry.js.map → p-443fc479.entry.js.map} +0 -0
  267. /package/dist/genexus-ide-ui/{p-68ff4ac9.entry.js.map → p-4ef96726.entry.js.map} +0 -0
  268. /package/dist/genexus-ide-ui/{p-e06cfa27.entry.js.map → p-59908901.entry.js.map} +0 -0
  269. /package/dist/genexus-ide-ui/{p-57b8dd3d.entry.js.map → p-5a328be1.entry.js.map} +0 -0
  270. /package/dist/genexus-ide-ui/{p-3817c664.entry.js.map → p-646ddf49.entry.js.map} +0 -0
  271. /package/dist/genexus-ide-ui/{p-3d7ed559.entry.js.map → p-730f0cd3.entry.js.map} +0 -0
  272. /package/dist/genexus-ide-ui/{p-4c37ff28.entry.js.map → p-7836028c.entry.js.map} +0 -0
  273. /package/dist/genexus-ide-ui/{p-f94cb936.entry.js.map → p-7adb9d1f.entry.js.map} +0 -0
  274. /package/dist/genexus-ide-ui/{p-9b1550be.entry.js.map → p-9ad85231.entry.js.map} +0 -0
  275. /package/dist/genexus-ide-ui/{p-bb0cdfe6.entry.js.map → p-b5d8589f.entry.js.map} +0 -0
  276. /package/dist/genexus-ide-ui/{p-7fe4387b.entry.js.map → p-be84e15b.entry.js.map} +0 -0
  277. /package/dist/genexus-ide-ui/{p-4dd3af73.entry.js.map → p-d01bbc7a.entry.js.map} +0 -0
  278. /package/dist/genexus-ide-ui/{p-833ae3bf.entry.js.map → p-da7df3dc.entry.js.map} +0 -0
  279. /package/dist/genexus-ide-ui/{p-9d1316d4.entry.js.map → p-e7738191.entry.js.map} +0 -0
  280. /package/dist/genexus-ide-ui/{p-212ca306.entry.js.map → p-f242ae04.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["updateCss","CSS_BUNDLES","CHECKBOX_CHECKED_VALUE","CHECKBOX_UNCHECKED_VALUE","DETAIL_LABEL_CLASSES","ADD_ICON","getIconPath","category","name","colorType","EDITED_ICON","FILTER_ICON","SEARCH_ICON","SUBSTRACT_ICON","WARNING_ICON","ERROR_ICON","SUCCESS_ICON","INFO_ICON","REFRESH_ICON","GxIdeTeamDevUpdate","_GxIdeTeamDevUpdate_componentLocale","set","this","_GxIdeTeamDevUpdate_actionsComboBoxModel","_GxIdeTeamDevUpdate_rowCheckedChangedByTheUser","_GxIdeTeamDevUpdate_chGridPendingForUpdateEl","_GxIdeTeamDevUpdate_updateCheckedClickedHandler","async","__classPrivateFieldGet","_GxIdeTeamDevUpdate_updateObjectsHandler","call","markedObjectsSet","_GxIdeTeamDevUpdate_reloadClickedHandler","_GxIdeTeamDevUpdate_loadData","selection","__classPrivateFieldSet","updating","forEach","itemToUpdate","objectsStatusMap","updateResult","updateCallback","objectResult","messages","length","objectsMessagesDataMap","id","delete","result","alreadyUpdatedObjectsIdsSet","add","markRow","_GxIdeTeamDevUpdate_renderActionCellContent","action","icon","caption","iconColor","actions","insert","modify","modifyWithConflicts","h","class","type","src","style","backgroundColor","_GxIdeTeamDevUpdate_updateSingleObject","objectId","newobjectsStatusMap","Map","_GxIdeTeamDevUpdate_renderObjectStatus","status","get","updatePillAsButton","update","classes","onClick","_GxIdeTeamDevUpdate_renderRows","objects","pendingObjectsAfterActionFilter","ignoredObjectsAfterActionFilter","map","object","objectType","typeIcon","alreadyUpdated","has","hideCheckbox","marked","key","rowid","ref","el","setAttribute","size","renderObjectTypeWithIcon","description","formatDate","modifiedOn","message","MESSAGE_ICON","text","_GxIdeTeamDevUpdate_rowMarkingChangedHandler","event","markedRowsIds","detail","rowsId","Set","filter","markedObjectId","_GxIdeTeamDevUpdate_updatePendingCheckedItems","addedRowsIds","addedRowsId","removedRowsId","pendingItemCheckedResult","pendingItemsCheckedCallback","itemsChecked","itemsUnchecked","undefined","_GxIdeTeamDevUpdate_revertPendingCommitsCheckboxes","_GxIdeTeamDevUpdate_togglePendingCommitsCheckboxes","_GxIdeTeamDevUpdate_searchInputHandler","searchValue","_GxIdeTeamDevUpdate_actionChangedHandler","selectedAction","_GxIdeTeamDevUpdate_typeChangedHandler","selectedType","_GxIdeTeamDevUpdate_setInitialObjectsStatus","pendingAndIgnored","pendingForUpdate","pendingObject","_a","ignoredObjects","ignoredObject","forceLoad","filters","search","kbProperties","kbPropertiesChecked","loading","clear","loadCallback","_GxIdeTeamDevUpdate_markPendingObjects","pendingId","pendingIdsSet","_GxIdeTeamDevUpdate_applyClientFilter","_GxIdeTeamDevUpdate_onRowContextMenuHandler","ev","preventDefault","stopPropagation","getSelectedRows","selectedRowId","getSelectedCell","rowId","source","filteredSelection","ignoredIdsSet","selectRow","push","contextMenuCallback","clientX","clientY","itemsToToggle","itemsToCheck","itemsToUncheck","_GxIdeTeamDevUpdate_kbPropertiesChangedHandler","markedObjectsSetChanged","newMarkedObjectsSet","atLeastOneObjectIsChecked","objectsStatusMapChanged","newObjectsStatusMap","someObjectIsUpdating","entries","find","state","pendingAndIgnoredChanged","pending","ignored","componentWillLoad","Locale","getComponentStrings","allActions","value","types","typesComboBoxModel","mapObjectTypeToComboBoxItemModel","componentDidLoad","reload","render","enableRichRowSelector","disableControls","gridIsEmpty","Host","model","commitDetail","title","genexusServer","openServerCallback","updateFrom","serverUrl","knowledgeBase","kbName","version","versionName","lastFullUpdate","disabled","startImgSrc","accessibleName","searchAccessibleName","placeholder","searchPlaceholder","onInput","debounce","config","inputDebounce","typeAccesibleName","typePlaceholder","actionAccesibleName","actionPlaceholder","checkedValue","keyboardNavigationMode","rowSelectionMode","onRowMarkingChanged","onRowContextMenu","columnId","columnName","columnType","richRowSelector","richRowSelectorMode","settingable","tabularGrid","colSize","isAnimated","stateIconSrc","stateTitle","cancelLabel","loader","loaderTitle","show"],"sources":["src/components/team-dev/update/update.scss?tag=gx-ide-team-dev-update&encapsulation=shadow","src/components/team-dev/update/update.tsx"],"sourcesContent":["@import \"../common/styles.scss\";\n@import \"../../../../node_modules/@genexus/mercury/dist/assets/scss/helpers.scss\";\n@import \"../../../global/gx-ide-mixins.scss\";\n\n:host {\n --pill-border-radius: 12px;\n --pill-padding-inline: 8px;\n --pill-padding-block: 2px;\n --pill-font-size: var(--font-size-body-s);\n\n display: grid;\n block-size: 100%;\n overflow: auto;\n grid-template-rows: max-content max-content 1fr;\n}\n$header-item-common-inline-padding: 24px;\n$header-item-common-separator-border: 1px solid\n var(--mer-border-color__on-elevation--01);\n\n%header-item-common {\n padding-inline: $header-item-common-inline-padding;\n border-inline-end: $header-item-common-separator-border;\n}\n%header-item-common-start {\n padding-inline-end: $header-item-common-inline-padding;\n border-inline-end: $header-item-common-separator-border;\n}\n%header-item-common-end {\n padding-inline-start: $header-item-common-inline-padding;\n}\n\n.section {\n display: contents;\n}\n\n.header {\n display: grid;\n grid-template-columns: 1fr max-content;\n}\n\n// header detail\n.header__detail {\n display: grid;\n row-gap: var(--mer-spacing--md);\n grid-auto-columns: max-content;\n grid-auto-rows: max-content;\n grid-template-areas:\n \"detail-heading-gx . . .\"\n \"detail-genexus-server detail-knowledge-base detail-version detail-last-full-update\";\n}\n.detail__label {\n color: var(--mer-color__neutral-gray--400);\n}\n\n.detail__heading-genexus-server {\n grid-area: detail-heading-gx;\n}\n.detail__genexus-server {\n grid-area: detail-genexus-server;\n @extend %header-item-common-start;\n\n > a {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: inline-block;\n }\n}\n.detail__link {\n align-items: start;\n color: var(--mer-text__primary);\n text-decoration: underline;\n &:hover {\n color: var(--mer-text__primary--hover);\n }\n &:active {\n color: var(--mer-text__primary--active);\n }\n}\n.detail__knowledge-base {\n grid-area: detail-knowledge-base;\n @extend %header-item-common;\n}\n.detail__version {\n grid-area: detail-version;\n @extend %header-item-common;\n}\n.detail__last-full-update {\n grid-area: detail-last-full-update;\n @extend %header-item-common-end;\n}\n\n// filter\n.filter-container {\n container-type: inline-size;\n box-sizing: border-box;\n}\n.filter {\n display: grid;\n margin-block-start: var(--mer-spacing--lg);\n grid-template-areas: \"filter-search filter-types filter-actions filter-kb-properties filter-buttons\";\n grid-template-columns: 200px 200px 200px max-content 1fr;\n gap: 12px;\n}\n@container (max-width: 1100px) {\n .filter-container > .filter {\n grid-template-columns: 200px 200px 200px 1fr;\n grid-template-areas:\n \"filter-search filter-types filter-actions filter-buttons\"\n \"filter-kb-properties . . .\";\n grid-auto-rows: max-content;\n }\n}\n@container (max-width: 900px) {\n .filter-container > .filter {\n grid-template-columns: 1fr 1fr 1fr;\n grid-template-areas:\n \"filter-search filter-types filter-actions\"\n \"filter-kb-properties filter-buttons filter-buttons\";\n grid-auto-rows: max-content;\n }\n}\n.filter__search {\n grid-area: filter-search;\n}\n.filter__types {\n grid-area: filter-types;\n}\n.filter__actions {\n grid-area: filter-actions;\n}\n.filter__kb-properties {\n grid-area: filter-kb-properties;\n}\n.filter__buttons {\n margin-inline-start: auto;\n grid-area: filter-buttons;\n}\n\n// main\n.main {\n position: relative;\n display: grid;\n overflow: auto;\n}\n.loader {\n position: relative;\n inline-size: 100%;\n block-size: 100%;\n inset-block-start: 0;\n}\n.tabular-grid {\n border-radius: 4px;\n overflow: hidden;\n}\n\n.empty-state {\n block-size: 100%;\n}\n.loader {\n --elevation-background-color: var(--mer-surface__elevation--01);\n}\n\n.messages-list {\n margin: 0;\n padding: 0;\n list-style: none;\n max-inline-size: 800px;\n padding: 8px 0;\n list-style-type: none;\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--3xs);\n}\n.message-description {\n line-height: 1.5; // WA. Line height looks too tight.\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.message-icon {\n flex-shrink: 0;\n}\n\n.tabular-grid.empty-result::part(main) {\n // WA to avoid scrollbar flickering when displaying the empty-state message\n overflow: hidden;\n}\n\n// - - - - - - - - - - - - - -\n// WA (WORK AROUNDS)\n// - - - - - - - - - - - - - -\n\n.input-comments-container {\n position: relative;\n}\n// ch-edit for comments WA's\n// Figma design for this component displays the textarea witout border, and with a little more line-height.\n// The following styles are a temporary WA that should be brouhgt to Mercury DS.\n.input-comments {\n --control__border-color: transparent;\n padding-block: 0 !important;\n padding-inline: 0 !important;\n --line-height-tight: 1.4;\n block-size: 100%;\n background-color: var(--mer-surface);\n transition:\n var(--mer-timing--super-fast) block-size,\n var(--mer-timing--super-fast) background-color,\n var(--mer-timing--super-fast) padding-block,\n var(--mer-timing--super-fast) padding-inline;\n}\n.input-comments:focus {\n position: absolute;\n block-size: 200px;\n inline-size: 100%;\n z-index: 99;\n background-color: var(--mer-surface__elevation--01);\n padding-block: var(--control__padding-block) !important;\n padding-inline: var(--control__padding-inline) !important;\n}\n\nch-tabular-grid-cell.tabular-grid-cell::part(actions-icon) {\n background-size: contain; //force icon fit container\n margin-inline-end: 0;\n --icon-path: var(--icon__gemini-tools_show-more-vertical_neutral--enabled);\n cursor: pointer;\n &:hover {\n --icon-path: var(--icon__gemini-tools_show-more-vertical_neutral--hover);\n }\n &:active {\n --icon-path: var(--icon__gemini-tools_show-more-vertical_neutral--active);\n }\n}\n\n.tabular-grid-row-actions::part(main),\n.property-grid-row-actions::part(main) {\n // gap not required since buttons are tertiary.\n // extra space perceived.\n gap: 0 !important;\n}\n\n.tabular-grid-row-actions {\n // Butons are center by default, but design dictates start alignemnt\n > button {\n justify-content: start;\n }\n}\n\n// These static type of pills do not exist on Mercury yet.\n// They should be defined on Mercury. The actual pills on Mercury\n// are combo-boxes. Not what we need for this case.\n\n.pill {\n --pill-background-color: transparent;\n --pill-color: transparent;\n --pill-border-color: transparent;\n\n background-color: var(--pill-background-color);\n color: var(--pill-color);\n border: 1px solid var(--pill-border-color);\n inline-size: 100%;\n padding: var(--pill-padding-block) var(--pill-padding-inline);\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: var(--pill-border-radius);\n position: relative;\n font-weight: var(--font-weight-semi-bold);\n\n &--update,\n &--pending {\n --pill-background-color: var();\n --pill-color: var(--mer-color__neutral-gray--400);\n --pill-border-color: var();\n }\n &--to-merge-marked {\n --pill-background-color: var();\n --pill-color: var(--mer-border-color__primary);\n --pill-border-color: var();\n }\n &--ignored {\n --pill-background-color: var(--mer-surface__elevation--02);\n --pill-color: var(--mer-text__on-disabled);\n --pill-border-color: var(--mer-border-color__primary--disabled);\n }\n &--pending {\n --pill-background-color: var(--mer-color__tinted-primary--8);\n --pill-color: var(--mer-border-color__primary);\n --pill-border-color: var(--mer-color__tinted-primary--50);\n }\n &--warning {\n --pill-background-color: var(--mer-color__tinted-yellow--5);\n --pill-color: var(--mer-border-color__warning);\n --pill-border-color: var(--mer-color__tinted-yellow--60);\n }\n &--error {\n --pill-background-color: var(--mer-color__tinted-red--5);\n --pill-color: var(--mer-border-color__error);\n --pill-border-color: var(--mer-color__tinted-red--60);\n }\n &--updated {\n --pill-background-color: var(--mer-color__tinted-green--5);\n --pill-color: var(--mer-border-color__success);\n --pill-border-color: var(--mer-color__tinted-green--60);\n }\n &--transitioning {\n // used to hide the text, before updating the caption (smooth transtion)\n --pill-color: transparent;\n }\n}\n.updating-spinner-caption {\n display: flex;\n align-items: center;\n gap: 6px;\n $size: 14px;\n --status-circle-color: transparent;\n --status-circle-size: $size;\n --status-circle-inset-inline-start: 14px;\n --pill-color: var(--mer-border-color__primary);\n &::before {\n display: inline-block;\n content: \"\";\n\n @include spinner(\n $size,\n var(--mer-color__primary--300),\n var(--mer-color__tinted-primary--50)\n );\n }\n}\n.tabular-grid .button-secondary {\n --control__padding-block: var(--pill-padding-block);\n --control__padding-inline: var(--pill-padding-inline);\n font-size: inherit;\n font-weight: inherit;\n /* font-size: var(--pill-font-size); */\n}\n\n.tabular-grid .tabular-grid-cell--for-pill {\n --grid-cell__padding-block: 4px;\n align-items: center;\n justify-content: center;\n\n // --grid-cell__padding-inline: 0;\n}\n\n.tabular-grid.disabled-custom-selector .tabular-grid-cell::part(selector-label),\n.tabular-grid.disabled-custom-selector .tabular-grid-column::part(bar-selector),\n.tabular-grid.disabled-custom-selector .tabular-grid-cell::part(actions-icon) {\n pointer-events: none;\n opacity: 0.5;\n}\n.tabular-grid-column--settings-custom-selector,\n.tabular-grid-cell--settings-custom-selector {\n --grid-cell__padding-inline: 0;\n --grid-cell__padding-block: 0;\n}\n.tabular-grid-cell::part(actions-icon) {\n padding-block: 6px;\n}\nch-tabular-grid-cell.tabular-grid-cell::part(actions-icon) {\n block-size: 100%;\n display: block;\n background-size: 14px;\n padding-inline: 16px;\n}\n\n.tabular-grid-cell.no-checkbox-custom-selector::part(selector-label) {\n visibility: hidden;\n}\n\n.tabular-grid-row-actions::part(window) {\n background-color: var(--mer-surface__elevation--02) !important;\n}\n\n.tabular-grid-row .tabular-grid-cell:nth-child(3) {\n min-inline-size: 200px;\n}\n\n// - - - - - - - - - - - - - -\n// END OF WA\n// - - - - - - - - - - - - - -\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n Method,\n JSX,\n Watch\n} from \"@stencil/core\";\n\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\nimport { Locale } from \"../../../common/locale\";\nimport {\n ChCheckboxCustomEvent,\n ChEditCustomEvent,\n ComboBoxModel,\n TabularGridMarkingChangedEvent,\n TabularGridRowContextMenuEvent\n} from \"@genexus/chameleon-controls-library\";\n\nimport { renderObjectTypeWithIcon } from \"../common/utilities\";\nimport { formatDate } from \"../../../common/helpers\";\nimport {\n ContextMenuInfo,\n ItemsCheckedResult,\n ItemsCheckedState,\n ObjectType\n} from \"../../../common/types\";\nimport { config } from \"../../../common/config\";\nimport { mapObjectTypeToComboBoxItemModel } from \"../commit/helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/tabular-grid\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\n\nconst CHECKBOX_CHECKED_VALUE = \"true\";\nconst CHECKBOX_UNCHECKED_VALUE = \"false\";\n\nconst DETAIL_LABEL_CLASSES = \"detail__label body-semi-bold-s\";\n\n// icons\nconst ADD_ICON = getIconPath({\n category: \"system\",\n name: \"add\",\n colorType: \"on-elevation\"\n});\nconst EDITED_ICON = getIconPath({\n category: \"system\",\n name: \"edit\",\n colorType: \"on-elevation\"\n});\nconst FILTER_ICON = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"on-elevation\"\n});\nconst SEARCH_ICON = getIconPath({\n category: \"system\",\n name: \"search\",\n colorType: \"on-elevation\"\n});\nconst SUBSTRACT_ICON = getIconPath({\n category: \"system\",\n name: \"substract\",\n colorType: \"on-elevation\"\n});\nconst WARNING_ICON = getIconPath({\n category: \"system\",\n name: \"warning\",\n colorType: \"warning\"\n});\nconst ERROR_ICON = getIconPath({\n category: \"system\",\n name: \"error\",\n colorType: \"error\"\n});\nconst SUCCESS_ICON = getIconPath({\n category: \"system\",\n name: \"check \",\n colorType: \"success\"\n});\nconst INFO_ICON = getIconPath({\n category: \"system\",\n name: \"information\",\n colorType: \"on-elevation\"\n});\nconst REFRESH_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"reset\",\n colorType: \"neutral\"\n});\n\n@Component({\n tag: \"gx-ide-team-dev-update\",\n styleUrl: \"update.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/team-dev-update\"]\n})\nexport class GxIdeTeamDevUpdate {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n #actionsComboBoxModel: { caption: string; value: ActionForFilter }[];\n\n /**\n * Used to determine if pendingItemsCheckedCallback callback has to be called or not.\n * It should be ignored if the grid checkboxes state is changed programmatically, by\n * setting markRow to false once the object has been successfully updated, for example.\n */\n #rowCheckedChangedByTheUser: boolean = true;\n\n @Element() el: HTMLGxIdeTeamDevBringChangesElement;\n\n #chGridPendingForUpdateEl!: HTMLChTabularGridElement;\n\n // - - - - - - - - - - - - -\n // States Bring Changes\n // - - - - - - - - - - - - -\n\n /**\n * It hols a boolean indicating if at least one object from the tabular-grid is checked, for merging.\n */\n @State() atLeastOneObjectIsChecked: boolean = false;\n\n /**\n * True while commitObjects hasn't been loaded or is empty. Used to display a loader.\n */\n @State() loading: boolean = true;\n\n /**\n * The current search filter value\n */\n @State() menuContextAction: Action;\n\n /**\n * The current search filter value\n */\n @State() searchValue: string = \"\";\n\n /**\n * The current state filter value\n */\n @State() selectedAction: ActionForFilter = \"all-actions\";\n\n /**\n * A set that stores the marked state of each object cell. This is necessary because filtering the grid * causes marked cells to lose their state.\n */\n @State() markedObjectsSet: Set<string> = new Set<string>([]);\n @Watch(\"markedObjectsSet\")\n markedObjectsSetChanged(newMarkedObjectsSet: Set<string>) {\n this.atLeastOneObjectIsChecked = newMarkedObjectsSet.size > 0;\n }\n\n /**\n * A set that holds the id's of the objects that have been updated already.\n */\n @State() alreadyUpdatedObjectsIdsSet: Set<string> = new Set<string>([]);\n\n /**\n * A set that holds the id's of all the pending objects. Used to quickly determine if the selected rows belong\n * to \"pending\" or not. This information is required for the ContextMenuCallback callback. This set has to be updated\n * on every loadCallback.\n */\n @State() pendingIdsSet: Set<string> = new Set<string>([]);\n\n /**\n * A set that holds the id's of all the ignored objects. Used to quickly determine if the selected rows belong\n * to \"ignored\" or not. This information is required for the ContextMenuCallback callback. This set has to be updated\n * on every loadCallback.\n */\n @State() ignoredIdsSet: Set<string> = new Set<string>([]);\n\n /**\n * A map that holds object messages, after trying to update ('info' | ‘success’ | 'warning' | 'error')\n */\n @State() objectsMessagesDataMap: Map<string, MessageData[]> = new Map();\n\n /**\n * Set to true when objects are being mered. This helps disabling controls until all objects are done.\n */\n @State() updating: boolean = false;\n\n // - - - - - - - - - - - - -\n // State Update\n // - - - - - - - - - - - - -\n\n /**\n * The \"KB Properties\" checkbox value\n */\n @State() kbPropertiesChecked: boolean = false;\n\n /**\n * The combobox model for the types filter.\n */\n @State() typesComboBoxModel: ComboBoxModel;\n\n /**\n * The selected type\n */\n @State() selectedType: string;\n\n /**\n * A map that holds the current update objects states (\"inserted\" | \"modified\" | \"modified-with-conflicts\" | \"deleted\" | \"updating\" | \"update\")\n */\n @State() objectsStatusMap: Map<string, StatusInternal> = new Map();\n @Watch(\"objectsStatusMap\")\n objectsStatusMapChanged(newObjectsStatusMap: Map<string, StatusInternal>) {\n const someObjectIsUpdating = [...newObjectsStatusMap.entries()].find(\n ([, state]) => state === \"updating\"\n );\n\n if (!someObjectIsUpdating) {\n this.updating = false;\n }\n }\n\n // - - - - - - - - - - - - -\n // Properties Bring Changes\n // - - - - - - - - - - - - -\n\n /**\n * Callback invoked when user activates the context menu on any of the grids.\n */\n @Prop() readonly contextMenuCallback!: ContextMenuCallback;\n\n /**\n * All objects (\"pending for update\" and \"ignored objects\") before \"state\" filter\n */\n @State() pendingAndIgnored: UpdateData = {\n pendingForUpdate: [],\n ignoredObjects: []\n };\n @Watch(\"pendingAndIgnored\")\n pendingAndIgnoredChanged() {\n this.#applyClientFilter();\n this.pendingIdsSet.clear();\n this.pendingAndIgnored.pendingForUpdate.forEach(pending => {\n this.pendingIdsSet.add(pending.id);\n });\n this.ignoredIdsSet.clear();\n this.pendingAndIgnored.ignoredObjects.forEach(ignored => {\n this.ignoredIdsSet.add(ignored.id);\n });\n }\n\n /**\n * Pending objects after \"action\" filter\n */\n @State() pendingObjectsAfterActionFilter: ModifiedObject[] = [];\n\n /**\n * Ignored objects after \"action\" filter\n */\n @State() ignoredObjectsAfterActionFilter: ModifiedObject[] = [];\n\n /**\n * Callback invoked to return the list of data types loaded from file or url.\n */\n @Prop() readonly loadCallback!: LoadCallback;\n\n /**\n * Callback invoked to return information of a Font type of data.\n */\n @Prop() readonly pendingItemsCheckedCallback!: PendingItemsCheckedCallback;\n\n /**\n * Possible values for type filter\n */\n @Prop() readonly types: ObjectType[];\n\n /**\n * If true, the \"Action\" column will display a button instead of a pill, only when the action is\n */\n @Prop() readonly updatePillAsButton: boolean = false;\n\n // - - - - - - - - - - - - -\n // Properties Update\n // - - - - - - - - - - - - -\n\n /**\n * Callback invoked when the update process is to be started (’Update’ button).\n */\n @Prop() readonly updateCallback!: UpdateCallback;\n\n /**\n * Callback invoked when user clicks in server url of Update From group.\n */\n @Prop() readonly openServerCallback!: () => Promise<void>;\n\n /**\n * Information to show in Update From group.\n */\n @Prop() readonly updateFrom: UpdateFromData;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n\n // Initiate \"actions\" combo box filter\n this.#actionsComboBoxModel = [\n {\n caption: this.#componentLocale.actions.allActions,\n value: \"all-actions\"\n },\n {\n caption: this.#componentLocale.actions.insert,\n value: \"inserted\"\n },\n {\n caption: this.#componentLocale.actions.modify,\n value: \"modified\"\n },\n {\n caption: this.#componentLocale.actions.modifyWithConflicts,\n value: \"modified-with-conflicts\"\n },\n {\n caption: this.#componentLocale.actions.delete,\n value: \"deleted\"\n }\n ];\n\n // Set type initial value\n this.selectedType = this.types[0]?.id;\n\n this.typesComboBoxModel = mapObjectTypeToComboBoxItemModel(this.types);\n }\n\n async componentDidLoad() {\n await this.#loadData(true);\n }\n\n /**\n * Used by the host to instruct the component to force a data reload in the grids.\n */\n @Method()\n async reload() {\n this.#loadData(true);\n }\n\n #updateCheckedClickedHandler = async () => {\n this.#updateObjectsHandler([...this.markedObjectsSet]);\n };\n\n #reloadClickedHandler = async () => {\n this.#loadData(true);\n };\n\n #updateObjectsHandler = async (selection: string[]) => {\n this.#rowCheckedChangedByTheUser = false;\n this.updating = true;\n\n selection.forEach(itemToUpdate => {\n this.objectsStatusMap.set(itemToUpdate, \"updating\");\n });\n\n const updateResult = await this.updateCallback(selection);\n updateResult.forEach(async objectResult => {\n const messages = objectResult.messages;\n if (messages.length) {\n this.objectsMessagesDataMap.set(objectResult.id, objectResult.messages);\n } else {\n // clear messages\n this.objectsMessagesDataMap.delete(objectResult.id);\n }\n if (objectResult.result === \"updated\") {\n this.alreadyUpdatedObjectsIdsSet.add(objectResult.id);\n this.objectsStatusMap.set(objectResult.id, \"updated\");\n await this.#chGridPendingForUpdateEl.markRow(objectResult.id, false);\n } else {\n this.objectsStatusMap.set(objectResult.id, \"pending\");\n }\n });\n this.updating = false;\n };\n\n #renderActionCellContent = (\n action: Action\n ): JSX.Element[] | null | string => {\n let icon: string;\n let caption: string;\n let iconColor: string;\n\n if (action === \"deleted\") {\n icon = SUBSTRACT_ICON;\n caption = this.#componentLocale.actions.delete;\n iconColor = \"--mer-icon__error\";\n } else if (action === \"inserted\") {\n icon = ADD_ICON;\n caption = this.#componentLocale.actions.insert;\n iconColor = \"--mer-icon__success\";\n } else if (action === \"modified\") {\n icon = EDITED_ICON;\n caption = this.#componentLocale.actions.modify;\n iconColor = \"--mer-icon__warning\";\n } else if (action === \"modified-with-conflicts\") {\n icon = WARNING_ICON;\n caption = this.#componentLocale.actions.modifyWithConflicts;\n iconColor = \"--mer-icon__warning\";\n } else if (!action) {\n // proably is \"ignored\"\n return null;\n }\n\n return (\n <span class=\"custom-icon-text-wrapper\">\n <ch-image\n type=\"mask\"\n class=\"icon-md\"\n src={icon}\n style={{ backgroundColor: `var(${iconColor})` }}\n ></ch-image>\n {`${caption}`}\n </span>\n );\n };\n\n #updateSingleObject: (objectId: string) => () => void =\n objectId => async () => {\n const newobjectsStatusMap = new Map(this.objectsStatusMap);\n newobjectsStatusMap.set(objectId, \"updating\");\n this.objectsStatusMap = newobjectsStatusMap;\n this.#updateObjectsHandler([objectId]);\n };\n\n #renderObjectStatus = (objectId: string): JSX.Element[] => {\n const status = this.objectsStatusMap.get(objectId);\n\n const caption =\n status === \"pending\" && this.updatePillAsButton\n ? this.#componentLocale.status.update\n : this.#componentLocale.status[status];\n if (status === \"updating\") {\n return <span class=\"updating-spinner-caption\">{caption}</span>;\n }\n const classes = `pill pill--${status}`;\n if (this.updatePillAsButton && status === \"pending\") {\n return (\n <button\n class=\"button-secondary pill pill--update\"\n onClick={this.#updateSingleObject(objectId)}\n >\n {caption}\n </button>\n );\n } else {\n return <span class={classes}>{caption}</span>;\n }\n };\n\n #renderRows = (type: UpdateSourceType): JSX.Element[] => {\n let objects: ModifiedObject[];\n if (type === \"pending\") {\n objects = this.pendingObjectsAfterActionFilter;\n } else if (type === \"ignored\") {\n objects = this.ignoredObjectsAfterActionFilter;\n }\n\n return objects.map(object => {\n const objectType: ObjectType = {\n id: object.id,\n icon: object.typeIcon,\n name: object.name\n };\n\n const alreadyUpdated = this.alreadyUpdatedObjectsIdsSet.has(object.id);\n const hideCheckbox = alreadyUpdated || type === \"ignored\";\n\n const marked = this.markedObjectsSet.has(object.id);\n\n const messages = this.objectsMessagesDataMap.get(object.id);\n\n return (\n <ch-tabular-grid-row\n class=\"tabular-grid-row\"\n key={object.id}\n rowid={object.id}\n ref={(el: HTMLElement) =>\n marked && el?.setAttribute(\"marked\", \"true\")\n }\n >\n <ch-tabular-grid-cell\n cell-type=\"rich\"\n row-selector=\"true\"\n class={{\n \"tabular-grid-cell\": true,\n \"no-checkbox-custom-selector\": hideCheckbox\n }}\n size=\"max-content\"\n >\n {object.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {renderObjectTypeWithIcon(objectType)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {object.description}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {formatDate(object.modifiedOn)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#renderActionCellContent(object.action)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell tabular-grid-cell--for-pill\">\n {this.#renderObjectStatus(object.id)}\n </ch-tabular-grid-cell>\n\n {messages?.length && (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty\n class={{\n \"tabular-grid-rowset-empty\": true\n }}\n >\n <ul class=\"messages-list\">\n {messages.map(message => {\n let MESSAGE_ICON;\n if (message.type === \"error\") {\n MESSAGE_ICON = ERROR_ICON;\n } else if (message.type === \"warning\") {\n MESSAGE_ICON = WARNING_ICON;\n } else if (message.type === \"success\") {\n MESSAGE_ICON = SUCCESS_ICON;\n } else {\n // info\n MESSAGE_ICON = INFO_ICON;\n }\n\n return (\n <li class=\"message-description\">\n <ch-image\n class=\"icon-md message-icon\"\n src={MESSAGE_ICON}\n ></ch-image>\n {message.text}\n </li>\n );\n })}\n </ul>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid-row>\n );\n });\n };\n\n #rowMarkingChangedHandler = async (\n event: CustomEvent<TabularGridMarkingChangedEvent>\n ) => {\n const markedRowsIds = event.detail.rowsId;\n this.markedObjectsSet = new Set(\n markedRowsIds.filter(\n markedObjectId => !this.alreadyUpdatedObjectsIdsSet.has(markedObjectId)\n )\n );\n\n if (this.#rowCheckedChangedByTheUser) {\n this.#updatePendingCheckedItems(event);\n }\n };\n\n #updatePendingCheckedItems = async (\n event: CustomEvent<TabularGridMarkingChangedEvent>\n ) => {\n const addedRowsIds = event.detail.addedRowsId;\n const removedRowsId = event.detail.removedRowsId;\n\n const pendingItemCheckedResult = await this.pendingItemsCheckedCallback({\n itemsChecked: addedRowsIds,\n itemsUnchecked: removedRowsId\n });\n\n if (pendingItemCheckedResult === undefined) {\n // undo check/uncheck\n await this.#revertPendingCommitsCheckboxes(addedRowsIds, removedRowsId);\n } else {\n await this.#togglePendingCommitsCheckboxes(pendingItemCheckedResult);\n }\n };\n\n #searchInputHandler = (event: ChEditCustomEvent<string> | InputEvent) => {\n this.searchValue = event.detail as string;\n this.#loadData();\n };\n\n // Local Methods Update\n\n #actionChangedHandler = (event: CustomEvent<string> | InputEvent) => {\n this.selectedAction = event.detail as ActionForFilter;\n this.#loadData();\n };\n\n #typeChangedHandler = async (event: CustomEvent<string> | InputEvent) => {\n this.selectedType = event.detail as string;\n this.#loadData();\n };\n\n #setInitialObjectsStatus = (): void => {\n this.pendingAndIgnored.pendingForUpdate.forEach(pendingObject => {\n const status: StatusInternal =\n (pendingObject.status as Status) ?? \"pending\";\n\n this.objectsStatusMap.set(pendingObject.id, status);\n if (status === \"updated\") {\n this.alreadyUpdatedObjectsIdsSet.add(pendingObject.id);\n }\n });\n this.pendingAndIgnored.ignoredObjects.forEach(ignoredObject => {\n const status: StatusInternal =\n (ignoredObject.status as Status) ?? \"ignored\";\n this.objectsStatusMap.set(ignoredObject.id, status);\n });\n };\n\n #loadData = async (forceLoad: boolean = false): Promise<void> => {\n const filters: FiltersData = {\n search: this.searchValue,\n type: this.selectedType,\n kbProperties: this.kbPropertiesChecked,\n action: this.selectedAction\n };\n this.loading = true;\n this.objectsMessagesDataMap.clear();\n\n this.pendingAndIgnored = await this.loadCallback(filters, forceLoad);\n this.#setInitialObjectsStatus();\n\n this.loading = false;\n\n // Is is required to mark/check all objects after loadCallback.\n this.#markPendingObjects();\n };\n\n /**\n * Marks all pending objects that have not been committed yet.\n *\n * Iterates through all pending object IDs and adds them to the marked objects set\n * if they are not already in the committed objects set. This effectively identifies\n * and marks all the pending objects that still need to be processed.\n **/\n #markPendingObjects = () => {\n for (const pendingId of this.pendingIdsSet) {\n if (!this.alreadyUpdatedObjectsIdsSet.has(pendingId)) {\n this.markedObjectsSet = new Set([...this.markedObjectsSet, pendingId]);\n }\n }\n };\n\n #applyClientFilter = () => {\n // this.pendingObjectsAfterActionFilter = this.#filteredObjects(\n // this.pendingAndIgnored.pendingForUpdate\n // );\n this.pendingObjectsAfterActionFilter =\n this.pendingAndIgnored.pendingForUpdate;\n // this.ignoredObjectsAfterActionFilter = this.#filteredObjects(\n // this.pendingAndIgnored.ignoredObjects\n // );\n this.ignoredObjectsAfterActionFilter =\n this.pendingAndIgnored.ignoredObjects;\n };\n\n // #filteredObjects = (objects: ModifiedObject[]): ModifiedObject[] => {\n // let filtered = objects;\n\n // // name or description\n // if (this.searchValue.length) {\n // filtered = filtered.filter(object => {\n // const nameFiltered = object.name\n // .toLowerCase()\n // .includes(this.searchValue.toLowerCase());\n\n // const descriptionFiltered = object.description\n // .toLowerCase()\n // .includes(this.searchValue.toLowerCase());\n\n // return nameFiltered || descriptionFiltered;\n // });\n // }\n\n // return filtered;\n // };\n\n #onRowContextMenuHandler =\n () => async (ev: CustomEvent<TabularGridRowContextMenuEvent>) => {\n ev.preventDefault();\n ev.stopPropagation();\n\n const selection = await this.#chGridPendingForUpdateEl.getSelectedRows();\n\n const selectedRowId = (\n await this.#chGridPendingForUpdateEl.getSelectedCell()\n ).rowId;\n\n const source: UpdateSourceType = this.pendingIdsSet.has(selectedRowId)\n ? \"pending\"\n : \"ignored\";\n\n let filteredSelection: string[] = [];\n // remove selected rows from the other source, if any.\n if (selection.length > 1 && source === \"pending\") {\n selection.forEach(async selectedRowId => {\n if (this.ignoredIdsSet.has(selectedRowId)) {\n await this.#chGridPendingForUpdateEl.selectRow(\n selectedRowId,\n false\n );\n } else {\n filteredSelection.push(selectedRowId);\n }\n });\n } else if (selection.length > 1 && source === \"ignored\") {\n selection.forEach(async selectedRowId => {\n if (this.pendingIdsSet.has(selectedRowId)) {\n await this.#chGridPendingForUpdateEl.selectRow(\n selectedRowId,\n false\n );\n } else {\n filteredSelection.push(selectedRowId);\n }\n });\n } else {\n filteredSelection = selection;\n }\n\n await this.contextMenuCallback(source, {\n selection: filteredSelection,\n clientX: ev.detail.clientX,\n clientY: ev.detail.clientY\n });\n };\n\n #revertPendingCommitsCheckboxes = async (\n addedRowsIds: string[],\n removedRowsId: string[]\n ) => {\n if (this.#chGridPendingForUpdateEl) {\n for (const rowId of addedRowsIds) {\n await this.#chGridPendingForUpdateEl.markRow(rowId, false);\n }\n for (const rowId of removedRowsId) {\n await this.#chGridPendingForUpdateEl.markRow(rowId, true);\n }\n }\n };\n\n #togglePendingCommitsCheckboxes = async (\n itemsToToggle: ItemsCheckedResult\n ) => {\n if (this.#chGridPendingForUpdateEl) {\n const itemsToCheck: string[] = itemsToToggle.itemsToCheck;\n const itemsToUncheck: string[] = itemsToToggle.itemsToUncheck;\n // check\n for (const rowId of itemsToCheck) {\n await this.#chGridPendingForUpdateEl.markRow(rowId, true);\n }\n // uncheck\n for (const rowId of itemsToUncheck) {\n await this.#chGridPendingForUpdateEl.markRow(rowId, false);\n }\n }\n };\n\n #kbPropertiesChangedHandler = (\n event: ChCheckboxCustomEvent<any> | InputEvent\n ) => {\n this.kbPropertiesChecked = event.detail === CHECKBOX_CHECKED_VALUE;\n this.#loadData(true);\n };\n\n render() {\n const enableRichRowSelector = true;\n const disableControls = this.updating || this.loading;\n const gridIsEmpty =\n this.pendingObjectsAfterActionFilter.length === 0 &&\n this.ignoredObjectsAfterActionFilter.length === 0;\n\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"section\">\n <header class=\"header spacing-body-inline spacing-body-block-start\">\n <div\n // header details\n class=\"header__detail header__detail-1\"\n >\n <p class=\"detail__heading-genexus-server subtitle-semi-bold-s\">\n {this.#componentLocale.commitDetail.title}\n </p>\n <div\n // genexus server\n class=\"detail__genexus-server field field-block\"\n >\n <span class={DETAIL_LABEL_CLASSES}>\n {this.#componentLocale.commitDetail.genexusServer}\n </span>\n <button\n class=\"detail__link body-regular-s\"\n onClick={this.openServerCallback}\n >\n {this.updateFrom ? this.updateFrom.serverUrl : \"\"}\n </button>\n </div>\n\n <div\n // knowledge base\n class=\"detail__knowledge-base field field-block\"\n >\n <span class={DETAIL_LABEL_CLASSES}>\n {this.#componentLocale.commitDetail.knowledgeBase}\n </span>\n <p class=\"body-regular-s\">\n {this.updateFrom ? this.updateFrom.kbName : \"\"}\n </p>\n </div>\n\n <div\n // version\n class=\"detail__version field field-block\"\n >\n <span class={DETAIL_LABEL_CLASSES}>\n {this.#componentLocale.commitDetail.version}\n </span>\n <p class=\"body-regular-s\">\n {this.updateFrom ? this.updateFrom.versionName : \"\"}\n </p>\n </div>\n\n <div\n // last full update\n class=\"detail__last-full-update field field-block\"\n >\n <span class={DETAIL_LABEL_CLASSES}>\n {this.#componentLocale.commitDetail.lastFullUpdate}\n </span>\n <p class=\"body-regular-s\">\n {formatDate(this.updateFrom.lastFullUpdate)}\n </p>\n </div>\n </div>\n </header>\n\n <div class=\"filter-container spacing-body-inline\">\n <div class=\"filter\">\n <ch-edit\n // search\n class=\"input filter__search\"\n disabled={disableControls}\n startImgSrc={SEARCH_ICON}\n accessibleName={\n this.#componentLocale.filter.searchAccessibleName\n }\n placeholder={this.#componentLocale.filter.searchPlaceholder}\n type=\"search\"\n onInput={this.#searchInputHandler}\n debounce={config.inputDebounce}\n ></ch-edit>\n\n <ch-combo-box-render\n // types\n class=\"combo-box filter__types\"\n disabled={disableControls}\n model={this.typesComboBoxModel}\n value={this.selectedType}\n accessibleName={this.#componentLocale.filter.typeAccesibleName}\n placeholder={this.#componentLocale.filter.typePlaceholder}\n onInput={this.#typeChangedHandler}\n ></ch-combo-box-render>\n\n <ch-combo-box-render\n // actions\n class=\"combo-box filter__actions\"\n disabled={disableControls}\n model={this.#actionsComboBoxModel}\n value={this.selectedAction}\n onInput={this.#actionChangedHandler}\n accessibleName={\n this.#componentLocale.filter.actionAccesibleName\n }\n placeholder={this.#componentLocale.filter.actionPlaceholder}\n ></ch-combo-box-render>\n\n <ch-checkbox\n // kb properties\n class=\"checkbox filter__kb-properties\"\n caption={this.#componentLocale.filter.kbProperties}\n checkedValue={CHECKBOX_CHECKED_VALUE}\n value={CHECKBOX_UNCHECKED_VALUE}\n onInput={this.#kbPropertiesChangedHandler}\n disabled={disableControls}\n />\n\n <div class=\"buttons-spacer filter__buttons\">\n <button\n // reload button\n class=\"button-secondary button-icon-and-text\"\n disabled={disableControls}\n onClick={this.#reloadClickedHandler}\n >\n <ch-image class=\"icon-md\" src={REFRESH_ICON}></ch-image>\n {this.#componentLocale.filter.reload}\n </button>\n <button\n // update button\n class=\"button-primary button-update\"\n disabled={!this.atLeastOneObjectIsChecked || disableControls}\n onClick={this.#updateCheckedClickedHandler}\n >\n {this.#componentLocale.filter.update}\n </button>\n </div>\n </div>\n </div>\n\n <div class=\"main spacing-body\">\n {!this.loading ? (\n <ch-tabular-grid\n class={{\n \"tabular-grid\": true,\n \"objects-tabular-grid\": true,\n \"disabled-custom-selector\": this.updating,\n \"empty-result\": gridIsEmpty\n }}\n keyboardNavigationMode=\"focus\"\n rowSelectionMode=\"multiple\"\n onRowMarkingChanged={this.#rowMarkingChangedHandler}\n onRowContextMenu={this.#onRowContextMenuHandler()}\n ref={(el: HTMLChTabularGridElement) =>\n (this.#chGridPendingForUpdateEl = el)\n }\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId=\"name\"\n columnName={this.#componentLocale.objects.name}\n columnType=\"rich\"\n richRowSelector={enableRichRowSelector}\n richRowSelectorMode=\"mark\"\n settingable={false}\n size=\"max-content\"\n />\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId=\"type\"\n columnName={this.#componentLocale.objects.type}\n settingable={false}\n size=\"max-content\"\n />\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId=\"description\"\n columnName={this.#componentLocale.objects.description}\n settingable={false}\n size={config.tabularGrid.colSize.description}\n />\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId=\"modified-on\"\n columnName={this.#componentLocale.objects.modifiedOn}\n settingable={false}\n size=\"max-content\"\n />\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId=\"action\"\n columnName={this.#componentLocale.objects.action}\n settingable={false}\n size=\"max-content\"\n />\n <ch-tabular-grid-column\n // size of this column should the enough for the largest pill, and no more.\n // this prevents layout shifts when pills state changes.\n class=\"tabular-grid-column\"\n columnId=\"status\"\n columnName={this.#componentLocale.objects.status}\n settingable={false}\n size=\"100px\"\n />\n </ch-tabular-grid-columnset>\n\n {!gridIsEmpty\n ? [\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-legend class=\"tabular-grid-rowset-legend\">\n {this.#componentLocale.objects.pending}\n </ch-tabular-grid-rowset-legend>\n {this.#renderRows(\"pending\")}\n </ch-tabular-grid-rowset>,\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-legend class=\"tabular-grid-rowset-legend\">\n {this.#componentLocale.objects.ignored}\n </ch-tabular-grid-rowset-legend>\n {this.#renderRows(\"ignored\")}\n </ch-tabular-grid-rowset>\n ]\n : null}\n\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {gridIsEmpty && (\n <ch-tabular-grid-rowset-empty>\n <gx-ide-empty-state\n class=\"empty-state\"\n isAnimated\n stateIconSrc={FILTER_ICON}\n stateTitle=\"No object matched your filter\"\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n )}\n </ch-tabular-grid-rowset>\n </ch-tabular-grid>\n ) : (\n <gx-ide-loader\n cancelLabel={this.#componentLocale.loader.cancelLabel}\n loaderTitle={this.#componentLocale.loader.title}\n description={this.#componentLocale.loader.description}\n show\n class=\"loader\"\n ></gx-ide-loader>\n )}\n </div>\n </section>\n </Host>\n );\n }\n}\n\n// - - - - - - - - - - - - -\n// Types from Update\n// - - - - - - - - - - - - -\n\nexport type Status = \"pending\" | \"updated\" | \"ignored\";\n\nexport type StatusInternal = Status | \"updating\" | \"ignored\";\n\nexport type Action =\n | \"inserted\"\n | \"modified\"\n | \"modified-with-conflicts\"\n | \"deleted\";\n\ntype ActionForFilter = Action | \"all-actions\";\n\nexport type ContextMenuCallback = (\n source: UpdateSourceType,\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\n\nexport type PendingItemsCheckedCallback = (\n pendingItemsCheckedState: ItemsCheckedState\n) => Promise<ItemsCheckedResult | undefined>;\n\nexport type UpdateSourceType = \"pending\" | \"ignored\";\n\nexport type LoadCallback = (\n filters: FiltersData,\n forceLoad: boolean\n) => Promise<UpdateData>;\n\nexport interface ModifiedObject {\n id: string;\n typeIcon: string;\n action?: Action;\n name: string;\n type: string;\n description?: string;\n modifiedOn?: Date;\n status?: Status;\n}\nexport interface UpdateData {\n pendingForUpdate: ModifiedObject[];\n ignoredObjects: ModifiedObject[];\n}\n\nexport interface FiltersData {\n search: string;\n type: string;\n kbProperties: boolean;\n action: ActionForFilter;\n}\n\nexport interface UpdateFromData {\n serverUrl: string;\n kbName: string;\n versionName: string;\n lastFullUpdate: Date;\n}\n\nexport type UpdateCallback = (\n selection: string[]\n) => Promise<UpdateResultData[]>;\n\nexport interface UpdateResultData {\n id: string;\n result: Status;\n messages: MessageData[];\n}\n\nexport interface MessageData {\n type: \"info\" | \"success\" | \"warning\" | \"error\";\n text: string;\n}\n"],"mappings":"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"}
@@ -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
@@ -4,7 +4,7 @@ import { g as a } from "./p-401bfc97.js";
4
4
 
5
5
  import { L as l } from "./p-311eedf3.js";
6
6
 
7
- import { c as n } from "./p-44e5e972.js";
7
+ import { c as n } from "./p-9a03ac9f.js";
8
8
 
9
9
  import { f as r } from "./p-8c15538c.js";
10
10
 
@@ -642,4 +642,4 @@ X = new WeakMap, Y = new WeakMap;
642
642
  at.style = o;
643
643
 
644
644
  export { at as gx_ide_ww_files };
645
- //# sourceMappingURL=p-212ca306.entry.js.map
645
+ //# sourceMappingURL=p-f242ae04.entry.js.map
@@ -50,8 +50,12 @@ export declare class GxIdeNewEnvironment {
50
50
  /**
51
51
  * Possible values for 'Language' combo
52
52
  */
53
- readonly languages: GxOption[];
53
+ languages: GxOption[];
54
54
  languagesChanged(newValue: GxOption[]): void;
55
+ /**
56
+ * Callback invoked when selected runtime is changed
57
+ */
58
+ readonly getLanguagesCallback: GetLanguagesCallback;
55
59
  /**
56
60
  * Possible values for 'Runtime Environment' radio button
57
61
  */
@@ -77,6 +81,7 @@ export type CreateCallback = (data: NewEnvironmentData) => Promise<FormSubmitRes
77
81
  export type GetDataSourcesCallback = (selectedLanguageId: string, selectedRuntimeId: string) => Promise<GxOption[]>;
78
82
  export type GetEnvironmentNameCallback = (selectedLanguageId: string, selectedDataSourceId: string, selectedRuntimeId: string) => Promise<string | undefined>;
79
83
  export type GetFrontEndsCallback = (selectedLanguageId: string) => Promise<GxOption[]>;
84
+ export type GetLanguagesCallback = (selectedRuntimeId: string) => Promise<GxOption[]>;
80
85
  export interface NewEnvironmentData {
81
86
  setAsCurrent: boolean;
82
87
  name: string;
@@ -68,6 +68,10 @@ export declare class GxIdeNewKb {
68
68
  * Callback invoked when the user changes the prototyping environment, allowing for the modification of the list of front ends
69
69
  */
70
70
  readonly getFrontEndsCallback: GetFrontEndsCallback;
71
+ /**
72
+ * Callback invoked when the user changes the prototyping target id, allowing for the modification of the list of prototyping environments
73
+ */
74
+ readonly getPrototypingEnvironmentsCallback: GetPrototypingEnvironmentsCallback;
71
75
  /**
72
76
  * Specify whether it is feasible to display information related to local configuration parameters
73
77
  */
@@ -87,8 +91,8 @@ export declare class GxIdeNewKb {
87
91
  /**
88
92
  * It allows selecting the default environment that the KB will have (additional environments can be created later)
89
93
  */
90
- readonly prototypingEnvironments: GxOption[];
91
- watchPrototypingEnvironments(newValue: GxOption[]): void;
94
+ defaultPrototypingEnvironments: GxOption[];
95
+ watchDefaultPrototypingEnvironments(newValue: GxOption[]): void;
92
96
  /**
93
97
  * Path to a directory where the information related to the KB will be stored/generated
94
98
  */
@@ -147,4 +151,5 @@ export type CreateCallback = (data: NewKBData) => Promise<FormSubmitResult>;
147
151
  export type CancelCallback = () => Promise<void>;
148
152
  export type GetDataSourcesCallback = (selectedPrototypingEnvironmentId: string, selectedPrototypingTargetId: string) => Promise<GxOption[]>;
149
153
  export type GetFrontEndsCallback = (selectedPrototypingEnvironmentId: string) => Promise<GxOption[]>;
154
+ export type GetPrototypingEnvironmentsCallback = (selectedPrototypingTargetId: string) => Promise<GxOption[]>;
150
155
  export type SelectLocationCallback = () => Promise<string>;
@@ -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.
@@ -0,0 +1 @@
1
+ export type ObjectState = "inserted" | "modified" | "deleted" | "conflicted";
@@ -1,181 +1,169 @@
1
- import { EventEmitter } from "../../../stencil-public-runtime";
2
- import { ObjectState } from "../common/types";
3
- import { ObjectType, ContextMenuInfo, ItemsCheckedState, ItemsCheckedResult, ResultState } from "../../../common/types";
1
+ import { ComboBoxModel } from "@genexus/chameleon-controls-library";
2
+ import { ContextMenuInfo, ItemsCheckedResult, ItemsCheckedState, ObjectType } from "../../../common/types";
4
3
  export declare class GxIdeTeamDevUpdate {
4
+ #private;
5
+ el: HTMLGxIdeTeamDevBringChangesElement;
5
6
  /**
6
- * The component hard-coded strings translations.
7
+ * It hols a boolean indicating if at least one object from the tabular-grid is checked, for merging.
7
8
  */
8
- private _componentLocale;
9
- private loadDataCalledFirstTime;
10
- private renderedFirstTime;
11
- el: HTMLGxIdeTeamDevUpdateElement;
12
- private filterPatternEl;
13
- private filterTypeEl;
14
- private chGridPendingForUpdateEl;
15
- private chGridIgnoredObjectsEl;
16
- private chGridResultsEl;
17
- private gxgTabButtonResultsEl;
9
+ atLeastOneObjectIsChecked: boolean;
18
10
  /**
19
- * If the design data is loading or not, for disabled actions
11
+ * True while commitObjects hasn't been loaded or is empty. Used to display a loader.
20
12
  */
21
- isLoading: boolean;
13
+ loading: boolean;
22
14
  /**
23
- * For show or hide advanced filters
15
+ * The current search filter value
24
16
  */
25
- objectScopeText: string;
17
+ menuContextAction: Action;
26
18
  /**
27
- * The tab that is currently open
19
+ * The current search filter value
28
20
  */
29
- openTab: "pending" | "ignored" | "results";
21
+ searchValue: string;
30
22
  /**
31
- * For show or hide advanced filters
23
+ * The current state filter value
32
24
  */
33
- revisionScopeText: string;
25
+ selectedAction: ActionForFilter;
34
26
  /**
35
- * For show or hide advanced filters
27
+ * A set that stores the marked state of each object cell. This is necessary because filtering the grid * causes marked cells to lose their state.
36
28
  */
37
- showFilter: boolean;
29
+ markedObjectsSet: Set<string>;
30
+ markedObjectsSetChanged(newMarkedObjectsSet: Set<string>): void;
38
31
  /**
39
- * The data loaded for populate the grids
32
+ * A set that holds the id's of the objects that have been updated already.
40
33
  */
41
- updateData: UpdateData;
34
+ alreadyUpdatedObjectsIdsSet: Set<string>;
42
35
  /**
43
- * The data receive after user update
36
+ * A set that holds the id's of all the pending objects. Used to quickly determine if the selected rows belong
37
+ * to "pending" or not. This information is required for the ContextMenuCallback callback. This set has to be updated
38
+ * on every loadCallback.
44
39
  */
45
- updateResultData: UpdateResultData[];
40
+ pendingIdsSet: Set<string>;
46
41
  /**
47
- * If true it displays the component title on the header
42
+ * A set that holds the id's of all the ignored objects. Used to quickly determine if the selected rows belong
43
+ * to "ignored" or not. This information is required for the ContextMenuCallback callback. This set has to be updated
44
+ * on every loadCallback.
48
45
  */
49
- readonly displayTitle = false;
46
+ ignoredIdsSet: Set<string>;
50
47
  /**
51
- * This is a function provided by the developer that init the process of import a design.
48
+ * A map that holds object messages, after trying to update ('info' | ‘success’ | 'warning' | 'error')
52
49
  */
53
- readonly confirmCallback: ConfirmCallback;
50
+ objectsMessagesDataMap: Map<string, MessageData[]>;
54
51
  /**
55
- * This is a function provided by the developer that return the information of an Image System type of data.
52
+ * Set to true when objects are being mered. This helps disabling controls until all objects are done.
56
53
  */
57
- readonly gridContextMenuCallback: GridContextMenuCallback;
54
+ updating: boolean;
58
55
  /**
59
- * This is a function provided by the developer that return the list of types of data loaded from file or url.
56
+ * The "KB Properties" checkbox value
60
57
  */
61
- readonly loadCallback: LoadCallback;
58
+ kbPropertiesChecked: boolean;
62
59
  /**
63
- * This is a function provided by the developer to call when the user makes a partial selection from button Change of Scope group.
60
+ * The combobox model for the types filter.
64
61
  */
65
- readonly objectsScopeCallback: () => Promise<"all" | "partial">;
62
+ typesComboBoxModel: ComboBoxModel;
66
63
  /**
67
- * This is a function provided by the developer to call when the user clicked in server url of Update From group.
64
+ * The selected type
68
65
  */
69
- readonly openServerCallback: () => Promise<void>;
66
+ selectedType: string;
70
67
  /**
71
- * This is a function provided by the developer that return the information of a Font type of data.
68
+ * A map that holds the current update objects states ("inserted" | "modified" | "modified-with-conflicts" | "deleted" | "updating" | "update")
72
69
  */
73
- readonly pendingItemsCheckedCallback: PendingItemsCheckedCallback;
70
+ objectsStatusMap: Map<string, StatusInternal>;
71
+ objectsStatusMapChanged(newObjectsStatusMap: Map<string, StatusInternal>): void;
72
+ /**
73
+ * Callback invoked when user activates the context menu on any of the grids.
74
+ */
75
+ readonly contextMenuCallback: ContextMenuCallback;
76
+ /**
77
+ * All objects ("pending for update" and "ignored objects") before "state" filter
78
+ */
79
+ pendingAndIgnored: UpdateData;
80
+ pendingAndIgnoredChanged(): void;
81
+ /**
82
+ * Pending objects after "action" filter
83
+ */
84
+ pendingObjectsAfterActionFilter: ModifiedObject[];
74
85
  /**
75
- * This is a function provided by the developer to call when the user wants to select the revision to work on.
86
+ * Ignored objects after "action" filter
76
87
  */
77
- readonly revisionScopeCallback: () => Promise<string | undefined>;
88
+ ignoredObjectsAfterActionFilter: ModifiedObject[];
78
89
  /**
79
- * Callback that should be invoked when the user activates the context menu on any of the grids. It receives the internal IDs of the selected elements and in which grid the event occurred. It should prevent the default browser context menu from appearing
90
+ * Callback invoked to return the list of data types loaded from file or url.
80
91
  */
81
- readonly objectsContextMenuCallback: ObjectsContextMenuCallback;
92
+ readonly loadCallback: LoadCallback;
82
93
  /**
83
- * Callback that should be invoked when the user selects rows from the grids
94
+ * Callback invoked to return information of a Font type of data.
84
95
  */
85
- readonly selectCallback: UpdateSelectCallback;
96
+ readonly pendingItemsCheckedCallback: PendingItemsCheckedCallback;
86
97
  /**
87
- * Possibly values for the filter type
98
+ * Possible values for type filter
88
99
  */
89
100
  readonly types: ObjectType[];
90
101
  /**
91
- * This is a function provided by the developer that return the information of a Design System type of data.
102
+ * If true, the "Action" column will display a button instead of a pill, only when the action is
92
103
  */
93
- readonly updateCallback: UpdateCallback;
104
+ readonly updatePillAsButton: boolean;
94
105
  /**
95
- * Information to show in the container of group 'Update From'
106
+ * Callback invoked when the update process is to be started (’Update button).
96
107
  */
97
- readonly updateFrom: UpdateFromData;
108
+ readonly updateCallback: UpdateCallback;
98
109
  /**
99
- * This event is emitted once just after the component is fully loaded and the first render() occurs.
110
+ * Callback invoked when user clicks in server url of Update From group.
100
111
  */
101
- componentDidLoadEvent: EventEmitter<boolean>;
112
+ readonly openServerCallback: () => Promise<void>;
102
113
  /**
103
- * This event is emitted once just after the component is fully loaded and the first render() occurs
114
+ * Information to show in Update From group.
104
115
  */
105
- componentDidRenderFirstTime: EventEmitter<boolean>;
116
+ readonly updateFrom: UpdateFromData;
106
117
  componentWillLoad(): Promise<void>;
107
118
  componentDidLoad(): Promise<void>;
108
- componentDidRender(): Promise<void>;
109
119
  /**
110
- * The method used by the host to instruct the component to force a data reload in the grids.
120
+ * Used by the host to instruct the component to force a data reload in the grids.
111
121
  */
112
122
  reload(): Promise<void>;
113
- private onRowContextMenuHandler;
114
- private markAllPendingToUpdateRows;
115
- private gridOnSelectionChangedCallbackHandler;
116
- private genexusServerUrlHandler;
117
- private renderOptions;
118
- private renderFilter;
119
- private renderData;
120
- private renderPendingForUpdate;
121
- private renderIgnoredObjects;
122
- private renderResults;
123
- private renderIconState;
124
- private renderIconResult;
125
- private loadData;
126
- private update;
127
- private objectsScope;
128
- private revisionScope;
129
- private pendingForUpdatesRowMarkingChangedHandler;
130
- private togglePendingCommitsCheckboxes;
131
- private revertPendingCommitsCheckboxes;
132
- render(): void;
123
+ render(): any;
133
124
  }
134
- export type LoadCallback = (filters: FiltersData) => Promise<UpdateData>;
135
- export type UpdateCallback = (selection: string[]) => Promise<UpdateResultData[]>;
125
+ export type Status = "pending" | "updated" | "ignored";
126
+ export type StatusInternal = Status | "updating" | "ignored";
127
+ export type Action = "inserted" | "modified" | "modified-with-conflicts" | "deleted";
128
+ type ActionForFilter = Action | "all-actions";
129
+ export type ContextMenuCallback = (source: UpdateSourceType, contextMenuInfo: ContextMenuInfo) => Promise<void>;
136
130
  export type PendingItemsCheckedCallback = (pendingItemsCheckedState: ItemsCheckedState) => Promise<ItemsCheckedResult | undefined>;
137
- export type UpdateSelectCallback = (grid: UpdateSourceType, selectionIds: string[]) => Promise<void>;
138
- export type UpdateSourceType = "pending" | "ignored" | "results";
139
- export type GridContextMenuCallback = (selection: string[], grid: "update" | "ignored" | "results") => Promise<void>;
140
- export type ObjectsContextMenuCallback = (source: UpdateSourceType, contextMenuInfo: ContextMenuInfo) => Promise<void>;
141
- export type ConfirmCallback = (data: any) => Promise<boolean>;
142
- export interface UpdateFromData {
143
- serverUrl: string;
144
- kbName: string;
145
- versionName: string;
146
- lastFullUpdate: Date;
147
- }
148
- export interface FiltersData {
149
- pattern: string;
150
- type: string;
151
- }
152
- export interface UpdateData {
153
- pendingForUpdate: ModifiedObject[];
154
- ignoredObjects: ModifiedObject[];
155
- }
131
+ export type UpdateSourceType = "pending" | "ignored";
132
+ export type LoadCallback = (filters: FiltersData, forceLoad: boolean) => Promise<UpdateData>;
156
133
  export interface ModifiedObject {
157
134
  id: string;
158
135
  typeIcon: string;
159
- state?: ObjectState;
136
+ action?: Action;
160
137
  name: string;
161
138
  type: string;
162
139
  description?: string;
163
140
  modifiedOn?: Date;
164
- status?: string;
165
- action?: string;
141
+ status?: Status;
166
142
  }
143
+ export interface UpdateData {
144
+ pendingForUpdate: ModifiedObject[];
145
+ ignoredObjects: ModifiedObject[];
146
+ }
147
+ export interface FiltersData {
148
+ search: string;
149
+ type: string;
150
+ kbProperties: boolean;
151
+ action: ActionForFilter;
152
+ }
153
+ export interface UpdateFromData {
154
+ serverUrl: string;
155
+ kbName: string;
156
+ versionName: string;
157
+ lastFullUpdate: Date;
158
+ }
159
+ export type UpdateCallback = (selection: string[]) => Promise<UpdateResultData[]>;
167
160
  export interface UpdateResultData {
168
161
  id: string;
169
- result: ResultState;
170
- typeIcon: string;
171
- state: ObjectState;
172
- name: string;
173
- type: string;
174
- description: string;
175
- notes: string;
162
+ result: Status;
176
163
  messages: MessageData[];
177
164
  }
178
165
  export interface MessageData {
179
166
  type: "info" | "success" | "warning" | "error";
180
167
  text: string;
181
168
  }
169
+ export {};