@genexus/genexus-ide-ui 1.0.15 → 1.0.16
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/array-b1e04a85.js +10 -0
- package/dist/cjs/array-b1e04a85.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-dashboard-home.cjs.entry.js +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 +95 -86
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +83 -76
- 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-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-74cf5c16.js → helpers-b5b4a659.js} +7 -3
- package/dist/cjs/helpers-b5b4a659.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/common/array.js +6 -0
- package/dist/collection/common/array.js.map +1 -0
- package/dist/collection/common/helpers.js +6 -2
- package/dist/collection/common/helpers.js.map +1 -1
- package/dist/collection/components/new-environment/gx-ide-assets/new-environment/shortcuts.json +4 -7
- package/dist/collection/components/new-environment/new-environment.css +8 -1
- package/dist/collection/components/new-environment/new-environment.js +98 -129
- package/dist/collection/components/new-environment/new-environment.js.map +1 -1
- package/dist/collection/components/new-kb/new-kb.js +83 -114
- package/dist/collection/components/new-kb/new-kb.js.map +1 -1
- package/dist/components/array.js +8 -0
- package/dist/components/array.js.map +1 -0
- package/dist/components/gx-ide-new-environment.js +95 -89
- package/dist/components/gx-ide-new-environment.js.map +1 -1
- package/dist/components/gx-ide-new-kb.js +83 -77
- package/dist/components/gx-ide-new-kb.js.map +1 -1
- package/dist/components/helpers.js +6 -2
- package/dist/components/helpers.js.map +1 -1
- package/dist/esm/array-c52006e6.js +8 -0
- package/dist/esm/array-c52006e6.js.map +1 -0
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-ai-message.entry.js +1 -1
- package/dist/esm/gx-ide-dashboard-home.entry.js +1 -1
- package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
- package/dist/esm/gx-ide-new-environment.entry.js +95 -86
- package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-kb.entry.js +83 -76
- 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-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-97d0509d.js → helpers-64e1dd0b.js} +7 -3
- package/dist/esm/helpers-64e1dd0b.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/new-environment/shortcuts.json +4 -7
- package/dist/genexus-ide-ui/p-1252519a.js +7 -0
- package/dist/genexus-ide-ui/p-1252519a.js.map +1 -0
- package/dist/genexus-ide-ui/{p-f9a00f85.entry.js → p-35c9edc0.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-92681e48.entry.js → p-36cfb4c0.entry.js} +193 -177
- package/dist/genexus-ide-ui/p-36cfb4c0.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-90deeaa8.entry.js → p-424ed874.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-4a8910cd.entry.js → p-4546fa05.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-58409610.entry.js → p-5bff0103.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-3663c45f.entry.js → p-85f7f92d.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-7f7d93b8.entry.js → p-99d52e11.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-7f4d8db5.entry.js → p-a5d5fb4d.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-abc8411e.entry.js +434 -0
- package/dist/genexus-ide-ui/p-abc8411e.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-3c7371a8.entry.js → p-be640a8a.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-8ad301c4.entry.js → p-c2fdb419.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-4b6e1cf2.js → p-c339f703.js} +57 -55
- package/dist/{cjs/helpers-74cf5c16.js.map → genexus-ide-ui/p-c339f703.js.map} +1 -1
- package/dist/types/common/array.d.ts +5 -0
- package/dist/types/common/helpers.d.ts +2 -2
- package/dist/types/components/new-environment/new-environment.d.ts +6 -12
- package/dist/types/components/new-kb/new-kb.d.ts +6 -9
- package/dist/types/components.d.ts +3 -35
- package/package.json +1 -1
- package/dist/collection/components/new-kb/helpers.js +0 -4
- package/dist/collection/components/new-kb/helpers.js.map +0 -1
- package/dist/esm/helpers-97d0509d.js.map +0 -1
- package/dist/genexus-ide-ui/p-4b6e1cf2.js.map +0 -1
- package/dist/genexus-ide-ui/p-51d5cc3d.entry.js +0 -436
- package/dist/genexus-ide-ui/p-51d5cc3d.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-92681e48.entry.js.map +0 -1
- package/dist/types/components/new-kb/helpers.d.ts +0 -3
- /package/dist/genexus-ide-ui/{p-f9a00f85.entry.js.map → p-35c9edc0.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-90deeaa8.entry.js.map → p-424ed874.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-4a8910cd.entry.js.map → p-4546fa05.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-58409610.entry.js.map → p-5bff0103.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-3663c45f.entry.js.map → p-85f7f92d.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-7f7d93b8.entry.js.map → p-99d52e11.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-7f4d8db5.entry.js.map → p-a5d5fb4d.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-3c7371a8.entry.js.map → p-be640a8a.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-8ad301c4.entry.js.map → p-c2fdb419.entry.js.map} +0 -0
|
@@ -1,436 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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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"}
|