@genexus/genexus-ide-ui 1.1.6 → 1.1.8

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 (118) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js +61 -20
  3. package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js.map +1 -1
  4. package/dist/cjs/gx-ide-design-import.cjs.entry.js +1 -1
  5. package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -1
  6. package/dist/cjs/gx-ide-new-version.cjs.entry.js +58 -14
  7. package/dist/cjs/gx-ide-new-version.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +16 -9
  9. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +2 -2
  11. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
  12. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js +270 -0
  13. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js.map +1 -0
  14. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +1 -1
  15. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
  16. package/dist/cjs/loader.cjs.js +1 -1
  17. package/dist/collection/collection-manifest.json +1 -0
  18. package/dist/collection/components/deployment-tool/deployment-tool.js +78 -20
  19. package/dist/collection/components/deployment-tool/deployment-tool.js.map +1 -1
  20. package/dist/collection/components/design-import/design-import.js +1 -1
  21. package/dist/collection/components/design-import/design-import.js.map +1 -1
  22. package/dist/collection/components/new-version/gx-ide-assets/new-version/langs/new-version.lang.en.json +3 -1
  23. package/dist/collection/components/new-version/gx-ide-assets/new-version/langs/new-version.lang.ja.json +3 -1
  24. package/dist/collection/components/new-version/gx-ide-assets/new-version/langs/new-version.lang.zh.json +3 -1
  25. package/dist/collection/components/new-version/new-version.css +4 -0
  26. package/dist/collection/components/new-version/new-version.js +124 -18
  27. package/dist/collection/components/new-version/new-version.js.map +1 -1
  28. package/dist/collection/components/select-kb-items/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.en.json +2 -1
  29. package/dist/collection/components/select-kb-items/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.ja.json +1 -0
  30. package/dist/collection/components/select-kb-items/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.zh.json +1 -0
  31. package/dist/collection/components/select-kb-items/select-kb-items.css +22 -27
  32. package/dist/collection/components/select-kb-items/select-kb-items.js +34 -8
  33. package/dist/collection/components/select-kb-items/select-kb-items.js.map +1 -1
  34. package/dist/collection/components/team-dev/commit/commit.js +2 -2
  35. package/dist/collection/components/team-dev/commit/commit.js.map +1 -1
  36. package/dist/collection/components/team-dev/history/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.en.json +42 -0
  37. package/dist/collection/components/team-dev/history/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.ja.json +42 -0
  38. package/dist/collection/components/team-dev/history/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.zh.json +42 -0
  39. package/dist/collection/components/team-dev/history/helpers.js +22 -0
  40. package/dist/collection/components/team-dev/history/helpers.js.map +1 -0
  41. package/dist/collection/components/team-dev/history/history.css +124 -0
  42. package/dist/collection/components/team-dev/history/history.js +448 -0
  43. package/dist/collection/components/team-dev/history/history.js.map +1 -0
  44. package/dist/collection/components/team-dev/update/update.js +1 -1
  45. package/dist/collection/components/team-dev/update/update.js.map +1 -1
  46. package/dist/collection/testing/locale.e2e.js +1 -0
  47. package/dist/collection/testing/locale.e2e.js.map +1 -1
  48. package/dist/components/gx-ide-deployment-tool.js +62 -20
  49. package/dist/components/gx-ide-deployment-tool.js.map +1 -1
  50. package/dist/components/gx-ide-design-import.js +1 -1
  51. package/dist/components/gx-ide-design-import.js.map +1 -1
  52. package/dist/components/gx-ide-new-version.js +65 -15
  53. package/dist/components/gx-ide-new-version.js.map +1 -1
  54. package/dist/components/gx-ide-select-kb-items.js +1 -507
  55. package/dist/components/gx-ide-select-kb-items.js.map +1 -1
  56. package/dist/components/gx-ide-team-dev-commit.js +2 -2
  57. package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
  58. package/dist/components/gx-ide-team-dev-history.d.ts +11 -0
  59. package/dist/components/gx-ide-team-dev-history.js +322 -0
  60. package/dist/components/gx-ide-team-dev-history.js.map +1 -0
  61. package/dist/components/gx-ide-team-dev-update.js +1 -1
  62. package/dist/components/gx-ide-team-dev-update.js.map +1 -1
  63. package/dist/components/select-kb-items.js +520 -0
  64. package/dist/components/select-kb-items.js.map +1 -0
  65. package/dist/esm/genexus-ide-ui.js +1 -1
  66. package/dist/esm/gx-ide-deployment-tool.entry.js +61 -20
  67. package/dist/esm/gx-ide-deployment-tool.entry.js.map +1 -1
  68. package/dist/esm/gx-ide-design-import.entry.js +1 -1
  69. package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
  70. package/dist/esm/gx-ide-new-version.entry.js +58 -14
  71. package/dist/esm/gx-ide-new-version.entry.js.map +1 -1
  72. package/dist/esm/gx-ide-select-kb-items.entry.js +16 -9
  73. package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
  74. package/dist/esm/gx-ide-team-dev-commit.entry.js +2 -2
  75. package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
  76. package/dist/esm/gx-ide-team-dev-history.entry.js +266 -0
  77. package/dist/esm/gx-ide-team-dev-history.entry.js.map +1 -0
  78. package/dist/esm/gx-ide-team-dev-update.entry.js +1 -1
  79. package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
  80. package/dist/esm/loader.js +1 -1
  81. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  82. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  83. package/dist/genexus-ide-ui/gx-ide-assets/new-version/langs/new-version.lang.en.json +3 -1
  84. package/dist/genexus-ide-ui/gx-ide-assets/new-version/langs/new-version.lang.ja.json +3 -1
  85. package/dist/genexus-ide-ui/gx-ide-assets/new-version/langs/new-version.lang.zh.json +3 -1
  86. package/dist/genexus-ide-ui/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.en.json +2 -1
  87. package/dist/genexus-ide-ui/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.ja.json +1 -0
  88. package/dist/genexus-ide-ui/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.zh.json +1 -0
  89. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.en.json +42 -0
  90. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.ja.json +42 -0
  91. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.zh.json +42 -0
  92. package/dist/genexus-ide-ui/{p-3085add2.entry.js → p-03dbccde.entry.js} +193 -160
  93. package/dist/genexus-ide-ui/p-03dbccde.entry.js.map +1 -0
  94. package/dist/genexus-ide-ui/{p-48062d23.entry.js → p-0acf517c.entry.js} +2 -2
  95. package/dist/genexus-ide-ui/{p-48062d23.entry.js.map → p-0acf517c.entry.js.map} +1 -1
  96. package/dist/genexus-ide-ui/{p-d2107cb2.entry.js → p-34fd4875.entry.js} +3 -18
  97. package/dist/genexus-ide-ui/p-34fd4875.entry.js.map +1 -0
  98. package/dist/genexus-ide-ui/p-74715731.entry.js +541 -0
  99. package/dist/genexus-ide-ui/p-74715731.entry.js.map +1 -0
  100. package/dist/genexus-ide-ui/{p-036d005d.entry.js → p-75a5c51f.entry.js} +2 -2
  101. package/dist/genexus-ide-ui/p-75a5c51f.entry.js.map +1 -0
  102. package/dist/genexus-ide-ui/p-80c1ddc3.entry.js +218 -0
  103. package/dist/genexus-ide-ui/p-80c1ddc3.entry.js.map +1 -0
  104. package/dist/genexus-ide-ui/{p-9fa1200f.entry.js → p-a8d0b62e.entry.js} +139 -125
  105. package/dist/genexus-ide-ui/p-a8d0b62e.entry.js.map +1 -0
  106. package/dist/types/components/deployment-tool/deployment-tool.d.ts +5 -0
  107. package/dist/types/components/new-version/new-version.d.ts +27 -1
  108. package/dist/types/components/select-kb-items/select-kb-items.d.ts +8 -0
  109. package/dist/types/components/team-dev/history/helpers.d.ts +7 -0
  110. package/dist/types/components/team-dev/history/history.d.ts +109 -0
  111. package/dist/types/components.d.ts +149 -18
  112. package/package.json +1 -1
  113. package/dist/genexus-ide-ui/p-036d005d.entry.js.map +0 -1
  114. package/dist/genexus-ide-ui/p-3085add2.entry.js.map +0 -1
  115. package/dist/genexus-ide-ui/p-9fa1200f.entry.js.map +0 -1
  116. package/dist/genexus-ide-ui/p-c91af626.entry.js +0 -149
  117. package/dist/genexus-ide-ui/p-c91af626.entry.js.map +0 -1
  118. package/dist/genexus-ide-ui/p-d2107cb2.entry.js.map +0 -1
