@genexus/genexus-ide-ui 1.1.70 → 1.1.72

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 (151) hide show
  1. package/dist/cjs/{utilities-25be3069.js → constants-a2ac1812.js} +70 -1
  2. package/dist/cjs/constants-a2ac1812.js.map +1 -0
  3. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  4. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +7 -8
  5. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
  6. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +2 -2
  7. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-restore-version.cjs.entry.js +5 -4
  9. package/dist/cjs/gx-ide-restore-version.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +28 -17
  11. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js.map +1 -1
  12. package/dist/cjs/gx-ide-server-selector.cjs.entry.js +8 -7
  13. package/dist/cjs/gx-ide-server-selector.cjs.entry.js.map +1 -1
  14. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +2 -2
  15. package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
  16. package/dist/cjs/gx-ide-team-dev-bring-all-changes-selector.cjs.entry.js +6 -5
  17. package/dist/cjs/gx-ide-team-dev-bring-all-changes-selector.cjs.entry.js.map +1 -1
  18. package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js +3 -3
  19. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +21 -21
  20. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
  21. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js +25 -78
  22. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js.map +1 -1
  23. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +3 -3
  24. package/dist/cjs/loader.cjs.js +1 -1
  25. package/dist/cjs/{tabular-grid-render-c0e0738c.js → tabular-grid-render-37b7153b.js} +12 -86
  26. package/dist/cjs/tabular-grid-render-37b7153b.js.map +1 -0
  27. package/dist/collection/components/restore-version/gx-ide-assets/restore-version/shortcuts.json +15 -0
  28. package/dist/collection/components/restore-version/restore-version.js +6 -5
  29. package/dist/collection/components/restore-version/restore-version.js.map +1 -1
  30. package/dist/collection/components/select-kb-items/select-kb-items.js +75 -28
  31. package/dist/collection/components/select-kb-items/select-kb-items.js.map +1 -1
  32. package/dist/collection/components/team-dev/bring-all-changes-selector/bring-all-changes-selector.js +7 -6
  33. package/dist/collection/components/team-dev/bring-all-changes-selector/bring-all-changes-selector.js.map +1 -1
  34. package/dist/collection/components/team-dev/bring-all-changes-selector/gx-ide-assets/team-dev-bring-all-changes-selector/shortcuts.json +15 -0
  35. package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js +8 -9
  36. package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js.map +1 -1
  37. package/dist/collection/components/team-dev/connect-gx-server/gx-ide-assets/connect-gx-server/shortcuts.json +15 -0
  38. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js +2 -2
  39. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js.map +1 -1
  40. package/dist/collection/components/team-dev/create-kb-from-server/gx-ide-assets/create-kb-from-server/shortcuts.json +6 -1
  41. package/dist/collection/components/team-dev/history/history.css +3 -0
  42. package/dist/collection/components/team-dev/history/history.js +52 -91
  43. package/dist/collection/components/team-dev/history/history.js.map +1 -1
  44. package/dist/collection/components/team-dev/server-selector/gx-ide-assets/server-selector/shortcuts.json +15 -0
  45. package/dist/collection/components/team-dev/server-selector/server-selector.js +9 -7
  46. package/dist/collection/components/team-dev/server-selector/server-selector.js.map +1 -1
  47. package/dist/collection/components/team-dev/share-kb/gx-ide-assets/share-kb/shortcuts.json +1 -1
  48. package/dist/collection/components/team-dev/share-kb/share-kb.js +2 -2
  49. package/dist/collection/components/team-dev/share-kb/share-kb.js.map +1 -1
  50. package/dist/components/{utilities.js → constants2.js} +68 -2
  51. package/dist/components/constants2.js.map +1 -0
  52. package/dist/components/gx-ide-connect-gx-server.js +8 -9
  53. package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
  54. package/dist/components/gx-ide-create-kb-from-server.js +2 -2
  55. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  56. package/dist/components/gx-ide-restore-version.js +6 -5
  57. package/dist/components/gx-ide-restore-version.js.map +1 -1
  58. package/dist/components/gx-ide-server-selector.js +9 -8
  59. package/dist/components/gx-ide-server-selector.js.map +1 -1
  60. package/dist/components/gx-ide-share-kb.js +2 -2
  61. package/dist/components/gx-ide-share-kb.js.map +1 -1
  62. package/dist/components/gx-ide-team-dev-bring-all-changes-selector.js +7 -6
  63. package/dist/components/gx-ide-team-dev-bring-all-changes-selector.js.map +1 -1
  64. package/dist/components/gx-ide-team-dev-bring-changes.js +1 -1
  65. package/dist/components/gx-ide-team-dev-commit.js +2 -1
  66. package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
  67. package/dist/components/gx-ide-team-dev-history.js +24 -85
  68. package/dist/components/gx-ide-team-dev-history.js.map +1 -1
  69. package/dist/components/gx-ide-team-dev-update.js +1 -1
  70. package/dist/components/select-kb-items.js +32 -20
  71. package/dist/components/select-kb-items.js.map +1 -1
  72. package/dist/components/tabular-grid-render.js +2 -72
  73. package/dist/components/tabular-grid-render.js.map +1 -1
  74. package/dist/esm/{utilities-efeffb76.js → constants-31612239.js} +68 -2
  75. package/dist/esm/constants-31612239.js.map +1 -0
  76. package/dist/esm/genexus-ide-ui.js +1 -1
  77. package/dist/esm/gx-ide-connect-gx-server.entry.js +8 -9
  78. package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
  79. package/dist/esm/gx-ide-create-kb-from-server.entry.js +2 -2
  80. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  81. package/dist/esm/gx-ide-restore-version.entry.js +6 -5
  82. package/dist/esm/gx-ide-restore-version.entry.js.map +1 -1
  83. package/dist/esm/gx-ide-select-kb-items.entry.js +28 -17
  84. package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
  85. package/dist/esm/gx-ide-server-selector.entry.js +9 -8
  86. package/dist/esm/gx-ide-server-selector.entry.js.map +1 -1
  87. package/dist/esm/gx-ide-share-kb.entry.js +2 -2
  88. package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
  89. package/dist/esm/gx-ide-team-dev-bring-all-changes-selector.entry.js +7 -6
  90. package/dist/esm/gx-ide-team-dev-bring-all-changes-selector.entry.js.map +1 -1
  91. package/dist/esm/gx-ide-team-dev-bring-changes.entry.js +2 -2
  92. package/dist/esm/gx-ide-team-dev-commit.entry.js +5 -5
  93. package/dist/esm/gx-ide-team-dev-history.entry.js +25 -78
  94. package/dist/esm/gx-ide-team-dev-history.entry.js.map +1 -1
  95. package/dist/esm/gx-ide-team-dev-update.entry.js +2 -2
  96. package/dist/esm/loader.js +1 -1
  97. package/dist/esm/{tabular-grid-render-c868fa55.js → tabular-grid-render-d06826a5.js} +3 -74
  98. package/dist/esm/tabular-grid-render-d06826a5.js.map +1 -0
  99. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  100. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  101. package/dist/genexus-ide-ui/gx-ide-assets/connect-gx-server/shortcuts.json +15 -0
  102. package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/shortcuts.json +6 -1
  103. package/dist/genexus-ide-ui/gx-ide-assets/restore-version/shortcuts.json +15 -0
  104. package/dist/genexus-ide-ui/gx-ide-assets/server-selector/shortcuts.json +15 -0
  105. package/dist/genexus-ide-ui/gx-ide-assets/share-kb/shortcuts.json +1 -1
  106. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-bring-all-changes-selector/shortcuts.json +15 -0
  107. package/dist/genexus-ide-ui/p-025c9aa4.entry.js +239 -0
  108. package/dist/genexus-ide-ui/p-025c9aa4.entry.js.map +1 -0
  109. package/dist/genexus-ide-ui/p-082015be.js +244 -0
  110. package/dist/{esm/tabular-grid-render-c868fa55.js.map → genexus-ide-ui/p-082015be.js.map} +1 -1
  111. package/dist/genexus-ide-ui/{p-972dc777.entry.js → p-1351412d.entry.js} +3 -3
  112. package/dist/genexus-ide-ui/{p-8897c6de.entry.js → p-2d6228e8.entry.js} +201 -194
  113. package/dist/genexus-ide-ui/p-2d6228e8.entry.js.map +1 -0
  114. package/dist/genexus-ide-ui/p-32b37b3d.js +163 -0
  115. package/dist/genexus-ide-ui/p-32b37b3d.js.map +1 -0
  116. package/dist/genexus-ide-ui/{p-a543dfdb.entry.js → p-451994e8.entry.js} +104 -95
  117. package/dist/genexus-ide-ui/p-451994e8.entry.js.map +1 -0
  118. package/dist/genexus-ide-ui/{p-85cf50c5.entry.js → p-74f8bd45.entry.js} +78 -132
  119. package/dist/genexus-ide-ui/p-74f8bd45.entry.js.map +1 -0
  120. package/dist/genexus-ide-ui/{p-c3cc759d.entry.js → p-8dedbcd9.entry.js} +64 -58
  121. package/dist/genexus-ide-ui/p-8dedbcd9.entry.js.map +1 -0
  122. package/dist/genexus-ide-ui/{p-6ee5d68e.entry.js → p-92a027bc.entry.js} +33 -33
  123. package/dist/genexus-ide-ui/{p-9ffa7afd.entry.js → p-941f470f.entry.js} +3 -1
  124. package/dist/genexus-ide-ui/{p-9ffa7afd.entry.js.map → p-941f470f.entry.js.map} +1 -1
  125. package/dist/genexus-ide-ui/{p-93e79d19.entry.js → p-ac79f7e8.entry.js} +59 -57
  126. package/dist/genexus-ide-ui/{p-93e79d19.entry.js.map → p-ac79f7e8.entry.js.map} +1 -1
  127. package/dist/genexus-ide-ui/{p-e2fd2c24.entry.js → p-c256dc59.entry.js} +3 -3
  128. package/dist/genexus-ide-ui/{p-5e56280c.entry.js → p-eeeb3d52.entry.js} +199 -192
  129. package/dist/genexus-ide-ui/p-eeeb3d52.entry.js.map +1 -0
  130. package/dist/types/components/select-kb-items/select-kb-items.d.ts +12 -3
  131. package/dist/types/components/team-dev/history/history.d.ts +3 -12
  132. package/dist/types/components.d.ts +22 -20
  133. package/package.json +1 -1
  134. package/dist/cjs/tabular-grid-render-c0e0738c.js.map +0 -1
  135. package/dist/cjs/utilities-25be3069.js.map +0 -1
  136. package/dist/components/utilities.js.map +0 -1
  137. package/dist/esm/utilities-efeffb76.js.map +0 -1
  138. package/dist/genexus-ide-ui/p-22bdcf23.js +0 -322
  139. package/dist/genexus-ide-ui/p-22bdcf23.js.map +0 -1
  140. package/dist/genexus-ide-ui/p-5e56280c.entry.js.map +0 -1
  141. package/dist/genexus-ide-ui/p-85cf50c5.entry.js.map +0 -1
  142. package/dist/genexus-ide-ui/p-8897c6de.entry.js.map +0 -1
  143. package/dist/genexus-ide-ui/p-a105f903.entry.js +0 -234
  144. package/dist/genexus-ide-ui/p-a105f903.entry.js.map +0 -1
  145. package/dist/genexus-ide-ui/p-a543dfdb.entry.js.map +0 -1
  146. package/dist/genexus-ide-ui/p-c3cc759d.entry.js.map +0 -1
  147. package/dist/genexus-ide-ui/p-db6c6085.js +0 -95
  148. package/dist/genexus-ide-ui/p-db6c6085.js.map +0 -1
  149. /package/dist/genexus-ide-ui/{p-972dc777.entry.js.map → p-1351412d.entry.js.map} +0 -0
  150. /package/dist/genexus-ide-ui/{p-6ee5d68e.entry.js.map → p-92a027bc.entry.js.map} +0 -0
  151. /package/dist/genexus-ide-ui/{p-e2fd2c24.entry.js.map → p-c256dc59.entry.js.map} +0 -0
@@ -1,12 +1,8 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
- import { g as getIconPath } from './mer-animated-dots.js';
3
- import 'lit';
4
- import 'lit/directives/when.js';
5
- import 'lit/directives/if-defined.js';
6
2
  import { c as config } from './config.js';
7
3
  import { f as formatDate } from './helpers.js';
8
4
  import { L as Locale } from './locale.js';
9
- import { r as renderObjectTypeWithIcon, a as renderObjectStateWithIcon } from './utilities.js';
5
+ import { r as renderObjectTypeWithIcon, a as renderObjectStateWithIcon, I as ICONS } from './constants2.js';
10
6
  import { d as defineCustomElement$4 } from './gx-ide-empty-state2.js';
11
7
  import { d as defineCustomElement$3 } from './ide-loader.js';
12
8
  import { d as defineCustomElement$2 } from './select-kb-items.js';
