@genexus/genexus-ide-ui 1.1.48 → 1.1.50

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 (79) hide show
  1. package/dist/cjs/{form-validation-178cf461.js → form-validation-54acc775.js} +11 -1
  2. package/dist/cjs/form-validation-54acc775.js.map +1 -0
  3. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  4. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +1 -1
  5. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +1 -1
  6. package/dist/cjs/gx-ide-curl-inspector.cjs.entry.js +1 -1
  7. package/dist/cjs/gx-ide-json-import.cjs.entry.js +1 -1
  8. package/dist/cjs/gx-ide-name-picker.cjs.entry.js +2 -1
  9. package/dist/cjs/gx-ide-name-picker.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
  11. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
  12. package/dist/cjs/gx-ide-new-version.cjs.entry.js +1 -1
  13. package/dist/cjs/gx-ide-server-selector.cjs.entry.js +61 -30
  14. package/dist/cjs/gx-ide-server-selector.cjs.entry.js.map +1 -1
  15. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
  16. package/dist/cjs/loader.cjs.js +1 -1
  17. package/dist/collection/common/form-validation.js +9 -0
  18. package/dist/collection/common/form-validation.js.map +1 -1
  19. package/dist/collection/components/name-picker/name-picker.js +2 -1
  20. package/dist/collection/components/name-picker/name-picker.js.map +1 -1
  21. package/dist/collection/components/team-dev/server-selector/server-selector.css +4 -0
  22. package/dist/collection/components/team-dev/server-selector/server-selector.js +72 -32
  23. package/dist/collection/components/team-dev/server-selector/server-selector.js.map +1 -1
  24. package/dist/components/form-validation.js +10 -1
  25. package/dist/components/form-validation.js.map +1 -1
  26. package/dist/components/gx-ide-name-picker.js +2 -1
  27. package/dist/components/gx-ide-name-picker.js.map +1 -1
  28. package/dist/components/gx-ide-server-selector.js +61 -31
  29. package/dist/components/gx-ide-server-selector.js.map +1 -1
  30. package/dist/esm/{form-validation-cd0215c6.js → form-validation-21ab3766.js} +11 -2
  31. package/dist/esm/form-validation-21ab3766.js.map +1 -0
  32. package/dist/esm/genexus-ide-ui.js +1 -1
  33. package/dist/esm/gx-ide-connect-gx-server.entry.js +1 -1
  34. package/dist/esm/gx-ide-create-kb-from-server.entry.js +1 -1
  35. package/dist/esm/gx-ide-curl-inspector.entry.js +1 -1
  36. package/dist/esm/gx-ide-json-import.entry.js +1 -1
  37. package/dist/esm/gx-ide-name-picker.entry.js +2 -1
  38. package/dist/esm/gx-ide-name-picker.entry.js.map +1 -1
  39. package/dist/esm/gx-ide-new-environment.entry.js +1 -1
  40. package/dist/esm/gx-ide-new-kb.entry.js +1 -1
  41. package/dist/esm/gx-ide-new-version.entry.js +1 -1
  42. package/dist/esm/gx-ide-server-selector.entry.js +61 -30
  43. package/dist/esm/gx-ide-server-selector.entry.js.map +1 -1
  44. package/dist/esm/gx-ide-share-kb.entry.js +1 -1
  45. package/dist/esm/loader.js +1 -1
  46. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  47. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  48. package/dist/genexus-ide-ui/{p-4b06b578.entry.js → p-06561f7e.entry.js} +147 -121
  49. package/dist/genexus-ide-ui/p-06561f7e.entry.js.map +1 -0
  50. package/dist/genexus-ide-ui/{p-16a88fc3.entry.js → p-098a7288.entry.js} +2 -2
  51. package/dist/genexus-ide-ui/{p-0ae0616f.entry.js → p-5f65a4bb.entry.js} +2 -2
  52. package/dist/genexus-ide-ui/{p-443fc479.entry.js → p-5fe6189e.entry.js} +11 -11
  53. package/dist/genexus-ide-ui/{p-137a252f.entry.js → p-67cf4af1.entry.js} +2 -2
  54. package/dist/genexus-ide-ui/p-b32b6b1f.js +49 -0
  55. package/dist/genexus-ide-ui/p-b32b6b1f.js.map +1 -0
  56. package/dist/genexus-ide-ui/{p-d01bbc7a.entry.js → p-cccd6565.entry.js} +2 -2
  57. package/dist/genexus-ide-ui/{p-b34ecbdc.entry.js → p-d24c1115.entry.js} +2 -2
  58. package/dist/genexus-ide-ui/{p-09a634fc.entry.js → p-db07c544.entry.js} +8 -8
  59. package/dist/genexus-ide-ui/{p-af975c83.entry.js → p-eacc81c8.entry.js} +2 -2
  60. package/dist/genexus-ide-ui/{p-e3bce13e.entry.js → p-ee7232f2.entry.js} +33 -32
  61. package/dist/genexus-ide-ui/p-ee7232f2.entry.js.map +1 -0
  62. package/dist/types/common/form-validation.d.ts +1 -0
  63. package/dist/types/components/team-dev/server-selector/server-selector.d.ts +2 -6
  64. package/dist/types/components.d.ts +8 -6
  65. package/package.json +1 -1
  66. package/dist/cjs/form-validation-178cf461.js.map +0 -1
  67. package/dist/esm/form-validation-cd0215c6.js.map +0 -1
  68. package/dist/genexus-ide-ui/p-289c3290.js +0 -39
  69. package/dist/genexus-ide-ui/p-289c3290.js.map +0 -1
  70. package/dist/genexus-ide-ui/p-4b06b578.entry.js.map +0 -1
  71. package/dist/genexus-ide-ui/p-e3bce13e.entry.js.map +0 -1
  72. /package/dist/genexus-ide-ui/{p-16a88fc3.entry.js.map → p-098a7288.entry.js.map} +0 -0
  73. /package/dist/genexus-ide-ui/{p-0ae0616f.entry.js.map → p-5f65a4bb.entry.js.map} +0 -0
  74. /package/dist/genexus-ide-ui/{p-443fc479.entry.js.map → p-5fe6189e.entry.js.map} +0 -0
  75. /package/dist/genexus-ide-ui/{p-137a252f.entry.js.map → p-67cf4af1.entry.js.map} +0 -0
  76. /package/dist/genexus-ide-ui/{p-d01bbc7a.entry.js.map → p-cccd6565.entry.js.map} +0 -0
  77. /package/dist/genexus-ide-ui/{p-b34ecbdc.entry.js.map → p-d24c1115.entry.js.map} +0 -0
  78. /package/dist/genexus-ide-ui/{p-09a634fc.entry.js.map → p-db07c544.entry.js.map} +0 -0
  79. /package/dist/genexus-ide-ui/{p-af975c83.entry.js.map → p-eacc81c8.entry.js.map} +0 -0
@@ -4,135 +4,165 @@ import { g as a } from "./p-401bfc97.js";
4
4
 
5
5
  import { c as r } from "./p-9a03ac9f.js";
6
6
 
7
- import { L as l } from "./p-311eedf3.js";
7
+ import { v as l, c as o } from "./p-b32b6b1f.js";
8
8
 
9
- import { s as o } from "./p-02fb496a.js";
9
+ import { L as n } from "./p-311eedf3.js";
10
10
 
