@genexus/genexus-ide-ui 1.1.39 → 1.1.41
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-server-selector.cjs.entry.js +12 -28
- package/dist/cjs/gx-ide-server-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/{gx-ide-status-message.cjs.entry.js → gx-ide-sign-in-result.cjs.entry.js} +10 -9
- package/dist/cjs/gx-ide-sign-in-result.cjs.entry.js.map +1 -0
- package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js +20 -4
- package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +99 -238
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js +9 -7
- package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +60 -10
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/tabular-grid-column-sort-5ca06dc1.js +43 -0
- package/dist/cjs/tabular-grid-column-sort-5ca06dc1.js.map +1 -0
- package/dist/cjs/tabular-grid-render-4350dbaf.js +223 -0
- package/dist/cjs/tabular-grid-render-4350dbaf.js.map +1 -0
- package/dist/cjs/uncheck-ignored-77ca69fe.js +43 -0
- package/dist/cjs/uncheck-ignored-77ca69fe.js.map +1 -0
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/common/chameleon/tabular-grid-column-sort.js +39 -0
- package/dist/collection/common/chameleon/tabular-grid-column-sort.js.map +1 -0
- package/dist/collection/components/{status-message/status-message.css → sign-in-result/sign-in-result.css} +2 -0
- package/dist/collection/components/{status-message/status-message.js → sign-in-result/sign-in-result.js} +10 -9
- package/dist/collection/components/sign-in-result/sign-in-result.js.map +1 -0
- package/dist/collection/components/team-dev/bring-changes/bring-changes.js +18 -4
- package/dist/collection/components/team-dev/bring-changes/bring-changes.js.map +1 -1
- package/dist/collection/components/team-dev/history/history.js +10 -8
- package/dist/collection/components/team-dev/history/history.js.map +1 -1
- package/dist/collection/components/team-dev/server-selector/server-selector.css +18 -14
- package/dist/collection/components/team-dev/server-selector/server-selector.js +11 -27
- package/dist/collection/components/team-dev/server-selector/server-selector.js.map +1 -1
- package/dist/collection/components/team-dev/update/update.css +1 -0
- package/dist/collection/components/team-dev/update/update.js +62 -9
- package/dist/collection/components/team-dev/update/update.js.map +1 -1
- package/dist/collection/components/team-dev/version-control/commit/commit.css +1 -0
- package/dist/collection/components/team-dev/version-control/commit/commit.js +79 -20
- package/dist/collection/components/team-dev/version-control/commit/commit.js.map +1 -1
- package/dist/collection/components/team-dev/version-control/common/are-sets-equal.js +21 -0
- package/dist/collection/components/team-dev/version-control/common/are-sets-equal.js.map +1 -0
- package/dist/collection/components/team-dev/version-control/common/tabular-grid-render.js +13 -3
- package/dist/collection/components/team-dev/version-control/common/tabular-grid-render.js.map +1 -1
- package/dist/collection/components/team-dev/version-control/common/uncheck-ignored.js +18 -0
- package/dist/collection/components/team-dev/version-control/common/uncheck-ignored.js.map +1 -0
- package/dist/collection/testing/locale.e2e.js +1 -1
- package/dist/collection/testing/locale.e2e.js.map +1 -1
- package/dist/components/gx-ide-server-selector.js +12 -28
- package/dist/components/gx-ide-server-selector.js.map +1 -1
- package/dist/components/{gx-ide-status-message.d.ts → gx-ide-sign-in-result.d.ts} +4 -4
- package/dist/components/{gx-ide-status-message.js → gx-ide-sign-in-result.js} +15 -14
- package/dist/components/gx-ide-sign-in-result.js.map +1 -0
- package/dist/components/gx-ide-team-dev-bring-changes.js +18 -4
- package/dist/components/gx-ide-team-dev-bring-changes.js.map +1 -1
- package/dist/components/gx-ide-team-dev-commit.js +78 -221
- package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
- package/dist/components/gx-ide-team-dev-history.js +9 -7
- package/dist/components/gx-ide-team-dev-history.js.map +1 -1
- package/dist/components/gx-ide-team-dev-update.js +61 -10
- package/dist/components/gx-ide-team-dev-update.js.map +1 -1
- package/dist/components/tabular-grid-column-sort.js +41 -0
- package/dist/components/tabular-grid-column-sort.js.map +1 -0
- package/dist/components/tabular-grid-render.js +216 -0
- package/dist/components/tabular-grid-render.js.map +1 -0
- package/dist/components/uncheck-ignored.js +40 -0
- package/dist/components/uncheck-ignored.js.map +1 -0
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-server-selector.entry.js +12 -28
- package/dist/esm/gx-ide-server-selector.entry.js.map +1 -1
- package/dist/esm/{gx-ide-status-message.entry.js → gx-ide-sign-in-result.entry.js} +10 -9
- package/dist/esm/gx-ide-sign-in-result.entry.js.map +1 -0
- package/dist/esm/gx-ide-team-dev-bring-changes.entry.js +20 -4
- package/dist/esm/gx-ide-team-dev-bring-changes.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-commit.entry.js +81 -220
- package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-history.entry.js +9 -7
- package/dist/esm/gx-ide-team-dev-history.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-update.entry.js +60 -10
- package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/tabular-grid-column-sort-1d503b27.js +41 -0
- package/dist/esm/tabular-grid-column-sort-1d503b27.js.map +1 -0
- package/dist/esm/tabular-grid-render-f7eb612b.js +216 -0
- package/dist/esm/tabular-grid-render-f7eb612b.js.map +1 -0
- package/dist/esm/uncheck-ignored-4ba48c9e.js +40 -0
- package/dist/esm/uncheck-ignored-4ba48c9e.js.map +1 -0
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
- package/dist/genexus-ide-ui/p-02fb496a.js +36 -0
- package/dist/genexus-ide-ui/p-02fb496a.js.map +1 -0
- package/dist/genexus-ide-ui/p-06e8d9d6.entry.js +63 -0
- package/dist/genexus-ide-ui/p-06e8d9d6.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-585fac4a.entry.js → p-2b38e18e.entry.js} +15 -13
- package/dist/genexus-ide-ui/p-2b38e18e.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-970e89ac.entry.js → p-4b06b578.entry.js} +100 -115
- package/dist/genexus-ide-ui/p-4b06b578.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-34447b77.entry.js → p-4e3ad78d.entry.js} +261 -234
- package/dist/genexus-ide-ui/p-4e3ad78d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-77c2e69d.js +314 -0
- package/dist/genexus-ide-ui/p-77c2e69d.js.map +1 -0
- package/dist/genexus-ide-ui/p-a7883e6b.entry.js +691 -0
- package/dist/genexus-ide-ui/p-a7883e6b.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-c9b9e260.js +36 -0
- package/dist/genexus-ide-ui/p-c9b9e260.js.map +1 -0
- package/dist/genexus-ide-ui/{p-42f37527.entry.js → p-e1a2550e.entry.js} +351 -289
- package/dist/genexus-ide-ui/p-e1a2550e.entry.js.map +1 -0
- package/dist/types/common/chameleon/tabular-grid-column-sort.d.ts +4 -0
- package/dist/types/components/{status-message/status-message.d.ts → sign-in-result/sign-in-result.d.ts} +2 -2
- package/dist/types/components/team-dev/history/history.d.ts +2 -2
- package/dist/types/components/team-dev/update/update.d.ts +6 -0
- package/dist/types/components/team-dev/version-control/commit/commit.d.ts +15 -13
- package/dist/types/components/team-dev/version-control/common/are-sets-equal.d.ts +12 -0
- package/dist/types/components/team-dev/version-control/common/tabular-grid-render.d.ts +13 -1
- package/dist/types/components/team-dev/version-control/common/uncheck-ignored.d.ts +13 -0
- package/dist/types/components.d.ts +13 -13
- package/package.json +1 -1
- package/dist/cjs/gx-ide-status-message.cjs.entry.js.map +0 -1
- package/dist/collection/components/status-message/status-message.js.map +0 -1
- package/dist/components/gx-ide-status-message.js.map +0 -1
- package/dist/esm/gx-ide-status-message.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-34447b77.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-42f37527.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-50253b96.entry.js +0 -61
- package/dist/genexus-ide-ui/p-50253b96.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-585fac4a.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-723d25ae.entry.js +0 -912
- package/dist/genexus-ide-ui/p-723d25ae.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-970e89ac.entry.js.map +0 -1
- /package/dist/collection/components/{status-message/gx-ide-assets/status-message → sign-in-result/gx-ide-assets/sign-in-result}/images/genexus-next-logo.svg +0 -0
- /package/dist/collection/components/{status-message/gx-ide-assets/status-message → sign-in-result/gx-ide-assets/sign-in-result}/images/left-side-illustration.svg +0 -0
- /package/dist/collection/components/{status-message/gx-ide-assets/status-message → sign-in-result/gx-ide-assets/sign-in-result}/images/right-side-illustration.svg +0 -0
- /package/dist/collection/components/{status-message/gx-ide-assets/status-message/langs/status-message.lang.en.json → sign-in-result/gx-ide-assets/sign-in-result/langs/sign-in-result.lang.en.json} +0 -0
- /package/dist/collection/components/{status-message/gx-ide-assets/status-message/langs/status-message.lang.ja.json → sign-in-result/gx-ide-assets/sign-in-result/langs/sign-in-result.lang.ja.json} +0 -0
- /package/dist/collection/components/{status-message/gx-ide-assets/status-message/langs/status-message.lang.zh.json → sign-in-result/gx-ide-assets/sign-in-result/langs/sign-in-result.lang.zh.json} +0 -0
- /package/dist/genexus-ide-ui/gx-ide-assets/{status-message → sign-in-result}/images/genexus-next-logo.svg +0 -0
- /package/dist/genexus-ide-ui/gx-ide-assets/{status-message → sign-in-result}/images/left-side-illustration.svg +0 -0
- /package/dist/genexus-ide-ui/gx-ide-assets/{status-message → sign-in-result}/images/right-side-illustration.svg +0 -0
- /package/dist/genexus-ide-ui/gx-ide-assets/{status-message/langs/status-message.lang.en.json → sign-in-result/langs/sign-in-result.lang.en.json} +0 -0
- /package/dist/genexus-ide-ui/gx-ide-assets/{status-message/langs/status-message.lang.ja.json → sign-in-result/langs/sign-in-result.lang.ja.json} +0 -0
- /package/dist/genexus-ide-ui/gx-ide-assets/{status-message/langs/status-message.lang.zh.json → sign-in-result/langs/sign-in-result.lang.zh.json} +0 -0
|
@@ -6,26 +6,28 @@ import { c as r } from "./p-9a03ac9f.js";
|
|
|
6
6
|
|
|
7
7
|
import { L as l } from "./p-311eedf3.js";
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
import { s as o } from "./p-02fb496a.js";
|
|
10
10
|
|
|
11
|
-
|
|
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)}";
|
|
12
|
+
|
|
13
|
+
var c = undefined && undefined.__classPrivateFieldGet || function(e, t, s, i) {
|
|
12
14
|
if (s === "a" && !i) throw new TypeError("Private accessor was defined without a getter");
|
|
13
15
|
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");
|
|
14
16
|
return s === "m" ? i : s === "a" ? i.call(e) : i ? i.value : t.get(e);
|
|
15
17
|
};
|
|
16
18
|
|
|
17
|
-
var
|
|
19
|
+
var d = undefined && undefined.__classPrivateFieldSet || function(e, t, s, i, a) {
|
|
18
20
|
if (i === "m") throw new TypeError("Private method is not writable");
|
|
19
21
|
if (i === "a" && !a) throw new TypeError("Private accessor was defined without a setter");
|
|
20
22
|
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");
|
|
21
23
|
return i === "a" ? a.call(e, s) : a ? a.value = s : t.set(e, s), s;
|
|
22
24
|
};
|
|
23
25
|
|
|
24
|
-
var
|
|
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;
|
|
25
27
|
|
|
26
|
-
const
|
|
28
|
+
const U = [ "resets/box-sizing", "utils/form--full", "utils/layout", "utils/typography", "utils/spacing", "components/tooltip", "chameleon/scrollbar", "components/tabular-grid" ];
|
|
27
29
|
|
|
28
|
-
const
|
|
30
|
+
const L = a({
|
|
29
31
|
category: "system",
|
|
30
32
|
name: "information",
|
|
31
33
|
colorType: "on-surface"
|
|
@@ -46,35 +48,35 @@ const P = a({
|
|
|
46
48
|
const $ = class {
|
|
47
49
|
constructor(s) {
|
|
48
50
|
e(this, s);
|
|
49
|
-
|
|
51
|
+
h.set(this, a({
|
|
50
52
|
category: "system",
|
|
51
53
|
name: "search",
|
|
52
54
|
colorType: "on-surface"
|
|
53
55
|
}));
|
|
54
|
-
|
|
56
|
+
u.set(this, [ {
|
|
55
57
|
value: "select",
|
|
56
58
|
caption: "Select a server from the list below"
|
|
57
59
|
}, {
|
|
58
60
|
value: "new",
|
|
59
61
|
caption: "Enter a server URL manually"
|
|
60
62
|
} ]);
|
|
61
|
-
u.set(this, void 0);
|
|
62
63
|
b.set(this, void 0);
|
|
63
64
|
f.set(this, void 0);
|
|
64
|
-
m.set(this, void 0);
|
|
65
65
|
g.set(this, void 0);
|
|
66
66
|
p.set(this, void 0);
|
|
67
|
-
|
|
67
|
+
m.set(this, void 0);
|
|
68
|
+
w.set(this, void 0);
|
|
69
|
+
v.set(this, (() => {
|
|
68
70
|
this.cancelCallback();
|
|
69
71
|
}));
|
|
70
|
-
|
|
72
|
+
y.set(this, (async () => {
|
|
71
73
|
if (this.selectedConnectionType === "select") {
|
|
72
74
|
await this.selectServerCallback({
|
|
73
75
|
uri: this.selectedServerUri,
|
|
74
76
|
name: this.selectedServerName
|
|
75
77
|
});
|
|
76
78
|
} else if (this.selectedConnectionType === "new") {
|
|
77
|
-
this.isValidUrl =
|
|
79
|
+
this.isValidUrl = c(this, M, "f").call(this, this.serverUrlInputValue);
|
|
78
80
|
if (this.isValidUrl) {
|
|
79
81
|
await this.selectServerCallback({
|
|
80
82
|
uri: this.serverUrlInputValue,
|
|
@@ -83,16 +85,16 @@ const $ = class {
|
|
|
83
85
|
}
|
|
84
86
|
}
|
|
85
87
|
}));
|
|
86
|
-
|
|
88
|
+
k.set(this, (e => {
|
|
87
89
|
this.filterValue = e.detail.toLowerCase();
|
|
88
90
|
this.filteredConnectedServersData = this.connectedServersData.filter((e => e.serverName.toLowerCase().includes(this.filterValue)));
|
|
89
91
|
}));
|
|
90
|
-
|
|
92
|
+
_.set(this, ((e, t) => {
|
|
91
93
|
this.enableConfirmButton = false;
|
|
92
94
|
this[t] = e.detail;
|
|
93
|
-
|
|
95
|
+
c(this, x, "f").call(this);
|
|
94
96
|
}));
|
|
95
|
-
|
|
97
|
+
M.set(this, (e => {
|
|
96
98
|
try {
|
|
97
99
|
const t = new URL(e);
|
|
98
100
|
const s = (t.protocol === "http:" || t.protocol === "https:") && e.startsWith(`${t.protocol}//`);
|
|
@@ -101,44 +103,36 @@ const $ = class {
|
|
|
101
103
|
return false;
|
|
102
104
|
}
|
|
103
105
|
}));
|
|
104
|
-
|
|
106
|
+
x.set(this, (() => {
|
|
105
107
|
if (this.serverUrlInputValue && this.serverUrlInputValue.length > 0 && this.serverNameInputValue && this.serverNameInputValue.length > 0) {
|
|
106
108
|
this.enableConfirmButton = true;
|
|
107
109
|
} else {
|
|
108
110
|
this.enableConfirmButton = false;
|
|
109
111
|
}
|
|
110
112
|
}));
|
|
111
|
-
W.set(this, (e =>
|
|
112
|
-
|
|
113
|
-
n(this, v, "f").call(this);
|
|
114
|
-
}));
|
|
115
|
-
x.set(this, (e => {
|
|
116
|
-
n(this, z, "f").call(this, e);
|
|
117
|
-
n(this, v, "f").call(this);
|
|
118
|
-
}));
|
|
119
|
-
C.set(this, (e => n(this, N, "f").call(this, e, this.connectedServersData, n(this, b, "f"))));
|
|
120
|
-
z.set(this, (e => n(this, N, "f").call(this, e, this.recentlyUsedServersData, n(this, f, "f"))));
|
|
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"))));
|
|
121
115
|
N.set(this, (async (e, t, s) => {
|
|
122
116
|
if (!this.isFirstSelection) {
|
|
123
|
-
|
|
117
|
+
d(this, p, c(this, m, "f"), "f");
|
|
124
118
|
}
|
|
125
|
-
|
|
126
|
-
if (
|
|
119
|
+
d(this, m, e.detail.rowId, "f");
|
|
120
|
+
if (c(this, m, "f") === undefined) {
|
|
127
121
|
this.enableConfirmButton = false;
|
|
128
122
|
this.selectedServerUri = undefined;
|
|
129
123
|
this.selectedServerName = undefined;
|
|
130
124
|
return;
|
|
131
125
|
} else {
|
|
132
|
-
const e = t.find((e => e.id ===
|
|
126
|
+
const e = t.find((e => e.id === c(this, m, "f")));
|
|
133
127
|
this.enableConfirmButton = true;
|
|
134
128
|
this.selectedServerName = e === null || e === void 0 ? void 0 : e.serverName;
|
|
135
129
|
this.selectedServerUri = e === null || e === void 0 ? void 0 : e.serverUrl;
|
|
136
130
|
this.userName = (e === null || e === void 0 ? void 0 : e.gxServerUsername) || "";
|
|
137
131
|
this.isFirstSelection = false;
|
|
138
|
-
await (s === null || s === void 0 ? void 0 : s.selectRow(
|
|
132
|
+
await (s === null || s === void 0 ? void 0 : s.selectRow(c(this, p, "f"), false));
|
|
139
133
|
}
|
|
140
134
|
}));
|
|
141
|
-
|
|
135
|
+
C.set(this, (e => {
|
|
142
136
|
this.selectedConnectionType = e.detail;
|
|
143
137
|
if (this.selectedConnectionType === "new") {
|
|
144
138
|
this.enableConfirmButton = false;
|
|
@@ -146,56 +140,59 @@ const $ = class {
|
|
|
146
140
|
}
|
|
147
141
|
this.selectedServerName = "None";
|
|
148
142
|
}));
|
|
143
|
+
I.set(this, (e => {
|
|
144
|
+
this.filteredConnectedServersData = [ ...o(e, this.filteredConnectedServersData, "string", undefined) ];
|
|
145
|
+
}));
|
|
149
146
|
S.set(this, ((e = false) => t("ch-tabular-grid-columnset", {
|
|
150
147
|
class: "tabular-grid-column-set"
|
|
151
148
|
}, t("ch-tabular-grid-column", {
|
|
152
149
|
columnId: "icon",
|
|
153
|
-
class: "tabular-grid-column",
|
|
150
|
+
class: "tabular-grid-column tabular-grid-column-icon",
|
|
154
151
|
columnName: "Icon",
|
|
155
152
|
settingable: false,
|
|
156
153
|
columnNameHidden: true,
|
|
157
154
|
size: r.tabularGrid.colSize.maxContent,
|
|
158
|
-
resizable: false
|
|
155
|
+
resizable: false,
|
|
156
|
+
sortable: false
|
|
159
157
|
}), t("ch-tabular-grid-column", {
|
|
160
158
|
columnId: "serverName",
|
|
161
159
|
class: "tabular-grid-column",
|
|
162
|
-
sortable: true,
|
|
163
160
|
columnName: "Server Name",
|
|
164
161
|
settingable: false,
|
|
165
162
|
columnNameHidden: e,
|
|
166
|
-
onColumnSortChanged: n(this, A, "f"),
|
|
167
163
|
size: r.tabularGrid.colSize.serverName,
|
|
168
|
-
resizable: false
|
|
164
|
+
resizable: false,
|
|
165
|
+
sortable: !e,
|
|
166
|
+
onColumnSortChanged: c(this, I, "f")
|
|
169
167
|
}), t("ch-tabular-grid-column", {
|
|
170
168
|
columnId: "serverUrl",
|
|
171
169
|
class: "tabular-grid-column",
|
|
172
|
-
sortable: true,
|
|
173
170
|
columnName: "Server Url",
|
|
174
171
|
settingable: false,
|
|
175
172
|
columnNameHidden: e,
|
|
176
|
-
onColumnSortChanged: n(this, A, "f"),
|
|
177
173
|
size: r.tabularGrid.colSize.auto,
|
|
178
|
-
resizable: false
|
|
174
|
+
resizable: false,
|
|
175
|
+
sortable: !e,
|
|
176
|
+
onColumnSortChanged: c(this, I, "f")
|
|
179
177
|
}), t("ch-tabular-grid-column", {
|
|
180
178
|
columnId: "userName",
|
|
181
179
|
class: "tabular-grid-column",
|
|
182
|
-
sortable: true,
|
|
183
180
|
columnName: "Username",
|
|
184
181
|
settingable: false,
|
|
185
182
|
columnNameHidden: e,
|
|
186
|
-
onColumnSortChanged: n(this, A, "f"),
|
|
187
183
|
size: r.tabularGrid.colSize.userName,
|
|
188
|
-
resizable: false
|
|
184
|
+
resizable: false,
|
|
185
|
+
sortable: !e,
|
|
186
|
+
onColumnSortChanged: c(this, I, "f")
|
|
189
187
|
}), t("ch-tabular-grid-column", {
|
|
190
188
|
columnId: "status",
|
|
191
189
|
class: "tabular-grid-column",
|
|
192
|
-
sortable: true,
|
|
193
190
|
columnName: "Status",
|
|
194
191
|
settingable: false,
|
|
195
192
|
columnNameHidden: e,
|
|
196
|
-
onColumnSortChanged: n(this, A, "f"),
|
|
197
193
|
size: r.tabularGrid.colSize.maxContent,
|
|
198
|
-
resizable: false
|
|
194
|
+
resizable: false,
|
|
195
|
+
sortable: false
|
|
199
196
|
}))));
|
|
200
197
|
T.set(this, (e => e !== "" ? t("ch-tooltip", {
|
|
201
198
|
class: "tooltip",
|
|
@@ -204,73 +201,61 @@ const $ = class {
|
|
|
204
201
|
inlineAlign: r.tooltipSettings.inlineAlign,
|
|
205
202
|
delay: r.tooltipSettings.delay
|
|
206
203
|
}, e) : null));
|
|
207
|
-
|
|
204
|
+
j.set(this, (e => [ t("ch-tabular-grid-cell", {
|
|
208
205
|
class: "tabular-grid-cell"
|
|
209
|
-
},
|
|
206
|
+
}, c(this, H, "f").call(this, e.accessLevel)), t("ch-tabular-grid-cell", {
|
|
210
207
|
class: "tabular-grid-cell tabular-grid-cell-server-name"
|
|
211
208
|
}, e.serverName), t("ch-tabular-grid-cell", {
|
|
212
209
|
class: "tabular-grid-cell tabular-grid-cell-server-url"
|
|
213
|
-
}, e.serverUrl,
|
|
210
|
+
}, e.serverUrl, c(this, T, "f").call(this, e.serverUrl)), t("ch-tabular-grid-cell", {
|
|
214
211
|
class: "tabular-grid-cell"
|
|
215
212
|
}, e.gxServerUsername), t("ch-tabular-grid-cell", {
|
|
216
213
|
class: "tabular-grid-cell text-neutral-gray-400 body-italic-s"
|
|
217
214
|
}, e.isConnected && "Connected") ]));
|
|
218
|
-
|
|
215
|
+
E.set(this, (e => t("ch-tabular-grid", {
|
|
219
216
|
class: "tabular-grid-recently-used tabular-grid",
|
|
220
217
|
rowSelectionMode: "single",
|
|
221
|
-
ref: e =>
|
|
218
|
+
ref: e => d(this, f, e, "f"),
|
|
222
219
|
allowColumnReorder: false,
|
|
223
|
-
onRowClicked:
|
|
224
|
-
onRowDoubleClicked: n(this, x, "f"),
|
|
220
|
+
onRowClicked: c(this, z, "f"),
|
|
225
221
|
id: "recently-used-servers"
|
|
226
|
-
},
|
|
222
|
+
}, c(this, S, "f").call(this, e), this.recentlyUsedServersData.length > 0 ? t("ch-tabular-grid-rowset", {
|
|
227
223
|
class: "tabular-grid-rowset"
|
|
228
224
|
}, this.recentlyUsedServersData.map((e => t("ch-tabular-grid-row", {
|
|
229
225
|
rowid: e.id,
|
|
230
226
|
class: "tabular-grid-row"
|
|
231
|
-
},
|
|
227
|
+
}, c(this, j, "f").call(this, e))))) : t("ch-tabular-grid-rowset", {
|
|
232
228
|
class: "tabular-grid-rowset"
|
|
233
229
|
}, t("ch-tabular-grid-rowset-empty", null, t("gx-ide-empty-state", {
|
|
234
|
-
stateIconSrc:
|
|
235
|
-
stateTitle:
|
|
230
|
+
stateIconSrc: L,
|
|
231
|
+
stateTitle: c(this, b, "f").emptyConnectedServers,
|
|
236
232
|
isAnimated: true
|
|
237
233
|
}))))));
|
|
238
|
-
|
|
234
|
+
A.set(this, (() => t("div", {
|
|
235
|
+
class: "tabular-grid-wrapper"
|
|
236
|
+
}, t("div", {
|
|
237
|
+
class: "border-patch"
|
|
238
|
+
}), t("ch-tabular-grid", {
|
|
239
239
|
class: "tabular-grid tabular-grid-all-servers",
|
|
240
240
|
rowSelectionMode: "single",
|
|
241
|
-
ref: e =>
|
|
241
|
+
ref: e => d(this, g, e, "f"),
|
|
242
242
|
allowColumnReorder: false,
|
|
243
|
-
onRowClicked:
|
|
244
|
-
onRowDoubleClicked: n(this, W, "f"),
|
|
243
|
+
onRowClicked: c(this, W, "f"),
|
|
245
244
|
id: "all-servers"
|
|
246
|
-
},
|
|
245
|
+
}, c(this, S, "f").call(this), this.filteredConnectedServersData.length > 0 ? t("ch-tabular-grid-rowset", {
|
|
247
246
|
class: "tabular-grid-rowset"
|
|
248
247
|
}, this.filteredConnectedServersData.map((e => t("ch-tabular-grid-row", {
|
|
249
248
|
rowid: e.id,
|
|
250
249
|
class: "tabular-grid-row"
|
|
251
|
-
},
|
|
250
|
+
}, c(this, j, "f").call(this, e))))) : t("ch-tabular-grid-rowset", {
|
|
252
251
|
class: "tabular-grid-rowset"
|
|
253
252
|
}, t("ch-tabular-grid-rowset-empty", {
|
|
254
253
|
class: "tabular-grid-rowset-empty"
|
|
255
254
|
}, t("gx-ide-empty-state", {
|
|
256
|
-
stateIconSrc:
|
|
257
|
-
stateTitle:
|
|
255
|
+
stateIconSrc: L,
|
|
256
|
+
stateTitle: c(this, b, "f").emptyConnectedServers,
|
|
258
257
|
isAnimated: true
|
|
259
|
-
}))))));
|
|
260
|
-
A.set(this, (e => {
|
|
261
|
-
const {columnId: t, sortDirection: s} = e.detail;
|
|
262
|
-
const i = this.connectedServersData;
|
|
263
|
-
i.sort(((e, i) => {
|
|
264
|
-
if (e[t] < i[t]) {
|
|
265
|
-
return s === "asc" ? -1 : 1;
|
|
266
|
-
}
|
|
267
|
-
if (e[t] > i[t]) {
|
|
268
|
-
return s === "asc" ? 1 : -1;
|
|
269
|
-
}
|
|
270
|
-
return 0;
|
|
271
|
-
}));
|
|
272
|
-
this.connectedServersData = [ ...i ];
|
|
273
|
-
}));
|
|
258
|
+
})))))));
|
|
274
259
|
H.set(this, (e => {
|
|
275
260
|
const s = e === "private" ? F : P;
|
|
276
261
|
return t("ch-image", {
|
|
@@ -278,7 +263,7 @@ const $ = class {
|
|
|
278
263
|
src: s
|
|
279
264
|
});
|
|
280
265
|
}));
|
|
281
|
-
|
|
266
|
+
R.set(this, (() => {
|
|
282
267
|
const e = this.selectedConnectionType === "select";
|
|
283
268
|
return t("footer", {
|
|
284
269
|
class: {
|
|
@@ -295,13 +280,13 @@ const $ = class {
|
|
|
295
280
|
}, t("button", {
|
|
296
281
|
// cancel button
|
|
297
282
|
class: "button-secondary",
|
|
298
|
-
onClick:
|
|
299
|
-
},
|
|
283
|
+
onClick: c(this, v, "f")
|
|
284
|
+
}, c(this, b, "f").footer.cancel), t("button", {
|
|
300
285
|
// confirm button
|
|
301
286
|
class: "button-primary",
|
|
302
|
-
onClick: this.enableConfirmButton &&
|
|
287
|
+
onClick: this.enableConfirmButton && c(this, y, "f"),
|
|
303
288
|
disabled: !this.enableConfirmButton
|
|
304
|
-
},
|
|
289
|
+
}, c(this, b, "f").footer.confirm)));
|
|
305
290
|
}));
|
|
306
291
|
this.enableConfirmButton = false;
|
|
307
292
|
this.isFirstSelection = true;
|
|
@@ -322,7 +307,7 @@ const $ = class {
|
|
|
322
307
|
}
|
|
323
308
|
async componentWillLoad() {
|
|
324
309
|
var e, t;
|
|
325
|
-
|
|
310
|
+
d(this, b, await l.getComponentStrings(this.el), "f");
|
|
326
311
|
this.selectedServerUri = (e = this.connectedServersData[0]) === null || e === void 0 ? void 0 : e.serverUrl;
|
|
327
312
|
this.userName = (t = this.connectedServersData[0]) === null || t === void 0 ? void 0 : t.gxServerUsername;
|
|
328
313
|
this.filteredConnectedServersData = this.connectedServersData;
|
|
@@ -333,7 +318,7 @@ const $ = class {
|
|
|
333
318
|
return t(s, {
|
|
334
319
|
class: `widget elevation-1 ${e} ${i}`
|
|
335
320
|
}, t("ch-theme", {
|
|
336
|
-
model:
|
|
321
|
+
model: U
|
|
337
322
|
}), t("main", {
|
|
338
323
|
class: "section"
|
|
339
324
|
}, t("header", {
|
|
@@ -342,17 +327,17 @@ const $ = class {
|
|
|
342
327
|
class: "field-group"
|
|
343
328
|
}, t("label", {
|
|
344
329
|
class: "body-regular-m text-neutral-gray-400"
|
|
345
|
-
},
|
|
330
|
+
}, c(this, b, "f").header.title), t("ch-radio-group-render", {
|
|
346
331
|
class: "radio-group",
|
|
347
|
-
model:
|
|
348
|
-
onChange:
|
|
349
|
-
value:
|
|
332
|
+
model: c(this, u, "f"),
|
|
333
|
+
onChange: c(this, C, "f"),
|
|
334
|
+
value: c(this, u, "f")[0].value
|
|
350
335
|
}), this.selectedConnectionType === "select" && t("ch-edit", {
|
|
351
336
|
class: "input search-server",
|
|
352
337
|
id: "server-name-search",
|
|
353
|
-
startImgSrc:
|
|
354
|
-
onInput:
|
|
355
|
-
placeholder:
|
|
338
|
+
startImgSrc: c(this, h, "f"),
|
|
339
|
+
onInput: c(this, k, "f"),
|
|
340
|
+
placeholder: c(this, b, "f").placeholders.searchServers,
|
|
356
341
|
accessibleName: "search server",
|
|
357
342
|
type: "search"
|
|
358
343
|
}))), this.selectedConnectionType === "select" && [ this.recentlyUsedServersData.length > 0 && t("div", {
|
|
@@ -360,12 +345,12 @@ const $ = class {
|
|
|
360
345
|
}, t("label", {
|
|
361
346
|
class: "label",
|
|
362
347
|
htmlFor: "recently-used-servers"
|
|
363
|
-
},
|
|
348
|
+
}, c(this, b, "f").recentlyUsed.title), c(this, E, "f").call(this, true)), t("div", {
|
|
364
349
|
class: "field field-block field-block-all-servers spacing-body-inline"
|
|
365
350
|
}, t("label", {
|
|
366
351
|
class: "label",
|
|
367
352
|
htmlFor: "all-servers"
|
|
368
|
-
},
|
|
353
|
+
}, c(this, b, "f").allServers.title), c(this, A, "f").call(this)) ], this.selectedConnectionType === "new" && t("section", {
|
|
369
354
|
class: "spacing-body-inline"
|
|
370
355
|
}, t("div", {
|
|
371
356
|
class: "layout layout--cols-2"
|
|
@@ -374,7 +359,7 @@ const $ = class {
|
|
|
374
359
|
}, t("label", {
|
|
375
360
|
class: "label",
|
|
376
361
|
htmlFor: "server-url"
|
|
377
|
-
},
|
|
362
|
+
}, c(this, b, "f").labels.serverUrl), t("ch-edit", {
|
|
378
363
|
// server url
|
|
379
364
|
class: {
|
|
380
365
|
input: true,
|
|
@@ -382,29 +367,29 @@ const $ = class {
|
|
|
382
367
|
},
|
|
383
368
|
id: "server-url",
|
|
384
369
|
value: this.serverUrlInputValue,
|
|
385
|
-
onInput: e =>
|
|
386
|
-
placeholder:
|
|
387
|
-
ref: e =>
|
|
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")
|
|
388
373
|
})), t("div", {
|
|
389
374
|
class: "field field-block layout__panel"
|
|
390
375
|
}, t("label", {
|
|
391
376
|
class: "label",
|
|
392
377
|
htmlFor: "server-name"
|
|
393
|
-
},
|
|
378
|
+
}, c(this, b, "f").labels.serverName), t("ch-edit", {
|
|
394
379
|
// server friendly name
|
|
395
380
|
class: "input",
|
|
396
381
|
id: "server-name",
|
|
397
382
|
value: this.serverNameInputValue,
|
|
398
|
-
onInput: e =>
|
|
399
|
-
placeholder:
|
|
383
|
+
onInput: e => c(this, _, "f").call(this, e, "serverNameInputValue"),
|
|
384
|
+
placeholder: c(this, b, "f").placeholders.serverName,
|
|
400
385
|
maxLength: 18
|
|
401
386
|
})), !this.isValidUrl && t("ch-tooltip", {
|
|
402
387
|
class: "tooltip",
|
|
403
|
-
actionElement:
|
|
388
|
+
actionElement: c(this, w, "f"),
|
|
404
389
|
blockAlign: "outside-end",
|
|
405
390
|
inlineAlign: r.tooltipSettings.inlineAlign,
|
|
406
391
|
delay: r.tooltipSettings.delay
|
|
407
|
-
},
|
|
392
|
+
}, c(this, b, "f").errors.serverUrlInvalid))), c(this, R, "f").call(this)));
|
|
408
393
|
}
|
|
409
394
|
static get assetsDirs() {
|
|
410
395
|
return [ "gx-ide-assets/server-selector" ];
|
|
@@ -414,14 +399,14 @@ const $ = class {
|
|
|
414
399
|
}
|
|
415
400
|
};
|
|
416
401
|
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
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;
|
|
423
408
|
|
|
424
|
-
$.style =
|
|
409
|
+
$.style = n;
|
|
425
410
|
|
|
426
411
|
export { $ as gx_ide_server_selector };
|
|
427
|
-
//# sourceMappingURL=p-
|
|
412
|
+
//# sourceMappingURL=p-4b06b578.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_cancelHandler","cancelCallback","_GxIdeServerSelector_confirmHandler","async","selectedConnectionType","selectServerCallback","uri","selectedServerUri","selectedServerName","isValidUrl","__classPrivateFieldGet","_GxIdeServerSelector_validateUrl","call","serverUrlInputValue","serverNameInputValue","_GxIdeServerSelector_filterValueChangedHandler","event","filterValue","detail","toLowerCase","filteredConnectedServersData","connectedServersData","filter","item","serverName","includes","_GxIdeServerSelector_inputHandler","field","enableConfirmButton","_GxIdeServerSelector_enableConfirmButton","url","serverUrl","URL","protocolValid","protocol","startsWith","ex","length","_GxIdeServerSelector_selectConnectedServersHandler","_GxIdeServerSelector_handleServerSelection","_GxIdeServerSelector_selectRecentlyUsedServersHandler","recentlyUsedServersData","serversData","otherGridEl","isFirstSelection","__classPrivateFieldSet","rowId","undefined","selectedServer","find","server","id","userName","gxServerUsername","selectRow","_GxIdeServerSelector_connectionTypeChangedHandler","_GxIdeServerSelector_sortTabularGridColumnCallback","e","sortTabularGridColumn","_GxIdeServerSelector_renderTabularGridColumnSet","hideColumnName","h","class","columnId","columnName","settingable","columnNameHidden","size","config","tabularGrid","colSize","maxContent","resizable","sortable","onColumnSortChanged","auto","_GxIdeServerSelector_renderTooltip","text","actionElement","blockAlign","inlineAlign","tooltipSettings","delay","_GxIdeServerSelector_renderTabularGridCommonCells","_GxIdeServerSelector_renderIcon","accessLevel","isConnected","_GxIdeServerSelector_renderRecentlyUsedServersGrid","rowSelectionMode","ref","el","allowColumnReorder","onRowClicked","map","rowid","stateIconSrc","stateTitle","emptyConnectedServers","isAnimated","_GxIdeServerSelector_renderConnectedServersGrid","icon","src","_GxIdeServerSelector_renderFooter","isSelectionMode","onClick","footer","cancel","disabled","confirm","Map","componentWillLoad","Locale","getComponentStrings","_a","_b","render","connectionTypeClass","recentlyUsedEmptyClass","Host","model","header","title","onChange","startImgSrc","onInput","placeholder","placeholders","searchServers","accessibleName","type","htmlFor","recentlyUsed","allServers","labels","input","maxLength","errors","serverUrlInvalid"],"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","// 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 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\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 * State to track if the server URL is valid.\n */\n @State() isValidUrl: 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 ) => Promise<void>;\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 #cancelHandler = (): void => {\n this.cancelCallback();\n };\n\n #confirmHandler = async (): Promise<void | ServerType> => {\n if (this.selectedConnectionType === \"select\") {\n await this.selectServerCallback({\n uri: this.selectedServerUri,\n name: this.selectedServerName\n });\n } else if (this.selectedConnectionType === \"new\") {\n this.isValidUrl = this.#validateUrl(this.serverUrlInputValue);\n if (this.isValidUrl) {\n await this.selectServerCallback({\n uri: this.serverUrlInputValue,\n name: this.serverNameInputValue\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 this.#enableConfirmButton();\n };\n\n #validateUrl = (url: string): boolean => {\n try {\n const serverUrl = new URL(url);\n const protocolValid =\n (serverUrl.protocol === \"http:\" || serverUrl.protocol === \"https:\") &&\n url.startsWith(`${serverUrl.protocol}//`);\n return protocolValid;\n } catch (ex) {\n return false;\n }\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 #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 onRowClicked={this.#selectRecentlyUsedServersHandler}\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 onRowClicked={this.#selectConnectedServersHandler}\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\": true, \"input-error\": !this.isValidUrl }}\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 </div>\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 ></ch-edit>\n </div>\n {!this.isValidUrl && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={\n this.#serverUrlEL as unknown as HTMLButtonElement\n }\n blockAlign=\"outside-end\"\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.#_componentLocale.errors.serverUrlInvalid}\n </ch-tooltip>\n )}\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 ServerType = \"legacy\" | \"next\";\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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"}
|