@@ -16,20 +12,8 @@ const mapObjectTypeToComboBoxItemModel = (objectTypeModel) => objectTypeModel.ma
16
12
  caption: objectType.name,
17
13
  startImgSrc: objectType.icon
18
14
  }));
19
- const hasActiveNode = (node) => {
20
- if (node.active) {
21
- return true;
22
- }
23
- if (Array.isArray(node.nodes)) {
24
- return node.nodes.some(hasActiveNode);
25
- }
26
- return false;
27
- };
28
- const hasActiveVersionInList = (versionsList) => {
29
- return versionsList.some(hasActiveNode);
30
- };
31
15
 
32
- const historyCss = ".custom-icon-text-wrapper{display:flex;align-items:center;gap:10px}.warning-error-description{display:flex;align-items:center;gap:8px;padding:8px;max-inline-size:800px;line-height:1.5}.warning-error-icon{flex-shrink:0}:host{display:grid;grid-template-columns:max-content 1fr;block-size:100%;overflow:auto}.sidebar{background-color:transparent !important;border-inline-end:var(--section-common-border)}.sidebar::part(expand-button){border-radius:var(--control__border-radius)}gx-ide-select-kb-items{--search-input-max-inline-size:300px;opacity:0;transition:opacity var(--mer-timing--fast)}gx-ide-select-kb-items.sidebar-expanded{opacity:1}ch-tabular-grid.tabular-grid--empty::part(main){overflow:hidden}ch-tabular-grid-rowset-empty{position:relative}.main{display:grid;grid-template-rows:max-content 1fr;grid-row-gap:var(--mer-spacing--sm);overflow:auto}.main__header{display:grid}.main__content{position:relative;overflow:auto;display:grid;grid-template-rows:1fr max-content 2fr;grid-row-gap:var(--mer-spacing--sm)}.tabular-grid{overflow:auto}.search-filter{display:grid;grid-template-columns:1fr max-content max-content;gap:var(--gx-ide-grid-column-gap)}.action-buttons{justify-self:flex-end}.filters-grid{display:grid;grid-template-columns:repeat(6, 1fr);grid-template-areas:\"from from to to type type\" \"user user user revision revision revision\";grid-gap:var(--gx-ide-grid-column-gap);padding-block-start:var(--mer-spacing--sm)}.filters-container{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--mer-timing--fast)}.filters-container-visible{grid-template-rows:1fr}.filters-container>div{overflow:hidden}.field-from{grid-area:from}.field-to{grid-area:to}.field-type{grid-area:type}.field-user{grid-area:user}.field-revision{grid-area:revision}.commits-grid ch-tabular-grid-cell:is(:nth-child(2)){padding-block:var(--grid-cell__padding-block);padding-inline:var(--grid-cell__padding-inline);align-items:start;justify-content:start;min-inline-size:200px}.affected-objects-grid ch-tabular-grid-cell:is(:nth-child(5)){padding-block:var(--grid-cell__padding-block);padding-inline:var(--grid-cell__padding-inline);align-items:start;justify-content:start;min-inline-size:200px}";
16
+ const historyCss = ".custom-icon-text-wrapper{display:flex;align-items:center;gap:10px}.warning-error-description{display:flex;align-items:center;gap:8px;padding:8px;max-inline-size:800px;line-height:1.5}.warning-error-icon{flex-shrink:0}:host{display:grid;grid-template-columns:max-content 1fr;block-size:100%;overflow:auto}.sidebar{background-color:transparent !important;border-inline-end:var(--section-common-border)}.sidebar::part(expand-button){border-radius:var(--control__border-radius)}gx-ide-select-kb-items{--search-input-max-inline-size:300px;opacity:0;transition:opacity var(--mer-timing--fast)}gx-ide-select-kb-items.sidebar-expanded{opacity:1}ch-tabular-grid.tabular-grid--empty::part(main){overflow:hidden}ch-tabular-grid-rowset-empty{position:relative}.main{display:grid;grid-template-rows:max-content 1fr;grid-row-gap:var(--mer-spacing--sm);overflow:auto}.main__header{display:grid}.main__content{position:relative;overflow:auto;display:grid;grid-template-rows:1fr max-content 2fr;grid-row-gap:var(--mer-spacing--sm)}.tabular-grid{overflow:auto}.search-filter{display:grid;grid-template-columns:1fr max-content max-content;gap:var(--gx-ide-grid-column-gap)}.action-buttons{justify-self:flex-end}.filters-grid{display:grid;grid-template-columns:repeat(6, 1fr);grid-template-areas:\"from from to to type type\" \"user user user revision revision revision\";grid-gap:var(--gx-ide-grid-column-gap);padding-block-start:var(--mer-spacing--sm)}.filters-container{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--mer-timing--fast)}.filters-container-visible{grid-template-rows:1fr}.filters-container>div{overflow:hidden}.field-from{grid-area:from}.field-to{grid-area:to}.field-type{grid-area:type}.field-user{grid-area:user}.field-revision{grid-area:revision}.commits-grid ch-tabular-grid-cell:is(:nth-child(2)){padding-block:var(--grid-cell__padding-block);padding-inline:var(--grid-cell__padding-inline);align-items:start;justify-content:start;min-inline-size:200px}.affected-objects-grid ch-tabular-grid-cell:is(:nth-child(5)){padding-block:var(--grid-cell__padding-block);padding-inline:var(--grid-cell__padding-inline);align-items:start;justify-content:start;min-inline-size:200px}.button-tertiary.button-icon-only{border-color:var(--control__border-color--enabled)}";
33
17
 
34
18
  var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
35
19
  if (kind === "a" && !f)
@@ -47,7 +31,7 @@ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) ||
47
31
  throw new TypeError("Cannot write private member to an object whose class did not declare it");
48
32
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
49
33
  };
50
- var _GxIdeTeamDevHistory__componentLocale, _GxIdeTeamDevHistory_types, _GxIdeTeamDevHistory_fromEl, _GxIdeTeamDevHistory_revisionEl, _GxIdeTeamDevHistory_searchEl, _GxIdeTeamDevHistory_toEl, _GxIdeTeamDevHistory_typesEl, _GxIdeTeamDevHistory_userEl, _GxIdeTeamDevHistory_sidebarEl, _GxIdeTeamDevHistory_revisionsGridEl, _GxIdeTeamDevHistory_getObjectsFromVersion, _GxIdeTeamDevHistory_getSelectedRevision, _GxIdeTeamDevHistory_registerGridContextMenuListener, _GxIdeTeamDevHistory_gridContextMenuCallbackHandler, _GxIdeTeamDevHistory_toggleFiltersHandler, _GxIdeTeamDevHistory_renderCommitsGrid, _GxIdeTeamDevHistory_renderAffectedObjectsGrid, _GxIdeTeamDevHistory_renderLoader, _GxIdeTeamDevHistory_formatHistoryDetailDate;
34
+ var _GxIdeTeamDevHistory__componentLocale, _GxIdeTeamDevHistory_types, _GxIdeTeamDevHistory_fromEl, _GxIdeTeamDevHistory_revisionEl, _GxIdeTeamDevHistory_searchEl, _GxIdeTeamDevHistory_toEl, _GxIdeTeamDevHistory_typesEl, _GxIdeTeamDevHistory_userEl, _GxIdeTeamDevHistory_sidebarEl, _GxIdeTeamDevHistory_revisionsGridEl, _GxIdeTeamDevHistory_selectKBItemsEL, _GxIdeTeamDevHistory_selectedVersionChanged, _GxIdeTeamDevHistory_getObjectsFromVersion, _GxIdeTeamDevHistory_getSelectedRevision, _GxIdeTeamDevHistory_registerGridContextMenuListener, _GxIdeTeamDevHistory_gridContextMenuCallbackHandler, _GxIdeTeamDevHistory_toggleFiltersHandler, _GxIdeTeamDevHistory_renderCommitsGrid, _GxIdeTeamDevHistory_renderAffectedObjectsGrid, _GxIdeTeamDevHistory_renderLoader, _GxIdeTeamDevHistory_formatHistoryDetailDate, _GxIdeTeamDevHistory_reloadHandler;
51
35
  const CSS_BUNDLES = [
52
36
  "resets/box-sizing",
53
37
  "utils/form--full",
@@ -59,26 +43,6 @@ const CSS_BUNDLES = [
59
43
  "components/accordion",
60
44
  "components/sidebar"
61
45
  ];
62
- const FILTER_ICON_PRIMARY = getIconPath({
63
- category: "window-tools",
64
- name: "filter",
65
- colorType: "primary"
66
- });
67
- const FILTER_ICON = getIconPath({
68
- category: "window-tools",
69
- name: "filter",
70
- colorType: "on-surface"
71
- });
72
- const RESET_ICON = getIconPath({
73
- category: "gemini-tools",
74
- name: "reset",
75
- colorType: "primary"
76
- });
77
- const SEARCH_ICON = getIconPath({
78
- category: "gemini-tools",
79
- name: "search",
80
- colorType: "on-surface"
81
- });
82
46
  const GxIdeTeamDevHistory$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeTeamDevHistory extends HTMLElement {
83
47
  constructor() {
84
48
  super();
@@ -94,6 +58,13 @@ const GxIdeTeamDevHistory$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeTeamDe
94
58
  _GxIdeTeamDevHistory_userEl.set(this, void 0);
95
59
  _GxIdeTeamDevHistory_sidebarEl.set(this, void 0);
96
60
  _GxIdeTeamDevHistory_revisionsGridEl.set(this, void 0);
61
+ _GxIdeTeamDevHistory_selectKBItemsEL.set(this, void 0);
62
+ _GxIdeTeamDevHistory_selectedVersionChanged.set(this, async (selectedVersion) => {
63
+ if (this.selectedVersionChangeCallback) {
64
+ await this.selectedVersionChangeCallback(selectedVersion);
65
+ }
66
+ await __classPrivateFieldGet(this, _GxIdeTeamDevHistory_getObjectsFromVersion, "f").call(this, selectedVersion[0], true);
67
+ });
97
68
  _GxIdeTeamDevHistory_getObjectsFromVersion.set(this, async (versionId, isRefresh) => {
98
69
  var _a;
99
70
  this.loading = true;
@@ -110,7 +81,6 @@ const GxIdeTeamDevHistory$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeTeamDe
110
81
  await __classPrivateFieldGet(this, _GxIdeTeamDevHistory_getSelectedRevision, "f").call(this, (_a = this.objects[0]) === null || _a === void 0 ? void 0 : _a.id);
111
82
  }
112
83
  catch (error) {
113
- this.versions = [];
114
84
  this.objects = [];
115
85
  this.historyDetail = null;
116
86
  this.selectedRevisionId = null;
@@ -177,7 +147,7 @@ const GxIdeTeamDevHistory$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeTeamDe
177
147
  "affected-objects-grid": true,
178
148
  "tabular-grid": true,
179
149
  "tabular-grid--empty": tabularGridEmpty
180
- } }, h("ch-tabular-grid-columnset", { class: "tabular-grid-column-set" }, h("ch-tabular-grid-column", { "column-name": __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").affectedObjectsGrid.columns.name, "column-name-position": "text", class: "tabular-grid-column", settingable: false, size: config.tabularGrid.colSize.maxContent }), h("ch-tabular-grid-column", { "column-name": __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").affectedObjectsGrid.columns.types, "column-name-position": "text", class: "tabular-grid-column", settingable: false, size: config.tabularGrid.colSize.maxContent }), h("ch-tabular-grid-column", { "column-name": __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").affectedObjectsGrid.columns.description, "column-name-position": "text", class: "tabular-grid-column", settingable: false, size: config.tabularGrid.colSize.auto }), h("ch-tabular-grid-column", { "column-name": __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").affectedObjectsGrid.columns.action, "column-name-position": "text", class: "tabular-grid-column", settingable: false, size: config.tabularGrid.colSize.maxContent })), this.historyDetail && this.historyDetail.objects.length > 0 ? (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, iterable.map((obj) => (h("ch-tabular-grid-row", { class: "tabular-grid-row" }, h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, obj.name), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, renderObjectTypeWithIcon(obj.type)), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, obj.description), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, renderObjectStateWithIcon(obj.state))))))) : (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, h("ch-tabular-grid-rowset-empty", null, h("gx-ide-empty-state", { stateIconSrc: FILTER_ICON, stateTitle: __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").emptyHistoryDetailText, isAnimated: true })))), h("ch-tabular-grid-row", { class: "tabular-grid-row" })));
150
+ } }, h("ch-tabular-grid-columnset", { class: "tabular-grid-column-set" }, h("ch-tabular-grid-column", { "column-name": __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").affectedObjectsGrid.columns.name, "column-name-position": "text", class: "tabular-grid-column", settingable: false, size: config.tabularGrid.colSize.maxContent }), h("ch-tabular-grid-column", { "column-name": __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").affectedObjectsGrid.columns.types, "column-name-position": "text", class: "tabular-grid-column", settingable: false, size: config.tabularGrid.colSize.maxContent }), h("ch-tabular-grid-column", { "column-name": __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").affectedObjectsGrid.columns.description, "column-name-position": "text", class: "tabular-grid-column", settingable: false, size: config.tabularGrid.colSize.auto }), h("ch-tabular-grid-column", { "column-name": __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").affectedObjectsGrid.columns.action, "column-name-position": "text", class: "tabular-grid-column", settingable: false, size: config.tabularGrid.colSize.maxContent })), this.historyDetail && this.historyDetail.objects.length > 0 ? (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, iterable.map((obj) => (h("ch-tabular-grid-row", { class: "tabular-grid-row" }, h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, obj.name), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, renderObjectTypeWithIcon(obj.type)), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, obj.description), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, renderObjectStateWithIcon(obj.state))))))) : (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, h("ch-tabular-grid-rowset-empty", null, h("gx-ide-empty-state", { stateIconSrc: ICONS.filter, stateTitle: __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").emptyHistoryDetailText, isAnimated: true })))), h("ch-tabular-grid-row", { class: "tabular-grid-row" })));
181
151
  });
182
152
  _GxIdeTeamDevHistory_renderLoader.set(this, () => {
183
153
  return (this.loading && (h("div", { class: "main__content scrollable" }, h("gx-ide-loader", { loaderTitle: __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").loader.title, show: true, description: __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").loader.description }))));
@@ -188,9 +158,12 @@ const GxIdeTeamDevHistory$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeTeamDe
188
158
  const formattedDate = formatDate(datePart, "date-time");
189
159
  return `${parts[0]} - ${formattedDate} - ${parts[2]}`;
190
160
  });
161
+ _GxIdeTeamDevHistory_reloadHandler.set(this, async () => {
162
+ this.loading = true;
163
+ await __classPrivateFieldGet(this, _GxIdeTeamDevHistory_selectKBItemsEL, "f").reloadItems();
164
+ });
191
165
  this.historyDetail = undefined;
192
166
  this.objects = [];
193
- this.isFirstLoad = true;
194
167
  this.sidebarExpanded = true;
195
168
  this.filtersHidden = true;
196
169
  this.loading = true;
@@ -199,40 +172,11 @@ const GxIdeTeamDevHistory$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeTeamDe
199
172
  this.types = undefined;
200
173
  this.itemContextMenuCallback = undefined;
201
174
  this.gridContextMenuCallback = undefined;
202
- this.selectedVersionId = undefined;
203
- this.versions = undefined;
175
+ this.loadVersionsCallback = undefined;
204
176
  this.loadCallback = undefined;
205
177
  this.loadDetailCallback = undefined;
206
178
  this.selectedVersionChangeCallback = undefined;
207
179
  }
