@genexus/genexus-ide-ui 1.1.20 → 1.1.22
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.
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-ai-message.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js +52 -37
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js +6 -9
- package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +345 -177
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js +13 -36
- package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +17 -13
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
- package/dist/cjs/{helpers-30f109a4.js → helpers-b30b36b4.js} +2 -2
- package/dist/cjs/{helpers-30f109a4.js.map → helpers-b30b36b4.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/utilities-6118dc24.js +78 -0
- package/dist/cjs/utilities-6118dc24.js.map +1 -0
- package/dist/collection/common/helpers.js +1 -1
- package/dist/collection/common/helpers.js.map +1 -1
- package/dist/collection/common/types.js.map +1 -1
- package/dist/collection/components/team-dev/bring-changes/bring-changes.css +6 -6
- package/dist/collection/components/team-dev/bring-changes/bring-changes.js +5 -8
- package/dist/collection/components/team-dev/bring-changes/bring-changes.js.map +1 -1
- package/dist/collection/components/team-dev/commit/commit.css +48 -665
- package/dist/collection/components/team-dev/commit/commit.js +407 -251
- package/dist/collection/components/team-dev/commit/commit.js.map +1 -1
- package/dist/collection/components/team-dev/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.en.json +20 -3
- package/dist/collection/components/team-dev/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.ja.json +20 -3
- package/dist/collection/components/team-dev/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.zh.json +20 -3
- package/dist/collection/components/team-dev/commit/helpers.js +10 -0
- package/dist/collection/components/team-dev/commit/helpers.js.map +1 -0
- package/dist/collection/components/team-dev/common/types.js +2 -0
- package/dist/collection/components/team-dev/common/types.js.map +1 -0
- package/dist/collection/components/team-dev/common/utilities.js +67 -0
- package/dist/collection/components/team-dev/common/utilities.js.map +1 -0
- package/dist/collection/components/team-dev/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.en.json +1 -1
- package/dist/collection/components/team-dev/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.zh.json +1 -1
- package/dist/collection/components/team-dev/history/history.css +6 -0
- package/dist/collection/components/team-dev/history/history.js +11 -34
- package/dist/collection/components/team-dev/history/history.js.map +1 -1
- package/dist/collection/components/team-dev/share-kb/gx-ide-assets/share-kb/langs/share-kb.lang.en.json +3 -2
- package/dist/collection/components/team-dev/share-kb/gx-ide-assets/share-kb/langs/share-kb.lang.ja.json +3 -2
- package/dist/collection/components/team-dev/share-kb/gx-ide-assets/share-kb/langs/share-kb.lang.zh.json +3 -2
- package/dist/collection/components/team-dev/share-kb/share-kb.css +10 -0
- package/dist/collection/components/team-dev/share-kb/share-kb.js +51 -36
- package/dist/collection/components/team-dev/share-kb/share-kb.js.map +1 -1
- package/dist/collection/components/team-dev/update/update.js +4 -10
- package/dist/collection/components/team-dev/update/update.js.map +1 -1
- package/dist/components/gx-ide-share-kb.js +52 -37
- package/dist/components/gx-ide-share-kb.js.map +1 -1
- package/dist/components/gx-ide-team-dev-bring-changes.js +6 -9
- package/dist/components/gx-ide-team-dev-bring-changes.js.map +1 -1
- package/dist/components/gx-ide-team-dev-commit.js +369 -191
- package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
- package/dist/components/gx-ide-team-dev-history.js +12 -35
- package/dist/components/gx-ide-team-dev-history.js.map +1 -1
- package/dist/components/gx-ide-team-dev-update.js +16 -12
- package/dist/components/gx-ide-team-dev-update.js.map +1 -1
- package/dist/components/helpers.js +1 -1
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/utilities.js +75 -0
- package/dist/components/utilities.js.map +1 -0
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-ai-message.entry.js +1 -1
- package/dist/esm/gx-ide-dashboard-home.entry.js +1 -1
- package/dist/esm/gx-ide-new-environment.entry.js +1 -1
- package/dist/esm/gx-ide-new-kb.entry.js +1 -1
- package/dist/esm/gx-ide-object-selector.entry.js +1 -1
- package/dist/esm/gx-ide-share-kb.entry.js +52 -37
- package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-bring-changes.entry.js +6 -9
- package/dist/esm/gx-ide-team-dev-bring-changes.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-commit.entry.js +345 -177
- package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-history.entry.js +13 -36
- package/dist/esm/gx-ide-team-dev-history.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-update.entry.js +17 -13
- package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
- package/dist/esm/gx-ide-ww-images.entry.js +1 -1
- package/dist/esm/{helpers-10479d69.js → helpers-a4f16ffb.js} +2 -2
- package/dist/esm/{helpers-10479d69.js.map → helpers-a4f16ffb.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/utilities-6fdb43e4.js +75 -0
- package/dist/esm/utilities-6fdb43e4.js.map +1 -0
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.en.json +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.zh.json +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/share-kb/langs/share-kb.lang.en.json +3 -2
- package/dist/genexus-ide-ui/gx-ide-assets/share-kb/langs/share-kb.lang.ja.json +3 -2
- package/dist/genexus-ide-ui/gx-ide-assets/share-kb/langs/share-kb.lang.zh.json +3 -2
- package/dist/genexus-ide-ui/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.en.json +20 -3
- package/dist/genexus-ide-ui/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.ja.json +20 -3
- package/dist/genexus-ide-ui/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.zh.json +20 -3
- package/dist/genexus-ide-ui/{p-b465f29d.entry.js → p-012cfb1d.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-0f8a8202.js +87 -0
- package/dist/genexus-ide-ui/p-0f8a8202.js.map +1 -0
- package/dist/genexus-ide-ui/{p-3b5a4e2e.entry.js → p-11b8f81d.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-82878950.entry.js → p-19d197c5.entry.js} +8 -8
- package/dist/genexus-ide-ui/{p-667965d3.entry.js → p-72b5d3e4.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-74a0cb25.entry.js → p-810ad95f.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-ac131847.entry.js → p-863ef4de.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-3fbc5a02.entry.js → p-884e0ed9.entry.js} +97 -104
- package/dist/genexus-ide-ui/p-884e0ed9.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-9ddea83b.js → p-957046fd.js} +2 -2
- package/dist/genexus-ide-ui/p-957046fd.js.map +1 -0
- package/dist/genexus-ide-ui/p-ca706700.entry.js +484 -0
- package/dist/genexus-ide-ui/p-ca706700.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-d4ef0c35.entry.js +683 -0
- package/dist/genexus-ide-ui/p-d4ef0c35.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-ea02e5cf.entry.js +266 -0
- package/dist/genexus-ide-ui/p-ea02e5cf.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-75a5c51f.entry.js → p-fa52a417.entry.js} +153 -149
- package/dist/genexus-ide-ui/p-fa52a417.entry.js.map +1 -0
- package/dist/types/common/types.d.ts +0 -1
- package/dist/types/components/team-dev/bring-changes/bring-changes.d.ts +1 -4
- package/dist/types/components/team-dev/commit/commit.d.ts +53 -70
- package/dist/types/components/team-dev/commit/helpers.d.ts +4 -0
- package/dist/types/components/team-dev/common/types.d.ts +1 -0
- package/dist/types/components/team-dev/common/utilities.d.ts +25 -0
- package/dist/types/components/team-dev/history/history.d.ts +1 -1
- package/dist/types/components/team-dev/share-kb/share-kb.d.ts +3 -1
- package/dist/types/components/team-dev/update/update.d.ts +2 -1
- package/dist/types/components.d.ts +7 -15
- package/package.json +1 -1
- package/dist/cjs/render-combo-items-e774f796.js +0 -18
- package/dist/cjs/render-combo-items-e774f796.js.map +0 -1
- package/dist/components/render-combo-items.js +0 -16
- package/dist/components/render-combo-items.js.map +0 -1
- package/dist/esm/render-combo-items-e9c8df5e.js +0 -16
- package/dist/esm/render-combo-items-e9c8df5e.js.map +0 -1
- package/dist/genexus-ide-ui/p-34fd4875.entry.js +0 -573
- package/dist/genexus-ide-ui/p-34fd4875.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-3fbc5a02.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-60e39b2f.entry.js +0 -541
- package/dist/genexus-ide-ui/p-60e39b2f.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-72e346b9.entry.js +0 -249
- package/dist/genexus-ide-ui/p-72e346b9.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-75a5c51f.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-9ddea83b.js.map +0 -1
- package/dist/genexus-ide-ui/p-f549f6e1.js +0 -17
- package/dist/genexus-ide-ui/p-f549f6e1.js.map +0 -1
- /package/dist/genexus-ide-ui/{p-b465f29d.entry.js.map → p-012cfb1d.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-3b5a4e2e.entry.js.map → p-11b8f81d.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-82878950.entry.js.map → p-19d197c5.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-667965d3.entry.js.map → p-72b5d3e4.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-74a0cb25.entry.js.map → p-810ad95f.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-ac131847.entry.js.map → p-863ef4de.entry.js.map} +0 -0
|
@@ -1,541 +0,0 @@
|
|
|
1
|
-
import { r as t, h as e, H as i, a } from "./p-25a9f1d7.js";
|
|
2
|
-
|
|
3
|
-
import { g as s } from "./p-2987a259.js";
|
|
4
|
-
|
|
5
|
-
import { c as r } from "./p-13738332.js";
|
|
6
|
-
|
|
7
|
-
import { f as l } from "./p-9ddea83b.js";
|
|
8
|
-
|
|
9
|
-
import { L as n } from "./p-311eedf3.js";
|
|
10
|
-
|
|
11
|
-
const mapObjectTypeToComboBoxItemModel = t => t.map((t => ({
|
|
12
|
-
value: t.id,
|
|
13
|
-
caption: t.name,
|
|
14
|
-
startImgSrc: t.icon
|
|
15
|
-
})));
|
|
16
|
-
|
|
17
|
-
const hasActiveNode = t => {
|
|
18
|
-
if (t.active) {
|
|
19
|
-
return true;
|
|
20
|
-
}
|
|
21
|
-
if (Array.isArray(t.nodes)) {
|
|
22
|
-
return t.nodes.some(hasActiveNode);
|
|
23
|
-
}
|
|
24
|
-
return false;
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
const hasActiveVersionInList = t => t.some(hasActiveNode);
|
|
28
|
-
|
|
29
|
-
const o = ':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}';
|
|
30
|
-
|
|
31
|
-
var c = undefined && undefined.__classPrivateFieldGet || function(t, e, i, a) {
|
|
32
|
-
if (i === "a" && !a) throw new TypeError("Private accessor was defined without a getter");
|
|
33
|
-
if (typeof e === "function" ? t !== e || !a : !e.has(t)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
34
|
-
return i === "m" ? a : i === "a" ? a.call(t) : a ? a.value : e.get(t);
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
var d = undefined && undefined.__classPrivateFieldSet || function(t, e, i, a, s) {
|
|
38
|
-
if (a === "m") throw new TypeError("Private method is not writable");
|
|
39
|
-
if (a === "a" && !s) throw new TypeError("Private accessor was defined without a setter");
|
|
40
|
-
if (typeof e === "function" ? t !== e || !s : !e.has(t)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
41
|
-
return a === "a" ? s.call(t, i) : s ? s.value = i : e.set(t, i), i;
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
var h, u, m, f, g, b, p, v, w, y, x, k, _, M, W, z, C, T, j;
|
|
45
|
-
|
|
46
|
-
const E = [ "resets/box-sizing", "utils/form--full", "utils/layout", "utils/spacing", "utils/typography", "chameleon/scrollbar", "components/tabular-grid", "components/accordion", "components/sidebar" ];
|
|
47
|
-
|
|
48
|
-
const F = s({
|
|
49
|
-
category: "gx-server",
|
|
50
|
-
name: "changes-commit-pending"
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
const I = s({
|
|
54
|
-
category: "window-tools",
|
|
55
|
-
name: "filter",
|
|
56
|
-
colorType: "primary"
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
const L = s({
|
|
60
|
-
category: "window-tools",
|
|
61
|
-
name: "filter",
|
|
62
|
-
colorType: "on-surface"
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
const A = s({
|
|
66
|
-
category: "gx-server",
|
|
67
|
-
name: "delete"
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
const D = s({
|
|
71
|
-
category: "gx-server",
|
|
72
|
-
name: "new"
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
const S = s({
|
|
76
|
-
category: "gx-server",
|
|
77
|
-
name: "private"
|
|
78
|
-
});
|
|
79
|
-
|
|
80
|
-
const B = s({
|
|
81
|
-
category: "gemini-tools",
|
|
82
|
-
name: "reset",
|
|
83
|
-
colorType: "primary"
|
|
84
|
-
});
|
|
85
|
-
|
|
86
|
-
const N = s({
|
|
87
|
-
category: "gemini-tools",
|
|
88
|
-
name: "search",
|
|
89
|
-
colorType: "on-surface"
|
|
90
|
-
});
|
|
91
|
-
|
|
92
|
-
const P = class {
|
|
93
|
-
constructor(i) {
|
|
94
|
-
t(this, i);
|
|
95
|
-
h.set(this, void 0);
|
|
96
|
-
u.set(this, []);
|
|
97
|
-
m.set(this, void 0);
|
|
98
|
-
f.set(this, void 0);
|
|
99
|
-
g.set(this, void 0);
|
|
100
|
-
b.set(this, void 0);
|
|
101
|
-
p.set(this, void 0);
|
|
102
|
-
v.set(this, void 0);
|
|
103
|
-
w.set(this, void 0);
|
|
104
|
-
y.set(this, void 0);
|
|
105
|
-
x.set(this, (t => {
|
|
106
|
-
let i = e("ch-image", {
|
|
107
|
-
src: S,
|
|
108
|
-
class: "icon-sm"
|
|
109
|
-
});
|
|
110
|
-
switch (t) {
|
|
111
|
-
case "Inserted":
|
|
112
|
-
i = e("ch-image", {
|
|
113
|
-
src: D,
|
|
114
|
-
class: "icon-sm"
|
|
115
|
-
});
|
|
116
|
-
break;
|
|
117
|
-
|
|
118
|
-
case "Modified":
|
|
119
|
-
i = e("ch-image", {
|
|
120
|
-
src: F,
|
|
121
|
-
class: "icon-sm"
|
|
122
|
-
});
|
|
123
|
-
break;
|
|
124
|
-
|
|
125
|
-
case "Deleted":
|
|
126
|
-
i = e("ch-image", {
|
|
127
|
-
src: A,
|
|
128
|
-
class: "icon-sm"
|
|
129
|
-
});
|
|
130
|
-
break;
|
|
131
|
-
}
|
|
132
|
-
return i;
|
|
133
|
-
}));
|
|
134
|
-
k.set(this, (async t => {
|
|
135
|
-
var e;
|
|
136
|
-
this.loading = true;
|
|
137
|
-
const i = {
|
|
138
|
-
search: c(this, g, "f").value ? c(this, g, "f").value : "",
|
|
139
|
-
from: c(this, m, "f").value ? new Date(c(this, m, "f").value) : null,
|
|
140
|
-
to: c(this, b, "f").value ? new Date(c(this, b, "f").value) : null,
|
|
141
|
-
revision: c(this, f, "f").value ? c(this, f, "f").value : "",
|
|
142
|
-
user: c(this, v, "f").value ? c(this, v, "f").value : "",
|
|
143
|
-
type: c(this, p, "f").value === "all" ? "" : c(this, p, "f").value
|
|
144
|
-
};
|
|
145
|
-
this.objects = await this.loadCallback(i, t);
|
|
146
|
-
await c(this, _, "f").call(this, (e = this.objects[0]) === null || e === void 0 ? void 0 : e.id);
|
|
147
|
-
this.loading = false;
|
|
148
|
-
}));
|
|
149
|
-
_.set(this, (async t => {
|
|
150
|
-
if (t) {
|
|
151
|
-
this.historyDetail = await this.loadDetailCallback(t);
|
|
152
|
-
this.selectedRevisionId = t;
|
|
153
|
-
} else {
|
|
154
|
-
this.historyDetail = null;
|
|
155
|
-
}
|
|
156
|
-
}));
|
|
157
|
-
M.set(this, (() => {
|
|
158
|
-
if (c(this, y, "f")) {
|
|
159
|
-
c(this, y, "f").addEventListener("contextmenu", (t => {
|
|
160
|
-
t.preventDefault();
|
|
161
|
-
t.stopPropagation();
|
|
162
|
-
c(this, W, "f").call(this, t);
|
|
163
|
-
}));
|
|
164
|
-
}
|
|
165
|
-
}));
|
|
166
|
-
W.set(this, (async t => {
|
|
167
|
-
this.gridContextMenuCallback({
|
|
168
|
-
selection: [ this.selectedRevisionId ],
|
|
169
|
-
clientX: t.clientX,
|
|
170
|
-
clientY: t.clientY
|
|
171
|
-
});
|
|
172
|
-
}));
|
|
173
|
-
z.set(this, (() => {
|
|
174
|
-
this.filtersHidden = !this.filtersHidden;
|
|
175
|
-
}));
|
|
176
|
-
C.set(this, (() => {
|
|
177
|
-
var t;
|
|
178
|
-
const i = ((t = this.objects) === null || t === void 0 ? void 0 : t.length) === 0 || !this.objects;
|
|
179
|
-
return e("ch-tabular-grid", {
|
|
180
|
-
class: {
|
|
181
|
-
"commits-grid": true,
|
|
182
|
-
"tabular-grid": true,
|
|
183
|
-
"tabular-grid--empty": i
|
|
184
|
-
},
|
|
185
|
-
onSelectionChanged: t => {
|
|
186
|
-
this.objects.length > 0 && c(this, _, "f").call(this, t.detail.rowsId[0]);
|
|
187
|
-
},
|
|
188
|
-
ref: t => {
|
|
189
|
-
var e;
|
|
190
|
-
if (t && c(this, y, "f") !== t) {
|
|
191
|
-
d(this, y, t, "f");
|
|
192
|
-
c(this, M, "f").call(this);
|
|
193
|
-
if (this.objects.length > 0) {
|
|
194
|
-
c(this, y, "f").selectRow((e = this.objects[0]) === null || e === void 0 ? void 0 : e.id, true);
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
}, e("ch-tabular-grid-columnset", {
|
|
199
|
-
class: "tabular-grid-column-set"
|
|
200
|
-
}, e("ch-tabular-grid-column", {
|
|
201
|
-
"column-name": c(this, h, "f").mainGrid.columns.id,
|
|
202
|
-
"column-name-position": "text",
|
|
203
|
-
class: "tabular-grid-column",
|
|
204
|
-
settingable: false,
|
|
205
|
-
size: "max-content"
|
|
206
|
-
}), e("ch-tabular-grid-column", {
|
|
207
|
-
"column-name": c(this, h, "f").mainGrid.columns.comment,
|
|
208
|
-
"column-name-position": "text",
|
|
209
|
-
class: "tabular-grid-column",
|
|
210
|
-
settingable: false,
|
|
211
|
-
size: "1fr"
|
|
212
|
-
}), e("ch-tabular-grid-column", {
|
|
213
|
-
"column-name": c(this, h, "f").mainGrid.columns.user,
|
|
214
|
-
"column-name-position": "text",
|
|
215
|
-
class: "tabular-grid-column",
|
|
216
|
-
settingable: false,
|
|
217
|
-
size: "max-content"
|
|
218
|
-
}), e("ch-tabular-grid-column", {
|
|
219
|
-
"column-name": c(this, h, "f").mainGrid.columns.commitDate,
|
|
220
|
-
"column-name-position": "text",
|
|
221
|
-
class: "tabular-grid-column",
|
|
222
|
-
settingable: false,
|
|
223
|
-
size: "max-content"
|
|
224
|
-
})), this.objects.length > 0 ? e("ch-tabular-grid-rowset", {
|
|
225
|
-
class: "tabular-grid-rowset"
|
|
226
|
-
}, this.objects.map((t => e("ch-tabular-grid-row", {
|
|
227
|
-
rowid: t.id,
|
|
228
|
-
key: t.id,
|
|
229
|
-
class: "tabular-grid-row"
|
|
230
|
-
}, e("ch-tabular-grid-cell", {
|
|
231
|
-
class: "tabular-grid-cell"
|
|
232
|
-
}, t.id), e("ch-tabular-grid-cell", {
|
|
233
|
-
class: "tabular-grid-cell"
|
|
234
|
-
}, t.comment), e("ch-tabular-grid-cell", {
|
|
235
|
-
class: "tabular-grid-cell"
|
|
236
|
-
}, t.user), e("ch-tabular-grid-cell", {
|
|
237
|
-
class: "tabular-grid-cell"
|
|
238
|
-
}, `${l(t.commitDate, "date-time")}`))))) : e("ch-tabular-grid-rowset", {
|
|
239
|
-
class: "tabular-grid-rowset"
|
|
240
|
-
}, e("ch-tabular-grid-rowset-empty", null, e("gx-ide-empty-state", {
|
|
241
|
-
stateTitle: c(this, h, "f").emptyRevisionsText,
|
|
242
|
-
isAnimated: true
|
|
243
|
-
}))), e("ch-tabular-grid-row", {
|
|
244
|
-
class: "tabular-grid-row"
|
|
245
|
-
}));
|
|
246
|
-
}));
|
|
247
|
-
T.set(this, (() => {
|
|
248
|
-
var t;
|
|
249
|
-
const i = this.historyDetail ? this.historyDetail.objects : [];
|
|
250
|
-
const a = ((t = this.historyDetail) === null || t === void 0 ? void 0 : t.objects.length) === 0 || !this.historyDetail;
|
|
251
|
-
return e("ch-tabular-grid", {
|
|
252
|
-
class: {
|
|
253
|
-
"affected-objects-grid": true,
|
|
254
|
-
"tabular-grid": true,
|
|
255
|
-
"tabular-grid--empty": a
|
|
256
|
-
}
|
|
257
|
-
}, e("ch-tabular-grid-columnset", {
|
|
258
|
-
class: "tabular-grid-column-set"
|
|
259
|
-
}, e("ch-tabular-grid-column", {
|
|
260
|
-
"column-name-position": "text",
|
|
261
|
-
class: "tabular-grid-column",
|
|
262
|
-
settingable: false,
|
|
263
|
-
size: "max-content"
|
|
264
|
-
}), e("ch-tabular-grid-column", {
|
|
265
|
-
"column-name-position": "text",
|
|
266
|
-
class: "tabular-grid-column",
|
|
267
|
-
settingable: false,
|
|
268
|
-
size: r.tabularGrid.colSize.auto
|
|
269
|
-
}), e("ch-tabular-grid-column", {
|
|
270
|
-
"column-name": c(this, h, "f").affectedObjectsGrid.columns.name,
|
|
271
|
-
"column-name-position": "text",
|
|
272
|
-
class: "tabular-grid-column",
|
|
273
|
-
settingable: false,
|
|
274
|
-
size: "max-content"
|
|
275
|
-
}), e("ch-tabular-grid-column", {
|
|
276
|
-
"column-name": c(this, h, "f").affectedObjectsGrid.columns.types,
|
|
277
|
-
"column-name-position": "text",
|
|
278
|
-
class: "tabular-grid-column",
|
|
279
|
-
settingable: false,
|
|
280
|
-
size: "max-content"
|
|
281
|
-
}), e("ch-tabular-grid-column", {
|
|
282
|
-
"column-name": c(this, h, "f").affectedObjectsGrid.columns.description,
|
|
283
|
-
"column-name-position": "text",
|
|
284
|
-
class: "tabular-grid-column",
|
|
285
|
-
settingable: false,
|
|
286
|
-
size: "1fr"
|
|
287
|
-
}), e("ch-tabular-grid-column", {
|
|
288
|
-
"column-name": c(this, h, "f").affectedObjectsGrid.columns.action,
|
|
289
|
-
"column-name-position": "text",
|
|
290
|
-
class: "tabular-grid-column",
|
|
291
|
-
settingable: false,
|
|
292
|
-
size: "max-content"
|
|
293
|
-
})), this.historyDetail && this.historyDetail.objects.length > 0 ? e("ch-tabular-grid-rowset", {
|
|
294
|
-
class: "tabular-grid-rowset"
|
|
295
|
-
}, i.map((t => e("ch-tabular-grid-row", {
|
|
296
|
-
class: "tabular-grid-row"
|
|
297
|
-
}, e("ch-tabular-grid-cell", {
|
|
298
|
-
class: "tabular-grid-cell"
|
|
299
|
-
}, e("ch-image", {
|
|
300
|
-
src: t.typeIcon,
|
|
301
|
-
class: "icon-md"
|
|
302
|
-
})), e("ch-tabular-grid-cell", {
|
|
303
|
-
class: "tabular-grid-cell"
|
|
304
|
-
}, c(this, x, "f").call(this, t.state)), e("ch-tabular-grid-cell", {
|
|
305
|
-
class: "tabular-grid-cell"
|
|
306
|
-
}, t.name), e("ch-tabular-grid-cell", {
|
|
307
|
-
class: "tabular-grid-cell"
|
|
308
|
-
}, t.type), e("ch-tabular-grid-cell", {
|
|
309
|
-
class: "tabular-grid-cell"
|
|
310
|
-
}, t.description), e("ch-tabular-grid-cell", {
|
|
311
|
-
class: "tabular-grid-cell"
|
|
312
|
-
}, t.action))))) : e("ch-tabular-grid-rowset", {
|
|
313
|
-
class: "tabular-grid-rowset"
|
|
314
|
-
}, e("ch-tabular-grid-rowset-empty", null, e("gx-ide-empty-state", {
|
|
315
|
-
stateIconSrc: L,
|
|
316
|
-
stateTitle: c(this, h, "f").emptyHistoryDetailText,
|
|
317
|
-
isAnimated: true
|
|
318
|
-
}))), e("ch-tabular-grid-row", {
|
|
319
|
-
class: "tabular-grid-row"
|
|
320
|
-
}));
|
|
321
|
-
}));
|
|
322
|
-
j.set(this, (() => this.loading && e("div", {
|
|
323
|
-
class: "main__content scrollable"
|
|
324
|
-
}, e("gx-ide-loader", {
|
|
325
|
-
loaderTitle: c(this, h, "f").loader.title,
|
|
326
|
-
show: true,
|
|
327
|
-
description: c(this, h, "f").loader.description
|
|
328
|
-
}))));
|
|
329
|
-
this.historyDetail = undefined;
|
|
330
|
-
this.objects = [];
|
|
331
|
-
this.isFirstLoad = true;
|
|
332
|
-
this.sidebarExpanded = true;
|
|
333
|
-
this.filtersHidden = true;
|
|
334
|
-
this.loading = true;
|
|
335
|
-
this.selectedRevisionId = undefined;
|
|
336
|
-
this.hasActiveVersion = false;
|
|
337
|
-
this.types = undefined;
|
|
338
|
-
this.itemContextMenuCallback = undefined;
|
|
339
|
-
this.gridContextMenuCallback = undefined;
|
|
340
|
-
this.selectedVersionId = undefined;
|
|
341
|
-
this.versions = [];
|
|
342
|
-
this.loadCallback = undefined;
|
|
343
|
-
this.loadDetailCallback = undefined;
|
|
344
|
-
this.selectedVersionChangeCallback = undefined;
|
|
345
|
-
}
|
|
346
|
-
async selectedVersionIdChanged(t) {
|
|
347
|
-
var e;
|
|
348
|
-
this.selectedVersionId = t;
|
|
349
|
-
// Reset filters
|
|
350
|
-
c(this, g, "f").value = null;
|
|
351
|
-
c(this, m, "f").value = null;
|
|
352
|
-
c(this, b, "f").value = null;
|
|
353
|
-
c(this, f, "f").value = null;
|
|
354
|
-
c(this, v, "f").value = null;
|
|
355
|
-
c(this, p, "f").value = (e = c(this, u, "f")[0]) === null || e === void 0 ? void 0 : e.value;
|
|
356
|
-
await c(this, k, "f").call(this, t);
|
|
357
|
-
}
|
|
358
|
-
async versionsListChanged(t) {
|
|
359
|
-
this.versions = t;
|
|
360
|
-
this.hasActiveVersion = hasActiveVersionInList(t);
|
|
361
|
-
if (t.length > 0 && this.selectedVersionId && this.isFirstLoad) {
|
|
362
|
-
await c(this, k, "f").call(this, this.selectedVersionId);
|
|
363
|
-
this.isFirstLoad = false;
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
async componentWillLoad() {
|
|
367
|
-
d(this, h, await n.getComponentStrings(this.el), "f");
|
|
368
|
-
d(this, u, mapObjectTypeToComboBoxItemModel(this.types), "f");
|
|
369
|
-
}
|
|
370
|
-
async componentDidLoad() {
|
|
371
|
-
c(this, w, "f").addEventListener("expandedChange", (t => {
|
|
372
|
-
this.sidebarExpanded = t.detail;
|
|
373
|
-
}));
|
|
374
|
-
}
|
|
375
|
-
render() {
|
|
376
|
-
var t;
|
|
377
|
-
return e(i, {
|
|
378
|
-
class: "widget"
|
|
379
|
-
}, e("ch-theme", {
|
|
380
|
-
model: E
|
|
381
|
-
}), e("ch-sidebar", {
|
|
382
|
-
ref: t => d(this, w, t, "f"),
|
|
383
|
-
class: "sidebar",
|
|
384
|
-
expanded: this.sidebarExpanded,
|
|
385
|
-
expandButtonCollapseAccessibleName: c(this, h, "f").sidebar.collapseAriaLabel,
|
|
386
|
-
expandButtonExpandAccessibleName: c(this, h, "f").sidebar.expandAriaLabel,
|
|
387
|
-
showExpandButton: true
|
|
388
|
-
}, e("gx-ide-select-kb-items", {
|
|
389
|
-
class: {
|
|
390
|
-
"sidebar-expanded": this.sidebarExpanded,
|
|
391
|
-
"has-active-version": this.hasActiveVersion
|
|
392
|
-
},
|
|
393
|
-
checkboxType: "none",
|
|
394
|
-
itemsList: this.versions,
|
|
395
|
-
expandOnClick: false,
|
|
396
|
-
selectionChanged: this.selectedVersionChangeCallback,
|
|
397
|
-
itemContextMenuCallback: this.itemContextMenuCallback
|
|
398
|
-
})), e("main", {
|
|
399
|
-
class: "main spacing-body-block-start spacing-body-inline"
|
|
400
|
-
}, e("div", {
|
|
401
|
-
class: "main__header"
|
|
402
|
-
}, e("div", {
|
|
403
|
-
class: "search-filter"
|
|
404
|
-
}, e("div", {
|
|
405
|
-
class: "field field-inline"
|
|
406
|
-
}, e("label", {
|
|
407
|
-
class: "label",
|
|
408
|
-
htmlFor: "search"
|
|
409
|
-
}, c(this, h, "f").filters.search), e("ch-edit", {
|
|
410
|
-
value: "",
|
|
411
|
-
class: "input",
|
|
412
|
-
startImgSrc: N,
|
|
413
|
-
part: "search",
|
|
414
|
-
id: "search",
|
|
415
|
-
ref: t => d(this, g, t, "f")
|
|
416
|
-
})), e("button", {
|
|
417
|
-
id: "filter-toggle-button",
|
|
418
|
-
class: "button-teritary button-icon-only",
|
|
419
|
-
"aria-label": c(this, h, "f").searchFilter.filterAriaLabel,
|
|
420
|
-
"aria-expanded": this.filtersHidden ? "false" : "true",
|
|
421
|
-
"aria-controls": "filters-container",
|
|
422
|
-
onClick: () => c(this, z, "f").call(this)
|
|
423
|
-
}, e("ch-image", {
|
|
424
|
-
class: "icon-md",
|
|
425
|
-
src: I
|
|
426
|
-
})), e("button", {
|
|
427
|
-
class: "button-teritary button-icon-only",
|
|
428
|
-
"aria-label": c(this, h, "f").searchFilter.reloadAriaLabel,
|
|
429
|
-
onClick: () => c(this, k, "f").call(this, this.selectedVersionId),
|
|
430
|
-
part: c(this, h, "f").searchFilter.reloadAriaLabel
|
|
431
|
-
}, e("ch-image", {
|
|
432
|
-
class: "icon-md",
|
|
433
|
-
src: B
|
|
434
|
-
}))), e("div", {
|
|
435
|
-
id: "filters-container",
|
|
436
|
-
"aria-labelledby": "filter-toggle-button",
|
|
437
|
-
class: {
|
|
438
|
-
"filters-container-visible": !this.filtersHidden,
|
|
439
|
-
"filters-container": true
|
|
440
|
-
},
|
|
441
|
-
inert: this.filtersHidden,
|
|
442
|
-
hidden: this.filtersHidden
|
|
443
|
-
}, e("div", null, e("div", {
|
|
444
|
-
class: "filters-grid"
|
|
445
|
-
}, e("div", {
|
|
446
|
-
class: "field field-block field-from"
|
|
447
|
-
}, e("label", {
|
|
448
|
-
class: "label",
|
|
449
|
-
htmlFor: "from"
|
|
450
|
-
}, c(this, h, "f").filters.from), e("ch-edit", {
|
|
451
|
-
value: "",
|
|
452
|
-
class: "input",
|
|
453
|
-
type: "date",
|
|
454
|
-
part: "from",
|
|
455
|
-
id: "from",
|
|
456
|
-
ref: t => d(this, m, t, "f")
|
|
457
|
-
})), e("div", {
|
|
458
|
-
class: "field field-block field-to"
|
|
459
|
-
}, e("label", {
|
|
460
|
-
class: "label",
|
|
461
|
-
htmlFor: "to"
|
|
462
|
-
}, c(this, h, "f").filters.to), e("ch-edit", {
|
|
463
|
-
value: "",
|
|
464
|
-
class: "input",
|
|
465
|
-
type: "date",
|
|
466
|
-
id: "to",
|
|
467
|
-
ref: t => d(this, b, t, "f")
|
|
468
|
-
})), e("div", {
|
|
469
|
-
class: "field field-block field-type"
|
|
470
|
-
}, e("label", {
|
|
471
|
-
class: "label",
|
|
472
|
-
htmlFor: "type"
|
|
473
|
-
}, c(this, h, "f").filters.type), e("ch-combo-box-render", {
|
|
474
|
-
accessibleName: "types",
|
|
475
|
-
class: "combo-box",
|
|
476
|
-
part: "type",
|
|
477
|
-
model: c(this, u, "f"),
|
|
478
|
-
value: (t = c(this, u, "f")[0]) === null || t === void 0 ? void 0 : t.value,
|
|
479
|
-
ref: t => d(this, p, t, "f")
|
|
480
|
-
})), e("div", {
|
|
481
|
-
class: "field field-block field-user"
|
|
482
|
-
}, e("label", {
|
|
483
|
-
class: "label",
|
|
484
|
-
htmlFor: "user"
|
|
485
|
-
}, c(this, h, "f").filters.user), e("ch-edit", {
|
|
486
|
-
value: "",
|
|
487
|
-
part: "user",
|
|
488
|
-
class: "input",
|
|
489
|
-
id: "user",
|
|
490
|
-
ref: t => d(this, v, t, "f")
|
|
491
|
-
})), e("div", {
|
|
492
|
-
class: "field field-block field-revision"
|
|
493
|
-
}, e("label", {
|
|
494
|
-
class: "label",
|
|
495
|
-
htmlFor: "revision"
|
|
496
|
-
}, c(this, h, "f").filters.revision), e("ch-edit", {
|
|
497
|
-
value: "",
|
|
498
|
-
part: "revision",
|
|
499
|
-
class: "input",
|
|
500
|
-
id: "revision",
|
|
501
|
-
ref: t => d(this, f, t, "f")
|
|
502
|
-
})))))), c(this, j, "f").call(this), !this.loading && e("div", {
|
|
503
|
-
class: "main__content scrollable"
|
|
504
|
-
}, c(this, C, "f").call(this), e("div", {
|
|
505
|
-
class: "field field-block"
|
|
506
|
-
}, e("label", {
|
|
507
|
-
class: "label",
|
|
508
|
-
htmlFor: "comment-area"
|
|
509
|
-
}, this.historyDetail ? this.historyDetail.title : null), e("ch-edit", {
|
|
510
|
-
class: "input comment-text-area",
|
|
511
|
-
value: this.historyDetail ? this.historyDetail.comment : null,
|
|
512
|
-
multiline: true,
|
|
513
|
-
autoGrow: true,
|
|
514
|
-
readonly: true,
|
|
515
|
-
part: "comment-area",
|
|
516
|
-
id: "comment-area"
|
|
517
|
-
})), c(this, T, "f").call(this))));
|
|
518
|
-
}
|
|
519
|
-
static get assetsDirs() {
|
|
520
|
-
return [ "gx-ide-assets/team-dev-history" ];
|
|
521
|
-
}
|
|
522
|
-
get el() {
|
|
523
|
-
return a(this);
|
|
524
|
-
}
|
|
525
|
-
static get watchers() {
|
|
526
|
-
return {
|
|
527
|
-
selectedVersionId: [ "selectedVersionIdChanged" ],
|
|
528
|
-
versions: [ "versionsListChanged" ]
|
|
529
|
-
};
|
|
530
|
-
}
|
|
531
|
-
};
|
|
532
|
-
|
|
533
|
-
h = new WeakMap, u = new WeakMap, m = new WeakMap, f = new WeakMap, g = new WeakMap,
|
|
534
|
-
b = new WeakMap, p = new WeakMap, v = new WeakMap, w = new WeakMap, y = new WeakMap,
|
|
535
|
-
x = new WeakMap, k = new WeakMap, _ = new WeakMap, M = new WeakMap, W = new WeakMap,
|
|
536
|
-
z = new WeakMap, C = new WeakMap, T = new WeakMap, j = new WeakMap;
|
|
537
|
-
|
|
538
|
-
P.style = o;
|
|
539
|
-
|
|
540
|
-
export { P as gx_ide_team_dev_history };
|
|
541
|
-
//# sourceMappingURL=p-60e39b2f.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["mapObjectTypeToComboBoxItemModel","objectTypeModel","map","objectType","value","id","caption","name","startImgSrc","icon","hasActiveNode","node","active","Array","isArray","nodes","some","hasActiveVersionInList","versionsList","historyCss","CSS_BUNDLES","CHANGES_PENDING_ICON","getIconPath","category","FILTER_ICON_PRIMARY","colorType","FILTER_ICON","DELETED_ICON","NEW_ICON","PRIVATE_ICON","RESET_ICON","SEARCH_ICON","GxIdeTeamDevHistory","_GxIdeTeamDevHistory__componentLocale","set","this","_GxIdeTeamDevHistory_types","_GxIdeTeamDevHistory_fromEl","_GxIdeTeamDevHistory_revisionEl","_GxIdeTeamDevHistory_searchEl","_GxIdeTeamDevHistory_toEl","_GxIdeTeamDevHistory_typesEl","_GxIdeTeamDevHistory_userEl","_GxIdeTeamDevHistory_sidebarEl","_GxIdeTeamDevHistory_revisionsGridEl","_GxIdeTeamDevHistory_getIconState","state","h","src","class","_GxIdeTeamDevHistory_getObjectsFromVersion","async","versionId","loading","filters","search","__classPrivateFieldGet","from","Date","to","revision","user","type","objects","loadCallback","_GxIdeTeamDevHistory_getSelectedRevision","call","_a","revisionId","historyDetail","loadDetailCallback","selectedRevisionId","_GxIdeTeamDevHistory_registerGridContextMenuListener","addEventListener","ev","preventDefault","stopPropagation","_GxIdeTeamDevHistory_gridContextMenuCallbackHandler","gridContextMenuCallback","selection","clientX","clientY","_GxIdeTeamDevHistory_toggleFiltersHandler","filtersHidden","_GxIdeTeamDevHistory_renderCommitsGrid","tabularGridEmpty","length","onSelectionChanged","detail","rowsId","ref","el","__classPrivateFieldSet","selectRow","mainGrid","columns","settingable","size","comment","commitDate","obj","rowid","key","formatDate","stateTitle","emptyRevisionsText","isAnimated","_GxIdeTeamDevHistory_renderAffectedObjectsGrid","iterable","config","tabularGrid","colSize","auto","affectedObjectsGrid","types","description","action","typeIcon","stateIconSrc","emptyHistoryDetailText","_GxIdeTeamDevHistory_renderLoader","loaderTitle","loader","title","show","selectedVersionIdChanged","newSelectedVersionId","selectedVersionId","versionsListChanged","newVersionsList","versions","hasActiveVersion","isFirstLoad","componentWillLoad","Locale","getComponentStrings","componentDidLoad","e","sidebarExpanded","render","Host","model","expanded","expandButtonCollapseAccessibleName","sidebar","collapseAriaLabel","expandButtonExpandAccessibleName","expandAriaLabel","showExpandButton","checkboxType","itemsList","expandOnClick","selectionChanged","selectedVersionChangeCallback","itemContextMenuCallback","htmlFor","part","searchFilter","filterAriaLabel","onClick","reloadAriaLabel","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\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\";\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 CHANGES_PENDING_ICON = getIconPath({\n category: \"gx-server\",\n name: \"changes-commit-pending\"\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 DELETED_ICON = getIconPath({\n category: \"gx-server\",\n name: \"delete\"\n});\n\nconst NEW_ICON = getIconPath({\n category: \"gx-server\",\n name: \"new\"\n});\n\nconst PRIVATE_ICON = getIconPath({\n category: \"gx-server\",\n name: \"private\"\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(newSelectedVersionId: string) {\n this.selectedVersionId = newSelectedVersionId;\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);\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);\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 #getIconState = (state: ObjectState): Element => {\n let icon = <ch-image src={PRIVATE_ICON} class=\"icon-sm\"></ch-image>;\n switch (state) {\n case \"Inserted\":\n icon = <ch-image src={NEW_ICON} class=\"icon-sm\"></ch-image>;\n break;\n\n case \"Modified\":\n icon = <ch-image src={CHANGES_PENDING_ICON} class=\"icon-sm\"></ch-image>;\n break;\n\n case \"Deleted\":\n icon = <ch-image src={DELETED_ICON} class=\"icon-sm\"></ch-image>;\n break;\n }\n return icon;\n };\n\n #getObjectsFromVersion = async (versionId: string): 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\n this.objects = await this.loadCallback(filters, versionId);\n await this.#getSelectedRevision(this.objects[0]?.id);\n this.loading = false;\n };\n\n #getSelectedRevision = async (revisionId: string) => {\n if (revisionId) {\n this.historyDetail = await this.loadDetailCallback(revisionId);\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-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-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.name\n }\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={\n this.#_componentLocale.affectedObjectsGrid.columns.types\n }\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={\n this.#_componentLocale.affectedObjectsGrid.columns.description\n }\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={\n this.#_componentLocale.affectedObjectsGrid.columns.action\n }\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.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 <ch-image src={obj.typeIcon} class=\"icon-md\"></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#getIconState(obj.state)}\n </ch-tabular-grid-cell>\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 {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 {obj.action}\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 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)\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: string;\n description: string;\n action: string;\n};\nexport type ObjectState = \"Inserted\" | \"Modified\" | \"Deleted\";\n\nexport type LoadCallback = (\n filters: FiltersData,\n versionId: string\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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"}
|