@genexus/genexus-ide-ui 1.0.4 → 1.0.6

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 (96) hide show
  1. package/dist/cjs/assets-manager-64c42a1e.js.map +1 -1
  2. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  3. package/dist/cjs/gx-ide-empty-state.cjs.entry.js +3 -2
  4. package/dist/cjs/gx-ide-empty-state.cjs.entry.js.map +1 -1
  5. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +272 -293
  6. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
  7. package/dist/cjs/gx-ide-loader.cjs.entry.js +1 -1
  8. package/dist/cjs/gx-ide-loader.cjs.entry.js.map +1 -1
  9. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +38 -5
  10. package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
  11. package/dist/cjs/gx-ide-recent-news.cjs.entry.js +1 -1
  12. package/dist/cjs/gx-ide-recent-news.cjs.entry.js.map +1 -1
  13. package/dist/cjs/gx-ide-start-page.cjs.entry.js +4 -3
  14. package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
  15. package/dist/cjs/loader.cjs.js +1 -1
  16. package/dist/collection/collection-manifest.json +1 -1
  17. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.css +5 -1
  18. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.js +20 -1
  19. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.js.map +1 -1
  20. package/dist/collection/components/_helpers/ide-loader/ide-loader.css +2 -2
  21. package/dist/collection/components/kb-manager-export/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.en.json +3 -3
  22. package/dist/collection/components/kb-manager-export/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.ja.json +4 -4
  23. package/dist/collection/components/kb-manager-export/helpers.js +64 -105
  24. package/dist/collection/components/kb-manager-export/helpers.js.map +1 -1
  25. package/dist/collection/components/kb-manager-export/kb-manager-export.css +14 -620
  26. package/dist/collection/components/kb-manager-export/kb-manager-export.js +345 -377
  27. package/dist/collection/components/kb-manager-export/kb-manager-export.js.map +1 -1
  28. package/dist/collection/components/kb-manager-export/types.js +2 -0
  29. package/dist/collection/components/kb-manager-export/types.js.map +1 -0
  30. package/dist/collection/components/object-selector/object-selector.css +4 -598
  31. package/dist/collection/components/object-selector/object-selector.js +37 -4
  32. package/dist/collection/components/object-selector/object-selector.js.map +1 -1
  33. package/dist/collection/components/start-page/recent-news.js +1 -1
  34. package/dist/collection/components/start-page/recent-news.js.map +1 -1
  35. package/dist/collection/components/start-page/start-page.js +4 -3
  36. package/dist/collection/components/start-page/start-page.js.map +1 -1
  37. package/dist/components/assets-manager.js.map +1 -1
  38. package/dist/components/gx-ide-empty-state2.js +4 -2
  39. package/dist/components/gx-ide-empty-state2.js.map +1 -1
  40. package/dist/components/gx-ide-kb-manager-export.js +294 -314
  41. package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
  42. package/dist/components/gx-ide-object-selector.js +38 -5
  43. package/dist/components/gx-ide-object-selector.js.map +1 -1
  44. package/dist/components/gx-ide-start-page.js +4 -3
  45. package/dist/components/gx-ide-start-page.js.map +1 -1
  46. package/dist/components/ide-loader.js +1 -1
  47. package/dist/components/ide-loader.js.map +1 -1
  48. package/dist/components/recent-news.js +1 -1
  49. package/dist/components/recent-news.js.map +1 -1
  50. package/dist/esm/assets-manager-120996e9.js.map +1 -1
  51. package/dist/esm/genexus-ide-ui.js +1 -1
  52. package/dist/esm/gx-ide-empty-state.entry.js +3 -2
  53. package/dist/esm/gx-ide-empty-state.entry.js.map +1 -1
  54. package/dist/esm/gx-ide-kb-manager-export.entry.js +273 -294
  55. package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
  56. package/dist/esm/gx-ide-loader.entry.js +1 -1
  57. package/dist/esm/gx-ide-loader.entry.js.map +1 -1
  58. package/dist/esm/gx-ide-object-selector.entry.js +38 -5
  59. package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
  60. package/dist/esm/gx-ide-recent-news.entry.js +1 -1
  61. package/dist/esm/gx-ide-recent-news.entry.js.map +1 -1
  62. package/dist/esm/gx-ide-start-page.entry.js +4 -3
  63. package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
  64. package/dist/esm/loader.js +1 -1
  65. package/dist/genexus-ide-ui/genexus-ide-ui.css +7 -0
  66. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  67. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  68. package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.en.json +3 -3
  69. package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.ja.json +4 -4
  70. package/dist/genexus-ide-ui/p-3824978b.entry.js +525 -0
  71. package/dist/genexus-ide-ui/p-3824978b.entry.js.map +1 -0
  72. package/dist/genexus-ide-ui/{p-f924f02a.entry.js → p-64101478.entry.js} +2 -2
  73. package/dist/genexus-ide-ui/p-64101478.entry.js.map +1 -0
  74. package/dist/genexus-ide-ui/p-69e879be.entry.js +495 -0
  75. package/dist/genexus-ide-ui/p-69e879be.entry.js.map +1 -0
  76. package/dist/genexus-ide-ui/p-6df9fab1.js.map +1 -1
  77. package/dist/genexus-ide-ui/{p-f220c75a.entry.js → p-885302c2.entry.js} +11 -6
  78. package/dist/genexus-ide-ui/p-885302c2.entry.js.map +1 -0
  79. package/dist/genexus-ide-ui/{p-eb49e4f1.entry.js → p-8ff5da93.entry.js} +36 -31
  80. package/dist/genexus-ide-ui/p-8ff5da93.entry.js.map +1 -0
  81. package/dist/genexus-ide-ui/{p-dd07e68a.entry.js → p-a6b76120.entry.js} +2 -2
  82. package/dist/genexus-ide-ui/p-a6b76120.entry.js.map +1 -0
  83. package/dist/types/components/_helpers/empty-state/gx-ide-empty-state.d.ts +4 -0
  84. package/dist/types/components/kb-manager-export/helpers.d.ts +33 -5
  85. package/dist/types/components/kb-manager-export/kb-manager-export.d.ts +36 -98
  86. package/dist/types/components/kb-manager-export/types.d.ts +21 -0
  87. package/dist/types/components.d.ts +16 -40
  88. package/package.json +6 -6
  89. package/dist/genexus-ide-ui/p-b3baa3d2.entry.js +0 -491
  90. package/dist/genexus-ide-ui/p-b3baa3d2.entry.js.map +0 -1
  91. package/dist/genexus-ide-ui/p-b7384b06.entry.js +0 -507
  92. package/dist/genexus-ide-ui/p-b7384b06.entry.js.map +0 -1
  93. package/dist/genexus-ide-ui/p-dd07e68a.entry.js.map +0 -1
  94. package/dist/genexus-ide-ui/p-eb49e4f1.entry.js.map +0 -1
  95. package/dist/genexus-ide-ui/p-f220c75a.entry.js.map +0 -1
  96. package/dist/genexus-ide-ui/p-f924f02a.entry.js.map +0 -1