208
- async selectedVersionIdChanged(newSelectedVersionId, oldSelectedVersionId) {
209
- var _a;
210
- if (newSelectedVersionId === oldSelectedVersionId) {
211
- return;
212
- }
213
- // Reset filters
214
- __classPrivateFieldGet(this, _GxIdeTeamDevHistory_searchEl, "f").value = null;
215
- __classPrivateFieldGet(this, _GxIdeTeamDevHistory_fromEl, "f").value = null;
216
- __classPrivateFieldGet(this, _GxIdeTeamDevHistory_toEl, "f").value = null;
217
- __classPrivateFieldGet(this, _GxIdeTeamDevHistory_revisionEl, "f").value = null;
218
- __classPrivateFieldGet(this, _GxIdeTeamDevHistory_userEl, "f").value = null;
219
- __classPrivateFieldGet(this, _GxIdeTeamDevHistory_typesEl, "f").value = (_a = __classPrivateFieldGet(this, _GxIdeTeamDevHistory_types, "f")[0]) === null || _a === void 0 ? void 0 : _a.value;
220
- await __classPrivateFieldGet(this, _GxIdeTeamDevHistory_getObjectsFromVersion, "f").call(this, newSelectedVersionId, false);
221
- }
222
- async versionsListChanged(newVersionsList) {
223
- this.versions = newVersionsList;
224
- this.hasActiveVersion = hasActiveVersionInList(newVersionsList);
225
- if (newVersionsList.length > 0 &&
226
- this.selectedVersionId &&
227
- this.isFirstLoad) {
228
- await __classPrivateFieldGet(this, _GxIdeTeamDevHistory_getObjectsFromVersion, "f").call(this, this.selectedVersionId, false);
229
- this.isFirstLoad = false;
230
- }
231
- else if (newVersionsList.length === 0 && this.isFirstLoad) {
232
- this.loading = false;
233
- this.isFirstLoad = false;
234
- }
235
- }
236
180
  async componentWillLoad() {
237
181
  __classPrivateFieldSet(this, _GxIdeTeamDevHistory__componentLocale, await Locale.getComponentStrings(this.el), "f");
238
182
  __classPrivateFieldSet(this, _GxIdeTeamDevHistory_types, mapObjectTypeToComboBoxItemModel(this.types), "f");
@@ -242,45 +186,40 @@ const GxIdeTeamDevHistory$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeTeamDe
242
186
  this.sidebarExpanded = e.detail;
243
187
  });
244
188
  }
