@genexus/genexus-ide-ui 1.0.12 → 1.0.14
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/form-validation-df39cabb.js +56 -0
- package/dist/cjs/form-validation-df39cabb.js.map +1 -0
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-ai-message.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +11 -11
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js +274 -147
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +41 -87
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-recent-news.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-start-page.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
- package/dist/cjs/{helpers-be14ea67.js → helpers-74cf5c16.js} +9 -35
- package/dist/cjs/helpers-74cf5c16.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/common/helpers.js +6 -18
- package/dist/collection/common/helpers.js.map +1 -1
- package/dist/collection/components/connect-gx-server/connect-gx-server.js +1 -1
- package/dist/collection/components/connect-gx-server/connect-gx-server.js.map +1 -1
- package/dist/collection/components/create-kb-from-server/create-kb-from-server.js +1 -1
- package/dist/collection/components/create-kb-from-server/create-kb-from-server.js.map +1 -1
- package/dist/collection/components/kb-manager-export/kb-manager-export.js +11 -11
- package/dist/collection/components/kb-manager-export/kb-manager-export.js.map +1 -1
- package/dist/collection/components/new-environment/gx-ide-assets/new-environment/langs/new-environment.lang.en.json +4 -1
- package/dist/collection/components/new-environment/gx-ide-assets/new-environment/langs/new-environment.lang.ja.json +5 -2
- package/dist/collection/components/new-environment/helpers.js +11 -0
- package/dist/collection/components/new-environment/helpers.js.map +1 -0
- package/dist/collection/components/new-environment/new-environment.css +37 -658
- package/dist/collection/components/new-environment/new-environment.js +316 -214
- package/dist/collection/components/new-environment/new-environment.js.map +1 -1
- package/dist/collection/components/new-kb/helpers.js +0 -5
- package/dist/collection/components/new-kb/helpers.js.map +1 -1
- package/dist/collection/components/new-kb/new-kb.css +34 -11
- package/dist/collection/components/new-kb/new-kb.js +33 -40
- package/dist/collection/components/new-kb/new-kb.js.map +1 -1
- package/dist/collection/components/share-kb/share-kb.js +1 -1
- package/dist/collection/components/share-kb/share-kb.js.map +1 -1
- package/dist/components/form-validation.js +53 -0
- package/dist/components/form-validation.js.map +1 -0
- package/dist/components/gx-ide-connect-gx-server.js +1 -1
- package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
- package/dist/components/gx-ide-create-kb-from-server.js +1 -1
- package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
- package/dist/components/gx-ide-dashboard-home.js +1 -1
- package/dist/components/gx-ide-kb-manager-export.js +11 -11
- package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
- package/dist/components/gx-ide-new-environment.js +289 -164
- package/dist/components/gx-ide-new-environment.js.map +1 -1
- package/dist/components/gx-ide-new-kb.js +35 -81
- package/dist/components/gx-ide-new-kb.js.map +1 -1
- package/dist/components/gx-ide-object-selector.js +1 -1
- package/dist/components/gx-ide-share-kb.js +1 -1
- package/dist/components/gx-ide-share-kb.js.map +1 -1
- package/dist/components/gx-ide-start-page.js +1 -1
- package/dist/components/gx-ide-team-dev-commit.js +1 -1
- package/dist/components/gx-ide-team-dev-update.js +1 -1
- package/dist/components/gx-ide-ww-images.js +1 -1
- package/dist/components/helpers.js +7 -33
- package/dist/components/helpers.js.map +1 -1
- package/dist/esm/form-validation-8b3f527c.js +53 -0
- package/dist/esm/form-validation-8b3f527c.js.map +1 -0
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-ai-message.entry.js +1 -1
- package/dist/esm/gx-ide-connect-gx-server.entry.js +1 -1
- package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-create-kb-from-server.entry.js +1 -1
- package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-dashboard-home.entry.js +1 -1
- package/dist/esm/gx-ide-kb-manager-export.entry.js +11 -11
- package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
- package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
- package/dist/esm/gx-ide-new-environment.entry.js +276 -149
- package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-kb.entry.js +35 -81
- package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-object-selector.entry.js +1 -1
- package/dist/esm/gx-ide-recent-news.entry.js +1 -1
- package/dist/esm/gx-ide-share-kb.entry.js +1 -1
- package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-start-page.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-commit.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-update.entry.js +1 -1
- package/dist/esm/gx-ide-ww-images.entry.js +1 -1
- package/dist/esm/{helpers-05c62775.js → helpers-97d0509d.js} +8 -34
- package/dist/esm/helpers-97d0509d.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.css +2 -0
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/new-environment/langs/new-environment.lang.en.json +4 -1
- package/dist/genexus-ide-ui/gx-ide-assets/new-environment/langs/new-environment.lang.ja.json +5 -2
- package/dist/genexus-ide-ui/{p-176e8d55.entry.js → p-3663c45f.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-ca842e11.entry.js → p-3c7371a8.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-41ea711a.js +56 -0
- package/dist/genexus-ide-ui/p-41ea711a.js.map +1 -0
- package/dist/genexus-ide-ui/{p-55304f04.entry.js → p-4a8910cd.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-4b6e1cf2.js +158 -0
- package/dist/genexus-ide-ui/p-4b6e1cf2.js.map +1 -0
- package/dist/genexus-ide-ui/{p-5c5abefc.entry.js → p-4bf55012.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-4bf55012.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-51d5cc3d.entry.js +436 -0
- package/dist/genexus-ide-ui/p-51d5cc3d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-03a88768.entry.js → p-58409610.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-0fced96c.entry.js → p-7f08a5f8.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-7f08a5f8.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-6d0037f1.entry.js → p-7f4d8db5.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-6fa9ea04.entry.js → p-7f7d93b8.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-a2dad270.entry.js → p-89a7d88f.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-89a7d88f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-e629ab16.entry.js → p-8ad301c4.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-aa38604e.entry.js → p-8b9cf93c.entry.js} +62 -62
- package/dist/genexus-ide-ui/p-8b9cf93c.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-a787b331.entry.js → p-90deeaa8.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-ab29274c.entry.js → p-92681e48.entry.js} +249 -295
- package/dist/genexus-ide-ui/p-92681e48.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-de18e865.entry.js → p-f9a00f85.entry.js} +2 -2
- package/dist/types/common/helpers.d.ts +4 -3
- package/dist/types/components/new-environment/helpers.d.ts +4 -0
- package/dist/types/components/new-environment/new-environment.d.ts +33 -65
- package/dist/types/components/new-kb/helpers.d.ts +0 -2
- package/dist/types/components/new-kb/new-kb.d.ts +1 -2
- package/dist/types/components.d.ts +18 -45
- package/package.json +3 -3
- package/dist/cjs/helpers-be14ea67.js.map +0 -1
- package/dist/esm/helpers-05c62775.js.map +0 -1
- package/dist/genexus-ide-ui/p-0fced96c.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-14e6ef41.js +0 -171
- package/dist/genexus-ide-ui/p-14e6ef41.js.map +0 -1
- package/dist/genexus-ide-ui/p-5c5abefc.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-a2dad270.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-aa38604e.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-ab29274c.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-e146e456.entry.js +0 -342
- package/dist/genexus-ide-ui/p-e146e456.entry.js.map +0 -1
- /package/dist/genexus-ide-ui/{p-176e8d55.entry.js.map → p-3663c45f.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-ca842e11.entry.js.map → p-3c7371a8.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-55304f04.entry.js.map → p-4a8910cd.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-03a88768.entry.js.map → p-58409610.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-6d0037f1.entry.js.map → p-7f4d8db5.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-6fa9ea04.entry.js.map → p-7f7d93b8.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-e629ab16.entry.js.map → p-8ad301c4.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-a787b331.entry.js.map → p-90deeaa8.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-de18e865.entry.js.map → p-f9a00f85.entry.js.map} +0 -0
|
@@ -0,0 +1,436 @@
|
|
|
1
|
+
import { r as t, a as e, h as i, H as s, g as n } from "./p-aaed592c.js";
|
|
2
|
+
|
|
3
|
+
import { g as a } from "./p-6df9fab1.js";
|
|
4
|
+
|
|
5
|
+
import { c as o } from "./p-78b90603.js";
|
|
6
|
+
|
|
7
|
+
import { L as r } from "./p-74d59062.js";
|
|
8
|
+
|
|
9
|
+
import { r as h, m as d } from "./p-4b6e1cf2.js";
|
|
10
|
+
|
|
11
|
+
import { g as c } from "./p-3ef5a5a6.js";
|
|
12
|
+
|
|
13
|
+
import { v as l } from "./p-41ea711a.js";
|
|
14
|
+
|
|
15
|
+
const f = ':host{display:grid;block-size:100%;grid-template-rows:max-content 1fr max-content}.section{display:contents}.basic,.advanced{padding-block-start:var(--content-block-spacing);block-size:100%;overflow:auto}.advanced{padding-block-end:var(--content-block-spacing)}.basic{display:grid;grid-template:"runtime-environment runtime-environment" max-content "back-end front-end" 1fr;grid-template-columns:1fr 1fr}.basic__runtime-environment{grid-area:runtime-environment;display:flex;flex-direction:column;align-items:center}.control-header__back-end,.control-header__front-end{padding-block-start:var(--mer-spacing--md)}.basic__back-end{grid-area:back-end}.basic__front-end{grid-area:front-end}.basic__back-end,.basic__front-end{display:grid;grid-template-rows:max-content 1fr;grid-auto-rows:max-content;overflow:auto}.main__back-end{border-inline-end:var(--section-common-border)}.main__back-end,.main__front-end{grid-auto-rows:max-content;padding-block:var(--content-block-spacing);overflow:auto}.text-align-center{text-align:center}.tab::part(page){scrollbar-width:thin}';
|
|
16
|
+
|
|
17
|
+
var u = undefined && undefined.__classPrivateFieldGet || function(t, e, i, s) {
|
|
18
|
+
if (i === "a" && !s) throw new TypeError("Private accessor was defined without a getter");
|
|
19
|
+
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");
|
|
20
|
+
return i === "m" ? s : i === "a" ? s.call(t) : s ? s.value : e.get(t);
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
var p = undefined && undefined.__classPrivateFieldSet || function(t, e, i, s, n) {
|
|
24
|
+
if (s === "m") throw new TypeError("Private method is not writable");
|
|
25
|
+
if (s === "a" && !n) throw new TypeError("Private accessor was defined without a setter");
|
|
26
|
+
if (typeof e === "function" ? t !== e || !n : !e.has(t)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
27
|
+
return s === "a" ? n.call(t, i) : n ? n.value = i : e.set(t, i), i;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
var b, m, v, g, w, k, y, _, W, M, x, C, j, E, S, T, I, z, A, F, D, L, P, V, B, G, H, N, R, q, J, K, O;
|
|
31
|
+
|
|
32
|
+
const Q = [
|
|
33
|
+
// TODO: review if "utils/form--full" is required.
|
|
34
|
+
"resets/box-sizing", "components/tab", "components/tooltip", "utils/form--full", "utils/layout", "utils/typography", "chameleon/scrollbar" ];
|
|
35
|
+
|
|
36
|
+
const U = a({
|
|
37
|
+
category: "window-tools",
|
|
38
|
+
name: "genexus-cloud",
|
|
39
|
+
colorType: "on-surface"
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
const X = a({
|
|
43
|
+
category: "window-tools",
|
|
44
|
+
name: "rol",
|
|
45
|
+
colorType: "on-surface"
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
const Y = "main";
|
|
49
|
+
|
|
50
|
+
const Z = "basic";
|
|
51
|
+
|
|
52
|
+
const $ = "basic";
|
|
53
|
+
|
|
54
|
+
const tt = "advanced";
|
|
55
|
+
|
|
56
|
+
const et = class {
|
|
57
|
+
constructor(s) {
|
|
58
|
+
t(this, s);
|
|
59
|
+
b.add(this);
|
|
60
|
+
m.set(this, false);
|
|
61
|
+
v.set(this, void 0);
|
|
62
|
+
g.set(this, false);
|
|
63
|
+
w.set(this, void 0);
|
|
64
|
+
k.set(this, []);
|
|
65
|
+
y.set(this, void 0);
|
|
66
|
+
_.set(this, void 0);
|
|
67
|
+
W.set(this, e(`./gx-ide-assets/new-environment/shortcuts.json`));
|
|
68
|
+
M.set(this, []);
|
|
69
|
+
/**
|
|
70
|
+
* The component hard-coded strings translations.
|
|
71
|
+
*/
|
|
72
|
+
// eslint-disable-next-line @stencil-community/own-props-must-be-private
|
|
73
|
+
x.set(this, void 0);
|
|
74
|
+
/* References needed to collect data con "createCallback" button submit*/ C.set(this, void 0);
|
|
75
|
+
j.set(this, void 0);
|
|
76
|
+
E.set(this, void 0);
|
|
77
|
+
S.set(this, void 0);
|
|
78
|
+
T.set(this, void 0);
|
|
79
|
+
I.set(this, (() => {
|
|
80
|
+
/* the data store item id is used for the value (they are equal)*/
|
|
81
|
+
p(this, w, u(this, C, "f").value, "f");
|
|
82
|
+
u(this, J, "f").call(this);
|
|
83
|
+
}));
|
|
84
|
+
z.set(this, (t => {
|
|
85
|
+
const e = t.detail.trim();
|
|
86
|
+
if (e !== this.environmentName) {
|
|
87
|
+
this.environmentName = e;
|
|
88
|
+
p(this, g, true, "f");
|
|
89
|
+
}
|
|
90
|
+
}));
|
|
91
|
+
A.set(this, (() => {
|
|
92
|
+
var t;
|
|
93
|
+
p(this, _, (t = this.runtimes[0]) === null || t === void 0 ? void 0 : t.value, "f");
|
|
94
|
+
}));
|
|
95
|
+
F.set(this, (() => {
|
|
96
|
+
if (this.runtimes[0].id === "local") {
|
|
97
|
+
return X;
|
|
98
|
+
} else {
|
|
99
|
+
return U;
|
|
100
|
+
}
|
|
101
|
+
}));
|
|
102
|
+
// TODO: We must avoid performing the get 3 times.
|
|
103
|
+
// It is used on new-environment as well.
|
|
104
|
+
D.set(this, (t => {
|
|
105
|
+
var e, s, n;
|
|
106
|
+
return ((s = (e = this.validatableControls) === null || e === void 0 ? void 0 : e.get(t === null || t === void 0 ? void 0 : t.id)) === null || s === void 0 ? void 0 : s.hasError) && ((n = this.validatableControls.get(t.id)) === null || n === void 0 ? void 0 : n.message) && i("ch-tooltip", {
|
|
107
|
+
class: "tooltip",
|
|
108
|
+
actionElement: t,
|
|
109
|
+
blockAlign: o.tooltipSettings.blockAlign,
|
|
110
|
+
inlineAlign: o.tooltipSettings.inlineAlign,
|
|
111
|
+
delay: o.tooltipSettings.delay
|
|
112
|
+
}, this.validatableControls.get(t.id).message);
|
|
113
|
+
}));
|
|
114
|
+
P.set(this, (() => {
|
|
115
|
+
// populate #controlsValidation with the controls that could have errors.
|
|
116
|
+
const t = [ u(this, C, "f"), u(this, S, "f") ];
|
|
117
|
+
t.forEach((t => {
|
|
118
|
+
if (t.id) {
|
|
119
|
+
this.validatableControls.set(t.id, {
|
|
120
|
+
reference: t,
|
|
121
|
+
hasError: false,
|
|
122
|
+
message: undefined
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
}));
|
|
126
|
+
}));
|
|
127
|
+
V.set(this, (() => {
|
|
128
|
+
/* the language item id is used for the value (they are equal)*/
|
|
129
|
+
p(this, y, u(this, S, "f").value, "f");
|
|
130
|
+
u(this, q, "f").call(this);
|
|
131
|
+
u(this, O, "f").call(this);
|
|
132
|
+
u(this, J, "f").call(this);
|
|
133
|
+
}));
|
|
134
|
+
B.set(this, (() => i("slot", {
|
|
135
|
+
name: "property-grid"
|
|
136
|
+
})));
|
|
137
|
+
G.set(this, (() => [ i("div", {
|
|
138
|
+
class: "basic__runtime-environment control-header-with-border"
|
|
139
|
+
}, i("h2", {
|
|
140
|
+
// back end
|
|
141
|
+
class: "control-header heading-5 text-align-center"
|
|
142
|
+
}, u(this, x, "f").runtime), this.runtimes.length > 1 ? i("ch-radio-group-render", {
|
|
143
|
+
class: "radio-group",
|
|
144
|
+
onChange: u(this, H, "f"),
|
|
145
|
+
model: this.runtimesRadioGroupModel,
|
|
146
|
+
value: u(this, _, "f")
|
|
147
|
+
}) : i("div", null, i("ch-image", {
|
|
148
|
+
class: "icon-sm",
|
|
149
|
+
src: u(this, F, "f").call(this)
|
|
150
|
+
}), i("p", {
|
|
151
|
+
class: "text-body"
|
|
152
|
+
}, this.runtimes[0].label, " "))), i("section", {
|
|
153
|
+
class: "basic__back-end scrollable"
|
|
154
|
+
}, i("h2", {
|
|
155
|
+
// back end
|
|
156
|
+
class: "control-header control-header-with-border control-header__back-end heading-5 text-align-center spacing-body-inline"
|
|
157
|
+
}, u(this, x, "f").tabBasic.backEnd.backEndLabel), i("div", {
|
|
158
|
+
class: "field-group main__back-end spacing-body-inline scrollable"
|
|
159
|
+
}, i("div", {
|
|
160
|
+
// #language
|
|
161
|
+
class: "field field-block"
|
|
162
|
+
}, i("label", {
|
|
163
|
+
class: "label",
|
|
164
|
+
htmlFor: "language"
|
|
165
|
+
}, u(this, x, "f").tabBasic.backEnd.language), i("ch-combo-box-render", {
|
|
166
|
+
id: "language",
|
|
167
|
+
class: "combo-box",
|
|
168
|
+
part: "language",
|
|
169
|
+
value: this.languageInitialValue,
|
|
170
|
+
disabled: this.languages.length === 0,
|
|
171
|
+
model: this.languageComboBoxModel,
|
|
172
|
+
onInput: this.languages.length > 0 && u(this, V, "f"),
|
|
173
|
+
ref: t => p(this, S, t, "f")
|
|
174
|
+
}), u(this, D, "f").call(this, u(this, S, "f"))), i("div", {
|
|
175
|
+
// #data stores
|
|
176
|
+
class: "field field-block"
|
|
177
|
+
}, i("label", {
|
|
178
|
+
class: "label",
|
|
179
|
+
htmlFor: "data-store"
|
|
180
|
+
}, u(this, x, "f").tabBasic.backEnd.dataStores), i("ch-combo-box-render", {
|
|
181
|
+
id: "data-store",
|
|
182
|
+
class: "combo-box",
|
|
183
|
+
part: "data-store",
|
|
184
|
+
value: this.dataStoresInitialValue,
|
|
185
|
+
model: this.dataStoresComboBoxModel,
|
|
186
|
+
onInput: u(this, I, "f"),
|
|
187
|
+
ref: t => p(this, C, t, "f")
|
|
188
|
+
}), u(this, D, "f").call(this, u(this, C, "f"))))), i("section", {
|
|
189
|
+
class: "basic__front-end scrollable"
|
|
190
|
+
}, i("h2", {
|
|
191
|
+
// front end
|
|
192
|
+
class: "control-header control-header-with-border control-header__front-end heading-5 text-align-center spacing-body-inline"
|
|
193
|
+
}, u(this, x, "f").tabBasic.frontEnd.frontEndLabel), i("div", {
|
|
194
|
+
class: "field-group front-end__checkboxes spacing-body-inline main__front-end scrollable",
|
|
195
|
+
role: "group",
|
|
196
|
+
"aria-labelledby": u(this, x, "f").tabBasic.frontEnd.generators,
|
|
197
|
+
ref: t => p(this, E, t, "f")
|
|
198
|
+
}, h(this.frontEnds, "front-end", u(this, K, "f")))) ]));
|
|
199
|
+
H.set(this, (t => {
|
|
200
|
+
p(this, _, t.detail, "f");
|
|
201
|
+
u(this, q, "f").call(this);
|
|
202
|
+
}));
|
|
203
|
+
N.set(this, (async () => {
|
|
204
|
+
var t;
|
|
205
|
+
this.createCallback({
|
|
206
|
+
setAsCurrent: !!((t = u(this, T, "f")) === null || t === void 0 ? void 0 : t.value),
|
|
207
|
+
name: u(this, j, "f").value,
|
|
208
|
+
runtime: u(this, _, "f"),
|
|
209
|
+
language: u(this, S, "f").value,
|
|
210
|
+
dataStores: u(this, C, "f").value,
|
|
211
|
+
frontEnds: u(this, k, "f")
|
|
212
|
+
}).then((t => {
|
|
213
|
+
this.validatableControls = l(t, this.validatableControls);
|
|
214
|
+
}));
|
|
215
|
+
}));
|
|
216
|
+
R.set(this, (t => {
|
|
217
|
+
if (t.detail.newSelectedId === tt) {
|
|
218
|
+
this.advancedTabIsVisible = true;
|
|
219
|
+
// Some logic for advanced tab is done on componentDidRender lifecycle,
|
|
220
|
+
// since the reference to the elements is needed.
|
|
221
|
+
}
|
|
222
|
+
}));
|
|
223
|
+
q.set(this, (async () => {
|
|
224
|
+
if (this.getDataSourcesCallback) {
|
|
225
|
+
const t = await this.getDataSourcesCallback(u(this, y, "f"), u(this, _, "f"));
|
|
226
|
+
if ((t === null || t === void 0 ? void 0 : t.length) > 0) {
|
|
227
|
+
this.dataStores = t;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}));
|
|
231
|
+
J.set(this, (async () => {
|
|
232
|
+
if (this.getEnvironmentNameCallback && u(this, j, "f") && !u(this, g, "f")) {
|
|
233
|
+
const t = await this.getEnvironmentNameCallback(u(this, y, "f"), u(this, w, "f"));
|
|
234
|
+
if (t) {
|
|
235
|
+
this.environmentName = t;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}));
|
|
239
|
+
K.set(this, (() => {
|
|
240
|
+
p(this, k, u(this, b, "m", L).call(this), "f");
|
|
241
|
+
}));
|
|
242
|
+
O.set(this, (async () => {
|
|
243
|
+
if (this.getFrontEndsCallback) {
|
|
244
|
+
const t = await this.getFrontEndsCallback(u(this, y, "f"));
|
|
245
|
+
if ((t === null || t === void 0 ? void 0 : t.length) > 0) {
|
|
246
|
+
this.frontEnds = t;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}));
|
|
250
|
+
this.advancedTabIsVisible = false;
|
|
251
|
+
this.validatableControls = new Map;
|
|
252
|
+
this.dataStoresComboBoxModel = [];
|
|
253
|
+
this.dataStoresInitialValue = undefined;
|
|
254
|
+
this.languageComboBoxModel = [];
|
|
255
|
+
this.languageInitialValue = undefined;
|
|
256
|
+
this.runtimesRadioGroupModel = [];
|
|
257
|
+
this.cancelCallback = undefined;
|
|
258
|
+
this.createCallback = undefined;
|
|
259
|
+
this.dataStores = undefined;
|
|
260
|
+
this.disableAdvanced = false;
|
|
261
|
+
this.environmentName = undefined;
|
|
262
|
+
this.frontEnds = undefined;
|
|
263
|
+
this.getDataSourcesCallback = undefined;
|
|
264
|
+
this.getEnvironmentNameCallback = undefined;
|
|
265
|
+
this.getFrontEndsCallback = undefined;
|
|
266
|
+
this.isAdvanced = false;
|
|
267
|
+
this.languages = undefined;
|
|
268
|
+
this.runtimes = undefined;
|
|
269
|
+
this.setAsTarget = true;
|
|
270
|
+
}
|
|
271
|
+
dataStoresChanged(t) {
|
|
272
|
+
if (t === null || t === void 0 ? void 0 : t.length) {
|
|
273
|
+
this.dataStoresComboBoxModel = d(t);
|
|
274
|
+
this.dataStoresInitialValue = c(t);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
languagesChanged(t) {
|
|
278
|
+
if (t === null || t === void 0 ? void 0 : t.length) {
|
|
279
|
+
this.languageComboBoxModel = d(t);
|
|
280
|
+
this.languageInitialValue = c(t);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
runtimesChanged(t) {
|
|
284
|
+
if (t === null || t === void 0 ? void 0 : t.length) {
|
|
285
|
+
this.runtimesRadioGroupModel = d(this.runtimes);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
connectedCallback() {
|
|
289
|
+
this.dataStoresChanged(this.dataStores);
|
|
290
|
+
this.languagesChanged(this.languages);
|
|
291
|
+
this.runtimesChanged(this.runtimes);
|
|
292
|
+
}
|
|
293
|
+
componentDidLoad() {
|
|
294
|
+
u(this, K, "f").call(this);
|
|
295
|
+
u(this, P, "f").call(this);
|
|
296
|
+
}
|
|
297
|
+
componentDidRender() {
|
|
298
|
+
if (this.advancedTabIsVisible && !u(this, m, "f")) {
|
|
299
|
+
// just call this once.
|
|
300
|
+
p(this, m, true, "f");
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
async componentWillLoad() {
|
|
304
|
+
p(this, x, await r.getComponentStrings(this.el), "f");
|
|
305
|
+
p(this, M, [ {
|
|
306
|
+
id: $,
|
|
307
|
+
name: u(this, x, "f").tabBasic.tabLabel
|
|
308
|
+
}, {
|
|
309
|
+
id: tt,
|
|
310
|
+
name: u(this, x, "f").tabAdvanced.tabLabel
|
|
311
|
+
} ], "f");
|
|
312
|
+
u(this, A, "f").call(this);
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Suspends or reactivates the shortcuts
|
|
316
|
+
*/ async suspendShortcuts(t) {
|
|
317
|
+
if (t) {
|
|
318
|
+
u(this, v, "f").suspend = true;
|
|
319
|
+
} else {
|
|
320
|
+
u(this, v, "f").suspend = false;
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
render() {
|
|
324
|
+
return i(s, {
|
|
325
|
+
class: "widget scrollable"
|
|
326
|
+
}, i("ch-theme", {
|
|
327
|
+
model: Q
|
|
328
|
+
}), i("ch-shortcuts", {
|
|
329
|
+
src: u(this, W, "f"),
|
|
330
|
+
ref: t => p(this, v, t, "f")
|
|
331
|
+
}), i("section", {
|
|
332
|
+
class: "section"
|
|
333
|
+
}, i("header", {
|
|
334
|
+
class: "header control-header-with-border spacing-body-inline spacing-body-block-start"
|
|
335
|
+
}, i("div", {
|
|
336
|
+
// #environment name
|
|
337
|
+
class: "field field-inline"
|
|
338
|
+
}, i("label", {
|
|
339
|
+
class: "label",
|
|
340
|
+
htmlFor: "environment-name"
|
|
341
|
+
}, u(this, x, "f").name), i("ch-edit", {
|
|
342
|
+
autoFocus: true,
|
|
343
|
+
id: "environment-name",
|
|
344
|
+
class: "form-input",
|
|
345
|
+
part: "environment-name",
|
|
346
|
+
value: this.environmentName,
|
|
347
|
+
placeholder: u(this, x, "f").environmentNamePlaceholder,
|
|
348
|
+
// TODO: toolTip={config.tooltip}
|
|
349
|
+
ref: t => p(this, j, t, "f"),
|
|
350
|
+
onInput: !u(this, g, "f") && u(this, z, "f")
|
|
351
|
+
}))), this.isAdvanced ? i("ch-tab-render", {
|
|
352
|
+
// main section
|
|
353
|
+
class: {
|
|
354
|
+
tab: true,
|
|
355
|
+
[Y]: true
|
|
356
|
+
},
|
|
357
|
+
direction: "block",
|
|
358
|
+
model: u(this, M, "f"),
|
|
359
|
+
selectedId: $,
|
|
360
|
+
overflow: "auto",
|
|
361
|
+
contain: "size",
|
|
362
|
+
onSelectedItemChange: !this.advancedTabIsVisible && u(this, R, "f")
|
|
363
|
+
}, i("div", {
|
|
364
|
+
slot: $,
|
|
365
|
+
class: Z,
|
|
366
|
+
part: "tab-button-basic"
|
|
367
|
+
}, u(this, G, "f").call(this)), this.advancedTabIsVisible && i("div", {
|
|
368
|
+
slot: tt,
|
|
369
|
+
class: "advanced spacing-body-inline",
|
|
370
|
+
part: "tab-button-advanced"
|
|
371
|
+
}, u(this, B, "f").call(this))) : i("div", {
|
|
372
|
+
// main section
|
|
373
|
+
class: Y
|
|
374
|
+
}, i("div", {
|
|
375
|
+
class: Z
|
|
376
|
+
}, u(this, G, "f").call(this))), i("footer", {
|
|
377
|
+
class: {
|
|
378
|
+
"control-footer": this.isAdvanced,
|
|
379
|
+
"control-footer-with-border": !this.isAdvanced,
|
|
380
|
+
"control-footer-space-between": true,
|
|
381
|
+
"spacing-body-block-end": true,
|
|
382
|
+
"spacing-body-inline": true
|
|
383
|
+
}
|
|
384
|
+
}, i("ch-checkbox", {
|
|
385
|
+
// #set as current environment
|
|
386
|
+
class: "checkbox",
|
|
387
|
+
caption: u(this, x, "f").footer.setAsCurrentEnvironment,
|
|
388
|
+
ref: t => p(this, T, t, "f"),
|
|
389
|
+
checkedValue: "current-environment",
|
|
390
|
+
value: this.setAsTarget ? "current-environment" : "",
|
|
391
|
+
part: "set-as-current-environment"
|
|
392
|
+
}), i("div", {
|
|
393
|
+
class: "buttons-spacer"
|
|
394
|
+
}, i("button", {
|
|
395
|
+
// #cancel
|
|
396
|
+
class: "button-secondary",
|
|
397
|
+
onClick: this.cancelCallback,
|
|
398
|
+
part: "button button--cancel"
|
|
399
|
+
}, u(this, x, "f").footer.btnCancel), i("button", {
|
|
400
|
+
// #set new environment
|
|
401
|
+
class: "button-primary",
|
|
402
|
+
onClick: u(this, N, "f"),
|
|
403
|
+
part: "button button--create"
|
|
404
|
+
}, u(this, x, "f").footer.btnCreate)))));
|
|
405
|
+
}
|
|
406
|
+
static get assetsDirs() {
|
|
407
|
+
return [ "gx-ide-assets/new-environment" ];
|
|
408
|
+
}
|
|
409
|
+
get el() {
|
|
410
|
+
return n(this);
|
|
411
|
+
}
|
|
412
|
+
static get watchers() {
|
|
413
|
+
return {
|
|
414
|
+
dataStores: [ "dataStoresChanged" ],
|
|
415
|
+
languages: [ "languagesChanged" ],
|
|
416
|
+
runtimes: [ "runtimesChanged" ]
|
|
417
|
+
};
|
|
418
|
+
}
|
|
419
|
+
};
|
|
420
|
+
|
|
421
|
+
m = new WeakMap, v = new WeakMap, g = new WeakMap, w = new WeakMap, k = new WeakMap,
|
|
422
|
+
y = new WeakMap, _ = new WeakMap, W = new WeakMap, M = new WeakMap, x = new WeakMap,
|
|
423
|
+
C = new WeakMap, j = new WeakMap, E = new WeakMap, S = new WeakMap, T = new WeakMap,
|
|
424
|
+
I = new WeakMap, z = new WeakMap, A = new WeakMap, F = new WeakMap, D = new WeakMap,
|
|
425
|
+
P = new WeakMap, V = new WeakMap, B = new WeakMap, G = new WeakMap, H = new WeakMap,
|
|
426
|
+
N = new WeakMap, R = new WeakMap, q = new WeakMap, J = new WeakMap, K = new WeakMap,
|
|
427
|
+
O = new WeakMap, b = new WeakSet, L = function _GxIdeNewEnvironment_getCheckboxValues() {
|
|
428
|
+
const t = u(this, E, "f").querySelectorAll("ch-checkbox");
|
|
429
|
+
const e = Array.from(t).map((t => t.value)).filter(Boolean);
|
|
430
|
+
return e;
|
|
431
|
+
};
|
|
432
|
+
|
|
433
|
+
et.style = f;
|
|
434
|
+
|
|
435
|
+
export { et as gx_ide_new_environment };
|
|
436
|
+
//# sourceMappingURL=p-51d5cc3d.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["newEnvironmentCss","CSS_BUNDLES","GEMINI_TOOLS_GENEXUS_CLOUD_ON_SURFACE","getIconPath","category","name","colorType","GEMINI_TOOLS_ROL_ON_SURFACE","MAIN_SECTION_CLASSES","BASIC_SECTION_PARENT_CLASSES","BASIC_TAB_SELECTOR","ADVANCED_TAB_SELECTOR","GxIdeNewEnvironment","_GxIdeNewEnvironment_advancedTabHasBeenRendered","set","this","_GxIdeNewEnvironment_chShortcutsEl","_GxIdeNewEnvironment_envNameModifiedByUser","_GxIdeNewEnvironment_selectedDataStoreId","_GxIdeNewEnvironment_selectedFrontEndsIds","_GxIdeNewEnvironment_selectedLanguageId","_GxIdeNewEnvironment_selectedRuntimeEnvironmentId","_GxIdeNewEnvironment_shortcutsSrc","getAssetPath","_GxIdeNewEnvironment_newEnvironmentSectionsModel","_GxIdeNewEnvironment_componentLocale","_GxIdeNewEnvironment_dataStoreEl","_GxIdeNewEnvironment_environmentNameEl","_GxIdeNewEnvironment_frontEndsEl","_GxIdeNewEnvironment_languageEl","_GxIdeNewEnvironment_setAsCurrentEnvironmentEl","_GxIdeNewEnvironment_dataStoreValueChangedHandler","__classPrivateFieldSet","__classPrivateFieldGet","value","_GxIdeNewEnvironment_updateEnvironmentName","call","_GxIdeNewEnvironment_envNameInputHandler","e","newEnvName","detail","trim","environmentName","_GxIdeNewEnvironment_evaluateSelectedRuntimeEnvironmentId","_a","runtimes","_GxIdeNewEnvironment_evaluateSingleRuntimeIcon","id","_GxIdeNewEnvironment_evaluateTooltipRender","controlReference","_b","validatableControls","get","hasError","_c","message","h","class","actionElement","blockAlign","config","tooltipSettings","inlineAlign","delay","_GxIdeNewEnvironment_initializeValidatableControlsBasicTab","forEach","validatableControl","reference","undefined","_GxIdeNewEnvironment_languageValueChangedHandler","_GxIdeNewEnvironment_updateDataSources","_GxIdeNewEnvironment_updateFrontEnds","_GxIdeNewEnvironment_renderAdvanced","_GxIdeNewEnvironment_renderBasic","runtime","length","onChange","_GxIdeNewEnvironment_runtimeEnvironmentChangedHandler","model","runtimesRadioGroupModel","src","label","tabBasic","backEnd","backEndLabel","htmlFor","language","part","languageInitialValue","disabled","languages","languageComboBoxModel","onInput","ref","el","dataStores","dataStoresInitialValue","dataStoresComboBoxModel","frontEnd","frontEndLabel","role","generators","renderChCheckboxItems","frontEnds","_GxIdeNewEnvironment_updateSelectedFrontEndsIds","event","_GxIdeNewEnvironment_setEnvironmentHandler","async","createCallback","setAsCurrent","then","formSubmitResult","validateControls","_GxIdeNewEnvironment_tabSelectionChangedHandler","newSelectedId","advancedTabIsVisible","getDataSourcesCallback","updatedDataSources","getEnvironmentNameCallback","updatedEnvName","_GxIdeNewEnvironment_instances","_GxIdeNewEnvironment_getCheckboxValues","getFrontEndsCallback","updatedFrontEnds","Map","dataStoresChanged","newValue","mapOptionsToComboBoxItemModel","getSelectedItem","languagesChanged","runtimesChanged","connectedCallback","componentDidLoad","componentDidRender","componentWillLoad","Locale","getComponentStrings","tabLabel","tabAdvanced","suspendShortcuts","suspend","render","Host","autoFocus","placeholder","environmentNamePlaceholder","isAdvanced","tab","direction","selectedId","overflow","contain","onSelectedItemChange","slot","caption","footer","setAsCurrentEnvironment","checkedValue","setAsTarget","onClick","cancelCallback","btnCancel","btnCreate","checkboxes","querySelectorAll","values","Array","from","map","checkbox","filter","Boolean"],"sources":["src/components/new-environment/new-environment.scss?tag=gx-ide-new-environment&encapsulation=shadow","src/components/new-environment/new-environment.tsx"],"sourcesContent":[":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.basic,\n.advanced {\n padding-block-start: var(--content-block-spacing);\n block-size: 100%;\n overflow: auto;\n}\n.advanced {\n padding-block-end: var(--content-block-spacing);\n}\n\n// basic\n.basic {\n display: grid;\n grid-template:\n \"runtime-environment runtime-environment\" max-content\n \"back-end front-end\" 1fr;\n grid-template-columns: 1fr 1fr;\n}\n.basic__runtime-environment {\n grid-area: runtime-environment;\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.control-header__back-end,\n.control-header__front-end {\n padding-block-start: var(--mer-spacing--md);\n}\n.basic__back-end {\n grid-area: back-end;\n}\n.basic__front-end {\n grid-area: front-end;\n}\n.basic__back-end,\n.basic__front-end {\n display: grid;\n grid-template-rows: max-content 1fr;\n grid-auto-rows: max-content;\n overflow: auto;\n}\n.main__back-end {\n border-inline-end: var(--section-common-border);\n}\n.main__back-end,\n.main__front-end {\n grid-auto-rows: max-content;\n padding-block: var(--content-block-spacing);\n overflow: auto;\n}\n\n// WA / TODO: Add a helper class in Mercury to justify text.\n.text-align-center {\n text-align: center; // should be resolved on mercury\n}\n\n.tab::part(page) {\n // WA / TODO: Remove this line when the ch-tab renders supports scrollbar\n // custom styling\n scrollbar-width: thin;\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Element,\n getAssetPath,\n Host,\n Method,\n Prop,\n State,\n h,\n Watch\n} from \"@stencil/core\";\n\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n\nimport { config } from \"../../common/config\";\nimport { Locale } from \"../../common/locale\";\nimport {\n mapOptionsToComboBoxItemModel,\n renderChCheckboxItems\n} from \"../../common/helpers\";\nimport { getSelectedItem } from \"../../common/common\";\nimport { FormSubmitResult, GxOption } from \"../../common/types\";\nimport {\n ControlValidation,\n validateControls\n} from \"../../common/form-validation\";\nimport {\n ChRadioGroupRenderCustomEvent,\n TabModel,\n ComboBoxModel,\n ChEditCustomEvent,\n RadioGroupModel\n} from \"@genexus/chameleon-controls-library\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n // TODO: review if \"utils/form--full\" is required.\n \"resets/box-sizing\",\n \"components/tab\",\n \"components/tooltip\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"chameleon/scrollbar\"\n];\nconst GEMINI_TOOLS_GENEXUS_CLOUD_ON_SURFACE = getIconPath({\n category: \"window-tools\",\n name: \"genexus-cloud\",\n colorType: \"on-surface\"\n});\nconst GEMINI_TOOLS_ROL_ON_SURFACE = getIconPath({\n category: \"window-tools\",\n name: \"rol\",\n colorType: \"on-surface\"\n});\n\nconst MAIN_SECTION_CLASSES: string = \"main\";\nconst BASIC_SECTION_PARENT_CLASSES: string = \"basic\";\nconst BASIC_TAB_SELECTOR: string = \"basic\";\nconst ADVANCED_TAB_SELECTOR: string = \"advanced\";\n\n@Component({\n tag: \"gx-ide-new-environment\",\n styleUrl: \"new-environment.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/new-environment\"]\n})\nexport class GxIdeNewEnvironment {\n #advancedTabHasBeenRendered: boolean = false;\n #chShortcutsEl!: HTMLChShortcutsElement;\n #envNameModifiedByUser = false;\n #selectedDataStoreId: string;\n #selectedFrontEndsIds: string[] = [];\n #selectedLanguageId: string;\n #selectedRuntimeEnvironmentId: string;\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/new-environment/shortcuts.json`\n );\n #newEnvironmentSectionsModel: TabModel = [];\n\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n\n @Element() el: HTMLGxIdeNewEnvironmentElement;\n\n /* References needed to collect data con \"createCallback\" button submit*/\n #dataStoreEl!: HTMLChComboBoxRenderElement;\n #environmentNameEl!: HTMLChEditElement;\n #frontEndsEl!: HTMLDivElement;\n #languageEl!: HTMLChComboBoxRenderElement;\n #setAsCurrentEnvironmentEl!: HTMLChCheckboxElement;\n\n @State() advancedTabIsVisible: boolean = false;\n @State() validatableControls = new Map<string, ControlValidation>();\n\n // representations of GxOption[] as ComboBoxModel or RadioGroupModel.\n @State() dataStoresComboBoxModel: ComboBoxModel = [];\n @State() dataStoresInitialValue: string;\n @State() languageComboBoxModel: ComboBoxModel = [];\n @State() languageInitialValue: string;\n @State() runtimesRadioGroupModel: RadioGroupModel = [];\n\n /**\n * Callback invoked when user wants to cancel\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * Callback invoked when user confirms the KB creation\n */\n @Prop() readonly createCallback!: CreateCallback;\n\n /**\n * Allows defining the DBMS to be used in the solution\n */\n @Prop({ mutable: true }) dataStores!: GxOption[];\n @Watch(\"dataStores\")\n dataStoresChanged(newValue: GxOption[]) {\n if (newValue?.length) {\n this.dataStoresComboBoxModel = mapOptionsToComboBoxItemModel(newValue);\n this.dataStoresInitialValue = getSelectedItem(newValue);\n }\n }\n\n /**\n * Allows selecting multiple generators for the front end\n */\n @Prop() readonly disableAdvanced: boolean = false;\n\n /**\n * Name of the new environment\n */\n @Prop({ mutable: true }) environmentName: string;\n\n /**\n * Allows selecting multiple generators for the front end\n */\n @Prop({ mutable: true }) frontEnds!: GxOption[];\n\n /**\n * Callback invoked when user changes the language or the runtime\n */\n @Prop() readonly getDataSourcesCallback: GetDataSourcesCallback;\n\n /**\n * Callback invoked when user changes the language or data source\n */\n @Prop() readonly getEnvironmentNameCallback: GetEnvironmentNameCallback;\n\n /**\n * Callback invoked when user changes the language\n */\n @Prop() readonly getFrontEndsCallback: GetFrontEndsCallback;\n\n /**\n * Define if the Advanced tab should be displayed\n */\n @Prop() readonly isAdvanced: boolean = false;\n\n /**\n * Possible values for 'Language' combo\n */\n @Prop() readonly languages!: GxOption[];\n @Watch(\"languages\")\n languagesChanged(newValue: GxOption[]) {\n if (newValue?.length) {\n this.languageComboBoxModel = mapOptionsToComboBoxItemModel(newValue);\n this.languageInitialValue = getSelectedItem(newValue);\n }\n }\n\n /**\n * Possible values for 'Runtime Environment' radio button\n */\n @Prop() readonly runtimes!: GxOption[];\n @Watch(\"runtimes\")\n runtimesChanged(newValue: GxOption[]) {\n if (newValue?.length) {\n this.runtimesRadioGroupModel = mapOptionsToComboBoxItemModel(\n this.runtimes\n );\n }\n }\n\n /**\n * Belongs to checkbox 'Set as current environment' @default true\n *\n */\n @Prop() readonly setAsTarget?: boolean = true;\n\n connectedCallback() {\n this.dataStoresChanged(this.dataStores);\n this.languagesChanged(this.languages);\n this.runtimesChanged(this.runtimes);\n }\n\n componentDidLoad() {\n this.#updateSelectedFrontEndsIds();\n this.#initializeValidatableControlsBasicTab();\n }\n\n componentDidRender() {\n if (this.advancedTabIsVisible && !this.#advancedTabHasBeenRendered) {\n // just call this once.\n this.#advancedTabHasBeenRendered = true;\n }\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#newEnvironmentSectionsModel = [\n {\n id: BASIC_TAB_SELECTOR,\n name: this.#componentLocale.tabBasic.tabLabel\n },\n {\n id: ADVANCED_TAB_SELECTOR,\n name: this.#componentLocale.tabAdvanced.tabLabel\n }\n ];\n this.#evaluateSelectedRuntimeEnvironmentId();\n }\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.#chShortcutsEl.suspend = true;\n } else {\n this.#chShortcutsEl.suspend = false;\n }\n }\n\n #dataStoreValueChangedHandler = () => {\n /* the data store item id is used for the value (they are equal)*/\n this.#selectedDataStoreId = this.#dataStoreEl.value;\n this.#updateEnvironmentName();\n };\n\n #envNameInputHandler = (e: ChEditCustomEvent<string> | InputEvent) => {\n const newEnvName = (e as ChEditCustomEvent<string>).detail.trim();\n if (newEnvName !== this.environmentName) {\n this.environmentName = newEnvName;\n this.#envNameModifiedByUser = true;\n }\n };\n\n #evaluateSelectedRuntimeEnvironmentId = () => {\n this.#selectedRuntimeEnvironmentId = this.runtimes[0]?.value;\n };\n\n #evaluateSingleRuntimeIcon = () => {\n if (this.runtimes[0].id === \"local\") {\n return GEMINI_TOOLS_ROL_ON_SURFACE;\n } else {\n return GEMINI_TOOLS_GENEXUS_CLOUD_ON_SURFACE;\n }\n };\n\n // TODO: We must avoid performing the get 3 times.\n // It is used on new-environment 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 #getCheckboxValues() {\n const checkboxes = this.#frontEndsEl.querySelectorAll(\"ch-checkbox\");\n const values: Array<string> = Array.from(checkboxes)\n .map((checkbox: any) => checkbox.value)\n .filter(Boolean);\n return values;\n }\n\n #initializeValidatableControlsBasicTab = () => {\n // populate #controlsValidation with the controls that could have errors.\n const validatableControls: HTMLElement[] = [\n this.#dataStoreEl,\n this.#languageEl\n ];\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 #languageValueChangedHandler = () => {\n /* the language item id is used for the value (they are equal)*/\n this.#selectedLanguageId = this.#languageEl.value;\n this.#updateDataSources();\n this.#updateFrontEnds();\n this.#updateEnvironmentName();\n };\n\n #renderAdvanced = (): Element => {\n return <slot name=\"property-grid\"></slot>;\n };\n\n #renderBasic = (): HTMLElement[] => {\n return [\n <div class=\"basic__runtime-environment control-header-with-border\">\n <h2\n // back end\n class=\"control-header heading-5 text-align-center\"\n >\n {this.#componentLocale.runtime}\n </h2>\n {this.runtimes.length > 1 ? (\n <ch-radio-group-render\n class=\"radio-group\"\n onChange={this.#runtimeEnvironmentChangedHandler}\n model={this.runtimesRadioGroupModel}\n value={this.#selectedRuntimeEnvironmentId}\n ></ch-radio-group-render>\n ) : (\n <div>\n <ch-image\n class=\"icon-sm\"\n src={this.#evaluateSingleRuntimeIcon()}\n ></ch-image>\n <p class=\"text-body\">{this.runtimes[0].label} </p>\n </div>\n )}\n </div>,\n <section class=\"basic__back-end scrollable\">\n <h2\n // back end\n class=\"control-header control-header-with-border control-header__back-end heading-5 text-align-center spacing-body-inline\"\n >\n {this.#componentLocale.tabBasic.backEnd.backEndLabel}\n </h2>\n\n <div class=\"field-group main__back-end spacing-body-inline scrollable\">\n <div\n // #language\n class=\"field field-block\"\n >\n <label class=\"label\" htmlFor=\"language\">\n {this.#componentLocale.tabBasic.backEnd.language}\n </label>\n <ch-combo-box-render\n id=\"language\"\n class=\"combo-box\"\n part=\"language\"\n value={this.languageInitialValue}\n disabled={this.languages.length === 0}\n model={this.languageComboBoxModel}\n onInput={\n this.languages.length > 0 && this.#languageValueChangedHandler\n }\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#languageEl = el as HTMLChComboBoxRenderElement)\n }\n // TODO: toolTip={config.tooltip}\n ></ch-combo-box-render>\n {this.#evaluateTooltipRender(this.#languageEl)}\n </div>\n\n <div\n // #data stores\n class=\"field field-block\"\n >\n <label class=\"label\" htmlFor=\"data-store\">\n {this.#componentLocale.tabBasic.backEnd.dataStores}\n </label>\n <ch-combo-box-render\n id=\"data-store\"\n class=\"combo-box\"\n part=\"data-store\"\n value={this.dataStoresInitialValue}\n model={this.dataStoresComboBoxModel}\n onInput={this.#dataStoreValueChangedHandler}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#dataStoreEl = el as HTMLChComboBoxRenderElement)\n }\n // TODO: toolTip={config.tooltip}\n ></ch-combo-box-render>\n {this.#evaluateTooltipRender(this.#dataStoreEl)}\n </div>\n </div>\n </section>,\n\n <section class=\"basic__front-end scrollable\">\n <h2\n // front end\n class=\"control-header control-header-with-border control-header__front-end heading-5 text-align-center spacing-body-inline\"\n >\n {this.#componentLocale.tabBasic.frontEnd.frontEndLabel}\n </h2>\n <div\n class=\"field-group front-end__checkboxes spacing-body-inline main__front-end scrollable\"\n role=\"group\"\n aria-labelledby={this.#componentLocale.tabBasic.frontEnd.generators}\n ref={(el: HTMLDivElement) =>\n (this.#frontEndsEl = el as HTMLDivElement)\n }\n >\n {renderChCheckboxItems(\n this.frontEnds,\n \"front-end\",\n this.#updateSelectedFrontEndsIds\n )}\n </div>\n </section>\n ];\n };\n\n #runtimeEnvironmentChangedHandler = (\n event: ChRadioGroupRenderCustomEvent<string>\n ): void => {\n this.#selectedRuntimeEnvironmentId = event.detail;\n this.#updateDataSources();\n };\n\n #setEnvironmentHandler = async () => {\n this.createCallback({\n setAsCurrent: !!this.#setAsCurrentEnvironmentEl?.value,\n name: this.#environmentNameEl.value,\n runtime: this.#selectedRuntimeEnvironmentId,\n language: this.#languageEl.value,\n dataStores: this.#dataStoreEl.value,\n frontEnds: this.#selectedFrontEndsIds\n }).then((formSubmitResult: FormSubmitResult) => {\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n });\n };\n\n #tabSelectionChangedHandler = (\n event: CustomEvent<{\n lastSelectedIndex: number;\n newSelectedId: string;\n newSelectedIndex: number;\n }>\n ): void => {\n if (event.detail.newSelectedId === ADVANCED_TAB_SELECTOR) {\n this.advancedTabIsVisible = true;\n // Some logic for advanced tab is done on componentDidRender lifecycle,\n // since the reference to the elements is needed.\n }\n };\n\n #updateDataSources = async () => {\n if (this.getDataSourcesCallback) {\n const updatedDataSources = await this.getDataSourcesCallback(\n this.#selectedLanguageId,\n this.#selectedRuntimeEnvironmentId\n );\n if (updatedDataSources?.length > 0) {\n this.dataStores = updatedDataSources;\n }\n }\n };\n\n #updateEnvironmentName = async () => {\n if (\n this.getEnvironmentNameCallback &&\n this.#environmentNameEl &&\n !this.#envNameModifiedByUser\n ) {\n const updatedEnvName = await this.getEnvironmentNameCallback(\n this.#selectedLanguageId,\n this.#selectedDataStoreId\n );\n if (updatedEnvName) {\n this.environmentName = updatedEnvName;\n }\n }\n };\n\n #updateSelectedFrontEndsIds = () => {\n this.#selectedFrontEndsIds = this.#getCheckboxValues();\n };\n\n #updateFrontEnds = async () => {\n if (this.getFrontEndsCallback) {\n const updatedFrontEnds = await this.getFrontEndsCallback(\n this.#selectedLanguageId\n );\n if (updatedFrontEnds?.length > 0) {\n this.frontEnds = updatedFrontEnds;\n }\n }\n };\n\n render() {\n return (\n <Host class=\"widget scrollable\">\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 spacing-body-inline spacing-body-block-start\">\n <div\n // #environment name\n class=\"field field-inline\"\n >\n <label class=\"label\" htmlFor=\"environment-name\">\n {this.#componentLocale.name}\n </label>\n <ch-edit\n autoFocus\n id=\"environment-name\"\n class=\"form-input\"\n part=\"environment-name\"\n value={this.environmentName}\n placeholder={this.#componentLocale.environmentNamePlaceholder}\n // TODO: toolTip={config.tooltip}\n ref={(el: HTMLChEditElement) =>\n (this.#environmentNameEl = el as HTMLChEditElement)\n }\n onInput={\n !this.#envNameModifiedByUser &&\n (this.#envNameInputHandler as any)\n }\n ></ch-edit>\n </div>\n </header>\n\n {this.isAdvanced ? (\n <ch-tab-render\n // main section\n class={{\n tab: true,\n [MAIN_SECTION_CLASSES]: true\n }}\n direction=\"block\"\n model={this.#newEnvironmentSectionsModel}\n selectedId={BASIC_TAB_SELECTOR}\n overflow=\"auto\"\n contain=\"size\"\n onSelectedItemChange={\n !this.advancedTabIsVisible && this.#tabSelectionChangedHandler\n }\n >\n <div\n slot={BASIC_TAB_SELECTOR}\n class={BASIC_SECTION_PARENT_CLASSES}\n part=\"tab-button-basic\"\n >\n {this.#renderBasic()}\n </div>\n {this.advancedTabIsVisible && (\n <div\n slot={ADVANCED_TAB_SELECTOR}\n class=\"advanced spacing-body-inline\"\n part=\"tab-button-advanced\"\n >\n {this.#renderAdvanced()}\n </div>\n )}\n </ch-tab-render>\n ) : (\n <div\n // main section\n class={MAIN_SECTION_CLASSES}\n >\n <div class={BASIC_SECTION_PARENT_CLASSES}>\n {this.#renderBasic()}\n </div>\n </div>\n )}\n\n <footer\n class={{\n \"control-footer\": this.isAdvanced,\n \"control-footer-with-border\": !this.isAdvanced,\n \"control-footer-space-between\": true,\n \"spacing-body-block-end\": true,\n \"spacing-body-inline\": true\n }}\n >\n <ch-checkbox\n // #set as current environment\n class=\"checkbox\"\n caption={this.#componentLocale.footer.setAsCurrentEnvironment}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#setAsCurrentEnvironmentEl = el as HTMLChCheckboxElement)\n }\n checkedValue=\"current-environment\"\n value={this.setAsTarget ? \"current-environment\" : \"\"}\n part=\"set-as-current-environment\"\n ></ch-checkbox>\n\n <div class=\"buttons-spacer\">\n <button\n // #cancel\n class=\"button-secondary\"\n onClick={this.cancelCallback}\n part=\"button button--cancel\"\n >\n {this.#componentLocale.footer.btnCancel}\n </button>\n\n <button\n // #set new environment\n class=\"button-primary\"\n onClick={this.#setEnvironmentHandler}\n part=\"button button--create\"\n >\n {this.#componentLocale.footer.btnCreate}\n </button>\n </div>\n </footer>\n </section>\n </Host>\n );\n }\n}\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type ChangedCallback = (data: NewEnvironmentData) => Promise<void>;\n\nexport type CreateCallback = (\n data: NewEnvironmentData\n) => Promise<FormSubmitResult>;\n\nexport type GetDataSourcesCallback = (\n selectedLanguageId: string,\n selectedRuntimeId: string\n) => Promise<GxOption[]>;\n\nexport type GetEnvironmentNameCallback = (\n selectedLanguageId: string,\n selectedDataSourceId: string\n) => Promise<string | undefined>;\n\nexport type GetFrontEndsCallback = (\n selectedLanguageId: string\n) => Promise<GxOption[]>;\n\nexport interface NewEnvironmentData {\n setAsCurrent: boolean;\n name: string;\n runtime: string;\n language: string;\n dataStores: string;\n frontEnds: string[];\n}\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { r as e, h as s, g as r } from "./p-aaed592c.js";
|
|
2
2
|
|
|
3
|
-
import { h as a } from "./p-
|
|
3
|
+
import { h as a } from "./p-4b6e1cf2.js";
|
|
4
4
|
|
|
5
5
|
const i = ':host{font-family:var(--mer-font-family--primary)}.message{color:var(--mer-color__neutral-gray--200);display:grid;grid-template-rows:0fr;transition:grid-template-rows 100ms;transition:grid-template-rows 100ms, -ms-grid-rows 100ms;}.message__outer-wrapper{overflow:hidden}.message__inner-wrapper{padding:var(--mer-spacing--2xs) var(--mer-spacing--xs);border-radius:var(--mer-border__radius--xs);border:var(--mer-border__width--sm) solid transparent;background-color:var(--mer-color__neutral-gray--1200);margin-block-start:var(--mer-spacing--xs)}.message__caption{font-size:var(--mer-font__size--2xs);line-height:var(--mer-line-height--comfortable);position:relative}.message--visible{grid-template-rows:1fr}.message--copying{pointer-events:none}.message--copying span:not(.copied),.message--copying .message__caption{color:transparent;-webkit-user-select:none;-ms-user-select:none;user-select:none;}.message--user .message__inner-wrapper{background-color:var(--mer-color__tint-blue--8)}.message--assistant-action .message__inner-wrapper{font-style:italic}.message--assistant-in-progress{color:var(--mer-color__neutral-gray--500)}.message--assistant-in-progress .message__inner-wrapper{font-style:italic;display:grid;grid-template-columns:1fr auto;gap:var(--mer-spacing--xs)}.message--assistant-in-progress .message__inner-wrapper .message__caption{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1}.message--assistant-in-progress .message__inner-wrapper .animation-wrapper{flex:none}.message--assistant-error .message__inner-wrapper{background-color:var(--mer-color__tint-red--5);border-color:var(--mer-color__tint-red--60)}.message--copyable{cursor:pointer}.message:last-child{margin-block-end:0}:host(:first-child) .message__inner-wrapper{margin-block-end:0}.animation-wrapper{width:45px;display:flex;align-items:center;justify-content:center}.dot-pulse{position:relative;left:-9999px;width:5px;height:5px;border-radius:2.5px;background-color:var(--mer-color__neutral-gray--400);color:var(--mer-color__neutral-gray--400);box-shadow:9999px 0 0 -5px;animation:dot-pulse 1.5s infinite linear;animation-delay:0.25s}.dot-pulse::before,.dot-pulse::after{content:"";display:inline-block;position:absolute;top:0;width:5px;height:5px;border-radius:2.5px;background-color:var(--mer-color__neutral-gray--400);color:var(--mer-color__neutral-gray--400)}.dot-pulse::before{box-shadow:9984px 0 0 -5px;animation:dot-pulse-before 1.5s infinite linear;animation-delay:0s}.dot-pulse::after{box-shadow:10014px 0 0 -5px;animation:dot-pulse-after 1.5s infinite linear;animation-delay:0.5s}@keyframes dot-pulse-before{0%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}60%,100%{box-shadow:9984px 0 0 -5px}}@keyframes dot-pulse{0%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}60%,100%{box-shadow:9999px 0 0 -5px}}@keyframes dot-pulse-after{0%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}60%,100%{box-shadow:10014px 0 0 -5px}}.copied{position:absolute;width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--mer-color__neutral-gray--300);display:flex;gap:var(--mer-spacing--2xs)}.hiChar{color:var(--mer-color__primary-blue--200);filter:brightness(1.3)}';
|
|
6
6
|
|
|
@@ -103,4 +103,4 @@ const t = class {
|
|
|
103
103
|
t.style = i;
|
|
104
104
|
|
|
105
105
|
export { t as gx_ide_ai_message };
|
|
106
|
-
//# sourceMappingURL=p-
|
|
106
|
+
//# sourceMappingURL=p-58409610.entry.js.map
|
|
@@ -4,7 +4,7 @@ import { L as s } from "./p-74d59062.js";
|
|
|
4
4
|
|
|
5
5
|
import { r as l } from "./p-3ef5a5a6.js";
|
|
6
6
|
|
|
7
|
-
import { f as n } from "./p-
|
|
7
|
+
import { f as n } from "./p-41ea711a.js";
|
|
8
8
|
|
|
9
9
|
const g = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}:host{display:block;border:1px solid var(--gxg-border-color--regular);background-color:var(--mer-color__surface)}.grid-data{grid-template-columns:repeat(2, 1fr)}.grid-data-account{grid-template-columns:auto 1fr}.grid-data-account>:nth-child(1){grid-area:1/1/2/3}.grid-data-account>:nth-child(6){grid-area:4/2/5/3}.grid-data-kbs{display:flex;flex-direction:column;gap:var(--gx-ide-grid-row-gap)}.grid-data-kbs .search-kbs{width:100%;display:flex}.grid-data-kbs .box-kbs{height:150px}.grid-data-kbs-footer{display:flex}.flex{display:flex}.flex>:nth-child(2){flex:1}";
|
|
10
10
|
|
|
@@ -238,4 +238,4 @@ const d = class {
|
|
|
238
238
|
d.style = g;
|
|
239
239
|
|
|
240
240
|
export { d as gx_ide_create_kb_from_server };
|
|
241
|
-
//# sourceMappingURL=p-
|
|
241
|
+
//# sourceMappingURL=p-7f08a5f8.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createKbFromServerCss","GxIdeCreateKbFromServer","this","renderedFirstTime","shortcutsSrc","getAssetPath","kbIdSelected","authenticationTypes","setAuthenticationTypes","id","value","label","_componentLocale","genexusAccount","local","addEventListeners","serverUrlsEl","addEventListener","reset","searchKBEl","e","kbNameEl","kbSearchText","detail","listBoxEl","ev","selectedItems","items","selectedItem","length","kbSelected","kbs","find","kb","name","createKbHandler","createKBCallback","createKBCallbackPromise","then","formSubmitResult","formSubmitValidation","connectCallbackHandler","connectCallback","connectCallbackPromise","serverUrl","authenticationType","authenticationTypeEl","user","_a","userNameEl","password","_b","passwordEl","connectionResultData","formResult","success","selectionKbDisabled","watchPropHandler","newKbs","kbName","componentWillLoad","Locale","getComponentStrings","el","componentDidLoad","focus","componentDidRender","componentDidRenderFirstTime","emit","componentName","render","h","Host","class","containerTitle","displayTitle","labelPosition","disableFilter","enableCustomServer","ref","part","serverUrls","renderFormItems","map","sUrl","onValueChanged","evaluateAuthenticationType","userName","type","onClick","buttons","connect","disabled","placeholder","searchKbs","singleSelection","filter","toLowerCase","includes","key","localKb","create","src"],"sources":["src/components/create-kb-from-server/create-kb-from-server.scss?tag=gx-ide-create-kb-from-server&encapsulation=shadow","src/components/create-kb-from-server/create-kb-from-server.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n border: 1px solid var(--gxg-border-color--regular);\n background-color: var(--mer-color__surface);\n}\n:host(.gxi-create-kb-from-server--shadow) {\n}\n\n.grid-data {\n grid-template-columns: repeat(2, 1fr);\n}\n.grid-data-account {\n grid-template-columns: auto 1fr;\n > :nth-child(1) {\n grid-area: 1 / 1 / 2 / 3;\n }\n > :nth-child(6) {\n grid-area: 4 / 2 / 5 / 3;\n }\n}\n.grid-data-kbs {\n display: flex;\n flex-direction: column;\n gap: var(--gx-ide-grid-row-gap);\n .search-kbs {\n width: 100%;\n display: flex;\n }\n .box-kbs {\n height: 150px;\n }\n}\n.grid-data-kbs-footer {\n display: flex;\n}\n.flex {\n display: flex;\n > :nth-child(2) {\n flex: 1;\n }\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Element,\n State,\n getAssetPath,\n Watch\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { SelectionChangedEvent } from \"@genexus/gemini/dist/types/components/list-box/list-box\";\n/* CUSTOM IMPORTS */\nimport { GxOption } from \"../../common/types\";\nimport { Locale } from \"../../common/locale\";\nimport { renderFormItems } from \"../../common/common\";\nimport {\n FormSubmitResult,\n GxServerAuthenticationType\n} from \"../../common/types\";\nimport { formSubmitValidation } from \"../../common/form-validation\";\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 [key: string]: any;\n\n /*\nINDEX:\n1.OWN PROPERTIES\n2.REFERENCE TO ELEMENTS\n3.STATE() VARIABLES\n4.PUBLIC PROPERTY API | WATCH'S\n5.EVENTS (EMIT)\n6.METHODS\n7.LISTENERS\n8.PUBLIC METHODS API\n9.LOCAL METHODS\n10.RENDER() FUNCTION\n*/\n\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n private shortcutsSrc = getAssetPath(\n `./gx-ide-assets/create-kb-from-server/shortcuts.json`\n );\n\n /* References needed to collect data with \"Connect\" and \"Create\" buttons submit*/\n private authenticationTypeEl!: HTMLGxgComboBoxElement;\n private serverUrlsEl!: HTMLGxgComboBoxElement;\n private kbNameEl!: HTMLGxgFormTextElement;\n private passwordEl!: HTMLGxgFormTextElement;\n private userNameEl!: HTMLGxgFormTextElement;\n private searchKBEl!: HTMLGxgFormTextElement;\n private listBoxEl!: HTMLElement;\n private kbIdSelected: string = null;\n private authenticationTypes: GxOption[] = [];\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeCreateKbFromServerElement;\n\n // 3.STATE() VARIABLES //\n\n /**\n * Disabled or not the part for select and create the KB\n */\n @State() selectionKbDisabled = true;\n\n /**\n * KBs that return from connect to the server\n */\n\n @State() kbs: KBData[] = [];\n @Watch(\"kbs\")\n watchPropHandler(newKbs: KBData[]) {\n /* When the list of servers are updated, the first server is selected by default */\n this.kbIdSelected = newKbs[0].id;\n this.kbName = newKbs[0].name;\n }\n\n /**\n * KBs search text\n */\n @State() kbSearchText = \"\";\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * Callback that will be invoked when the user connect to the kb server (‘Connect’ button)\n */\n @Prop() readonly connectCallback: (\n data: GXServerConnectionData\n ) => Promise<ConnectionResultData>;\n\n /**\n * Callback that will be invoked when the user confirms KB creation (‘Create’ button)\n */\n @Prop() readonly createKBCallback: (\n data: CreateKBData\n ) => Promise<FormSubmitResult>;\n\n /**\n * If is true then the user can specify a server url that don't be in the combo box of server urls.\n */\n @Prop() readonly enableCustomServer: boolean = true;\n\n /**\n * The knowledge base default suggested name\n */\n // eslint-disable-next-line @stencil-community/strict-mutable\n @Prop({ mutable: true }) kbName: string;\n\n /**\n * Password for the database connection.\n */\n @Prop() readonly password: string;\n\n /**\n * Array of URLs of cataloged servers to be displayed in the combo\n */\n @Prop() readonly serverUrls!: string[];\n\n /**\n * Username for the database connection.\n */\n @Prop() readonly userName: string;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n // 6.METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.setAuthenticationTypes();\n }\n\n componentDidLoad() {\n (this.serverUrlsEl as HTMLElement).focus();\n this.addEventListeners();\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private setAuthenticationTypes = () => {\n this.authenticationTypes = [\n {\n id: \"genexus\",\n value: \"genexus\",\n label: this._componentLocale.authenticationTypes.genexusAccount\n },\n {\n id: \"local\",\n value: \"local\",\n label: this._componentLocale.authenticationTypes.local\n }\n ];\n };\n\n private addEventListeners = () => {\n this.serverUrlsEl.addEventListener(\"valueChanged\", () => {\n this.reset();\n });\n\n this.searchKBEl.addEventListener(\n \"valueChanged\",\n (e: CustomEvent<string>) => {\n this.kbNameEl.value = \"\";\n this.kbIdSelected = null;\n this.kbSearchText = e.detail;\n }\n );\n\n this.listBoxEl.addEventListener(\n \"selectionChanged\",\n (ev: CustomEvent<SelectionChangedEvent>): void => {\n const selectedItems = ev.detail.items;\n let selectedItem;\n if (selectedItems.length > 0) {\n selectedItem = ev.detail.items[0];\n }\n if (selectedItem) {\n this.kbIdSelected = selectedItem.value;\n const kbSelected = this.kbs.find(kb => kb.id === this.kbIdSelected);\n if (kbSelected) {\n this.kbNameEl.value = kbSelected.name;\n }\n }\n }\n );\n };\n\n private reset() {\n this.kbs = [];\n this.kbIdSelected = null;\n this.selectionKbDisabled = true;\n this.searchKBEl.value = \"\";\n this.kbSearchText = \"\";\n }\n\n private createKbHandler = (): void => {\n if (this.createKBCallback) {\n const createKBCallbackPromise = this.createKBCallback({\n id: this.kbIdSelected,\n name: this.kbNameEl.value\n });\n createKBCallbackPromise.then((formSubmitResult: FormSubmitResult) => {\n formSubmitValidation(formSubmitResult, this);\n });\n }\n };\n\n private connectCallbackHandler = (): void => {\n if (this.connectCallback) {\n const connectCallbackPromise = this.connectCallback({\n serverUrl: this.serverUrlsEl.value,\n authenticationType: this.authenticationTypeEl.value,\n user: this.userNameEl?.value,\n password: this.passwordEl?.value\n });\n connectCallbackPromise.then(\n (connectionResultData: ConnectionResultData) => {\n formSubmitValidation(connectionResultData.formResult, this);\n if (\n connectionResultData.formResult.success &&\n connectionResultData.kbs\n ) {\n this.kbs = connectionResultData.kbs;\n this.selectionKbDisabled = false;\n }\n }\n );\n }\n };\n\n // 10.RENDER() FUNCTION //\n\n // 11.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host class=\"gx-ide-component\">\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n >\n <div class=\"flex\">\n {/* #kb name */}\n <gxg-label labelPosition=\"start\" class=\"kb-label\">\n {this._componentLocale.label.serverUrl}\n </gxg-label>\n <gxg-combo-box\n disableFilter={!this.enableCustomServer}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.serverUrlsEl = el as HTMLGxgComboBoxElement)\n }\n class=\"server-urls-combo-box\"\n part=\"server-urls\"\n >\n {this.serverUrls\n ? renderFormItems(\n \"gxg-combo-box-item\",\n this.serverUrls.map(sUrl => ({\n id: sUrl,\n label: sUrl,\n value: sUrl\n })),\n \"server-urls\"\n )\n : null}\n </gxg-combo-box>\n </div>\n <div class=\"grid grid-data\">\n <div>\n <div class=\"grid grid-data-account\">\n {/* #authentication type */}\n <gxg-combo-box\n tool-tip\n disableFilter\n value={this.authenticationTypes[0].id}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.authenticationTypeEl = el as HTMLGxgComboBoxElement)\n }\n class=\"authentication-type\"\n part=\"authentication-type\"\n onValueChanged={this.evaluateAuthenticationType}\n >\n {renderFormItems(\n \"gxg-combo-box-item\",\n this.authenticationTypes,\n \"authentication-type\"\n )}\n </gxg-combo-box>\n\n {/* #user name */}\n <gxg-label labelPosition=\"start\" class=\"kb-label\">\n {`${this._componentLocale.label.userName}:`}\n </gxg-label>\n <gxg-form-text\n ref={(el: HTMLGxgFormTextElement) =>\n (this.userNameEl = el as HTMLGxgFormTextElement)\n }\n tool-tip\n value={this.userName}\n class=\"user-name\"\n part=\"user-name\"\n ></gxg-form-text>\n\n {/* #password */}\n <gxg-label labelPosition=\"start\" class=\"kb-label\">\n {`${this._componentLocale.label.password}:`}\n </gxg-label>\n <gxg-form-text\n tool-tip\n password\n ref={(el: HTMLGxgFormTextElement) =>\n (this.passwordEl = el as HTMLGxgFormTextElement)\n }\n value={this.password}\n class=\"password\"\n part=\"password\"\n ></gxg-form-text>\n\n {/* #connect */}\n <div>\n <gxg-button\n id=\"button-connect\"\n type=\"primary-text-only\"\n onClick={this.connectCallbackHandler}\n part=\"button-connect\"\n >\n {this._componentLocale.buttons.connect}\n </gxg-button>\n </div>\n </div>\n </div>\n\n <div class=\"grid\">\n <div class=\"grid-data-kbs\">\n <div class=\"search-kbs\">\n <gxg-form-text\n ref={(el: HTMLGxgFormTextElement) =>\n (this.searchKBEl = el as HTMLGxgFormTextElement)\n }\n class=\"search-kb-input\"\n part=\"search-kb\"\n disabled={this.selectionKbDisabled}\n placeholder={this._componentLocale.label.searchKbs}\n ></gxg-form-text>\n </div>\n <div class=\"box-kbs\">\n <gxg-list-box\n singleSelection\n disabled={this.selectionKbDisabled}\n ref={(el: HTMLElement) => (this.listBoxEl = el)}\n part=\"kbs\"\n >\n {this.kbs\n .filter(kb =>\n kb.name\n .toLowerCase()\n .includes(this.kbSearchText.toLowerCase())\n )\n .map(kb => (\n <gxg-list-box-item value={kb.id} key={kb.id}>\n {kb.name}\n </gxg-list-box-item>\n ))}\n </gxg-list-box>\n </div>\n </div>\n <div class=\"grid grid-data-kbs-footer\">\n {/* #kbName */}\n <gxg-form-text\n ref={(el: HTMLGxgFormTextElement) =>\n (this.kbNameEl = el as HTMLGxgFormTextElement)\n }\n label={this._componentLocale.localKb}\n value={this.kbName}\n class=\"kb-name\"\n part=\"kb-name\"\n disabled={this.selectionKbDisabled}\n ></gxg-form-text>\n\n {/* #create button */}\n <div>\n <gxg-button\n id=\"button-create\"\n type=\"primary-text-only\"\n onClick={this.createKbHandler}\n part=\"button-create\"\n disabled={this.selectionKbDisabled}\n >\n {this._componentLocale.buttons.create}\n </gxg-button>\n </div>\n </div>\n </div>\n </div>\n </gx-ide-container>\n </div>\n <gxg-shortcuts src={this.shortcutsSrc}></gxg-shortcuts>\n </Host>\n );\n }\n}\n\nexport interface GXServerConnectionData {\n serverUrl: string;\n authenticationType: GxServerAuthenticationType;\n user: string;\n password: string;\n}\nexport type ConnectionResultData = {\n formResult: FormSubmitResult;\n kbs: KBData[];\n};\nexport interface KBData {\n id: string;\n name: string;\n}\nexport interface CreateKBData {\n id: string;\n name: string;\n}\n"],"mappings":"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"}
|