@@ -0,0 +1,322 @@
1
+ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
+ import { g as getIconPath } from './MERCURY_ASSETS.js';
3
+ import { c as config } from './config.js';
4
+ import { f as formatDate } from './helpers.js';
5
+ import { L as Locale } from './locale.js';
6
+ import { d as defineCustomElement$4 } from './gx-ide-empty-state2.js';
7
+ import { d as defineCustomElement$3 } from './ide-loader.js';
8
+ import { d as defineCustomElement$2 } from './select-kb-items.js';
9
+
10
+ const mapObjectTypeToComboBoxItemModel = (objectTypeModel) => objectTypeModel.map(objectType => ({
11
+ value: objectType.id,
12
+ caption: objectType.name,
13
+ startImgSrc: objectType.icon
14
+ }));
15
+ const hasActiveNode = (node) => {
16
+ if (node.active) {
17
+ return true;
18
+ }
19
+ if (Array.isArray(node.nodes)) {
20
+ return node.nodes.some(hasActiveNode);
21
+ }
22
+ return false;
23
+ };
24
+ const hasActiveVersionInList = (versionsList) => {
25
+ return versionsList.some(hasActiveNode);
26
+ };
27
+
28
+ const historyCss = ":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}";
29
+
30
+ var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
31
+ if (kind === "a" && !f)
32
+ throw new TypeError("Private accessor was defined without a getter");
33
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
34
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
35
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
36
+ };
37
+ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
38
+ if (kind === "m")
39
+ throw new TypeError("Private method is not writable");
40
+ if (kind === "a" && !f)
41
+ throw new TypeError("Private accessor was defined without a setter");
42
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
43
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
44
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
45
+ };
46
+ var _GxIdeTeamDevHistory__componentLocale, _GxIdeTeamDevHistory_types, _GxIdeTeamDevHistory_fromEl, _GxIdeTeamDevHistory_revisionEl, _GxIdeTeamDevHistory_searchEl, _GxIdeTeamDevHistory_toEl, _GxIdeTeamDevHistory_typesEl, _GxIdeTeamDevHistory_userEl, _GxIdeTeamDevHistory_sidebarEl, _GxIdeTeamDevHistory_revisionsGridEl, _GxIdeTeamDevHistory_getIconState, _GxIdeTeamDevHistory_getObjectsFromVersion, _GxIdeTeamDevHistory_getSelectedRevision, _GxIdeTeamDevHistory_registerGridContextMenuListener, _GxIdeTeamDevHistory_gridContextMenuCallbackHandler, _GxIdeTeamDevHistory_toggleFiltersHandler, _GxIdeTeamDevHistory_renderCommitsGrid, _GxIdeTeamDevHistory_renderAffectedObjectsGrid, _GxIdeTeamDevHistory_renderLoader;
47
+ const CSS_BUNDLES = [
48
+ "resets/box-sizing",
49
+ "utils/form--full",
50
+ "utils/layout",
51
+ "utils/spacing",
52
+ "utils/typography",
53
+ "chameleon/scrollbar",
54
+ "components/tabular-grid",
55
+ "components/accordion",
56
+ "components/sidebar"
57
+ ];
58
+ const CHANGES_PENDING_ICON = getIconPath({
59
+ category: "gx-server",
60
+ name: "changes-commit-pending"
61
+ });
62
+ const FILTER_ICON_PRIMARY = getIconPath({
63
+ category: "window-tools",
64
+ name: "filter",
65
+ colorType: "primary"
66
+ });
67
+ const FILTER_ICON = getIconPath({
68
+ category: "window-tools",
69
+ name: "filter",
70
+ colorType: "on-surface"
71
+ });
72
+ const DELETED_ICON = getIconPath({
73
+ category: "gx-server",
74
+ name: "delete"
75
+ });
76
+ const NEW_ICON = getIconPath({
77
+ category: "gx-server",
78
+ name: "new"
79
+ });
80
+ const PRIVATE_ICON = getIconPath({
81
+ category: "gx-server",
82
+ name: "private"
83
+ });
84
+ const RESET_ICON = getIconPath({
85
+ category: "gemini-tools",
86
+ name: "reset",
87
+ colorType: "primary"
88
+ });
89
+ const SEARCH_ICON = getIconPath({
90
+ category: "gemini-tools",
91
+ name: "search",
92
+ colorType: "on-surface"
93
+ });
94
+ const GxIdeTeamDevHistory$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeTeamDevHistory extends HTMLElement {
95
+ constructor() {
96
+ super();
97
+ this.__registerHost();
98
+ this.__attachShadow();
99
+ _GxIdeTeamDevHistory__componentLocale.set(this, void 0);
100
+ _GxIdeTeamDevHistory_types.set(this, []);
101
+ _GxIdeTeamDevHistory_fromEl.set(this, void 0);
102
+ _GxIdeTeamDevHistory_revisionEl.set(this, void 0);
103
+ _GxIdeTeamDevHistory_searchEl.set(this, void 0);
104
+ _GxIdeTeamDevHistory_toEl.set(this, void 0);
105
+ _GxIdeTeamDevHistory_typesEl.set(this, void 0);
106
+ _GxIdeTeamDevHistory_userEl.set(this, void 0);
107
+ _GxIdeTeamDevHistory_sidebarEl.set(this, void 0);
108
+ _GxIdeTeamDevHistory_revisionsGridEl.set(this, void 0);
109
+ _GxIdeTeamDevHistory_getIconState.set(this, (state) => {
110
+ let icon = h("ch-image", { src: PRIVATE_ICON, class: "icon-sm" });
111
+ switch (state) {
112
+ case "Inserted":
113
+ icon = h("ch-image", { src: NEW_ICON, class: "icon-sm" });
114
+ break;
115
+ case "Modified":
116
+ icon = h("ch-image", { src: CHANGES_PENDING_ICON, class: "icon-sm" });
117
+ break;
118
+ case "Deleted":
119
+ icon = h("ch-image", { src: DELETED_ICON, class: "icon-sm" });
120
+ break;
121
+ }
122
+ return icon;
123
+ });
124
+ _GxIdeTeamDevHistory_getObjectsFromVersion.set(this, async (versionId) => {
125
+ var _a;
126
+ this.loading = true;
127
+ const filters = {
128
+ search: __classPrivateFieldGet(this, _GxIdeTeamDevHistory_searchEl, "f").value ? __classPrivateFieldGet(this, _GxIdeTeamDevHistory_searchEl, "f").value : "",
129
+ from: __classPrivateFieldGet(this, _GxIdeTeamDevHistory_fromEl, "f").value ? new Date(__classPrivateFieldGet(this, _GxIdeTeamDevHistory_fromEl, "f").value) : null,
130
+ to: __classPrivateFieldGet(this, _GxIdeTeamDevHistory_toEl, "f").value ? new Date(__classPrivateFieldGet(this, _GxIdeTeamDevHistory_toEl, "f").value) : null,
131
+ revision: __classPrivateFieldGet(this, _GxIdeTeamDevHistory_revisionEl, "f").value ? __classPrivateFieldGet(this, _GxIdeTeamDevHistory_revisionEl, "f").value : "",
132
+ user: __classPrivateFieldGet(this, _GxIdeTeamDevHistory_userEl, "f").value ? __classPrivateFieldGet(this, _GxIdeTeamDevHistory_userEl, "f").value : "",
133
+ type: __classPrivateFieldGet(this, _GxIdeTeamDevHistory_typesEl, "f").value === "all" ? "" : __classPrivateFieldGet(this, _GxIdeTeamDevHistory_typesEl, "f").value
134
+ };
135
+ this.objects = await this.loadCallback(filters, versionId);
136
+ await __classPrivateFieldGet(this, _GxIdeTeamDevHistory_getSelectedRevision, "f").call(this, (_a = this.objects[0]) === null || _a === void 0 ? void 0 : _a.id);
137
+ this.loading = false;
138
+ });
139
+ _GxIdeTeamDevHistory_getSelectedRevision.set(this, async (revisionId) => {
140
+ if (revisionId) {
141
+ this.historyDetail = await this.loadDetailCallback(revisionId);
142
+ this.selectedRevisionId = revisionId;
143
+ }
144
+ else {
145
+ this.historyDetail = null;
146
+ }
147
+ });
148
+ _GxIdeTeamDevHistory_registerGridContextMenuListener.set(this, () => {
149
+ if (__classPrivateFieldGet(this, _GxIdeTeamDevHistory_revisionsGridEl, "f")) {
150
+ __classPrivateFieldGet(this, _GxIdeTeamDevHistory_revisionsGridEl, "f").addEventListener("contextmenu", (ev) => {
151
+ ev.preventDefault();
152
+ ev.stopPropagation();
153
+ __classPrivateFieldGet(this, _GxIdeTeamDevHistory_gridContextMenuCallbackHandler, "f").call(this, ev);
154
+ });
155
+ }
156
+ });
157
+ _GxIdeTeamDevHistory_gridContextMenuCallbackHandler.set(this, async (ev) => {
158
+ this.gridContextMenuCallback({
159
+ selection: [this.selectedRevisionId],
160
+ clientX: ev.clientX,
161
+ clientY: ev.clientY
162
+ });
163
+ });
164
+ _GxIdeTeamDevHistory_toggleFiltersHandler.set(this, () => {
165
+ this.filtersHidden = !this.filtersHidden;
166
+ });
167
+ _GxIdeTeamDevHistory_renderCommitsGrid.set(this, () => {
168
+ var _a;
169
+ const tabularGridEmpty = ((_a = this.objects) === null || _a === void 0 ? void 0 : _a.length) === 0 || !this.objects;
170
+ return (h("ch-tabular-grid", { class: {
171
+ "commits-grid": true,
172
+ "tabular-grid": true,
173
+ "tabular-grid--empty": tabularGridEmpty
174
+ }, onSelectionChanged: (ev) => {
175
+ this.objects.length > 0 &&
176
+ __classPrivateFieldGet(this, _GxIdeTeamDevHistory_getSelectedRevision, "f").call(this, ev.detail.rowsId[0]);
177
+ }, ref: (el) => {
178
+ var _a;
179
+ if (el && __classPrivateFieldGet(this, _GxIdeTeamDevHistory_revisionsGridEl, "f") !== el) {
180
+ __classPrivateFieldSet(this, _GxIdeTeamDevHistory_revisionsGridEl, el, "f");
181
+ __classPrivateFieldGet(this, _GxIdeTeamDevHistory_registerGridContextMenuListener, "f").call(this);
182
+ if (this.objects.length > 0) {
183
+ __classPrivateFieldGet(this, _GxIdeTeamDevHistory_revisionsGridEl, "f").selectRow((_a = this.objects[0]) === null || _a === void 0 ? void 0 : _a.id, true);
184
+ }
185
+ }
186
+ } }, h("ch-tabular-grid-columnset", { class: "tabular-grid-column-set" }, h("ch-tabular-grid-column", { "column-name": __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").mainGrid.columns.id, "column-name-position": "text", class: "tabular-grid-column", settingable: false, size: "max-content" }), h("ch-tabular-grid-column", { "column-name": __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").mainGrid.columns.comment, "column-name-position": "text", class: "tabular-grid-column", settingable: false, size: "1fr" }), h("ch-tabular-grid-column", { "column-name": __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").mainGrid.columns.user, "column-name-position": "text", class: "tabular-grid-column", settingable: false, size: "max-content" }), h("ch-tabular-grid-column", { "column-name": __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").mainGrid.columns.commitDate, "column-name-position": "text", class: "tabular-grid-column", settingable: false, size: "max-content" })), this.objects.length > 0 ? (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, this.objects.map((obj) => (h("ch-tabular-grid-row", { rowid: obj.id, key: obj.id, class: "tabular-grid-row" }, h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, obj.id), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, obj.comment), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, obj.user), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, `${formatDate(obj.commitDate, "date-time")}`)))))) : (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, h("ch-tabular-grid-rowset-empty", null, h("gx-ide-empty-state", { stateTitle: __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").emptyRevisionsText, isAnimated: true })))), h("ch-tabular-grid-row", { class: "tabular-grid-row" })));
187
+ });
188
+ _GxIdeTeamDevHistory_renderAffectedObjectsGrid.set(this, () => {
189
+ var _a;
190
+ const iterable = this.historyDetail ? this.historyDetail.objects : [];
191
+ const tabularGridEmpty = ((_a = this.historyDetail) === null || _a === void 0 ? void 0 : _a.objects.length) === 0 || !this.historyDetail;
192
+ return (h("ch-tabular-grid", { class: {
193
+ "affected-objects-grid": true,
194
+ "tabular-grid": true,
195
+ "tabular-grid--empty": tabularGridEmpty
196
+ } }, h("ch-tabular-grid-columnset", { class: "tabular-grid-column-set" }, h("ch-tabular-grid-column", { "column-name-position": "text", class: "tabular-grid-column", settingable: false, size: "max-content" }), h("ch-tabular-grid-column", { "column-name-position": "text", class: "tabular-grid-column", settingable: false, size: config.tabularGrid.colSize.auto }), h("ch-tabular-grid-column", { "column-name": __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").affectedObjectsGrid.columns.name, "column-name-position": "text", class: "tabular-grid-column", settingable: false, size: "max-content" }), h("ch-tabular-grid-column", { "column-name": __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").affectedObjectsGrid.columns.types, "column-name-position": "text", class: "tabular-grid-column", settingable: false, size: "max-content" }), h("ch-tabular-grid-column", { "column-name": __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").affectedObjectsGrid.columns.description, "column-name-position": "text", class: "tabular-grid-column", settingable: false, size: "1fr" }), h("ch-tabular-grid-column", { "column-name": __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").affectedObjectsGrid.columns.action, "column-name-position": "text", class: "tabular-grid-column", settingable: false, size: "max-content" })), this.historyDetail && this.historyDetail.objects.length > 0 ? (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, iterable.map((obj) => (h("ch-tabular-grid-row", { class: "tabular-grid-row" }, h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, h("ch-image", { src: obj.typeIcon, class: "icon-md" })), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, __classPrivateFieldGet(this, _GxIdeTeamDevHistory_getIconState, "f").call(this, obj.state)), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, obj.name), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, obj.type), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, obj.description), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, obj.action)))))) : (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, h("ch-tabular-grid-rowset-empty", null, h("gx-ide-empty-state", { stateIconSrc: FILTER_ICON, stateTitle: __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").emptyHistoryDetailText, isAnimated: true })))), h("ch-tabular-grid-row", { class: "tabular-grid-row" })));
197
+ });
198
+ _GxIdeTeamDevHistory_renderLoader.set(this, () => {
199
+ return (this.loading && (h("div", { class: "main__content scrollable" }, h("gx-ide-loader", { loaderTitle: __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").loader.title, show: true, description: __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").loader.description }))));
200
+ });
201
+ this.historyDetail = undefined;
202
+ this.objects = [];
203
+ this.isFirstLoad = true;
204
+ this.sidebarExpanded = true;
205
+ this.filtersHidden = true;
206
+ this.loading = true;
207
+ this.selectedRevisionId = undefined;
208
+ this.hasActiveVersion = false;
209
+ this.types = undefined;
210
+ this.itemContextMenuCallback = undefined;
211
+ this.gridContextMenuCallback = undefined;
212
+ this.selectedVersionId = undefined;
213
+ this.versions = [];
214
+ this.loadCallback = undefined;
215
+ this.loadDetailCallback = undefined;
216
+ this.selectedVersionChangeCallback = undefined;
217
+ }
218
+ async selectedVersionIdChanged(newSelectedVersionId) {
219
+ var _a;
220
+ this.selectedVersionId = newSelectedVersionId;
221
+ // Reset filters
222
+ __classPrivateFieldGet(this, _GxIdeTeamDevHistory_searchEl, "f").value = null;
223
+ __classPrivateFieldGet(this, _GxIdeTeamDevHistory_fromEl, "f").value = null;
224
+ __classPrivateFieldGet(this, _GxIdeTeamDevHistory_toEl, "f").value = null;
225
+ __classPrivateFieldGet(this, _GxIdeTeamDevHistory_revisionEl, "f").value = null;
226
+ __classPrivateFieldGet(this, _GxIdeTeamDevHistory_userEl, "f").value = null;
227
+ __classPrivateFieldGet(this, _GxIdeTeamDevHistory_typesEl, "f").value = (_a = __classPrivateFieldGet(this, _GxIdeTeamDevHistory_types, "f")[0]) === null || _a === void 0 ? void 0 : _a.value;
228
+ await __classPrivateFieldGet(this, _GxIdeTeamDevHistory_getObjectsFromVersion, "f").call(this, newSelectedVersionId);
229
+ }
230
+ async versionsListChanged(newVersionsList) {
231
+ this.versions = newVersionsList;
232
+ this.hasActiveVersion = hasActiveVersionInList(newVersionsList);
233
+ if (newVersionsList.length > 0 &&
234
+ this.selectedVersionId &&
235
+ this.isFirstLoad) {
236
+ await __classPrivateFieldGet(this, _GxIdeTeamDevHistory_getObjectsFromVersion, "f").call(this, this.selectedVersionId);
237
+ this.isFirstLoad = false;
238
+ }
239
+ }
240
+ async componentWillLoad() {
241
+ __classPrivateFieldSet(this, _GxIdeTeamDevHistory__componentLocale, await Locale.getComponentStrings(this.el), "f");
242
+ __classPrivateFieldSet(this, _GxIdeTeamDevHistory_types, mapObjectTypeToComboBoxItemModel(this.types), "f");
243
+ }
244
+ async componentDidLoad() {
245
+ __classPrivateFieldGet(this, _GxIdeTeamDevHistory_sidebarEl, "f").addEventListener("expandedChange", (e) => {
246
+ this.sidebarExpanded = e.detail;
247
+ });
248
+ }
249
+ render() {
250
+ var _a;
251
+ return (h(Host, { class: "widget" }, h("ch-theme", { model: CSS_BUNDLES }), h("ch-sidebar", { ref: (el) => (__classPrivateFieldSet(this, _GxIdeTeamDevHistory_sidebarEl, el, "f")), class: "sidebar", expanded: this.sidebarExpanded, expandButtonCollapseAccessibleName: __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").sidebar.collapseAriaLabel, expandButtonExpandAccessibleName: __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").sidebar.expandAriaLabel, showExpandButton: true }, h("gx-ide-select-kb-items", { class: {
252
+ "sidebar-expanded": this.sidebarExpanded,
253
+ "has-active-version": this.hasActiveVersion
254
+ }, checkboxType: "none", itemsList: this.versions, expandOnClick: false, selectionChanged: this.selectedVersionChangeCallback, itemContextMenuCallback: this.itemContextMenuCallback })), h("main", { class: "main spacing-body-block-start spacing-body-inline" }, h("div", { class: "main__header" }, h("div", { class: "search-filter" }, h("div", { class: "field field-inline" }, h("label", { class: "label", htmlFor: "search" }, __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").filters.search), h("ch-edit", { value: "", class: "input", startImgSrc: SEARCH_ICON, part: "search", id: "search", ref: (el) => (__classPrivateFieldSet(this, _GxIdeTeamDevHistory_searchEl, el, "f")) })), h("button", { id: "filter-toggle-button", class: "button-teritary button-icon-only", "aria-label": __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").searchFilter.filterAriaLabel, "aria-expanded": this.filtersHidden ? "false" : "true", "aria-controls": "filters-container", onClick: () => __classPrivateFieldGet(this, _GxIdeTeamDevHistory_toggleFiltersHandler, "f").call(this) }, h("ch-image", { class: "icon-md", src: FILTER_ICON_PRIMARY })), h("button", { class: "button-teritary button-icon-only", "aria-label": __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").searchFilter.reloadAriaLabel, onClick: () => __classPrivateFieldGet(this, _GxIdeTeamDevHistory_getObjectsFromVersion, "f").call(this, this.selectedVersionId), part: __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").searchFilter.reloadAriaLabel }, h("ch-image", { class: "icon-md", src: RESET_ICON }))), h("div", { id: "filters-container", "aria-labelledby": "filter-toggle-button", class: {
255
+ "filters-container-visible": !this.filtersHidden,
256
+ "filters-container": true
257
+ }, inert: this.filtersHidden, hidden: this.filtersHidden }, h("div", null, h("div", { class: "filters-grid" }, h("div", { class: "field field-block field-from" }, h("label", { class: "label", htmlFor: "from" }, __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").filters.from), h("ch-edit", { value: "", class: "input", type: "date", part: "from", id: "from", ref: (el) => (__classPrivateFieldSet(this, _GxIdeTeamDevHistory_fromEl, el, "f")) })), h("div", { class: "field field-block field-to" }, h("label", { class: "label", htmlFor: "to" }, __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").filters.to), h("ch-edit", { value: "", class: "input", type: "date", id: "to", ref: (el) => (__classPrivateFieldSet(this, _GxIdeTeamDevHistory_toEl, el, "f")) })), h("div", { class: "field field-block field-type" }, h("label", { class: "label", htmlFor: "type" }, __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").filters.type), h("ch-combo-box-render", { accessibleName: "types", class: "combo-box", part: "type", model: __classPrivateFieldGet(this, _GxIdeTeamDevHistory_types, "f"), value: (_a = __classPrivateFieldGet(this, _GxIdeTeamDevHistory_types, "f")[0]) === null || _a === void 0 ? void 0 : _a.value, ref: (el) => (__classPrivateFieldSet(this, _GxIdeTeamDevHistory_typesEl, el, "f")) })), h("div", { class: "field field-block field-user" }, h("label", { class: "label", htmlFor: "user" }, __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").filters.user), h("ch-edit", { value: "", part: "user", class: "input", id: "user", ref: (el) => (__classPrivateFieldSet(this, _GxIdeTeamDevHistory_userEl, el, "f")) })), h("div", { class: "field field-block field-revision" }, h("label", { class: "label", htmlFor: "revision" }, __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").filters.revision), h("ch-edit", { value: "", part: "revision", class: "input", id: "revision", ref: (el) => (__classPrivateFieldSet(this, _GxIdeTeamDevHistory_revisionEl, el, "f")) })))))), __classPrivateFieldGet(this, _GxIdeTeamDevHistory_renderLoader, "f").call(this), !this.loading && (h("div", { class: "main__content scrollable" }, __classPrivateFieldGet(this, _GxIdeTeamDevHistory_renderCommitsGrid, "f").call(this), h("div", { class: "field field-block" }, h("label", { class: "label", htmlFor: "comment-area" }, this.historyDetail ? this.historyDetail.title : null), h("ch-edit", { class: "input comment-text-area", value: this.historyDetail ? this.historyDetail.comment : null, multiline: true, autoGrow: true, readonly: true, part: "comment-area", id: "comment-area" })), __classPrivateFieldGet(this, _GxIdeTeamDevHistory_renderAffectedObjectsGrid, "f").call(this))))));
258
+ }
259
+ static get assetsDirs() { return ["gx-ide-assets/team-dev-history"]; }
260
+ get el() { return this; }
261
+ static get watchers() { return {
262
+ "selectedVersionId": ["selectedVersionIdChanged"],
263
+ "versions": ["versionsListChanged"]
264
+ }; }
265
+ static get style() { return historyCss; }
266
+ }, [1, "gx-ide-team-dev-history", {
267
+ "types": [16],
268
+ "itemContextMenuCallback": [16],
269
+ "gridContextMenuCallback": [16],
270
+ "selectedVersionId": [1025, "selected-version-id"],
271
+ "versions": [1040],
272
+ "loadCallback": [16],
273
+ "loadDetailCallback": [16],
274
+ "selectedVersionChangeCallback": [16],
275
+ "historyDetail": [32],
276
+ "objects": [32],
277
+ "isFirstLoad": [32],
278
+ "sidebarExpanded": [32],
279
+ "filtersHidden": [32],
280
+ "loading": [32],
281
+ "selectedRevisionId": [32],
282
+ "hasActiveVersion": [32]
283
+ }, undefined, {
284
+ "selectedVersionId": ["selectedVersionIdChanged"],
285
+ "versions": ["versionsListChanged"]
286
+ }]);
287
+ _GxIdeTeamDevHistory__componentLocale = new WeakMap(), _GxIdeTeamDevHistory_types = new WeakMap(), _GxIdeTeamDevHistory_fromEl = new WeakMap(), _GxIdeTeamDevHistory_revisionEl = new WeakMap(), _GxIdeTeamDevHistory_searchEl = new WeakMap(), _GxIdeTeamDevHistory_toEl = new WeakMap(), _GxIdeTeamDevHistory_typesEl = new WeakMap(), _GxIdeTeamDevHistory_userEl = new WeakMap(), _GxIdeTeamDevHistory_sidebarEl = new WeakMap(), _GxIdeTeamDevHistory_revisionsGridEl = new WeakMap(), _GxIdeTeamDevHistory_getIconState = new WeakMap(), _GxIdeTeamDevHistory_getObjectsFromVersion = new WeakMap(), _GxIdeTeamDevHistory_getSelectedRevision = new WeakMap(), _GxIdeTeamDevHistory_registerGridContextMenuListener = new WeakMap(), _GxIdeTeamDevHistory_gridContextMenuCallbackHandler = new WeakMap(), _GxIdeTeamDevHistory_toggleFiltersHandler = new WeakMap(), _GxIdeTeamDevHistory_renderCommitsGrid = new WeakMap(), _GxIdeTeamDevHistory_renderAffectedObjectsGrid = new WeakMap(), _GxIdeTeamDevHistory_renderLoader = new WeakMap();
288
+ function defineCustomElement$1() {
289
+ if (typeof customElements === "undefined") {
290
+ return;
291
+ }
292
+ const components = ["gx-ide-team-dev-history", "gx-ide-empty-state", "gx-ide-loader", "gx-ide-select-kb-items"];
293
+ components.forEach(tagName => { switch (tagName) {
294
+ case "gx-ide-team-dev-history":
295
+ if (!customElements.get(tagName)) {
296
+ customElements.define(tagName, GxIdeTeamDevHistory$1);
297
+ }
298
+ break;
299
+ case "gx-ide-empty-state":
300
+ if (!customElements.get(tagName)) {
301
+ defineCustomElement$4();
302
+ }
303
+ break;
304
+ case "gx-ide-loader":
305
+ if (!customElements.get(tagName)) {
306
+ defineCustomElement$3();
307
+ }
308
+ break;
309
+ case "gx-ide-select-kb-items":
310
+ if (!customElements.get(tagName)) {
311
+ defineCustomElement$2();
312
+ }
313
+ break;
314
+ } });
315
+ }
316
+
317
+ const GxIdeTeamDevHistory = GxIdeTeamDevHistory$1;
318
+ const defineCustomElement = defineCustomElement$1;
319
+
320
+ export { GxIdeTeamDevHistory, defineCustomElement };
321
+
322
+ //# sourceMappingURL=gx-ide-team-dev-history.js.map
@@ -0,0 +1 @@
1
+ {"file":"gx-ide-team-dev-history.js","mappings":"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","names":["GxIdeTeamDevHistory"],"sources":["src/components/team-dev/history/helpers.ts","src/components/team-dev/history/history.scss?tag=gx-ide-team-dev-history&encapsulation=shadow","src/components/team-dev/history/history.tsx"],"sourcesContent":["import { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\nimport { ObjectType, GxOption } from \"../../../common/types\";\nimport { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\nimport { ItemNode } from \"../../select-kb-items/select-kb-items\";\n\nexport const mapObjectTypeToComboBoxItemModel = (\n objectTypeModel: ObjectType[]\n): ComboBoxItemModel[] =>\n objectTypeModel.map(objectType => ({\n value: objectType.id,\n caption: objectType.name,\n startImgSrc: objectType.icon\n }));\n\nexport const mapCategoryToComboBoxItemModel = (\n categoryModel: GxOption[]\n): ComboBoxModel =>\n categoryModel.map(category => ({\n value: category.id,\n caption: category.label\n }));\n\nconst hasActiveNode = (node: any): boolean => {\n if (node.active) {\n return true;\n }\n if (Array.isArray(node.nodes)) {\n return node.nodes.some(hasActiveNode);\n }\n return false;\n};\n\nexport const hasActiveVersionInList = (versionsList: ItemNode[]): boolean => {\n return versionsList.some(hasActiveNode);\n};\n","@import \"../../../../node_modules/@genexus/mercury/dist/assets/scss/helpers.scss\";\n\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"],"version":3}
@@ -66,7 +66,7 @@ const GxIdeTeamDevUpdate$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeTeamDev
66
66
  }
67
67
  };