189
+ async reload() {
190
+ await __classPrivateFieldGet(this, _GxIdeTeamDevHistory_reloadHandler, "f").call(this);
191
+ }
245
192
  render() {
246
193
  var _a;
247
194
  return (h(Host, { class: "widget" }, h("ch-theme", { model: CSS_BUNDLES }), h("ch-sidebar", { ref: (el) => (__classPrivateFieldSet(this, _GxIdeTeamDevHistory_sidebarEl, el, "f")), class: "sidebar", expanded: this.sidebarExpanded, expandButtonCollapseAccessibleName: __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").sidebar.collapseAriaLabel, expandButtonExpandAccessibleName: __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").sidebar.expandAriaLabel, showExpandButton: true }, h("gx-ide-select-kb-items", { class: {
248
195
  "sidebar-expanded": this.sidebarExpanded,
249
196
  "has-active-version": this.hasActiveVersion
250
- }, checkboxType: "none", itemsList: this.versions, expandOnClick: false, selectionChanged: this.selectedVersionChangeCallback, itemContextMenuCallback: this.itemContextMenuCallback })), h("main", { class: "main spacing-body-block-start spacing-body-inline" }, h("div", { class: "main__header" }, h("div", { class: "search-filter" }, h("div", { class: "field field-inline" }, h("label", { class: "label", htmlFor: "search" }, __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").filters.search), h("ch-edit", { value: "", class: "input", startImgSrc: SEARCH_ICON, part: "search", id: "search", ref: (el) => (__classPrivateFieldSet(this, _GxIdeTeamDevHistory_searchEl, el, "f")) })), h("button", { id: "filter-toggle-button", class: "button-teritary button-icon-only", "aria-label": __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").searchFilter.filterAriaLabel, "aria-expanded": this.filtersHidden ? "false" : "true", "aria-controls": "filters-container", onClick: () => __classPrivateFieldGet(this, _GxIdeTeamDevHistory_toggleFiltersHandler, "f").call(this) }, h("ch-image", { class: "icon-md", src: FILTER_ICON_PRIMARY })), h("button", { class: "button-teritary button-icon-only", "aria-label": __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").searchFilter.reloadAriaLabel, onClick: () => __classPrivateFieldGet(this, _GxIdeTeamDevHistory_getObjectsFromVersion, "f").call(this, this.selectedVersionId, true), part: __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").searchFilter.reloadAriaLabel }, h("ch-image", { class: "icon-md", src: RESET_ICON }))), h("div", { id: "filters-container", "aria-labelledby": "filter-toggle-button", class: {
197
+ }, checkboxType: "none", loadItemsCallback: () => this.loadVersionsCallback(), expandOnClick: false, selectionChanged: __classPrivateFieldGet(this, _GxIdeTeamDevHistory_selectedVersionChanged, "f"), itemContextMenuCallback: (info) => this.itemContextMenuCallback(info), ref: (el) => (__classPrivateFieldSet(this, _GxIdeTeamDevHistory_selectKBItemsEL, el, "f")) })), h("main", { class: "main spacing-body-block-start spacing-body-inline" }, h("div", { class: "main__header" }, h("div", { class: "search-filter" }, h("div", { class: "field field-inline" }, h("label", { class: "label", htmlFor: "search" }, __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").filters.search), h("ch-edit", { value: "", class: "input", startImgSrc: ICONS.search, part: "search", id: "search", ref: (el) => (__classPrivateFieldSet(this, _GxIdeTeamDevHistory_searchEl, el, "f")) })), h("button", { id: "filter-toggle-button", class: "button-tertiary button-icon-only", "aria-label": __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").searchFilter.filterAriaLabel, "aria-expanded": this.filtersHidden ? "false" : "true", "aria-controls": "filters-container", onClick: () => __classPrivateFieldGet(this, _GxIdeTeamDevHistory_toggleFiltersHandler, "f").call(this) }, h("ch-image", { class: "icon-md", src: ICONS.filter })), h("button", { class: "button-tertiary button-icon-only", "aria-label": __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").searchFilter.reloadAriaLabel, onClick: () => __classPrivateFieldGet(this, _GxIdeTeamDevHistory_reloadHandler, "f").call(this), part: __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").searchFilter.reloadAriaLabel }, h("ch-image", { class: "icon-md", src: ICONS.refresh }))), h("div", { id: "filters-container", "aria-labelledby": "filter-toggle-button", class: {
251
198
  "filters-container-visible": !this.filtersHidden,
252
199
  "filters-container": true
253
200
  }, inert: this.filtersHidden, hidden: this.filtersHidden }, h("div", null, h("div", { class: "filters-grid" }, h("div", { class: "field field-block field-from" }, h("label", { class: "label", htmlFor: "from" }, __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").filters.from), h("ch-edit", { value: "", class: "input", type: "date", part: "from", id: "from", ref: (el) => (__classPrivateFieldSet(this, _GxIdeTeamDevHistory_fromEl, el, "f")) })), h("div", { class: "field field-block field-to" }, h("label", { class: "label", htmlFor: "to" }, __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").filters.to), h("ch-edit", { value: "", class: "input", type: "date", id: "to", ref: (el) => (__classPrivateFieldSet(this, _GxIdeTeamDevHistory_toEl, el, "f")) })), h("div", { class: "field field-block field-type" }, h("label", { class: "label", htmlFor: "type" }, __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").filters.type), h("ch-combo-box-render", { accessibleName: "types", class: "combo-box", part: "type", model: __classPrivateFieldGet(this, _GxIdeTeamDevHistory_types, "f"), value: (_a = __classPrivateFieldGet(this, _GxIdeTeamDevHistory_types, "f")[0]) === null || _a === void 0 ? void 0 : _a.value, ref: (el) => (__classPrivateFieldSet(this, _GxIdeTeamDevHistory_typesEl, el, "f")) })), h("div", { class: "field field-block field-user" }, h("label", { class: "label", htmlFor: "user" }, __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").filters.user), h("ch-edit", { value: "", part: "user", class: "input", id: "user", ref: (el) => (__classPrivateFieldSet(this, _GxIdeTeamDevHistory_userEl, el, "f")) })), h("div", { class: "field field-block field-revision" }, h("label", { class: "label", htmlFor: "revision" }, __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").filters.revision), h("ch-edit", { value: "", part: "revision", class: "input", id: "revision", ref: (el) => (__classPrivateFieldSet(this, _GxIdeTeamDevHistory_revisionEl, el, "f")) })))))), __classPrivateFieldGet(this, _GxIdeTeamDevHistory_renderLoader, "f").call(this), !this.loading && (h("div", { class: "main__content scrollable" }, __classPrivateFieldGet(this, _GxIdeTeamDevHistory_renderCommitsGrid, "f").call(this), h("div", { class: "field field-block" }, h("label", { class: "label", htmlFor: "comment-area" }, this.historyDetail ? this.historyDetail.title : null), h("ch-edit", { class: "input comment-text-area", value: this.historyDetail ? this.historyDetail.comment : null, multiline: true, autoGrow: true, readonly: true, part: "comment-area", id: "comment-area" })), __classPrivateFieldGet(this, _GxIdeTeamDevHistory_renderAffectedObjectsGrid, "f").call(this))))));
254
201
  }
255
202
  static get assetsDirs() { return ["gx-ide-assets/team-dev-history"]; }
256
203
  get el() { return this; }
257
- static get watchers() { return {
258
- "selectedVersionId": ["selectedVersionIdChanged"],
259
- "versions": ["versionsListChanged"]
260
- }; }
261
204
  static get style() { return historyCss; }
262
205
  }, [1, "gx-ide-team-dev-history", {
263
206
  "types": [16],
264
207
  "itemContextMenuCallback": [16],
265
208
  "gridContextMenuCallback": [16],
266
- "selectedVersionId": [1025, "selected-version-id"],
267
- "versions": [1040],
209
+ "loadVersionsCallback": [16],
268
210
  "loadCallback": [16],
269
211
  "loadDetailCallback": [16],
270
212
  "selectedVersionChangeCallback": [16],
271
213
  "historyDetail": [32],
272
214
  "objects": [32],
273
- "isFirstLoad": [32],
274
215
  "sidebarExpanded": [32],
275
216
  "filtersHidden": [32],
276
217
  "loading": [32],
277
218
  "selectedRevisionId": [32],
278
- "hasActiveVersion": [32]
279
- }, undefined, {
280
- "selectedVersionId": ["selectedVersionIdChanged"],
281
- "versions": ["versionsListChanged"]
219
+ "hasActiveVersion": [32],
220
+ "reload": [64]
282
221
  }]);
283
- _GxIdeTeamDevHistory__componentLocale = new WeakMap(), _GxIdeTeamDevHistory_types = new WeakMap(), _GxIdeTeamDevHistory_fromEl = new WeakMap(), _GxIdeTeamDevHistory_revisionEl = new WeakMap(), _GxIdeTeamDevHistory_searchEl = new WeakMap(), _GxIdeTeamDevHistory_toEl = new WeakMap(), _GxIdeTeamDevHistory_typesEl = new WeakMap(), _GxIdeTeamDevHistory_userEl = new WeakMap(), _GxIdeTeamDevHistory_sidebarEl = new WeakMap(), _GxIdeTeamDevHistory_revisionsGridEl = new WeakMap(), _GxIdeTeamDevHistory_getObjectsFromVersion = new WeakMap(), _GxIdeTeamDevHistory_getSelectedRevision = new WeakMap(), _GxIdeTeamDevHistory_registerGridContextMenuListener = new WeakMap(), _GxIdeTeamDevHistory_gridContextMenuCallbackHandler = new WeakMap(), _GxIdeTeamDevHistory_toggleFiltersHandler = new WeakMap(), _GxIdeTeamDevHistory_renderCommitsGrid = new WeakMap(), _GxIdeTeamDevHistory_renderAffectedObjectsGrid = new WeakMap(), _GxIdeTeamDevHistory_renderLoader = new WeakMap(), _GxIdeTeamDevHistory_formatHistoryDetailDate = new WeakMap();
222
+ _GxIdeTeamDevHistory__componentLocale = new WeakMap(), _GxIdeTeamDevHistory_types = new WeakMap(), _GxIdeTeamDevHistory_fromEl = new WeakMap(), _GxIdeTeamDevHistory_revisionEl = new WeakMap(), _GxIdeTeamDevHistory_searchEl = new WeakMap(), _GxIdeTeamDevHistory_toEl = new WeakMap(), _GxIdeTeamDevHistory_typesEl = new WeakMap(), _GxIdeTeamDevHistory_userEl = new WeakMap(), _GxIdeTeamDevHistory_sidebarEl = new WeakMap(), _GxIdeTeamDevHistory_revisionsGridEl = new WeakMap(), _GxIdeTeamDevHistory_selectKBItemsEL = new WeakMap(), _GxIdeTeamDevHistory_selectedVersionChanged = new WeakMap(), _GxIdeTeamDevHistory_getObjectsFromVersion = new WeakMap(), _GxIdeTeamDevHistory_getSelectedRevision = new WeakMap(), _GxIdeTeamDevHistory_registerGridContextMenuListener = new WeakMap(), _GxIdeTeamDevHistory_gridContextMenuCallbackHandler = new WeakMap(), _GxIdeTeamDevHistory_toggleFiltersHandler = new WeakMap(), _GxIdeTeamDevHistory_renderCommitsGrid = new WeakMap(), _GxIdeTeamDevHistory_renderAffectedObjectsGrid = new WeakMap(), _GxIdeTeamDevHistory_renderLoader = new WeakMap(), _GxIdeTeamDevHistory_formatHistoryDetailDate = new WeakMap(), _GxIdeTeamDevHistory_reloadHandler = new WeakMap();
284
223
  function defineCustomElement$1() {
285
224
  if (typeof customElements === "undefined") {
286
225
  return;
@@ -1 +1 @@
1
- {"file":"gx-ide-team-dev-history.js","mappings":"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","names":["GxIdeTeamDevHistory"],"sources":["src/components/team-dev/history/helpers.ts","src/components/team-dev/history/history.scss?tag=gx-ide-team-dev-history&encapsulation=shadow","src/components/team-dev/history/history.tsx"],"sourcesContent":["import { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\nimport { ObjectType, GxOption } from \"../../../common/types\";\nimport { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\nimport { ItemNode } from \"../../select-kb-items/select-kb-items\";\n\nexport const mapObjectTypeToComboBoxItemModel = (\n objectTypeModel: ObjectType[]\n): ComboBoxItemModel[] =>\n objectTypeModel.map(objectType => ({\n value: objectType.id,\n caption: objectType.name,\n startImgSrc: objectType.icon\n }));\n\nexport const mapCategoryToComboBoxItemModel = (\n categoryModel: GxOption[]\n): ComboBoxModel =>\n categoryModel.map(category => ({\n value: category.id,\n caption: category.label\n }));\n\nconst hasActiveNode = (node: any): boolean => {\n if (node.active) {\n return true;\n }\n if (Array.isArray(node.nodes)) {\n return node.nodes.some(hasActiveNode);\n }\n return false;\n};\n\nexport const hasActiveVersionInList = (versionsList: ItemNode[]): boolean => {\n return versionsList.some(hasActiveNode);\n};\n","@import \"../../../../node_modules/@genexus/mercury/dist/assets/scss/helpers.scss\";\n@import \"../common/styles.scss\";\n\n// TODO: this should be a class on Mercury.\n// Not sure if applying \".field-group\" is the right thing to do.\n$commonRowGap: var(--mer-spacing--sm);\n\n:host {\n display: grid;\n grid-template-columns: max-content 1fr;\n block-size: 100%;\n overflow: auto;\n}\n\n.sidebar {\n background-color: transparent !important; // TODO: Apply elevation classes on Mercury.\n border-inline-end: var(--section-common-border);\n}\n\n.sidebar::part(expand-button) {\n border-radius: var(--control__border-radius);\n}\n\ngx-ide-select-kb-items {\n --search-input-max-inline-size: 300px;\n opacity: 0;\n transition: opacity var(--mer-timing--fast);\n}\ngx-ide-select-kb-items.sidebar-expanded {\n opacity: 1;\n}\n\nch-tabular-grid.tabular-grid--empty::part(main) {\n // WA to avoid scrollbar flickering when displaying the empty-state message\n overflow: hidden;\n}\n\nch-tabular-grid-rowset-empty {\n position: relative; // makes this the bounder element for the loader\n}\n\n.main {\n display: grid;\n grid-template-rows: max-content 1fr;\n grid-row-gap: $commonRowGap;\n overflow: auto;\n}\n.main__header {\n display: grid;\n}\n.main__content {\n position: relative;\n overflow: auto;\n display: grid;\n grid-template-rows: 1fr max-content 2fr;\n grid-row-gap: $commonRowGap;\n}\n\n.tabular-grid {\n overflow: auto;\n}\n\n/*SECOND GRID*/\n.search-filter {\n display: grid;\n grid-template-columns: 1fr max-content max-content;\n gap: var(--gx-ide-grid-column-gap);\n}\n\n.action-buttons {\n justify-self: flex-end;\n}\n\n.filters-grid {\n display: grid;\n grid-template-columns: repeat(6, 1fr);\n grid-template-areas:\n \"from from to to type type\"\n \"user user user revision revision revision\";\n grid-gap: var(--gx-ide-grid-column-gap);\n padding-block-start: $commonRowGap;\n}\n\n.filters-container {\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows var(--mer-timing--fast);\n}\n\n.filters-container-visible {\n grid-template-rows: 1fr;\n}\n\n.filters-container > div {\n overflow: hidden;\n}\n\n.field-from {\n grid-area: from;\n}\n\n.field-to {\n grid-area: to;\n}\n.field-type {\n grid-area: type;\n}\n.field-user {\n grid-area: user;\n}\n.field-revision {\n grid-area: revision;\n}\n\n// commits grid \"comment\" column\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".commits-grid\",\n $tabular-grid-cell-node-type: \"text\",\n $tabular-grid-cell-min-inline-size: 200px,\n $tabular-grid-affected-columns-nth-list: (\n 2\n )\n);\n\n// affected objects grid \"description\" column\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".affected-objects-grid\",\n $tabular-grid-cell-node-type: \"text\",\n $tabular-grid-cell-min-inline-size: 200px,\n $tabular-grid-affected-columns-nth-list: (\n 5\n )\n);\n","/* STENCIL IMPORTS */\nimport { Component, Element, h, Host, Prop, State, Watch } from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport { config } from \"../../../common/config\";\nimport { formatDate } from \"../../../common/helpers\";\nimport { Locale } from \"../../../common/locale\";\nimport { ContextMenuInfo } from \"../../../components\";\nimport { ItemNode } from \"../../select-kb-items/select-kb-items\";\nimport {\n hasActiveVersionInList,\n mapObjectTypeToComboBoxItemModel\n} from \"./helpers\";\nimport {\n renderObjectStateWithIcon,\n renderObjectTypeWithIcon\n} from \"../common/utilities\";\nimport { ObjectState } from \"../version-control/common/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/spacing\",\n \"utils/typography\",\n \"chameleon/scrollbar\",\n \"components/tabular-grid\",\n \"components/accordion\",\n \"components/sidebar\"\n];\n\nconst FILTER_ICON_PRIMARY = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"primary\"\n});\n\nconst FILTER_ICON = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"on-surface\"\n});\n\nconst RESET_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"reset\",\n colorType: \"primary\"\n});\n\nconst SEARCH_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"search\",\n colorType: \"on-surface\"\n});\n\n@Component({\n tag: \"gx-ide-team-dev-history\",\n styleUrl: \"history.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/team-dev-history\"]\n})\nexport class GxIdeTeamDevHistory {\n #_componentLocale: any;\n\n #types: ComboBoxItemModel[] = [];\n\n @Element() el: HTMLGxIdeTeamDevHistoryElement;\n\n #fromEl?: HTMLChEditElement;\n #revisionEl?: HTMLChEditElement;\n #searchEl: HTMLChEditElement;\n #toEl?: HTMLChEditElement;\n #typesEl?: HTMLChComboBoxRenderElement;\n #userEl?: HTMLChEditElement;\n #sidebarEl: HTMLChSidebarElement;\n #revisionsGridEl: HTMLChTabularGridElement;\n\n @State() historyDetail: RevisionDetailData;\n\n /**\n * The files rendered in the table\n */\n @State() objects: RevisionData[] = [];\n\n /**\n * Used to call getObjectsFromVersion from the versionsChanged method only once after receiving the versions for the first time.\n */\n @State() isFirstLoad: boolean = true;\n\n /**\n * Used to hide the select-kb-items when collapsed\n */\n @State() sidebarExpanded: boolean = true;\n\n /**\n * Used to show or hide the filters section\n */\n @State() filtersHidden = true;\n\n /**\n * To show a loader when the component is loading\n */\n @State() loading: boolean = true;\n\n /**\n * The Id of the selected revision in the revisions grid\n */\n @State() selectedRevisionId: string;\n\n /**\n * Used to customize the select-kb-items \"header\" part grid layout\n */\n @State() hasActiveVersion: boolean = false; // TODO:\n\n /**\n * Possible values of type filter\n */\n @Prop() readonly types: ObjectType[];\n\n /**\n * Callback emitted when the user right click on an item\n */\n @Prop() readonly itemContextMenuCallback: (\n info: ContextMenuInfo\n ) => Promise<void>;\n\n /**\n * Callback invoked when user right-clicks on the grid\n */\n @Prop() readonly gridContextMenuCallback: (\n info: ContextMenuInfo\n ) => Promise<void>;\n\n /**\n * The Id of the selected version in the select-kb-items component\n */\n @Prop({ mutable: true }) selectedVersionId: string;\n @Watch(\"selectedVersionId\")\n async selectedVersionIdChanged(\n newSelectedVersionId: string,\n oldSelectedVersionId?: string\n ) {\n if (newSelectedVersionId === oldSelectedVersionId) {\n return;\n }\n\n // Reset filters\n this.#searchEl.value = null;\n this.#fromEl.value = null;\n this.#toEl.value = null;\n this.#revisionEl.value = null;\n this.#userEl.value = null;\n this.#typesEl.value = this.#types[0]?.value;\n\n await this.#getObjectsFromVersion(newSelectedVersionId, false);\n }\n\n /**\n * List of versions to show in the versions tree\n */\n @Prop({ mutable: true }) versions: ItemNode[];\n @Watch(\"versions\")\n async versionsListChanged(newVersionsList: ItemNode[]) {\n this.versions = newVersionsList;\n this.hasActiveVersion = hasActiveVersionInList(newVersionsList);\n\n if (\n newVersionsList.length > 0 &&\n this.selectedVersionId &&\n this.isFirstLoad\n ) {\n await this.#getObjectsFromVersion(this.selectedVersionId, false);\n this.isFirstLoad = false;\n } else if (newVersionsList.length === 0 && this.isFirstLoad) {\n this.loading = false;\n this.isFirstLoad = false;\n }\n }\n\n /**\n * Callback invoked when is necessary to reload the history info. Receive the filters as parameters and only returns the info corresponding to the master grid.\n\n */\n @Prop() readonly loadCallback: LoadCallback;\n\n /**\n * Callback invoked to obtain detailed info from a revision. As parameter receive internal revision id\n */\n @Prop() readonly loadDetailCallback: LoadDetailCallback;\n\n /**\n * Callback invoked when the selected version changes. As parameter receive the selected version id\n */\n @Prop() readonly selectedVersionChangeCallback: SelectedVersionChangeCallback;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.#types = mapObjectTypeToComboBoxItemModel(this.types);\n }\n\n async componentDidLoad() {\n this.#sidebarEl.addEventListener(\n \"expandedChange\",\n (e: CustomEvent<boolean>) => {\n this.sidebarExpanded = e.detail;\n }\n );\n }\n\n #getObjectsFromVersion = async (\n versionId: string,\n isRefresh: boolean\n ): Promise<void> => {\n this.loading = true;\n\n const filters: FiltersData = {\n search: this.#searchEl.value ? this.#searchEl.value : \"\",\n from: this.#fromEl.value ? new Date(this.#fromEl.value) : null,\n to: this.#toEl.value ? new Date(this.#toEl.value) : null,\n revision: this.#revisionEl.value ? this.#revisionEl.value : \"\",\n user: this.#userEl.value ? this.#userEl.value : \"\",\n type: this.#typesEl.value === \"all\" ? \"\" : this.#typesEl.value\n };\n try {\n this.objects = await this.loadCallback(filters, versionId, isRefresh);\n await this.#getSelectedRevision(this.objects[0]?.id);\n } catch (error) {\n this.versions = [];\n this.objects = [];\n this.historyDetail = null;\n this.selectedRevisionId = null;\n } finally {\n this.loading = false;\n }\n };\n\n #getSelectedRevision = async (revisionId: string) => {\n if (revisionId) {\n this.historyDetail = await this.loadDetailCallback(revisionId);\n this.historyDetail.title = this.#formatHistoryDetailDate(\n this.historyDetail.title\n );\n this.selectedRevisionId = revisionId;\n } else {\n this.historyDetail = null;\n }\n };\n\n #registerGridContextMenuListener = (): void => {\n if (this.#revisionsGridEl) {\n this.#revisionsGridEl.addEventListener(\n \"contextmenu\",\n (ev: MouseEvent): void => {\n ev.preventDefault();\n ev.stopPropagation();\n this.#gridContextMenuCallbackHandler(ev);\n }\n );\n }\n };\n\n #gridContextMenuCallbackHandler = async (ev: MouseEvent): Promise<void> => {\n this.gridContextMenuCallback({\n selection: [this.selectedRevisionId],\n clientX: ev.clientX,\n clientY: ev.clientY\n });\n };\n\n #toggleFiltersHandler = () => {\n this.filtersHidden = !this.filtersHidden;\n };\n\n #renderCommitsGrid = (): Element => {\n const tabularGridEmpty = this.objects?.length === 0 || !this.objects;\n return (\n <ch-tabular-grid\n class={{\n \"commits-grid\": true,\n \"tabular-grid\": true,\n \"tabular-grid--empty\": tabularGridEmpty\n }}\n onSelectionChanged={(ev: any) => {\n this.objects.length > 0 &&\n this.#getSelectedRevision(ev.detail.rowsId[0]);\n }}\n ref={(el: HTMLChTabularGridElement) => {\n if (el && this.#revisionsGridEl !== el) {\n this.#revisionsGridEl = el as HTMLChTabularGridElement;\n\n this.#registerGridContextMenuListener();\n\n if (this.objects.length > 0) {\n this.#revisionsGridEl.selectRow(this.objects[0]?.id, true);\n }\n }\n }}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n column-name={this.#_componentLocale.mainGrid.columns.id}\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"max-content\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#_componentLocale.mainGrid.columns.comment}\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"1fr\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#_componentLocale.mainGrid.columns.user}\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"max-content\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#_componentLocale.mainGrid.columns.commitDate}\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"max-content\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.objects.length > 0 ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.objects.map((obj: RevisionData) => (\n <ch-tabular-grid-row\n rowid={obj.id}\n key={obj.id}\n class=\"tabular-grid-row\"\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.id}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.comment}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.user}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.commitDate, \"date-time\")}`}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n <gx-ide-empty-state\n stateTitle={this.#_componentLocale.emptyRevisionsText}\n isAnimated={true}\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n\n <ch-tabular-grid-row class=\"tabular-grid-row\"></ch-tabular-grid-row>\n </ch-tabular-grid>\n );\n };\n\n #renderAffectedObjectsGrid = (): Element => {\n const iterable = this.historyDetail ? this.historyDetail.objects : [];\n const tabularGridEmpty =\n this.historyDetail?.objects?.length === 0 || !this.historyDetail;\n return (\n <ch-tabular-grid\n class={{\n \"affected-objects-grid\": true,\n \"tabular-grid\": true,\n \"tabular-grid--empty\": tabularGridEmpty\n }}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n column-name={\n this.#_componentLocale.affectedObjectsGrid.columns.name\n }\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={\n this.#_componentLocale.affectedObjectsGrid.columns.types\n }\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={\n this.#_componentLocale.affectedObjectsGrid.columns.description\n }\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size={config.tabularGrid.colSize.auto}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={\n this.#_componentLocale.affectedObjectsGrid.columns.action\n }\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.historyDetail && this.historyDetail.objects.length > 0 ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {iterable.map((obj: ObjectData) => (\n <ch-tabular-grid-row class=\"tabular-grid-row\">\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {renderObjectTypeWithIcon(obj.type)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.description}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {renderObjectStateWithIcon(obj.state)}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n <gx-ide-empty-state\n stateIconSrc={FILTER_ICON}\n stateTitle={this.#_componentLocale.emptyHistoryDetailText}\n isAnimated={true}\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n\n <ch-tabular-grid-row class=\"tabular-grid-row\"></ch-tabular-grid-row>\n </ch-tabular-grid>\n );\n };\n\n #renderLoader = (): Element => {\n return (\n this.loading && (\n <div class=\"main__content scrollable\">\n <gx-ide-loader\n loaderTitle={this.#_componentLocale.loader.title}\n show\n description={this.#_componentLocale.loader.description}\n ></gx-ide-loader>\n </div>\n )\n );\n };\n\n #formatHistoryDetailDate = (title: string): string => {\n const parts = title.split(\" - \");\n const datePart = new Date(parts[1]);\n const formattedDate = formatDate(datePart, \"date-time\");\n return `${parts[0]} - ${formattedDate} - ${parts[2]}`;\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <ch-sidebar\n ref={(el: HTMLChSidebarElement) =>\n (this.#sidebarEl = el as HTMLChSidebarElement)\n }\n class=\"sidebar\"\n expanded={this.sidebarExpanded}\n expandButtonCollapseAccessibleName={\n this.#_componentLocale.sidebar.collapseAriaLabel\n }\n expandButtonExpandAccessibleName={\n this.#_componentLocale.sidebar.expandAriaLabel\n }\n showExpandButton\n >\n <gx-ide-select-kb-items\n class={{\n \"sidebar-expanded\": this.sidebarExpanded,\n \"has-active-version\": this.hasActiveVersion\n }}\n checkboxType=\"none\"\n itemsList={this.versions}\n expandOnClick={false}\n selectionChanged={this.selectedVersionChangeCallback}\n itemContextMenuCallback={this.itemContextMenuCallback}\n ></gx-ide-select-kb-items>\n </ch-sidebar>\n\n <main class=\"main spacing-body-block-start spacing-body-inline\">\n <div class=\"main__header\">\n <div class=\"search-filter\">\n <div class=\"field field-inline\">\n <label class=\"label\" htmlFor=\"search\">\n {this.#_componentLocale.filters.search}\n </label>\n <ch-edit\n value=\"\"\n class=\"input\"\n startImgSrc={SEARCH_ICON}\n part=\"search\"\n id=\"search\"\n ref={(el: HTMLChEditElement) =>\n (this.#searchEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <button\n id=\"filter-toggle-button\"\n class=\"button-teritary button-icon-only\"\n aria-label={this.#_componentLocale.searchFilter.filterAriaLabel}\n aria-expanded={this.filtersHidden ? \"false\" : \"true\"}\n aria-controls=\"filters-container\"\n onClick={() => this.#toggleFiltersHandler()}\n >\n <ch-image class=\"icon-md\" src={FILTER_ICON_PRIMARY}></ch-image>\n </button>\n\n <button\n class=\"button-teritary button-icon-only\"\n aria-label={this.#_componentLocale.searchFilter.reloadAriaLabel}\n onClick={() =>\n this.#getObjectsFromVersion(this.selectedVersionId, true)\n }\n part={this.#_componentLocale.searchFilter.reloadAriaLabel}\n >\n <ch-image class=\"icon-md\" src={RESET_ICON}></ch-image>\n </button>\n </div>\n\n <div\n id=\"filters-container\"\n aria-labelledby=\"filter-toggle-button\"\n class={{\n \"filters-container-visible\": !this.filtersHidden,\n \"filters-container\": true\n }}\n inert={this.filtersHidden}\n hidden={this.filtersHidden}\n >\n <div>\n <div class=\"filters-grid\">\n <div class=\"field field-block field-from\">\n <label class=\"label\" htmlFor=\"from\">\n {this.#_componentLocale.filters.from}\n </label>\n <ch-edit\n value=\"\"\n class=\"input\"\n type=\"date\"\n part=\"from\"\n id=\"from\"\n ref={(el: HTMLChEditElement) =>\n (this.#fromEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <div class=\"field field-block field-to\">\n <label class=\"label\" htmlFor=\"to\">\n {this.#_componentLocale.filters.to}\n </label>\n <ch-edit\n value=\"\"\n class=\"input\"\n type=\"date\"\n id=\"to\"\n ref={(el: HTMLChEditElement) =>\n (this.#toEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <div class=\"field field-block field-type\">\n <label class=\"label\" htmlFor=\"type\">\n {this.#_componentLocale.filters.type}\n </label>\n\n <ch-combo-box-render\n accessibleName=\"types\"\n class=\"combo-box\"\n part=\"type\"\n model={this.#types}\n value={this.#types[0]?.value}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#typesEl = el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n </div>\n\n <div class=\"field field-block field-user\">\n <label class=\"label\" htmlFor=\"user\">\n {this.#_componentLocale.filters.user}\n </label>\n\n <ch-edit\n value=\"\"\n part=\"user\"\n class=\"input\"\n id=\"user\"\n ref={(el: HTMLChEditElement) =>\n (this.#userEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <div class=\"field field-block field-revision\">\n <label class=\"label\" htmlFor=\"revision\">\n {this.#_componentLocale.filters.revision}\n </label>\n\n <ch-edit\n value=\"\"\n part=\"revision\"\n class=\"input\"\n id=\"revision\"\n ref={(el: HTMLChEditElement) =>\n (this.#revisionEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {this.#renderLoader()}\n\n {!this.loading && (\n <div class=\"main__content scrollable\">\n {this.#renderCommitsGrid()}\n\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"comment-area\">\n {this.historyDetail ? this.historyDetail.title : null}\n </label>\n <ch-edit\n class=\"input comment-text-area\"\n value={this.historyDetail ? this.historyDetail.comment : null}\n multiline\n autoGrow\n readonly={true}\n part=\"comment-area\"\n id=\"comment-area\"\n ></ch-edit>\n </div>\n\n {this.#renderAffectedObjectsGrid()}\n </div>\n )}\n </main>\n </Host>\n );\n }\n}\n\n// Types\nexport type ObjectType = {\n id: string;\n name: string;\n icon?: string;\n};\n\nexport type FiltersData = {\n search: string;\n from?: Date;\n to?: Date;\n user?: string;\n revision?: string;\n type?: string;\n};\nexport type RevisionData = {\n id: string;\n comment: string;\n user: string;\n commitDate: Date;\n};\n\nexport type RevisionDetailData = {\n title: string;\n comment: string;\n objects: ObjectData[];\n};\nexport type ObjectData = {\n typeIcon: string;\n state: ObjectState;\n name: string;\n type: ObjectType;\n description: string;\n action: string;\n};\n\nexport type LoadCallback = (\n filters: FiltersData,\n versionId: string,\n isRefresh: boolean\n) => Promise<RevisionData[]>;\n\nexport type LoadDetailCallback = (\n revision: string\n) => Promise<RevisionDetailData>;\n\nexport type SelectedVersionChangeCallback = (\n selectedVersion: string[]\n) => Promise<void>;\n"],"version":3}
1
+ {"file":"gx-ide-team-dev-history.js","mappings":"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","names":["GxIdeTeamDevHistory"],"sources":["src/components/team-dev/history/helpers.ts","src/components/team-dev/history/history.scss?tag=gx-ide-team-dev-history&encapsulation=shadow","src/components/team-dev/history/history.tsx"],"sourcesContent":["import { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\nimport { ObjectType, GxOption } from \"../../../common/types\";\nimport { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\nimport { ItemNode } from \"../../select-kb-items/select-kb-items\";\n\nexport const mapObjectTypeToComboBoxItemModel = (\n objectTypeModel: ObjectType[]\n): ComboBoxItemModel[] =>\n objectTypeModel.map(objectType => ({\n value: objectType.id,\n caption: objectType.name,\n startImgSrc: objectType.icon\n }));\n\nexport const mapCategoryToComboBoxItemModel = (\n categoryModel: GxOption[]\n): ComboBoxModel =>\n categoryModel.map(category => ({\n value: category.id,\n caption: category.label\n }));\n\nconst hasActiveNode = (node: any): boolean => {\n if (node.active) {\n return true;\n }\n if (Array.isArray(node.nodes)) {\n return node.nodes.some(hasActiveNode);\n }\n return false;\n};\n\nexport const hasActiveVersionInList = (versionsList: ItemNode[]): boolean => {\n return versionsList.some(hasActiveNode);\n};\n","@import \"../../../../node_modules/@genexus/mercury/dist/assets/scss/helpers.scss\";\n@import \"../common/styles.scss\";\n\n// TODO: this should be a class on Mercury.\n// Not sure if applying \".field-group\" is the right thing to do.\n$commonRowGap: var(--mer-spacing--sm);\n\n:host {\n display: grid;\n grid-template-columns: max-content 1fr;\n block-size: 100%;\n overflow: auto;\n}\n\n.sidebar {\n background-color: transparent !important; // TODO: Apply elevation classes on Mercury.\n border-inline-end: var(--section-common-border);\n}\n\n.sidebar::part(expand-button) {\n border-radius: var(--control__border-radius);\n}\n\ngx-ide-select-kb-items {\n --search-input-max-inline-size: 300px;\n opacity: 0;\n transition: opacity var(--mer-timing--fast);\n}\ngx-ide-select-kb-items.sidebar-expanded {\n opacity: 1;\n}\n\nch-tabular-grid.tabular-grid--empty::part(main) {\n // WA to avoid scrollbar flickering when displaying the empty-state message\n overflow: hidden;\n}\n\nch-tabular-grid-rowset-empty {\n position: relative; // makes this the bounder element for the loader\n}\n\n.main {\n display: grid;\n grid-template-rows: max-content 1fr;\n grid-row-gap: $commonRowGap;\n overflow: auto;\n}\n.main__header {\n display: grid;\n}\n.main__content {\n position: relative;\n overflow: auto;\n display: grid;\n grid-template-rows: 1fr max-content 2fr;\n grid-row-gap: $commonRowGap;\n}\n\n.tabular-grid {\n overflow: auto;\n}\n\n/*SECOND GRID*/\n.search-filter {\n display: grid;\n grid-template-columns: 1fr max-content max-content;\n gap: var(--gx-ide-grid-column-gap);\n}\n\n.action-buttons {\n justify-self: flex-end;\n}\n\n.filters-grid {\n display: grid;\n grid-template-columns: repeat(6, 1fr);\n grid-template-areas:\n \"from from to to type type\"\n \"user user user revision revision revision\";\n grid-gap: var(--gx-ide-grid-column-gap);\n padding-block-start: $commonRowGap;\n}\n\n.filters-container {\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows var(--mer-timing--fast);\n}\n\n.filters-container-visible {\n grid-template-rows: 1fr;\n}\n\n.filters-container > div {\n overflow: hidden;\n}\n\n.field-from {\n grid-area: from;\n}\n\n.field-to {\n grid-area: to;\n}\n.field-type {\n grid-area: type;\n}\n.field-user {\n grid-area: user;\n}\n.field-revision {\n grid-area: revision;\n}\n\n// commits grid \"comment\" column\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".commits-grid\",\n $tabular-grid-cell-node-type: \"text\",\n $tabular-grid-cell-min-inline-size: 200px,\n $tabular-grid-affected-columns-nth-list: (\n 2\n )\n);\n\n// affected objects grid \"description\" column\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".affected-objects-grid\",\n $tabular-grid-cell-node-type: \"text\",\n $tabular-grid-cell-min-inline-size: 200px,\n $tabular-grid-affected-columns-nth-list: (\n 5\n )\n);\n\n.button-tertiary.button-icon-only {\n border-color: var(--control__border-color--enabled);\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Element,\n h,\n Host,\n Method,\n Prop,\n State\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport { config } from \"../../../common/config\";\nimport { formatDate } from \"../../../common/helpers\";\nimport { Locale } from \"../../../common/locale\";\nimport { ContextMenuInfo } from \"../../../components\";\nimport { ItemNode } from \"../../select-kb-items/select-kb-items\";\nimport {\n renderObjectStateWithIcon,\n renderObjectTypeWithIcon\n} from \"../common/utilities\";\nimport ICONS from \"../version-control/common/constants\";\nimport { ObjectState } from \"../version-control/common/types\";\nimport { mapObjectTypeToComboBoxItemModel } from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/spacing\",\n \"utils/typography\",\n \"chameleon/scrollbar\",\n \"components/tabular-grid\",\n \"components/accordion\",\n \"components/sidebar\"\n];\n\n@Component({\n tag: \"gx-ide-team-dev-history\",\n styleUrl: \"history.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/team-dev-history\"]\n})\nexport class GxIdeTeamDevHistory {\n #_componentLocale: any;\n\n #types: ComboBoxItemModel[] = [];\n\n @Element() el: HTMLGxIdeTeamDevHistoryElement;\n\n #fromEl?: HTMLChEditElement;\n #revisionEl?: HTMLChEditElement;\n #searchEl: HTMLChEditElement;\n #toEl?: HTMLChEditElement;\n #typesEl?: HTMLChComboBoxRenderElement;\n #userEl?: HTMLChEditElement;\n #sidebarEl: HTMLChSidebarElement;\n #revisionsGridEl: HTMLChTabularGridElement;\n #selectKBItemsEL: HTMLGxIdeSelectKbItemsElement;\n\n @State() historyDetail: RevisionDetailData;\n\n /**\n * The files rendered in the table\n */\n @State() objects: RevisionData[] = [];\n\n /**\n * Used to hide the select-kb-items when collapsed\n */\n @State() sidebarExpanded: boolean = true;\n\n /**\n * Used to show or hide the filters section\n */\n @State() filtersHidden = true;\n\n /**\n * To show a loader when the component is loading\n */\n @State() loading: boolean = true;\n\n /**\n * The Id of the selected revision in the revisions grid\n */\n @State() selectedRevisionId: string;\n\n /**\n * Used to customize the select-kb-items \"header\" part grid layout\n */\n @State() hasActiveVersion: boolean = false; // TODO:\n\n /**\n * Possible values of type filter\n */\n @Prop() readonly types: ObjectType[];\n\n /**\n * Callback emitted when the user right click on an item\n */\n @Prop() readonly itemContextMenuCallback: (\n info: ContextMenuInfo\n ) => Promise<void>;\n\n /**\n * Callback invoked when user right-clicks on the grid\n */\n @Prop() readonly gridContextMenuCallback: (\n info: ContextMenuInfo\n ) => Promise<void>;\n\n /**\n * Callback to load the items list model\n */\n @Prop() readonly loadVersionsCallback!: () => Promise<ItemNode[]>;\n\n /**\n * Callback invoked when is necessary to reload the history info. Receive the filters as parameters and only returns the info corresponding to the master grid.\n\n */\n @Prop() readonly loadCallback: LoadCallback;\n\n /**\n * Callback invoked to obtain detailed info from a revision. As parameter receive internal revision id\n */\n @Prop() readonly loadDetailCallback: LoadDetailCallback;\n\n /**\n * Callback invoked when the selected version changes. As parameter receive the selected version id\n */\n @Prop() readonly selectedVersionChangeCallback: SelectedVersionChangeCallback;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.#types = mapObjectTypeToComboBoxItemModel(this.types);\n }\n\n async componentDidLoad() {\n this.#sidebarEl.addEventListener(\n \"expandedChange\",\n (e: CustomEvent<boolean>) => {\n this.sidebarExpanded = e.detail;\n }\n );\n }\n\n @Method()\n async reload(): Promise<void> {\n await this.#reloadHandler();\n }\n\n #selectedVersionChanged = async (selectedVersion: string[]) => {\n if (this.selectedVersionChangeCallback) {\n await this.selectedVersionChangeCallback(selectedVersion);\n }\n await this.#getObjectsFromVersion(selectedVersion[0], true);\n };\n\n #getObjectsFromVersion = async (\n versionId: string,\n isRefresh: boolean\n ): Promise<void> => {\n this.loading = true;\n\n const filters: FiltersData = {\n search: this.#searchEl.value ? this.#searchEl.value : \"\",\n from: this.#fromEl.value ? new Date(this.#fromEl.value) : null,\n to: this.#toEl.value ? new Date(this.#toEl.value) : null,\n revision: this.#revisionEl.value ? this.#revisionEl.value : \"\",\n user: this.#userEl.value ? this.#userEl.value : \"\",\n type: this.#typesEl.value === \"all\" ? \"\" : this.#typesEl.value\n };\n try {\n this.objects = await this.loadCallback(filters, versionId, isRefresh);\n await this.#getSelectedRevision(this.objects[0]?.id);\n } catch (error) {\n this.objects = [];\n this.historyDetail = null;\n this.selectedRevisionId = null;\n } finally {\n this.loading = false;\n }\n };\n\n #getSelectedRevision = async (revisionId: string) => {\n if (revisionId) {\n this.historyDetail = await this.loadDetailCallback(revisionId);\n this.historyDetail.title = this.#formatHistoryDetailDate(\n this.historyDetail.title\n );\n this.selectedRevisionId = revisionId;\n } else {\n this.historyDetail = null;\n }\n };\n\n #registerGridContextMenuListener = (): void => {\n if (this.#revisionsGridEl) {\n this.#revisionsGridEl.addEventListener(\n \"contextmenu\",\n (ev: MouseEvent): void => {\n ev.preventDefault();\n ev.stopPropagation();\n this.#gridContextMenuCallbackHandler(ev);\n }\n );\n }\n };\n\n #gridContextMenuCallbackHandler = async (ev: MouseEvent): Promise<void> => {\n this.gridContextMenuCallback({\n selection: [this.selectedRevisionId],\n clientX: ev.clientX,\n clientY: ev.clientY\n });\n };\n\n #toggleFiltersHandler = () => {\n this.filtersHidden = !this.filtersHidden;\n };\n\n #renderCommitsGrid = (): Element => {\n const tabularGridEmpty = this.objects?.length === 0 || !this.objects;\n return (\n <ch-tabular-grid\n class={{\n \"commits-grid\": true,\n \"tabular-grid\": true,\n \"tabular-grid--empty\": tabularGridEmpty\n }}\n onSelectionChanged={(ev: any) => {\n this.objects.length > 0 &&\n this.#getSelectedRevision(ev.detail.rowsId[0]);\n }}\n ref={(el: HTMLChTabularGridElement) => {\n if (el && this.#revisionsGridEl !== el) {\n this.#revisionsGridEl = el as HTMLChTabularGridElement;\n\n this.#registerGridContextMenuListener();\n\n if (this.objects.length > 0) {\n this.#revisionsGridEl.selectRow(this.objects[0]?.id, true);\n }\n }\n }}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n column-name={this.#_componentLocale.mainGrid.columns.id}\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"max-content\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#_componentLocale.mainGrid.columns.comment}\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"1fr\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#_componentLocale.mainGrid.columns.user}\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"max-content\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#_componentLocale.mainGrid.columns.commitDate}\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"max-content\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.objects.length > 0 ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.objects.map((obj: RevisionData) => (\n <ch-tabular-grid-row\n rowid={obj.id}\n key={obj.id}\n class=\"tabular-grid-row\"\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.id}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.comment}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.user}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.commitDate, \"date-time\")}`}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n <gx-ide-empty-state\n stateTitle={this.#_componentLocale.emptyRevisionsText}\n isAnimated={true}\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n\n <ch-tabular-grid-row class=\"tabular-grid-row\"></ch-tabular-grid-row>\n </ch-tabular-grid>\n );\n };\n\n #renderAffectedObjectsGrid = (): Element => {\n const iterable = this.historyDetail ? this.historyDetail.objects : [];\n const tabularGridEmpty =\n this.historyDetail?.objects?.length === 0 || !this.historyDetail;\n return (\n <ch-tabular-grid\n class={{\n \"affected-objects-grid\": true,\n \"tabular-grid\": true,\n \"tabular-grid--empty\": tabularGridEmpty\n }}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n column-name={\n this.#_componentLocale.affectedObjectsGrid.columns.name\n }\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={\n this.#_componentLocale.affectedObjectsGrid.columns.types\n }\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={\n this.#_componentLocale.affectedObjectsGrid.columns.description\n }\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size={config.tabularGrid.colSize.auto}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={\n this.#_componentLocale.affectedObjectsGrid.columns.action\n }\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.historyDetail && this.historyDetail.objects.length > 0 ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {iterable.map((obj: ObjectData) => (\n <ch-tabular-grid-row class=\"tabular-grid-row\">\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {renderObjectTypeWithIcon(obj.type)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.description}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {renderObjectStateWithIcon(obj.state)}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n <gx-ide-empty-state\n stateIconSrc={ICONS.filter}\n stateTitle={this.#_componentLocale.emptyHistoryDetailText}\n isAnimated={true}\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n\n <ch-tabular-grid-row class=\"tabular-grid-row\"></ch-tabular-grid-row>\n </ch-tabular-grid>\n );\n };\n\n #renderLoader = (): Element => {\n return (\n this.loading && (\n <div class=\"main__content scrollable\">\n <gx-ide-loader\n loaderTitle={this.#_componentLocale.loader.title}\n show\n description={this.#_componentLocale.loader.description}\n ></gx-ide-loader>\n </div>\n )\n );\n };\n\n #formatHistoryDetailDate = (title: string): string => {\n const parts = title.split(\" - \");\n const datePart = new Date(parts[1]);\n const formattedDate = formatDate(datePart, \"date-time\");\n return `${parts[0]} - ${formattedDate} - ${parts[2]}`;\n };\n\n #reloadHandler = async (): Promise<void> => {\n this.loading = true;\n await this.#selectKBItemsEL.reloadItems();\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <ch-sidebar\n ref={(el: HTMLChSidebarElement) =>\n (this.#sidebarEl = el as HTMLChSidebarElement)\n }\n class=\"sidebar\"\n expanded={this.sidebarExpanded}\n expandButtonCollapseAccessibleName={\n this.#_componentLocale.sidebar.collapseAriaLabel\n }\n expandButtonExpandAccessibleName={\n this.#_componentLocale.sidebar.expandAriaLabel\n }\n showExpandButton\n >\n <gx-ide-select-kb-items\n class={{\n \"sidebar-expanded\": this.sidebarExpanded,\n \"has-active-version\": this.hasActiveVersion\n }}\n checkboxType=\"none\"\n loadItemsCallback={() => this.loadVersionsCallback()}\n expandOnClick={false}\n selectionChanged={this.#selectedVersionChanged}\n itemContextMenuCallback={(info: ContextMenuInfo) =>\n this.itemContextMenuCallback(info)\n }\n ref={(el: HTMLGxIdeSelectKbItemsElement) =>\n (this.#selectKBItemsEL = el as HTMLGxIdeSelectKbItemsElement)\n }\n ></gx-ide-select-kb-items>\n </ch-sidebar>\n\n <main class=\"main spacing-body-block-start spacing-body-inline\">\n <div class=\"main__header\">\n <div class=\"search-filter\">\n <div class=\"field field-inline\">\n <label class=\"label\" htmlFor=\"search\">\n {this.#_componentLocale.filters.search}\n </label>\n <ch-edit\n value=\"\"\n class=\"input\"\n startImgSrc={ICONS.search}\n part=\"search\"\n id=\"search\"\n ref={(el: HTMLChEditElement) =>\n (this.#searchEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <button\n id=\"filter-toggle-button\"\n class=\"button-tertiary button-icon-only\"\n aria-label={this.#_componentLocale.searchFilter.filterAriaLabel}\n aria-expanded={this.filtersHidden ? \"false\" : \"true\"}\n aria-controls=\"filters-container\"\n onClick={() => this.#toggleFiltersHandler()}\n >\n <ch-image class=\"icon-md\" src={ICONS.filter}></ch-image>\n </button>\n\n <button\n class=\"button-tertiary button-icon-only\"\n aria-label={this.#_componentLocale.searchFilter.reloadAriaLabel}\n onClick={() => this.#reloadHandler()}\n part={this.#_componentLocale.searchFilter.reloadAriaLabel}\n >\n <ch-image class=\"icon-md\" src={ICONS.refresh}></ch-image>\n </button>\n </div>\n\n <div\n id=\"filters-container\"\n aria-labelledby=\"filter-toggle-button\"\n class={{\n \"filters-container-visible\": !this.filtersHidden,\n \"filters-container\": true\n }}\n inert={this.filtersHidden}\n hidden={this.filtersHidden}\n >\n <div>\n <div class=\"filters-grid\">\n <div class=\"field field-block field-from\">\n <label class=\"label\" htmlFor=\"from\">\n {this.#_componentLocale.filters.from}\n </label>\n <ch-edit\n value=\"\"\n class=\"input\"\n type=\"date\"\n part=\"from\"\n id=\"from\"\n ref={(el: HTMLChEditElement) =>\n (this.#fromEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <div class=\"field field-block field-to\">\n <label class=\"label\" htmlFor=\"to\">\n {this.#_componentLocale.filters.to}\n </label>\n <ch-edit\n value=\"\"\n class=\"input\"\n type=\"date\"\n id=\"to\"\n ref={(el: HTMLChEditElement) =>\n (this.#toEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <div class=\"field field-block field-type\">\n <label class=\"label\" htmlFor=\"type\">\n {this.#_componentLocale.filters.type}\n </label>\n\n <ch-combo-box-render\n accessibleName=\"types\"\n class=\"combo-box\"\n part=\"type\"\n model={this.#types}\n value={this.#types[0]?.value}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#typesEl = el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n </div>\n\n <div class=\"field field-block field-user\">\n <label class=\"label\" htmlFor=\"user\">\n {this.#_componentLocale.filters.user}\n </label>\n\n <ch-edit\n value=\"\"\n part=\"user\"\n class=\"input\"\n id=\"user\"\n ref={(el: HTMLChEditElement) =>\n (this.#userEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <div class=\"field field-block field-revision\">\n <label class=\"label\" htmlFor=\"revision\">\n {this.#_componentLocale.filters.revision}\n </label>\n\n <ch-edit\n value=\"\"\n part=\"revision\"\n class=\"input\"\n id=\"revision\"\n ref={(el: HTMLChEditElement) =>\n (this.#revisionEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {this.#renderLoader()}\n\n {!this.loading && (\n <div class=\"main__content scrollable\">\n {this.#renderCommitsGrid()}\n\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"comment-area\">\n {this.historyDetail ? this.historyDetail.title : null}\n </label>\n <ch-edit\n class=\"input comment-text-area\"\n value={this.historyDetail ? this.historyDetail.comment : null}\n multiline\n autoGrow\n readonly={true}\n part=\"comment-area\"\n id=\"comment-area\"\n ></ch-edit>\n </div>\n\n {this.#renderAffectedObjectsGrid()}\n </div>\n )}\n </main>\n </Host>\n );\n }\n}\n\n// Types\nexport type ObjectType = {\n id: string;\n name: string;\n icon?: string;\n};\n\nexport type FiltersData = {\n search: string;\n from?: Date;\n to?: Date;\n user?: string;\n revision?: string;\n type?: string;\n};\nexport type RevisionData = {\n id: string;\n comment: string;\n user: string;\n commitDate: Date;\n};\n\nexport type RevisionDetailData = {\n title: string;\n comment: string;\n objects: ObjectData[];\n};\nexport type ObjectData = {\n typeIcon: string;\n state: ObjectState;\n name: string;\n type: ObjectType;\n description: string;\n action: string;\n};\n\nexport type LoadCallback = (\n filters: FiltersData,\n versionId: string,\n isRefresh: boolean\n) => Promise<RevisionData[]>;\n\nexport type LoadDetailCallback = (\n revision: string\n) => Promise<RevisionDetailData>;\n\nexport type SelectedVersionChangeCallback = (\n selectedVersion: string[]\n) => Promise<void>;\n"],"version":3}
@@ -5,7 +5,7 @@ import 'lit/directives/when.js';
5
5
  import 'lit/directives/if-defined.js';
6
6
  import { L as Locale } from './locale.js';
7
7
  import { u as uncheckIgnoredObjects, a as areSetsEqual } from './uncheck-ignored.js';
8
- import { r as renderObjectTypeWithIcon } from './utilities.js';
8
+ import { r as renderObjectTypeWithIcon } from './constants2.js';
9
9
  import { f as formatDate } from './helpers.js';
10
10
  import { c as config } from './config.js';
11
11
  import { C as COLUMNS_IDS } from './tabular-grid-render.js';
@@ -247,7 +247,7 @@ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) ||
247
247
  throw new TypeError("Cannot write private member to an object whose class did not declare it");
248
248
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
249
249
  };
250
- var _GxIdeSelectKbItems__componentLocale, _GxIdeSelectKbItems_chShortcutsEl, _GxIdeSelectKbItems_selectedNodesIds, _GxIdeSelectKbItems_shortcutsSrc, _GxIdeSelectKbItems_updatedModelList, _GxIdeSelectKbItems_viewItemsAsModel, _GxIdeSelectKbItems_treeViewRenderEl, _GxIdeSelectKbItems_cancelHandler, _GxIdeSelectKbItems_checkedItemsChangeHandler, _GxIdeSelectKbItems_confirmHandler, _GxIdeSelectKbItems_contextMenuHandler, _GxIdeSelectKbItems_executeDialogAction, _GxIdeSelectKbItems_patternSearchValueChangedHandler, _GxIdeSelectKbItems_renderActionButtons, _GxIdeSelectKbItems_renderFooter, _GxIdeSelectKbItems_selectedItemsChangeHandler, _GxIdeSelectKbItems_toggleAndSelectNodesInModelItems, _GxIdeSelectKbItems_toggleCheckedNodesInModelItems, _GxIdeSelectKbItems_updateViews, _GxIdeSelectKbItems_viewItemsAsChangedHandler, _GxIdeSelectKbItems_toggleCheckboxesChangedHandler, _GxIdeSelectKbItems_scrollIntoActiveVersionNode;
250
+ var _GxIdeSelectKbItems_instances, _GxIdeSelectKbItems__componentLocale, _GxIdeSelectKbItems_chShortcutsEl, _GxIdeSelectKbItems_selectedNodesIds, _GxIdeSelectKbItems_shortcutsSrc, _GxIdeSelectKbItems_updatedModelList, _GxIdeSelectKbItems_viewItemsAsModel, _GxIdeSelectKbItems_treeViewRenderEl, _GxIdeSelectKbItems_loadItems, _GxIdeSelectKbItems_cancelHandler, _GxIdeSelectKbItems_checkedItemsChangeHandler, _GxIdeSelectKbItems_confirmHandler, _GxIdeSelectKbItems_contextMenuHandler, _GxIdeSelectKbItems_executeDialogAction, _GxIdeSelectKbItems_patternSearchValueChangedHandler, _GxIdeSelectKbItems_renderActionButtons, _GxIdeSelectKbItems_renderFooter, _GxIdeSelectKbItems_selectedItemsChangeHandler, _GxIdeSelectKbItems_toggleAndSelectNodesInModelItems, _GxIdeSelectKbItems_toggleCheckedNodesInModelItems, _GxIdeSelectKbItems_updateViews, _GxIdeSelectKbItems_viewItemsAsChangedHandler, _GxIdeSelectKbItems_toggleCheckboxesChangedHandler, _GxIdeSelectKbItems_scrollIntoActiveVersionNode;
251
251
  const CSS_BUNDLES = [
252
252
  "resets/box-sizing",
253
253
  "chameleon/scrollbar",
@@ -271,6 +271,7 @@ const GxIdeSelectKbItems = /*@__PURE__*/ proxyCustomElement(class GxIdeSelectKbI
271
271
  super();
272
272
  this.__registerHost();
273
273
  this.__attachShadow();
274
+ _GxIdeSelectKbItems_instances.add(this);
274
275
  _GxIdeSelectKbItems__componentLocale.set(this, void 0);
275
276
  _GxIdeSelectKbItems_chShortcutsEl.set(this, void 0);
276
277
  _GxIdeSelectKbItems_selectedNodesIds.set(this, []);
@@ -409,14 +410,14 @@ const GxIdeSelectKbItems = /*@__PURE__*/ proxyCustomElement(class GxIdeSelectKbI
409
410
  _GxIdeSelectKbItems_toggleCheckboxesChangedHandler.set(this, (event) => {
410
411
  this.toggleCheckboxes = event.detail === TOGGLE_CHECKBOXES_CHECKED_VALUE;
411
412
  });
412
- _GxIdeSelectKbItems_scrollIntoActiveVersionNode.set(this, () => {
413
+ _GxIdeSelectKbItems_scrollIntoActiveVersionNode.set(this, async () => {
413
414
  var _a;
414
415
  const doScrollIntoView = __classPrivateFieldGet(this, _GxIdeSelectKbItems_treeViewRenderEl, "f") && ((_a = this.activeItemNode) === null || _a === void 0 ? void 0 : _a.path);
415
416
  if (doScrollIntoView) {
416
- __classPrivateFieldGet(this, _GxIdeSelectKbItems_treeViewRenderEl, "f").scrollIntoVisible(this.activeItemNode.path);
417
+ await __classPrivateFieldGet(this, _GxIdeSelectKbItems_treeViewRenderEl, "f").scrollIntoVisible(this.activeItemNode.path);
417
418
  }
418
419
  if (this.activeItemCallback) {
419
- this.activeItemCallback();
420
+ await this.activeItemCallback();
420
421
  }
421
422
  });
422
423
  this.activeItemNode = undefined;
@@ -428,6 +429,7 @@ const GxIdeSelectKbItems = /*@__PURE__*/ proxyCustomElement(class GxIdeSelectKbI
428
429
  this.nodeVersionsListTreeModel = [];
429
430
  this.searchPatternValue = null;
430
431
  this.toggleCheckboxes = undefined;
432
+ this.itemsList = [];
431
433
  this.activeItemCallback = undefined;
432
434
  this.cancelCallback = undefined;
433
435
  this.checkboxType = undefined;
@@ -436,21 +438,15 @@ const GxIdeSelectKbItems = /*@__PURE__*/ proxyCustomElement(class GxIdeSelectKbI
436
438
  this.confirmCallback = undefined;
437
439
  this.dialogActions = [];
438
440
  this.itemContextMenuCallback = undefined;
439
- this.itemsList = [];
441
+ this.loadItemsCallback = undefined;
440
442
  this.showToggleCheckboxes = true;
441
443
  this.multiSelection = false;
442
444
  this.singleChecks = false;
443
445
  this.showActiveItemLink = false;
446
+ this.useLoader = true;
444
447
  this.selectionChanged = undefined;
445
448
  }
446
- watchNodeListHandler(newItemsList) {
447
- __classPrivateFieldGet(this, _GxIdeSelectKbItems_updateViews, "f").call(this, newItemsList);
448
- // Check and update activeItem
449
- this.activeItemNode = findFirstActiveNode(newItemsList);
450
- this.loading = false;
451
- }
452
449
  async componentWillLoad() {
453
- this.loading = true;
454
450
  __classPrivateFieldSet(this, _GxIdeSelectKbItems__componentLocale, await Locale.getComponentStrings(this.el), "f");
455
451
  this.toggleCheckboxes = this.showToggleCheckboxes;
456
452
  __classPrivateFieldSet(this, _GxIdeSelectKbItems_viewItemsAsModel, [
@@ -461,6 +457,10 @@ const GxIdeSelectKbItems = /*@__PURE__*/ proxyCustomElement(class GxIdeSelectKbI
461
457
  this.dialogActions.length > 0 ||
462
458
  !!this.cancelCallback ||
463
459
  !!this.confirmCallback;
460
+ __classPrivateFieldGet(this, _GxIdeSelectKbItems_instances, "m", _GxIdeSelectKbItems_loadItems).call(this);
461
+ }
462
+ async reloadItems() {
463
+ await __classPrivateFieldGet(this, _GxIdeSelectKbItems_instances, "m", _GxIdeSelectKbItems_loadItems).call(this);
464
464
  }
465
465
  /**
466
466
  * Suspends or reactivates the shortcuts
@@ -505,7 +505,7 @@ const GxIdeSelectKbItems = /*@__PURE__*/ proxyCustomElement(class GxIdeSelectKbI
505
505
  "header__second-row": true,
506
506
  "header__second-row--one-row": !this.showActiveItemLink
507
507
  } }, h("ch-edit", { class: "input", placeholder: __classPrivateFieldGet(this, _GxIdeSelectKbItems__componentLocale, "f").header.searchPatternPlaceholder, startImgSrc: SYSTEM_SEARCH_ICON, onInput: __classPrivateFieldGet(this, _GxIdeSelectKbItems_patternSearchValueChangedHandler, "f"), accessibleName: "search pattern" }), this.activeItemNode && this.showActiveItemLink && (h("div", { class: "active-item" }, h("span", { class: "active-item__icon-container" }, h("ch-image", { class: "icon-md active-item__icon", src: this.activeItemNode.iconStart ||
508
- ACTIVE_ITEM_DEFAULT_ICON, containerRef: null })), __classPrivateFieldGet(this, _GxIdeSelectKbItems__componentLocale, "f").header.activeItem, h("button", { class: "active-item__link", onClick: __classPrivateFieldGet(this, _GxIdeSelectKbItems_scrollIntoActiveVersionNode, "f") }, this.activeItemNode.caption))))), h("div", { class: "spacing-body-inline-start trees" }, this.loading ? (h("gx-ide-loader", { loaderTitle: __classPrivateFieldGet(this, _GxIdeSelectKbItems__componentLocale, "f").loader.title, description: __classPrivateFieldGet(this, _GxIdeSelectKbItems__componentLocale, "f").loader.description, show: true })) : (h("ch-tree-view-render", { class: "tree-view", model: this.nodesVersionsViewType === "tree"
508
+ ACTIVE_ITEM_DEFAULT_ICON, containerRef: null })), __classPrivateFieldGet(this, _GxIdeSelectKbItems__componentLocale, "f").header.activeItem, h("button", { class: "active-item__link", onClick: __classPrivateFieldGet(this, _GxIdeSelectKbItems_scrollIntoActiveVersionNode, "f") }, this.activeItemNode.caption))))), h("div", { class: "spacing-body-inline-start trees" }, this.useLoader && this.loading ? (h("gx-ide-loader", { loaderTitle: __classPrivateFieldGet(this, _GxIdeSelectKbItems__componentLocale, "f").loader.title, description: __classPrivateFieldGet(this, _GxIdeSelectKbItems__componentLocale, "f").loader.description, show: true })) : (h("ch-tree-view-render", { class: "tree-view", model: this.nodesVersionsViewType === "tree"
509
509
  ? this.nodeVersionsListTreeModel
510
510
  : this.nodeListFlattenedTreeModel, "show-lines": this.nodesVersionsViewType === "tree" ? "all" : "none", expandableButton: this.nodesVersionsViewType === "tree" ? "decorative" : "no", onItemContextmenu: __classPrivateFieldGet(this, _GxIdeSelectKbItems_contextMenuHandler, "f"), onCheckedItemsChange: __classPrivateFieldGet(this, _GxIdeSelectKbItems_checkedItemsChangeHandler, "f"), onSelectedItemsChange: __classPrivateFieldGet(this, _GxIdeSelectKbItems_selectedItemsChangeHandler, "f"), expandOnClick: this.expandOnClick, multiSelection: this.multiSelection, filter: this.searchPatternValue, filterType: "caption", toggleCheckboxes: this.toggleCheckboxes, ref: (el) => {
511
511
  __classPrivateFieldSet(this, _GxIdeSelectKbItems_treeViewRenderEl, el, "f");
@@ -513,9 +513,6 @@ const GxIdeSelectKbItems = /*@__PURE__*/ proxyCustomElement(class GxIdeSelectKbI
513
513
  }
514
514
  static get assetsDirs() { return ["gx-ide-assets/select-kb-items"]; }
515
515
  get el() { return this; }
516
- static get watchers() { return {
517
- "itemsList": ["watchNodeListHandler"]
518
- }; }
519
516
  static get style() { return selectKbItemsCss; }
520
517
  }, [1, "gx-ide-select-kb-items", {
521
518
  "activeItemCallback": [16],
@@ -526,11 +523,12 @@ const GxIdeSelectKbItems = /*@__PURE__*/ proxyCustomElement(class GxIdeSelectKbI
526
523
  "confirmCallback": [16],
527
524
  "dialogActions": [16],
528
525
  "itemContextMenuCallback": [16],
529
- "itemsList": [16],
526
+ "loadItemsCallback": [16],
530
527
  "showToggleCheckboxes": [4, "show-toggle-checkboxes"],
531
528
  "multiSelection": [4, "multi-selection"],
532
529
  "singleChecks": [4, "single-checks"],
533
530
  "showActiveItemLink": [4, "show-active-item-link"],
531
+ "useLoader": [4, "use-loader"],
534
532
  "selectionChanged": [16],
535
533
  "activeItemNode": [32],
536
534
  "checkedNodesIds": [32],
@@ -541,13 +539,27 @@ const GxIdeSelectKbItems = /*@__PURE__*/ proxyCustomElement(class GxIdeSelectKbI
541
539
  "nodeVersionsListTreeModel": [32],
542
540
  "searchPatternValue": [32],
543
541
  "toggleCheckboxes": [32],
542
+ "itemsList": [32],
543
+ "reloadItems": [64],
544
544
  "suspendShortcuts": [64],
545
545
  "updateSelection": [64],
546
546
  "updateCheckedItems": [64]
547
- }, undefined, {
548
- "itemsList": ["watchNodeListHandler"]
549
547
  }]);
550
- _GxIdeSelectKbItems__componentLocale = new WeakMap(), _GxIdeSelectKbItems_chShortcutsEl = new WeakMap(), _GxIdeSelectKbItems_selectedNodesIds = new WeakMap(), _GxIdeSelectKbItems_shortcutsSrc = new WeakMap(), _GxIdeSelectKbItems_updatedModelList = new WeakMap(), _GxIdeSelectKbItems_viewItemsAsModel = new WeakMap(), _GxIdeSelectKbItems_treeViewRenderEl = new WeakMap(), _GxIdeSelectKbItems_cancelHandler = new WeakMap(), _GxIdeSelectKbItems_checkedItemsChangeHandler = new WeakMap(), _GxIdeSelectKbItems_confirmHandler = new WeakMap(), _GxIdeSelectKbItems_contextMenuHandler = new WeakMap(), _GxIdeSelectKbItems_executeDialogAction = new WeakMap(), _GxIdeSelectKbItems_patternSearchValueChangedHandler = new WeakMap(), _GxIdeSelectKbItems_renderActionButtons = new WeakMap(), _GxIdeSelectKbItems_renderFooter = new WeakMap(), _GxIdeSelectKbItems_selectedItemsChangeHandler = new WeakMap(), _GxIdeSelectKbItems_toggleAndSelectNodesInModelItems = new WeakMap(), _GxIdeSelectKbItems_toggleCheckedNodesInModelItems = new WeakMap(), _GxIdeSelectKbItems_updateViews = new WeakMap(), _GxIdeSelectKbItems_viewItemsAsChangedHandler = new WeakMap(), _GxIdeSelectKbItems_toggleCheckboxesChangedHandler = new WeakMap(), _GxIdeSelectKbItems_scrollIntoActiveVersionNode = new WeakMap();
548
+ _GxIdeSelectKbItems__componentLocale = new WeakMap(), _GxIdeSelectKbItems_chShortcutsEl = new WeakMap(), _GxIdeSelectKbItems_selectedNodesIds = new WeakMap(), _GxIdeSelectKbItems_shortcutsSrc = new WeakMap(), _GxIdeSelectKbItems_updatedModelList = new WeakMap(), _GxIdeSelectKbItems_viewItemsAsModel = new WeakMap(), _GxIdeSelectKbItems_treeViewRenderEl = new WeakMap(), _GxIdeSelectKbItems_cancelHandler = new WeakMap(), _GxIdeSelectKbItems_checkedItemsChangeHandler = new WeakMap(), _GxIdeSelectKbItems_confirmHandler = new WeakMap(), _GxIdeSelectKbItems_contextMenuHandler = new WeakMap(), _GxIdeSelectKbItems_executeDialogAction = new WeakMap(), _GxIdeSelectKbItems_patternSearchValueChangedHandler = new WeakMap(), _GxIdeSelectKbItems_renderActionButtons = new WeakMap(), _GxIdeSelectKbItems_renderFooter = new WeakMap(), _GxIdeSelectKbItems_selectedItemsChangeHandler = new WeakMap(), _GxIdeSelectKbItems_toggleAndSelectNodesInModelItems = new WeakMap(), _GxIdeSelectKbItems_toggleCheckedNodesInModelItems = new WeakMap(), _GxIdeSelectKbItems_updateViews = new WeakMap(), _GxIdeSelectKbItems_viewItemsAsChangedHandler = new WeakMap(), _GxIdeSelectKbItems_toggleCheckboxesChangedHandler = new WeakMap(), _GxIdeSelectKbItems_scrollIntoActiveVersionNode = new WeakMap(), _GxIdeSelectKbItems_instances = new WeakSet(), _GxIdeSelectKbItems_loadItems = async function _GxIdeSelectKbItems_loadItems() {
549
+ try {
550
+ this.loading = true;
551
+ this.itemsList = await this.loadItemsCallback();
552
+ __classPrivateFieldGet(this, _GxIdeSelectKbItems_updateViews, "f").call(this, this.itemsList);
553
+ // Check and update activeItem
554
+ this.activeItemNode = findFirstActiveNode(this.itemsList);
555
+ }
556
+ catch (error) {
557
+ console.error("Error loading items:", error);
558
+ }
559
+ finally {
560
+ this.loading = false;
561
+ }
562
+ };
551
563
  function defineCustomElement() {
552
564
  if (typeof customElements === "undefined") {
553
565
  return;