@genexus/genexus-ide-ui 1.0.53 → 1.0.54

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +25 -12
  3. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  4. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +395 -0
  5. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js.map +1 -0
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/collection/collection-manifest.json +1 -0
  8. package/dist/collection/components/select-kb-items/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.en.json +19 -0
  9. package/dist/collection/components/select-kb-items/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.ja.json +19 -0
  10. package/dist/collection/components/select-kb-items/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.zh.json +19 -0
  11. package/dist/collection/components/select-kb-items/gx-ide-assets/select-kb-items/shortcuts.json +15 -0
  12. package/dist/collection/components/select-kb-items/helpers.js +167 -0
  13. package/dist/collection/components/select-kb-items/helpers.js.map +1 -0
  14. package/dist/collection/components/select-kb-items/select-kb-items.css +24 -0
  15. package/dist/collection/components/select-kb-items/select-kb-items.js +480 -0
  16. package/dist/collection/components/select-kb-items/select-kb-items.js.map +1 -0
  17. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.css +8 -0
  18. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js +24 -11
  19. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js.map +1 -1
  20. package/dist/collection/components/team-dev/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.en.json +3 -2
  21. package/dist/collection/components/team-dev/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.ja.json +2 -1
  22. package/dist/collection/components/team-dev/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.zh.json +2 -1
  23. package/dist/collection/testing/locale.e2e.js +1 -0
  24. package/dist/collection/testing/locale.e2e.js.map +1 -1
  25. package/dist/components/gx-ide-create-kb-from-server.js +25 -12
  26. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  27. package/dist/components/gx-ide-select-kb-items.d.ts +11 -0
  28. package/dist/components/gx-ide-select-kb-items.js +428 -0
  29. package/dist/components/gx-ide-select-kb-items.js.map +1 -0
  30. package/dist/esm/genexus-ide-ui.js +1 -1
  31. package/dist/esm/gx-ide-create-kb-from-server.entry.js +25 -12
  32. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  33. package/dist/esm/gx-ide-select-kb-items.entry.js +391 -0
  34. package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -0
  35. package/dist/esm/loader.js +1 -1
  36. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  37. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  38. package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.en.json +3 -2
  39. package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.ja.json +2 -1
  40. package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.zh.json +2 -1
  41. package/dist/genexus-ide-ui/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.en.json +19 -0
  42. package/dist/genexus-ide-ui/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.ja.json +19 -0
  43. package/dist/genexus-ide-ui/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.zh.json +19 -0
  44. package/dist/genexus-ide-ui/gx-ide-assets/select-kb-items/shortcuts.json +15 -0
  45. package/dist/genexus-ide-ui/{p-2145674e.entry.js → p-67132150.entry.js} +54 -39
  46. package/dist/genexus-ide-ui/p-67132150.entry.js.map +1 -0
  47. package/dist/genexus-ide-ui/p-b95a0250.entry.js +465 -0
  48. package/dist/genexus-ide-ui/p-b95a0250.entry.js.map +1 -0
  49. package/dist/types/components/select-kb-items/helpers.d.ts +9 -0
  50. package/dist/types/components/select-kb-items/select-kb-items.d.ts +100 -0
  51. package/dist/types/components/team-dev/create-kb-from-server/create-kb-from-server.d.ts +2 -2
  52. package/dist/types/components.d.ts +101 -2
  53. package/package.json +1 -1
  54. package/dist/genexus-ide-ui/p-2145674e.entry.js.map +0 -1
@@ -8,7 +8,7 @@ import { c as o } from "./p-13738332.js";
8
8
 
9
9
  import { v as r } from "./p-289c3290.js";
10
10
 
11
- import { L as l } from "./p-311eedf3.js";
11
+ import { L as h } from "./p-311eedf3.js";
12
12
 