@@ -0,0 +1,525 @@
1
+ import { r as t, a as e, h as i, H as s, g as a } from "./p-aaed592c.js";
2
+
3
+ import { g as l } from "./p-6df9fab1.js";
4
+
5
+ import { L as o } from "./p-74d59062.js";
6
+
7
+ import { c as r } from "./p-8cf892b5.js";
8
+
9
+ import { a as n } from "./p-14e6ef41.js";
10
+
11
+ import { F as c } from "./p-13feb5cf.js";
12
+
13
+ // - - - - - - - - - - - -
14
+ // Data Mappings
15
+ // - - - - - - - - - - - -
16
+ // ch-combo-box-render
17
+ const mapObjectTypeToComboBoxItemModel = t => t.map((t => ({
18
+ value: t.id,
19
+ caption: t.name
20
+ })));
21
+
22
+ const mapCategoryToComboBoxItemModel = t => t.map((t => ({
23
+ value: t.id,
24
+ caption: t.label
25
+ })));
26
+
27
+ const d = ':host{block-size:100%;display:grid;grid-template-rows:auto 1fr auto;overflow:auto}.section{display:contents}.filter-layout{grid-template:"pattern type" "category module" "modified modified";grid-template-columns:1fr 1fr}.pattern{grid-area:pattern}.type{grid-area:type}.category{grid-area:category}.module{grid-area:module}.modified-accordion{grid-area:modified;display:flex;flex-direction:column}.field-group-modified{grid-template-columns:1fr 1fr 1fr}gx-ide-container::part(content){display:grid}ch-tabular-grid{overflow:auto}.tabular-grid-object-selector 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;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.objects-count{display:grid;grid-template-columns:1fr 1fr;border-block-start:var(--mer-border__width--sm) solid var(--mer-color__elevation--04)}.objects-selected,.objects-matching{padding-block-end:var(--mer-spacing--xs)}ch-tabular-grid-rowset-empty{position:relative}ch-tabular-grid.empty-result::part(main){overflow:hidden}input::-webkit-datetime-edit-fields-wrapper{padding:none}';
28
+
29
+ var h = undefined && undefined.__classPrivateFieldGet || function(t, e, i, s) {
30
+ if (i === "a" && !s) throw new TypeError("Private accessor was defined without a getter");
31
+ if (typeof e === "function" ? t !== e || !s : !e.has(t)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
32
+ return i === "m" ? s : i === "a" ? s.call(t) : s ? s.value : e.get(t);
33
+ };
34
+
35
+ var f = undefined && undefined.__classPrivateFieldSet || function(t, e, i, s, a) {
36
+ if (s === "m") throw new TypeError("Private method is not writable");
37
+ if (s === "a" && !a) throw new TypeError("Private accessor was defined without a setter");
38
+ if (typeof e === "function" ? t !== e || !a : !e.has(t)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
39
+ return s === "a" ? a.call(t, i) : a ? a.value = i : e.set(t, i), i;
40
+ };
41
+
42
+ var u, p, b, m, g, w, v, y, k, M, x, W, j, T, C, D, _, $, z, E, F, I, P, S, N, L, K, V, A, B;
43
+
44
+ const H = [ "resets/box-sizing", "utils/form--full", "components/accordion", "components/tabular-grid", "utils/typography", "utils/layout" ];
45
+
46
+ const R = l({
47
+ category: "window-tools",
48
+ name: "filter",
49
+ colorType: "on-elevation"
50
+ });
51
+
52
+ const q = l({
53
+ category: "system",
54
+ name: "user",
55
+ colorType: "on-elevation"
56
+ });
57
+
58
+ const G = [ {
59
+ id: "modified",
60
+ caption: "Modified",
61
+ expanded: false
62
+ } ];
63
+
64
+ let J = null;
65
+
66
+ const O = class {
67
+ constructor(s) {
68
+ t(this, s);
69
+ u.set(this, void 0);
70
+ p.set(this, e(`./gx-ide-assets/object-selector/shortcuts.json`));
71
+ b.set(this, null);
72
+ /* References needed to collect data */ m.set(this, void 0);
73
+ g.set(this, void 0);
74
+ w.set(this, void 0);
75
+ v.set(this, void 0);
76
+ y.set(this, void 0);
77
+ k.set(this, void 0);
78
+ M.set(this, void 0);
79
+ x.set(this, void 0);
80
+ W.set(this, void 0);
81
+ j.set(this, (() => {
82
+ this.cancelCallback();
83
+ }));
84
+ T.set(this, (t => {
85
+ if (t.key === "Enter") {
86
+ h(this, I, "f").call(this, t);
87
+ }
88
+ }));
89
+ C.set(this, (() => {
90
+ h(this, x, "f").selectAllRows(false);
91
+ }));
92
+ D.set(this, (t => {
93
+ const e = h(this, u, "f");
94
+ if (t === "selected") {
95
+ if (this.selectedObjectsIdsArray.length === 0) {
96
+ return e.objCount.selected.none;
97
+ }
98
+ if (this.selectedObjectsIdsArray.length === 1) {
99
+ return `1 ${e.objCount.selected.one}`;
100
+ }
101
+ return `${this.selectedObjectsIdsArray.length} ${e.objCount.selected.many}`;
102
+ }
103
+ // type === "matching"
104
+ if (this.objects.length === 0) {
105
+ return e.objCount.matching.none;
106
+ }
107
+ if (this.objects.length === 1) {
108
+ return `1 ${e.objCount.matching.one}`;
109
+ }
110
+ return `${this.objects.length} ${e.objCount.matching.many}`;
111
+ }));
112
+ _.set(this, (() => {
113
+ const t = new Date;
114
+ const e = t.toISOString().split("T")[0];
115
+ const i = t.toISOString().split("T")[1].slice(0, 5);
116
+ // Only take 'HH:MM' part
117
+ return `${e}T${i}`;
118
+ }));
119
+ $.set(this, (t => {
120
+ this.modifiedAfterValue = t.detail;
121
+ if (this.modifiedAfterValue !== c.DATE_TIME || this.modifiedAfterValue === c.DATE_TIME && h(this, M, "f").value) {
122
+ // if "modified" is "after date/time" only refresh ui if date/time is valid.
123
+ h(this, P, "f").call(this);
124
+ }
125
+ }));
126
+ z.set(this, (t => {
127
+ this.selectedObjectsIdsArray = t.detail.rowsId;
128
+ }));
129
+ E.set(this, (t => {
130
+ // just prevent keypress propagation
131
+ if (t.key === "Enter") {
132
+ t.stopPropagation();
133
+ }
134
+ }));
135
+ F.set(this, (() => {
136
+ this.newObjectCallback();
137
+ }));
138
+ I.set(this, (t => {
139
+ t.stopPropagation();
140
+ this.openSelectionCallback(this.selectedObjectsIdsArray);
141
+ }));
142
+ P.set(this, (() => {
143
+ var t, e, i, s, a, l;
144
+ /* 'modified' checkbox, should only be considered if 'date' || 'user' */ const o = h(this, y, "f").value;
145
+ const r = (e = (t = h(this, k, "f")) === null || t === void 0 ? void 0 : t.value) === null || e === void 0 ? void 0 : e.trim();
146
+ const n = {
147
+ pattern: (i = h(this, m, "f")) === null || i === void 0 ? void 0 : i.value,
148
+ type: h(this, g, "f").value,
149
+ category: h(this, w, "f").value,
150
+ module: (a = (s = h(this, v, "f")) === null || s === void 0 ? void 0 : s.value) === null || a === void 0 ? void 0 : a.id,
151
+ modifiedAfter: o ? o : null,
152
+ modifiedBy: r ? r : null,
153
+ modifiedDate: o === c.DATE_TIME ? new Date((l = h(this, M, "f")) === null || l === void 0 ? void 0 : l.value) : null
154
+ };
155
+ this.loading = true;
156
+ this.objects = [];
157
+ this.loadCallback(n).then((t => {
158
+ if (t) {
159
+ this.objects = h(this, B, "f").call(this, t);
160
+ }
161
+ this.selectedObjectsIdsArray = [];
162
+ h(this, C, "f").call(this);
163
+ this.loading = false;
164
+ }));
165
+ }));
166
+ S.set(this, (() => i("header", {
167
+ class: "control-header spacing-body-inline spacing-body-block-start"
168
+ }, i("form", {
169
+ class: "field-group filter-layout"
170
+ }, i("div", {
171
+ class: "field field-block pattern"
172
+ }, i("label", {
173
+ // pattern
174
+ class: "label",
175
+ htmlFor: "pattern"
176
+ }, h(this, u, "f").filter.pattern), i("ch-edit", {
177
+ accessibleName: h(this, u, "f").filter.pattern,
178
+ debounce: r.inputDebounce,
179
+ class: "form-input",
180
+ part: "filter-pattern",
181
+ id: "pattern",
182
+ name: "pattern",
183
+ value: this.patternValue,
184
+ mode: "text",
185
+ ref: t => f(this, m, t, "f"),
186
+ onInput: h(this, P, "f")
187
+ })), i("div", {
188
+ class: "field field-block type"
189
+ }, i("label", {
190
+ // type
191
+ class: "label",
192
+ htmlFor: "type"
193
+ }, h(this, u, "f").filter.type), i("ch-combo-box-render", {
194
+ accessibleName: h(this, u, "f").filter.type,
195
+ class: "combo-box",
196
+ disabled: !this.types,
197
+ value: this.defaultType,
198
+ part: "filter-type",
199
+ id: "type",
200
+ model: mapObjectTypeToComboBoxItemModel(this.types),
201
+ ref: t => f(this, g, t, "f"),
202
+ onInput: h(this, P, "f")
203
+ })), i("div", {
204
+ class: "field field-block category"
205
+ }, i("label", {
206
+ // category
207
+ class: "label",
208
+ htmlFor: "category"
209
+ }, h(this, u, "f").filter.category), i("ch-combo-box-render", {
210
+ id: "category",
211
+ class: "combo-box",
212
+ accessibleName: h(this, u, "f").filter.category,
213
+ disabled: !this.categories,
214
+ model: mapCategoryToComboBoxItemModel(this.categories),
215
+ value: this.defaultCategory,
216
+ part: "filter-category",
217
+ onInput: this.categories && h(this, P, "f"),
218
+ ref: t => f(this, w, t, "f")
219
+ })), i("gx-ide-entity-selector", {
220
+ // module
221
+ class: "module",
222
+ id: "module",
223
+ value: this.defaultModule,
224
+ ref: t => f(this, v, t, "f"),
225
+ labelCaption: h(this, u, "f").filter.module,
226
+ labelPosition: "block-start",
227
+ onValueChanged: h(this, P, "f"),
228
+ defaultValue: this.defaultModule,
229
+ selectEntityCallback: this.selectModuleCallback
230
+ }), i("ch-accordion-render", {
231
+ // modified
232
+ class: "accordion-outlined modified-accordion",
233
+ model: G
234
+ }, i("div", {
235
+ slot: "modified",
236
+ class: "spacing-body"
237
+ }, i("div", {
238
+ class: "field-group field-group-modified"
239
+ }, i("div", {
240
+ class: "field field-block after"
241
+ }, i("label", {
242
+ // after
243
+ class: "label",
244
+ htmlFor: "after-type"
245
+ }, h(this, u, "f").filter.after), i("ch-combo-box-render", {
246
+ class: "combo-box",
247
+ value: this.modifiedAfterValue,
248
+ part: "filter-after-type",
249
+ id: "after-type",
250
+ model: h(this, b, "f"),
251
+ ref: t => f(this, y, t, "f"),
252
+ onInput: h(this, $, "f")
253
+ })), i("div", {
254
+ class: "field field-block"
255
+ }, i("label", {
256
+ // user
257
+ class: "label",
258
+ htmlFor: "user-name"
259
+ }, h(this, u, "f").filter.user), i("ch-edit", {
260
+ class: "form-input",
261
+ part: "filter-user",
262
+ value: this.patternValue,
263
+ ref: t => f(this, k, t, "f"),
264
+ id: "user-name",
265
+ name: "userName",
266
+ startImgSrc: q,
267
+ onInput: h(this, P, "f")
268
+ })), i("div", {
269
+ class: "field field-block"
270
+ }, i("label", {
271
+ // date
272
+ class: {
273
+ label: true,
274
+ "label--disabled": this.modifiedAfterValue !== "afterDateTime"
275
+ },
276
+ htmlFor: "modified-date"
277
+ }, h(this, u, "f").filter.dateTime), i("input", {
278
+ type: "datetime-local",
279
+ class: "form-input input-date-time",
280
+ id: "modified-date",
281
+ name: "modifiedDate",
282
+ part: "filter-pattern",
283
+ value: this.patternValue,
284
+ max: J,
285
+ ref: t => f(this, M, t, "f"),
286
+ disabled: this.modifiedAfterValue !== "afterDateTime",
287
+ onInput: h(this, P, "f")
288
+ })))))))));
289
+ N.set(this, (() => i("footer", {
290
+ class: "footer"
291
+ }, i("div", {
292
+ class: "control-footer control-footer-space-between objects-count spacing-body-inline",
293
+ slot: "footer-above"
294
+ }, i("p", {
295
+ class: "text-body-regular-s objects-selected",
296
+ part: "objects-selected"
297
+ }, h(this, D, "f").call(this, "selected")), i("p", {
298
+ class: "text-body-regular-s objects-matching",
299
+ part: "objects-matching"
300
+ }, h(this, D, "f").call(this, "matching"))), i("div", {
301
+ class: "control-footer-with-border control-footer-space-between spacing-body-inline spacing-body-block-end"
302
+ }, i("button", {
303
+ // button new object
304
+ class: "button-secondary",
305
+ part: "button button-new",
306
+ onClick: !this.loading ? h(this, F, "f") : undefined,
307
+ disabled: this.loading
308
+ }, h(this, u, "f").footer.btnNew), i("div", {
309
+ class: "end buttons-container"
310
+ }, i("button", {
311
+ // button cancel
312
+ class: "button-secondary",
313
+ part: "button button-cancel",
314
+ onClick: h(this, j, "f")
315
+ }, h(this, u, "f").footer.btnCancel), i("button", {
316
+ // button confirm
317
+ class: "button-primary",
318
+ part: "button button-confirm",
319
+ onClick: h(this, I, "f"),
320
+ disabled: this.loading
321
+ }, h(this, u, "f").footer.btnConfirm), this.multiSelection ? i("button", {
322
+ class: "button-secondary",
323
+ onClick: h(this, K, "f"),
324
+ part: "button button-select-all"
325
+ }, h(this, u, "f").footer.btnSelectAll) : null)))));
326
+ L.set(this, (() => i("ch-tabular-grid", {
327
+ class: {
328
+ "tabular-grid": true,
329
+ "tabular-grid-object-selector": true,
330
+ "empty-result": this.objects.length === 0
331
+ },
332
+ rowSelectionMode: this.multiSelection ? "multiple" : "single",
333
+ ref: t => f(this, x, t, "f"),
334
+ part: "ch-grid-objects",
335
+ onKeyDown: h(this, T, "f"),
336
+ onSelectionChanged: h(this, z, "f"),
337
+ onDblClick: h(this, I, "f")
338
+ }, i("ch-tabular-grid-columnset", {
339
+ class: "tabular-grid-column-set"
340
+ }, i("ch-tabular-grid-column", {
341
+ "column-name-position": "text",
342
+ settingable: false,
343
+ size: r.tabularGrid.colSize.maxContent,
344
+ class: "tabular-grid-column"
345
+ }), i("ch-tabular-grid-column", {
346
+ "column-name": h(this, u, "f").tableHead.name,
347
+ "column-name-position": "text",
348
+ settingable: false,
349
+ size: r.tabularGrid.colSize.maxContent,
350
+ class: "tabular-grid-column"
351
+ }), i("ch-tabular-grid-column", {
352
+ "column-name": h(this, u, "f").tableHead.type,
353
+ "column-name-position": "text",
354
+ settingable: false,
355
+ size: r.tabularGrid.colSize.maxContent,
356
+ class: "tabular-grid-column"
357
+ }), i("ch-tabular-grid-column", {
358
+ "column-name": h(this, u, "f").tableHead.module,
359
+ "column-name-position": "text",
360
+ settingable: false,
361
+ size: r.tabularGrid.colSize.maxContent,
362
+ class: "tabular-grid-column"
363
+ }), i("ch-tabular-grid-column", {
364
+ "column-name": h(this, u, "f").tableHead.description,
365
+ "column-name-position": "text",
366
+ settingable: false,
367
+ size: r.tabularGrid.colSize.commonDouble,
368
+ class: "tabular-grid-column"
369
+ }), i("ch-tabular-grid-column", {
370
+ "column-name": h(this, u, "f").tableHead.modifiedDate,
371
+ "column-name-position": "text",
372
+ settingable: false,
373
+ size: r.tabularGrid.colSize.maxContent,
374
+ class: "tabular-grid-column"
375
+ }), i("ch-tabular-grid-column", {
376
+ "column-name": h(this, u, "f").tableHead.importDate,
377
+ "column-name-position": "text",
378
+ settingable: false,
379
+ size: r.tabularGrid.colSize.maxContent,
380
+ class: "tabular-grid-column"
381
+ })), this.objects.length ? i("ch-tabular-grid-rowset", {
382
+ class: "tabular-grid-rowset"
383
+ }, this.objects.map((t => i("ch-tabular-grid-row", {
384
+ rowid: t.id,
385
+ key: t.id,
386
+ class: "tabular-grid-row"
387
+ }, i("ch-tabular-grid-cell", {
388
+ class: "tabular-grid-cell"
389
+ }, i("ch-image", {
390
+ src: t.icon,
391
+ class: "icon-md"
392
+ })), i("ch-tabular-grid-cell", {
393
+ class: "tabular-grid-cell"
394
+ }, t.name), i("ch-tabular-grid-cell", {
395
+ class: "tabular-grid-cell"
396
+ }, t.type), i("ch-tabular-grid-cell", {
397
+ class: "tabular-grid-cell"
398
+ }, t.module), i("ch-tabular-grid-cell", {
399
+ class: "tabular-grid-cell"
400
+ }, t.description), i("ch-tabular-grid-cell", {
401
+ class: "tabular-grid-cell"
402
+ }, `${n(t.modifiedDate, "date-time")}`), i("ch-tabular-grid-cell", {
403
+ class: "tabular-grid-cell"
404
+ }, `${n(t.importDate, "date-time")}`))))) : i("ch-tabular-grid-rowset", {
405
+ class: "tabular-grid-rowset"
406
+ }, i("ch-tabular-grid-rowset-empty", null, this.loader && this.loading ? i("gx-ide-loader", {
407
+ loaderTitle: h(this, u, "f").loader.title,
408
+ show: true
409
+ }) : i("gx-ide-empty-state", {
410
+ stateIconSrc: R,
411
+ stateTitle: h(this, u, "f").emptyState.title
412
+ }))))));
413
+ K.set(this, (() => {
414
+ h(this, x, "f").selectAllRows();
415
+ }));
416
+ V.set(this, (() => {
417
+ this.modifiedAfterValue = c.NONE;
418
+ }));
419
+ A.set(this, (() => {
420
+ f(this, b, [ {
421
+ caption: h(this, u, "f").filter.afterNone,
422
+ value: c.NONE
423
+ }, {
424
+ caption: h(this, u, "f").filter[c.DATE_TIME],
425
+ value: c.DATE_TIME
426
+ }, {
427
+ caption: h(this, u, "f").filter[c.IMPORT],
428
+ value: c.IMPORT
429
+ }, {
430
+ caption: h(this, u, "f").filter[c.LAST_BUILD],
431
+ value: c.LAST_BUILD
432
+ } ], "f");
433
+ }));
434
+ B.set(this, (t => t.sort(((t, e) => {
435
+ const i = t.name.toLowerCase(), s = e.name.toLowerCase();
436
+ if (i < s) {
437
+ return -1;
438
+ }
439
+ if (i > s) {
440
+ return 1;
441
+ }
442
+ return 0;
443
+ }))));
444
+ this.filterModified = false;
445
+ this.loading = false;
446
+ this.modifiedAfterValue = undefined;
447
+ this.objects = [];
448
+ this.selectedObjectsIdsArray = [];
449
+ this.cancelCallback = undefined;
450
+ this.categories = undefined;
451
+ this.defaultCategory = undefined;
452
+ this.defaultModule = undefined;
453
+ this.defaultType = undefined;
454
+ this.loader = false;
455
+ this.loadCallback = undefined;
456
+ this.multiSelection = false;
457
+ this.newObjectCallback = undefined;
458
+ this.openSelectionCallback = undefined;
459
+ this.patternValue = undefined;
460
+ this.selectModuleCallback = undefined;
461
+ this.types = undefined;
462
+ }
463
+ async connectedCallback() {
464
+ J = h(this, _, "f").call(this);
465
+ }
466
+ async componentWillLoad() {
467
+ f(this, u, await o.getComponentStrings(this.el), "f");
468
+ h(this, A, "f").call(this);
469
+ h(this, V, "f").call(this);
470
+ }
471
+ componentDidLoad() {
472
+ h(this, P, "f").call(this);
473
+ h(this, m, "f").focus();
474
+ }
475
+ componentDidRender() {}
476
+ /**
477
+ * Suspends or reactivates the shortcuts
478
+ */ async suspendShortcuts(t) {
479
+ if (t) {
480
+ h(this, W, "f").suspend = true;
481
+ } else {
482
+ h(this, W, "f").suspend = false;
483
+ }
484
+ }
485
+ /**
486
+ * Validate necessary data input
487
+ */ async validate() {
488
+ const t = true;
489
+ return t;
490
+ }
491
+ render() {
492
+ return i(s, {
493
+ onKeyPress: h(this, E, "f"),
494
+ class: "widget"
495
+ }, i("ch-theme", {
496
+ model: H
497
+ }), i("ch-shortcuts", {
498
+ src: h(this, p, "f"),
499
+ ref: t => f(this, W, t, "f")
500
+ }), i("section", {
501
+ class: "section"
502
+ }, h(this, S, "f").call(this), h(this, L, "f").call(this), h(this, N, "f").call(this)));
503
+ }
504
+ static get delegatesFocus() {
505
+ return true;
506
+ }
507
+ static get assetsDirs() {
508
+ return [ "gx-ide-assets/object-selector" ];
509
+ }
510
+ get el() {
511
+ return a(this);
512
+ }
513
+ };
514
+
515
+ u = new WeakMap, p = new WeakMap, b = new WeakMap, m = new WeakMap, g = new WeakMap,
516
+ w = new WeakMap, v = new WeakMap, y = new WeakMap, k = new WeakMap, M = new WeakMap,
517
+ x = new WeakMap, W = new WeakMap, j = new WeakMap, T = new WeakMap, C = new WeakMap,
518
+ D = new WeakMap, _ = new WeakMap, $ = new WeakMap, z = new WeakMap, E = new WeakMap,
519
+ F = new WeakMap, I = new WeakMap, P = new WeakMap, S = new WeakMap, N = new WeakMap,
520
+ L = new WeakMap, K = new WeakMap, V = new WeakMap, A = new WeakMap, B = new WeakMap;
521
+
522
+ O.style = d;
523
+
524
+ export { O as gx_ide_object_selector };
525
+ //# sourceMappingURL=p-3824978b.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["mapObjectTypeToComboBoxItemModel","objectTypeModel","map","objectType","value","id","caption","name","mapCategoryToComboBoxItemModel","categoryModel","category","label","objectSelectorCss","CSS_BUNDLES","FILTER_ICON","getIconPath","colorType","USER_ICON","MODIFIED_ACCORDION_MODEL","expanded","TODAY","GxIdeObjectSelector","_GxIdeObjectSelector_componentLocale","set","this","_GxIdeObjectSelector_shortcutsSrc","getAssetPath","_GxIdeObjectSelector_afterModel","_GxIdeObjectSelector_patternInput","_GxIdeObjectSelector_typeComboBox","_GxIdeObjectSelector_categoryComboBox","_GxIdeObjectSelector_moduleEntitySelector","_GxIdeObjectSelector_afterTypeComboBox","_GxIdeObjectSelector_userInput","_GxIdeObjectSelector_modifiedDateInput","_GxIdeObjectSelector_objectsGrid","_GxIdeObjectSelector_shortcutsEl","_GxIdeObjectSelector_cancelCallbackHandler","cancelCallback","_GxIdeObjectSelector_chGridKeyDownHandler","e","key","__classPrivateFieldGet","_GxIdeObjectSelector_openSelectionCallbackHandler","call","_GxIdeObjectSelector_deselectAll","selectAllRows","_GxIdeObjectSelector_evaluateObjectsCount","type","locale","selectedObjectsIdsArray","length","objCount","selected","none","one","many","objects","matching","_GxIdeObjectSelector_getToday","now","Date","date","toISOString","split","time","slice","_GxIdeObjectSelector_handleAfterValueChange","event","modifiedAfterValue","detail","FILTER_AFTER","DATE_TIME","_GxIdeObjectSelector_refreshUIWithNewConfiguration","_GxIdeObjectSelector_handleObjectsSelectionChange","rowsId","_GxIdeObjectSelector_hostKeyPressHandler","stopPropagation","_GxIdeObjectSelector_newObjectCallbackHandler","newObjectCallback","openSelectionCallback","modifiedAfter","user","_b","_a","trim","filters","pattern","_c","module","_e","_d","modifiedBy","modifiedDate","_f","loading","loadCallback","then","_GxIdeObjectSelector_sortObjectsByName","_GxIdeObjectSelector_renderFilter","h","class","htmlFor","filter","accessibleName","debounce","config","inputDebounce","part","patternValue","mode","ref","el","__classPrivateFieldSet","onInput","disabled","types","defaultType","model","categories","defaultCategory","defaultModule","labelCaption","labelPosition","onValueChanged","defaultValue","selectEntityCallback","selectModuleCallback","slot","after","startImgSrc","dateTime","max","_GxIdeObjectSelector_renderFooter","onClick","undefined","footer","btnNew","btnCancel","btnConfirm","multiSelection","_GxIdeObjectSelector_selectAll","btnSelectAll","_GxIdeObjectSelector_renderObjects","rowSelectionMode","onKeyDown","onSelectionChanged","onDblClick","settingable","size","tabularGrid","colSize","maxContent","tableHead","description","commonDouble","importDate","obj","rowid","src","icon","formatDate","loader","loaderTitle","title","show","stateIconSrc","stateTitle","emptyState","_GxIdeObjectSelector_setAfterDefaultValue","NONE","_GxIdeObjectSelector_setAfterOptions","afterNone","IMPORT","LAST_BUILD","sort","a","b","nameA","toLowerCase","nameB","connectedCallback","componentWillLoad","Locale","getComponentStrings","componentDidLoad","focus","componentDidRender","suspendShortcuts","suspend","validate","isValid","render","Host","onKeyPress"],"sources":["src/components/object-selector/helpers.ts","src/components/object-selector/object-selector.scss?tag=gx-ide-object-selector&encapsulation=shadow","src/components/object-selector/object-selector.tsx"],"sourcesContent":["import { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\nimport { ObjectType, GxOption } from \"../../common/types\";\n// - - - - - - - - - - - -\n// Data Mappings\n// - - - - - - - - - - - -\n\n// ch-combo-box-render\n\nexport const mapObjectTypeToComboBoxItemModel = (\n objectTypeModel: ObjectType[]\n): ComboBoxModel =>\n objectTypeModel.map(objectType => ({\n value: objectType.id,\n caption: objectType.name\n }));\nexport const mapCategoryToComboBoxItemModel = (\n categoryModel: GxOption[]\n): ComboBoxModel =>\n categoryModel.map(category => ({\n value: category.id,\n caption: category.label\n }));\n","@import \"../../../node_modules/@genexus/mercury/dist/mercury.scss\"; // for the tabular-grid-cell-layout mixin\n\n:host {\n block-size: 100%;\n display: grid;\n grid-template-rows: auto 1fr auto;\n overflow: auto;\n}\n\n.section {\n display: contents;\n}\n\n/* Filters */\n.filter-layout {\n grid-template:\n \"pattern type\"\n \"category module\"\n \"modified modified\";\n grid-template-columns: 1fr 1fr;\n}\n.pattern {\n grid-area: pattern;\n}\n.type {\n grid-area: type;\n}\n.category {\n grid-area: category;\n}\n.module {\n grid-area: module;\n}\n.modified-accordion {\n grid-area: modified;\n display: flex;\n flex-direction: column;\n}\n.field-group-modified {\n grid-template-columns: 1fr 1fr 1fr;\n}\n\ngx-ide-container::part(content) {\n // only apply display grid when the loader is being displayed, to stretch the container.\n display: grid;\n}\n\n/*tabular grid*/\nch-tabular-grid {\n overflow: auto;\n}\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".tabular-grid-object-selector\",\n $tabular-grid-cell-node-type: \"text\",\n $tabular-grid-cell-apply-ellipsis: true,\n $tabular-grid-affected-columns-nth-list: (\n 5\n )\n);\n\n// Objects Table\n.objects-count {\n display: grid;\n grid-template-columns: 1fr 1fr;\n border-block-start: var(--mer-border__width--sm) solid\n var(--mer-color__elevation--04);\n}\n.objects-selected,\n.objects-matching {\n padding-block-end: var(--mer-spacing--xs);\n}\n\nch-tabular-grid-rowset-empty {\n position: relative; // makes this the bounder element for the loader\n}\n\nch-tabular-grid.empty-result::part(main) {\n // WA to avoid scrollbar flickering when displaying the empty-state message\n overflow: hidden;\n}\n\ninput::-webkit-datetime-edit-fields-wrapper {\n // WA remove padding to force this input block-size to be the same as other\n // mercury controls block size.\n padding: none;\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n Method,\n getAssetPath\n} from \"@stencil/core\";\n\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\nimport {\n AccordionModel,\n ComboBoxModel,\n TabularGridSelectionChangedEvent\n} from \"@genexus/chameleon-controls-library\";\n\nimport { Locale } from \"../../common/locale\";\nimport { config } from \"../../common/config\";\nimport { EntityData, GxOption, ObjectType } from \"../../common/types\";\nimport { formatDate } from \"../../common/helpers\";\nimport {\n mapObjectTypeToComboBoxItemModel,\n mapCategoryToComboBoxItemModel\n} from \"./helpers\";\nimport { FILTER_AFTER, FilterAfterValue } from \"../../common/constants\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"components/accordion\",\n \"components/tabular-grid\",\n \"utils/typography\",\n \"utils/layout\"\n];\n\nconst FILTER_ICON = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"on-elevation\"\n});\nconst USER_ICON = getIconPath({\n category: \"system\",\n name: \"user\",\n colorType: \"on-elevation\"\n});\n\nconst MODIFIED_ACCORDION_MODEL: AccordionModel = [\n {\n id: \"modified\",\n caption: \"Modified\",\n expanded: false\n }\n];\n\nlet TODAY: string = null;\n\n@Component({\n tag: \"gx-ide-object-selector\",\n styleUrl: \"object-selector.scss\",\n shadow: { delegatesFocus: true },\n assetsDirs: [\"gx-ide-assets/object-selector\"]\n})\nexport class GxIdeObjectSelector {\n #componentLocale: any;\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/object-selector/shortcuts.json`\n );\n\n #afterModel: ComboBoxModel = null;\n\n @Element() el: HTMLGxIdeObjectSelectorElement;\n\n /* References needed to collect data */\n #patternInput!: HTMLChEditElement;\n #typeComboBox!: HTMLChComboBoxRenderElement;\n #categoryComboBox!: HTMLChComboBoxRenderElement;\n #moduleEntitySelector!: HTMLGxIdeEntitySelectorElement;\n #afterTypeComboBox!: HTMLChComboBoxRenderElement;\n #userInput!: HTMLChEditElement;\n #modifiedDateInput!: HTMLInputElement;\n #objectsGrid!: HTMLChTabularGridElement;\n #shortcutsEl: HTMLChShortcutsElement;\n\n /**\n * For show or hide the filters relative to modifiers\n */\n @State() filterModified = false;\n\n /**\n * True if loadCallback has been called and has not been resolved yet.\n */\n @State() loading: boolean = false;\n\n /**\n * The \"modified after\" value\n */\n @State() modifiedAfterValue: FilterAfterValue;\n\n /**\n * The objects rendered in the table\n */\n @State() objects: ObjectData[] = [];\n\n /**\n * The selected objects in the table of objects\n */\n @State() selectedObjectsIdsArray: string[] = [];\n\n /**\n * Callback invoked when the user wishes to cancel the selection of objects.\n */\n @Prop() readonly cancelCallback!: CancelCallback;\n\n /**\n * The categories render in the filter category selector\n */\n @Prop() readonly categories!: GxOption[];\n\n /**\n * The default id value for the category filter\n */\n @Prop() readonly defaultCategory: string;\n\n /**\n * The default value for the module/folder filter\n */\n @Prop() readonly defaultModule: EntityData;\n\n /**\n * The default value for the type filter\n */\n @Prop() readonly defaultType: string;\n\n /**\n * If true, it will display a loader when needed.\n */\n @Prop() readonly loader = false;\n\n /**\n * Callback invoked when the component needs to reload the list of attributes.\n */\n @Prop() readonly loadCallback!: LoadCallback;\n\n /**\n * True if multiple object selection is allowed. Default is 'True'\n */\n @Prop() readonly multiSelection: boolean = false;\n\n /**\n * Callback invoked when the user presses the 'New' button.\n */\n @Prop() readonly newObjectCallback!: NewObjectCallback;\n\n /**\n * This is a function provided by the developer for expanded the data of object that is double-clicked or entered.\n */\n @Prop() readonly openSelectionCallback!: OpenSelectionCallback;\n\n /**\n * Current value of the input pattern. It is also used to set the default value when initializing the component\n */\n @Prop() readonly patternValue: string;\n\n /**\n * Callback invoked when the action is executed in the Module/Folder filter. It returns the information of the selected object (id and name) or 'undefined' if it was canceled.\n */\n @Prop() readonly selectModuleCallback: SelectModuleCallback;\n\n /**\n * The types render in the filter type selector\n */\n @Prop() readonly types!: ObjectType[];\n\n async connectedCallback() {\n TODAY = this.#getToday();\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#setAfterOptions();\n this.#setAfterDefaultValue();\n }\n\n componentDidLoad() {\n this.#refreshUIWithNewConfiguration();\n this.#patternInput.focus();\n }\n\n componentDidRender() {}\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.#shortcutsEl.suspend = true;\n } else {\n this.#shortcutsEl.suspend = false;\n }\n }\n\n /**\n * Validate necessary data input\n */\n @Method()\n async validate(): Promise<boolean> {\n const isValid = true;\n return isValid;\n }\n\n #cancelCallbackHandler = (): void => {\n this.cancelCallback();\n };\n\n #chGridKeyDownHandler = (e: KeyboardEvent) => {\n if (e.key === \"Enter\") {\n this.#openSelectionCallbackHandler(e);\n }\n };\n\n #deselectAll = (): void => {\n (this.#objectsGrid as any).selectAllRows(false);\n };\n\n #evaluateObjectsCount = (type: \"selected\" | \"matching\"): string => {\n const locale = this.#componentLocale;\n\n if (type === \"selected\") {\n if (this.selectedObjectsIdsArray.length === 0) {\n return locale.objCount.selected.none;\n }\n if (this.selectedObjectsIdsArray.length === 1) {\n return `1 ${locale.objCount.selected.one}`;\n }\n return `${this.selectedObjectsIdsArray.length} ${locale.objCount.selected.many}`;\n }\n\n // type === \"matching\"\n if (this.objects.length === 0) {\n return locale.objCount.matching.none;\n }\n if (this.objects.length === 1) {\n return `1 ${locale.objCount.matching.one}`;\n }\n return `${this.objects.length} ${locale.objCount.matching.many}`;\n };\n\n #getToday = (): string => {\n const now = new Date();\n const date = now.toISOString().split(\"T\")[0];\n const time = now.toISOString().split(\"T\")[1].slice(0, 5); // Only take 'HH:MM' part\n return `${date}T${time}`;\n };\n\n #handleAfterValueChange = (event: CustomEvent<string> | InputEvent) => {\n this.modifiedAfterValue = event.detail as FilterAfterValue;\n if (\n this.modifiedAfterValue !== FILTER_AFTER.DATE_TIME ||\n (this.modifiedAfterValue === FILTER_AFTER.DATE_TIME &&\n this.#modifiedDateInput.value)\n ) {\n // if \"modified\" is \"after date/time\" only refresh ui if date/time is valid.\n this.#refreshUIWithNewConfiguration();\n }\n };\n\n #handleObjectsSelectionChange = (\n event: CustomEvent<TabularGridSelectionChangedEvent>\n ) => {\n this.selectedObjectsIdsArray = event.detail.rowsId;\n };\n\n #hostKeyPressHandler = (e: KeyboardEvent) => {\n // just prevent keypress propagation\n if (e.key === \"Enter\") {\n e.stopPropagation();\n }\n };\n\n #newObjectCallbackHandler = (): void => {\n this.newObjectCallback();\n };\n\n #openSelectionCallbackHandler = (e: MouseEvent | KeyboardEvent): void => {\n e.stopPropagation();\n this.openSelectionCallback(this.selectedObjectsIdsArray);\n };\n\n #refreshUIWithNewConfiguration = (): void => {\n /* 'modified' checkbox, should only be considered if 'date' || 'user' */\n const modifiedAfter = this.#afterTypeComboBox.value;\n const user = this.#userInput?.value?.trim();\n const filters: ObjectFiltersData = {\n pattern: this.#patternInput?.value,\n type: this.#typeComboBox.value,\n category: this.#categoryComboBox.value,\n module: this.#moduleEntitySelector?.value?.id,\n modifiedAfter: modifiedAfter ? modifiedAfter : null,\n modifiedBy: user ? user : null,\n modifiedDate:\n modifiedAfter === FILTER_AFTER.DATE_TIME\n ? new Date(this.#modifiedDateInput?.value)\n : null\n };\n this.loading = true;\n this.objects = [];\n this.loadCallback(filters).then((objects: ObjectData[]) => {\n if (objects) {\n this.objects = this.#sortObjectsByName(objects);\n }\n this.selectedObjectsIdsArray = [];\n this.#deselectAll();\n this.loading = false;\n });\n };\n\n #renderFilter = (): Element => {\n return (\n <header class=\"control-header spacing-body-inline spacing-body-block-start\">\n <form class=\"field-group filter-layout\">\n <div class=\"field field-block pattern\">\n <label\n // pattern\n class=\"label\"\n htmlFor=\"pattern\"\n >\n {this.#componentLocale.filter.pattern}\n </label>\n\n <ch-edit\n accessibleName={this.#componentLocale.filter.pattern}\n debounce={config.inputDebounce}\n class=\"form-input\"\n part=\"filter-pattern\"\n id=\"pattern\"\n name=\"pattern\"\n value={this.patternValue}\n mode=\"text\"\n ref={(el: HTMLChEditElement) =>\n (this.#patternInput = el as HTMLChEditElement)\n }\n onInput={this.#refreshUIWithNewConfiguration}\n ></ch-edit>\n </div>\n\n <div class=\"field field-block type\">\n <label\n // type\n class=\"label\"\n htmlFor=\"type\"\n >\n {this.#componentLocale.filter.type}\n </label>\n <ch-combo-box-render\n accessibleName={this.#componentLocale.filter.type}\n class=\"combo-box\"\n disabled={!this.types}\n value={this.defaultType}\n part=\"filter-type\"\n id=\"type\"\n model={mapObjectTypeToComboBoxItemModel(this.types)}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#typeComboBox = el as HTMLChComboBoxRenderElement)\n }\n onInput={this.#refreshUIWithNewConfiguration}\n ></ch-combo-box-render>\n </div>\n\n <div class=\"field field-block category\">\n <label\n // category\n class=\"label\"\n htmlFor=\"category\"\n >\n {this.#componentLocale.filter.category}\n </label>\n <ch-combo-box-render\n id=\"category\"\n class=\"combo-box\"\n accessibleName={this.#componentLocale.filter.category}\n disabled={!this.categories}\n model={mapCategoryToComboBoxItemModel(this.categories)}\n value={this.defaultCategory}\n part=\"filter-category\"\n onInput={this.categories && this.#refreshUIWithNewConfiguration}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#categoryComboBox = el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n </div>\n\n <gx-ide-entity-selector\n // module\n class=\"module\"\n id=\"module\"\n value={this.defaultModule}\n ref={(el: HTMLGxIdeEntitySelectorElement) =>\n (this.#moduleEntitySelector =\n el as HTMLGxIdeEntitySelectorElement)\n }\n labelCaption={this.#componentLocale.filter.module}\n labelPosition=\"block-start\"\n onValueChanged={this.#refreshUIWithNewConfiguration}\n defaultValue={this.defaultModule}\n selectEntityCallback={this.selectModuleCallback}\n ></gx-ide-entity-selector>\n\n <ch-accordion-render\n // modified\n class=\"accordion-outlined modified-accordion\"\n model={MODIFIED_ACCORDION_MODEL}\n >\n <div slot=\"modified\" class=\"spacing-body\">\n <div class=\"field-group field-group-modified\">\n <div class=\"field field-block after\">\n <label\n // after\n class=\"label\"\n htmlFor=\"after-type\"\n >\n {this.#componentLocale.filter.after}\n </label>\n <ch-combo-box-render\n class=\"combo-box\"\n value={this.modifiedAfterValue}\n part=\"filter-after-type\"\n id=\"after-type\"\n model={this.#afterModel}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#afterTypeComboBox =\n el as HTMLChComboBoxRenderElement)\n }\n onInput={this.#handleAfterValueChange}\n ></ch-combo-box-render>\n </div>\n\n <div class=\"field field-block\">\n <label\n // user\n class=\"label\"\n htmlFor=\"user-name\"\n >\n {this.#componentLocale.filter.user}\n </label>\n <ch-edit\n class=\"form-input\"\n part=\"filter-user\"\n value={this.patternValue}\n ref={(el: HTMLChEditElement) =>\n (this.#userInput = el as HTMLChEditElement)\n }\n id=\"user-name\"\n name=\"userName\"\n startImgSrc={USER_ICON}\n onInput={this.#refreshUIWithNewConfiguration}\n ></ch-edit>\n </div>\n\n <div class=\"field field-block\">\n <label\n // date\n class={{\n \"label\": true,\n \"label--disabled\":\n this.modifiedAfterValue !== \"afterDateTime\"\n }}\n htmlFor=\"modified-date\"\n >\n {this.#componentLocale.filter.dateTime}\n </label>\n\n <input\n type=\"datetime-local\"\n class=\"form-input input-date-time\"\n id=\"modified-date\"\n name=\"modifiedDate\"\n part=\"filter-pattern\"\n value={this.patternValue}\n max={TODAY}\n ref={(el: HTMLInputElement) =>\n (this.#modifiedDateInput = el as HTMLInputElement)\n }\n disabled={this.modifiedAfterValue !== \"afterDateTime\"}\n onInput={this.#refreshUIWithNewConfiguration}\n ></input>\n </div>\n </div>\n </div>\n </ch-accordion-render>\n </form>\n </header>\n );\n };\n\n #renderFooter = (): Element => {\n return (\n <footer class=\"footer\">\n <div\n class=\"control-footer control-footer-space-between objects-count spacing-body-inline\"\n slot=\"footer-above\"\n >\n <p\n class=\"text-body-regular-s objects-selected\"\n part=\"objects-selected\"\n >\n {this.#evaluateObjectsCount(\"selected\")}\n </p>\n <p\n class=\"text-body-regular-s objects-matching\"\n part=\"objects-matching\"\n >\n {this.#evaluateObjectsCount(\"matching\")}\n </p>\n </div>\n\n <div class=\"control-footer-with-border control-footer-space-between spacing-body-inline spacing-body-block-end\">\n <button\n // button new object\n class=\"button-secondary\"\n part=\"button button-new\"\n onClick={!this.loading ? this.#newObjectCallbackHandler : undefined}\n disabled={this.loading}\n >\n {this.#componentLocale.footer.btnNew}\n </button>\n <div class=\"end buttons-container\">\n <button\n // button cancel\n class=\"button-secondary\"\n part=\"button button-cancel\"\n onClick={this.#cancelCallbackHandler}\n >\n {this.#componentLocale.footer.btnCancel}\n </button>\n <button\n // button confirm\n class=\"button-primary\"\n part=\"button button-confirm\"\n onClick={this.#openSelectionCallbackHandler}\n disabled={this.loading}\n >\n {this.#componentLocale.footer.btnConfirm}\n </button>\n {this.multiSelection ? (\n <button\n class=\"button-secondary\"\n onClick={this.#selectAll}\n part=\"button button-select-all\"\n >\n {this.#componentLocale.footer.btnSelectAll}\n </button>\n ) : null}\n </div>\n </div>\n </footer>\n );\n };\n\n #renderObjects = (): Element => {\n return (\n <ch-tabular-grid\n class={{\n \"tabular-grid\": true,\n \"tabular-grid-object-selector\": true,\n \"empty-result\": this.objects.length === 0\n }}\n rowSelectionMode={this.multiSelection ? \"multiple\" : \"single\"}\n ref={(el: HTMLChTabularGridElement) => (this.#objectsGrid = el)}\n part=\"ch-grid-objects\"\n onKeyDown={this.#chGridKeyDownHandler}\n onSelectionChanged={this.#handleObjectsSelectionChange}\n onDblClick={this.#openSelectionCallbackHandler}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.name}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.type}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.module}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.description}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.commonDouble}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.modifiedDate}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.importDate}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n {this.objects.length ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.objects.map((obj: ObjectData) => (\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 <ch-image src={obj.icon} class=\"icon-md\"></ch-image>\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.module}\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 {`${formatDate(obj.modifiedDate, \"date-time\")}`}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.importDate, \"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 {this.loader && this.loading ? (\n <gx-ide-loader\n loaderTitle={this.#componentLocale.loader.title}\n show\n ></gx-ide-loader>\n ) : (\n <gx-ide-empty-state\n stateIconSrc={FILTER_ICON}\n stateTitle={this.#componentLocale.emptyState.title}\n ></gx-ide-empty-state>\n )}\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n );\n };\n\n #selectAll = (): void => {\n (this.#objectsGrid as any).selectAllRows();\n };\n\n #setAfterDefaultValue = (): void => {\n this.modifiedAfterValue = FILTER_AFTER.NONE;\n };\n\n #setAfterOptions = (): void => {\n this.#afterModel = [\n {\n caption: this.#componentLocale.filter.afterNone,\n value: FILTER_AFTER.NONE\n },\n {\n caption: this.#componentLocale.filter[FILTER_AFTER.DATE_TIME],\n value: FILTER_AFTER.DATE_TIME\n },\n {\n caption: this.#componentLocale.filter[FILTER_AFTER.IMPORT],\n value: FILTER_AFTER.IMPORT\n },\n {\n caption: this.#componentLocale.filter[FILTER_AFTER.LAST_BUILD],\n value: FILTER_AFTER.LAST_BUILD\n }\n ];\n };\n\n #sortObjectsByName = (objects: ObjectData[]): ObjectData[] => {\n return objects.sort((a, b) => {\n const nameA = a.name.toLowerCase(),\n nameB = b.name.toLowerCase();\n if (nameA < nameB) {\n return -1;\n }\n if (nameA > nameB) {\n return 1;\n }\n return 0;\n });\n };\n\n render(): void {\n return (\n <Host onKeyPress={this.#hostKeyPressHandler} class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.#shortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n <section class=\"section\">\n {this.#renderFilter()}\n {this.#renderObjects()}\n {this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n\nexport type NewObjectCallback = () => Promise<void>;\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type SelectModuleCallback = () => Promise<EntityData | undefined>;\n\nexport type OpenSelectionCallback = (ids: string[]) => Promise<void>;\n\nexport type LoadCallback = (\n filters: ObjectFiltersData\n) => Promise<ObjectData[]>;\n\nexport type ObjectFiltersData = {\n pattern?: string;\n type: string;\n category?: string;\n module?: string;\n modifiedAfter?: string;\n modifiedBy?: string;\n modifiedDate?: Date;\n};\n\nexport type ObjectData = {\n id: string;\n icon: string;\n name: string;\n type: string;\n description: string;\n module: string;\n modifiedDate?: Date;\n importDate?: Date;\n};\n"],"mappings":"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"}
@@ -28,7 +28,7 @@ var g, f, b, h, v, m, p, u, y, x, w, k;
28
28
  const z = o({
29
29
  category: "system",
30
30
  name: "news",
31
- colorType: "on-surface"
31
+ colorType: "on-elevation"
32
32
  });
33
33
 
34
34
  const _ = [ "resets/box-sizing", "components/button", "components/icon", "utils/typography", "utils/layout", "chameleon/scrollbar" ];
@@ -208,4 +208,4 @@ w = new WeakMap, k = new WeakMap;
208
208
  j.style = l;
209
209
 
210
210
  export { j as gx_ide_recent_news };
211
- //# sourceMappingURL=p-f924f02a.entry.js.map
211
+ //# sourceMappingURL=p-64101478.entry.js.map