68
68
  this.renderOptions = () => {
69
- return (h("div", { class: "options-wrapper" }, h("gx-ide-container", { part: "options-update-from", containerTitle: this._componentLocale.options.updateFrom, titleType: "secondary", contentBorderEnd: true, noContentPadding: true }, h("gx-ide-list-selector", { type: "single-selection", listName: "commit-recent-messages", readonly: true, noListBorder: true }, h("gx-ide-list-selector-item", { icon: "window-tools/genexus-cloud", itemId: "genexus-server", itemValue: undefined, class: "genexus-server", onClick: this.genexusServerUrlHandler }, `${this._componentLocale.options.updateFrom}:`, h("gxg-text", { type: "text-link" }, this.updateFrom ? this.updateFrom.serverUrl : "")), h("gx-ide-list-selector-item", { icon: "general/knowledge-base", itemId: "knowledge-base", itemValue: `${this._componentLocale.options.knowledgeBase}: ${this.updateFrom ? this.updateFrom.kbName : ""}` }), h("gx-ide-list-selector-item", { icon: "general/version", itemId: "version", itemValue: `${this._componentLocale.options.version}: ${this.updateFrom ? this.updateFrom.versionName : ""}` }), h("gx-ide-list-selector-item", { icon: "window-tools/last-changes-view", itemId: "last-full-update", itemValue: `${this._componentLocale.options.lastFullUpdate}:${formatDate(this.updateFrom.lastFullUpdate)}` }))), h("gx-ide-container", { part: "options-scope", containerTitle: this._componentLocale.options.scope, titleType: "secondary" }, h("div", { class: "scope" }, h("div", { class: "row" }, h("gxg-label", { labelPosition: "start", center: true, noMargin: true }, this._componentLocale.options.objects, ":"), h("span", { class: {
69
+ return (h("div", { class: "options-wrapper" }, h("gx-ide-container", { part: "options-update-from", containerTitle: this._componentLocale.options.updateFrom, titleType: "secondary", contentBorderEnd: true, noContentPadding: true }, h("gx-ide-list-selector", { type: "single-selection", listName: "commit-recent-messages", readonly: true, noListBorder: true }, h("gx-ide-list-selector-item", { icon: "window-tools/genexus-cloud", itemId: "genexus-server", itemValue: undefined, class: "genexus-server", onClick: this.genexusServerUrlHandler }, `${this._componentLocale.options.updateFrom}:`, h("gxg-text", { type: "text-link" }, this.updateFrom ? this.updateFrom.serverUrl : "")), h("gx-ide-list-selector-item", { icon: "general/knowledge-base", itemId: "knowledge-base", itemValue: `${this._componentLocale.options.knowledgeBase}: ${this.updateFrom ? this.updateFrom.kbName : ""}` }), h("gx-ide-list-selector-item", { icon: "general/version", itemId: "version", itemValue: `${this._componentLocale.options.version}: ${this.updateFrom ? this.updateFrom.versionName : ""}` }), h("gx-ide-list-selector-item", { icon: "window-tools/last-changes-view", itemId: "last-full-update", itemValue: `${this._componentLocale.options.lastFullUpdate}: ${formatDate(this.updateFrom.lastFullUpdate)}` }))), h("gx-ide-container", { part: "options-scope", containerTitle: this._componentLocale.options.scope, titleType: "secondary" }, h("div", { class: "scope" }, h("div", { class: "row" }, h("gxg-label", { labelPosition: "start", center: true, noMargin: true }, this._componentLocale.options.objects, ":"), h("span", { class: {
70
70
  bold: this.objectScopeText === "partial",
71
71
  value: true
72
72
  } }, this._componentLocale.options.scopeData.objects[this.objectScopeText.toLocaleLowerCase()]), h("gxg-text", { type: "text-link", onClick: this.objectsScope, part: "gxg-button gxg-button--scope-objects-change" }, this._componentLocale.options.changeBtn)), h("div", { class: "row" }, h("gxg-label", { labelPosition: "start", center: true, noMargin: true }, this._componentLocale.options.revision, ":"), h("span", { class: {