13
13
  const mapKbsModelToActionListModel = t => {
14
14
  const e = [];
@@ -22,7 +22,7 @@ const mapKbsModelToActionListModel = t => {
22
22
  return e;
23
23
  };
24
24
 
25
- const h = ":host{display:grid;block-size:100%;grid-template-rows:max-content 1fr max-content}.section{display:contents}header{display:grid;grid-template-rows:max-content;grid-template-columns:1fr 1fr max-content}.button-change{align-self:center;justify-self:end}.main{display:grid;grid-template-columns:1fr;grid-template-rows:max-content 1fr max-content max-content}.search-kbs{inline-size:50%}.versions-container{grid-auto-rows:max-content}.versions-container__input{display:grid;grid-template-columns:1fr max-content;gap:var(--mer-spacing--xs)}";
25
+ const l = ":host{display:grid;block-size:100%;grid-template-rows:max-content 1fr max-content}.section{display:contents}header{display:grid;grid-template-rows:max-content;grid-template-columns:1fr 1fr max-content}.button-change{align-self:center;justify-self:end}.main{display:grid;grid-template-columns:1fr;grid-template-rows:max-content 1fr max-content max-content}.search-kbs{inline-size:50%}.versions-container{grid-auto-rows:max-content}.versions-container__input{display:grid;grid-template-columns:1fr max-content;gap:var(--mer-spacing--xs)}.versions-container .button-icon-only{border-color:var(--mer-color__neutral-gray--500);border-width:var(--mer-border__width--sm);border-radius:var(--mer-border__radius--sm)}.versions-container .button-icon-only:hover{border-color:var(--mer-color__neutral-gray--100)}";
26
26
 
27
27
  var c = undefined && undefined.__classPrivateFieldSet || function(t, e, s, i, a) {
28
28
  if (i === "m") throw new TypeError("Private method is not writable");
@@ -37,11 +37,11 @@ var d = undefined && undefined.__classPrivateFieldGet || function(t, e, s, i) {
37
37
  return s === "m" ? i : s === "a" ? i.call(t) : i ? i.value : e.get(t);
38
38
  };
39
39
 
40
- var f, p, u, m, b, w, v, g, k, y, M, W, x, T, _, j, C, E, P, S, z, A, I, L;
40
+ var f, p, u, m, b, v, w, g, k, y, M, W, _, x, T, j, C, E, S, $, P, z, A, I;
41
41
 
42
- const N = [ "resets/box-sizing", "utils/form--full", "utils/layout", "utils/typography", "utils/spacing", "components/list-box", "components/tooltip", "chameleon/scrollbar" ];
42
+ const L = [ "resets/box-sizing", "utils/form--full", "utils/layout", "utils/typography", "utils/spacing", "components/list-box", "components/tooltip", "chameleon/scrollbar" ];
43
43
 
44
- const K = class {
44
+ const N = class {
45
45
  constructor(i) {
46
46
  t(this, i);
47
47
  f.set(this, n({
@@ -60,20 +60,23 @@ const K = class {
60
60
  }, {
61
61
  value: "All",
62
62
  caption: "All Versions"
63
+ }, {
64
+ value: "Select",
65
+ caption: "Select Version"
63
66
  } ]);
64
67
  m.set(this, void 0);
65
68
  b.set(this, []);
66
- w.set(this, []);
67
- v.set(this, e(`./gx-ide-assets/create-kb-from-server/shortcuts.json`));
69
+ v.set(this, []);
70
+ w.set(this, e(`./gx-ide-assets/create-kb-from-server/shortcuts.json`));
68
71
  g.set(this, void 0);
69
72
  k.set(this, false);
70
73
  y.set(this, void 0);
71
74
  M.set(this, void 0);
72
75
  W.set(this, void 0);
73
- x.set(this, (() => {
76
+ _.set(this, (() => {
74
77
  this.cancelCallback();
75
78
  }));
76
- T.set(this, (async () => {
79
+ x.set(this, (async () => {
77
80
  this.changeConnectionCallback({
78
81
  authenticationType: this.connectionData.authenticationType,
79
82
  serverUrl: this.connectionData.serverUrl,
@@ -81,15 +84,15 @@ const K = class {
81
84
  userPassword: this.connectionData.userPassword
82
85
  });
83
86
  }));
84
- _.set(this, (async () => {
87
+ T.set(this, (async () => {
85
88
  if (this.versionSelectedType !== "Select") {
86
- c(this, w, [], "f");
89
+ c(this, v, [], "f");
87
90
  }
88
91
  this.createKBCallback({
89
92
  selectedKB: d(this, g, "f"),
90
93
  versionSelected: this.versionSelectedType,
91
94
  localKBName: this.localKbNameInputValue,
92
- versionList: d(this, w, "f")
95
+ versionList: d(this, v, "f")
93
96
  }).then((t => {
94
97
  this.validatableControls = r(t, this.validatableControls);
95
98
  }));
@@ -122,7 +125,7 @@ const K = class {
122
125
  this.filterValue = "";
123
126
  }));
124
127
  }));
125
- P.set(this, (() => {
128
+ S.set(this, (() => {
126
129
  // populate validatableControls with the controls that could have errors.
127
130
  const t = [ d(this, W, "f") ];
128
131
  t.forEach((t => {
@@ -135,21 +138,33 @@ const K = class {
135
138
  }
136
139
  }));
137
140
  }));
138
- S.set(this, (t => {
141
+ $.set(this, (t => {
139
142
  this.localKbNameInputValue = t.detail;
140
143
  c(this, k, true, "f");
141
144
  }));
142
- z.set(this, (async () => {
145
+ P.set(this, (async () => {
143
146
  if (this.selectKBVersionsCallback) {
144
147
  await this.selectKBVersionsCallback(d(this, g, "f")).then((t => {
145
148
  if (t === null || t === void 0 ? void 0 : t.length) {
146
- this.versionsValueInput = t.length.toString().concat(d(this, m, "f").kb.versionSelectedFieldValue);
147
- c(this, w, t.map((t => t.id.toString())), "f");
149
+ c(this, v, t.map((t => ({
150
+ id: t.id,
151
+ name: t.name
152
+ }))), "f");
153
+ if (t.length === 1 && d(this, v, "f")[0].id === 0) {
154
+ this.localKbNameInputValue = d(this, g, "f");
155
+ this.versionsValueInput = d(this, m, "f").kb.versionsPlaceholder;
156
+ } else if (t.length > 1) {
157
+ this.localKbNameInputValue = d(this, g, "f");
158
+ this.versionsValueInput = `${t.length.toString()} ${d(this, m, "f").kb.versionSelectedFieldValue}`;
159
+ } else {
160
+ this.localKbNameInputValue = `${d(this, g, "f")}_${d(this, v, "f")[0].name}`;
161
+ this.versionsValueInput = `${t[0].name} ${d(this, m, "f").kb.oneVersionSelectedFieldValue}`;
162
+ }
148
163
  }
149
164
  }));
150
165
  }
151
166
  }));
152
- A.set(this, (t => {
167
+ z.set(this, (t => {
153
168
  var e;
154
169
  const s = (e = t.detail[0]) === null || e === void 0 ? void 0 : e.item;
155
170
  if (s === undefined) {
@@ -164,22 +179,22 @@ const K = class {
164
179
  }
165
180
  this.localKbNameInputValue = s.caption;
166
181
  }));
167
- I.set(this, (t => {
182
+ A.set(this, (t => {
168
183
  this.versionSelectedType = t.detail;
169
184
  }));
170
- L.set(this, (() => s("footer", {
185
+ I.set(this, (() => s("footer", {
171
186
  class: "footer control-footer-with-border spacing-body-inline spacing-body-block-end"
172
187
  }, s("div", {
173
188
  class: "buttons-spacer"
174
189
  }, s("button", {
175
190
  // cancel button
176
191
  class: "button-secondary",
177
- onClick: d(this, x, "f"),
192
+ onClick: d(this, _, "f"),
178
193
  part: "button button-cancel"
179
194
  }, d(this, m, "f").footer.cancel), s("button", {
180
195
  // create kb button
181
196
  class: "button-primary",
182
- onClick: this.enableSelectVersionsButton && d(this, _, "f"),
197
+ onClick: this.enableSelectVersionsButton && d(this, T, "f"),
183
198
  disabled: !this.enableSelectVersionsButton,
184
199
  part: "button button-create-kb"
185
200
  }, d(this, m, "f").footer.createKb)))));
@@ -200,19 +215,19 @@ const K = class {
200
215
  componentDidLoad() {
201
216
  d(this, y, "f").focus();
202
217
  this.versionSelectedType = d(this, M, "f").value;
203
- d(this, P, "f").call(this);
218
+ d(this, S, "f").call(this);
204
219
  }
205
220
  async componentWillLoad() {
206
- c(this, m, await l.getComponentStrings(this.el), "f");
221
+ c(this, m, await h.getComponentStrings(this.el), "f");
207
222
  await d(this, E, "f").call(this);
208
223
  }
209
224
  render() {
210
225
  return s(i, {
211
226
  class: "widget"
212
227
  }, s("ch-theme", {
213
- model: N
228
+ model: L
214
229
  }), s("ch-shortcuts", {
215
- src: d(this, v, "f"),
230
+ src: d(this, w, "f"),
216
231
  ref: t => this.chShortcutsEl = t
217
232
  }), s("section", {
218
233
  class: "section"
@@ -228,7 +243,7 @@ const K = class {
228
243
  class: "label"
229
244
  }, d(this, m, "f").header.user), s("p", null, this.connectionData.userName)), s("button", {
230
245
  class: "button-tertiary button-change",
231
- onClick: d(this, T, "f")
246
+ onClick: d(this, x, "f")
232
247
  }, d(this, m, "f").header.change)), s("section", {
233
248
  class: "main field-group spacing-body"
234
249
  }, s("ch-edit", {
@@ -241,14 +256,14 @@ const K = class {
241
256
  }), s("ch-action-list-render", {
242
257
  selection: "single",
243
258
  class: "list-box",
244
- onSelectedItemsChange: d(this, A, "f"),
259
+ onSelectedItemsChange: d(this, z, "f"),
245
260
  model: this.kbsFilteredActionListModel
246
261
  }), s("div", {
247
262
  class: "versions-container field-group"
248
263
  }, s("ch-radio-group-render", {
249
264
  class: "radio-group",
250
265
  model: d(this, u, "f"),
251
- onChange: d(this, I, "f"),
266
+ onChange: d(this, A, "f"),
252
267
  value: d(this, u, "f")[0].value,
253
268
  ref: t => c(this, M, t, "f")
254
269
  }), this.versionSelectedType === "Select" && s("div", {
@@ -267,7 +282,7 @@ const K = class {
267
282
  value: this.versionsValueInput
268
283
  }), s("button", {
269
284
  class: "button-tertiary button-icon-only",
270
- onClick: d(this, z, "f"),
285
+ onClick: d(this, P, "f"),
271
286
  disabled: !this.enableSelectVersionsButton
272
287
  }, s("ch-image", {
273
288
  src: d(this, p, "f"),
@@ -282,10 +297,10 @@ const K = class {
282
297
  class: "input",
283
298
  id: "local-kb-name",
284
299
  value: this.localKbNameInputValue,
285
- onInput: d(this, S, "f"),
300
+ onInput: d(this, $, "f"),
286
301
  placeholder: d(this, m, "f").kb.localKbNamePlaceholder,
287
302
  ref: t => c(this, W, t, "f")
288
- }), d(this, j, "f").call(this, d(this, W, "f")))), d(this, L, "f").call(this)));
303
+ }), d(this, j, "f").call(this, d(this, W, "f")))), d(this, I, "f").call(this)));
289
304
  }
290
305
  static get assetsDirs() {
291
306
  return [ "gx-ide-assets/create-kb-from-server" ];
@@ -296,12 +311,12 @@ const K = class {
296
311
  };
297
312
 
298
313
  f = new WeakMap, p = new WeakMap, u = new WeakMap, m = new WeakMap, b = new WeakMap,
299
- w = new WeakMap, v = new WeakMap, g = new WeakMap, k = new WeakMap, y = new WeakMap,
300
- M = new WeakMap, W = new WeakMap, x = new WeakMap, T = new WeakMap, _ = new WeakMap,
301
- j = new WeakMap, C = new WeakMap, E = new WeakMap, P = new WeakMap, S = new WeakMap,
302
- z = new WeakMap, A = new WeakMap, I = new WeakMap, L = new WeakMap;
314
+ v = new WeakMap, w = new WeakMap, g = new WeakMap, k = new WeakMap, y = new WeakMap,
315
+ M = new WeakMap, W = new WeakMap, _ = new WeakMap, x = new WeakMap, T = new WeakMap,
316
+ j = new WeakMap, C = new WeakMap, E = new WeakMap, S = new WeakMap, $ = new WeakMap,
317
+ P = new WeakMap, z = new WeakMap, A = new WeakMap, I = new WeakMap;
303
318
 
304
- K.style = h;
319
+ N.style = l;
305
320
 
306
- export { K as gx_ide_create_kb_from_server };
307
- //# sourceMappingURL=p-2145674e.entry.js.map
321
+ export { N as gx_ide_create_kb_from_server };
322
+ //# sourceMappingURL=p-67132150.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["mapKbsModelToActionListModel","kbsData","listBoxItems","forEach","kb","push","id","type","caption","name","createKbFromServerCss","CSS_BUNDLES","GxIdeCreateKbFromServer","_GxIdeCreateKbFromServer_chSearchIcon","set","this","getIconPath","category","colorType","_GxIdeCreateKbFromServer_showMoreIcon","_GxIdeCreateKbFromServer_versionsSelect","value","_GxIdeCreateKbFromServer__componentLocale","_GxIdeCreateKbFromServer_kbsActionListModel","_GxIdeCreateKbFromServer_kbVersions","_GxIdeCreateKbFromServer_shortcutsSrc","getAssetPath","_GxIdeCreateKbFromServer_selectedKbId","_GxIdeCreateKbFromServer_kbNameAlreadyEditedByUser","_GxIdeCreateKbFromServer_searchKbsEl","_GxIdeCreateKbFromServer_versionSelectedTypeEl","_GxIdeCreateKbFromServer_localKBNameEl","_GxIdeCreateKbFromServer_cancelHandler","cancelCallback","_GxIdeCreateKbFromServer_changeConnectionHandler","async","changeConnectionCallback","authenticationType","connectionData","serverUrl","userName","userPassword","_GxIdeCreateKbFromServer_createHandler","versionSelectedType","__classPrivateFieldSet","createKBCallback","selectedKB","__classPrivateFieldGet","versionSelected","localKBName","localKbNameInputValue","versionList","then","formSubmitResult","validatableControls","validateControls","_GxIdeCreateKbFromServer_evaluateTooltipRender","controlReference","_b","_a","get","hasError","_c","message","h","class","actionElement","blockAlign","config","tooltipSettings","inlineAlign","delay","_GxIdeCreateKbFromServer_filterValueChangedHandler","event","filterValue","detail","toLowerCase","kbsFilteredActionListModel","filter","item","includes","_GxIdeCreateKbFromServer_init","getGXserverKBsCallback","result","_GxIdeCreateKbFromServer_initializeValidatableControls","validatableControl","reference","undefined","_GxIdeCreateKbFromServer_inputLocalKbNameHandler","_GxIdeCreateKbFromServer_selectedVersionHandler","selectKBVersionsCallback","length","map","kbVersion","versionsValueInput","versionsPlaceholder","toString","versionSelectedFieldValue","oneVersionSelectedFieldValue","_GxIdeCreateKbFromServer_selectKbChangeHandler","enableSelectVersionsButton","_GxIdeCreateKbFromServer_versionsChangedHandler","_GxIdeCreateKbFromServer_renderFooter","onClick","part","footer","cancel","disabled","createKb","Map","componentDidLoad","focus","call","componentWillLoad","Locale","getComponentStrings","el","render","Host","model","src","ref","chShortcutsEl","header","user","change","startImgSrc","onInput","placeholder","searchKbsPlaceholder","selection","onSelectedItemsChange","onChange","htmlFor","versionsLabel","readonly","versionsPlaceholderDisabled","localKbNameLabel","localKbNamePlaceholder"],"sources":["src/components/team-dev/create-kb-from-server/helpers.ts","src/components/team-dev/create-kb-from-server/create-kb-from-server.scss?tag=gx-ide-create-kb-from-server&encapsulation=shadow","src/components/team-dev/create-kb-from-server/create-kb-from-server.tsx"],"sourcesContent":["import { ActionListItemModel } from \"@genexus/chameleon-controls-library\";\nimport { KBData } from \"./create-kb-from-server\";\n\nexport const mapKbsModelToActionListModel = (\n kbsData: KBData[]\n): ActionListItemModel[] => {\n const listBoxItems: ActionListItemModel[] = [];\n kbsData.forEach(kb => {\n listBoxItems.push({\n id: kb.id,\n type: \"actionable\",\n caption: kb.name\n });\n });\n return listBoxItems;\n};\n",":host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.section {\n display: contents;\n}\n\n// - - - - - - - - - - -\n// Header\n// - - - - - - - - - - -\n\nheader {\n display: grid;\n grid-template-rows: max-content;\n grid-template-columns: 1fr 1fr max-content;\n}\n\n.button-change {\n align-self: center;\n justify-self: end;\n}\n\n// - - - - - - - - - - -\n// Main\n// - - - - - - - - - - -\n\n.main {\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: max-content 1fr max-content max-content;\n}\n\n.search-kbs {\n inline-size: 50%;\n}\n\n.versions-container {\n grid-auto-rows: max-content;\n\n &__input {\n display: grid;\n grid-template-columns: 1fr max-content;\n gap: var(--mer-spacing--xs);\n }\n\n .button-icon-only {\n border-color: var(--mer-color__neutral-gray--500);\n border-width: var(--mer-border__width--sm);\n border-radius: var(--mer-border__radius--sm);\n }\n\n .button-icon-only:hover {\n border-color: var(--mer-color__neutral-gray--100);\n }\n}\n","// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n getAssetPath\n} from \"@stencil/core\";\n\n// Other Libraries\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n\n// Custom Imports\nimport { config } from \"../../../common/config\";\nimport { GXServerConnectionData } from \"../connect-gx-server/connect-gx-server\";\nimport { FormSubmitResult } from \"../../../common/types\";\nimport {\n ControlValidation,\n validateControls\n} from \"../../../common/form-validation\";\nimport { Locale } from \"../../../common/locale\";\nimport { mapKbsModelToActionListModel } from \"./helpers\";\nimport {\n ActionListItemActionable,\n ActionListItemModel,\n ActionListItemModelExtended,\n ChActionListRenderCustomEvent,\n ChEditCustomEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { RadioGroupItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/radio-group/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"components/list-box\",\n \"components/tooltip\",\n \"chameleon/scrollbar\"\n];\n\n@Component({\n tag: \"gx-ide-create-kb-from-server\",\n styleUrl: \"create-kb-from-server.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/create-kb-from-server\"]\n})\nexport class GxIdeCreateKbFromServer {\n #chSearchIcon = getIconPath({\n category: \"system\",\n name: \"search\",\n colorType: \"on-surface\"\n });\n\n #showMoreIcon = getIconPath({\n category: \"gemini-tools\",\n name: \"show-more-horizontal\",\n colorType: \"on-elevation\"\n });\n\n #versionsSelect: RadioGroupItemModel[] = [\n { value: \"Trunk\", caption: \"Trunk Version\" },\n { value: \"All\", caption: \"All Versions\" },\n { value: \"Select\", caption: \"Select Version\" }\n ];\n\n [key: string]: any;\n\n #_componentLocale: any;\n #kbsActionListModel: ActionListItemModel[] = [];\n #kbVersions: KBVersion[] = [];\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/create-kb-from-server/shortcuts.json`\n );\n #selectedKbId: string;\n #kbNameAlreadyEditedByUser: boolean = false;\n\n #searchKbsEl!: HTMLChEditElement;\n #versionSelectedTypeEl: HTMLChRadioGroupRenderElement;\n\n @Element() el: HTMLGxIdeCreateKbFromServerElement;\n\n #localKBNameEl!: HTMLChEditElement;\n\n /**\n * State to enable/disable the select versions button\n */\n @State() enableSelectVersionsButton: boolean = false;\n\n /**\n * The current kbn name value.\n */\n @State() localKbNameInputValue: string = \"\";\n\n /**\n * State to store the filter input value to filter the list-box\n */\n @State() filterValue: string = \"\";\n\n /**\n * KBs filtered\n */\n @State() kbsFilteredActionListModel: ActionListItemModel[] = [];\n\n @State() validatableControls = new Map<string, ControlValidation>();\n\n /**\n * The version selected type\n */\n @State() versionSelectedType: VersionOption;\n\n /**\n * String value to show the number of versions selected (\"N versions selected\")\n */\n @State() versionsValueInput: string = \"\";\n\n /**\n * Set of data required when executing any of the callbacks that require a connection to the server.\n */\n @Prop() readonly connectionData: GXServerConnectionData;\n\n /**\n * Callback that is invoked when the dialog is closed\n */\n @Prop() readonly cancelCallback!: () => Promise<void>;\n\n /**\n * The host reopens the gx-ide-connect-server login modal with the previous data, and closes the current modal\n */\n @Prop() readonly changeConnectionCallback: (\n data: GXServerConnectionData\n ) => Promise<void>;\n\n /**\n * Callback that must be invoked when the 'Create KB' button is pressed. Receives the user's parameter selection to create the remote KB locally and ends the dialog.\n */\n @Prop() readonly createKBCallback!: (\n kbInfo: KnowledgeBaseInfo\n ) => Promise<FormSubmitResult>;\n\n /**\n * Callback that must be invoked when invoking the dialog\n */\n @Prop() readonly getGXserverKBsCallback!: (\n data: GXServerConnectionData\n ) => Promise<KBData[]>;\n\n /**\n * Callback invoked by pressing the ellipsis in the version selector. Receives the KB selected by the user, and displays the version selector dialog. Returns a list of versions chosen by the user.\n */\n @Prop() readonly selectKBVersionsCallback: (\n selectedKB: string\n ) => Promise<KBVersion[]>;\n\n componentDidLoad() {\n (this.#searchKbsEl as HTMLElement).focus();\n\n this.versionSelectedType = this.#versionSelectedTypeEl\n .value as VersionOption;\n\n this.#initializeValidatableControls();\n }\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n await this.#init();\n }\n\n #cancelHandler = (): void => {\n this.cancelCallback();\n };\n\n #changeConnectionHandler = async (): Promise<void> => {\n this.changeConnectionCallback({\n authenticationType: this.connectionData.authenticationType,\n serverUrl: this.connectionData.serverUrl,\n userName: this.connectionData.userName,\n userPassword: this.connectionData.userPassword\n });\n };\n\n #createHandler = async (): Promise<void> => {\n if (this.versionSelectedType !== \"Select\") {\n this.#kbVersions = [];\n }\n this.createKBCallback({\n selectedKB: this.#selectedKbId,\n versionSelected: this.versionSelectedType,\n localKBName: this.localKbNameInputValue,\n versionList: this.#kbVersions\n }).then((formSubmitResult: FormSubmitResult) => {\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n });\n };\n\n // TODO: evaluate if this should be a global helper function.\n // It is used on other dialogs as well.\n #evaluateTooltipRender = (\n controlReference: HTMLElement\n ): HTMLChTooltipElement =>\n this.validatableControls?.get(controlReference?.id)?.hasError &&\n this.validatableControls.get(controlReference.id)?.message && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={controlReference as unknown as HTMLButtonElement}\n blockAlign={config.tooltipSettings.blockAlign}\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.validatableControls.get(controlReference.id).message}\n </ch-tooltip>\n );\n\n #filterValueChangedHandler = (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.filterValue = (event.detail as string).toLowerCase();\n this.kbsFilteredActionListModel = this.#kbsActionListModel.filter(\n (item: ActionListItemActionable) =>\n item.caption.toLowerCase().includes(this.filterValue)\n );\n };\n\n #init = async () => {\n await this.getGXserverKBsCallback({\n authenticationType: this.connectionData.authenticationType,\n serverUrl: this.connectionData.serverUrl,\n userName: this.connectionData.userName,\n userPassword: this.connectionData.userPassword\n }).then(result => {\n this.#kbsActionListModel = mapKbsModelToActionListModel(result);\n this.kbsFilteredActionListModel = this.#kbsActionListModel;\n this.filterValue = \"\";\n });\n };\n\n #initializeValidatableControls = () => {\n // populate validatableControls with the controls that could have errors.\n const validatableControls: HTMLElement[] = [this.#localKBNameEl];\n validatableControls.forEach(validatableControl => {\n if (validatableControl.id) {\n this.validatableControls.set(validatableControl.id, {\n reference: validatableControl,\n hasError: false,\n message: undefined\n });\n }\n });\n };\n\n #inputLocalKbNameHandler = (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.localKbNameInputValue = event.detail as string;\n this.#kbNameAlreadyEditedByUser = true;\n };\n\n #selectedVersionHandler = async () => {\n if (this.selectKBVersionsCallback) {\n await this.selectKBVersionsCallback(this.#selectedKbId).then(result => {\n if (result?.length) {\n this.#kbVersions = result.map(kbVersion => ({\n id: kbVersion.id,\n name: kbVersion.name\n }));\n\n if (result.length === 1 && this.#kbVersions[0].id === 0) {\n this.localKbNameInputValue = this.#selectedKbId;\n this.versionsValueInput =\n this.#_componentLocale.kb.versionsPlaceholder;\n } else if (result.length > 1) {\n this.localKbNameInputValue = this.#selectedKbId;\n this.versionsValueInput = `${result.length.toString()} ${\n this.#_componentLocale.kb.versionSelectedFieldValue\n }`;\n } else {\n this.localKbNameInputValue = `${this.#selectedKbId}_${\n this.#kbVersions[0].name\n }`;\n this.versionsValueInput = `${result[0].name} ${\n this.#_componentLocale.kb.oneVersionSelectedFieldValue\n }`;\n }\n }\n });\n }\n };\n\n #selectKbChangeHandler = (\n event: ChActionListRenderCustomEvent<ActionListItemModelExtended[]>\n ): void => {\n const item = event.detail[0]?.item as ActionListItemActionable;\n if (item === undefined) {\n this.enableSelectVersionsButton = false;\n this.#selectedKbId = undefined;\n return;\n }\n this.enableSelectVersionsButton = true;\n this.#selectedKbId = item.id;\n if (this.#kbNameAlreadyEditedByUser) {\n return;\n }\n this.localKbNameInputValue = item.caption;\n };\n\n #versionsChangedHandler = (event: CustomEvent<string>) => {\n this.versionSelectedType = event.detail as VersionOption;\n };\n\n #renderFooter = () => {\n return (\n <footer class=\"footer control-footer-with-border spacing-body-inline spacing-body-block-end\">\n <div class=\"buttons-spacer\">\n <button\n // cancel button\n class=\"button-secondary\"\n onClick={this.#cancelHandler}\n part=\"button button-cancel\"\n >\n {this.#_componentLocale.footer.cancel}\n </button>\n\n <button\n // create kb button\n class=\"button-primary\"\n onClick={this.enableSelectVersionsButton && this.#createHandler}\n disabled={!this.enableSelectVersionsButton}\n part=\"button button-create-kb\"\n >\n {this.#_componentLocale.footer.createKb}\n </button>\n </div>\n </footer>\n );\n };\n\n render(): void {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n\n <section class=\"section\">\n <header class=\"header control-header-with-border space-body spacing-body-inline spacing-body-block-start\">\n <div class=\"field field-block\">\n <label class=\"label\">\n {this.#_componentLocale.header.serverUrl}\n </label>\n <p>{this.connectionData.serverUrl}</p>\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\">{this.#_componentLocale.header.user}</label>\n <p>{this.connectionData.userName}</p>\n </div>\n\n <button\n class=\"button-tertiary button-change\"\n onClick={this.#changeConnectionHandler}\n >\n {this.#_componentLocale.header.change}\n </button>\n </header>\n\n <section class=\"main field-group spacing-body\">\n <ch-edit\n class=\"input search-kbs\"\n id=\"local-kb-name\"\n startImgSrc={this.#chSearchIcon}\n onInput={this.#filterValueChangedHandler}\n placeholder={this.#_componentLocale.kb.searchKbsPlaceholder}\n ref={el => (this.#searchKbsEl = el as HTMLChEditElement)}\n ></ch-edit>\n\n <ch-action-list-render\n selection=\"single\"\n class=\"list-box\"\n onSelectedItemsChange={this.#selectKbChangeHandler}\n model={this.kbsFilteredActionListModel}\n ></ch-action-list-render>\n\n <div class=\"versions-container field-group\">\n <ch-radio-group-render\n class=\"radio-group\"\n model={this.#versionsSelect}\n onChange={this.#versionsChangedHandler}\n value={this.#versionsSelect[0].value}\n ref={el =>\n (this.#versionSelectedTypeEl =\n el as HTMLChRadioGroupRenderElement)\n }\n ></ch-radio-group-render>\n\n {this.versionSelectedType === \"Select\" && (\n <div class=\"versions-container__item field-group\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"control-id-1\">\n {this.#_componentLocale.kb.versionsLabel}\n </label>\n <div class=\"versions-container__input\">\n <ch-edit\n class=\"input\"\n readonly\n placeholder={\n this.enableSelectVersionsButton\n ? this.#_componentLocale.kb.versionsPlaceholder\n : this.#_componentLocale.kb\n .versionsPlaceholderDisabled\n }\n value={this.versionsValueInput}\n ></ch-edit>\n <button\n class=\"button-tertiary button-icon-only\"\n onClick={this.#selectedVersionHandler}\n disabled={!this.enableSelectVersionsButton}\n >\n <ch-image\n src={this.#showMoreIcon}\n class=\"icon-sm\"\n ></ch-image>\n </button>\n </div>\n </div>\n </div>\n )}\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"localKbName\">\n {this.#_componentLocale.kb.localKbNameLabel}\n </label>\n <ch-edit\n // local kb name\n class=\"input\"\n id=\"local-kb-name\"\n value={this.localKbNameInputValue}\n onInput={this.#inputLocalKbNameHandler}\n placeholder={this.#_componentLocale.kb.localKbNamePlaceholder}\n ref={(el: HTMLChEditElement) =>\n (this.#localKBNameEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#localKBNameEl)}\n </div>\n </section>\n\n {this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n\nexport type KBData = {\n id: string;\n name: string;\n};\n\nexport type KBVersion = {\n id: number;\n name: string;\n type?: VersionType;\n};\n\nexport type ConnectionResultData = {\n formResult: FormSubmitResult;\n kbs: KBData[];\n};\n\nexport type KnowledgeBaseInfo = {\n selectedKB: string;\n versionSelected: VersionOption;\n localKBName: string;\n versionList: KBVersion[];\n};\n\nexport type VersionOption = \"Trunk\" | \"All\" | \"Select\";\n\nexport type VersionType = \"Branch\" | \"Frozen\";\n"],"mappings":"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"}