@gameap/frontend 4.1.0-dev1 → 4.1.0-dev10
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/AdminClientCertificatesView-Bg8X_Ouc.js +370 -0
- package/dist/AdminDaemonTaskListView-DbJp0aqQ.js +316 -0
- package/dist/AdminDaemonTaskOutputView-DNCHQfxx.js +87 -0
- package/dist/AdminGamesEdit-jco7cBfk.js +473 -0
- package/dist/AdminGamesList-CMjsgEpx.js +518 -0
- package/dist/AdminModEdit-BlRu_09M.js +529 -0
- package/dist/AdminNodeShowView-BHxJkjYJ.js +175 -0
- package/dist/AdminNodesCreateView-DihmM46W.js +87 -0
- package/dist/AdminNodesEditView-CVACSido.js +65 -0
- package/dist/AdminNodesView-CHtiU6dZ.js +167 -0
- package/dist/AdminPluginsView-CRjF3BPs.js +984 -0
- package/dist/AdminServersCreate-5f8x6eZO.js +342 -0
- package/dist/AdminServersEdit-CA7711nJ.js +400 -0
- package/dist/AdminServersList-De5ZMEGZ.js +168 -0
- package/dist/AdminUsersEditView-DeYo98vi.js +308 -0
- package/dist/AdminUsersView-C8fKEhpr.js +446 -0
- package/dist/CreateModForm-CqkvVLfN.js +123 -0
- package/dist/CreateNodeModal-DOXVtVLQ.js +100 -0
- package/dist/DsIpSelector-C676Y19X.js +90 -0
- package/dist/EmptyView-Bf6zmQQt.js +9 -0
- package/dist/FileManager-DSa9v4Ex.js +5932 -0
- package/dist/GameIcon-DaYNlnur.js +87 -0
- package/dist/GameModSelector-CQBT8ZLu.js +95 -0
- package/dist/InputManyList-DUOtepb8.js +110 -0
- package/dist/InputTextList-lPhVIV04.js +63 -0
- package/dist/PluginPendingView-DaDaN30Q.js +34 -0
- package/dist/ProfileView-Dw2T3X8m.js +295 -0
- package/dist/RconConsole-CvxNBv0B.js +74 -0
- package/dist/RconPlayers-odUKa0Ps.js +424 -0
- package/dist/ServerConsole-B9v2PcWb.js +99 -0
- package/dist/ServerControlButton-D_zJbxr6.js +186 -0
- package/dist/ServerIdView-_vGQRk7y.js +609 -0
- package/dist/ServerSelector-6fCqL3e9.js +52 -0
- package/dist/ServerSettings-C6-tkLTH.js +84 -0
- package/dist/ServerStatus-CcqB0h1r.js +63 -0
- package/dist/ServerTasks-BcaZzvz7.js +857 -0
- package/dist/ServersView-S_G_kuGj.js +313 -0
- package/dist/SettingsParameters-u3Awy4Vf.js +89 -0
- package/dist/SmartPortSelector-BRSQFVqT.js +174 -0
- package/dist/TokensView-C1RFJSB5.js +392 -0
- package/dist/UpdateNodeForm-BAhzQLt-.js +652 -0
- package/dist/UserServerPrivileges-Q2wQMyHi.js +319 -0
- package/dist/_createCompounder-CXjx5-CF.js +241 -0
- package/dist/camelCase-CSrB2MWj.js +8 -0
- package/dist/capitalize-BZSBvd6d.js +40 -0
- package/dist/clientCertificates-C0FlDwsb.js +53 -0
- package/dist/favicon-32x32.png +0 -0
- package/dist/favicon-96x96.png +0 -0
- package/dist/favicon.ico +0 -0
- package/dist/fonts/gicon.eot +0 -0
- package/dist/fonts/gicon.svg +33 -0
- package/dist/fonts/gicon.ttf +0 -0
- package/dist/fonts/gicon.woff +0 -0
- package/dist/fonts/gicon.woff2 +0 -0
- package/dist/frontend.css +6 -0
- package/dist/gameList-kucszmx0.js +115 -0
- package/dist/gameap.svg +3 -0
- package/dist/gameap_full.svg +9 -0
- package/dist/images/gap_logo_white.png +0 -0
- package/dist/images/gap_logo_white_mini.png +0 -0
- package/dist/images/gicon.svg +18 -0
- package/dist/images/icons/save-white.svg +1 -0
- package/dist/images/icons/save.svg +1 -0
- package/dist/index-9fvX7FD-.js +3840 -0
- package/dist/index.js +1 -0
- package/dist/isEmpty-D0Z8Rneq.js +263 -0
- package/dist/join-CmlzL0H9.js +7 -0
- package/dist/loader-qtG-Lf6M.js +131 -0
- package/dist/mockServiceWorker.js +349 -0
- package/dist/snakeCase-nnM4dAra.js +7 -0
- package/dist/validators-ChBGsKft.js +65 -0
- package/package.json +6 -4
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { ref as k, computed as B, onMounted as I, createElementBlock as y, openBlock as _, Fragment as L, createVNode as s, createCommentVNode as D, unref as e, withCtx as i, createElementVNode as n, toDisplayString as o, createBlock as h } from "vue";
|
|
2
|
+
import { i as S, t as a, e as N, m as U, _ as v, a as b, B as V, l as A, b as P } from "./index-9fvX7FD-.js";
|
|
3
|
+
import { NCard as T, NTable as j } from "naive-ui";
|
|
4
|
+
import { storeToRefs as F } from "pinia";
|
|
5
|
+
import { useRoute as M } from "vue-router";
|
|
6
|
+
const O = {
|
|
7
|
+
key: 0,
|
|
8
|
+
class: "mb-5"
|
|
9
|
+
}, Q = {
|
|
10
|
+
__name: "AdminNodeShowView",
|
|
11
|
+
setup(E) {
|
|
12
|
+
const m = M(), f = S(), { daemonInfo: t, loading: x } = F(f), r = k(!1), c = k(0);
|
|
13
|
+
async function w(d, u) {
|
|
14
|
+
r.value = !0, c.value = 0;
|
|
15
|
+
try {
|
|
16
|
+
const g = await P.get(d, {
|
|
17
|
+
responseType: "blob",
|
|
18
|
+
onDownloadProgress: (p) => {
|
|
19
|
+
p.total && (c.value = Math.round(p.loaded * 100 / p.total));
|
|
20
|
+
}
|
|
21
|
+
}), $ = new Blob([g.data]), l = document.createElement("a");
|
|
22
|
+
l.href = window.URL.createObjectURL($), l.setAttribute("download", u), document.body.appendChild(l), l.click(), document.body.removeChild(l), window.URL.revokeObjectURL(l.href);
|
|
23
|
+
} catch (g) {
|
|
24
|
+
N(g);
|
|
25
|
+
} finally {
|
|
26
|
+
r.value = !1, c.value = 0;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
function z() {
|
|
30
|
+
w(`/api/dedicated_servers/${m.params.id}/logs.zip`, "logs.zip");
|
|
31
|
+
}
|
|
32
|
+
function C() {
|
|
33
|
+
w("/api/dedicated_servers/certificates.zip", "certificates.zip");
|
|
34
|
+
}
|
|
35
|
+
const R = B(() => {
|
|
36
|
+
let d = [
|
|
37
|
+
{ route: "/", text: "GameAP", icon: "gicon gicon-gameap" },
|
|
38
|
+
{ route: { name: "admin.nodes.index" }, text: a("dedicated_servers.dedicated_servers") }
|
|
39
|
+
];
|
|
40
|
+
return t.value.name && d.push({ text: t.value.name }), d;
|
|
41
|
+
});
|
|
42
|
+
return I(() => {
|
|
43
|
+
f.setNodeId(m.params.id), f.fetchDaemonInfo().catch((d) => {
|
|
44
|
+
N(d);
|
|
45
|
+
});
|
|
46
|
+
}), (d, u) => (_(), y(L, null, [
|
|
47
|
+
s(e(U), { items: R.value }, null, 8, ["items"]),
|
|
48
|
+
s(v, {
|
|
49
|
+
color: "blue",
|
|
50
|
+
size: "middle",
|
|
51
|
+
class: "mb-5 mr-1",
|
|
52
|
+
route: { name: "admin.nodes.edit", params: { id: e(m).params.id } }
|
|
53
|
+
}, {
|
|
54
|
+
default: i(() => [
|
|
55
|
+
s(e(b), {
|
|
56
|
+
name: "edit",
|
|
57
|
+
class: "mr-0.5"
|
|
58
|
+
}),
|
|
59
|
+
n("span", null, o(e(a)("main.edit")), 1)
|
|
60
|
+
]),
|
|
61
|
+
_: 1
|
|
62
|
+
}, 8, ["route"]),
|
|
63
|
+
s(v, {
|
|
64
|
+
color: "orange",
|
|
65
|
+
size: "middle",
|
|
66
|
+
class: "mb-5 mr-1",
|
|
67
|
+
disabled: r.value,
|
|
68
|
+
onClick: z
|
|
69
|
+
}, {
|
|
70
|
+
default: i(() => [
|
|
71
|
+
s(e(b), {
|
|
72
|
+
name: "download",
|
|
73
|
+
class: "mr-0.5"
|
|
74
|
+
}),
|
|
75
|
+
n("span", null, o(e(a)("dedicated_servers.download_logs")), 1)
|
|
76
|
+
]),
|
|
77
|
+
_: 1
|
|
78
|
+
}, 8, ["disabled"]),
|
|
79
|
+
s(v, {
|
|
80
|
+
color: "green",
|
|
81
|
+
size: "middle",
|
|
82
|
+
class: "mb-5 mr-1",
|
|
83
|
+
disabled: r.value,
|
|
84
|
+
onClick: C
|
|
85
|
+
}, {
|
|
86
|
+
default: i(() => [
|
|
87
|
+
s(e(b), {
|
|
88
|
+
name: "download",
|
|
89
|
+
class: "mr-0.5"
|
|
90
|
+
}),
|
|
91
|
+
n("span", null, o(e(a)("dedicated_servers.download_certificates")), 1)
|
|
92
|
+
]),
|
|
93
|
+
_: 1
|
|
94
|
+
}, 8, ["disabled"]),
|
|
95
|
+
r.value ? (_(), y("div", O, [
|
|
96
|
+
s(e(V), { progress: c.value }, null, 8, ["progress"])
|
|
97
|
+
])) : D("", !0),
|
|
98
|
+
s(e(T), {
|
|
99
|
+
size: "small",
|
|
100
|
+
class: "mb-3",
|
|
101
|
+
"header-class": "g-card-header",
|
|
102
|
+
segmented: {
|
|
103
|
+
content: !0,
|
|
104
|
+
footer: "soft"
|
|
105
|
+
}
|
|
106
|
+
}, {
|
|
107
|
+
default: i(() => [
|
|
108
|
+
e(x) ? (_(), h(e(A), { key: 0 })) : (_(), h(e(j), {
|
|
109
|
+
key: 1,
|
|
110
|
+
bordered: !1,
|
|
111
|
+
"single-line": !0
|
|
112
|
+
}, {
|
|
113
|
+
default: i(() => [
|
|
114
|
+
n("tbody", null, [
|
|
115
|
+
n("tr", null, [
|
|
116
|
+
u[0] || (u[0] = n("td", null, [
|
|
117
|
+
n("strong", null, "ID:")
|
|
118
|
+
], -1)),
|
|
119
|
+
n("td", null, o(e(t).id), 1)
|
|
120
|
+
]),
|
|
121
|
+
n("tr", null, [
|
|
122
|
+
n("td", null, [
|
|
123
|
+
n("strong", null, o(e(a)("dedicated_servers.name")) + ":", 1)
|
|
124
|
+
]),
|
|
125
|
+
n("td", null, o(e(t).name), 1)
|
|
126
|
+
]),
|
|
127
|
+
n("tr", null, [
|
|
128
|
+
n("td", null, [
|
|
129
|
+
n("strong", null, o(e(a)("dedicated_servers.gdaemon_api_key")) + ":", 1)
|
|
130
|
+
]),
|
|
131
|
+
n("td", null, o(e(t).api_key), 1)
|
|
132
|
+
]),
|
|
133
|
+
n("tr", null, [
|
|
134
|
+
n("td", null, [
|
|
135
|
+
n("strong", null, o(e(a)("dedicated_servers.gdaemon_version")) + ":", 1)
|
|
136
|
+
]),
|
|
137
|
+
n("td", null, o(e(t).version && e(t).version.version ? e(t).version.version + " (" + e(t).version.compile_date + ")" : e(a)("dedicated_servers.gdaemon_empty_info")), 1)
|
|
138
|
+
]),
|
|
139
|
+
n("tr", null, [
|
|
140
|
+
n("td", null, [
|
|
141
|
+
n("strong", null, o(e(a)("dedicated_servers.gdaemon_uptime")) + ":", 1)
|
|
142
|
+
]),
|
|
143
|
+
n("td", null, o(e(t).base_info && e(t).base_info.uptime ? e(t).base_info.uptime : e(a)("dedicated_servers.gdaemon_empty_info")), 1)
|
|
144
|
+
]),
|
|
145
|
+
n("tr", null, [
|
|
146
|
+
n("td", null, [
|
|
147
|
+
n("strong", null, o(e(a)("dedicated_servers.gdaemon_online_servers_count")) + ":", 1)
|
|
148
|
+
]),
|
|
149
|
+
n("td", null, o(e(t).base_info && e(t).base_info.online_servers_count ? e(t).base_info.online_servers_count : e(a)("dedicated_servers.gdaemon_empty_info")), 1)
|
|
150
|
+
]),
|
|
151
|
+
n("tr", null, [
|
|
152
|
+
n("td", null, [
|
|
153
|
+
n("strong", null, o(e(a)("dedicated_servers.gdaemon_working_tasks_count")) + ":", 1)
|
|
154
|
+
]),
|
|
155
|
+
n("td", null, o(e(t).base_info && e(t).base_info.working_tasks_count ? e(t).base_info.working_tasks_count : e(a)("dedicated_servers.gdaemon_empty_info")), 1)
|
|
156
|
+
]),
|
|
157
|
+
n("tr", null, [
|
|
158
|
+
n("td", null, [
|
|
159
|
+
n("strong", null, o(e(a)("dedicated_servers.gdaemon_waiting_tasks_count")) + ":", 1)
|
|
160
|
+
]),
|
|
161
|
+
n("td", null, o(e(t).base_info && e(t).base_info.waiting_tasks_count ? e(t).base_info.waiting_tasks_count : e(a)("dedicated_servers.gdaemon_empty_info")), 1)
|
|
162
|
+
])
|
|
163
|
+
])
|
|
164
|
+
]),
|
|
165
|
+
_: 1
|
|
166
|
+
}))
|
|
167
|
+
]),
|
|
168
|
+
_: 1
|
|
169
|
+
})
|
|
170
|
+
], 64));
|
|
171
|
+
}
|
|
172
|
+
};
|
|
173
|
+
export {
|
|
174
|
+
Q as default
|
|
175
|
+
};
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { computed as d, onMounted as x, ref as S, resolveComponent as N, createElementBlock as b, openBlock as V, Fragment as M, createVNode as n, unref as a, withCtx as f, createElementVNode as $, toDisplayString as w } from "vue";
|
|
2
|
+
import { x as y, t as r, e as m, m as A, _ as D, a as E, n as F } from "./index-9fvX7FD-.js";
|
|
3
|
+
import { u as O } from "./clientCertificates-C0FlDwsb.js";
|
|
4
|
+
import { useRoute as R, useRouter as j } from "vue-router";
|
|
5
|
+
import { storeToRefs as p } from "pinia";
|
|
6
|
+
import { _ as B } from "./UpdateNodeForm-BAhzQLt-.js";
|
|
7
|
+
import { s as L } from "./snakeCase-nnM4dAra.js";
|
|
8
|
+
const q = { class: "hidden lg:inline" }, K = {
|
|
9
|
+
__name: "AdminNodesCreateView",
|
|
10
|
+
setup(G) {
|
|
11
|
+
R();
|
|
12
|
+
const _ = j(), s = y(), i = O(), v = d(() => [
|
|
13
|
+
{ route: "/", text: "GameAP", icon: "gicon gicon-gameap" },
|
|
14
|
+
{ route: { name: "admin.nodes.index" }, text: r("dedicated_servers.dedicated_servers") },
|
|
15
|
+
{ text: r("dedicated_servers.create") }
|
|
16
|
+
]);
|
|
17
|
+
x(() => {
|
|
18
|
+
i.fetchClientCertificates().catch((e) => {
|
|
19
|
+
m(e);
|
|
20
|
+
}), s.fetchAutoSetupData().catch((e) => {
|
|
21
|
+
m(e);
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
const { certificates: C } = p(i), { autoSetupData: c } = p(s), g = d(() => i.loading.value), h = d(() => C.value.map((e) => ({
|
|
25
|
+
label: e.fingerprint,
|
|
26
|
+
value: e.id
|
|
27
|
+
}))), t = S({
|
|
28
|
+
name: "",
|
|
29
|
+
description: "",
|
|
30
|
+
location: ""
|
|
31
|
+
}), u = async () => {
|
|
32
|
+
t.value.serverCertificateFile ? t.value.gdaemonServerCert = await t.value.serverCertificateFile.text() : t.value.gdaemonServerCert = "";
|
|
33
|
+
const e = Object.fromEntries(
|
|
34
|
+
Object.entries(t.value).map(([o, l]) => [L(o), l])
|
|
35
|
+
);
|
|
36
|
+
s.createNode(e).then(() => {
|
|
37
|
+
F({
|
|
38
|
+
content: r("dedicated_servers.create_success_msg"),
|
|
39
|
+
type: "success"
|
|
40
|
+
}, () => {
|
|
41
|
+
_.push({ name: "admin.nodes.index" });
|
|
42
|
+
});
|
|
43
|
+
}).catch((o) => {
|
|
44
|
+
m(o);
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
return (e, o) => {
|
|
48
|
+
const l = N("CreateNodeModal");
|
|
49
|
+
return V(), b(M, null, [
|
|
50
|
+
n(a(A), { items: v.value }, null, 8, ["items"]),
|
|
51
|
+
n(B, {
|
|
52
|
+
loading: g.value,
|
|
53
|
+
modelValue: t.value,
|
|
54
|
+
"onUpdate:modelValue": o[0] || (o[0] = (k) => t.value = k),
|
|
55
|
+
onSend: u,
|
|
56
|
+
"client-certificate-options": h.value
|
|
57
|
+
}, {
|
|
58
|
+
button: f(() => [
|
|
59
|
+
n(D, {
|
|
60
|
+
class: "mt-2",
|
|
61
|
+
color: "green",
|
|
62
|
+
onClick: u
|
|
63
|
+
}, {
|
|
64
|
+
default: f(() => [
|
|
65
|
+
n(a(E), {
|
|
66
|
+
name: "add-square",
|
|
67
|
+
class: "mr-0.5"
|
|
68
|
+
}),
|
|
69
|
+
$("span", q, " " + w(a(r)("main.create")), 1)
|
|
70
|
+
]),
|
|
71
|
+
_: 1
|
|
72
|
+
})
|
|
73
|
+
]),
|
|
74
|
+
_: 1
|
|
75
|
+
}, 8, ["loading", "modelValue", "client-certificate-options"]),
|
|
76
|
+
n(l, {
|
|
77
|
+
link: a(c).link,
|
|
78
|
+
token: a(c).token,
|
|
79
|
+
host: a(c).host
|
|
80
|
+
}, null, 8, ["link", "token", "host"])
|
|
81
|
+
], 64);
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
export {
|
|
86
|
+
K as default
|
|
87
|
+
};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { computed as s, onMounted as x, ref as b, createElementBlock as h, openBlock as N, Fragment as S, createVNode as d, unref as O } from "vue";
|
|
2
|
+
import { i as V, t as i, e as c, m as j, n as E } from "./index-9fvX7FD-.js";
|
|
3
|
+
import { u as k } from "./clientCertificates-C0FlDwsb.js";
|
|
4
|
+
import { useRoute as F, useRouter as R } from "vue-router";
|
|
5
|
+
import { storeToRefs as l } from "pinia";
|
|
6
|
+
import { _ as U } from "./UpdateNodeForm-BAhzQLt-.js";
|
|
7
|
+
import { c as w } from "./camelCase-CSrB2MWj.js";
|
|
8
|
+
import { s as y } from "./snakeCase-nnM4dAra.js";
|
|
9
|
+
const z = {
|
|
10
|
+
__name: "AdminNodesEditView",
|
|
11
|
+
setup(A) {
|
|
12
|
+
const u = F(), m = R(), a = V(), r = k(), f = s(() => [
|
|
13
|
+
{ route: "/", text: "GameAP", icon: "gicon gicon-gameap" },
|
|
14
|
+
{ route: { name: "admin.nodes.index" }, text: i("dedicated_servers.dedicated_servers") },
|
|
15
|
+
{ text: i("dedicated_servers.edit") }
|
|
16
|
+
]);
|
|
17
|
+
x(() => {
|
|
18
|
+
a.setNodeId(u.params.id), a.fetchNode().then(() => {
|
|
19
|
+
t.value = Object.fromEntries(
|
|
20
|
+
Object.entries(p.value).map(([e, o]) => [w(e), o])
|
|
21
|
+
);
|
|
22
|
+
}).catch((e) => {
|
|
23
|
+
c(e);
|
|
24
|
+
}), r.fetchClientCertificates().catch((e) => {
|
|
25
|
+
c(e);
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
const { node: p } = l(a), { certificates: v } = l(r), _ = s(() => a.loading.value || r.loading.value), g = s(() => v.value.map((e) => ({
|
|
29
|
+
label: e.fingerprint,
|
|
30
|
+
value: e.id
|
|
31
|
+
}))), t = b({
|
|
32
|
+
name: "",
|
|
33
|
+
description: "",
|
|
34
|
+
location: ""
|
|
35
|
+
}), C = async () => {
|
|
36
|
+
t.value.serverCertificateFile ? t.value.gdaemonServerCert = await t.value.serverCertificateFile.text() : t.value.gdaemonServerCert = "";
|
|
37
|
+
const e = Object.fromEntries(
|
|
38
|
+
Object.entries(t.value).map(([o, n]) => [y(o), n])
|
|
39
|
+
);
|
|
40
|
+
a.saveNode(e).then(() => {
|
|
41
|
+
E({
|
|
42
|
+
content: i("dedicated_servers.update_success_msg"),
|
|
43
|
+
type: "success"
|
|
44
|
+
}, () => {
|
|
45
|
+
m.push({ name: "admin.nodes.index" });
|
|
46
|
+
});
|
|
47
|
+
}).catch((o) => {
|
|
48
|
+
c(o);
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
return (e, o) => (N(), h(S, null, [
|
|
52
|
+
d(O(j), { items: f.value }, null, 8, ["items"]),
|
|
53
|
+
d(U, {
|
|
54
|
+
loading: _.value,
|
|
55
|
+
modelValue: t.value,
|
|
56
|
+
"onUpdate:modelValue": o[0] || (o[0] = (n) => t.value = n),
|
|
57
|
+
onSend: C,
|
|
58
|
+
"client-certificate-options": g.value
|
|
59
|
+
}, null, 8, ["loading", "modelValue", "client-certificate-options"])
|
|
60
|
+
], 64));
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
export {
|
|
64
|
+
z as default
|
|
65
|
+
};
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { computed as m, ref as b, onMounted as z, createElementBlock as C, openBlock as w, Fragment as $, createVNode as s, unref as i, withCtx as o, createElementVNode as u, toDisplayString as p, h as a } from "vue";
|
|
2
|
+
import { x as D, t as e, e as _, m as S, _ as n, a as r, l as T, n as B } from "./index-9fvX7FD-.js";
|
|
3
|
+
import { storeToRefs as E } from "pinia";
|
|
4
|
+
import { NDataTable as V, NEmpty as j } from "naive-ui";
|
|
5
|
+
import { j as A } from "./join-CmlzL0H9.js";
|
|
6
|
+
const M = {
|
|
7
|
+
__name: "AdminNodesView",
|
|
8
|
+
setup(F) {
|
|
9
|
+
const d = D(), f = m(() => [
|
|
10
|
+
{ route: "/", text: "GameAP", icon: "gicon gicon-gameap" },
|
|
11
|
+
{ route: { name: "admin.nodes.index" }, text: e("sidebar.dedicated_servers") }
|
|
12
|
+
]), v = () => [
|
|
13
|
+
{
|
|
14
|
+
title: e("dedicated_servers.name"),
|
|
15
|
+
key: "name"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
title: e("dedicated_servers.location"),
|
|
19
|
+
key: "location"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
title: e("dedicated_servers.provider"),
|
|
23
|
+
key: "provider"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
title: e("dedicated_servers.ip"),
|
|
27
|
+
key: "ip",
|
|
28
|
+
render(t) {
|
|
29
|
+
return A(t.ip, ", ");
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
title: e("dedicated_servers.os"),
|
|
34
|
+
key: "os"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
title: e("main.actions"),
|
|
38
|
+
render(t) {
|
|
39
|
+
return [
|
|
40
|
+
a(n, {
|
|
41
|
+
color: "green",
|
|
42
|
+
size: "small",
|
|
43
|
+
class: "mr-0.5",
|
|
44
|
+
route: { name: "admin.nodes.view", params: { id: t.id } }
|
|
45
|
+
}, { default: () => [
|
|
46
|
+
a(r, { name: "view" }),
|
|
47
|
+
a("span", { class: "hidden lg:inline" }, e("main.view"))
|
|
48
|
+
] }),
|
|
49
|
+
a(n, {
|
|
50
|
+
color: "blue",
|
|
51
|
+
size: "small",
|
|
52
|
+
class: "mr-0.5",
|
|
53
|
+
route: { name: "admin.nodes.edit", params: { id: t.id } }
|
|
54
|
+
}, { default: () => [
|
|
55
|
+
a(r, { name: "edit" }),
|
|
56
|
+
a("span", { class: "hidden lg:inline" }, e("main.edit"))
|
|
57
|
+
] }),
|
|
58
|
+
a(n, {
|
|
59
|
+
color: "red",
|
|
60
|
+
size: "small",
|
|
61
|
+
text: e("main.delete"),
|
|
62
|
+
onClick: () => {
|
|
63
|
+
N(t.id);
|
|
64
|
+
}
|
|
65
|
+
}, { default: () => [
|
|
66
|
+
a(r, { name: "delete" }),
|
|
67
|
+
a("span", { class: "hidden lg:inline" }, e("main.delete"))
|
|
68
|
+
] })
|
|
69
|
+
];
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
], { loading: g, nodes: y } = E(d), h = b(v()), k = {
|
|
73
|
+
pageSize: 20
|
|
74
|
+
};
|
|
75
|
+
z(() => {
|
|
76
|
+
l();
|
|
77
|
+
});
|
|
78
|
+
const l = () => {
|
|
79
|
+
d.fetchNodesByFilter([]).catch((t) => {
|
|
80
|
+
_(t);
|
|
81
|
+
});
|
|
82
|
+
}, x = m(() => y.value.map((t) => ({
|
|
83
|
+
id: t.id,
|
|
84
|
+
name: t.name,
|
|
85
|
+
location: t.location,
|
|
86
|
+
provider: t.provider,
|
|
87
|
+
ip: t.ip,
|
|
88
|
+
os: t.os
|
|
89
|
+
}))), N = (t) => {
|
|
90
|
+
window.$dialog.success({
|
|
91
|
+
title: e("dedicated_servers.delete_confirm_msg"),
|
|
92
|
+
positiveText: e("main.yes"),
|
|
93
|
+
negativeText: e("main.no"),
|
|
94
|
+
closable: !1,
|
|
95
|
+
onPositiveClick: () => {
|
|
96
|
+
d.deleteNode(t).then(() => {
|
|
97
|
+
B({
|
|
98
|
+
content: e("dedicated_servers.delete_success_msg"),
|
|
99
|
+
type: "success"
|
|
100
|
+
}, () => {
|
|
101
|
+
l();
|
|
102
|
+
});
|
|
103
|
+
}).catch((c) => {
|
|
104
|
+
_(c);
|
|
105
|
+
});
|
|
106
|
+
},
|
|
107
|
+
onNegativeClick: () => {
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
};
|
|
111
|
+
return (t, c) => (w(), C($, null, [
|
|
112
|
+
s(i(S), { items: f.value }, null, 8, ["items"]),
|
|
113
|
+
s(n, {
|
|
114
|
+
color: "green",
|
|
115
|
+
size: "middle",
|
|
116
|
+
class: "mb-5 mr-1",
|
|
117
|
+
route: { name: "admin.nodes.create" }
|
|
118
|
+
}, {
|
|
119
|
+
default: o(() => [
|
|
120
|
+
s(i(r), {
|
|
121
|
+
name: "add-square",
|
|
122
|
+
class: "mr-0.5"
|
|
123
|
+
}),
|
|
124
|
+
u("span", null, p(i(e)("dedicated_servers.create")), 1)
|
|
125
|
+
]),
|
|
126
|
+
_: 1
|
|
127
|
+
}),
|
|
128
|
+
s(n, {
|
|
129
|
+
color: "orange",
|
|
130
|
+
size: "middle",
|
|
131
|
+
class: "mb-5",
|
|
132
|
+
route: { name: "admin.client_certificates.index" }
|
|
133
|
+
}, {
|
|
134
|
+
default: o(() => [
|
|
135
|
+
s(i(r), {
|
|
136
|
+
name: "certificate",
|
|
137
|
+
class: "mr-0.5"
|
|
138
|
+
}),
|
|
139
|
+
u("span", null, p(i(e)("client_certificates.client_certificates")), 1)
|
|
140
|
+
]),
|
|
141
|
+
_: 1
|
|
142
|
+
}),
|
|
143
|
+
s(i(V), {
|
|
144
|
+
ref: "tableRef",
|
|
145
|
+
bordered: !1,
|
|
146
|
+
"single-line": !0,
|
|
147
|
+
columns: h.value,
|
|
148
|
+
data: x.value,
|
|
149
|
+
loading: i(g),
|
|
150
|
+
pagination: k
|
|
151
|
+
}, {
|
|
152
|
+
loading: o(() => [
|
|
153
|
+
s(i(T))
|
|
154
|
+
]),
|
|
155
|
+
empty: o(() => [
|
|
156
|
+
s(i(j), {
|
|
157
|
+
description: i(e)("servers.empty_list")
|
|
158
|
+
}, null, 8, ["description"])
|
|
159
|
+
]),
|
|
160
|
+
_: 1
|
|
161
|
+
}, 8, ["columns", "data", "loading"])
|
|
162
|
+
], 64));
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
export {
|
|
166
|
+
M as default
|
|
167
|
+
};
|