@genexus/genexus-ide-ui 0.0.144 → 0.0.146
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +102 -60
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +8 -1
- package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/create-kb-from-server/create-kb-from-server.css +25 -22
- package/dist/collection/components/create-kb-from-server/create-kb-from-server.js +189 -177
- package/dist/collection/components/create-kb-from-server/create-kb-from-server.js.map +1 -1
- package/dist/collection/components/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.en.json +13 -14
- package/dist/collection/components/gam-installation-settings/gam-installation-settings.js +48 -1
- package/dist/collection/components/gam-installation-settings/gam-installation-settings.js.map +1 -1
- package/dist/components/gx-ide-create-kb-from-server.js +153 -99
- package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
- package/dist/components/gx-ide-gam-installation-settings.js +10 -1
- package/dist/components/gx-ide-gam-installation-settings.js.map +1 -1
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-create-kb-from-server.entry.js +102 -60
- package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-gam-installation-settings.entry.js +8 -1
- package/dist/esm/gx-ide-gam-installation-settings.entry.js.map +1 -1
- 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/create-kb-from-server/langs/create-kb-from-server.lang.en.json +13 -14
- package/dist/genexus-ide-ui/{p-81144669.entry.js → p-0ba8ddf3.entry.js} +51 -38
- package/dist/genexus-ide-ui/p-0ba8ddf3.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-2191d598.entry.js → p-3051fa72.entry.js} +185 -135
- package/dist/genexus-ide-ui/p-3051fa72.entry.js.map +1 -0
- package/dist/types/components/create-kb-from-server/create-kb-from-server.d.ts +51 -49
- package/dist/types/components/gam-installation-settings/gam-installation-settings.d.ts +11 -0
- package/dist/types/components.d.ts +61 -69
- package/package.json +1 -1
- package/dist/genexus-ide-ui/p-2191d598.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-81144669.entry.js.map +0 -1
|
@@ -1,88 +1,110 @@
|
|
|
1
1
|
/* STENCIL IMPORTS */
|
|
2
2
|
import { Host, h, getAssetPath } from "@stencil/core";
|
|
3
3
|
import { Locale } from "../../common/locale";
|
|
4
|
+
import { renderFormItems } from "../../common/common";
|
|
5
|
+
import { formSubmitValidation } from "../../common/form-validation";
|
|
4
6
|
export class GxIdeCreateKbFromServer {
|
|
5
7
|
constructor() {
|
|
6
8
|
this.renderedFirstTime = false;
|
|
7
9
|
this.shortcutsSrc = getAssetPath(`./gx-ide-assets/create-kb-from-server/shortcuts.json`);
|
|
10
|
+
this.kbIdSelected = null;
|
|
11
|
+
this.authenticationTypes = [];
|
|
8
12
|
// 7.LISTENERS //
|
|
9
13
|
// 8.PUBLIC METHODS API //
|
|
10
14
|
// 9.LOCAL METHODS //
|
|
11
|
-
this.
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
15
|
+
this.setAuthenticationTypes = () => {
|
|
16
|
+
this.authenticationTypes = [
|
|
17
|
+
{
|
|
18
|
+
id: "genexus",
|
|
19
|
+
value: "genexus",
|
|
20
|
+
label: this._componentLocale.authenticationTypes.genexusAccount
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
id: "local",
|
|
24
|
+
value: "local",
|
|
25
|
+
label: this._componentLocale.authenticationTypes.local
|
|
26
|
+
}
|
|
27
|
+
];
|
|
24
28
|
};
|
|
25
|
-
this.
|
|
26
|
-
|
|
27
|
-
this.
|
|
28
|
-
}
|
|
29
|
+
this.addEventListeners = () => {
|
|
30
|
+
this.serverUrlsEl.addEventListener("valueChanged", () => {
|
|
31
|
+
this.reset();
|
|
32
|
+
});
|
|
33
|
+
this.searchKBEl.addEventListener("valueChanged", (e) => {
|
|
34
|
+
this.kbNameEl.value = "";
|
|
35
|
+
this.kbIdSelected = null;
|
|
36
|
+
this.kbSearchText = e.detail;
|
|
37
|
+
});
|
|
38
|
+
this.listBoxEl.addEventListener("selectionChanged", (ev) => {
|
|
39
|
+
const selectedItems = ev.detail.items;
|
|
40
|
+
let selectedItem;
|
|
41
|
+
if (selectedItems.length > 0) {
|
|
42
|
+
selectedItem = ev.detail.items[0];
|
|
43
|
+
}
|
|
44
|
+
if (selectedItem) {
|
|
45
|
+
this.kbIdSelected = selectedItem.value;
|
|
46
|
+
const kbSelected = this.kbs.find(kb => kb.id === this.kbIdSelected);
|
|
47
|
+
if (kbSelected) {
|
|
48
|
+
this.kbNameEl.value = kbSelected.name;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
});
|
|
29
52
|
};
|
|
30
|
-
this.
|
|
53
|
+
this.createKbHandler = () => {
|
|
31
54
|
if (this.createKBCallback) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
serverUrl: this.serverUrl,
|
|
39
|
-
user: this.userName,
|
|
40
|
-
password: this.userPassword
|
|
55
|
+
const createKBCallbackPromise = this.createKBCallback({
|
|
56
|
+
id: this.kbIdSelected,
|
|
57
|
+
name: this.kbNameEl.value
|
|
58
|
+
});
|
|
59
|
+
createKBCallbackPromise.then((formSubmitResult) => {
|
|
60
|
+
formSubmitValidation(formSubmitResult, this);
|
|
41
61
|
});
|
|
42
62
|
}
|
|
43
63
|
};
|
|
44
|
-
this.
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
if (
|
|
56
|
-
|
|
57
|
-
this.
|
|
64
|
+
this.connectCallbackHandler = () => {
|
|
65
|
+
var _a, _b;
|
|
66
|
+
if (this.connectCallback) {
|
|
67
|
+
const connectCallbackPromise = this.connectCallback({
|
|
68
|
+
serverUrl: this.serverUrlsEl.value,
|
|
69
|
+
authenticationType: this.authenticationTypeEl.value,
|
|
70
|
+
user: (_a = this.userNameEl) === null || _a === void 0 ? void 0 : _a.value,
|
|
71
|
+
password: (_b = this.passwordEl) === null || _b === void 0 ? void 0 : _b.value
|
|
72
|
+
});
|
|
73
|
+
connectCallbackPromise.then((connectionResultData) => {
|
|
74
|
+
formSubmitValidation(connectionResultData.formResult, this);
|
|
75
|
+
if (connectionResultData.formResult.success &&
|
|
76
|
+
connectionResultData.kbs) {
|
|
77
|
+
this.kbs = connectionResultData.kbs;
|
|
78
|
+
this.selectionKbDisabled = false;
|
|
58
79
|
}
|
|
59
80
|
});
|
|
60
81
|
}
|
|
61
82
|
};
|
|
62
|
-
this.
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
this.kbsData = [];
|
|
66
|
-
this.kbVersions = [];
|
|
67
|
-
this.kbVersionsIds = [];
|
|
68
|
-
this.versionSelectedType = undefined;
|
|
83
|
+
this.selectionKbDisabled = true;
|
|
84
|
+
this.kbs = [];
|
|
85
|
+
this.kbSearchText = "";
|
|
69
86
|
this.displayTitle = false;
|
|
70
|
-
this.
|
|
71
|
-
this.userName = undefined;
|
|
72
|
-
this.userPassword = undefined;
|
|
73
|
-
this.getGXserverKBsCallback = undefined;
|
|
74
|
-
this.changeConnectionCallback = undefined;
|
|
87
|
+
this.connectCallback = undefined;
|
|
75
88
|
this.createKBCallback = undefined;
|
|
76
|
-
this.
|
|
77
|
-
this.
|
|
89
|
+
this.enableCustomServer = true;
|
|
90
|
+
this.kbName = undefined;
|
|
91
|
+
this.password = undefined;
|
|
92
|
+
this.serverUrls = undefined;
|
|
93
|
+
this.userName = undefined;
|
|
94
|
+
}
|
|
95
|
+
watchPropHandler(newKbs) {
|
|
96
|
+
/* When the list of servers are updated, the first server is selected by default */
|
|
97
|
+
this.kbIdSelected = newKbs[0].id;
|
|
98
|
+
this.kbName = newKbs[0].name;
|
|
78
99
|
}
|
|
79
100
|
// 6.METHODS //
|
|
80
101
|
async componentWillLoad() {
|
|
81
102
|
this._componentLocale = await Locale.getComponentStrings(this.el);
|
|
103
|
+
this.setAuthenticationTypes();
|
|
82
104
|
}
|
|
83
105
|
componentDidLoad() {
|
|
84
|
-
this.
|
|
85
|
-
this.
|
|
106
|
+
this.serverUrlsEl.focus();
|
|
107
|
+
this.addEventListeners();
|
|
86
108
|
}
|
|
87
109
|
componentDidRender() {
|
|
88
110
|
if (!this.renderedFirstTime) {
|
|
@@ -90,10 +112,27 @@ export class GxIdeCreateKbFromServer {
|
|
|
90
112
|
this.renderedFirstTime = true;
|
|
91
113
|
}
|
|
92
114
|
}
|
|
115
|
+
reset() {
|
|
116
|
+
this.kbs = [];
|
|
117
|
+
this.kbIdSelected = null;
|
|
118
|
+
this.selectionKbDisabled = true;
|
|
119
|
+
this.searchKBEl.value = "";
|
|
120
|
+
this.kbSearchText = "";
|
|
121
|
+
}
|
|
122
|
+
// 10.RENDER() FUNCTION //
|
|
93
123
|
// 11.RENDER() FUNCTION //
|
|
94
124
|
render() {
|
|
95
|
-
return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", {
|
|
96
|
-
|
|
125
|
+
return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { containerTitle: this.displayTitle ? this._componentLocale.componentName : null }, h("div", { class: "flex" }, h("gxg-label", { labelPosition: "start", class: "kb-label" }, this._componentLocale.label.serverUrl), h("gxg-combo-box", { disableFilter: !this.enableCustomServer, ref: (el) => (this.serverUrlsEl = el), class: "server-urls-combo-box", part: "server-urls" }, this.serverUrls
|
|
126
|
+
? renderFormItems("gxg-combo-box-item", this.serverUrls.map(sUrl => ({
|
|
127
|
+
id: sUrl,
|
|
128
|
+
label: sUrl,
|
|
129
|
+
value: sUrl
|
|
130
|
+
})), "server-urls")
|
|
131
|
+
: null)), h("div", { class: "grid grid-data" }, h("div", null, h("div", { class: "grid grid-data-account" }, h("gxg-combo-box", { "tool-tip": true, disableFilter: true, value: this.authenticationTypes[0].id, ref: (el) => (this.authenticationTypeEl = el), class: "authentication-type", part: "authentication-type", onValueChanged: this.evaluateAuthenticationType }, renderFormItems("gxg-combo-box-item", this.authenticationTypes, "authentication-type")), h("gxg-label", { labelPosition: "start", class: "kb-label" }, `${this._componentLocale.label.userName}:`), h("gxg-form-text", { ref: (el) => (this.userNameEl = el), "tool-tip": true, value: this.userName, class: "user-name", part: "user-name" }), h("gxg-label", { labelPosition: "start", class: "kb-label" }, `${this._componentLocale.label.password}:`), h("gxg-form-text", { "tool-tip": true, password: true, ref: (el) => (this.passwordEl = el), value: this.password, class: "password", part: "password" }), h("div", null, h("gxg-button", { id: "button-connect", type: "primary-text-only", onClick: this.connectCallbackHandler, part: "button-connect" }, this._componentLocale.buttons.connect)))), h("div", { class: "grid" }, h("div", { class: "grid-data-kbs" }, h("div", { class: "search-kbs" }, h("gxg-form-text", { ref: (el) => (this.searchKBEl = el), class: "search-kb-input", part: "search-kb", disabled: this.selectionKbDisabled, placeholder: this._componentLocale.label.searchKbs })), h("div", { class: "box-kbs" }, h("gxg-list-box", { singleSelection: true, disabled: this.selectionKbDisabled, ref: (el) => (this.listBoxEl = el), part: "kbs" }, this.kbs
|
|
132
|
+
.filter(kb => kb.name
|
|
133
|
+
.toLowerCase()
|
|
134
|
+
.includes(this.kbSearchText.toLowerCase()))
|
|
135
|
+
.map(kb => (h("gxg-list-box-item", { value: kb.id, key: kb.id }, kb.name)))))), h("div", { class: "grid grid-data-kbs-footer" }, h("gxg-form-text", { ref: (el) => (this.kbNameEl = el), label: this._componentLocale.localKb, value: this.kbName, class: "kb-name", part: "kb-name", disabled: this.selectionKbDisabled }), h("div", null, h("gxg-button", { id: "button-create", type: "primary-text-only", onClick: this.createKbHandler, part: "button-create", disabled: this.selectionKbDisabled }, this._componentLocale.buttons.create))))))), h("gxg-shortcuts", { src: this.shortcutsSrc })));
|
|
97
136
|
}
|
|
98
137
|
static get is() { return "gx-ide-create-kb-from-server"; }
|
|
99
138
|
static get encapsulation() { return "shadow"; }
|
|
@@ -128,77 +167,26 @@ export class GxIdeCreateKbFromServer {
|
|
|
128
167
|
"reflect": false,
|
|
129
168
|
"defaultValue": "false"
|
|
130
169
|
},
|
|
131
|
-
"
|
|
132
|
-
"type": "string",
|
|
133
|
-
"mutable": false,
|
|
134
|
-
"complexType": {
|
|
135
|
-
"original": "string",
|
|
136
|
-
"resolved": "string",
|
|
137
|
-
"references": {}
|
|
138
|
-
},
|
|
139
|
-
"required": false,
|
|
140
|
-
"optional": false,
|
|
141
|
-
"docs": {
|
|
142
|
-
"tags": [],
|
|
143
|
-
"text": "URL of the GXserver to use, not editable by the user in this instance"
|
|
144
|
-
},
|
|
145
|
-
"attribute": "server-url",
|
|
146
|
-
"reflect": false
|
|
147
|
-
},
|
|
148
|
-
"userName": {
|
|
149
|
-
"type": "string",
|
|
150
|
-
"mutable": false,
|
|
151
|
-
"complexType": {
|
|
152
|
-
"original": "string",
|
|
153
|
-
"resolved": "string",
|
|
154
|
-
"references": {}
|
|
155
|
-
},
|
|
156
|
-
"required": false,
|
|
157
|
-
"optional": false,
|
|
158
|
-
"docs": {
|
|
159
|
-
"tags": [],
|
|
160
|
-
"text": "Name of the user with whom you connected to the GXserver, it is also not editable"
|
|
161
|
-
},
|
|
162
|
-
"attribute": "user-name",
|
|
163
|
-
"reflect": false
|
|
164
|
-
},
|
|
165
|
-
"userPassword": {
|
|
166
|
-
"type": "string",
|
|
167
|
-
"mutable": false,
|
|
168
|
-
"complexType": {
|
|
169
|
-
"original": "string",
|
|
170
|
-
"resolved": "string",
|
|
171
|
-
"references": {}
|
|
172
|
-
},
|
|
173
|
-
"required": false,
|
|
174
|
-
"optional": false,
|
|
175
|
-
"docs": {
|
|
176
|
-
"tags": [],
|
|
177
|
-
"text": "Name of the user with whom you connected to the GXserver. It is necessary to know this information when trying to obtain the KBs using the \u201CgetGXserverKBsCallback\u201D callback."
|
|
178
|
-
},
|
|
179
|
-
"attribute": "user-password",
|
|
180
|
-
"reflect": false
|
|
181
|
-
},
|
|
182
|
-
"getGXserverKBsCallback": {
|
|
170
|
+
"connectCallback": {
|
|
183
171
|
"type": "unknown",
|
|
184
172
|
"mutable": false,
|
|
185
173
|
"complexType": {
|
|
186
|
-
"original": "(\n data:
|
|
187
|
-
"resolved": "(data:
|
|
174
|
+
"original": "(\n data: GXServerConnectionData\n ) => Promise<ConnectionResultData>",
|
|
175
|
+
"resolved": "(data: GXServerConnectionData) => Promise<ConnectionResultData>",
|
|
188
176
|
"references": {
|
|
189
|
-
"
|
|
190
|
-
"location": "
|
|
191
|
-
"path": "
|
|
192
|
-
"id": "src/components/
|
|
177
|
+
"GXServerConnectionData": {
|
|
178
|
+
"location": "local",
|
|
179
|
+
"path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/create-kb-from-server/create-kb-from-server.tsx",
|
|
180
|
+
"id": "src/components/create-kb-from-server/create-kb-from-server.tsx::GXServerConnectionData"
|
|
193
181
|
},
|
|
194
182
|
"Promise": {
|
|
195
183
|
"location": "global",
|
|
196
184
|
"id": "global::Promise"
|
|
197
185
|
},
|
|
198
|
-
"
|
|
186
|
+
"ConnectionResultData": {
|
|
199
187
|
"location": "local",
|
|
200
188
|
"path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/create-kb-from-server/create-kb-from-server.tsx",
|
|
201
|
-
"id": "src/components/create-kb-from-server/create-kb-from-server.tsx::
|
|
189
|
+
"id": "src/components/create-kb-from-server/create-kb-from-server.tsx::ConnectionResultData"
|
|
202
190
|
}
|
|
203
191
|
}
|
|
204
192
|
},
|
|
@@ -206,24 +194,29 @@ export class GxIdeCreateKbFromServer {
|
|
|
206
194
|
"optional": false,
|
|
207
195
|
"docs": {
|
|
208
196
|
"tags": [],
|
|
209
|
-
"text": "Callback that
|
|
197
|
+
"text": "Callback that will be invoked when the user connect to the kb server (\u2018Connect\u2019 button)"
|
|
210
198
|
}
|
|
211
199
|
},
|
|
212
|
-
"
|
|
200
|
+
"createKBCallback": {
|
|
213
201
|
"type": "unknown",
|
|
214
202
|
"mutable": false,
|
|
215
203
|
"complexType": {
|
|
216
|
-
"original": "(\n data:
|
|
217
|
-
"resolved": "(data:
|
|
204
|
+
"original": "(\n data: CreateKBData\n ) => Promise<FormSubmitResult>",
|
|
205
|
+
"resolved": "(data: CreateKBData) => Promise<FormSubmitResult>",
|
|
218
206
|
"references": {
|
|
219
|
-
"
|
|
220
|
-
"location": "
|
|
221
|
-
"path": "
|
|
222
|
-
"id": "src/components/
|
|
207
|
+
"CreateKBData": {
|
|
208
|
+
"location": "local",
|
|
209
|
+
"path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/create-kb-from-server/create-kb-from-server.tsx",
|
|
210
|
+
"id": "src/components/create-kb-from-server/create-kb-from-server.tsx::CreateKBData"
|
|
223
211
|
},
|
|
224
212
|
"Promise": {
|
|
225
213
|
"location": "global",
|
|
226
214
|
"id": "global::Promise"
|
|
215
|
+
},
|
|
216
|
+
"FormSubmitResult": {
|
|
217
|
+
"location": "import",
|
|
218
|
+
"path": "../../common/types",
|
|
219
|
+
"id": "src/common/types.ts::FormSubmitResult"
|
|
227
220
|
}
|
|
228
221
|
}
|
|
229
222
|
},
|
|
@@ -231,87 +224,100 @@ export class GxIdeCreateKbFromServer {
|
|
|
231
224
|
"optional": false,
|
|
232
225
|
"docs": {
|
|
233
226
|
"tags": [],
|
|
234
|
-
"text": "
|
|
227
|
+
"text": "Callback that will be invoked when the user confirms KB creation (\u2018Create\u2019 button)"
|
|
235
228
|
}
|
|
236
229
|
},
|
|
237
|
-
"
|
|
238
|
-
"type": "
|
|
230
|
+
"enableCustomServer": {
|
|
231
|
+
"type": "boolean",
|
|
239
232
|
"mutable": false,
|
|
240
233
|
"complexType": {
|
|
241
|
-
"original": "
|
|
242
|
-
"resolved": "
|
|
243
|
-
"references": {
|
|
244
|
-
"VersionOption": {
|
|
245
|
-
"location": "local",
|
|
246
|
-
"path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/create-kb-from-server/create-kb-from-server.tsx",
|
|
247
|
-
"id": "src/components/create-kb-from-server/create-kb-from-server.tsx::VersionOption"
|
|
248
|
-
},
|
|
249
|
-
"Promise": {
|
|
250
|
-
"location": "global",
|
|
251
|
-
"id": "global::Promise"
|
|
252
|
-
}
|
|
253
|
-
}
|
|
234
|
+
"original": "boolean",
|
|
235
|
+
"resolved": "boolean",
|
|
236
|
+
"references": {}
|
|
254
237
|
},
|
|
255
238
|
"required": false,
|
|
256
239
|
"optional": false,
|
|
257
240
|
"docs": {
|
|
258
241
|
"tags": [],
|
|
259
|
-
"text": "
|
|
260
|
-
}
|
|
242
|
+
"text": "If is true then the user can specify a server url that don't be in the combo box of server urls."
|
|
243
|
+
},
|
|
244
|
+
"attribute": "enable-custom-server",
|
|
245
|
+
"reflect": false,
|
|
246
|
+
"defaultValue": "true"
|
|
261
247
|
},
|
|
262
|
-
"
|
|
263
|
-
"type": "
|
|
248
|
+
"kbName": {
|
|
249
|
+
"type": "string",
|
|
250
|
+
"mutable": true,
|
|
251
|
+
"complexType": {
|
|
252
|
+
"original": "string",
|
|
253
|
+
"resolved": "string",
|
|
254
|
+
"references": {}
|
|
255
|
+
},
|
|
256
|
+
"required": false,
|
|
257
|
+
"optional": false,
|
|
258
|
+
"docs": {
|
|
259
|
+
"tags": [],
|
|
260
|
+
"text": "The knowledge base default suggested name"
|
|
261
|
+
},
|
|
262
|
+
"attribute": "kb-name",
|
|
263
|
+
"reflect": false
|
|
264
|
+
},
|
|
265
|
+
"password": {
|
|
266
|
+
"type": "string",
|
|
264
267
|
"mutable": false,
|
|
265
268
|
"complexType": {
|
|
266
|
-
"original": "
|
|
267
|
-
"resolved": "
|
|
268
|
-
"references": {
|
|
269
|
-
"Promise": {
|
|
270
|
-
"location": "global",
|
|
271
|
-
"id": "global::Promise"
|
|
272
|
-
},
|
|
273
|
-
"KBVersion": {
|
|
274
|
-
"location": "local",
|
|
275
|
-
"path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/create-kb-from-server/create-kb-from-server.tsx",
|
|
276
|
-
"id": "src/components/create-kb-from-server/create-kb-from-server.tsx::KBVersion"
|
|
277
|
-
}
|
|
278
|
-
}
|
|
269
|
+
"original": "string",
|
|
270
|
+
"resolved": "string",
|
|
271
|
+
"references": {}
|
|
279
272
|
},
|
|
280
273
|
"required": false,
|
|
281
274
|
"optional": false,
|
|
282
275
|
"docs": {
|
|
283
276
|
"tags": [],
|
|
284
|
-
"text": "
|
|
285
|
-
}
|
|
277
|
+
"text": "Password for the database connection."
|
|
278
|
+
},
|
|
279
|
+
"attribute": "password",
|
|
280
|
+
"reflect": false
|
|
286
281
|
},
|
|
287
|
-
"
|
|
282
|
+
"serverUrls": {
|
|
288
283
|
"type": "unknown",
|
|
289
284
|
"mutable": false,
|
|
290
285
|
"complexType": {
|
|
291
|
-
"original": "
|
|
292
|
-
"resolved": "
|
|
293
|
-
"references": {
|
|
294
|
-
"Promise": {
|
|
295
|
-
"location": "global",
|
|
296
|
-
"id": "global::Promise"
|
|
297
|
-
}
|
|
298
|
-
}
|
|
286
|
+
"original": "string[]",
|
|
287
|
+
"resolved": "string[]",
|
|
288
|
+
"references": {}
|
|
299
289
|
},
|
|
300
|
-
"required":
|
|
290
|
+
"required": true,
|
|
301
291
|
"optional": false,
|
|
302
292
|
"docs": {
|
|
303
293
|
"tags": [],
|
|
304
|
-
"text": "
|
|
294
|
+
"text": "Array of URLs of cataloged servers to be displayed in the combo"
|
|
305
295
|
}
|
|
296
|
+
},
|
|
297
|
+
"userName": {
|
|
298
|
+
"type": "string",
|
|
299
|
+
"mutable": false,
|
|
300
|
+
"complexType": {
|
|
301
|
+
"original": "string",
|
|
302
|
+
"resolved": "string",
|
|
303
|
+
"references": {}
|
|
304
|
+
},
|
|
305
|
+
"required": false,
|
|
306
|
+
"optional": false,
|
|
307
|
+
"docs": {
|
|
308
|
+
"tags": [],
|
|
309
|
+
"text": "Username for the database connection."
|
|
310
|
+
},
|
|
311
|
+
"attribute": "user-name",
|
|
312
|
+
"reflect": false
|
|
306
313
|
}
|
|
307
314
|
};
|
|
308
315
|
}
|
|
309
316
|
static get states() {
|
|
310
317
|
return {
|
|
311
|
-
"
|
|
312
|
-
"
|
|
313
|
-
"
|
|
314
|
-
"versionSelectedType": {}
|
|
318
|
+
"selectionKbDisabled": {},
|
|
319
|
+
"kbs": {},
|
|
320
|
+
"kbSearchText": {}
|
|
315
321
|
};
|
|
316
322
|
}
|
|
317
323
|
static get events() {
|
|
@@ -333,5 +339,11 @@ export class GxIdeCreateKbFromServer {
|
|
|
333
339
|
}];
|
|
334
340
|
}
|
|
335
341
|
static get elementRef() { return "el"; }
|
|
342
|
+
static get watchers() {
|
|
343
|
+
return [{
|
|
344
|
+
"propName": "kbs",
|
|
345
|
+
"methodName": "watchPropHandler"
|
|
346
|
+
}];
|
|
347
|
+
}
|
|
336
348
|
}
|
|
337
349
|
//# sourceMappingURL=create-kb-from-server.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-kb-from-server.js","sourceRoot":"","sources":["../../../src/components/create-kb-from-server/create-kb-from-server.tsx"],"names":[],"mappings":"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","sourcesContent":["/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Element,\n State,\n getAssetPath\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { GXServerConnectionDefault } from \"../connect-gx-server/connect-gx-server\";\nimport { Locale } from \"../../common/locale\";\nimport { ItemData } from \"../_helpers/list-selector/list-selector-item/list-selector-item\";\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 // 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 private selectedKbId: string;\n private localKBNameEl: HTMLGxgFormTextElement;\n private versionSelectedTypeEl: HTMLGxgFormRadioGroupElement;\n\n /* References */\n\n private searchKbsEl!: HTMLGxgFormTextElement;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeCreateKbFromServerElement;\n\n // 3.STATE() VARIABLES //\n\n /**\n * KBs that return from connect to the server\n */\n @State() kbsData: KBData[] = [];\n\n /**\n * The kb versions returned from selectKBVersionsCallback\n */\n @State() kbVersions: KBVersion[] = [];\n\n /**\n * The kb versions ids returned from selectKBVersionsCallback\n */\n @State() kbVersionsIds: string[] = [];\n\n /**\n * The version selected type\n */\n @State() versionSelectedType: VersionOption;\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 * URL of the GXserver to use, not editable by the user in this instance\n */\n @Prop() readonly serverUrl: string;\n\n /**\n * Name of the user with whom you connected to the GXserver, it is also not editable\n */\n @Prop() readonly userName: string;\n\n /**\n * Name of the user with whom you connected to the GXserver. It is necessary to know this information when trying to obtain the KBs using the “getGXserverKBsCallback” callback.\n */\n @Prop() readonly userPassword: string;\n\n /**\n * Callback that must be invoked when invoking the dialog\n */\n @Prop() readonly getGXserverKBsCallback: (\n data: GXServerConnectionDefault\n ) => Promise<KBData[]>;\n\n /**\n * The host reopens the gx-ide-connect-server login modal with the previous data, and closes the current modal\n */\n @Prop() readonly changeConnectionCallback: (\n data: GXServerConnectionDefault\n ) => Promise<void>;\n\n /**\n * Callback that must be invoked when the 'Create KB' button is pressed. Receives the user's parameter selection to create the remote KB locally and ends the dialog.\n */\n @Prop() readonly createKBCallback: (\n selectedKB: string,\n versionSelected: VersionOption,\n localKBName: string,\n versionList?: string[]\n ) => Promise<void>;\n\n /**\n * Callback invoked by pressing the ellipsis in the version selector. Receives the KB selected by the user, and displays the version selector dialog. Returns a list of versions chosen by the user.\n */\n @Prop() readonly selectKBVersionsCallback: (\n selectedKB: string\n ) => Promise<KBVersion[]>;\n\n /**\n * Callback that is invoked when the dialog is closed\n */\n @Prop() readonly cancelCallback: () => Promise<void>;\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 }\n\n componentDidLoad() {\n (this.searchKbsEl as HTMLElement).focus();\n this.init();\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 init = async () => {\n if (this.getGXserverKBsCallback) {\n await this.getGXserverKBsCallback({\n serverUrl: this.serverUrl,\n user: this.userName,\n password: this.userPassword\n }).then(result => {\n this.kbsData = result;\n });\n }\n\n // get version option\n this.versionSelectedType = this.versionSelectedTypeEl\n .value as VersionOption;\n };\n\n private cancelHandler = (): void => {\n if (this.cancelCallback) {\n this.cancelCallback();\n }\n };\n\n private createHandler = async (): Promise<void> => {\n if (this.createKBCallback) {\n this.createKBCallback(\n this.selectedKbId,\n this.versionSelectedType,\n this.localKBNameEl.value,\n this.kbVersionsIds\n );\n }\n };\n\n private changeConnectionHandler = async (): Promise<void> => {\n if (this.changeConnectionCallback) {\n this.changeConnectionCallback({\n serverUrl: this.serverUrl,\n user: this.userName,\n password: this.userPassword\n });\n }\n };\n\n private renderKbs = (): HTMLGxIdeListSelectorItemElement[] => {\n return this.kbsData.map(kb => {\n return (\n <gx-ide-list-selector-item\n itemId={kb.id}\n itemValue={kb.name}\n ></gx-ide-list-selector-item>\n );\n });\n };\n\n private selectionChangedHandler = (event: CustomEvent<ItemData[]>) => {\n this.selectedKbId = event.detail[0].itemId;\n };\n\n private selectedVersionHandler = async () => {\n if (this.selectKBVersionsCallback) {\n await this.selectKBVersionsCallback(this.selectedKbId).then(result => {\n if (result?.length) {\n this.kbVersions = result;\n this.kbVersionsIds = result.map(version => version.id.toString());\n }\n });\n }\n };\n\n private versionsChangedHandler = (\n event: CustomEvent<{ value: string; id?: string }>\n ) => {\n this.versionSelectedType = event.detail.value as VersionOption;\n };\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 slimmerFooter\n noContentPadding\n noContentGap\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n >\n <div class=\"header\">\n {/* server url */}\n <div class=\"header__item\">\n <gxg-label labelPosition=\"start\" class=\"kb-label\">\n {this._componentLocale.header.serverUrl}\n </gxg-label>\n <p>{this.serverUrl}</p>\n </div>\n\n {/* user */}\n <div class=\"header__item\">\n <gxg-label labelPosition=\"start\" class=\"kb-label\">\n {this._componentLocale.header.user}\n </gxg-label>\n <p>{this.userName}</p>\n </div>\n\n {/* change */}\n <gxg-button\n type=\"secondary-text-only\"\n class=\"header__button\"\n onClick={this.changeConnectionHandler}\n >\n {this._componentLocale.header.change}\n </gxg-button>\n </div>\n\n <main class=\"main\">\n {/* search kbs */}\n <gxg-form-text\n icon=\"gemini-tools/search\"\n iconPosition=\"start\"\n placeholder={this._componentLocale.main.searchKB}\n maxWidth=\"300px\"\n ref={el => (this.searchKbsEl = el as HTMLGxgFormTextElement)}\n ></gxg-form-text>\n\n {/* kbs list */}\n <gx-ide-list-selector\n listName=\"kbs-list\"\n ellipsis\n onSelectionChanged={this.selectionChangedHandler}\n class=\"kbs-list\"\n >\n {this.renderKbs()}\n </gx-ide-list-selector>\n\n {/* select version */}\n <gxg-form-radio-group\n row\n onChange={this.versionsChangedHandler}\n ref={el =>\n (this.versionSelectedTypeEl =\n el as HTMLGxgFormRadioGroupElement)\n }\n >\n <gxg-form-radio\n label={this._componentLocale.main.trunkVersion}\n id=\"Trunk\"\n value=\"Trunk\"\n ></gxg-form-radio>\n <gxg-form-radio\n label={this._componentLocale.main.allVersions}\n id=\"All\"\n value=\"All\"\n ></gxg-form-radio>\n <gxg-form-radio\n label={this._componentLocale.main.selectVersion}\n id=\"Select\"\n value=\"Select\"\n ></gxg-form-radio>\n </gxg-form-radio-group>\n\n {/* local kb name */}\n <div class=\"versions-container\">\n <gxg-label labelPosition=\"above\">\n {this._componentLocale.main.selectVersion}\n </gxg-label>\n\n <div class=\"versions-container__input\">\n <gxg-form-text\n readonly\n value={`${this.kbVersions.length.toString()} versions selected`}\n ></gxg-form-text>\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/show-more-horizontal\"\n onClick={this.selectedVersionHandler}\n ></gxg-button>\n </div>\n </div>\n {/* local kb name */}\n <gxg-form-text\n label=\"Local KB Name\"\n labelPosition=\"above\"\n ref={el => (this.localKBNameEl = el as HTMLGxgFormTextElement)}\n ></gxg-form-text>\n </main>\n\n {/* cancel / create */}\n <gxg-button\n type=\"outlined\"\n slot=\"footer-end\"\n onClick={this.cancelHandler}\n >\n {this._componentLocale.footer.cancel}\n </gxg-button>\n <gxg-button onClick={this.createHandler} slot=\"footer-end\">\n {this._componentLocale.footer.create}\n </gxg-button>\n </gx-ide-container>\n </div>\n <gxg-shortcuts src={this.shortcutsSrc}></gxg-shortcuts>\n </Host>\n );\n }\n}\n\nexport type KBData = {\n id: string;\n name: string;\n};\n\nexport type KBVersion = {\n id: number;\n name: string;\n type: VersionType;\n};\n\nexport type VersionOption = \"Trunk\" | \"All\" | \"Select\";\n\nexport type VersionType = \"Branch\" | \"Frozen\";\n"]}
|
|
1
|
+
{"version":3,"file":"create-kb-from-server.js","sourceRoot":"","sources":["../../../src/components/create-kb-from-server/create-kb-from-server.tsx"],"names":[],"mappings":"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","sourcesContent":["/* 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"]}
|
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
{
|
|
2
|
-
"componentName": "Create
|
|
3
|
-
"
|
|
4
|
-
"serverUrl": "
|
|
5
|
-
"
|
|
6
|
-
"
|
|
2
|
+
"componentName": "Create Kb From Server",
|
|
3
|
+
"label": {
|
|
4
|
+
"serverUrl": "GXServer URL",
|
|
5
|
+
"authenticationType": "Authentication Type",
|
|
6
|
+
"userName": "User Name",
|
|
7
|
+
"password": "Password",
|
|
8
|
+
"searchKbs": "Search KBs"
|
|
7
9
|
},
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"allVersions": "All Versions",
|
|
12
|
-
"selectVersion": "Select Version",
|
|
13
|
-
"versions": "Versions",
|
|
14
|
-
"localKBName": "Local KB Name"
|
|
10
|
+
"authenticationTypes": {
|
|
11
|
+
"genexusAccount": "GeneXus Account",
|
|
12
|
+
"local": "Local"
|
|
15
13
|
},
|
|
16
|
-
"
|
|
14
|
+
"localKb": "My KB Name:",
|
|
15
|
+
"buttons": {
|
|
17
16
|
"create": "Create",
|
|
18
|
-
"
|
|
17
|
+
"connect": "Connect"
|
|
19
18
|
}
|
|
20
19
|
}
|