11
- const n = ":host{display:grid;block-size:100%;grid-template-rows:max-content max-content 1fr max-content;row-gap:var(--mer-spacing--md);overflow:auto}:host(.new-connection){grid-template-rows:max-content 1fr}:host(.recently-used-empty){grid-template-rows:max-content 1fr}.section{display:contents}.tabular-grid{border-radius:var(--mer-border__radius--sm);overflow:hidden;overflow:auto;border-inline:1px solid var(--grid-cell__border-color)}.tabular-grid-rowset-empty{border-block-end:1px solid var(--grid-cell__border-color);overflow:hidden}.tabular-grid ch-tabular-grid-cell:is(:nth-child(2),:nth-child(3),:nth-child(4)){padding-block:var(--grid-cell__padding-block);padding-inline:var(--grid-cell__padding-inline);align-items:start;justify-content:start;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-inline-size:0}.text-neutral-gray-400,.tabular-grid-cell.text-neutral-gray-400{color:var(--mer-color__neutral-gray--400)}.search-server{inline-size:50%}.tabular-grid-recently-used .tabular-grid-column::part(bar){--grid-cell__padding-block:0;--grid-cell__padding-inline:0}.tabular-grid.tabular-grid-recently-used{border-block-end:1px solid var(--grid-cell__border-color);max-block-size:100px}.tabular-grid-all-servers{overflow:auto}.field-block-all-servers{overflow:auto}.tabular-grid-all-servers{border-block:1px solid var(--grid-cell__border-color)}.tabular-grid-all-servers .tabular-grid-column:first-child::part(bar){--grid-common__gap:0}.tabular-grid-wrapper{position:relative;overflow:auto}.border-patch{--tabular-grid-border-radius:4px;position:absolute;top:0;inline-size:calc(100% - var(--tabular-grid-border-radius) * 2);inset-inline-start:var(--tabular-grid-border-radius);block-size:2px;background-color:var(--items-container__bg-color);z-index:9999;border-block-start:1px solid var(--mer-border-color__on-surface)}";
11
+ import { s as c } from "./p-02fb496a.js";
12
12
 
