@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,22 +1,22 @@
1
1
  import { r as t, h as i, H as e, a } from "./p-9b9ccd0c.js";
2
2
 
3
- import { g as s } from "./p-d42e842b.js";
3
+ import { c as s } from "./p-c5196b3b.js";
4
4
 
5
- import "./p-d4ecd3bb.js";
5
+ import { f as r } from "./p-5bab65ea.js";
6
6
 
7
- import "lit";
7
+ import { L as l } from "./p-311eedf3.js";
8
8
 
9
- import "lit/directives/when.js";
9
+ import { r as n, a as o, I as c } from "./p-32b37b3d.js";
10
10
 
11
- import "lit/directives/if-defined.js";
11
+ import "./p-d42e842b.js";
12
12
 
13
- import { c as r } from "./p-c5196b3b.js";
13
+ import "./p-d4ecd3bb.js";
14
14
 
15
- import { f as l } from "./p-5bab65ea.js";
15
+ import "lit";
16
16
 
17
- import { L as n } from "./p-311eedf3.js";
17
+ import "lit/directives/when.js";
18
18
 
19
- import { r as o, a as c } from "./p-db6c6085.js";
19
+ import "lit/directives/if-defined.js";
20
20
 
21
21
  const mapObjectTypeToComboBoxItemModel = t => t.map((t => ({
22
22
  value: t.id,
@@ -24,19 +24,7 @@ const mapObjectTypeToComboBoxItemModel = t => t.map((t => ({
24
24
  startImgSrc: t.icon
25
25
  })));
26
26
 
27
- const hasActiveNode = t => {
28
- if (t.active) {
29
- return true;
30
- }
31
- if (Array.isArray(t.nodes)) {
32
- return t.nodes.some(hasActiveNode);
33
- }
34
- return false;
35
- };
36
-
37
- const hasActiveVersionInList = t => t.some(hasActiveNode);
38
-
39
- const d = '.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}';
27
+ const d = '.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)}';
40
28
 
41
29
  var h = undefined && undefined.__classPrivateFieldGet || function(t, i, e, a) {
42
30
  if (e === "a" && !a) throw new TypeError("Private accessor was defined without a getter");
@@ -51,63 +39,45 @@ var u = undefined && undefined.__classPrivateFieldSet || function(t, i, e, a, s)
51
39
  return a === "a" ? s.call(t, e) : s ? s.value = e : i.set(t, e), e;
52
40
  };
53
41
 
54
- var f, m, g, p, b, v, w, y, x, k, _, M, W, j, C, z, T, E, F;
55
-
56
- const I = [ "resets/box-sizing", "utils/form--full", "utils/layout", "utils/spacing", "utils/typography", "chameleon/scrollbar", "components/tabular-grid", "components/accordion", "components/sidebar" ];
57
-
58
- const L = s({
59
- category: "window-tools",
60
- name: "filter",
61
- colorType: "primary"
62
- });
42
+ var f, m, p, g, b, v, w, y, x, k, _, M, W, j, z, C, T, E, F, D, I, A;
63
43
 
64
- const A = s({
65
- category: "window-tools",
66
- name: "filter",
67
- colorType: "on-surface"
68
- });
69
-
70
- const D = s({
71
- category: "gemini-tools",
72
- name: "reset",
73
- colorType: "primary"
74
- });
75
-
76
- const S = s({
77
- category: "gemini-tools",
78
- name: "search",
79
- colorType: "on-surface"
80
- });
44
+ const S = [ "resets/box-sizing", "utils/form--full", "utils/layout", "utils/spacing", "utils/typography", "chameleon/scrollbar", "components/tabular-grid", "components/accordion", "components/sidebar" ];
81
45
 
82
46
  const $ = class {
83
47
  constructor(e) {
84
48
  t(this, e);
85
49
  f.set(this, void 0);
86
50
  m.set(this, []);
87
- g.set(this, void 0);
88
51
  p.set(this, void 0);
52
+ g.set(this, void 0);
89
53
  b.set(this, void 0);
90
54
  v.set(this, void 0);
91
55
  w.set(this, void 0);
92
56
  y.set(this, void 0);
93
57
  x.set(this, void 0);
94
58
  k.set(this, void 0);
95
- _.set(this, (async (t, i) => {
59
+ _.set(this, void 0);
60
+ M.set(this, (async t => {
61
+ if (this.selectedVersionChangeCallback) {
62
+ await this.selectedVersionChangeCallback(t);
63
+ }
64
+ await h(this, W, "f").call(this, t[0], true);
65
+ }));
66
+ W.set(this, (async (t, i) => {
96
67
  var e;
97
68
  this.loading = true;
98
69
  const a = {
99
70
  search: h(this, b, "f").value ? h(this, b, "f").value : "",
100
- from: h(this, g, "f").value ? new Date(h(this, g, "f").value) : null,
71
+ from: h(this, p, "f").value ? new Date(h(this, p, "f").value) : null,
101
72
  to: h(this, v, "f").value ? new Date(h(this, v, "f").value) : null,
102
- revision: h(this, p, "f").value ? h(this, p, "f").value : "",
73
+ revision: h(this, g, "f").value ? h(this, g, "f").value : "",
103
74
  user: h(this, y, "f").value ? h(this, y, "f").value : "",
104
75
  type: h(this, w, "f").value === "all" ? "" : h(this, w, "f").value
105
76
  };
106
77
  try {
107
78
  this.objects = await this.loadCallback(a, t, i);
108
- await h(this, M, "f").call(this, (e = this.objects[0]) === null || e === void 0 ? void 0 : e.id);
79
+ await h(this, j, "f").call(this, (e = this.objects[0]) === null || e === void 0 ? void 0 : e.id);
109
80
  } catch (t) {
110
- this.versions = [];
111
81
  this.objects = [];
112
82
  this.historyDetail = null;
113
83
  this.selectedRevisionId = null;
@@ -115,35 +85,35 @@ const $ = class {
115
85
  this.loading = false;
116
86
  }
117
87
  }));
118
- M.set(this, (async t => {
88
+ j.set(this, (async t => {
119
89
  if (t) {
120
90
  this.historyDetail = await this.loadDetailCallback(t);
121
- this.historyDetail.title = h(this, F, "f").call(this, this.historyDetail.title);
91
+ this.historyDetail.title = h(this, I, "f").call(this, this.historyDetail.title);
122
92
  this.selectedRevisionId = t;
123
93
  } else {
124
94
  this.historyDetail = null;
125
95
  }
126
96
  }));
127
- W.set(this, (() => {
97
+ z.set(this, (() => {
128
98
  if (h(this, k, "f")) {
129
99
  h(this, k, "f").addEventListener("contextmenu", (t => {
130
100
  t.preventDefault();
131
101
  t.stopPropagation();
132
- h(this, j, "f").call(this, t);
102
+ h(this, C, "f").call(this, t);
133
103
  }));
134
104
  }
135
105
  }));
136
- j.set(this, (async t => {
106
+ C.set(this, (async t => {
137
107
  this.gridContextMenuCallback({
138
108
  selection: [ this.selectedRevisionId ],
139
109
  clientX: t.clientX,
140
110
  clientY: t.clientY
141
111
  });
142
112
  }));
143
- C.set(this, (() => {
113
+ T.set(this, (() => {
144
114
  this.filtersHidden = !this.filtersHidden;
145
115
  }));
146
- z.set(this, (() => {
116
+ E.set(this, (() => {
147
117
  var t;
148
118
  const e = ((t = this.objects) === null || t === void 0 ? void 0 : t.length) === 0 || !this.objects;
149
119
  return i("ch-tabular-grid", {
@@ -153,13 +123,13 @@ const $ = class {
153
123
  "tabular-grid--empty": e
154
124
  },
155
125
  onSelectionChanged: t => {
156
- this.objects.length > 0 && h(this, M, "f").call(this, t.detail.rowsId[0]);
126
+ this.objects.length > 0 && h(this, j, "f").call(this, t.detail.rowsId[0]);
157
127
  },
158
128
  ref: t => {
159
129
  var i;
160
130
  if (t && h(this, k, "f") !== t) {
161
131
  u(this, k, t, "f");
162
- h(this, W, "f").call(this);
132
+ h(this, z, "f").call(this);
163
133
  if (this.objects.length > 0) {
164
134
  h(this, k, "f").selectRow((i = this.objects[0]) === null || i === void 0 ? void 0 : i.id, true);
165
135
  }
@@ -205,7 +175,7 @@ const $ = class {
205
175
  class: "tabular-grid-cell"
206
176
  }, t.user), i("ch-tabular-grid-cell", {
207
177
  class: "tabular-grid-cell"
208
- }, `${l(t.commitDate, "date-time")}`))))) : i("ch-tabular-grid-rowset", {
178
+ }, `${r(t.commitDate, "date-time")}`))))) : i("ch-tabular-grid-rowset", {
209
179
  class: "tabular-grid-rowset"
210
180
  }, i("ch-tabular-grid-rowset-empty", null, i("gx-ide-empty-state", {
211
181
  stateTitle: h(this, f, "f").emptyRevisionsText,
@@ -214,15 +184,15 @@ const $ = class {
214
184
  class: "tabular-grid-row"
215
185
  }));
216
186
  }));
217
- T.set(this, (() => {
187
+ F.set(this, (() => {
218
188
  var t, e;
219
189
  const a = this.historyDetail ? this.historyDetail.objects : [];
220
- const s = ((e = (t = this.historyDetail) === null || t === void 0 ? void 0 : t.objects) === null || e === void 0 ? void 0 : e.length) === 0 || !this.historyDetail;
190
+ const r = ((e = (t = this.historyDetail) === null || t === void 0 ? void 0 : t.objects) === null || e === void 0 ? void 0 : e.length) === 0 || !this.historyDetail;
221
191
  return i("ch-tabular-grid", {
222
192
  class: {
223
193
  "affected-objects-grid": true,
224
194
  "tabular-grid": true,
225
- "tabular-grid--empty": s
195
+ "tabular-grid--empty": r
226
196
  }
227
197
  }, i("ch-tabular-grid-columnset", {
228
198
  class: "tabular-grid-column-set"
@@ -231,25 +201,25 @@ const $ = class {
231
201
  "column-name-position": "text",
232
202
  class: "tabular-grid-column",
233
203
  settingable: false,
234
- size: r.tabularGrid.colSize.maxContent
204
+ size: s.tabularGrid.colSize.maxContent
235
205
  }), i("ch-tabular-grid-column", {
236
206
  "column-name": h(this, f, "f").affectedObjectsGrid.columns.types,
237
207
  "column-name-position": "text",
238
208
  class: "tabular-grid-column",
239
209
  settingable: false,
240
- size: r.tabularGrid.colSize.maxContent
210
+ size: s.tabularGrid.colSize.maxContent
241
211
  }), i("ch-tabular-grid-column", {
242
212
  "column-name": h(this, f, "f").affectedObjectsGrid.columns.description,
243
213
  "column-name-position": "text",
244
214
  class: "tabular-grid-column",
245
215
  settingable: false,
246
- size: r.tabularGrid.colSize.auto
216
+ size: s.tabularGrid.colSize.auto
247
217
  }), i("ch-tabular-grid-column", {
248
218
  "column-name": h(this, f, "f").affectedObjectsGrid.columns.action,
249
219
  "column-name-position": "text",
250
220
  class: "tabular-grid-column",
251
221
  settingable: false,
252
- size: r.tabularGrid.colSize.maxContent
222
+ size: s.tabularGrid.colSize.maxContent
253
223
  })), this.historyDetail && this.historyDetail.objects.length > 0 ? i("ch-tabular-grid-rowset", {
254
224
  class: "tabular-grid-rowset"
255
225
  }, a.map((t => i("ch-tabular-grid-row", {
@@ -258,36 +228,39 @@ const $ = class {
258
228
  class: "tabular-grid-cell"
259
229
  }, t.name), i("ch-tabular-grid-cell", {
260
230
  class: "tabular-grid-cell"
261
- }, o(t.type)), i("ch-tabular-grid-cell", {
231
+ }, n(t.type)), i("ch-tabular-grid-cell", {
262
232
  class: "tabular-grid-cell"
263
233
  }, t.description), i("ch-tabular-grid-cell", {
264
234
  class: "tabular-grid-cell"
265
- }, c(t.state)))))) : i("ch-tabular-grid-rowset", {
235
+ }, o(t.state)))))) : i("ch-tabular-grid-rowset", {
266
236
  class: "tabular-grid-rowset"
267
237
  }, i("ch-tabular-grid-rowset-empty", null, i("gx-ide-empty-state", {
268
- stateIconSrc: A,
238
+ stateIconSrc: c.filter,
269
239
  stateTitle: h(this, f, "f").emptyHistoryDetailText,
270
240
  isAnimated: true
271
241
  }))), i("ch-tabular-grid-row", {
272
242
  class: "tabular-grid-row"
273
243
  }));
274
244
  }));
275
- E.set(this, (() => this.loading && i("div", {
245
+ D.set(this, (() => this.loading && i("div", {
276
246
  class: "main__content scrollable"
277
247
  }, i("gx-ide-loader", {
278
248
  loaderTitle: h(this, f, "f").loader.title,
279
249
  show: true,
280
250
  description: h(this, f, "f").loader.description
281
251
  }))));
282
- F.set(this, (t => {
252
+ I.set(this, (t => {
283
253
  const i = t.split(" - ");
284
254
  const e = new Date(i[1]);
285
- const a = l(e, "date-time");
255
+ const a = r(e, "date-time");
286
256
  return `${i[0]} - ${a} - ${i[2]}`;
287
257
  }));
258
+ A.set(this, (async () => {
259
+ this.loading = true;
260
+ await h(this, _, "f").reloadItems();
261
+ }));
288
262
  this.historyDetail = undefined;
289
263
  this.objects = [];
290
- this.isFirstLoad = true;
291
264
  this.sidebarExpanded = true;
292
265
  this.filtersHidden = true;
293
266
  this.loading = true;
@@ -296,39 +269,13 @@ const $ = class {
296
269
  this.types = undefined;
297
270
  this.itemContextMenuCallback = undefined;
298
271
  this.gridContextMenuCallback = undefined;
299
- this.selectedVersionId = undefined;
300
- this.versions = undefined;
272
+ this.loadVersionsCallback = undefined;
301
273
  this.loadCallback = undefined;
302
274
  this.loadDetailCallback = undefined;
303
275
  this.selectedVersionChangeCallback = undefined;
304
276
  }
305
- async selectedVersionIdChanged(t, i) {
306
- var e;
307
- if (t === i) {
308
- return;
309
- }
310
- // Reset filters
311
- h(this, b, "f").value = null;
312
- h(this, g, "f").value = null;
313
- h(this, v, "f").value = null;
314
- h(this, p, "f").value = null;
315
- h(this, y, "f").value = null;
316
- h(this, w, "f").value = (e = h(this, m, "f")[0]) === null || e === void 0 ? void 0 : e.value;
317
- await h(this, _, "f").call(this, t, false);
318
- }
319
- async versionsListChanged(t) {
320
- this.versions = t;
321
- this.hasActiveVersion = hasActiveVersionInList(t);
322
- if (t.length > 0 && this.selectedVersionId && this.isFirstLoad) {
323
- await h(this, _, "f").call(this, this.selectedVersionId, false);
324
- this.isFirstLoad = false;
325
- } else if (t.length === 0 && this.isFirstLoad) {
326
- this.loading = false;
327
- this.isFirstLoad = false;
328
- }
329
- }
330
277
  async componentWillLoad() {
331
- u(this, f, await n.getComponentStrings(this.el), "f");
278
+ u(this, f, await l.getComponentStrings(this.el), "f");
332
279
  u(this, m, mapObjectTypeToComboBoxItemModel(this.types), "f");
333
280
  }
334
281
  async componentDidLoad() {
@@ -336,12 +283,15 @@ const $ = class {
336
283
  this.sidebarExpanded = t.detail;
337
284
  }));
338
285
  }
286
+ async reload() {
287
+ await h(this, A, "f").call(this);
288
+ }
339
289
  render() {
340
290
  var t;
341
291
  return i(e, {
342
292
  class: "widget"
343
293
  }, i("ch-theme", {
344
- model: I
294
+ model: S
345
295
  }), i("ch-sidebar", {
346
296
  ref: t => u(this, x, t, "f"),
347
297
  class: "sidebar",
@@ -355,10 +305,11 @@ const $ = class {
355
305
  "has-active-version": this.hasActiveVersion
356
306
  },
357
307
  checkboxType: "none",
358
- itemsList: this.versions,
308
+ loadItemsCallback: () => this.loadVersionsCallback(),
359
309
  expandOnClick: false,
360
- selectionChanged: this.selectedVersionChangeCallback,
361
- itemContextMenuCallback: this.itemContextMenuCallback
310
+ selectionChanged: h(this, M, "f"),
311
+ itemContextMenuCallback: t => this.itemContextMenuCallback(t),
312
+ ref: t => u(this, _, t, "f")
362
313
  })), i("main", {
363
314
  class: "main spacing-body-block-start spacing-body-inline"
364
315
  }, i("div", {
@@ -373,28 +324,28 @@ const $ = class {
373
324
  }, h(this, f, "f").filters.search), i("ch-edit", {
374
325
  value: "",
375
326
  class: "input",
376
- startImgSrc: S,
327
+ startImgSrc: c.search,
377
328
  part: "search",
378
329
  id: "search",
379
330
  ref: t => u(this, b, t, "f")
380
331
  })), i("button", {
381
332
  id: "filter-toggle-button",
382
- class: "button-teritary button-icon-only",
333
+ class: "button-tertiary button-icon-only",
383
334
  "aria-label": h(this, f, "f").searchFilter.filterAriaLabel,
384
335
  "aria-expanded": this.filtersHidden ? "false" : "true",
385
336
  "aria-controls": "filters-container",
386
- onClick: () => h(this, C, "f").call(this)
337
+ onClick: () => h(this, T, "f").call(this)
387
338
  }, i("ch-image", {
388
339
  class: "icon-md",
389
- src: L
340
+ src: c.filter
390
341
  })), i("button", {
391
- class: "button-teritary button-icon-only",
342
+ class: "button-tertiary button-icon-only",
392
343
  "aria-label": h(this, f, "f").searchFilter.reloadAriaLabel,
393
- onClick: () => h(this, _, "f").call(this, this.selectedVersionId, true),
344
+ onClick: () => h(this, A, "f").call(this),
394
345
  part: h(this, f, "f").searchFilter.reloadAriaLabel
395
346
  }, i("ch-image", {
396
347
  class: "icon-md",
397
- src: D
348
+ src: c.refresh
398
349
  }))), i("div", {
399
350
  id: "filters-container",
400
351
  "aria-labelledby": "filter-toggle-button",
@@ -417,7 +368,7 @@ const $ = class {
417
368
  type: "date",
418
369
  part: "from",
419
370
  id: "from",
420
- ref: t => u(this, g, t, "f")
371
+ ref: t => u(this, p, t, "f")
421
372
  })), i("div", {
422
373
  class: "field field-block field-to"
423
374
  }, i("label", {
@@ -462,10 +413,10 @@ const $ = class {
462
413
  part: "revision",
463
414
  class: "input",
464
415
  id: "revision",
465
- ref: t => u(this, p, t, "f")
466
- })))))), h(this, E, "f").call(this), !this.loading && i("div", {
416
+ ref: t => u(this, g, t, "f")
417
+ })))))), h(this, D, "f").call(this), !this.loading && i("div", {
467
418
  class: "main__content scrollable"
468
- }, h(this, z, "f").call(this), i("div", {
419
+ }, h(this, E, "f").call(this), i("div", {
469
420
  class: "field field-block"
470
421
  }, i("label", {
471
422
  class: "label",
@@ -478,7 +429,7 @@ const $ = class {
478
429
  readonly: true,
479
430
  part: "comment-area",
480
431
  id: "comment-area"
481
- })), h(this, T, "f").call(this))));
432
+ })), h(this, F, "f").call(this))));
482
433
  }
483
434
  static get assetsDirs() {
484
435
  return [ "gx-ide-assets/team-dev-history" ];
@@ -486,20 +437,15 @@ const $ = class {
486
437
  get el() {
487
438
  return a(this);
488
439
  }
489
- static get watchers() {
490
- return {
491
- selectedVersionId: [ "selectedVersionIdChanged" ],
492
- versions: [ "versionsListChanged" ]
493
- };
494
- }
495
440
  };
496
441
 
497
- f = new WeakMap, m = new WeakMap, g = new WeakMap, p = new WeakMap, b = new WeakMap,
442
+ f = new WeakMap, m = new WeakMap, p = new WeakMap, g = new WeakMap, b = new WeakMap,
498
443
  v = new WeakMap, w = new WeakMap, y = new WeakMap, x = new WeakMap, k = new WeakMap,
499
- _ = new WeakMap, M = new WeakMap, W = new WeakMap, j = new WeakMap, C = new WeakMap,
500
- z = new WeakMap, T = new WeakMap, E = new WeakMap, F = new WeakMap;
444
+ _ = new WeakMap, M = new WeakMap, W = new WeakMap, j = new WeakMap, z = new WeakMap,
445
+ C = new WeakMap, T = new WeakMap, E = new WeakMap, F = new WeakMap, D = new WeakMap,
446
+ I = new WeakMap, A = new WeakMap;
501
447
 
502
448
  $.style = d;
503
449
 
504
450
  export { $ as gx_ide_team_dev_history };
505
- //# sourceMappingURL=p-85cf50c5.entry.js.map
451
+ //# sourceMappingURL=p-74f8bd45.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["mapObjectTypeToComboBoxItemModel","objectTypeModel","map","objectType","value","id","caption","name","startImgSrc","icon","historyCss","CSS_BUNDLES","GxIdeTeamDevHistory","_GxIdeTeamDevHistory__componentLocale","set","this","_GxIdeTeamDevHistory_types","_GxIdeTeamDevHistory_fromEl","_GxIdeTeamDevHistory_revisionEl","_GxIdeTeamDevHistory_searchEl","_GxIdeTeamDevHistory_toEl","_GxIdeTeamDevHistory_typesEl","_GxIdeTeamDevHistory_userEl","_GxIdeTeamDevHistory_sidebarEl","_GxIdeTeamDevHistory_revisionsGridEl","_GxIdeTeamDevHistory_selectKBItemsEL","_GxIdeTeamDevHistory_selectedVersionChanged","async","selectedVersion","selectedVersionChangeCallback","__classPrivateFieldGet","_GxIdeTeamDevHistory_getObjectsFromVersion","call","versionId","isRefresh","loading","filters","search","from","Date","to","revision","user","type","objects","loadCallback","_GxIdeTeamDevHistory_getSelectedRevision","_a","error","historyDetail","selectedRevisionId","revisionId","loadDetailCallback","title","_GxIdeTeamDevHistory_formatHistoryDetailDate","_GxIdeTeamDevHistory_registerGridContextMenuListener","addEventListener","ev","preventDefault","stopPropagation","_GxIdeTeamDevHistory_gridContextMenuCallbackHandler","gridContextMenuCallback","selection","clientX","clientY","_GxIdeTeamDevHistory_toggleFiltersHandler","filtersHidden","_GxIdeTeamDevHistory_renderCommitsGrid","tabularGridEmpty","length","h","class","onSelectionChanged","detail","rowsId","ref","el","__classPrivateFieldSet","selectRow","mainGrid","columns","settingable","size","comment","commitDate","obj","rowid","key","formatDate","stateTitle","emptyRevisionsText","isAnimated","_GxIdeTeamDevHistory_renderAffectedObjectsGrid","iterable","_b","affectedObjectsGrid","config","tabularGrid","colSize","maxContent","types","description","auto","action","renderObjectTypeWithIcon","renderObjectStateWithIcon","state","stateIconSrc","ICONS","filter","emptyHistoryDetailText","_GxIdeTeamDevHistory_renderLoader","loaderTitle","loader","show","parts","split","datePart","formattedDate","_GxIdeTeamDevHistory_reloadHandler","reloadItems","componentWillLoad","Locale","getComponentStrings","componentDidLoad","e","sidebarExpanded","reload","render","Host","model","expanded","expandButtonCollapseAccessibleName","sidebar","collapseAriaLabel","expandButtonExpandAccessibleName","expandAriaLabel","showExpandButton","hasActiveVersion","checkboxType","loadItemsCallback","loadVersionsCallback","expandOnClick","selectionChanged","itemContextMenuCallback","info","htmlFor","part","searchFilter","filterAriaLabel","onClick","src","reloadAriaLabel","refresh","inert","hidden","accessibleName","multiline","autoGrow","readonly"],"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"],"mappings":"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"}