@genexus/genexus-ide-ui 1.1.37 → 1.1.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +9 -3
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-details-acknowledgements.cjs.entry.js +19 -34
- package/dist/cjs/gx-ide-details-acknowledgements.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +9 -6
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-server-selector.cjs.entry.js +12 -4
- package/dist/cjs/gx-ide-server-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-status-message.cjs.entry.js +42 -0
- package/dist/cjs/gx-ide-status-message.cjs.entry.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/details-acknowledgements/details-acknowledgements.js +19 -34
- package/dist/collection/components/details-acknowledgements/details-acknowledgements.js.map +1 -1
- package/dist/collection/components/details-acknowledgements/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.en.json +3 -1
- package/dist/collection/components/details-acknowledgements/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.ja.json +3 -1
- package/dist/collection/components/details-acknowledgements/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.zh.json +3 -1
- package/dist/collection/components/new-kb/new-kb.js +9 -7
- package/dist/collection/components/new-kb/new-kb.js.map +1 -1
- package/dist/collection/components/status-message/gx-ide-assets/status-message/images/genexus-next-logo.svg +3 -0
- package/dist/collection/components/status-message/gx-ide-assets/status-message/images/left-side-illustration.svg +36 -0
- package/dist/collection/components/status-message/gx-ide-assets/status-message/images/right-side-illustration.svg +31 -0
- package/dist/collection/components/status-message/gx-ide-assets/status-message/langs/status-message.lang.en.json +6 -0
- package/dist/collection/components/status-message/gx-ide-assets/status-message/langs/status-message.lang.ja.json +6 -0
- package/dist/collection/components/status-message/gx-ide-assets/status-message/langs/status-message.lang.zh.json +6 -0
- package/dist/collection/components/status-message/status-message.css +33 -0
- package/dist/collection/components/status-message/status-message.js +42 -0
- package/dist/collection/components/status-message/status-message.js.map +1 -0
- package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js +9 -3
- package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js.map +1 -1
- package/dist/collection/components/team-dev/server-selector/server-selector.js +12 -4
- package/dist/collection/components/team-dev/server-selector/server-selector.js.map +1 -1
- package/dist/collection/testing/locale.e2e.js +1 -0
- package/dist/collection/testing/locale.e2e.js.map +1 -1
- package/dist/components/gx-ide-create-kb-from-server.js +9 -3
- package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
- package/dist/components/gx-ide-details-acknowledgements.js +19 -34
- package/dist/components/gx-ide-details-acknowledgements.js.map +1 -1
- package/dist/components/gx-ide-new-kb.js +9 -7
- package/dist/components/gx-ide-new-kb.js.map +1 -1
- package/dist/components/gx-ide-server-selector.js +12 -4
- package/dist/components/gx-ide-server-selector.js.map +1 -1
- package/dist/components/gx-ide-status-message.d.ts +11 -0
- package/dist/components/gx-ide-status-message.js +56 -0
- package/dist/components/gx-ide-status-message.js.map +1 -0
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-create-kb-from-server.entry.js +9 -3
- package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-details-acknowledgements.entry.js +19 -34
- package/dist/esm/gx-ide-details-acknowledgements.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-kb.entry.js +9 -6
- package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-server-selector.entry.js +12 -4
- package/dist/esm/gx-ide-server-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-status-message.entry.js +38 -0
- package/dist/esm/gx-ide-status-message.entry.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.en.json +3 -1
- package/dist/genexus-ide-ui/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.ja.json +3 -1
- package/dist/genexus-ide-ui/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.zh.json +3 -1
- package/dist/genexus-ide-ui/gx-ide-assets/status-message/images/genexus-next-logo.svg +3 -0
- package/dist/genexus-ide-ui/gx-ide-assets/status-message/images/left-side-illustration.svg +36 -0
- package/dist/genexus-ide-ui/gx-ide-assets/status-message/images/right-side-illustration.svg +31 -0
- package/dist/genexus-ide-ui/gx-ide-assets/status-message/langs/status-message.lang.en.json +6 -0
- package/dist/genexus-ide-ui/gx-ide-assets/status-message/langs/status-message.lang.ja.json +6 -0
- package/dist/genexus-ide-ui/gx-ide-assets/status-message/langs/status-message.lang.zh.json +6 -0
- package/dist/genexus-ide-ui/{p-3dc5d62e.entry.js → p-4b680e46.entry.js} +102 -102
- package/dist/genexus-ide-ui/p-4b680e46.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-50253b96.entry.js +61 -0
- package/dist/genexus-ide-ui/p-50253b96.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-bee71b20.entry.js → p-970e89ac.entry.js} +55 -45
- package/dist/genexus-ide-ui/p-970e89ac.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-9ad85231.entry.js → p-b34ecbdc.entry.js} +35 -28
- package/dist/genexus-ide-ui/p-b34ecbdc.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-5e2f9545.entry.js → p-bd0ffc08.entry.js} +56 -72
- package/dist/genexus-ide-ui/p-bd0ffc08.entry.js.map +1 -0
- package/dist/types/components/details-acknowledgements/types.d.ts +1 -1
- package/dist/types/components/new-kb/new-kb.d.ts +2 -3
- package/dist/types/components/status-message/status-message.d.ts +9 -0
- package/dist/types/components.d.ts +13 -0
- package/package.json +1 -1
- package/dist/genexus-ide-ui/p-3dc5d62e.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-5e2f9545.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-9ad85231.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-bee71b20.entry.js.map +0 -1
|
@@ -4,9 +4,9 @@ import { g as o } from "./p-401bfc97.js";
|
|
|
4
4
|
|
|
5
5
|
import { c as r } from "./p-9a03ac9f.js";
|
|
6
6
|
|
|
7
|
-
import { v as
|
|
7
|
+
import { v as l } from "./p-289c3290.js";
|
|
8
8
|
|
|
9
|
-
import { L as
|
|
9
|
+
import { L as h } from "./p-311eedf3.js";
|
|
10
10
|
|
|
11
11
|
const mapKbsModelToActionListModel = t => {
|
|
12
12
|
const e = [];
|
|
@@ -35,17 +35,17 @@ var f = undefined && undefined.__classPrivateFieldGet || function(t, e, s, i) {
|
|
|
35
35
|
return s === "m" ? i : s === "a" ? i.call(t) : i ? i.value : e.get(t);
|
|
36
36
|
};
|
|
37
37
|
|
|
38
|
-
var u, p, m, b, v, w, g, y, k, M, W, x, _, T, j,
|
|
38
|
+
var u, p, m, b, v, w, g, y, k, M, W, x, _, T, j, C, S, E, I, $, A, P, z, L;
|
|
39
39
|
|
|
40
|
-
const
|
|
40
|
+
const N = [ "resets/box-sizing", "utils/form--full", "utils/layout", "utils/typography", "utils/spacing", "components/list-box", "components/tooltip", "chameleon/scrollbar" ];
|
|
41
41
|
|
|
42
|
-
const
|
|
42
|
+
const F = o({
|
|
43
43
|
category: "system",
|
|
44
44
|
name: "information",
|
|
45
45
|
colorType: "on-surface"
|
|
46
46
|
});
|
|
47
47
|
|
|
48
|
-
const
|
|
48
|
+
const K = class {
|
|
49
49
|
constructor(i) {
|
|
50
50
|
t(this, i);
|
|
51
51
|
u.set(this, o({
|
|
@@ -97,7 +97,7 @@ const F = class {
|
|
|
97
97
|
localKBName: this.localKbNameInputValue,
|
|
98
98
|
versionList: f(this, w, "f")
|
|
99
99
|
}).then((t => {
|
|
100
|
-
this.validatableControls =
|
|
100
|
+
this.validatableControls = l(t, this.validatableControls);
|
|
101
101
|
}));
|
|
102
102
|
}));
|
|
103
103
|
// TODO: evaluate if this should be a global helper function.
|
|
@@ -112,11 +112,11 @@ const F = class {
|
|
|
112
112
|
delay: r.tooltipSettings.delay
|
|
113
113
|
}, this.validatableControls.get(t.id).message);
|
|
114
114
|
}));
|
|
115
|
-
|
|
115
|
+
C.set(this, (t => {
|
|
116
116
|
this.filterValue = t.detail.toLowerCase();
|
|
117
117
|
this.kbsFilteredActionListModel = f(this, v, "f").filter((t => t.caption.toLowerCase().includes(this.filterValue)));
|
|
118
118
|
}));
|
|
119
|
-
|
|
119
|
+
S.set(this, (async () => {
|
|
120
120
|
await this.getGXserverKBsCallback({
|
|
121
121
|
authenticationType: this.connectionData.authenticationType,
|
|
122
122
|
serverUrl: this.connectionData.serverUrl,
|
|
@@ -141,11 +141,11 @@ const F = class {
|
|
|
141
141
|
}
|
|
142
142
|
}));
|
|
143
143
|
}));
|
|
144
|
-
|
|
144
|
+
I.set(this, (t => {
|
|
145
145
|
this.localKbNameInputValue = t.detail;
|
|
146
146
|
d(this, k, true, "f");
|
|
147
147
|
}));
|
|
148
|
-
|
|
148
|
+
$.set(this, (async () => {
|
|
149
149
|
if (this.selectKBVersionsCallback) {
|
|
150
150
|
await this.selectKBVersionsCallback(f(this, y, "f")).then((t => {
|
|
151
151
|
if (t === null || t === void 0 ? void 0 : t.length) {
|
|
@@ -167,7 +167,7 @@ const F = class {
|
|
|
167
167
|
}));
|
|
168
168
|
}
|
|
169
169
|
}));
|
|
170
|
-
|
|
170
|
+
A.set(this, (t => {
|
|
171
171
|
var e;
|
|
172
172
|
const s = (e = t.detail[0]) === null || e === void 0 ? void 0 : e.item;
|
|
173
173
|
if (s === undefined) {
|
|
@@ -189,7 +189,13 @@ const F = class {
|
|
|
189
189
|
P.set(this, (t => {
|
|
190
190
|
this.versionSelectedType = t.detail;
|
|
191
191
|
}));
|
|
192
|
-
z.set(this, (
|
|
192
|
+
z.set(this, (t => {
|
|
193
|
+
t.sort(((t, e) => {
|
|
194
|
+
var s, i;
|
|
195
|
+
return (s = t.caption) === null || s === void 0 ? void 0 : s.toLocaleLowerCase().localeCompare((i = e.caption) === null || i === void 0 ? void 0 : i.toLocaleLowerCase());
|
|
196
|
+
}));
|
|
197
|
+
}));
|
|
198
|
+
L.set(this, (() => s("footer", {
|
|
193
199
|
class: "footer control-footer-with-border spacing-body-inline spacing-body-block-end"
|
|
194
200
|
}, s("div", {
|
|
195
201
|
class: "buttons-spacer"
|
|
@@ -221,17 +227,17 @@ const F = class {
|
|
|
221
227
|
this.selectKBVersionsCallback = undefined;
|
|
222
228
|
}
|
|
223
229
|
async componentDidLoad() {
|
|
224
|
-
await f(this,
|
|
230
|
+
await f(this, S, "f").call(this);
|
|
225
231
|
this.loading = false;
|
|
226
232
|
}
|
|
227
233
|
async componentWillLoad() {
|
|
228
|
-
d(this, b, await
|
|
234
|
+
d(this, b, await h.getComponentStrings(this.el), "f");
|
|
229
235
|
}
|
|
230
236
|
render() {
|
|
231
237
|
return s(a, {
|
|
232
238
|
class: "widget"
|
|
233
239
|
}, s("ch-theme", {
|
|
234
|
-
model:
|
|
240
|
+
model: N
|
|
235
241
|
}), s("ch-shortcuts", {
|
|
236
242
|
src: f(this, g, "f"),
|
|
237
243
|
ref: t => this.chShortcutsEl = t
|
|
@@ -260,19 +266,20 @@ const F = class {
|
|
|
260
266
|
class: "input search-kbs",
|
|
261
267
|
id: "local-kb-name",
|
|
262
268
|
startImgSrc: f(this, u, "f"),
|
|
263
|
-
onInput: f(this,
|
|
269
|
+
onInput: f(this, C, "f"),
|
|
264
270
|
placeholder: f(this, b, "f").kb.searchKbsPlaceholder
|
|
265
271
|
}), f(this, v, "f").length === 0 || this.kbsFilteredActionListModel.length === 0 ? s("div", {
|
|
266
272
|
class: "list-box"
|
|
267
273
|
}, s("gx-ide-empty-state", {
|
|
268
|
-
stateIconSrc:
|
|
274
|
+
stateIconSrc: F,
|
|
269
275
|
stateTitle: f(this, b, "f").emptyKBsText,
|
|
270
276
|
isAnimated: true
|
|
271
277
|
})) : s("ch-action-list-render", {
|
|
272
278
|
selection: "single",
|
|
273
279
|
class: "list-box",
|
|
274
|
-
onSelectedItemsChange: f(this,
|
|
275
|
-
model: this.kbsFilteredActionListModel
|
|
280
|
+
onSelectedItemsChange: f(this, A, "f"),
|
|
281
|
+
model: this.kbsFilteredActionListModel,
|
|
282
|
+
sortItemsCallback: f(this, z, "f")
|
|
276
283
|
}), s("div", {
|
|
277
284
|
class: "versions-container field-group"
|
|
278
285
|
}, s("ch-radio-group-render", {
|
|
@@ -302,7 +309,7 @@ const F = class {
|
|
|
302
309
|
value: this.versionsValueInput
|
|
303
310
|
}), s("button", {
|
|
304
311
|
class: "button-tertiary button-icon-only",
|
|
305
|
-
onClick: f(this,
|
|
312
|
+
onClick: f(this, $, "f"),
|
|
306
313
|
disabled: !this.enableSelectVersionsButton
|
|
307
314
|
}, s("ch-image", {
|
|
308
315
|
src: f(this, p, "f"),
|
|
@@ -317,7 +324,7 @@ const F = class {
|
|
|
317
324
|
class: "input",
|
|
318
325
|
id: "local-kb-name",
|
|
319
326
|
value: this.localKbNameInputValue,
|
|
320
|
-
onInput: f(this,
|
|
327
|
+
onInput: f(this, I, "f"),
|
|
321
328
|
placeholder: f(this, b, "f").kb.localKbNamePlaceholder,
|
|
322
329
|
ref: t => {
|
|
323
330
|
d(this, W, t, "f");
|
|
@@ -325,7 +332,7 @@ const F = class {
|
|
|
325
332
|
f(this, E, "f").call(this);
|
|
326
333
|
}
|
|
327
334
|
}
|
|
328
|
-
}), f(this, j, "f").call(this, f(this, W, "f"))))), f(this,
|
|
335
|
+
}), f(this, j, "f").call(this, f(this, W, "f"))))), f(this, L, "f").call(this)));
|
|
329
336
|
}
|
|
330
337
|
static get assetsDirs() {
|
|
331
338
|
return [ "gx-ide-assets/create-kb-from-server" ];
|
|
@@ -338,10 +345,10 @@ const F = class {
|
|
|
338
345
|
u = new WeakMap, p = new WeakMap, m = new WeakMap, b = new WeakMap, v = new WeakMap,
|
|
339
346
|
w = new WeakMap, g = new WeakMap, y = new WeakMap, k = new WeakMap, M = new WeakMap,
|
|
340
347
|
W = new WeakMap, x = new WeakMap, _ = new WeakMap, T = new WeakMap, j = new WeakMap,
|
|
341
|
-
|
|
342
|
-
|
|
348
|
+
C = new WeakMap, S = new WeakMap, E = new WeakMap, I = new WeakMap, $ = new WeakMap,
|
|
349
|
+
A = new WeakMap, P = new WeakMap, z = new WeakMap, L = new WeakMap;
|
|
343
350
|
|
|
344
|
-
|
|
351
|
+
K.style = c;
|
|
345
352
|
|
|
346
|
-
export {
|
|
347
|
-
//# sourceMappingURL=p-
|
|
353
|
+
export { K as gx_ide_create_kb_from_server };
|
|
354
|
+
//# sourceMappingURL=p-b34ecbdc.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["mapKbsModelToActionListModel","kbsData","listBoxItems","forEach","kb","push","id","type","caption","name","createKbFromServerCss","CSS_BUNDLES","INFO_ICON","getIconPath","category","colorType","GxIdeCreateKbFromServer","_GxIdeCreateKbFromServer_chSearchIcon","set","this","_GxIdeCreateKbFromServer_showMoreIcon","_GxIdeCreateKbFromServer_versionsSelect","value","_GxIdeCreateKbFromServer__componentLocale","_GxIdeCreateKbFromServer_kbsActionListModel","_GxIdeCreateKbFromServer_kbVersions","_GxIdeCreateKbFromServer_shortcutsSrc","getAssetPath","_GxIdeCreateKbFromServer_selectedKbId","_GxIdeCreateKbFromServer_kbNameAlreadyEditedByUser","_GxIdeCreateKbFromServer_versionSelectedTypeEl","_GxIdeCreateKbFromServer_localKBNameEl","_GxIdeCreateKbFromServer_cancelHandler","cancelCallback","_GxIdeCreateKbFromServer_changeConnectionHandler","async","changeConnectionCallback","authenticationType","connectionData","serverUrl","userName","userPassword","_GxIdeCreateKbFromServer_createHandler","versionSelectedType","__classPrivateFieldSet","createKBCallback","selectedKB","__classPrivateFieldGet","versionSelected","localKBName","localKbNameInputValue","versionList","then","formSubmitResult","validatableControls","validateControls","_GxIdeCreateKbFromServer_evaluateTooltipRender","controlReference","_b","_a","get","hasError","_c","message","h","class","actionElement","blockAlign","config","tooltipSettings","inlineAlign","delay","_GxIdeCreateKbFromServer_filterValueChangedHandler","event","filterValue","detail","toLowerCase","kbsFilteredActionListModel","filter","item","includes","_GxIdeCreateKbFromServer_init","getGXserverKBsCallback","result","_GxIdeCreateKbFromServer_initializeValidatableControls","validatableControl","reference","undefined","_GxIdeCreateKbFromServer_inputLocalKbNameHandler","_GxIdeCreateKbFromServer_selectedVersionHandler","selectKBVersionsCallback","length","map","kbVersion","versionsValueInput","versionsPlaceholder","toString","versionSelectedFieldValue","oneVersionSelectedFieldValue","_GxIdeCreateKbFromServer_selectKbChangeHandler","enableSelectVersionsButton","_GxIdeCreateKbFromServer_versionsChangedHandler","_GxIdeCreateKbFromServer_sortItems","model","sort","a","b","toLocaleLowerCase","localeCompare","_GxIdeCreateKbFromServer_renderFooter","onClick","part","footer","cancel","disabled","createKb","Map","componentDidLoad","call","loading","componentWillLoad","Locale","getComponentStrings","el","render","Host","src","ref","chShortcutsEl","header","user","change","loaderTitle","loader","title","description","show","Fragment","startImgSrc","onInput","placeholder","searchKbsPlaceholder","stateIconSrc","stateTitle","emptyKBsText","isAnimated","selection","onSelectedItemsChange","sortItemsCallback","onChange","htmlFor","versionsLabel","readonly","versionsPlaceholderDisabled","localKbNameLabel","localKbNamePlaceholder"],"sources":["src/components/team-dev/create-kb-from-server/helpers.ts","src/components/team-dev/create-kb-from-server/create-kb-from-server.scss?tag=gx-ide-create-kb-from-server&encapsulation=shadow","src/components/team-dev/create-kb-from-server/create-kb-from-server.tsx"],"sourcesContent":["import { ActionListItemModel } from \"@genexus/chameleon-controls-library\";\nimport { KBData } from \"./create-kb-from-server\";\n\nexport const mapKbsModelToActionListModel = (\n kbsData: KBData[]\n): ActionListItemModel[] => {\n const listBoxItems: ActionListItemModel[] = [];\n kbsData.forEach(kb => {\n listBoxItems.push({\n id: kb.id,\n type: \"actionable\",\n caption: kb.name\n });\n });\n return listBoxItems;\n};\n",":host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.section {\n display: contents;\n}\n\n// - - - - - - - - - - -\n// Header\n// - - - - - - - - - - -\n\nheader {\n display: grid;\n grid-template-rows: max-content;\n grid-template-columns: 1fr 1fr max-content;\n}\n\n.button-change {\n align-self: center;\n justify-self: end;\n}\n\n// - - - - - - - - - - -\n// Main\n// - - - - - - - - - - -\n\n.main {\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: max-content 1fr max-content max-content;\n position: relative;\n}\n\n.search-kbs {\n inline-size: 50%;\n}\n\n.versions-container {\n grid-auto-rows: max-content;\n\n &__input {\n display: grid;\n grid-template-columns: 1fr max-content;\n gap: var(--mer-spacing--xs);\n }\n\n .button-icon-only {\n border-color: var(--mer-color__neutral-gray--500);\n border-width: var(--mer-border__width--sm);\n border-radius: var(--mer-border__radius--sm);\n }\n\n .button-icon-only:hover {\n border-color: var(--mer-color__neutral-gray--100);\n }\n}\n","// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n getAssetPath,\n Fragment\n} from \"@stencil/core\";\n\n// Other Libraries\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n\n// Custom Imports\nimport { config } from \"../../../common/config\";\nimport { GXServerConnectionData } from \"../connect-gx-server/connect-gx-server\";\nimport { FormSubmitResult } from \"../../../common/types\";\nimport {\n ControlValidation,\n validateControls\n} from \"../../../common/form-validation\";\nimport { Locale } from \"../../../common/locale\";\nimport { mapKbsModelToActionListModel } from \"./helpers\";\nimport {\n ActionListItemActionable,\n ActionListItemModel,\n ActionListItemModelExtended,\n ChActionListRenderCustomEvent,\n ChEditCustomEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { RadioGroupItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/radio-group/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"components/list-box\",\n \"components/tooltip\",\n \"chameleon/scrollbar\"\n];\n\nconst INFO_ICON = getIconPath({\n category: \"system\",\n name: \"information\",\n colorType: \"on-surface\"\n});\n\n@Component({\n tag: \"gx-ide-create-kb-from-server\",\n styleUrl: \"create-kb-from-server.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/create-kb-from-server\"]\n})\nexport class GxIdeCreateKbFromServer {\n #chSearchIcon = getIconPath({\n category: \"system\",\n name: \"search\",\n colorType: \"on-surface\"\n });\n\n #showMoreIcon = getIconPath({\n category: \"gemini-tools\",\n name: \"show-more-horizontal\",\n colorType: \"on-elevation\"\n });\n\n #versionsSelect: RadioGroupItemModel[] = [\n { value: \"Trunk\", caption: \"Trunk Version\" },\n { value: \"All\", caption: \"All Versions\" },\n { value: \"Select\", caption: \"Select Version\" }\n ];\n\n [key: string]: any;\n\n #_componentLocale: any;\n #kbsActionListModel: ActionListItemModel[] = [];\n #kbVersions: KBVersion[] = [];\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/create-kb-from-server/shortcuts.json`\n );\n #selectedKbId: string;\n #kbNameAlreadyEditedByUser: boolean = false;\n\n #versionSelectedTypeEl: HTMLChRadioGroupRenderElement;\n\n @Element() el: HTMLGxIdeCreateKbFromServerElement;\n\n #localKBNameEl!: HTMLChEditElement;\n\n /**\n * State to enable/disable the select versions button\n */\n @State() enableSelectVersionsButton: boolean = false;\n\n /**\n * The current kbn name value.\n */\n @State() localKbNameInputValue: string = \"\";\n\n /**\n * State to store the loading state of the component\n */\n @State() loading = true;\n\n /**\n * State to store the filter input value to filter the list-box\n */\n @State() filterValue: string = \"\";\n\n /**\n * KBs filtered\n */\n @State() kbsFilteredActionListModel: ActionListItemModel[] = [];\n\n @State() validatableControls = new Map<string, ControlValidation>();\n\n /**\n * The version selected type\n */\n @State() versionSelectedType: VersionOption;\n\n /**\n * String value to show the number of versions selected (\"N versions selected\")\n */\n @State() versionsValueInput: string = \"\";\n\n /**\n * Set of data required when executing any of the callbacks that require a connection to the server.\n */\n @Prop() readonly connectionData: GXServerConnectionData;\n\n /**\n * Callback that is invoked when the dialog is closed\n */\n @Prop() readonly cancelCallback!: () => Promise<void>;\n\n /**\n * The host reopens the gx-ide-connect-server login modal with the previous data, and closes the current modal\n */\n @Prop() readonly changeConnectionCallback: (\n data: GXServerConnectionData\n ) => Promise<void>;\n\n /**\n * Callback that must be invoked when the 'Create KB' button is pressed. Receives the user's parameter selection to create the remote KB locally and ends the dialog.\n */\n @Prop() readonly createKBCallback!: (\n kbInfo: KnowledgeBaseInfo\n ) => Promise<FormSubmitResult>;\n\n /**\n * Callback that must be invoked when invoking the dialog\n */\n @Prop() readonly getGXserverKBsCallback!: (\n data: GXServerConnectionData\n ) => Promise<KBData[]>;\n\n /**\n * Callback invoked by pressing the ellipsis in the version selector. Receives the KB selected by the user, and displays the version selector dialog. Returns a list of versions chosen by the user.\n */\n @Prop() readonly selectKBVersionsCallback: (\n selectedKB: string\n ) => Promise<KBVersion[]>;\n\n async componentDidLoad() {\n await this.#init();\n this.loading = false;\n }\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n #cancelHandler = (): void => {\n this.cancelCallback();\n };\n\n #changeConnectionHandler = async (): Promise<void> => {\n this.changeConnectionCallback({\n authenticationType: this.connectionData.authenticationType,\n serverUrl: this.connectionData.serverUrl,\n userName: this.connectionData.userName,\n userPassword: this.connectionData.userPassword\n });\n };\n\n #createHandler = async (): Promise<void> => {\n if (this.versionSelectedType !== \"Select\") {\n this.#kbVersions = [];\n }\n this.createKBCallback({\n selectedKB: this.#selectedKbId,\n versionSelected: this.versionSelectedType,\n localKBName: this.localKbNameInputValue,\n versionList: this.#kbVersions\n }).then((formSubmitResult: FormSubmitResult) => {\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n });\n };\n\n // TODO: evaluate if this should be a global helper function.\n // It is used on other dialogs as well.\n #evaluateTooltipRender = (\n controlReference: HTMLElement\n ): HTMLChTooltipElement =>\n this.validatableControls?.get(controlReference?.id)?.hasError &&\n this.validatableControls.get(controlReference.id)?.message && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={controlReference as unknown as HTMLButtonElement}\n blockAlign={config.tooltipSettings.blockAlign}\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.validatableControls.get(controlReference.id).message}\n </ch-tooltip>\n );\n\n #filterValueChangedHandler = (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.filterValue = (event.detail as string).toLowerCase();\n this.kbsFilteredActionListModel = this.#kbsActionListModel.filter(\n (item: ActionListItemActionable) =>\n item.caption.toLowerCase().includes(this.filterValue)\n );\n };\n\n #init = async () => {\n await this.getGXserverKBsCallback({\n authenticationType: this.connectionData.authenticationType,\n serverUrl: this.connectionData.serverUrl,\n userName: this.connectionData.userName,\n userPassword: this.connectionData.userPassword\n }).then(result => {\n this.#kbsActionListModel = mapKbsModelToActionListModel(result);\n this.kbsFilteredActionListModel = this.#kbsActionListModel;\n this.filterValue = \"\";\n });\n };\n\n #initializeValidatableControls = () => {\n // populate validatableControls with the controls that could have errors.\n const validatableControls: HTMLElement[] = [this.#localKBNameEl];\n validatableControls.forEach(validatableControl => {\n if (validatableControl.id) {\n this.validatableControls.set(validatableControl.id, {\n reference: validatableControl,\n hasError: false,\n message: undefined\n });\n }\n });\n };\n\n #inputLocalKbNameHandler = (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.localKbNameInputValue = event.detail as string;\n this.#kbNameAlreadyEditedByUser = true;\n };\n\n #selectedVersionHandler = async () => {\n if (this.selectKBVersionsCallback) {\n await this.selectKBVersionsCallback(this.#selectedKbId).then(result => {\n if (result?.length) {\n this.#kbVersions = result.map(kbVersion => ({\n id: kbVersion.id,\n name: kbVersion.name\n }));\n\n if (result.length === 1 && this.#kbVersions[0].id === 0) {\n this.localKbNameInputValue = this.#selectedKbId;\n this.versionsValueInput =\n this.#_componentLocale.kb.versionsPlaceholder;\n } else if (result.length > 1) {\n this.localKbNameInputValue = this.#selectedKbId;\n this.versionsValueInput = `${result.length.toString()} ${\n this.#_componentLocale.kb.versionSelectedFieldValue\n }`;\n } else {\n this.localKbNameInputValue = `${this.#selectedKbId}_${\n this.#kbVersions[0].name\n }`;\n this.versionsValueInput = `${result[0].name} ${\n this.#_componentLocale.kb.oneVersionSelectedFieldValue\n }`;\n }\n }\n });\n }\n };\n\n #selectKbChangeHandler = (\n event: ChActionListRenderCustomEvent<ActionListItemModelExtended[]>\n ): void => {\n const item = event.detail[0]?.item as ActionListItemActionable;\n if (item === undefined) {\n this.enableSelectVersionsButton = false;\n this.#selectedKbId = undefined;\n return;\n }\n this.enableSelectVersionsButton = true;\n this.#selectedKbId = item.id;\n if (this.#kbNameAlreadyEditedByUser) {\n return;\n }\n this.localKbNameInputValue = item.caption;\n if (this.versionSelectedType === \"Select\") {\n this.versionsValueInput = \"\";\n this.#kbVersions = [];\n }\n };\n\n #versionsChangedHandler = (event: CustomEvent<string>) => {\n this.versionSelectedType = event.detail as VersionOption;\n };\n\n #sortItems = (model: ActionListItemActionable[]): void => {\n model.sort((a, b) =>\n a.caption\n ?.toLocaleLowerCase()\n .localeCompare(b.caption?.toLocaleLowerCase())\n );\n };\n\n #renderFooter = () => {\n return (\n <footer class=\"footer control-footer-with-border spacing-body-inline spacing-body-block-end\">\n <div class=\"buttons-spacer\">\n <button\n // cancel button\n class=\"button-secondary\"\n onClick={this.#cancelHandler}\n part=\"button button-cancel\"\n >\n {this.#_componentLocale.footer.cancel}\n </button>\n\n <button\n // create kb button\n class=\"button-primary\"\n onClick={this.enableSelectVersionsButton && this.#createHandler}\n disabled={!this.enableSelectVersionsButton}\n part=\"button button-create-kb\"\n >\n {this.#_componentLocale.footer.createKb}\n </button>\n </div>\n </footer>\n );\n };\n\n render(): void {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n\n <section class=\"section\">\n <header class=\"header control-header-with-border space-body spacing-body-inline spacing-body-block-start\">\n <div class=\"field field-block\">\n <label class=\"label\">\n {this.#_componentLocale.header.serverUrl}\n </label>\n <p>{this.connectionData.serverUrl}</p>\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\">{this.#_componentLocale.header.user}</label>\n <p>{this.connectionData.userName}</p>\n </div>\n\n <button\n class=\"button-tertiary button-change\"\n onClick={this.#changeConnectionHandler}\n >\n {this.#_componentLocale.header.change}\n </button>\n </header>\n <section class=\"main field-group spacing-body\">\n {this.loading ? (\n <gx-ide-loader\n loaderTitle={this.#_componentLocale.loader.title}\n description={this.#_componentLocale.loader.description}\n show\n ></gx-ide-loader>\n ) : (\n <Fragment>\n <ch-edit\n class=\"input search-kbs\"\n id=\"local-kb-name\"\n startImgSrc={this.#chSearchIcon}\n onInput={this.#filterValueChangedHandler}\n placeholder={this.#_componentLocale.kb.searchKbsPlaceholder}\n ></ch-edit>\n {this.#kbsActionListModel.length === 0 ||\n this.kbsFilteredActionListModel.length === 0 ? (\n <div class=\"list-box\">\n <gx-ide-empty-state\n stateIconSrc={INFO_ICON}\n stateTitle={this.#_componentLocale.emptyKBsText}\n isAnimated={true}\n ></gx-ide-empty-state>\n </div>\n ) : (\n <ch-action-list-render\n selection=\"single\"\n class=\"list-box\"\n onSelectedItemsChange={this.#selectKbChangeHandler}\n model={this.kbsFilteredActionListModel}\n sortItemsCallback={this.#sortItems}\n ></ch-action-list-render>\n )}\n <div class=\"versions-container field-group\">\n <ch-radio-group-render\n class=\"radio-group\"\n model={this.#versionsSelect}\n onChange={this.#versionsChangedHandler}\n value={this.#versionsSelect[0].value}\n ref={(el: HTMLChRadioGroupRenderElement) => {\n this.#versionSelectedTypeEl =\n el as HTMLChRadioGroupRenderElement;\n if (this.#versionSelectedTypeEl) {\n this.versionSelectedType = this.#versionSelectedTypeEl\n .value as VersionOption;\n }\n }}\n ></ch-radio-group-render>\n\n {this.versionSelectedType === \"Select\" && (\n <div class=\"versions-container__item field-group\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"control-id-1\">\n {this.#_componentLocale.kb.versionsLabel}\n </label>\n <div class=\"versions-container__input\">\n <ch-edit\n class=\"input\"\n readonly\n placeholder={\n this.enableSelectVersionsButton\n ? this.#_componentLocale.kb.versionsPlaceholder\n : this.#_componentLocale.kb\n .versionsPlaceholderDisabled\n }\n value={this.versionsValueInput}\n ></ch-edit>\n <button\n class=\"button-tertiary button-icon-only\"\n onClick={this.#selectedVersionHandler}\n disabled={!this.enableSelectVersionsButton}\n >\n <ch-image\n src={this.#showMoreIcon}\n class=\"icon-sm\"\n ></ch-image>\n </button>\n </div>\n </div>\n </div>\n )}\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"localKbName\">\n {this.#_componentLocale.kb.localKbNameLabel}\n </label>\n <ch-edit\n // local kb name\n class=\"input\"\n id=\"local-kb-name\"\n value={this.localKbNameInputValue}\n onInput={this.#inputLocalKbNameHandler}\n placeholder={\n this.#_componentLocale.kb.localKbNamePlaceholder\n }\n ref={(el: HTMLChEditElement) => {\n this.#localKBNameEl = el as HTMLChEditElement;\n if (this.#localKBNameEl) {\n this.#initializeValidatableControls();\n }\n }}\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#localKBNameEl)}\n </div>\n </Fragment>\n )}\n </section>\n\n {this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n\nexport type KBData = {\n id: string;\n name: string;\n};\n\nexport type KBVersion = {\n id: number;\n name: string;\n type?: VersionType;\n};\n\nexport type ConnectionResultData = {\n formResult: FormSubmitResult;\n kbs: KBData[];\n};\n\nexport type KnowledgeBaseInfo = {\n selectedKB: string;\n versionSelected: VersionOption;\n localKBName: string;\n versionList: KBVersion[];\n};\n\nexport type VersionOption = \"Trunk\" | \"All\" | \"Select\";\n\nexport type VersionType = \"Branch\" | \"Frozen\";\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { g as e, r as a, h as s, H as
|
|
1
|
+
import { g as e, r as a, h as s, H as i, a as t } from "./p-97107ecc.js";
|
|
2
2
|
|
|
3
3
|
import { g as r } from "./p-401bfc97.js";
|
|
4
4
|
|
|
@@ -6,13 +6,13 @@ import { L as o } from "./p-311eedf3.js";
|
|
|
6
6
|
|
|
7
7
|
const n = '@charset "UTF-8";:host{display:grid;block-size:100%;grid-auto-rows:max-content;justify-content:center;padding:95px var(--mer-spacing--lg) 95px var(--mer-spacing--lg);overflow:auto}.licenses-descriptions-list,.licenses-names-list{list-style:none;margin:0;padding:0}.main-wrapper{max-inline-size:1000px;display:grid;gap:var(--mer-spacing--xl)}.logo{inline-size:200px;margin:0 auto;margin-block-end:var(--mer-spacing--2xl);opacity:0;transform:translateY(var(--mer-spacing--2xs));animation:showLogo var(--mer-timing--regular) ease-out forwards;animation-delay:var(--mer-timing--regular)}@keyframes showLogo{100%{opacity:1;transform:translateY(0)}}.card{display:grid;border-radius:var(--mer-border__radius--sm);border-width:var(--mer-border__width--sm);border-color:var(--elevation-border-color);border-style:solid;padding:var(--mer-spacing--lg);gap:var(--mer-spacing--md);opacity:0;animation:showCard var(--mer-timing--fast) ease-out forwards;animation-delay:calc(var(--mer-timing--regular) * 2)}@keyframes showCard{100%{opacity:1}}h1.title{font-weight:600}.intro-container{display:grid;gap:var(--mer-spacing--md)}.date-container{display:grid;gap:var(--mer-spacing--sm)}.card-package{opacity:0;transition:opacity var(--mer-timing--fast)}.package-name{--package-name-color:var(--mer-text__primary);color:var(--package-name-color)}.package-name a{display:flex;align-items:center;gap:8px}.package-name.has-link:hover{--package-name-color:var(--mer-text__primary--hover)}.package-name.has-link:active{--package-name-color:var(--mer-text__primary--active)}.package-link{display:inline-block}.licenses-names-list{display:flex;align-items:center}.licenses-names-item:not(:first-child)::before{content:"•";padding-inline:8px}.licenses-descriptions-description{white-space:break-spaces;max-block-size:940px;overflow:auto;line-height:1.5}.licenses-descriptions-item{display:grid;gap:var(--mer-spacing--md)}.code-box{border-radius:var(--mer-border__radius--sm);background-color:var(--mer-surface);border:1px solid var(--mer-border-color__on-elevation--01);padding:var(--mer-spacing--md);font-family:var(--font-family-code);font-size:var(--font-size-body-s);display:grid;gap:var(--mer-spacing--lg)}.description-list{display:grid;gap:var(--mer-spacing--xs);max-inline-size:400px;margin:0 auto}.show-more-button{justify-self:start}.color-default{color:var(--mer-text__highlighted)}.color-neutral{color:var(--mer-color__neutral-gray--400)}.color-primary{color:var(--mer-text__primary)}p{--line-height-tight:1.5;--font-weight-regular:300}hr{border-block-start:0;border-color:var(--mer-border-color__on-elevation--01);inline-size:100%;margin:0}';
|
|
8
8
|
|
|
9
|
-
var
|
|
10
|
-
if (s === "a" && !
|
|
11
|
-
if (typeof a === "function" ? e !== a || !
|
|
12
|
-
return s === "m" ?
|
|
9
|
+
var l = undefined && undefined.__classPrivateFieldGet || function(e, a, s, i) {
|
|
10
|
+
if (s === "a" && !i) throw new TypeError("Private accessor was defined without a getter");
|
|
11
|
+
if (typeof a === "function" ? e !== a || !i : !a.has(e)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
12
|
+
return s === "m" ? i : s === "a" ? i.call(e) : i ? i.value : a.get(e);
|
|
13
13
|
};
|
|
14
14
|
|
|
15
|
-
var
|
|
15
|
+
var c, d, m, p, g, h;
|
|
16
16
|
|
|
17
17
|
const u = r({
|
|
18
18
|
category: "gemini-tools",
|
|
@@ -20,72 +20,56 @@ const u = r({
|
|
|
20
20
|
colorType: "primary"
|
|
21
21
|
});
|
|
22
22
|
|
|
23
|
-
const f =
|
|
24
|
-
category: "system",
|
|
25
|
-
name: "expand",
|
|
26
|
-
colorType: "on-primary"
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
const v = r({
|
|
30
|
-
category: "system",
|
|
31
|
-
name: "collapse-content",
|
|
32
|
-
colorType: "on-primary"
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
const y = "./gx-ide-assets/details-acknowledgements/images";
|
|
23
|
+
const f = "./gx-ide-assets/details-acknowledgements/images";
|
|
36
24
|
|
|
37
|
-
const
|
|
25
|
+
const v = "300px";
|
|
38
26
|
|
|
39
|
-
const
|
|
27
|
+
const b = e(`${f}/genexus-next-logo.svg`);
|
|
40
28
|
|
|
41
|
-
const
|
|
29
|
+
const y = e(`${f}/top-start.svg`);
|
|
42
30
|
|
|
43
|
-
const
|
|
31
|
+
const k = e(`${f}/bottom-start.svg`);
|
|
44
32
|
|
|
45
|
-
const
|
|
33
|
+
const w = e(`${f}/bottom-end.svg`);
|
|
46
34
|
|
|
47
|
-
const
|
|
35
|
+
const x = [ "resets/box-sizing", "utils/typography", "utils/elevation", "components/button", "components/icon", "chameleon/scrollbar" ];
|
|
48
36
|
|
|
49
|
-
const
|
|
37
|
+
const _ = class {
|
|
50
38
|
constructor(e) {
|
|
51
39
|
a(this, e);
|
|
52
|
-
|
|
53
|
-
d.set(this, ((e, a = "name",
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
40
|
+
c.set(this, (e => e === null || e === void 0 ? void 0 : e.toISOString().split("T")[0]));
|
|
41
|
+
d.set(this, ((e, a = "name", i) => {
|
|
42
|
+
const t = l(this, p, "f").call(this, i, e.name);
|
|
43
|
+
const r = t === this.expandedLicenseId;
|
|
44
|
+
return a === "name" ? s("ul", {
|
|
45
|
+
class: "licenses-names-list"
|
|
46
|
+
}, s("li", {
|
|
47
|
+
class: "color-default body-regular-m licenses-names-item"
|
|
48
|
+
}, e.name)) : s("ul", {
|
|
49
|
+
class: "licenses-descriptions-list"
|
|
50
|
+
}, s("li", {
|
|
63
51
|
class: "licenses-descriptions-item",
|
|
64
|
-
key:
|
|
65
|
-
},
|
|
52
|
+
key: e.name
|
|
53
|
+
}, r ? s("p", {
|
|
66
54
|
class: "code-box color-neutral licenses-descriptions-description scrollable"
|
|
67
|
-
}, e.description) : null);
|
|
68
|
-
}))
|
|
69
|
-
m.set(this, ((e, a) =>
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
return s("button", {
|
|
55
|
+
}, e.description) : null));
|
|
56
|
+
}));
|
|
57
|
+
m.set(this, ((e, a) => {
|
|
58
|
+
const i = l(this, p, "f").call(this, a, e.name);
|
|
59
|
+
const t = i === this.expandedLicenseId;
|
|
60
|
+
const r = t ? this._componentLocale.detailsCard.hide : this._componentLocale.detailsCard.show;
|
|
61
|
+
return s("div", {
|
|
62
|
+
class: "licenses-buttons-container buttons-spacer"
|
|
63
|
+
}, s("button", {
|
|
77
64
|
class: {
|
|
78
65
|
"button-icon-and-text": true,
|
|
79
|
-
"button-primary": !
|
|
80
|
-
"button-secondary":
|
|
66
|
+
"button-primary": !t,
|
|
67
|
+
"button-secondary": t,
|
|
81
68
|
"show-more-button": true
|
|
82
69
|
},
|
|
83
|
-
onClick:
|
|
84
|
-
},
|
|
85
|
-
|
|
86
|
-
class: "package-icon icon-md"
|
|
87
|
-
}), o);
|
|
88
|
-
})))));
|
|
70
|
+
onClick: l(this, g, "f").call(this, i)
|
|
71
|
+
}, r));
|
|
72
|
+
}));
|
|
89
73
|
p.set(this, ((e, a) => `${e.packageName}-${e.packageVersion}-${a}`));
|
|
90
74
|
g.set(this, (e => () => {
|
|
91
75
|
if (e === this.expandedLicenseId) {
|
|
@@ -113,21 +97,21 @@ const z = class {
|
|
|
113
97
|
}
|
|
114
98
|
render() {
|
|
115
99
|
var e;
|
|
116
|
-
const a =
|
|
117
|
-
return s(
|
|
100
|
+
const a = l(this, c, "f").call(this, this.dateGenerated);
|
|
101
|
+
return s(i, {
|
|
118
102
|
class: "scrollable",
|
|
119
103
|
style: {
|
|
120
|
-
backgroundImage: `url(${
|
|
104
|
+
backgroundImage: `url(${y}), url(${k}), url(${w})`,
|
|
121
105
|
backgroundPosition: "left top, left bottom, right bottom",
|
|
122
106
|
backgroundRepeat: "no-repeat, no-repeat, no-repeat",
|
|
123
|
-
backgroundSize: `${
|
|
107
|
+
backgroundSize: `${v}, ${v}, ${v}`
|
|
124
108
|
}
|
|
125
109
|
}, s("ch-theme", {
|
|
126
|
-
model:
|
|
110
|
+
model: x
|
|
127
111
|
}), s("div", {
|
|
128
112
|
class: "main-wrapper"
|
|
129
113
|
}, s("img", {
|
|
130
|
-
src:
|
|
114
|
+
src: b,
|
|
131
115
|
class: "logo"
|
|
132
116
|
}), s("div", {
|
|
133
117
|
class: "card card-details elevation-1"
|
|
@@ -148,10 +132,10 @@ const z = class {
|
|
|
148
132
|
dateTime: a
|
|
149
133
|
}, a))), (e = this.packages) === null || e === void 0 ? void 0 : e.map((e => {
|
|
150
134
|
let a = `${e.packageName} ${e.packageVersion}`;
|
|
151
|
-
const
|
|
135
|
+
const i = e.packageURL ? s("a", {
|
|
152
136
|
href: e.packageURL,
|
|
153
137
|
target: "_blank",
|
|
154
|
-
onClick:
|
|
138
|
+
onClick: l(this, h, "f").call(this, e.packageURL),
|
|
155
139
|
class: "package-link"
|
|
156
140
|
}, a, s("ch-image", {
|
|
157
141
|
src: u,
|
|
@@ -165,23 +149,23 @@ const z = class {
|
|
|
165
149
|
"package-name": true,
|
|
166
150
|
"has-link": !!e.packageURL
|
|
167
151
|
}
|
|
168
|
-
},
|
|
152
|
+
}, i), s("p", {
|
|
169
153
|
class: "color-default subtitle-semi-bold-s"
|
|
170
|
-
}, this._componentLocale.packageCard.declaredLicenses),
|
|
154
|
+
}, this._componentLocale.packageCard.declaredLicenses), l(this, d, "f").call(this, e.declaredLicense, "name", e), l(this, d, "f").call(this, e.declaredLicense, "description", e), l(this, m, "f").call(this, e.declaredLicense, e));
|
|
171
155
|
}))));
|
|
172
156
|
}
|
|
173
157
|
static get assetsDirs() {
|
|
174
158
|
return [ "gx-ide-assets/details-acknowledgements" ];
|
|
175
159
|
}
|
|
176
160
|
get el() {
|
|
177
|
-
return
|
|
161
|
+
return t(this);
|
|
178
162
|
}
|
|
179
163
|
};
|
|
180
164
|
|
|
181
|
-
|
|
165
|
+
c = new WeakMap, d = new WeakMap, m = new WeakMap, p = new WeakMap, g = new WeakMap,
|
|
182
166
|
h = new WeakMap;
|
|
183
167
|
|
|
184
|
-
|
|
168
|
+
_.style = n;
|
|
185
169
|
|
|
186
|
-
export {
|
|
187
|
-
//# sourceMappingURL=p-
|
|
170
|
+
export { _ as gx_ide_details_acknowledgements };
|
|
171
|
+
//# sourceMappingURL=p-bd0ffc08.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["detailsAcknowledgementsCss","OPEN_WINDOW_ICON","getIconPath","category","name","colorType","IMAGES_PATH","BACKGROUND_SIZE","GENEXUS_NEXT_LOGO_SRC","getAssetPath","BG_IMAGE_TOP_START","BG_IMAGE_BOTTOM_START","BG_IMAGE_BOTTOM_END","CSS_BUNDLES","GxIdeDetailsAcknowledgements","_GxIdeDetailsAcknowledgements_getFormatedDate","set","this","date","toISOString","split","_GxIdeDetailsAcknowledgements_renderLicenseInfo","license","type","packageData","licenseId","__classPrivateFieldGet","_GxIdeDetailsAcknowledgements_getLicenseId","call","showDescription","expandedLicenseId","h","class","key","description","_GxIdeDetailsAcknowledgements_renderLicensesViewButtons","visibleLicenseButton","viewLicenseButtonLabel","_componentLocale","detailsCard","hide","show","onClick","_GxIdeDetailsAcknowledgements_viewLicenseClickedHandler","licenseName","packageName","packageVersion","undefined","_GxIdeDetailsAcknowledgements_openLinkClickedHandler","url","e","openPackageUrlCallback","preventDefault","componentWillLoad","Locale","getComponentStrings","el","render","formatedDate","dateGenerated","Host","style","backgroundImage","backgroundPosition","backgroundRepeat","backgroundSize","model","src","title","mainDescription","secondaryDescription","dateTime","_a","packages","map","packageItem","headingContent","packageURL","href","target","packageCard","declaredLicenses","declaredLicense"],"sources":["src/components/details-acknowledgements/details-acknowledgements.scss?tag=gx-ide-details-acknowledgements&encapsulation=shadow","src/components/details-acknowledgements/details-acknowledgements.tsx"],"sourcesContent":[":host {\n display: grid;\n block-size: 100%;\n grid-auto-rows: max-content;\n justify-content: center;\n padding: 95px var(--mer-spacing--lg) 95px var(--mer-spacing--lg);\n overflow: auto;\n}\n\n%resetList {\n // TODO: Use mixin from common\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.main-wrapper {\n max-inline-size: 1000px;\n display: grid;\n gap: var(--mer-spacing--xl);\n}\n\n.logo {\n inline-size: 200px;\n margin: 0 auto;\n margin-block-end: var(--mer-spacing--2xl);\n opacity: 0;\n transform: translateY(var(--mer-spacing--2xs));\n animation: showLogo var(--mer-timing--regular) ease-out forwards;\n animation-delay: var(--mer-timing--regular);\n}\n@keyframes showLogo {\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n// general\n\n.card {\n display: grid;\n border-radius: var(--mer-border__radius--sm);\n border-width: var(--mer-border__width--sm);\n border-color: var(--elevation-border-color);\n border-style: solid;\n padding: var(--mer-spacing--lg);\n gap: var(--mer-spacing--md);\n opacity: 0;\n animation: showCard var(--mer-timing--fast) ease-out forwards;\n animation-delay: calc(var(--mer-timing--regular) * 2);\n}\n@keyframes showCard {\n 100% {\n opacity: 1;\n }\n}\n\n// details card\n\nh1.title {\n font-weight: 600;\n}\n\n.intro-container {\n display: grid;\n gap: var(--mer-spacing--md);\n}\n\n.date-container {\n display: grid;\n gap: var(--mer-spacing--sm);\n}\n\n// package card\n\n.card-package {\n opacity: 0;\n transition: opacity var(--mer-timing--fast);\n}\n\n.package-name {\n --package-name-color: var(--mer-text__primary);\n color: var(--package-name-color);\n\n a {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n &.has-link {\n // TODO: This should be a class in Mercury\n &:hover {\n --package-name-color: var(--mer-text__primary--hover);\n }\n &:active {\n --package-name-color: var(--mer-text__primary--active);\n }\n }\n}\n.package-link {\n display: inline-block;\n}\n\n.licenses-names-list {\n @extend %resetList;\n display: flex;\n align-items: center;\n}\n.licenses-names-item:not(:first-child)::before {\n content: \"•\";\n padding-inline: 8px;\n}\n\n.licenses-descriptions-list {\n @extend %resetList;\n}\n.licenses-descriptions-description {\n white-space: break-spaces;\n max-block-size: 940px;\n overflow: auto;\n line-height: 1.5;\n}\n.licenses-descriptions-item {\n display: grid;\n gap: var(--mer-spacing--md);\n}\n\n.code-box {\n border-radius: var(--mer-border__radius--sm);\n background-color: var(--mer-surface);\n border: 1px solid var(--mer-border-color__on-elevation--01);\n padding: var(--mer-spacing--md);\n font-family: var(--font-family-code);\n font-size: var(--font-size-body-s);\n display: grid;\n gap: var(--mer-spacing--lg);\n}\n\n.description-list {\n display: grid;\n gap: var(--mer-spacing--xs);\n max-inline-size: 400px;\n margin: 0 auto;\n}\n\n.show-more-button {\n justify-self: start;\n}\n\n// utilities\n// WA/TODO: This should be defined on Mercury\n.color-default {\n color: var(--mer-text__highlighted);\n}\n.color-neutral {\n color: var(--mer-color__neutral-gray--400);\n}\n.color-primary {\n color: var(--mer-text__primary);\n}\n\np {\n // TODO: Update line-height values on Mercury\n --line-height-tight: 1.5;\n --font-weight-regular: 300;\n}\n\nhr {\n // WA/TODO: A style for hr should be defined on Mercury\n border-block-start: 0;\n border-color: var(--mer-border-color__on-elevation--01);\n inline-size: 100%;\n margin: 0;\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n getAssetPath,\n JSX\n} from \"@stencil/core\";\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\n\nimport type { PackageData, License, OpenPackageURLCallback } from \"./types\";\n\nconst OPEN_WINDOW_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"open-window\",\n colorType: \"primary\"\n});\n\nconst IMAGES_PATH = \"./gx-ide-assets/details-acknowledgements/images\";\nconst BACKGROUND_SIZE = \"300px\";\n\nconst GENEXUS_NEXT_LOGO_SRC = getAssetPath(\n `${IMAGES_PATH}/genexus-next-logo.svg`\n);\nconst BG_IMAGE_TOP_START = getAssetPath(`${IMAGES_PATH}/top-start.svg`);\nconst BG_IMAGE_BOTTOM_START = getAssetPath(`${IMAGES_PATH}/bottom-start.svg`);\nconst BG_IMAGE_BOTTOM_END = getAssetPath(`${IMAGES_PATH}/bottom-end.svg`);\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/typography\",\n \"utils/elevation\",\n \"components/button\",\n \"components/icon\",\n \"chameleon/scrollbar\"\n];\n\n@Component({\n tag: \"gx-ide-details-acknowledgements\",\n styleUrl: \"details-acknowledgements.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/details-acknowledgements\"]\n})\nexport class GxIdeDetailsAcknowledgements {\n /**\n * The component hard-coded strings translations.\n */\n _componentLocale: any;\n\n @Element() el: HTMLGxIdeDetailsAcknowledgementsElement;\n\n /**\n * Identifier of the currently expanded license. Should combine:\n * packageName + packageVersion + license.name. Example:\n * @sentry/core-6.7.1-mit\n */\n @State() expandedLicenseId?: string;\n\n /** The date when the current release was published */\n @Prop() readonly dateGenerated?: Date;\n\n /** The version of the current release*/\n @Prop() readonly release?: string;\n\n /** The list of packages that the current release contains*/\n @Prop() readonly packages: PackageData[];\n\n /**\n * Callback invoked when the user clicks a package with a packageURL.\n * If openPackageUrlCallback is defined, the default link action is\n * prevented and the URL is passed to the host via the callback.\n * Otherwise, the link opens in a new tab as usual.\n */\n @Prop() readonly openPackageUrlCallback: OpenPackageURLCallback;\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n #getFormatedDate = (date: Date) => {\n return date?.toISOString().split(\"T\")[0];\n };\n\n #renderLicenseInfo = (\n license: License,\n type: \"name\" | \"description\" = \"name\",\n packageData: PackageData\n ): JSX.Element => {\n const licenseId = this.#getLicenseId(packageData, license.name);\n const showDescription = licenseId === this.expandedLicenseId;\n return type === \"name\" ? (\n <ul class=\"licenses-names-list\">\n <li class=\"color-default body-regular-m licenses-names-item\">\n {license.name}\n </li>\n </ul>\n ) : (\n <ul class=\"licenses-descriptions-list\">\n <li class=\"licenses-descriptions-item\" key={license.name}>\n {showDescription ? (\n <p class=\"code-box color-neutral licenses-descriptions-description scrollable\">\n {license.description}\n </p>\n ) : null}\n </li>\n </ul>\n );\n };\n\n #renderLicensesViewButtons = (\n license: License,\n packageData?: PackageData\n ): JSX.Element => {\n const licenseId = this.#getLicenseId(packageData, license.name);\n const visibleLicenseButton = licenseId === this.expandedLicenseId;\n const viewLicenseButtonLabel = visibleLicenseButton\n ? this._componentLocale.detailsCard.hide\n : this._componentLocale.detailsCard.show;\n return (\n <div class=\"licenses-buttons-container buttons-spacer\">\n {\n <button\n class={{\n \"button-icon-and-text\": true,\n \"button-primary\": !visibleLicenseButton,\n \"button-secondary\": visibleLicenseButton,\n \"show-more-button\": true\n }}\n onClick={this.#viewLicenseClickedHandler(licenseId)}\n >\n {viewLicenseButtonLabel}\n </button>\n }\n </div>\n );\n };\n\n #getLicenseId = (packageData: PackageData, licenseName: string): string => {\n return `${packageData.packageName}-${packageData.packageVersion}-${licenseName}`;\n };\n\n #viewLicenseClickedHandler = (licenseId: string) => () => {\n if (licenseId === this.expandedLicenseId) {\n // collapse\n this.expandedLicenseId = undefined;\n } else {\n // expand collapse\n this.expandedLicenseId = licenseId;\n }\n };\n\n #openLinkClickedHandler = (url: string) => (e: MouseEvent) => {\n if (this.openPackageUrlCallback) {\n e.preventDefault();\n this.openPackageUrlCallback(url);\n }\n };\n\n render() {\n const formatedDate = this.#getFormatedDate(this.dateGenerated);\n return (\n <Host\n class=\"scrollable\"\n style={{\n backgroundImage: `url(${BG_IMAGE_TOP_START}), url(${BG_IMAGE_BOTTOM_START}), url(${BG_IMAGE_BOTTOM_END})`,\n backgroundPosition: \"left top, left bottom, right bottom\",\n backgroundRepeat: \"no-repeat, no-repeat, no-repeat\",\n backgroundSize: `${BACKGROUND_SIZE}, ${BACKGROUND_SIZE}, ${BACKGROUND_SIZE}`\n }}\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"main-wrapper\">\n <img src={GENEXUS_NEXT_LOGO_SRC} class=\"logo\"></img>\n <div class=\"card card-details elevation-1\">\n <div class=\"intro-container\">\n <h1 class=\"title heading-3 color-default\">\n {this._componentLocale.detailsCard.title}\n </h1>\n <p class=\"color-default body-regular-m\">\n {this._componentLocale.detailsCard.mainDescription}\n </p>\n <p class=\"color-neutral body-italic-s\">\n {this._componentLocale.detailsCard.secondaryDescription}\n </p>\n </div>\n\n <hr />\n\n <div class=\"date-container\">\n <p class=\"color-neutral\">\n {this._componentLocale.detailsCard.dateGenerated}\n </p>\n <time class=\"color-default\" dateTime={formatedDate}>\n {formatedDate}\n </time>\n </div>\n </div>\n\n {this.packages?.map(packageItem => {\n let packageName = `${packageItem.packageName} ${packageItem.packageVersion}`;\n const headingContent = packageItem.packageURL ? (\n <a\n href={packageItem.packageURL}\n target=\"_blank\"\n onClick={this.#openLinkClickedHandler(packageItem.packageURL)}\n class=\"package-link\"\n >\n {packageName}\n <ch-image\n src={OPEN_WINDOW_ICON}\n class=\"package-icon icon-md\"\n ></ch-image>\n </a>\n ) : (\n packageName\n );\n\n return (\n <article class=\"card card-package elevation-1\">\n <h2\n class={{\n \"subtitle-semi-bold-s\": true,\n \"package-name\": true,\n \"has-link\": !!packageItem.packageURL\n }}\n >\n {headingContent}\n </h2>\n <p class=\"color-default subtitle-semi-bold-s\">\n {this._componentLocale.packageCard.declaredLicenses}\n </p>\n {this.#renderLicenseInfo(\n packageItem.declaredLicense,\n \"name\",\n packageItem\n )}\n\n {this.#renderLicenseInfo(\n packageItem.declaredLicense,\n \"description\",\n packageItem\n )}\n\n {this.#renderLicensesViewButtons(\n packageItem.declaredLicense,\n packageItem\n )}\n </article>\n );\n })}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -20,7 +20,6 @@ export declare class GxIdeNewKb {
|
|
|
20
20
|
collationsComboBoxModel: ComboBoxModel;
|
|
21
21
|
collationsInitialValue: string;
|
|
22
22
|
defaultDataSourcesComboBoxModel: ComboBoxModel;
|
|
23
|
-
defaultDataSourcesInitialValue: string;
|
|
24
23
|
prototypingTargetsComboBoxModel: ComboBoxModel;
|
|
25
24
|
prototypingTargetsInitialValue: string;
|
|
26
25
|
prototypingEnvironmentsComboBoxModel: ComboBoxModel;
|
|
@@ -69,8 +68,8 @@ export declare class GxIdeNewKb {
|
|
|
69
68
|
*/
|
|
70
69
|
readonly getFrontEndsCallback: GetFrontEndsCallback;
|
|
71
70
|
/**
|
|
72
|
-
|
|
73
|
-
|
|
71
|
+
* Callback invoked when the user changes the prototyping target id, allowing for the modification of the list of prototyping environments
|
|
72
|
+
*/
|
|
74
73
|
readonly getPrototypingEnvironmentsCallback: GetPrototypingEnvironmentsCallback;
|
|
75
74
|
/**
|
|
76
75
|
* Specify whether it is feasible to display information related to local configuration parameters
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare class GxIdeStatusMessage {
|
|
2
|
+
_componentLocale: any;
|
|
3
|
+
el: HTMLGxIdeStatusMessageElement;
|
|
4
|
+
componentWillLoad(): Promise<void>;
|
|
5
|
+
componentDidLoad(): void;
|
|
6
|
+
render(): any;
|
|
7
|
+
}
|
|
8
|
+
export type CancelCallback = () => Promise<void>;
|
|
9
|
+
export type SaveCallback = () => Promise<string>;
|
|
@@ -2262,6 +2262,8 @@ export namespace Components {
|
|
|
2262
2262
|
*/
|
|
2263
2263
|
"warnings": number;
|
|
2264
2264
|
}
|
|
2265
|
+
interface GxIdeStatusMessage {
|
|
2266
|
+
}
|
|
2265
2267
|
interface GxIdeSwitchPanel {
|
|
2266
2268
|
}
|
|
2267
2269
|
interface GxIdeSwitcher {
|
|
@@ -3538,6 +3540,12 @@ declare global {
|
|
|
3538
3540
|
prototype: HTMLGxIdeStatusButtonsElement;
|
|
3539
3541
|
new (): HTMLGxIdeStatusButtonsElement;
|
|
3540
3542
|
};
|
|
3543
|
+
interface HTMLGxIdeStatusMessageElement extends Components.GxIdeStatusMessage, HTMLStencilElement {
|
|
3544
|
+
}
|
|
3545
|
+
var HTMLGxIdeStatusMessageElement: {
|
|
3546
|
+
prototype: HTMLGxIdeStatusMessageElement;
|
|
3547
|
+
new (): HTMLGxIdeStatusMessageElement;
|
|
3548
|
+
};
|
|
3541
3549
|
interface HTMLGxIdeSwitchPanelElement extends Components.GxIdeSwitchPanel, HTMLStencilElement {
|
|
3542
3550
|
}
|
|
3543
3551
|
var HTMLGxIdeSwitchPanelElement: {
|
|
@@ -3762,6 +3770,7 @@ declare global {
|
|
|
3762
3770
|
"gx-ide-start-page": HTMLGxIdeStartPageElement;
|
|
3763
3771
|
"gx-ide-starting-template": HTMLGxIdeStartingTemplateElement;
|
|
3764
3772
|
"gx-ide-status-buttons": HTMLGxIdeStatusButtonsElement;
|
|
3773
|
+
"gx-ide-status-message": HTMLGxIdeStatusMessageElement;
|
|
3765
3774
|
"gx-ide-switch-panel": HTMLGxIdeSwitchPanelElement;
|
|
3766
3775
|
"gx-ide-switcher": HTMLGxIdeSwitcherElement;
|
|
3767
3776
|
"gx-ide-team-dev-bring-changes": HTMLGxIdeTeamDevBringChangesElement;
|
|
@@ -5912,6 +5921,8 @@ declare namespace LocalJSX {
|
|
|
5912
5921
|
*/
|
|
5913
5922
|
"warnings"?: number;
|
|
5914
5923
|
}
|
|
5924
|
+
interface GxIdeStatusMessage {
|
|
5925
|
+
}
|
|
5915
5926
|
interface GxIdeSwitchPanel {
|
|
5916
5927
|
}
|
|
5917
5928
|
interface GxIdeSwitcher {
|
|
@@ -6462,6 +6473,7 @@ declare namespace LocalJSX {
|
|
|
6462
6473
|
"gx-ide-start-page": GxIdeStartPage;
|
|
6463
6474
|
"gx-ide-starting-template": GxIdeStartingTemplate;
|
|
6464
6475
|
"gx-ide-status-buttons": GxIdeStatusButtons;
|
|
6476
|
+
"gx-ide-status-message": GxIdeStatusMessage;
|
|
6465
6477
|
"gx-ide-switch-panel": GxIdeSwitchPanel;
|
|
6466
6478
|
"gx-ide-switcher": GxIdeSwitcher;
|
|
6467
6479
|
"gx-ide-team-dev-bring-changes": GxIdeTeamDevBringChanges;
|
|
@@ -6547,6 +6559,7 @@ declare module "@stencil/core" {
|
|
|
6547
6559
|
"gx-ide-start-page": LocalJSX.GxIdeStartPage & JSXBase.HTMLAttributes<HTMLGxIdeStartPageElement>;
|
|
6548
6560
|
"gx-ide-starting-template": LocalJSX.GxIdeStartingTemplate & JSXBase.HTMLAttributes<HTMLGxIdeStartingTemplateElement>;
|
|
6549
6561
|
"gx-ide-status-buttons": LocalJSX.GxIdeStatusButtons & JSXBase.HTMLAttributes<HTMLGxIdeStatusButtonsElement>;
|
|
6562
|
+
"gx-ide-status-message": LocalJSX.GxIdeStatusMessage & JSXBase.HTMLAttributes<HTMLGxIdeStatusMessageElement>;
|
|
6550
6563
|
"gx-ide-switch-panel": LocalJSX.GxIdeSwitchPanel & JSXBase.HTMLAttributes<HTMLGxIdeSwitchPanelElement>;
|
|
6551
6564
|
"gx-ide-switcher": LocalJSX.GxIdeSwitcher & JSXBase.HTMLAttributes<HTMLGxIdeSwitcherElement>;
|
|
6552
6565
|
"gx-ide-team-dev-bring-changes": LocalJSX.GxIdeTeamDevBringChanges & JSXBase.HTMLAttributes<HTMLGxIdeTeamDevBringChangesElement>;
|