13
- var c = undefined && undefined.__classPrivateFieldGet || function(e, t, s, i) {
13
+ const d = ":host{display:grid;block-size:100%;grid-template-rows:max-content max-content 1fr max-content;row-gap:var(--mer-spacing--md);overflow:auto}:host(.new-connection){grid-template-rows:max-content 1fr}:host(.recently-used-empty){grid-template-rows:max-content 1fr}.section{display:contents}.tabular-grid{border-radius:var(--mer-border__radius--sm);overflow:hidden;overflow:auto;border-inline:1px solid var(--grid-cell__border-color)}.tabular-grid-rowset-empty{border-block-end:1px solid var(--grid-cell__border-color);overflow:hidden}.tabular-grid ch-tabular-grid-cell:is(:nth-child(2),:nth-child(3),:nth-child(4)){padding-block:var(--grid-cell__padding-block);padding-inline:var(--grid-cell__padding-inline);align-items:start;justify-content:start;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-inline-size:0}.text-neutral-gray-400,.tabular-grid-cell.text-neutral-gray-400{color:var(--mer-color__neutral-gray--400)}.search-server{inline-size:50%}.tabular-grid-recently-used .tabular-grid-column::part(bar){--grid-cell__padding-block:0;--grid-cell__padding-inline:0}.tabular-grid.tabular-grid-recently-used{border-block-end:1px solid var(--grid-cell__border-color);max-block-size:100px}.tabular-grid-all-servers{overflow:auto}.field-block-all-servers{overflow:auto}.tabular-grid-all-servers{border-block:1px solid var(--grid-cell__border-color)}.tabular-grid-all-servers .tabular-grid-column:first-child::part(bar){--grid-common__gap:0}.tabular-grid-wrapper{position:relative;overflow:auto}.border-patch{--tabular-grid-border-radius:4px;position:absolute;top:0;inline-size:calc(100% - var(--tabular-grid-border-radius) * 2);inset-inline-start:var(--tabular-grid-border-radius);block-size:2px;background-color:var(--items-container__bg-color);z-index:9999;border-block-start:1px solid var(--mer-border-color__on-surface)}.tooltip{position:absolute}";
14
+
15
+ var h = undefined && undefined.__classPrivateFieldGet || function(e, t, s, i) {
14
16
  if (s === "a" && !i) throw new TypeError("Private accessor was defined without a getter");
15
17
  if (typeof t === "function" ? e !== t || !i : !t.has(e)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
16
18
  return s === "m" ? i : s === "a" ? i.call(e) : i ? i.value : t.get(e);
17
19
  };
18
20
 
19
- var d = undefined && undefined.__classPrivateFieldSet || function(e, t, s, i, a) {
21
+ var u = undefined && undefined.__classPrivateFieldSet || function(e, t, s, i, a) {
20
22
  if (i === "m") throw new TypeError("Private method is not writable");
21
23
  if (i === "a" && !a) throw new TypeError("Private accessor was defined without a setter");
22
24
  if (typeof t === "function" ? e !== t || !a : !t.has(e)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
23
25
  return i === "a" ? a.call(e, s) : a ? a.value = s : t.set(e, s), s;
24
26
  };
25
27
 
26
- var h, u, b, f, g, p, m, w, v, y, k, _, M, x, W, z, N, C, I, S, T, j, E, A, H, R;
28
+ var f, b, p, g, m, v, w, y, k, M, _, W, x, z, N, C, I, S, T, j, E, A, H, R, U, D, F, L, P, V;
27
29
 
28
- const U = [ "resets/box-sizing", "utils/form--full", "utils/layout", "utils/typography", "utils/spacing", "components/tooltip", "chameleon/scrollbar", "components/tabular-grid" ];
30
+ const $ = [ "resets/box-sizing", "utils/form--full", "utils/layout", "utils/typography", "utils/spacing", "components/tooltip", "chameleon/scrollbar", "components/tabular-grid" ];
29
31
 
30
- const L = a({
32
+ const q = a({
31
33
  category: "system",
32
34
  name: "information",
33
35
  colorType: "on-surface"
34
36
  });
35
37
 
36
- const F = a({
38
+ const B = a({
37
39
  category: "system",
38
40
  name: "lock",
39
41
  colorType: "on-surface"
40
42
  });
41
43
 
42
- const P = a({
44
+ const G = a({
43
45
  category: "system",
44
46
  name: "language",
45
47
  colorType: "on-surface"
46
48
  });
47
49
 
48
- const $ = class {
50
+ const J = class {
49
51
  constructor(s) {
50
52
  e(this, s);
51
- h.set(this, a({
53
+ f.set(this, a({
52
54
  category: "system",
53
55
  name: "search",
54
56
  colorType: "on-surface"
55
57
  }));
56
- u.set(this, [ {
58
+ b.set(this, [ {
57
59
  value: "select",
58
60
  caption: "Select a server from the list below"
59
61
  }, {
60
62
  value: "new",
61
63
  caption: "Enter a server URL manually"
62
64
  } ]);
63
- b.set(this, void 0);
64
- f.set(this, void 0);
65
- g.set(this, void 0);
66
65
  p.set(this, void 0);
66
+ g.set(this, void 0);
67
67
  m.set(this, void 0);
68
+ v.set(this, void 0);
68
69
  w.set(this, void 0);
69
- v.set(this, (() => {
70
+ y.set(this, void 0);
71
+ k.set(this, void 0);
72
+ M.set(this, (() => {
70
73
  this.cancelCallback();
71
74
  }));
72
- y.set(this, (async () => {
75
+ _.set(this, (async () => {
76
+ let e;
73
77
  if (this.selectedConnectionType === "select") {
74
- await this.selectServerCallback({
78
+ e = await this.selectServerCallback({
75
79
  uri: this.selectedServerUri,
76
80
  name: this.selectedServerName
77
- });
78
- } else if (this.selectedConnectionType === "new") {
79
- this.isValidUrl = c(this, M, "f").call(this, this.serverUrlInputValue);
80
- if (this.isValidUrl) {
81
- await this.selectServerCallback({
82
- uri: this.serverUrlInputValue,
83
- name: this.serverNameInputValue
81
+ }, this.selectedConnectionType);
82
+ } else {
83
+ e = await this.selectServerCallback({
84
+ uri: this.serverUrlInputValue,
85
+ name: this.serverNameInputValue
86
+ }, this.selectedConnectionType);
87
+ this.validatableControls = l(e, this.validatableControls);
88
+ }
89
+ }));
90
+ // TODO: evaluate if this should be a global helper function.
91
+ // It is used on other dialogs as well.
92
+ W.set(this, (e => {
93
+ var s, i, a;
94
+ return ((i = (s = this.validatableControls) === null || s === void 0 ? void 0 : s.get(e === null || e === void 0 ? void 0 : e.id)) === null || i === void 0 ? void 0 : i.hasError) && ((a = this.validatableControls.get(e.id)) === null || a === void 0 ? void 0 : a.message) && t("ch-tooltip", {
95
+ class: "tooltip",
96
+ actionElement: e,
97
+ blockAlign: r.tooltipSettings.blockAlign,
98
+ inlineAlign: r.tooltipSettings.inlineAlign,
99
+ delay: r.tooltipSettings.delay
100
+ }, this.validatableControls.get(e.id).message);
101
+ }));
102
+ x.set(this, (() => {
103
+ // populate validatableControls with the controls that could have errors.
104
+ const e = [ h(this, y, "f"), h(this, k, "f") ];
105
+ e.forEach((e => {
106
+ if (e.id) {
107
+ this.validatableControls.set(e.id, {
108
+ reference: e,
109
+ hasError: false,
110
+ message: undefined
84
111
  });
85
112
  }
86
- }
113
+ }));
87
114
  }));
88
- k.set(this, (e => {
115
+ z.set(this, (e => {
89
116
  this.filterValue = e.detail.toLowerCase();
90
117
  this.filteredConnectedServersData = this.connectedServersData.filter((e => e.serverName.toLowerCase().includes(this.filterValue)));
91
118
  }));
92
- _.set(this, ((e, t) => {
119
+ N.set(this, ((e, t) => {
93
120
  this.enableConfirmButton = false;
94
121
  this[t] = e.detail;
95
- c(this, x, "f").call(this);
122
+ const s = t === "serverUrlInputValue" ? "server-url" : "server-name";
123
+ o(this.validatableControls, s);
124
+ h(this, C, "f").call(this);
96
125
  }));
97
- M.set(this, (e => {
98
- try {
99
- const t = new URL(e);
100
- const s = (t.protocol === "http:" || t.protocol === "https:") && e.startsWith(`${t.protocol}//`);
101
- return s;
102
- } catch (e) {
103
- return false;
104
- }
105
- }));
106
- x.set(this, (() => {
126
+ C.set(this, (() => {
107
127
  if (this.serverUrlInputValue && this.serverUrlInputValue.length > 0 && this.serverNameInputValue && this.serverNameInputValue.length > 0) {
108
128
  this.enableConfirmButton = true;
109
129
  } else {
110
130
  this.enableConfirmButton = false;
111
131
  }
112
132
  }));
113
- W.set(this, (e => c(this, N, "f").call(this, e, this.connectedServersData, c(this, f, "f"))));
114
- z.set(this, (e => c(this, N, "f").call(this, e, this.recentlyUsedServersData, c(this, g, "f"))));
115
- N.set(this, (async (e, t, s) => {
133
+ I.set(this, (e => {
134
+ console.log("double click connected servers");
135
+ h(this, T, "f").call(this, e);
136
+ h(this, _, "f").call(this);
137
+ }));
138
+ S.set(this, (e => {
139
+ console.log("double click recently used");
140
+ h(this, j, "f").call(this, e);
141
+ h(this, _, "f").call(this);
142
+ }));
143
+ T.set(this, (e => h(this, E, "f").call(this, e, this.connectedServersData, h(this, g, "f"))));
144
+ j.set(this, (e => h(this, E, "f").call(this, e, this.recentlyUsedServersData, h(this, m, "f"))));
145
+ E.set(this, (async (e, t, s) => {
116
146
  if (!this.isFirstSelection) {
117
- d(this, p, c(this, m, "f"), "f");
147
+ u(this, v, h(this, w, "f"), "f");
118
148
  }
119
- d(this, m, e.detail.rowId, "f");
120
- if (c(this, m, "f") === undefined) {
149
+ u(this, w, e.detail.rowId, "f");
150
+ if (h(this, w, "f") === undefined) {
121
151
  this.enableConfirmButton = false;
122
152
  this.selectedServerUri = undefined;
123
153
  this.selectedServerName = undefined;
124
154
  return;
125
155
  } else {
126
- const e = t.find((e => e.id === c(this, m, "f")));
156
+ const e = t.find((e => e.id === h(this, w, "f")));
127
157
  this.enableConfirmButton = true;
128
158
  this.selectedServerName = e === null || e === void 0 ? void 0 : e.serverName;
129
159
  this.selectedServerUri = e === null || e === void 0 ? void 0 : e.serverUrl;
130
160
  this.userName = (e === null || e === void 0 ? void 0 : e.gxServerUsername) || "";
131
161
  this.isFirstSelection = false;
132
- await (s === null || s === void 0 ? void 0 : s.selectRow(c(this, p, "f"), false));
162
+ await (s === null || s === void 0 ? void 0 : s.selectRow(h(this, v, "f"), false));
133
163
  }
134
164
  }));
135
- C.set(this, (e => {
165
+ A.set(this, (e => {
136
166
  this.selectedConnectionType = e.detail;
137
167
  if (this.selectedConnectionType === "new") {
138
168
  this.enableConfirmButton = false;
@@ -140,10 +170,10 @@ const $ = class {
140
170
  }
141
171
  this.selectedServerName = "None";
142
172
  }));
143
- I.set(this, (e => {
144
- this.filteredConnectedServersData = [ ...o(e, this.filteredConnectedServersData, "string", undefined) ];
173
+ H.set(this, (e => {
174
+ this.filteredConnectedServersData = [ ...c(e, this.filteredConnectedServersData, "string", undefined) ];
145
175
  }));
146
- S.set(this, ((e = false) => t("ch-tabular-grid-columnset", {
176
+ R.set(this, ((e = false) => t("ch-tabular-grid-columnset", {
147
177
  class: "tabular-grid-column-set"
148
178
  }, t("ch-tabular-grid-column", {
149
179
  columnId: "icon",
@@ -163,7 +193,7 @@ const $ = class {
163
193
  size: r.tabularGrid.colSize.serverName,
164
194
  resizable: false,
165
195
  sortable: !e,
166
- onColumnSortChanged: c(this, I, "f")
196
+ onColumnSortChanged: h(this, H, "f")
167
197
  }), t("ch-tabular-grid-column", {
168
198
  columnId: "serverUrl",
169
199
  class: "tabular-grid-column",
@@ -173,7 +203,7 @@ const $ = class {
173
203
  size: r.tabularGrid.colSize.auto,
174
204
  resizable: false,
175
205
  sortable: !e,
176
- onColumnSortChanged: c(this, I, "f")
206
+ onColumnSortChanged: h(this, H, "f")
177
207
  }), t("ch-tabular-grid-column", {
178
208
  columnId: "userName",
179
209
  class: "tabular-grid-column",
@@ -183,7 +213,7 @@ const $ = class {
183
213
  size: r.tabularGrid.colSize.userName,
184
214
  resizable: false,
185
215
  sortable: !e,
186
- onColumnSortChanged: c(this, I, "f")
216
+ onColumnSortChanged: h(this, H, "f")
187
217
  }), t("ch-tabular-grid-column", {
188
218
  columnId: "status",
189
219
  class: "tabular-grid-column",
@@ -194,76 +224,76 @@ const $ = class {
194
224
  resizable: false,
195
225
  sortable: false
196
226
  }))));
197
- T.set(this, (e => e !== "" ? t("ch-tooltip", {
227
+ U.set(this, (e => e !== "" ? t("ch-tooltip", {
198
228
  class: "tooltip",
199
229
  actionElement: null,
200
230
  blockAlign: "outside-end",
201
231
  inlineAlign: r.tooltipSettings.inlineAlign,
202
232
  delay: r.tooltipSettings.delay
203
233
  }, e) : null));
204
- j.set(this, (e => [ t("ch-tabular-grid-cell", {
234
+ D.set(this, (e => [ t("ch-tabular-grid-cell", {
205
235
  class: "tabular-grid-cell"
206
- }, c(this, H, "f").call(this, e.accessLevel)), t("ch-tabular-grid-cell", {
236
+ }, h(this, P, "f").call(this, e.accessLevel)), t("ch-tabular-grid-cell", {
207
237
  class: "tabular-grid-cell tabular-grid-cell-server-name"
208
238
  }, e.serverName), t("ch-tabular-grid-cell", {
209
239
  class: "tabular-grid-cell tabular-grid-cell-server-url"
210
- }, e.serverUrl, c(this, T, "f").call(this, e.serverUrl)), t("ch-tabular-grid-cell", {
240
+ }, e.serverUrl, h(this, U, "f").call(this, e.serverUrl)), t("ch-tabular-grid-cell", {
211
241
  class: "tabular-grid-cell"
212
242
  }, e.gxServerUsername), t("ch-tabular-grid-cell", {
213
243
  class: "tabular-grid-cell text-neutral-gray-400 body-italic-s"
214
244
  }, e.isConnected && "Connected") ]));
215
- E.set(this, (e => t("ch-tabular-grid", {
245
+ F.set(this, (e => t("ch-tabular-grid", {
216
246
  class: "tabular-grid-recently-used tabular-grid",
217
247
  rowSelectionMode: "single",
218
- ref: e => d(this, f, e, "f"),
248
+ ref: e => u(this, g, e, "f"),
219
249
  allowColumnReorder: false,
220
- onRowClicked: c(this, z, "f"),
250
+ onRowDoubleClicked: h(this, S, "f"),
221
251
  id: "recently-used-servers"
222
- }, c(this, S, "f").call(this, e), this.recentlyUsedServersData.length > 0 ? t("ch-tabular-grid-rowset", {
252
+ }, h(this, R, "f").call(this, e), this.recentlyUsedServersData.length > 0 ? t("ch-tabular-grid-rowset", {
223
253
  class: "tabular-grid-rowset"
224
254
  }, this.recentlyUsedServersData.map((e => t("ch-tabular-grid-row", {
225
255
  rowid: e.id,
226
256
  class: "tabular-grid-row"
227
- }, c(this, j, "f").call(this, e))))) : t("ch-tabular-grid-rowset", {
257
+ }, h(this, D, "f").call(this, e))))) : t("ch-tabular-grid-rowset", {
228
258
  class: "tabular-grid-rowset"
229
259
  }, t("ch-tabular-grid-rowset-empty", null, t("gx-ide-empty-state", {
230
- stateIconSrc: L,
231
- stateTitle: c(this, b, "f").emptyConnectedServers,
260
+ stateIconSrc: q,
261
+ stateTitle: h(this, p, "f").emptyConnectedServers,
232
262
  isAnimated: true
233
263
  }))))));
234
- A.set(this, (() => t("div", {
264
+ L.set(this, (() => t("div", {
235
265
  class: "tabular-grid-wrapper"
236
266
  }, t("div", {
237
267
  class: "border-patch"
238
268
  }), t("ch-tabular-grid", {
239
269
  class: "tabular-grid tabular-grid-all-servers",
240
270
  rowSelectionMode: "single",
241
- ref: e => d(this, g, e, "f"),
271
+ ref: e => u(this, m, e, "f"),
242
272
  allowColumnReorder: false,
243
- onRowClicked: c(this, W, "f"),
273
+ onRowDoubleClicked: h(this, I, "f"),
244
274
  id: "all-servers"
245
- }, c(this, S, "f").call(this), this.filteredConnectedServersData.length > 0 ? t("ch-tabular-grid-rowset", {
275
+ }, h(this, R, "f").call(this), this.filteredConnectedServersData.length > 0 ? t("ch-tabular-grid-rowset", {
246
276
  class: "tabular-grid-rowset"
247
277
  }, this.filteredConnectedServersData.map((e => t("ch-tabular-grid-row", {
248
278
  rowid: e.id,
249
279
  class: "tabular-grid-row"
250
- }, c(this, j, "f").call(this, e))))) : t("ch-tabular-grid-rowset", {
280
+ }, h(this, D, "f").call(this, e))))) : t("ch-tabular-grid-rowset", {
251
281
  class: "tabular-grid-rowset"
252
282
  }, t("ch-tabular-grid-rowset-empty", {
253
283
  class: "tabular-grid-rowset-empty"
254
284
  }, t("gx-ide-empty-state", {
255
- stateIconSrc: L,
256
- stateTitle: c(this, b, "f").emptyConnectedServers,
285
+ stateIconSrc: q,
286
+ stateTitle: h(this, p, "f").emptyConnectedServers,
257
287
  isAnimated: true
258
288
  })))))));
259
- H.set(this, (e => {
260
- const s = e === "private" ? F : P;
289
+ P.set(this, (e => {
290
+ const s = e === "private" ? B : G;
261
291
  return t("ch-image", {
262
292
  class: "icon-md",
263
293
  src: s
264
294
  });
265
295
  }));
266
- R.set(this, (() => {
296
+ V.set(this, (() => {
267
297
  const e = this.selectedConnectionType === "select";
268
298
  return t("footer", {
269
299
  class: {
@@ -280,17 +310,16 @@ const $ = class {
280
310
  }, t("button", {
281
311
  // cancel button
282
312
  class: "button-secondary",
283
- onClick: c(this, v, "f")
284
- }, c(this, b, "f").footer.cancel), t("button", {
313
+ onClick: h(this, M, "f")
314
+ }, h(this, p, "f").footer.cancel), t("button", {
285
315
  // confirm button
286
316
  class: "button-primary",
287
- onClick: this.enableConfirmButton && c(this, y, "f"),
317
+ onClick: this.enableConfirmButton && h(this, _, "f"),
288
318
  disabled: !this.enableConfirmButton
289
- }, c(this, b, "f").footer.confirm)));
319
+ }, h(this, p, "f").footer.confirm)));
290
320
  }));
291
321
  this.enableConfirmButton = false;
292
322
  this.isFirstSelection = true;
293
- this.isValidUrl = true;
294
323
  this.serverUrlInputValue = "";
295
324
  this.serverNameInputValue = "";
296
325
  this.selectedServerUri = undefined;
@@ -307,18 +336,23 @@ const $ = class {
307
336
  }
308
337
  async componentWillLoad() {
309
338
  var e, t;
310
- d(this, b, await l.getComponentStrings(this.el), "f");
339
+ u(this, p, await n.getComponentStrings(this.el), "f");
311
340
  this.selectedServerUri = (e = this.connectedServersData[0]) === null || e === void 0 ? void 0 : e.serverUrl;
312
341
  this.userName = (t = this.connectedServersData[0]) === null || t === void 0 ? void 0 : t.gxServerUsername;
313
342
  this.filteredConnectedServersData = this.connectedServersData;
314
343
  }
344
+ componentDidRender() {
345
+ if (this.selectedConnectionType === "new" && h(this, y, "f") && h(this, k, "f")) {
346
+ h(this, x, "f").call(this);
347
+ }
348
+ }
315
349
  render() {
316
350
  const e = this.selectedConnectionType === "new" && "new-connection";
317
351
  const i = this.recentlyUsedServersData.length === 0 && "recently-used-empty";
318
352
  return t(s, {
319
353
  class: `widget elevation-1 ${e} ${i}`
320
354
  }, t("ch-theme", {
321
- model: U
355
+ model: $
322
356
  }), t("main", {
323
357
  class: "section"
324
358
  }, t("header", {
@@ -327,17 +361,17 @@ const $ = class {
327
361
  class: "field-group"
328
362
  }, t("label", {
329
363
  class: "body-regular-m text-neutral-gray-400"
330
- }, c(this, b, "f").header.title), t("ch-radio-group-render", {
364
+ }, h(this, p, "f").header.title), t("ch-radio-group-render", {
331
365
  class: "radio-group",
332
- model: c(this, u, "f"),
333
- onChange: c(this, C, "f"),
334
- value: c(this, u, "f")[0].value
366
+ model: h(this, b, "f"),
367
+ onChange: h(this, A, "f"),
368
+ value: h(this, b, "f")[0].value
335
369
  }), this.selectedConnectionType === "select" && t("ch-edit", {
336
370
  class: "input search-server",
337
371
  id: "server-name-search",
338
- startImgSrc: c(this, h, "f"),
339
- onInput: c(this, k, "f"),
340
- placeholder: c(this, b, "f").placeholders.searchServers,
372
+ startImgSrc: h(this, f, "f"),
373
+ onInput: h(this, z, "f"),
374
+ placeholder: h(this, p, "f").placeholders.searchServers,
341
375
  accessibleName: "search server",
342
376
  type: "search"
343
377
  }))), this.selectedConnectionType === "select" && [ this.recentlyUsedServersData.length > 0 && t("div", {
@@ -345,12 +379,12 @@ const $ = class {
345
379
  }, t("label", {
346
380
  class: "label",
347
381
  htmlFor: "recently-used-servers"
348
- }, c(this, b, "f").recentlyUsed.title), c(this, E, "f").call(this, true)), t("div", {
382
+ }, h(this, p, "f").recentlyUsed.title), h(this, F, "f").call(this, true)), t("div", {
349
383
  class: "field field-block field-block-all-servers spacing-body-inline"
350
384
  }, t("label", {
351
385
  class: "label",
352
386
  htmlFor: "all-servers"
353
- }, c(this, b, "f").allServers.title), c(this, A, "f").call(this)) ], this.selectedConnectionType === "new" && t("section", {
387
+ }, h(this, p, "f").allServers.title), h(this, L, "f").call(this)) ], this.selectedConnectionType === "new" && t("section", {
354
388
  class: "spacing-body-inline"
355
389
  }, t("div", {
356
390
  class: "layout layout--cols-2"
@@ -359,37 +393,29 @@ const $ = class {
359
393
  }, t("label", {
360
394
  class: "label",
361
395
  htmlFor: "server-url"
362
- }, c(this, b, "f").labels.serverUrl), t("ch-edit", {
396
+ }, h(this, p, "f").labels.serverUrl), t("ch-edit", {
363
397
  // server url
364
- class: {
365
- input: true,
366
- "input-error": !this.isValidUrl
367
- },
398
+ class: "input",
368
399
  id: "server-url",
369
400
  value: this.serverUrlInputValue,
370
- onInput: e => c(this, _, "f").call(this, e, "serverUrlInputValue"),
371
- placeholder: c(this, b, "f").placeholders.serverUrl,
372
- ref: e => d(this, w, e, "f")
373
- })), t("div", {
401
+ onInput: e => h(this, N, "f").call(this, e, "serverUrlInputValue"),
402
+ placeholder: h(this, p, "f").placeholders.serverUrl,
403
+ ref: e => u(this, y, e, "f")
404
+ }), h(this, W, "f").call(this, h(this, y, "f"))), t("div", {
374
405
  class: "field field-block layout__panel"
375
406
  }, t("label", {
376
407
  class: "label",
377
408
  htmlFor: "server-name"
378
- }, c(this, b, "f").labels.serverName), t("ch-edit", {
409
+ }, h(this, p, "f").labels.serverName), t("ch-edit", {
379
410
  // server friendly name
380
411
  class: "input",
381
412
  id: "server-name",
382
413
  value: this.serverNameInputValue,
383
- onInput: e => c(this, _, "f").call(this, e, "serverNameInputValue"),
384
- placeholder: c(this, b, "f").placeholders.serverName,
385
- maxLength: 18
386
- })), !this.isValidUrl && t("ch-tooltip", {
387
- class: "tooltip",
388
- actionElement: c(this, w, "f"),
389
- blockAlign: "outside-end",
390
- inlineAlign: r.tooltipSettings.inlineAlign,
391
- delay: r.tooltipSettings.delay
392
- }, c(this, b, "f").errors.serverUrlInvalid))), c(this, R, "f").call(this)));
414
+ onInput: e => h(this, N, "f").call(this, e, "serverNameInputValue"),
415
+ placeholder: h(this, p, "f").placeholders.serverName,
416
+ maxLength: 18,
417
+ ref: e => u(this, k, e, "f")
418
+ }), h(this, W, "f").call(this, h(this, k, "f"))))), h(this, V, "f").call(this)));
393
419
  }
394
420
  static get assetsDirs() {
395
421
  return [ "gx-ide-assets/server-selector" ];
@@ -399,14 +425,14 @@ const $ = class {
399
425
  }
400
426
  };
401
427
 
402
- h = new WeakMap, u = new WeakMap, b = new WeakMap, f = new WeakMap, g = new WeakMap,
403
- p = new WeakMap, m = new WeakMap, w = new WeakMap, v = new WeakMap, y = new WeakMap,
404
- k = new WeakMap, _ = new WeakMap, M = new WeakMap, x = new WeakMap, W = new WeakMap,
405
- z = new WeakMap, N = new WeakMap, C = new WeakMap, I = new WeakMap, S = new WeakMap,
406
- T = new WeakMap, j = new WeakMap, E = new WeakMap, A = new WeakMap, H = new WeakMap,
407
- R = new WeakMap;
428
+ f = new WeakMap, b = new WeakMap, p = new WeakMap, g = new WeakMap, m = new WeakMap,
429
+ v = new WeakMap, w = new WeakMap, y = new WeakMap, k = new WeakMap, M = new WeakMap,
430
+ _ = new WeakMap, W = new WeakMap, x = new WeakMap, z = new WeakMap, N = new WeakMap,
431
+ C = new WeakMap, I = new WeakMap, S = new WeakMap, T = new WeakMap, j = new WeakMap,
432
+ E = new WeakMap, A = new WeakMap, H = new WeakMap, R = new WeakMap, U = new WeakMap,
433
+ D = new WeakMap, F = new WeakMap, L = new WeakMap, P = new WeakMap, V = new WeakMap;
408
434
 
409
- $.style = n;
435
+ J.style = d;
410
436
 
411
- export { $ as gx_ide_server_selector };
412
- //# sourceMappingURL=p-4b06b578.entry.js.map
437
+ export { J as gx_ide_server_selector };
438
+ //# sourceMappingURL=p-06561f7e.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["serverSelectorCss","CSS_BUNDLES","INFO_ICON","getIconPath","category","name","colorType","LOCK_ICON","LANGUAGE_ICON","GxIdeServerSelector","_GxIdeServerSelector_chSearchIcon","set","this","_GxIdeServerSelector_versionsSelect","value","caption","_GxIdeServerSelector__componentLocale","_GxIdeServerSelector_chGridRecentlyUsedServersEl","_GxIdeServerSelector_chGridConnectedServersEl","_GxIdeServerSelector_previousSelectedRowId","_GxIdeServerSelector_selectedRowId","_GxIdeServerSelector_serverUrlEL","_GxIdeServerSelector_serverFriendlyNameEL","_GxIdeServerSelector_cancelHandler","cancelCallback","_GxIdeServerSelector_confirmHandler","async","formSubmitResult","selectedConnectionType","selectServerCallback","uri","selectedServerUri","selectedServerName","serverUrlInputValue","serverNameInputValue","validatableControls","validateControls","_GxIdeServerSelector_evaluateTooltipRender","controlReference","_b","_a","get","id","hasError","_c","message","h","class","actionElement","blockAlign","config","tooltipSettings","inlineAlign","delay","_GxIdeServerSelector_initializeValidatableControls","__classPrivateFieldGet","forEach","validatableControl","reference","undefined","_GxIdeServerSelector_filterValueChangedHandler","event","filterValue","detail","toLowerCase","filteredConnectedServersData","connectedServersData","filter","item","serverName","includes","_GxIdeServerSelector_inputHandler","field","enableConfirmButton","controlId","clearControlError","_GxIdeServerSelector_enableConfirmButton","call","length","_GxIdeServerSelector_onConnectedServersRowDoubleClickHandler","console","log","_GxIdeServerSelector_selectConnectedServersHandler","_GxIdeServerSelector_onRecentlyUsedRowDoubleClickHandler","_GxIdeServerSelector_selectRecentlyUsedServersHandler","_GxIdeServerSelector_handleServerSelection","recentlyUsedServersData","serversData","otherGridEl","isFirstSelection","__classPrivateFieldSet","rowId","selectedServer","find","server","serverUrl","userName","gxServerUsername","selectRow","_GxIdeServerSelector_connectionTypeChangedHandler","_GxIdeServerSelector_sortTabularGridColumnCallback","e","sortTabularGridColumn","_GxIdeServerSelector_renderTabularGridColumnSet","hideColumnName","columnId","columnName","settingable","columnNameHidden","size","tabularGrid","colSize","maxContent","resizable","sortable","onColumnSortChanged","auto","_GxIdeServerSelector_renderTooltip","text","_GxIdeServerSelector_renderTabularGridCommonCells","_GxIdeServerSelector_renderIcon","accessLevel","isConnected","_GxIdeServerSelector_renderRecentlyUsedServersGrid","rowSelectionMode","ref","el","allowColumnReorder","onRowDoubleClicked","map","rowid","stateIconSrc","stateTitle","emptyConnectedServers","isAnimated","_GxIdeServerSelector_renderConnectedServersGrid","icon","src","_GxIdeServerSelector_renderFooter","isSelectionMode","onClick","footer","cancel","disabled","confirm","Map","componentWillLoad","Locale","getComponentStrings","componentDidRender","render","connectionTypeClass","recentlyUsedEmptyClass","Host","model","header","title","onChange","startImgSrc","onInput","placeholder","placeholders","searchServers","accessibleName","type","htmlFor","recentlyUsed","allServers","labels","maxLength"],"sources":["src/components/team-dev/server-selector/server-selector.scss?tag=gx-ide-server-selector&encapsulation=shadow","src/components/team-dev/server-selector/server-selector.tsx"],"sourcesContent":["@import \"../../../../node_modules/@genexus/mercury/dist/assets/scss/helpers.scss\";\n\n:host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content max-content 1fr max-content;\n row-gap: var(--mer-spacing--md);\n overflow: auto;\n}\n\n:host(.new-connection) {\n grid-template-rows: max-content 1fr;\n}\n\n:host(.recently-used-empty) {\n grid-template-rows: max-content 1fr;\n}\n\n.section {\n display: contents;\n}\n\n// General\n\n.tabular-grid {\n border-radius: var(--mer-border__radius--sm);\n overflow: hidden;\n overflow: auto;\n border-inline: 1px solid var(--grid-cell__border-color);\n}\n\n.tabular-grid-rowset-empty {\n border-block-end: 1px solid var(--grid-cell__border-color);\n overflow: hidden;\n}\n\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".tabular-grid\",\n $tabular-grid-cell-apply-ellipsis: true,\n $tabular-grid-affected-columns-nth-list: (\n 2,\n 3,\n 4\n )\n);\n\n.text-neutral-gray-400,\n.tabular-grid-cell.text-neutral-gray-400 {\n // WA: colors for text should be defined in Mercury\n color: var(--mer-color__neutral-gray--400);\n}\n// Header\n\n.search-server {\n inline-size: 50%;\n}\n\n// Recently Used\n\n.tabular-grid-recently-used .tabular-grid-column::part(bar) {\n --grid-cell__padding-block: 0;\n --grid-cell__padding-inline: 0;\n}\n\n.tabular-grid.tabular-grid-recently-used {\n border-block-end: 1px solid var(--grid-cell__border-color);\n max-block-size: 100px;\n}\n\n// All Servers\n\n.tabular-grid-all-servers {\n overflow: auto;\n}\n\n.field-block-all-servers {\n overflow: auto;\n}\n\n.tabular-grid-all-servers {\n border-block: 1px solid var(--grid-cell__border-color);\n}\n\n.tabular-grid-all-servers .tabular-grid-column:first-child::part(bar) {\n --grid-common__gap: 0;\n}\n\n// WA: .tabular-grid-wrapper and .border-patch is a WA. See details on Asana task:\n// https://app.asana.com/1/10206720691358/project/1207081021030105/task/1211391456974726?focus=true\n.tabular-grid-wrapper {\n position: relative;\n overflow: auto;\n}\n.border-patch {\n --tabular-grid-border-radius: 4px;\n position: absolute;\n top: 0;\n inline-size: calc(100% - var(--tabular-grid-border-radius) * 2);\n inset-inline-start: var(--tabular-grid-border-radius);\n block-size: 2px;\n background-color: var(--items-container__bg-color);\n z-index: 9999;\n border-block-start: 1px solid var(--mer-border-color__on-surface);\n}\n\n.tooltip {\n position: absolute;\n}\n","// Stencil\nimport { Component, Element, h, Host, Prop, State } from \"@stencil/core\";\n\n// Other Libraries\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n\n// Custom Imports\nimport {\n ChEditCustomEvent,\n TabularGridColumnSortChangedEvent,\n TabularGridRowClickedEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { RadioGroupItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/radio-group/types\";\nimport { JSX } from \"@stencil/core/internal\";\nimport { config } from \"../../../common/config\";\nimport {\n clearControlError,\n ControlValidation,\n validateControls\n} from \"../../../common/form-validation\";\nimport { Locale } from \"../../../common/locale\";\nimport { FormSubmitResult } from \"../../../common/types\";\n\nimport sortTabularGridColumn from \"../../../common/chameleon/tabular-grid-column-sort\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"components/tooltip\",\n \"chameleon/scrollbar\",\n \"components/tabular-grid\"\n];\n\nconst INFO_ICON = getIconPath({\n category: \"system\",\n name: \"information\",\n colorType: \"on-surface\"\n});\n\nconst LOCK_ICON = getIconPath({\n category: \"system\",\n name: \"lock\",\n colorType: \"on-surface\"\n});\n\nconst LANGUAGE_ICON = getIconPath({\n category: \"system\",\n name: \"language\",\n colorType: \"on-surface\"\n});\n\n@Component({\n tag: \"gx-ide-server-selector\",\n styleUrl: \"server-selector.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/server-selector\"]\n})\nexport class GxIdeServerSelector {\n #chSearchIcon = getIconPath({\n category: \"system\",\n name: \"search\",\n colorType: \"on-surface\"\n });\n\n #versionsSelect: RadioGroupItemModel[] = [\n { value: \"select\", caption: \"Select a server from the list below\" },\n { value: \"new\", caption: \"Enter a server URL manually\" }\n ];\n\n [key: string]: any;\n\n #_componentLocale: any;\n\n #chGridRecentlyUsedServersEl: HTMLChTabularGridElement;\n #chGridConnectedServersEl: HTMLChTabularGridElement;\n #previousSelectedRowId: string | undefined;\n #selectedRowId: string | undefined;\n #serverUrlEL: HTMLChEditElement;\n #serverFriendlyNameEL: HTMLChEditElement;\n\n @Element() el: HTMLGxIdeServerSelectorElement;\n\n /**\n * State to enable/disable confirm button.\n */\n @State() enableConfirmButton: boolean = false;\n\n /**\n * State to track if this is the first selection made by the user.\n */\n @State() isFirstSelection: boolean = true;\n\n /**\n * The current server URL input value.\n */\n @State() serverUrlInputValue: string = \"\";\n\n /**\n * The current server URL input value.\n */\n @State() serverNameInputValue: string = \"\";\n\n /**\n * The selected server URI.\n */\n @State() selectedServerUri: string | undefined;\n\n /**\n * The selected server name.\n */\n @State() selectedServerName: string | undefined = \"None\";\n\n /**\n * The user name of the selected server.\n */\n @State() userName: string;\n\n /**\n * State to store the filter input value to filter the list-box\n */\n @State() filterValue: string = \"\";\n\n /**\n * Servers filtered\n */\n @State() filteredConnectedServersData: ConnectedGXServerData[] = [];\n\n @State() validatableControls = new Map<string, ControlValidation>();\n\n /**\n * The selected connection type\n */\n @State() selectedConnectionType: ConnectionOption = \"select\";\n\n /**\n * The list of connected GX servers.\n */\n @Prop({ mutable: true }) connectedServersData: ConnectedGXServerData[] = [];\n\n /**\n * The list of recently used servers.\n */\n @Prop() readonly recentlyUsedServersData: ConnectedGXServerData[] = [];\n\n /**\n * Callback that is invoked when the dialog is closed\n */\n @Prop() readonly cancelCallback!: () => Promise<void>;\n\n /**\n * Callback that must be invoked when the 'Confirm' button is pressed and the Select Server option is checked.\n */\n @Prop() readonly selectServerCallback!: (\n authenticationSessionOrigin: AuthenticationSessionOrigin,\n connectionOption: ConnectionOption\n ) => Promise<FormSubmitResult>;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.selectedServerUri = this.connectedServersData[0]?.serverUrl;\n this.userName = this.connectedServersData[0]?.gxServerUsername;\n\n this.filteredConnectedServersData = this.connectedServersData;\n }\n\n componentDidRender() {\n if (\n this.selectedConnectionType === \"new\" &&\n this.#serverUrlEL &&\n this.#serverFriendlyNameEL\n ) {\n this.#initializeValidatableControls();\n }\n }\n\n #cancelHandler = (): void => {\n this.cancelCallback();\n };\n\n #confirmHandler = async (): Promise<void> => {\n let formSubmitResult: FormSubmitResult;\n if (this.selectedConnectionType === \"select\") {\n formSubmitResult = await this.selectServerCallback(\n {\n uri: this.selectedServerUri,\n name: this.selectedServerName\n },\n this.selectedConnectionType\n );\n } else {\n formSubmitResult = await this.selectServerCallback(\n {\n uri: this.serverUrlInputValue,\n name: this.serverNameInputValue\n },\n this.selectedConnectionType\n );\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 #initializeValidatableControls = () => {\n // populate validatableControls with the controls that could have errors.\n const validatableControls: HTMLElement[] = [\n this.#serverUrlEL,\n this.#serverFriendlyNameEL\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 #filterValueChangedHandler = (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.filterValue = (event.detail as string).toLowerCase();\n this.filteredConnectedServersData = this.connectedServersData.filter(item =>\n item.serverName.toLowerCase().includes(this.filterValue)\n );\n };\n\n #inputHandler = (\n event: ChEditCustomEvent<string> | InputEvent,\n field: \"serverUrlInputValue\" | \"serverNameInputValue\"\n ) => {\n this.enableConfirmButton = false;\n this[field] = event.detail as string;\n\n const controlId =\n field === \"serverUrlInputValue\" ? \"server-url\" : \"server-name\";\n clearControlError(this.validatableControls, controlId);\n this.#enableConfirmButton();\n };\n\n #enableConfirmButton = () => {\n if (\n this.serverUrlInputValue &&\n this.serverUrlInputValue.length > 0 &&\n this.serverNameInputValue &&\n this.serverNameInputValue.length > 0\n ) {\n this.enableConfirmButton = true;\n } else {\n this.enableConfirmButton = false;\n }\n };\n\n #onConnectedServersRowDoubleClickHandler = (\n event: CustomEvent<TabularGridRowClickedEvent>\n ) => {\n console.log(\"double click connected servers\");\n this.#selectConnectedServersHandler(event);\n this.#confirmHandler();\n };\n\n #onRecentlyUsedRowDoubleClickHandler = (\n event: CustomEvent<TabularGridRowClickedEvent>\n ) => {\n console.log(\"double click recently used\");\n this.#selectRecentlyUsedServersHandler(event);\n this.#confirmHandler();\n };\n\n #selectConnectedServersHandler = (\n event: CustomEvent<TabularGridRowClickedEvent>\n ) =>\n this.#handleServerSelection(\n event,\n this.connectedServersData,\n this.#chGridRecentlyUsedServersEl\n );\n\n #selectRecentlyUsedServersHandler = (\n event: CustomEvent<TabularGridRowClickedEvent>\n ) =>\n this.#handleServerSelection(\n event,\n this.recentlyUsedServersData,\n this.#chGridConnectedServersEl\n );\n\n #handleServerSelection = async (\n event: CustomEvent<TabularGridRowClickedEvent>,\n serversData: ConnectedGXServerData[],\n otherGridEl: HTMLChTabularGridElement\n ): Promise<void> => {\n if (!this.isFirstSelection) {\n this.#previousSelectedRowId = this.#selectedRowId;\n }\n this.#selectedRowId = event.detail.rowId;\n if (this.#selectedRowId === undefined) {\n this.enableConfirmButton = false;\n this.selectedServerUri = undefined;\n this.selectedServerName = undefined;\n return;\n } else {\n const selectedServer = serversData.find(\n server => server.id === this.#selectedRowId\n );\n this.enableConfirmButton = true;\n this.selectedServerName = selectedServer?.serverName;\n this.selectedServerUri = selectedServer?.serverUrl;\n this.userName = selectedServer?.gxServerUsername || \"\";\n this.isFirstSelection = false;\n await otherGridEl?.selectRow(this.#previousSelectedRowId, false);\n }\n };\n\n #connectionTypeChangedHandler = (event: CustomEvent<string>) => {\n this.selectedConnectionType = event.detail as ConnectionOption;\n if (this.selectedConnectionType === \"new\") {\n this.enableConfirmButton = false;\n this.serverUrlInputValue = \"\";\n }\n this.selectedServerName = \"None\";\n };\n\n #sortTabularGridColumnCallback = (\n e: CustomEvent<TabularGridColumnSortChangedEvent>\n ) => {\n this.filteredConnectedServersData = [\n ...sortTabularGridColumn(\n e,\n this.filteredConnectedServersData,\n \"string\",\n undefined\n )\n ];\n };\n\n #renderTabularGridColumnSet = (\n hideColumnName: boolean = false\n ): HTMLChTabularGridColumnsetElement => {\n return (\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n columnId=\"icon\"\n class=\"tabular-grid-column tabular-grid-column-icon\"\n columnName=\"Icon\"\n settingable={false}\n columnNameHidden={true}\n size={config.tabularGrid.colSize.maxContent}\n resizable={false}\n sortable={false}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"serverName\"\n class=\"tabular-grid-column\"\n columnName=\"Server Name\"\n settingable={false}\n columnNameHidden={hideColumnName}\n size={config.tabularGrid.colSize.serverName}\n resizable={false}\n sortable={!hideColumnName}\n onColumnSortChanged={this.#sortTabularGridColumnCallback}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"serverUrl\"\n class=\"tabular-grid-column\"\n columnName=\"Server Url\"\n settingable={false}\n columnNameHidden={hideColumnName}\n size={config.tabularGrid.colSize.auto}\n resizable={false}\n sortable={!hideColumnName}\n onColumnSortChanged={this.#sortTabularGridColumnCallback}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"userName\"\n class=\"tabular-grid-column\"\n columnName=\"Username\"\n settingable={false}\n columnNameHidden={hideColumnName}\n size={config.tabularGrid.colSize.userName}\n resizable={false}\n sortable={!hideColumnName}\n onColumnSortChanged={this.#sortTabularGridColumnCallback}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"status\"\n class=\"tabular-grid-column\"\n columnName=\"Status\"\n settingable={false}\n columnNameHidden={hideColumnName}\n size={config.tabularGrid.colSize.maxContent}\n resizable={false}\n sortable={false}\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n );\n };\n\n #renderTooltip = (text: string): JSX.Element | null => {\n return text !== \"\" ? (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={null}\n blockAlign=\"outside-end\"\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {text}\n </ch-tooltip>\n ) : null;\n };\n\n #renderTabularGridCommonCells = (server: ConnectedGXServerData) => {\n return [\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#renderIcon(server.accessLevel)}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell tabular-grid-cell-server-name\">\n {server.serverName}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell tabular-grid-cell-server-url\">\n {server.serverUrl}\n {this.#renderTooltip(server.serverUrl)}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {server.gxServerUsername}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell text-neutral-gray-400 body-italic-s\">\n {server.isConnected && \"Connected\"}\n </ch-tabular-grid-cell>\n ];\n };\n\n #renderRecentlyUsedServersGrid = (hideColumnName: boolean): Element => {\n return (\n <ch-tabular-grid\n class={\"tabular-grid-recently-used tabular-grid\"}\n rowSelectionMode=\"single\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.#chGridRecentlyUsedServersEl = el)\n }\n allowColumnReorder={false}\n onRowDoubleClicked={this.#onRecentlyUsedRowDoubleClickHandler}\n id=\"recently-used-servers\"\n >\n {this.#renderTabularGridColumnSet(hideColumnName)}\n {this.recentlyUsedServersData.length > 0 ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.recentlyUsedServersData.map(\n (server: ConnectedGXServerData) => (\n <ch-tabular-grid-row rowid={server.id} class=\"tabular-grid-row\">\n {this.#renderTabularGridCommonCells(server)}\n </ch-tabular-grid-row>\n )\n )}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n <gx-ide-empty-state\n stateIconSrc={INFO_ICON}\n stateTitle={this.#_componentLocale.emptyConnectedServers}\n isAnimated={true}\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n );\n };\n\n #renderConnectedServersGrid = (): Element => {\n return (\n <div class=\"tabular-grid-wrapper\">\n <div class=\"border-patch\"></div>\n <ch-tabular-grid\n class={\"tabular-grid tabular-grid-all-servers\"}\n rowSelectionMode=\"single\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.#chGridConnectedServersEl = el)\n }\n allowColumnReorder={false}\n onRowDoubleClicked={this.#onConnectedServersRowDoubleClickHandler}\n id=\"all-servers\"\n >\n {this.#renderTabularGridColumnSet()}\n {this.filteredConnectedServersData.length > 0 ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.filteredConnectedServersData.map(\n (server: ConnectedGXServerData) => (\n <ch-tabular-grid-row\n rowid={server.id}\n class=\"tabular-grid-row\"\n >\n {this.#renderTabularGridCommonCells(server)}\n </ch-tabular-grid-row>\n )\n )}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty class=\"tabular-grid-rowset-empty\">\n <gx-ide-empty-state\n stateIconSrc={INFO_ICON}\n stateTitle={this.#_componentLocale.emptyConnectedServers}\n isAnimated={true}\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n </div>\n );\n };\n\n #renderIcon = (accessLevel: string): JSX.Element => {\n const icon = accessLevel === \"private\" ? LOCK_ICON : LANGUAGE_ICON;\n return <ch-image class=\"icon-md\" src={icon}></ch-image>;\n };\n\n #renderFooter = () => {\n const isSelectionMode = this.selectedConnectionType === \"select\";\n return (\n <footer\n class={{\n \"control-footer-with-border\": true,\n \"control-footer-space-between\":\n this.selectedConnectionType === \"select\",\n \"space-between\": isSelectionMode,\n \"spacing-body-inline\": true,\n \"spacing-body-block\": true\n }}\n >\n {isSelectionMode && (\n <p class=\"body-italic-m\">Selected: {this.selectedServerName}</p>\n )}\n <div class=\"buttons-spacer\">\n <button\n // cancel button\n class=\"button-secondary\"\n onClick={this.#cancelHandler}\n >\n {this.#_componentLocale.footer.cancel}\n </button>\n\n <button\n // confirm button\n class=\"button-primary\"\n onClick={this.enableConfirmButton && this.#confirmHandler}\n disabled={!this.enableConfirmButton}\n >\n {this.#_componentLocale.footer.confirm}\n </button>\n </div>\n </footer>\n );\n };\n\n render(): void {\n const connectionTypeClass =\n this.selectedConnectionType === \"new\" && \"new-connection\";\n const recentlyUsedEmptyClass =\n this.recentlyUsedServersData.length === 0 && \"recently-used-empty\";\n return (\n <Host\n class={`widget elevation-1 ${connectionTypeClass} ${recentlyUsedEmptyClass}`}\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <main class=\"section\">\n <header class=\"header spacing-body-block-start spacing-body-inline\">\n <div class=\"field-group\">\n <label class=\"body-regular-m text-neutral-gray-400\">\n {this.#_componentLocale.header.title}\n </label>\n <ch-radio-group-render\n class=\"radio-group\"\n model={this.#versionsSelect}\n onChange={this.#connectionTypeChangedHandler}\n value={this.#versionsSelect[0].value}\n ></ch-radio-group-render>\n\n {this.selectedConnectionType === \"select\" && (\n <ch-edit\n class=\"input search-server\"\n id=\"server-name-search\"\n startImgSrc={this.#chSearchIcon}\n onInput={this.#filterValueChangedHandler}\n placeholder={\n this.#_componentLocale.placeholders.searchServers\n }\n accessibleName=\"search server\"\n type=\"search\"\n ></ch-edit>\n )}\n </div>\n </header>\n {this.selectedConnectionType === \"select\" && [\n this.recentlyUsedServersData.length > 0 && (\n <div class=\"field field-block spacing-body-inline\">\n <label class=\"label\" htmlFor=\"recently-used-servers\">\n {this.#_componentLocale.recentlyUsed.title}\n </label>\n {this.#renderRecentlyUsedServersGrid(true)}\n </div>\n ),\n <div class=\"field field-block field-block-all-servers spacing-body-inline\">\n <label class=\"label\" htmlFor=\"all-servers\">\n {this.#_componentLocale.allServers.title}\n </label>\n {this.#renderConnectedServersGrid()}\n </div>\n ]}\n\n {this.selectedConnectionType === \"new\" && (\n <section class=\"spacing-body-inline\">\n <div class=\"layout layout--cols-2\">\n <div class=\"field field-block layout__panel\">\n <label class=\"label\" htmlFor=\"server-url\">\n {this.#_componentLocale.labels.serverUrl}\n </label>\n <ch-edit\n // server url\n class=\"input\"\n id=\"server-url\"\n value={this.serverUrlInputValue}\n onInput={event =>\n this.#inputHandler(event, \"serverUrlInputValue\")\n }\n placeholder={this.#_componentLocale.placeholders.serverUrl}\n ref={el => (this.#serverUrlEL = el as HTMLChEditElement)}\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#serverUrlEL)}\n </div>\n\n <div class=\"field field-block layout__panel\">\n <label class=\"label\" htmlFor=\"server-name\">\n {this.#_componentLocale.labels.serverName}\n </label>\n <ch-edit\n // server friendly name\n class=\"input\"\n id=\"server-name\"\n value={this.serverNameInputValue}\n onInput={event =>\n this.#inputHandler(event, \"serverNameInputValue\")\n }\n placeholder={this.#_componentLocale.placeholders.serverName}\n maxLength={18}\n ref={el =>\n (this.#serverFriendlyNameEL = el as HTMLChEditElement)\n }\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#serverFriendlyNameEL)}\n </div>\n </div>\n </section>\n )}\n\n {this.#renderFooter()}\n </main>\n </Host>\n );\n }\n}\n\nexport type ConnectionResultData = {\n formResult: FormSubmitResult;\n};\n\nexport type ConnectionOption = \"select\" | \"new\";\n\nexport type ServerAccessLevel = \"public\" | \"private\";\n\nexport type AuthenticationSessionOrigin = {\n uri: string;\n name: string;\n};\n\nexport type ConnectedGXServerData = {\n id: string;\n serverUrl: string;\n accessLevel: ServerAccessLevel;\n masterSessionUsername: string;\n serverName?: string;\n gxServerUsername: string;\n isConnected: boolean;\n};\n\nexport type NewServerConnectionData = {\n serverUrl: string;\n serverName: string;\n};\n"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { g as o } from "./p-401bfc97.js";
4
4
 
5
5
  import { c as r } from "./p-9a03ac9f.js";
6
6
 
7
- import { v as l } from "./p-289c3290.js";
7
+ import { v as l } from "./p-b32b6b1f.js";
8
8
 
9
9
  import { L as h } from "./p-311eedf3.js";
10
10
 
@@ -263,4 +263,4 @@ C = new WeakMap, E = new WeakMap, $ = new WeakMap;
263
263
  S.style = c;
264
264
 
265
265
  export { S as gx_ide_share_kb };
266
- //# sourceMappingURL=p-16a88fc3.entry.js.map
266
+ //# sourceMappingURL=p-098a7288.entry.js.map