@synopackageland/sdk 0.9.6 → 0.9.8
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/README.md +29 -0
- package/dist/i18n/background/de.json +10 -0
- package/dist/i18n/background/en.json +10 -0
- package/dist/i18n/background/es.json +10 -0
- package/dist/i18n/background/fr.json +10 -0
- package/dist/i18n/background/it.json +10 -0
- package/dist/i18n/background/ja.json +9 -0
- package/dist/i18n/background/ko.json +9 -0
- package/dist/i18n/background/zh-CN.json +9 -0
- package/dist/i18n/background/zh-TW.json +9 -0
- package/dist/index.js +2219 -2116
- package/dist/src/background/i18n.d.ts +10 -0
- package/dist/src/dsm/file-station.d.ts +27 -0
- package/dist/src/i18n.d.ts +17 -0
- package/dist/src/index.d.ts +2 -2
- package/dist/style.css +1 -1
- package/dist/vue.js +1386 -1349
- package/package.json +1 -1
- package/spec/protocol/v1/README.md +21 -0
- package/spec/protocol/v1/vectors/files.jsonl +1 -0
- package/dist/src/nas/i18n.d.ts +0 -2
package/dist/vue.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { shellCopy as
|
|
2
|
-
import { activePage as
|
|
3
|
-
import { inject as Oe, ref as
|
|
4
|
-
import { AppLayout as ia, PageContent as
|
|
5
|
-
import { Timer as
|
|
6
|
-
const
|
|
7
|
-
function
|
|
8
|
-
return Oe(
|
|
1
|
+
import { shellCopy as Je, nasCopy as re, nasErrorCopy as Ee, format as Pe, uiLocale as Xe, saveCopy as Re, saveError as Ve, createNasProvider as qe, identityCopy as Qe, backgroundCopy as Ye, createBackgroundPickerProvider as We, backgroundErrorCopy as Ze, requestKey as De, delegateCopy as Be, errorCopy as je, scopedPicker as ea, authorizationCopy as aa } from "./index.js";
|
|
2
|
+
import { FILE_STATION_APP as Bt, activePage as Ot, authorizationCatalogs as Ft, backgroundCatalogs as Lt, catalogs as Nt, createBackgroundSaveFacade as Mt, createFileTransfers as Kt, decodeResponse as Ht, delegateCatalogs as Gt, encodeRequest as Jt, fileStationPath as Xt, identityCatalogs as Qt, mergeCatalogs as Yt, nasCatalogs as Wt, openFileInFileStation as Zt, openFolderInFileStation as jt, protocolCodes as en, protocolOps as an, protocolSchemas as ln, saveCatalogs as tn, shellCatalogs as nn, shellPages as sn, uiLocales as on } from "./index.js";
|
|
3
|
+
import { inject as Oe, ref as y, onBeforeUnmount as ue, defineComponent as le, computed as F, openBlock as t, createBlock as $, unref as e, withCtx as n, createVNode as h, renderSlot as Ie, createElementVNode as C, markRaw as la, h as ta, onMounted as ve, createElementBlock as S, createTextVNode as g, toDisplayString as l, createCommentVNode as k, watch as Fe, Fragment as Z, withModifiers as me, onUnmounted as Le, nextTick as na, renderList as de, provide as sa } from "vue";
|
|
4
|
+
import { AppLayout as ia, PageContent as oa, PageHeader as ua, AppSidebar as ra, FileTypeIcon as Se, IconButton as ze, Breadcrumb as da, FilePicker as va, Button as A, Callout as Q, TreeView as ca, DataGrid as fa, Dialog as Ae, SettingsSection as ce, Link as Ne, Form as be, FormItem as oe, Input as pe, FormActions as ke, Select as Me, Checkbox as pa, SettingsRow as ya } from "@synopackageland/ui";
|
|
5
|
+
import { Timer as ma, Info as ba, ChevronLeft as ka, ChevronRight as ga, RotateCw as ha, ShieldCheck as _a } from "@lucide/vue";
|
|
6
|
+
const wa = /* @__PURE__ */ Symbol("executor-setup");
|
|
7
|
+
function Ca() {
|
|
8
|
+
return Oe(wa, {
|
|
9
9
|
async status() {
|
|
10
10
|
return { state: "blocked", reason: "setup-unavailable" };
|
|
11
11
|
},
|
|
@@ -17,102 +17,102 @@ function wa() {
|
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
|
-
function
|
|
21
|
-
const
|
|
22
|
-
let
|
|
23
|
-
function
|
|
24
|
-
clearTimeout(
|
|
20
|
+
function xt(p) {
|
|
21
|
+
const I = y(!1), a = y(!1), m = y(), i = y("");
|
|
22
|
+
let d = !1, s = 0, o, r;
|
|
23
|
+
function P() {
|
|
24
|
+
clearTimeout(o), clearTimeout(r);
|
|
25
25
|
}
|
|
26
|
-
function
|
|
27
|
-
|
|
26
|
+
function v(E = "") {
|
|
27
|
+
s++, P(), m.value = void 0, i.value = E;
|
|
28
28
|
}
|
|
29
|
-
function
|
|
30
|
-
if (
|
|
31
|
-
const
|
|
32
|
-
if (!Number.isFinite(
|
|
33
|
-
|
|
29
|
+
function _(E) {
|
|
30
|
+
if (d) return;
|
|
31
|
+
const q = Date.parse(E.expiresAt) - Date.now();
|
|
32
|
+
if (!Number.isFinite(q) || q <= 0) {
|
|
33
|
+
v("expired");
|
|
34
34
|
return;
|
|
35
35
|
}
|
|
36
|
-
|
|
37
|
-
const
|
|
38
|
-
|
|
36
|
+
P(), m.value = E, i.value = "", o = setTimeout(() => v("expired"), q);
|
|
37
|
+
const J = s;
|
|
38
|
+
r = setTimeout(async () => {
|
|
39
39
|
try {
|
|
40
|
-
const
|
|
41
|
-
!
|
|
40
|
+
const G = await p.call("identity.session");
|
|
41
|
+
!d && s === J && _(G);
|
|
42
42
|
} catch {
|
|
43
|
-
!
|
|
43
|
+
!d && s === J && v("expired");
|
|
44
44
|
}
|
|
45
|
-
}, Math.min(6e4,
|
|
45
|
+
}, Math.min(6e4, q));
|
|
46
46
|
}
|
|
47
|
-
async function
|
|
47
|
+
async function z() {
|
|
48
48
|
try {
|
|
49
|
-
const
|
|
50
|
-
if (
|
|
51
|
-
if (
|
|
49
|
+
const E = await p.call("identity.status");
|
|
50
|
+
if (d) return;
|
|
51
|
+
if (I.value = E.enabled === !0, I.value)
|
|
52
52
|
try {
|
|
53
|
-
|
|
53
|
+
_(await p.call("identity.session", { bootstrap: !0 }));
|
|
54
54
|
} catch {
|
|
55
|
-
|
|
55
|
+
d || v();
|
|
56
56
|
}
|
|
57
|
-
} catch (
|
|
58
|
-
const
|
|
59
|
-
|
|
57
|
+
} catch (E) {
|
|
58
|
+
const q = E?.code;
|
|
59
|
+
I.value = !["unknown_method", "admin_required", "app_privilege_denied", "session_required"].includes(q || ""), I.value && (i.value = "unavailable");
|
|
60
60
|
} finally {
|
|
61
|
-
|
|
61
|
+
d || (a.value = !0);
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
|
-
async function
|
|
65
|
-
const
|
|
64
|
+
async function x(E, q) {
|
|
65
|
+
const J = s;
|
|
66
66
|
try {
|
|
67
|
-
const
|
|
68
|
-
if (
|
|
69
|
-
return
|
|
70
|
-
} catch (
|
|
71
|
-
const
|
|
72
|
-
throw !
|
|
67
|
+
const G = await p.call(E, q);
|
|
68
|
+
if (d || I.value && J !== s) throw { code: "session_required" };
|
|
69
|
+
return G;
|
|
70
|
+
} catch (G) {
|
|
71
|
+
const K = G?.code;
|
|
72
|
+
throw !d && J === s && I.value && ["session_required", "session_revalidation_required"].includes(K || "") && v(K === "session_revalidation_required" ? "revalidate" : "expired"), G;
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
|
-
async function
|
|
76
|
-
const
|
|
77
|
-
|
|
75
|
+
async function b(E, q, J) {
|
|
76
|
+
const G = await p.call("identity.login", { account: E, password: q, otp: J });
|
|
77
|
+
d || (s++, _(G));
|
|
78
78
|
}
|
|
79
|
-
async function
|
|
80
|
-
const
|
|
81
|
-
|
|
79
|
+
async function D() {
|
|
80
|
+
const E = await p.call("identity.session", { bootstrap: !0 });
|
|
81
|
+
d || (s++, _(E));
|
|
82
82
|
}
|
|
83
|
-
async function
|
|
84
|
-
await
|
|
83
|
+
async function R() {
|
|
84
|
+
await p.call("identity.logout"), d || v();
|
|
85
85
|
}
|
|
86
|
-
function
|
|
87
|
-
|
|
86
|
+
function L() {
|
|
87
|
+
d = !0, v();
|
|
88
88
|
}
|
|
89
|
-
return { enabled:
|
|
89
|
+
return { enabled: I, ready: a, subject: m, notice: i, start: z, call: x, login: b, bootstrap: D, logout: R, dispose: L };
|
|
90
90
|
}
|
|
91
|
-
function
|
|
92
|
-
const
|
|
93
|
-
let a = !1,
|
|
94
|
-
function
|
|
95
|
-
|
|
91
|
+
function $a() {
|
|
92
|
+
const p = y(!1), I = y();
|
|
93
|
+
let a = !1, m = 0, i;
|
|
94
|
+
function d() {
|
|
95
|
+
m++, i?.abort(), i = void 0, p.value = !1, I.value = void 0;
|
|
96
96
|
}
|
|
97
|
-
async function
|
|
98
|
-
if (a ||
|
|
99
|
-
const
|
|
100
|
-
|
|
97
|
+
async function s(o) {
|
|
98
|
+
if (a || p.value) return;
|
|
99
|
+
const r = ++m, P = new AbortController();
|
|
100
|
+
i = P, p.value = !0, I.value = void 0;
|
|
101
101
|
try {
|
|
102
|
-
const
|
|
103
|
-
return !a &&
|
|
104
|
-
} catch (
|
|
105
|
-
!a &&
|
|
102
|
+
const v = await o(P.signal);
|
|
103
|
+
return !a && r === m ? v : void 0;
|
|
104
|
+
} catch (v) {
|
|
105
|
+
!a && r === m && (I.value = v);
|
|
106
106
|
return;
|
|
107
107
|
} finally {
|
|
108
|
-
!a &&
|
|
108
|
+
!a && r === m && (p.value = !1, i = void 0);
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
|
-
return
|
|
112
|
-
a = !0,
|
|
113
|
-
}), { busy:
|
|
111
|
+
return ue(() => {
|
|
112
|
+
a = !0, d();
|
|
113
|
+
}), { busy: p, error: I, run: s, cancel: d };
|
|
114
114
|
}
|
|
115
|
-
const
|
|
115
|
+
const xa = { class: "app-page-content" }, Sa = /* @__PURE__ */ le({
|
|
116
116
|
__name: "AppShell",
|
|
117
117
|
props: {
|
|
118
118
|
locale: {},
|
|
@@ -121,36 +121,36 @@ const $a = { class: "app-page-content" }, xa = /* @__PURE__ */ se({
|
|
|
121
121
|
description: {}
|
|
122
122
|
},
|
|
123
123
|
emits: ["update:modelValue"],
|
|
124
|
-
setup(
|
|
125
|
-
const a =
|
|
126
|
-
items: a.pages.map((
|
|
127
|
-
}]),
|
|
128
|
-
return (
|
|
124
|
+
setup(p, { emit: I }) {
|
|
125
|
+
const a = p, m = I, i = F(() => Je(a.locale)), d = { status: ba, background: ma }, s = F(() => [{
|
|
126
|
+
items: a.pages.map((r) => ({ key: r, label: i.value[r], icon: d[r] }))
|
|
127
|
+
}]), o = F(() => i.value[a.modelValue] ?? i.value.status);
|
|
128
|
+
return (r, P) => (t(), $(e(ia), {
|
|
129
129
|
class: "app-shell",
|
|
130
130
|
"min-height": "0",
|
|
131
131
|
"wide-layout": "window"
|
|
132
132
|
}, {
|
|
133
|
-
sidebar:
|
|
134
|
-
|
|
135
|
-
"model-value":
|
|
136
|
-
groups:
|
|
137
|
-
"onUpdate:modelValue":
|
|
133
|
+
sidebar: n(() => [
|
|
134
|
+
h(e(ra), {
|
|
135
|
+
"model-value": p.modelValue,
|
|
136
|
+
groups: s.value,
|
|
137
|
+
"onUpdate:modelValue": P[0] || (P[0] = (v) => m("update:modelValue", v))
|
|
138
138
|
}, null, 8, ["model-value", "groups"])
|
|
139
139
|
]),
|
|
140
|
-
default:
|
|
141
|
-
|
|
142
|
-
default:
|
|
143
|
-
|
|
144
|
-
title:
|
|
145
|
-
description:
|
|
140
|
+
default: n(() => [
|
|
141
|
+
h(e(oa), { class: "app-page" }, {
|
|
142
|
+
default: n(() => [
|
|
143
|
+
h(e(ua), {
|
|
144
|
+
title: o.value,
|
|
145
|
+
description: p.description
|
|
146
146
|
}, {
|
|
147
|
-
actions:
|
|
148
|
-
|
|
147
|
+
actions: n(() => [
|
|
148
|
+
Ie(r.$slots, "actions", {}, void 0, !0)
|
|
149
149
|
]),
|
|
150
150
|
_: 3
|
|
151
151
|
}, 8, ["title", "description"]),
|
|
152
|
-
|
|
153
|
-
|
|
152
|
+
C("div", xa, [
|
|
153
|
+
Ie(r.$slots, "default", {}, void 0, !0)
|
|
154
154
|
])
|
|
155
155
|
]),
|
|
156
156
|
_: 3
|
|
@@ -159,32 +159,32 @@ const $a = { class: "app-page-content" }, xa = /* @__PURE__ */ se({
|
|
|
159
159
|
_: 3
|
|
160
160
|
}));
|
|
161
161
|
}
|
|
162
|
-
}),
|
|
163
|
-
const a =
|
|
164
|
-
for (const [
|
|
165
|
-
a[
|
|
162
|
+
}), ne = (p, I) => {
|
|
163
|
+
const a = p.__vccOpts || p;
|
|
164
|
+
for (const [m, i] of I)
|
|
165
|
+
a[m] = i;
|
|
166
166
|
return a;
|
|
167
|
-
},
|
|
168
|
-
function
|
|
169
|
-
let a = 0,
|
|
170
|
-
for (;
|
|
171
|
-
|
|
172
|
-
return `${new Intl.NumberFormat(
|
|
167
|
+
}, St = /* @__PURE__ */ ne(Sa, [["__scopeId", "data-v-05f63ca5"]]), Te = ["B", "KB", "MB", "GB", "TB", "PB"];
|
|
168
|
+
function Ue(p, I) {
|
|
169
|
+
let a = 0, m = p;
|
|
170
|
+
for (; m >= 1024 && a < Te.length - 1; )
|
|
171
|
+
m /= 1024, a++;
|
|
172
|
+
return `${new Intl.NumberFormat(I, { maximumFractionDigits: a ? 1 : 0 }).format(m)} ${Te[a]}`;
|
|
173
173
|
}
|
|
174
|
-
const za = ["aria-busy", "aria-label"],
|
|
174
|
+
const za = ["aria-busy", "aria-label"], Pa = { class: "file-toolbar file-location" }, Va = ["aria-label"], Ia = {
|
|
175
175
|
key: 0,
|
|
176
176
|
class: "file-toolbar"
|
|
177
|
-
},
|
|
177
|
+
}, Ua = {
|
|
178
178
|
key: 1,
|
|
179
179
|
role: "status"
|
|
180
|
-
},
|
|
180
|
+
}, Aa = { role: "alert" }, Da = {
|
|
181
181
|
key: 4,
|
|
182
182
|
role: "status"
|
|
183
|
-
},
|
|
183
|
+
}, Ta = { class: "file-columns" }, Ea = ["aria-label"], Ra = { class: "file-content" }, qa = { class: "file-name" }, Ba = { class: "file-empty" }, Oa = { class: "file-bytes" }, Fa = {
|
|
184
184
|
key: 5,
|
|
185
185
|
class: "file-selection",
|
|
186
186
|
role: "status"
|
|
187
|
-
},
|
|
187
|
+
}, La = /* @__PURE__ */ le({
|
|
188
188
|
__name: "FileBrowser",
|
|
189
189
|
props: {
|
|
190
190
|
provider: {},
|
|
@@ -193,310 +193,310 @@ const za = ["aria-busy", "aria-label"], Va = { class: "file-toolbar file-locatio
|
|
|
193
193
|
transfers: { type: Boolean, default: !1 }
|
|
194
194
|
},
|
|
195
195
|
emits: ["selected"],
|
|
196
|
-
setup(
|
|
197
|
-
const a =
|
|
198
|
-
let
|
|
199
|
-
async function
|
|
200
|
-
const V =
|
|
201
|
-
!V || V.isDir || !a.provider.download || await
|
|
196
|
+
setup(p, { emit: I }) {
|
|
197
|
+
const a = p, m = I, i = F(() => re(a.locale)), d = $a(), { busy: s, error: o } = d, r = y([]), P = y([]), v = y([]), _ = y(), z = y(), x = y(), b = y([]), D = y(), R = y({ key: "name", direction: "asc" }), L = y(0), E = y([]), q = y(!1);
|
|
198
|
+
let J = new AbortController();
|
|
199
|
+
async function G() {
|
|
200
|
+
const V = _.value;
|
|
201
|
+
!V || V.isDir || !a.provider.download || await d.run(async (u) => (await a.provider.info(V.path, u), a.provider.download(V.path), !0));
|
|
202
|
+
}
|
|
203
|
+
async function K() {
|
|
204
|
+
const V = v.value.at(-1)?.path, u = E.value[0];
|
|
205
|
+
if (!V || !u || !a.provider.upload) return;
|
|
206
|
+
q.value = !1, await d.run(async (c) => (await a.provider.upload(V, u, c), !0)) && (E.value = [], await se(v.value), q.value = !0);
|
|
202
207
|
}
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
208
|
+
const O = F(() => [
|
|
209
|
+
{ key: "name", label: i.value.nameColumn, sortable: !0 },
|
|
210
|
+
{ key: "kind", label: i.value.kindColumn },
|
|
211
|
+
{ key: "bytes", label: i.value.sizeColumn, align: "right", sortable: !0 }
|
|
212
|
+
]), H = la((V, { attrs: u }) => ta(Se, { ...u, kind: "folder" }));
|
|
213
|
+
function W(V) {
|
|
214
|
+
return { id: V.path, label: V.name, icon: H, data: V };
|
|
207
215
|
}
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
{ key: "kind", label: s.value.kindColumn },
|
|
211
|
-
{ key: "bytes", label: s.value.sizeColumn, align: "right", sortable: !0 }
|
|
212
|
-
]), Q = aa((V, { attrs: P }) => la(Se, { ...P, kind: "folder" }));
|
|
213
|
-
function G(V) {
|
|
214
|
-
return { id: V.path, label: V.name, icon: Q, data: V };
|
|
216
|
+
function j(V) {
|
|
217
|
+
_.value = V, m("selected", V?.path);
|
|
215
218
|
}
|
|
216
219
|
function ee(V) {
|
|
217
|
-
|
|
218
|
-
}
|
|
219
|
-
function le(V) {
|
|
220
|
-
C.value = V.path, ee(a.mode === "folder" ? V.isDir ? V : d.value.at(-1) : V.isDir ? void 0 : V);
|
|
220
|
+
z.value = V.path, j(a.mode === "folder" ? V.isDir ? V : v.value.at(-1) : V.isDir ? void 0 : V);
|
|
221
221
|
}
|
|
222
|
-
function
|
|
223
|
-
V.isDir ?
|
|
222
|
+
function N(V) {
|
|
223
|
+
V.isDir ? Ce(V) : ee(V);
|
|
224
224
|
}
|
|
225
|
-
const
|
|
226
|
-
function B(V,
|
|
227
|
-
for (const
|
|
228
|
-
const
|
|
229
|
-
if (
|
|
230
|
-
const
|
|
231
|
-
if (
|
|
225
|
+
const T = (V) => r.value.find((u) => u.path === V);
|
|
226
|
+
function B(V, u, f = []) {
|
|
227
|
+
for (const c of V) {
|
|
228
|
+
const X = [...f, c.data];
|
|
229
|
+
if (c.id === u) return X;
|
|
230
|
+
const te = B(c.children ?? [], u, X);
|
|
231
|
+
if (te) return te;
|
|
232
232
|
}
|
|
233
233
|
}
|
|
234
|
-
function
|
|
235
|
-
for (const
|
|
236
|
-
if (
|
|
237
|
-
const
|
|
238
|
-
if (
|
|
234
|
+
function w(V, u) {
|
|
235
|
+
for (const f of V) {
|
|
236
|
+
if (f.id === u) return f;
|
|
237
|
+
const c = w(f.children ?? [], u);
|
|
238
|
+
if (c) return c;
|
|
239
239
|
}
|
|
240
240
|
}
|
|
241
|
-
function
|
|
242
|
-
return V.map((
|
|
241
|
+
function U(V, u, f) {
|
|
242
|
+
return V.map((c) => c.id === u ? { ...c, children: f } : c.children ? { ...c, children: U(c.children, u, f) } : c);
|
|
243
243
|
}
|
|
244
|
-
let
|
|
245
|
-
async function
|
|
246
|
-
const
|
|
247
|
-
for (const
|
|
248
|
-
const
|
|
249
|
-
if (!
|
|
250
|
-
if (
|
|
251
|
-
const
|
|
252
|
-
if (
|
|
253
|
-
|
|
244
|
+
let M = 0;
|
|
245
|
+
async function Y(V) {
|
|
246
|
+
const u = ++M;
|
|
247
|
+
for (const f of V.slice(0, -1)) {
|
|
248
|
+
const c = w(P.value, f.path);
|
|
249
|
+
if (!c) break;
|
|
250
|
+
if (c.children === void 0) {
|
|
251
|
+
const X = await ae(c);
|
|
252
|
+
if (u !== M || !X) return;
|
|
253
|
+
P.value = U(P.value, c.id, X);
|
|
254
254
|
}
|
|
255
|
-
|
|
255
|
+
b.value.includes(c.id) || (b.value = [...b.value, c.id]);
|
|
256
256
|
}
|
|
257
|
-
|
|
257
|
+
D.value = V.at(-1)?.path;
|
|
258
258
|
}
|
|
259
|
-
async function
|
|
260
|
-
const
|
|
259
|
+
async function ae(V) {
|
|
260
|
+
const u = L.value, f = J.signal;
|
|
261
261
|
try {
|
|
262
|
-
const
|
|
263
|
-
let
|
|
264
|
-
for (;
|
|
265
|
-
const
|
|
266
|
-
if (
|
|
267
|
-
|
|
262
|
+
const c = [];
|
|
263
|
+
let X = 0;
|
|
264
|
+
for (; X !== void 0; ) {
|
|
265
|
+
const te = await a.provider.list(V.id, { offset: X, sortBy: "name", sortDirection: "ASC" }, f);
|
|
266
|
+
if (f.aborted || u !== L.value) return;
|
|
267
|
+
c.push(...te.entries.filter((Ge) => Ge.isDir).map(W)), X = te.nextOffset;
|
|
268
268
|
}
|
|
269
|
-
return
|
|
270
|
-
} catch (
|
|
271
|
-
!
|
|
269
|
+
return c;
|
|
270
|
+
} catch (c) {
|
|
271
|
+
!f.aborted && u === L.value && (o.value = c, j());
|
|
272
272
|
return;
|
|
273
273
|
}
|
|
274
274
|
}
|
|
275
|
-
async function
|
|
276
|
-
if (
|
|
277
|
-
|
|
278
|
-
const
|
|
279
|
-
|
|
280
|
-
const
|
|
281
|
-
|
|
275
|
+
async function se(V, u = !1) {
|
|
276
|
+
if (s.value) return;
|
|
277
|
+
j(), z.value = void 0, r.value = u ? r.value : [], x.value = u ? x.value : void 0;
|
|
278
|
+
const f = u ? x.value ?? 0 : 0, c = V.at(-1)?.path;
|
|
279
|
+
v.value = V;
|
|
280
|
+
const X = await d.run((te) => c ? a.provider.list(c, { offset: f, sortBy: R.value.key, sortDirection: R.value.direction === "asc" ? "ASC" : "DESC" }, te) : a.provider.shares(f, te));
|
|
281
|
+
X && (r.value = u ? [...r.value, ...X.entries] : X.entries, x.value = X.nextOffset, c ? a.mode === "folder" && !u && j(V.at(-1)) : P.value = r.value.filter((te) => te.isDir).map(W), u || Y(V));
|
|
282
282
|
}
|
|
283
|
-
const
|
|
284
|
-
function
|
|
285
|
-
const
|
|
286
|
-
|
|
283
|
+
const ge = F(() => [{ id: "", display: i.value.roots }, ...v.value.map((V) => ({ id: V.path, display: V.name }))]);
|
|
284
|
+
function we(V) {
|
|
285
|
+
const u = ge.value.findIndex((f) => f.id === V.id);
|
|
286
|
+
u < v.value.length && ye(v.value.slice(0, u));
|
|
287
287
|
}
|
|
288
|
-
function
|
|
289
|
-
|
|
288
|
+
function Ce(V) {
|
|
289
|
+
ye([...v.value, V]);
|
|
290
290
|
}
|
|
291
|
-
const
|
|
292
|
-
function
|
|
293
|
-
|
|
291
|
+
const fe = y([[]]), ie = y(0);
|
|
292
|
+
function ye(V) {
|
|
293
|
+
s.value || (V.at(-1)?.path !== v.value.at(-1)?.path && (fe.value = [...fe.value.slice(0, ie.value + 1), V], ie.value++), se(V));
|
|
294
294
|
}
|
|
295
|
-
function
|
|
296
|
-
|
|
295
|
+
function he(V) {
|
|
296
|
+
s.value || (ie.value += V, se(fe.value[ie.value]));
|
|
297
297
|
}
|
|
298
|
-
function
|
|
299
|
-
|
|
298
|
+
function $e(V) {
|
|
299
|
+
R.value = { key: V?.key === "bytes" ? "size" : "name", direction: V?.direction ?? "asc" }, se(v.value);
|
|
300
300
|
}
|
|
301
|
-
function
|
|
302
|
-
|
|
301
|
+
function xe() {
|
|
302
|
+
s.value || (L.value++, J.abort(), J = new AbortController(), P.value = [], b.value = [], D.value = void 0, fe.value = [[]], ie.value = 0, se([]));
|
|
303
303
|
}
|
|
304
|
-
return
|
|
305
|
-
|
|
306
|
-
}),
|
|
307
|
-
|
|
308
|
-
}), (V,
|
|
304
|
+
return ve(() => {
|
|
305
|
+
se([]);
|
|
306
|
+
}), ue(() => {
|
|
307
|
+
L.value++, J.abort();
|
|
308
|
+
}), (V, u) => (t(), S("section", {
|
|
309
309
|
class: "file-browser",
|
|
310
|
-
"aria-busy": e(
|
|
311
|
-
"aria-label":
|
|
310
|
+
"aria-busy": e(s),
|
|
311
|
+
"aria-label": i.value.title
|
|
312
312
|
}, [
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
label:
|
|
313
|
+
C("div", Pa, [
|
|
314
|
+
h(e(ze), {
|
|
315
|
+
label: i.value.back,
|
|
316
316
|
size: "sm",
|
|
317
|
-
disabled: e(
|
|
318
|
-
onClick:
|
|
317
|
+
disabled: e(s) || ie.value === 0,
|
|
318
|
+
onClick: u[0] || (u[0] = (f) => he(-1))
|
|
319
319
|
}, {
|
|
320
|
-
default:
|
|
321
|
-
|
|
320
|
+
default: n(() => [
|
|
321
|
+
h(e(ka), {
|
|
322
322
|
size: 16,
|
|
323
323
|
"aria-hidden": "true"
|
|
324
324
|
})
|
|
325
325
|
]),
|
|
326
326
|
_: 1
|
|
327
327
|
}, 8, ["label", "disabled"]),
|
|
328
|
-
|
|
329
|
-
label:
|
|
328
|
+
h(e(ze), {
|
|
329
|
+
label: i.value.forward,
|
|
330
330
|
size: "sm",
|
|
331
|
-
disabled: e(
|
|
332
|
-
onClick:
|
|
331
|
+
disabled: e(s) || ie.value === fe.value.length - 1,
|
|
332
|
+
onClick: u[1] || (u[1] = (f) => he(1))
|
|
333
333
|
}, {
|
|
334
|
-
default:
|
|
335
|
-
|
|
334
|
+
default: n(() => [
|
|
335
|
+
h(e(ga), {
|
|
336
336
|
size: 16,
|
|
337
337
|
"aria-hidden": "true"
|
|
338
338
|
})
|
|
339
339
|
]),
|
|
340
340
|
_: 1
|
|
341
341
|
}, 8, ["label", "disabled"]),
|
|
342
|
-
|
|
343
|
-
label:
|
|
342
|
+
h(e(ze), {
|
|
343
|
+
label: i.value.refresh,
|
|
344
344
|
size: "sm",
|
|
345
|
-
disabled: e(
|
|
346
|
-
onClick:
|
|
345
|
+
disabled: e(s),
|
|
346
|
+
onClick: xe
|
|
347
347
|
}, {
|
|
348
|
-
default:
|
|
349
|
-
|
|
348
|
+
default: n(() => [
|
|
349
|
+
h(e(ha), {
|
|
350
350
|
size: 14,
|
|
351
351
|
"aria-hidden": "true"
|
|
352
352
|
})
|
|
353
353
|
]),
|
|
354
354
|
_: 1
|
|
355
355
|
}, 8, ["label", "disabled"]),
|
|
356
|
-
|
|
356
|
+
C("nav", {
|
|
357
357
|
class: "file-path",
|
|
358
|
-
"aria-label":
|
|
358
|
+
"aria-label": i.value.location
|
|
359
359
|
}, [
|
|
360
|
-
|
|
361
|
-
items:
|
|
362
|
-
"collapsed-label":
|
|
363
|
-
onClickItem:
|
|
360
|
+
h(e(da), {
|
|
361
|
+
items: ge.value,
|
|
362
|
+
"collapsed-label": i.value.fullPath,
|
|
363
|
+
onClickItem: we
|
|
364
364
|
}, null, 8, ["items", "collapsed-label"])
|
|
365
|
-
], 8,
|
|
365
|
+
], 8, Va)
|
|
366
366
|
]),
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
modelValue:
|
|
370
|
-
"onUpdate:modelValue":
|
|
367
|
+
p.transfers && p.provider.upload && v.value.length ? (t(), S("div", Ia, [
|
|
368
|
+
h(e(va), {
|
|
369
|
+
modelValue: E.value,
|
|
370
|
+
"onUpdate:modelValue": u[2] || (u[2] = (f) => E.value = f),
|
|
371
371
|
variant: "compact",
|
|
372
|
-
disabled: e(
|
|
372
|
+
disabled: e(s),
|
|
373
373
|
"max-files": 1,
|
|
374
374
|
"max-size": 16 * 1024 ** 3,
|
|
375
|
-
title:
|
|
376
|
-
onRejected:
|
|
375
|
+
title: i.value.upload,
|
|
376
|
+
onRejected: u[3] || (u[3] = (f) => o.value = { code: "upload_size_required" })
|
|
377
377
|
}, null, 8, ["modelValue", "disabled", "title"]),
|
|
378
|
-
|
|
378
|
+
h(e(A), {
|
|
379
379
|
variant: "primary",
|
|
380
|
-
disabled: e(
|
|
381
|
-
onClick:
|
|
380
|
+
disabled: e(s) || !E.value.length,
|
|
381
|
+
onClick: K
|
|
382
382
|
}, {
|
|
383
|
-
default:
|
|
384
|
-
|
|
383
|
+
default: n(() => [
|
|
384
|
+
g(l(i.value.upload), 1)
|
|
385
385
|
]),
|
|
386
386
|
_: 1
|
|
387
387
|
}, 8, ["disabled"])
|
|
388
388
|
])) : k("", !0),
|
|
389
|
-
|
|
390
|
-
|
|
389
|
+
q.value ? (t(), S("p", Ua, l(i.value.uploaded), 1)) : k("", !0),
|
|
390
|
+
p.transfers && p.provider.download && _.value && !_.value.isDir && !e(o) ? (t(), $(e(A), {
|
|
391
391
|
key: 2,
|
|
392
392
|
variant: "secondary",
|
|
393
|
-
disabled: e(
|
|
394
|
-
onClick:
|
|
393
|
+
disabled: e(s),
|
|
394
|
+
onClick: G
|
|
395
395
|
}, {
|
|
396
|
-
default:
|
|
397
|
-
|
|
396
|
+
default: n(() => [
|
|
397
|
+
g(l(i.value.download), 1)
|
|
398
398
|
]),
|
|
399
399
|
_: 1
|
|
400
400
|
}, 8, ["disabled"])) : k("", !0),
|
|
401
|
-
e(
|
|
401
|
+
e(o) ? (t(), $(e(Q), {
|
|
402
402
|
key: 3,
|
|
403
403
|
tone: "danger"
|
|
404
404
|
}, {
|
|
405
|
-
default:
|
|
406
|
-
|
|
405
|
+
default: n(() => [
|
|
406
|
+
C("span", Aa, l(e(Ee)(e(o), i.value)), 1)
|
|
407
407
|
]),
|
|
408
408
|
_: 1
|
|
409
409
|
})) : k("", !0),
|
|
410
|
-
e(
|
|
411
|
-
|
|
412
|
-
|
|
410
|
+
e(s) ? (t(), S("p", Da, l(i.value.loading), 1)) : k("", !0),
|
|
411
|
+
C("div", Ta, [
|
|
412
|
+
C("aside", {
|
|
413
413
|
class: "file-tree",
|
|
414
|
-
"aria-label":
|
|
414
|
+
"aria-label": i.value.roots
|
|
415
415
|
}, [
|
|
416
|
-
|
|
417
|
-
key:
|
|
416
|
+
P.value.length ? (t(), $(e(ca), {
|
|
417
|
+
key: L.value,
|
|
418
418
|
"selection-style": "background",
|
|
419
|
-
modelValue:
|
|
420
|
-
"onUpdate:modelValue":
|
|
421
|
-
nodes:
|
|
422
|
-
"onUpdate:nodes":
|
|
423
|
-
expanded:
|
|
424
|
-
"onUpdate:expanded":
|
|
425
|
-
"load-children":
|
|
426
|
-
"expand-label": (
|
|
427
|
-
onSelect:
|
|
419
|
+
modelValue: D.value,
|
|
420
|
+
"onUpdate:modelValue": u[4] || (u[4] = (f) => D.value = f),
|
|
421
|
+
nodes: P.value,
|
|
422
|
+
"onUpdate:nodes": u[5] || (u[5] = (f) => P.value = f),
|
|
423
|
+
expanded: b.value,
|
|
424
|
+
"onUpdate:expanded": u[6] || (u[6] = (f) => b.value = f),
|
|
425
|
+
"load-children": ae,
|
|
426
|
+
"expand-label": (f, c) => e(Pe)(c ? i.value.collapse : i.value.expand, { name: f.label }),
|
|
427
|
+
onSelect: u[7] || (u[7] = (f) => ye(B(P.value, f.id) ?? [f.data]))
|
|
428
428
|
}, null, 8, ["modelValue", "nodes", "expanded", "expand-label"])) : k("", !0)
|
|
429
|
-
], 8,
|
|
430
|
-
|
|
431
|
-
e(
|
|
429
|
+
], 8, Ea),
|
|
430
|
+
C("div", Ra, [
|
|
431
|
+
e(o) ? k("", !0) : (t(), $(e(fa), {
|
|
432
432
|
key: 0,
|
|
433
|
-
columns:
|
|
434
|
-
rows:
|
|
433
|
+
columns: O.value,
|
|
434
|
+
rows: r.value.map((f) => ({ ...f, kind: f.isDir ? i.value.directoryKind : i.value.fileKind })),
|
|
435
435
|
"row-key": "path",
|
|
436
436
|
footer: !1,
|
|
437
437
|
resizable: !1,
|
|
438
438
|
"local-sort": !1,
|
|
439
439
|
"local-pagination": !1,
|
|
440
|
-
loading: e(
|
|
441
|
-
"loading-text":
|
|
442
|
-
sort: { key:
|
|
443
|
-
labels: { empty:
|
|
440
|
+
loading: e(s),
|
|
441
|
+
"loading-text": i.value.loading,
|
|
442
|
+
sort: { key: R.value.key === "size" ? "bytes" : R.value.key, direction: R.value.direction },
|
|
443
|
+
labels: { empty: i.value.emptyFolder },
|
|
444
444
|
"single-select": "",
|
|
445
|
-
"selected-keys":
|
|
446
|
-
"onUpdate:sort":
|
|
447
|
-
"onUpdate:selectedKeys":
|
|
448
|
-
e(
|
|
445
|
+
"selected-keys": z.value ? [z.value] : [],
|
|
446
|
+
"onUpdate:sort": $e,
|
|
447
|
+
"onUpdate:selectedKeys": u[8] || (u[8] = (f) => {
|
|
448
|
+
e(s) || ee(T(f[0]));
|
|
449
449
|
}),
|
|
450
|
-
onRowActivate:
|
|
451
|
-
e(
|
|
450
|
+
onRowActivate: u[9] || (u[9] = (f) => {
|
|
451
|
+
e(s) || N(T(f.path));
|
|
452
452
|
}),
|
|
453
|
-
onRowDblclick:
|
|
454
|
-
e(
|
|
453
|
+
onRowDblclick: u[10] || (u[10] = (f) => {
|
|
454
|
+
e(s) || N(T(f.path));
|
|
455
455
|
})
|
|
456
456
|
}, {
|
|
457
|
-
"cell-name":
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
kind:
|
|
461
|
-
name:
|
|
457
|
+
"cell-name": n(({ row: f }) => [
|
|
458
|
+
C("span", qa, [
|
|
459
|
+
h(e(Se), {
|
|
460
|
+
kind: f.isDir ? "folder" : "file",
|
|
461
|
+
name: f.name
|
|
462
462
|
}, null, 8, ["kind", "name"]),
|
|
463
|
-
|
|
463
|
+
g(l(f.name), 1)
|
|
464
464
|
])
|
|
465
465
|
]),
|
|
466
|
-
empty:
|
|
467
|
-
|
|
468
|
-
|
|
466
|
+
empty: n(() => [
|
|
467
|
+
C("div", Ba, [
|
|
468
|
+
h(e(Se), {
|
|
469
469
|
kind: "folder",
|
|
470
470
|
size: [40, 40]
|
|
471
471
|
}),
|
|
472
|
-
|
|
472
|
+
C("span", null, l(i.value.emptyFolder), 1)
|
|
473
473
|
])
|
|
474
474
|
]),
|
|
475
|
-
"cell-bytes":
|
|
476
|
-
|
|
475
|
+
"cell-bytes": n(({ row: f }) => [
|
|
476
|
+
C("span", Oa, l(f.isDir || f.bytes === void 0 ? "—" : e(Ue)(f.bytes, e(Xe)(p.locale))), 1)
|
|
477
477
|
]),
|
|
478
478
|
_: 1
|
|
479
479
|
}, 8, ["columns", "rows", "loading", "loading-text", "sort", "labels", "selected-keys"])),
|
|
480
|
-
|
|
480
|
+
x.value !== void 0 && !e(o) ? (t(), $(e(A), {
|
|
481
481
|
key: 1,
|
|
482
482
|
variant: "secondary",
|
|
483
|
-
disabled: e(
|
|
484
|
-
onClick:
|
|
483
|
+
disabled: e(s),
|
|
484
|
+
onClick: u[11] || (u[11] = (f) => se(v.value, !0))
|
|
485
485
|
}, {
|
|
486
|
-
default:
|
|
487
|
-
|
|
486
|
+
default: n(() => [
|
|
487
|
+
g(l(i.value.loadMore), 1)
|
|
488
488
|
]),
|
|
489
489
|
_: 1
|
|
490
490
|
}, 8, ["disabled"])) : k("", !0)
|
|
491
491
|
])
|
|
492
492
|
]),
|
|
493
|
-
|
|
493
|
+
_.value && !e(o) ? (t(), S("p", Fa, l(e(Pe)(i.value.selected, { name: _.value.path })), 1)) : k("", !0)
|
|
494
494
|
], 8, za));
|
|
495
495
|
}
|
|
496
|
-
}),
|
|
496
|
+
}), Ke = /* @__PURE__ */ ne(La, [["__scopeId", "data-v-c689761c"]]), Na = {
|
|
497
497
|
key: 0,
|
|
498
498
|
class: "save-consent"
|
|
499
|
-
}, Ma = ["aria-busy", "inert"], Ka = /* @__PURE__ */
|
|
499
|
+
}, Ma = ["aria-busy", "inert"], Ka = /* @__PURE__ */ le({
|
|
500
500
|
__name: "NasPicker",
|
|
501
501
|
props: {
|
|
502
502
|
open: { type: Boolean },
|
|
@@ -508,322 +508,322 @@ const za = ["aria-busy", "aria-label"], Va = { class: "file-toolbar file-locatio
|
|
|
508
508
|
destination: {}
|
|
509
509
|
},
|
|
510
510
|
emits: ["update:open", "selected", "authorized"],
|
|
511
|
-
setup(
|
|
512
|
-
const a =
|
|
513
|
-
let
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
}),
|
|
517
|
-
|
|
511
|
+
setup(p, { emit: I }) {
|
|
512
|
+
const a = p, m = I, i = y(), d = F(() => re(a.locale)), s = F(() => Re(a.locale)), o = y(!1), r = y();
|
|
513
|
+
let P = 0, v = !1;
|
|
514
|
+
Fe(() => a.open, () => {
|
|
515
|
+
P++, i.value = void 0, r.value = void 0;
|
|
516
|
+
}), ue(() => {
|
|
517
|
+
v = !0, P++;
|
|
518
518
|
});
|
|
519
|
-
function
|
|
520
|
-
|
|
519
|
+
function _() {
|
|
520
|
+
o.value || (i.value = void 0, m("update:open", !1));
|
|
521
521
|
}
|
|
522
|
-
async function
|
|
523
|
-
const
|
|
524
|
-
if (!(!
|
|
525
|
-
if (!
|
|
526
|
-
|
|
522
|
+
async function z() {
|
|
523
|
+
const x = i.value, b = a.destination, D = P;
|
|
524
|
+
if (!(!x || o.value || !a.open || v || b && a.mode !== "folder")) {
|
|
525
|
+
if (!b) {
|
|
526
|
+
m("selected", x), _();
|
|
527
527
|
return;
|
|
528
528
|
}
|
|
529
|
-
|
|
529
|
+
o.value = !0, r.value = void 0;
|
|
530
530
|
try {
|
|
531
|
-
const
|
|
532
|
-
if (
|
|
533
|
-
if (!
|
|
534
|
-
|
|
535
|
-
} catch (
|
|
536
|
-
!
|
|
531
|
+
const R = await b.selectDestination({ key: b.key, path: x });
|
|
532
|
+
if (v || D !== P) return;
|
|
533
|
+
if (!R || typeof R.id != "string" || !R.id || typeof R.username != "string" || !R.username || R.path !== x || R.key !== b.key || R.lifetime !== "until-revoked") throw { code: "commit-uncertain" };
|
|
534
|
+
m("authorized", R), o.value = !1, _();
|
|
535
|
+
} catch (R) {
|
|
536
|
+
!v && D === P && (r.value = R);
|
|
537
537
|
} finally {
|
|
538
|
-
|
|
538
|
+
v || (o.value = !1);
|
|
539
539
|
}
|
|
540
540
|
}
|
|
541
541
|
}
|
|
542
|
-
return (
|
|
543
|
-
open:
|
|
544
|
-
title:
|
|
545
|
-
description:
|
|
546
|
-
"close-label":
|
|
547
|
-
"show-close": !
|
|
542
|
+
return (x, b) => (t(), $(e(Ae), {
|
|
543
|
+
open: p.open,
|
|
544
|
+
title: p.title ?? (p.mode === "folder" ? d.value.choose : d.value.chooseFile),
|
|
545
|
+
description: p.description ?? d.value.ownPermissions,
|
|
546
|
+
"close-label": d.value.close,
|
|
547
|
+
"show-close": !o.value,
|
|
548
548
|
width: "800px",
|
|
549
|
-
onEscapeKeyDown:
|
|
550
|
-
|
|
549
|
+
onEscapeKeyDown: b[1] || (b[1] = (D) => {
|
|
550
|
+
o.value && D.preventDefault();
|
|
551
551
|
}),
|
|
552
|
-
onInteractOutside:
|
|
553
|
-
|
|
552
|
+
onInteractOutside: b[2] || (b[2] = (D) => {
|
|
553
|
+
o.value && D.preventDefault();
|
|
554
554
|
}),
|
|
555
|
-
"onUpdate:open":
|
|
556
|
-
|
|
555
|
+
"onUpdate:open": b[3] || (b[3] = (D) => {
|
|
556
|
+
D || _();
|
|
557
557
|
})
|
|
558
558
|
}, {
|
|
559
|
-
footer:
|
|
560
|
-
|
|
559
|
+
footer: n(() => [
|
|
560
|
+
h(e(A), {
|
|
561
561
|
variant: "secondary",
|
|
562
|
-
disabled:
|
|
563
|
-
onClick:
|
|
562
|
+
disabled: o.value,
|
|
563
|
+
onClick: _
|
|
564
564
|
}, {
|
|
565
|
-
default:
|
|
566
|
-
|
|
565
|
+
default: n(() => [
|
|
566
|
+
g(l(d.value.cancel), 1)
|
|
567
567
|
]),
|
|
568
568
|
_: 1
|
|
569
569
|
}, 8, ["disabled"]),
|
|
570
|
-
|
|
570
|
+
h(e(A), {
|
|
571
571
|
variant: "primary",
|
|
572
|
-
disabled: !
|
|
573
|
-
onClick:
|
|
572
|
+
disabled: !i.value || o.value || !!p.destination && p.mode !== "folder",
|
|
573
|
+
onClick: z
|
|
574
574
|
}, {
|
|
575
|
-
default:
|
|
576
|
-
|
|
575
|
+
default: n(() => [
|
|
576
|
+
g(l(d.value.confirm), 1)
|
|
577
577
|
]),
|
|
578
578
|
_: 1
|
|
579
579
|
}, 8, ["disabled"])
|
|
580
580
|
]),
|
|
581
|
-
default:
|
|
582
|
-
|
|
583
|
-
|
|
581
|
+
default: n(() => [
|
|
582
|
+
p.destination ? (t(), S("p", Na, l(s.value.selection), 1)) : k("", !0),
|
|
583
|
+
r.value ? (t(), $(e(Q), {
|
|
584
584
|
key: 1,
|
|
585
585
|
tone: "danger",
|
|
586
586
|
role: "alert",
|
|
587
587
|
class: "save-message"
|
|
588
588
|
}, {
|
|
589
|
-
default:
|
|
590
|
-
|
|
589
|
+
default: n(() => [
|
|
590
|
+
g(l(e(Ve)(r.value, s.value)), 1)
|
|
591
591
|
]),
|
|
592
592
|
_: 1
|
|
593
593
|
})) : k("", !0),
|
|
594
|
-
|
|
594
|
+
C("div", {
|
|
595
595
|
class: "nas-picker-content",
|
|
596
|
-
"aria-busy":
|
|
597
|
-
inert:
|
|
596
|
+
"aria-busy": o.value,
|
|
597
|
+
inert: o.value
|
|
598
598
|
}, [
|
|
599
|
-
|
|
599
|
+
p.open ? (t(), $(Ke, {
|
|
600
600
|
key: 0,
|
|
601
|
-
provider:
|
|
602
|
-
locale:
|
|
603
|
-
mode:
|
|
604
|
-
onSelected:
|
|
601
|
+
provider: p.provider,
|
|
602
|
+
locale: p.locale,
|
|
603
|
+
mode: p.mode,
|
|
604
|
+
onSelected: b[0] || (b[0] = (D) => i.value = D)
|
|
605
605
|
}, null, 8, ["provider", "locale", "mode"])) : k("", !0)
|
|
606
606
|
], 8, Ma)
|
|
607
607
|
]),
|
|
608
608
|
_: 1
|
|
609
609
|
}, 8, ["open", "title", "description", "close-label", "show-close"]));
|
|
610
610
|
}
|
|
611
|
-
}),
|
|
611
|
+
}), _e = /* @__PURE__ */ ne(Ka, [["__scopeId", "data-v-535a0e54"]]), Ha = { role: "alert" }, Ga = { class: "files-actions" }, Ja = {
|
|
612
612
|
key: 0,
|
|
613
613
|
class: "files-path",
|
|
614
614
|
role: "status"
|
|
615
|
-
}, Xa = /* @__PURE__ */
|
|
615
|
+
}, Xa = /* @__PURE__ */ le({
|
|
616
616
|
__name: "FilesPage",
|
|
617
617
|
props: {
|
|
618
618
|
ctx: {}
|
|
619
619
|
},
|
|
620
|
-
setup(
|
|
621
|
-
const
|
|
622
|
-
let
|
|
623
|
-
async function
|
|
624
|
-
if (!
|
|
625
|
-
a.value = void 0,
|
|
620
|
+
setup(p) {
|
|
621
|
+
const I = p, a = y(), m = y(!1), i = y("folder"), d = y(!1), s = y(""), o = y(0), r = qe(I.ctx);
|
|
622
|
+
let P = !1, v;
|
|
623
|
+
async function _() {
|
|
624
|
+
if (!P) {
|
|
625
|
+
a.value = void 0, m.value = !1, s.value = "", d.value = !1, o.value++;
|
|
626
626
|
try {
|
|
627
|
-
await
|
|
628
|
-
} catch (
|
|
629
|
-
!
|
|
627
|
+
await I.ctx.call("nas.session.status"), P || (m.value = !0);
|
|
628
|
+
} catch (z) {
|
|
629
|
+
!P && z?.code !== "unknown_method" && (a.value = z);
|
|
630
630
|
}
|
|
631
631
|
}
|
|
632
632
|
}
|
|
633
|
-
return
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
}),
|
|
637
|
-
}),
|
|
638
|
-
|
|
639
|
-
}), (
|
|
640
|
-
a.value ? (t(),
|
|
633
|
+
return ve(() => {
|
|
634
|
+
v = I.ctx.reopen(() => {
|
|
635
|
+
_();
|
|
636
|
+
}), _();
|
|
637
|
+
}), ue(() => {
|
|
638
|
+
P = !0, v?.(), r.dispose();
|
|
639
|
+
}), (z, x) => (t(), S(Z, null, [
|
|
640
|
+
a.value ? (t(), $(e(Q), {
|
|
641
641
|
key: 0,
|
|
642
642
|
tone: "danger"
|
|
643
643
|
}, {
|
|
644
|
-
default:
|
|
645
|
-
|
|
646
|
-
|
|
644
|
+
default: n(() => [
|
|
645
|
+
C("span", Ha, l(e(Ee)(a.value, e(re)(p.ctx.locale))), 1),
|
|
646
|
+
h(e(A), {
|
|
647
647
|
variant: "secondary",
|
|
648
|
-
onClick:
|
|
648
|
+
onClick: _
|
|
649
649
|
}, {
|
|
650
|
-
default:
|
|
651
|
-
|
|
650
|
+
default: n(() => [
|
|
651
|
+
g(l(e(re)(p.ctx.locale).refresh), 1)
|
|
652
652
|
]),
|
|
653
653
|
_: 1
|
|
654
654
|
})
|
|
655
655
|
]),
|
|
656
656
|
_: 1
|
|
657
657
|
})) : k("", !0),
|
|
658
|
-
|
|
658
|
+
m.value ? (t(), $(e(ce), {
|
|
659
659
|
key: 1,
|
|
660
|
-
title: e(
|
|
660
|
+
title: e(re)(p.ctx.locale).title,
|
|
661
661
|
collapsible: !1
|
|
662
662
|
}, {
|
|
663
|
-
default:
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
663
|
+
default: n(() => [
|
|
664
|
+
C("p", null, l(e(re)(p.ctx.locale).ownPermissions), 1),
|
|
665
|
+
C("div", Ga, [
|
|
666
|
+
h(e(A), {
|
|
667
667
|
variant: "secondary",
|
|
668
|
-
onClick:
|
|
669
|
-
|
|
668
|
+
onClick: x[0] || (x[0] = (b) => {
|
|
669
|
+
i.value = "folder", d.value = !0;
|
|
670
670
|
})
|
|
671
671
|
}, {
|
|
672
|
-
default:
|
|
673
|
-
|
|
672
|
+
default: n(() => [
|
|
673
|
+
g(l(e(re)(p.ctx.locale).choose), 1)
|
|
674
674
|
]),
|
|
675
675
|
_: 1
|
|
676
676
|
}),
|
|
677
|
-
|
|
677
|
+
h(e(A), {
|
|
678
678
|
variant: "secondary",
|
|
679
|
-
onClick:
|
|
680
|
-
|
|
679
|
+
onClick: x[1] || (x[1] = (b) => {
|
|
680
|
+
i.value = "file", d.value = !0;
|
|
681
681
|
})
|
|
682
682
|
}, {
|
|
683
|
-
default:
|
|
684
|
-
|
|
683
|
+
default: n(() => [
|
|
684
|
+
g(l(e(re)(p.ctx.locale).chooseFile), 1)
|
|
685
685
|
]),
|
|
686
686
|
_: 1
|
|
687
687
|
})
|
|
688
688
|
]),
|
|
689
|
-
|
|
690
|
-
(t(),
|
|
691
|
-
key:
|
|
692
|
-
provider: e(
|
|
693
|
-
locale:
|
|
689
|
+
s.value ? (t(), S("p", Ja, l(s.value), 1)) : k("", !0),
|
|
690
|
+
(t(), $(Ke, {
|
|
691
|
+
key: o.value,
|
|
692
|
+
provider: e(r),
|
|
693
|
+
locale: p.ctx.locale,
|
|
694
694
|
transfers: ""
|
|
695
695
|
}, null, 8, ["provider", "locale"])),
|
|
696
|
-
|
|
697
|
-
provider: e(
|
|
698
|
-
locale:
|
|
699
|
-
mode:
|
|
700
|
-
open:
|
|
701
|
-
"onUpdate:open":
|
|
702
|
-
onSelected:
|
|
696
|
+
h(_e, {
|
|
697
|
+
provider: e(r),
|
|
698
|
+
locale: p.ctx.locale,
|
|
699
|
+
mode: i.value,
|
|
700
|
+
open: d.value,
|
|
701
|
+
"onUpdate:open": x[2] || (x[2] = (b) => d.value = b),
|
|
702
|
+
onSelected: x[3] || (x[3] = (b) => s.value = b)
|
|
703
703
|
}, null, 8, ["provider", "locale", "mode", "open"])
|
|
704
704
|
]),
|
|
705
705
|
_: 1
|
|
706
706
|
}, 8, ["title"])) : k("", !0)
|
|
707
707
|
], 64));
|
|
708
708
|
}
|
|
709
|
-
}),
|
|
709
|
+
}), zt = /* @__PURE__ */ ne(Xa, [["__scopeId", "data-v-699931fa"]]), Qa = { key: 0 }, Ya = { key: 0 }, Wa = { key: 4 }, Za = { role: "alert" }, ja = 5e3, Pt = /* @__PURE__ */ le({
|
|
710
710
|
__name: "PortalSettings",
|
|
711
711
|
props: {
|
|
712
712
|
portal: {}
|
|
713
713
|
},
|
|
714
|
-
setup(
|
|
715
|
-
const
|
|
716
|
-
let
|
|
717
|
-
function
|
|
718
|
-
|
|
714
|
+
setup(p) {
|
|
715
|
+
const I = p, a = I.portal.messages, m = y(), i = y(""), d = y(!1), s = y("");
|
|
716
|
+
let o = !1;
|
|
717
|
+
function r(_) {
|
|
718
|
+
o || (m.value = _, i.value = _.alias || _.defaultAlias);
|
|
719
719
|
}
|
|
720
|
-
const
|
|
721
|
-
async function
|
|
722
|
-
if (
|
|
723
|
-
|
|
724
|
-
const
|
|
720
|
+
const P = /* @__PURE__ */ Symbol("late");
|
|
721
|
+
async function v(_) {
|
|
722
|
+
if (d.value) return;
|
|
723
|
+
d.value = !0, s.value = "";
|
|
724
|
+
const z = _();
|
|
725
725
|
try {
|
|
726
|
-
const
|
|
727
|
-
if (
|
|
728
|
-
|
|
726
|
+
const x = await Promise.race([z, new Promise((b) => setTimeout(() => b(P), ja))]);
|
|
727
|
+
if (x !== P) {
|
|
728
|
+
r(x);
|
|
729
729
|
return;
|
|
730
730
|
}
|
|
731
|
-
|
|
732
|
-
}),
|
|
733
|
-
} catch (
|
|
734
|
-
|
|
731
|
+
z.then(r, () => {
|
|
732
|
+
}), r(await I.portal.status());
|
|
733
|
+
} catch (x) {
|
|
734
|
+
o || (s.value = a[x?.code || ""] || a.portal_unavailable);
|
|
735
735
|
} finally {
|
|
736
|
-
|
|
736
|
+
o || (d.value = !1);
|
|
737
737
|
}
|
|
738
738
|
}
|
|
739
|
-
return
|
|
740
|
-
|
|
741
|
-
}),
|
|
742
|
-
|
|
743
|
-
}), (
|
|
739
|
+
return ve(() => {
|
|
740
|
+
I.portal.status().then(r);
|
|
741
|
+
}), ue(() => {
|
|
742
|
+
o = !0;
|
|
743
|
+
}), (_, z) => m.value ? (t(), $(e(ce), {
|
|
744
744
|
key: 0,
|
|
745
745
|
title: e(a).title,
|
|
746
746
|
collapsible: !1,
|
|
747
|
-
"aria-busy":
|
|
747
|
+
"aria-busy": d.value
|
|
748
748
|
}, {
|
|
749
|
-
default:
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
href:
|
|
749
|
+
default: n(() => [
|
|
750
|
+
m.value.state === "active" ? (t(), S("p", Qa, [
|
|
751
|
+
g(l(e(a).link) + " ", 1),
|
|
752
|
+
h(e(Ne), {
|
|
753
|
+
href: m.value.url,
|
|
754
754
|
external: ""
|
|
755
755
|
}, {
|
|
756
|
-
default:
|
|
757
|
-
|
|
756
|
+
default: n(() => [
|
|
757
|
+
g(l(m.value.url), 1)
|
|
758
758
|
]),
|
|
759
759
|
_: 1
|
|
760
760
|
}, 8, ["href"])
|
|
761
761
|
])) : k("", !0),
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
762
|
+
m.value.canManage && m.value.entry && m.value.entry !== "registered" ? (t(), S(Z, { key: 1 }, [
|
|
763
|
+
C("p", null, l(m.value.entry === "unregistered" ? e(a).entryOff : e(a).cleanupRequired), 1),
|
|
764
|
+
m.value.entry === "unregistered" ? (t(), $(e(A), {
|
|
765
765
|
key: 0,
|
|
766
766
|
variant: "primary",
|
|
767
|
-
disabled:
|
|
768
|
-
onClick:
|
|
767
|
+
disabled: d.value,
|
|
768
|
+
onClick: z[0] || (z[0] = (x) => v(() => p.portal.register()))
|
|
769
769
|
}, {
|
|
770
|
-
default:
|
|
771
|
-
|
|
770
|
+
default: n(() => [
|
|
771
|
+
g(l(e(a).register), 1)
|
|
772
772
|
]),
|
|
773
773
|
_: 1
|
|
774
|
-
}, 8, ["disabled"])) : (t(),
|
|
774
|
+
}, 8, ["disabled"])) : (t(), $(e(A), {
|
|
775
775
|
key: 1,
|
|
776
776
|
variant: "primary",
|
|
777
|
-
disabled:
|
|
778
|
-
onClick:
|
|
777
|
+
disabled: d.value,
|
|
778
|
+
onClick: z[1] || (z[1] = (x) => v(() => p.portal.unregister()))
|
|
779
779
|
}, {
|
|
780
|
-
default:
|
|
781
|
-
|
|
780
|
+
default: n(() => [
|
|
781
|
+
g(l(e(a).unregister), 1)
|
|
782
782
|
]),
|
|
783
783
|
_: 1
|
|
784
784
|
}, 8, ["disabled"]))
|
|
785
|
-
], 64)) :
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
onSubmit:
|
|
785
|
+
], 64)) : m.value.canManage ? (t(), S(Z, { key: 2 }, [
|
|
786
|
+
m.value.state !== "active" ? (t(), S("p", Ya, l(e(a).inactive), 1)) : k("", !0),
|
|
787
|
+
h(e(be), {
|
|
788
|
+
onSubmit: z[4] || (z[4] = me((x) => v(() => p.portal.apply(i.value)), ["prevent"]))
|
|
789
789
|
}, {
|
|
790
|
-
default:
|
|
791
|
-
|
|
790
|
+
default: n(() => [
|
|
791
|
+
h(e(oe), {
|
|
792
792
|
label: e(a).alias,
|
|
793
793
|
"label-for": "portal-alias"
|
|
794
794
|
}, {
|
|
795
|
-
default:
|
|
796
|
-
|
|
795
|
+
default: n(() => [
|
|
796
|
+
h(e(pe), {
|
|
797
797
|
id: "portal-alias",
|
|
798
|
-
modelValue:
|
|
799
|
-
"onUpdate:modelValue":
|
|
798
|
+
modelValue: i.value,
|
|
799
|
+
"onUpdate:modelValue": z[2] || (z[2] = (x) => i.value = x),
|
|
800
800
|
maxlength: "64",
|
|
801
801
|
autocomplete: "off",
|
|
802
|
-
disabled:
|
|
802
|
+
disabled: d.value
|
|
803
803
|
}, null, 8, ["modelValue", "disabled"])
|
|
804
804
|
]),
|
|
805
805
|
_: 1
|
|
806
806
|
}, 8, ["label"]),
|
|
807
|
-
|
|
808
|
-
default:
|
|
809
|
-
|
|
807
|
+
h(e(ke), null, {
|
|
808
|
+
default: n(() => [
|
|
809
|
+
h(e(A), {
|
|
810
810
|
type: "submit",
|
|
811
811
|
variant: "primary",
|
|
812
|
-
disabled:
|
|
812
|
+
disabled: d.value
|
|
813
813
|
}, {
|
|
814
|
-
default:
|
|
815
|
-
|
|
814
|
+
default: n(() => [
|
|
815
|
+
g(l(e(a).apply), 1)
|
|
816
816
|
]),
|
|
817
817
|
_: 1
|
|
818
818
|
}, 8, ["disabled"]),
|
|
819
|
-
|
|
819
|
+
m.value.state === "active" ? (t(), $(e(A), {
|
|
820
820
|
key: 0,
|
|
821
821
|
variant: "secondary",
|
|
822
|
-
disabled:
|
|
823
|
-
onClick:
|
|
822
|
+
disabled: d.value,
|
|
823
|
+
onClick: z[3] || (z[3] = (x) => v(() => p.portal.disable()))
|
|
824
824
|
}, {
|
|
825
|
-
default:
|
|
826
|
-
|
|
825
|
+
default: n(() => [
|
|
826
|
+
g(l(e(a).disable), 1)
|
|
827
827
|
]),
|
|
828
828
|
_: 1
|
|
829
829
|
}, 8, ["disabled"])) : k("", !0)
|
|
@@ -833,42 +833,42 @@ const za = ["aria-busy", "aria-label"], Va = { class: "file-toolbar file-locatio
|
|
|
833
833
|
]),
|
|
834
834
|
_: 1
|
|
835
835
|
}),
|
|
836
|
-
|
|
836
|
+
h(e(A), {
|
|
837
837
|
variant: "secondary",
|
|
838
|
-
onClick:
|
|
838
|
+
onClick: z[5] || (z[5] = (x) => p.portal.openControlPanel())
|
|
839
839
|
}, {
|
|
840
|
-
default:
|
|
841
|
-
|
|
840
|
+
default: n(() => [
|
|
841
|
+
g(l(e(a).advanced), 1)
|
|
842
842
|
]),
|
|
843
843
|
_: 1
|
|
844
844
|
}),
|
|
845
|
-
|
|
845
|
+
m.value.entry ? (t(), $(e(A), {
|
|
846
846
|
key: 1,
|
|
847
847
|
variant: "secondary",
|
|
848
|
-
disabled:
|
|
849
|
-
onClick:
|
|
848
|
+
disabled: d.value,
|
|
849
|
+
onClick: z[6] || (z[6] = (x) => v(() => p.portal.unregister()))
|
|
850
850
|
}, {
|
|
851
|
-
default:
|
|
852
|
-
|
|
851
|
+
default: n(() => [
|
|
852
|
+
g(l(e(a).unregister), 1)
|
|
853
853
|
]),
|
|
854
854
|
_: 1
|
|
855
855
|
}, 8, ["disabled"])) : k("", !0)
|
|
856
|
-
], 64)) :
|
|
856
|
+
], 64)) : m.value.controlPanel ? (t(), $(e(A), {
|
|
857
857
|
key: 3,
|
|
858
858
|
variant: "secondary",
|
|
859
|
-
onClick:
|
|
859
|
+
onClick: z[7] || (z[7] = (x) => p.portal.openControlPanel())
|
|
860
860
|
}, {
|
|
861
|
-
default:
|
|
862
|
-
|
|
861
|
+
default: n(() => [
|
|
862
|
+
g(l(e(a).controlPanel), 1)
|
|
863
863
|
]),
|
|
864
864
|
_: 1
|
|
865
|
-
})) :
|
|
866
|
-
|
|
865
|
+
})) : m.value.state !== "active" ? (t(), S("p", Wa, l(e(a).askAdmin), 1)) : k("", !0),
|
|
866
|
+
s.value ? (t(), $(e(Q), {
|
|
867
867
|
key: 5,
|
|
868
868
|
tone: "danger"
|
|
869
869
|
}, {
|
|
870
|
-
default:
|
|
871
|
-
|
|
870
|
+
default: n(() => [
|
|
871
|
+
C("span", Za, l(s.value), 1)
|
|
872
872
|
]),
|
|
873
873
|
_: 1
|
|
874
874
|
})) : k("", !0)
|
|
@@ -879,163 +879,163 @@ const za = ["aria-busy", "aria-label"], Va = { class: "file-toolbar file-locatio
|
|
|
879
879
|
}), el = ["aria-busy"], al = {
|
|
880
880
|
key: 1,
|
|
881
881
|
role: "status"
|
|
882
|
-
}, ll = { role: "alert" }, tl = { role: "status" }, nl = /* @__PURE__ */
|
|
882
|
+
}, ll = { role: "alert" }, tl = { role: "status" }, nl = /* @__PURE__ */ le({
|
|
883
883
|
__name: "LoginPage",
|
|
884
884
|
props: {
|
|
885
885
|
session: {},
|
|
886
886
|
locale: {}
|
|
887
887
|
},
|
|
888
|
-
setup(
|
|
889
|
-
const
|
|
890
|
-
let
|
|
891
|
-
function
|
|
892
|
-
const
|
|
893
|
-
return a.value.errors[
|
|
888
|
+
setup(p) {
|
|
889
|
+
const I = p, a = F(() => Qe(I.locale)), m = y(""), i = y(""), d = y(""), s = y(!1), o = y(!1), r = y(""), P = y(), v = F(() => window.location.protocol === "https:");
|
|
890
|
+
let _ = !1;
|
|
891
|
+
function z(R) {
|
|
892
|
+
const L = R?.code;
|
|
893
|
+
return a.value.errors[L || ""] || a.value.errors.failed;
|
|
894
894
|
}
|
|
895
|
-
async function
|
|
896
|
-
if (!(
|
|
897
|
-
|
|
895
|
+
async function x() {
|
|
896
|
+
if (!(o.value || !v.value || !m.value || !i.value || s.value && !d.value)) {
|
|
897
|
+
o.value = !0, r.value = "";
|
|
898
898
|
try {
|
|
899
|
-
await
|
|
900
|
-
} catch (
|
|
901
|
-
if (
|
|
902
|
-
|
|
899
|
+
await I.session.login(m.value, i.value, d.value), i.value = "", d.value = "";
|
|
900
|
+
} catch (R) {
|
|
901
|
+
if (_) return;
|
|
902
|
+
d.value = "", R?.code === "otp_required" ? s.value = !0 : (r.value = z(R), i.value = "", s.value = !1);
|
|
903
903
|
} finally {
|
|
904
|
-
|
|
904
|
+
_ || (o.value = !1, s.value && (await na(), _ || P.value?.querySelector("input")?.focus()));
|
|
905
905
|
}
|
|
906
906
|
}
|
|
907
907
|
}
|
|
908
|
-
async function
|
|
909
|
-
if (!
|
|
910
|
-
|
|
908
|
+
async function b() {
|
|
909
|
+
if (!o.value) {
|
|
910
|
+
o.value = !0, r.value = "";
|
|
911
911
|
try {
|
|
912
|
-
await
|
|
913
|
-
} catch (
|
|
914
|
-
|
|
912
|
+
await I.session.bootstrap();
|
|
913
|
+
} catch (R) {
|
|
914
|
+
_ || (r.value = z(R));
|
|
915
915
|
} finally {
|
|
916
|
-
|
|
916
|
+
_ || (o.value = !1);
|
|
917
917
|
}
|
|
918
918
|
}
|
|
919
919
|
}
|
|
920
|
-
function
|
|
921
|
-
|
|
920
|
+
function D() {
|
|
921
|
+
i.value = "", d.value = "", s.value = !1, r.value = "";
|
|
922
922
|
}
|
|
923
923
|
return Le(() => {
|
|
924
|
-
|
|
925
|
-
}), (
|
|
924
|
+
_ = !0, i.value = "", d.value = "";
|
|
925
|
+
}), (R, L) => (t(), S("main", {
|
|
926
926
|
class: "identity-login",
|
|
927
|
-
"aria-busy":
|
|
927
|
+
"aria-busy": o.value
|
|
928
928
|
}, [
|
|
929
|
-
|
|
929
|
+
h(e(ce), {
|
|
930
930
|
title: a.value.title,
|
|
931
931
|
collapsible: !1
|
|
932
932
|
}, {
|
|
933
|
-
default:
|
|
934
|
-
|
|
935
|
-
|
|
933
|
+
default: n(() => [
|
|
934
|
+
C("p", null, l(a.value.intro), 1),
|
|
935
|
+
v.value ? k("", !0) : (t(), $(e(Q), {
|
|
936
936
|
key: 0,
|
|
937
937
|
tone: "warning",
|
|
938
938
|
title: a.value.httpsTitle
|
|
939
939
|
}, {
|
|
940
|
-
default:
|
|
941
|
-
|
|
940
|
+
default: n(() => [
|
|
941
|
+
g(l(a.value.errors.https_required), 1)
|
|
942
942
|
]),
|
|
943
943
|
_: 1
|
|
944
944
|
}, 8, ["title"])),
|
|
945
|
-
|
|
946
|
-
|
|
945
|
+
p.session.notice.value ? (t(), S("p", al, l(a.value.notices[p.session.notice.value]), 1)) : k("", !0),
|
|
946
|
+
r.value ? (t(), $(e(Q), {
|
|
947
947
|
key: 2,
|
|
948
948
|
tone: "danger",
|
|
949
949
|
title: a.value.failedTitle
|
|
950
950
|
}, {
|
|
951
|
-
default:
|
|
952
|
-
|
|
951
|
+
default: n(() => [
|
|
952
|
+
C("span", ll, l(r.value), 1)
|
|
953
953
|
]),
|
|
954
954
|
_: 1
|
|
955
955
|
}, 8, ["title"])) : k("", !0),
|
|
956
|
-
|
|
957
|
-
onSubmit:
|
|
956
|
+
h(e(be), {
|
|
957
|
+
onSubmit: me(x, ["prevent"])
|
|
958
958
|
}, {
|
|
959
|
-
default:
|
|
960
|
-
|
|
959
|
+
default: n(() => [
|
|
960
|
+
h(e(oe), {
|
|
961
961
|
label: a.value.account
|
|
962
962
|
}, {
|
|
963
|
-
default:
|
|
964
|
-
|
|
965
|
-
modelValue:
|
|
966
|
-
"onUpdate:modelValue":
|
|
963
|
+
default: n(() => [
|
|
964
|
+
h(e(pe), {
|
|
965
|
+
modelValue: m.value,
|
|
966
|
+
"onUpdate:modelValue": L[0] || (L[0] = (E) => m.value = E),
|
|
967
967
|
autocomplete: "username",
|
|
968
|
-
disabled:
|
|
968
|
+
disabled: o.value || s.value || !v.value
|
|
969
969
|
}, null, 8, ["modelValue", "disabled"])
|
|
970
970
|
]),
|
|
971
971
|
_: 1
|
|
972
972
|
}, 8, ["label"]),
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
973
|
+
s.value ? (t(), S(Z, { key: 1 }, [
|
|
974
|
+
C("p", tl, l(a.value.otpPrompt), 1),
|
|
975
|
+
C("div", {
|
|
976
976
|
ref_key: "otpField",
|
|
977
|
-
ref:
|
|
977
|
+
ref: P
|
|
978
978
|
}, [
|
|
979
|
-
|
|
979
|
+
h(e(oe), {
|
|
980
980
|
label: a.value.otp
|
|
981
981
|
}, {
|
|
982
|
-
default:
|
|
983
|
-
|
|
984
|
-
modelValue:
|
|
985
|
-
"onUpdate:modelValue":
|
|
982
|
+
default: n(() => [
|
|
983
|
+
h(e(pe), {
|
|
984
|
+
modelValue: d.value,
|
|
985
|
+
"onUpdate:modelValue": L[2] || (L[2] = (E) => d.value = E),
|
|
986
986
|
inputmode: "numeric",
|
|
987
987
|
autocomplete: "one-time-code",
|
|
988
|
-
disabled:
|
|
988
|
+
disabled: o.value
|
|
989
989
|
}, null, 8, ["modelValue", "disabled"])
|
|
990
990
|
]),
|
|
991
991
|
_: 1
|
|
992
992
|
}, 8, ["label"])
|
|
993
993
|
], 512)
|
|
994
|
-
], 64)) : (t(),
|
|
994
|
+
], 64)) : (t(), $(e(oe), {
|
|
995
995
|
key: 0,
|
|
996
996
|
label: a.value.password
|
|
997
997
|
}, {
|
|
998
|
-
default:
|
|
999
|
-
|
|
1000
|
-
modelValue:
|
|
1001
|
-
"onUpdate:modelValue":
|
|
998
|
+
default: n(() => [
|
|
999
|
+
h(e(pe), {
|
|
1000
|
+
modelValue: i.value,
|
|
1001
|
+
"onUpdate:modelValue": L[1] || (L[1] = (E) => i.value = E),
|
|
1002
1002
|
type: "password",
|
|
1003
1003
|
autocomplete: "current-password",
|
|
1004
|
-
disabled:
|
|
1004
|
+
disabled: o.value || !v.value
|
|
1005
1005
|
}, null, 8, ["modelValue", "disabled"])
|
|
1006
1006
|
]),
|
|
1007
1007
|
_: 1
|
|
1008
1008
|
}, 8, ["label"])),
|
|
1009
|
-
|
|
1010
|
-
default:
|
|
1011
|
-
|
|
1009
|
+
h(e(ke), null, {
|
|
1010
|
+
default: n(() => [
|
|
1011
|
+
h(e(A), {
|
|
1012
1012
|
type: "submit",
|
|
1013
1013
|
variant: "primary",
|
|
1014
|
-
disabled:
|
|
1014
|
+
disabled: o.value || !v.value || !m.value || !i.value || s.value && !d.value
|
|
1015
1015
|
}, {
|
|
1016
|
-
default:
|
|
1017
|
-
|
|
1016
|
+
default: n(() => [
|
|
1017
|
+
g(l(o.value ? a.value.signingIn : s.value ? a.value.verify : a.value.signIn), 1)
|
|
1018
1018
|
]),
|
|
1019
1019
|
_: 1
|
|
1020
1020
|
}, 8, ["disabled"]),
|
|
1021
|
-
|
|
1021
|
+
s.value ? (t(), $(e(A), {
|
|
1022
1022
|
key: 0,
|
|
1023
1023
|
variant: "secondary",
|
|
1024
|
-
disabled:
|
|
1025
|
-
onClick:
|
|
1024
|
+
disabled: o.value,
|
|
1025
|
+
onClick: D
|
|
1026
1026
|
}, {
|
|
1027
|
-
default:
|
|
1028
|
-
|
|
1027
|
+
default: n(() => [
|
|
1028
|
+
g(l(a.value.otherAccount), 1)
|
|
1029
1029
|
]),
|
|
1030
1030
|
_: 1
|
|
1031
|
-
}, 8, ["disabled"])) : (t(),
|
|
1031
|
+
}, 8, ["disabled"])) : (t(), $(e(A), {
|
|
1032
1032
|
key: 1,
|
|
1033
1033
|
variant: "secondary",
|
|
1034
|
-
disabled:
|
|
1035
|
-
onClick:
|
|
1034
|
+
disabled: o.value || !v.value,
|
|
1035
|
+
onClick: b
|
|
1036
1036
|
}, {
|
|
1037
|
-
default:
|
|
1038
|
-
|
|
1037
|
+
default: n(() => [
|
|
1038
|
+
g(l(a.value.continueDSM), 1)
|
|
1039
1039
|
]),
|
|
1040
1040
|
_: 1
|
|
1041
1041
|
}, 8, ["disabled"]))
|
|
@@ -1050,218 +1050,225 @@ const za = ["aria-busy", "aria-label"], Va = { class: "file-toolbar file-locatio
|
|
|
1050
1050
|
}, 8, ["title"])
|
|
1051
1051
|
], 8, el));
|
|
1052
1052
|
}
|
|
1053
|
-
}),
|
|
1053
|
+
}), Vt = /* @__PURE__ */ ne(nl, [["__scopeId", "data-v-f7afcf5e"]]), sl = { class: "integration-help" }, il = { role: "status" }, ol = { class: "integration-help" }, ul = { class: "integration-help" }, rl = { class: "integration-help" }, dl = { class: "integration-actions" }, vl = { class: "integration-actions" }, cl = {
|
|
1054
1054
|
key: 0,
|
|
1055
1055
|
role: "status",
|
|
1056
1056
|
"data-bg-picked": ""
|
|
1057
|
-
}, fl = { class: "integration-actions" }, pl = { key:
|
|
1058
|
-
key:
|
|
1057
|
+
}, fl = { class: "integration-actions" }, pl = { key: 2 }, yl = {
|
|
1058
|
+
key: 3,
|
|
1059
1059
|
class: "integration-jobs"
|
|
1060
1060
|
}, ml = ["data-job-state", "data-job-id"], bl = { class: "nas-folder-name" }, kl = {
|
|
1061
1061
|
key: 0,
|
|
1062
1062
|
class: "integration-help"
|
|
1063
1063
|
}, gl = {
|
|
1064
|
-
key:
|
|
1064
|
+
key: 1,
|
|
1065
1065
|
class: "integration-help"
|
|
1066
|
-
}, hl =
|
|
1066
|
+
}, hl = {
|
|
1067
|
+
key: 2,
|
|
1068
|
+
class: "integration-help"
|
|
1069
|
+
}, _l = {
|
|
1070
|
+
key: 3,
|
|
1071
|
+
class: "integration-help"
|
|
1072
|
+
}, wl = {
|
|
1073
|
+
key: 9,
|
|
1074
|
+
class: "integration-help"
|
|
1075
|
+
}, Cl = ["aria-label"], $l = { class: "integration-help" }, xl = { key: 1 }, Sl = {
|
|
1067
1076
|
key: 2,
|
|
1068
1077
|
class: "integration-jobs"
|
|
1069
|
-
},
|
|
1078
|
+
}, zl = ["data-schedule-id"], Pl = { class: "nas-folder-name" }, Vl = {
|
|
1070
1079
|
key: 0,
|
|
1071
1080
|
class: "integration-help"
|
|
1072
|
-
},
|
|
1081
|
+
}, Il = {
|
|
1073
1082
|
key: 1,
|
|
1074
1083
|
class: "integration-help"
|
|
1075
|
-
},
|
|
1084
|
+
}, Ul = { class: "integration-help" }, Al = { class: "integration-actions" }, Dl = { class: "integration-actions" }, Tl = { class: "integration-actions" }, El = /* @__PURE__ */ le({
|
|
1076
1085
|
__name: "BackgroundPanel",
|
|
1077
1086
|
props: {
|
|
1078
1087
|
ctx: {}
|
|
1079
1088
|
},
|
|
1080
|
-
setup(
|
|
1081
|
-
const
|
|
1082
|
-
let
|
|
1083
|
-
const
|
|
1084
|
-
async function
|
|
1089
|
+
setup(p) {
|
|
1090
|
+
const I = p, a = F(() => Ye(I.ctx.locale)), m = (u, f) => Pe(u, f, I.ctx.locale), i = y(), d = y([]), s = y(), o = y(!1), r = y(!1), P = y([]), v = y(), _ = y(!1), z = y("3600"), x = y(), b = y(), D = y(), R = y(!1), L = y(!1), E = y(), q = y(""), J = y(""), G = We(I.ctx);
|
|
1091
|
+
let K, O = !1;
|
|
1092
|
+
const H = (u) => !["queued", "running"].includes(u.state), W = (u) => H(u) && u.state !== "paused", j = (u) => u.state === "running" && u.pauseRequested, ee = (u) => j(u) ? a.value.pausing : a.value[`state_${u.state}`];
|
|
1093
|
+
async function N(u, f) {
|
|
1085
1094
|
try {
|
|
1086
|
-
return await
|
|
1087
|
-
} catch (
|
|
1088
|
-
if (
|
|
1089
|
-
|
|
1095
|
+
return await I.ctx.call(u, f);
|
|
1096
|
+
} catch (c) {
|
|
1097
|
+
if (O) return;
|
|
1098
|
+
c?.code === "unsupported" ? (o.value = !0, d.value = [], P.value = [], v.value = void 0, x.value = void 0, b.value = void 0, i.value = void 0, D.value = void 0, E.value = void 0, q.value && URL.revokeObjectURL(q.value), q.value = "") : O || (s.value = c);
|
|
1090
1099
|
return;
|
|
1091
1100
|
}
|
|
1092
1101
|
}
|
|
1093
|
-
async function
|
|
1094
|
-
if (!(
|
|
1095
|
-
|
|
1102
|
+
async function T() {
|
|
1103
|
+
if (!(O || R.value)) {
|
|
1104
|
+
R.value = !0;
|
|
1096
1105
|
try {
|
|
1097
|
-
const
|
|
1098
|
-
if (!
|
|
1099
|
-
if (!
|
|
1100
|
-
|
|
1106
|
+
const u = await N("bg.status");
|
|
1107
|
+
if (!u || O) return;
|
|
1108
|
+
if (!u.limits || typeof u.admin != "boolean") {
|
|
1109
|
+
s.value = { code: "unavailable" };
|
|
1101
1110
|
return;
|
|
1102
1111
|
}
|
|
1103
|
-
|
|
1104
|
-
const
|
|
1105
|
-
|
|
1106
|
-
const
|
|
1107
|
-
|
|
1112
|
+
o.value = !1, i.value = u;
|
|
1113
|
+
const f = await N("bg.jobs.list");
|
|
1114
|
+
f && !O && (d.value = f.jobs ?? []);
|
|
1115
|
+
const c = await N("bg.schedules.list");
|
|
1116
|
+
c && !O && (P.value = c.schedules ?? []), !O && d.value.every(H) && P.value.every((X) => !X.enabled) && K && (clearInterval(K), K = void 0);
|
|
1108
1117
|
} finally {
|
|
1109
|
-
|
|
1118
|
+
R.value = !1;
|
|
1110
1119
|
}
|
|
1111
1120
|
}
|
|
1112
1121
|
}
|
|
1113
|
-
function
|
|
1114
|
-
|
|
1115
|
-
|
|
1122
|
+
function B() {
|
|
1123
|
+
K || (K = setInterval(() => {
|
|
1124
|
+
T();
|
|
1116
1125
|
}, 3e3));
|
|
1117
1126
|
}
|
|
1118
|
-
async function
|
|
1119
|
-
if (!
|
|
1120
|
-
|
|
1127
|
+
async function w(u) {
|
|
1128
|
+
if (!r.value) {
|
|
1129
|
+
r.value = !0, s.value = void 0;
|
|
1121
1130
|
try {
|
|
1122
|
-
await
|
|
1131
|
+
await u(), await T(), (P.value.some((f) => f.enabled) || d.value.some((f) => !H(f))) && B();
|
|
1123
1132
|
} finally {
|
|
1124
|
-
|
|
1133
|
+
O || (r.value = !1);
|
|
1125
1134
|
}
|
|
1126
1135
|
}
|
|
1127
1136
|
}
|
|
1128
|
-
const
|
|
1129
|
-
if (!
|
|
1130
|
-
await
|
|
1131
|
-
}),
|
|
1132
|
-
|
|
1133
|
-
},
|
|
1134
|
-
if (!
|
|
1135
|
-
await
|
|
1136
|
-
}),
|
|
1137
|
-
if (!
|
|
1138
|
-
await
|
|
1139
|
-
}),
|
|
1140
|
-
if (!
|
|
1141
|
-
await
|
|
1142
|
-
}),
|
|
1143
|
-
const
|
|
1144
|
-
return Number.isFinite(
|
|
1145
|
-
},
|
|
1146
|
-
const
|
|
1147
|
-
|
|
1148
|
-
},
|
|
1149
|
-
if (!
|
|
1150
|
-
await
|
|
1137
|
+
const U = () => w(async () => {
|
|
1138
|
+
if (!D.value) return;
|
|
1139
|
+
await N("bg.jobs.purge", { owner: D.value }) && (D.value = void 0);
|
|
1140
|
+
}), M = F(() => [{ value: "3600", label: a.value.hourly }, { value: "86400", label: a.value.daily }, { value: "604800", label: a.value.weekly }]), Y = (u) => {
|
|
1141
|
+
v.value = u, _.value = !1, z.value = "3600";
|
|
1142
|
+
}, ae = () => w(async () => {
|
|
1143
|
+
if (!v.value || !_.value) return;
|
|
1144
|
+
await N("bg.schedules.create", { key: De(), jobId: v.value.id, intervalSeconds: Number(z.value), consent: !0 }) && (v.value = void 0);
|
|
1145
|
+
}), se = (u) => w(() => N("bg.schedules.disable", { id: u })), ge = () => w(async () => {
|
|
1146
|
+
if (!x.value) return;
|
|
1147
|
+
await N("bg.schedules.delete", { id: x.value.id }) && (x.value = void 0);
|
|
1148
|
+
}), we = () => w(async () => {
|
|
1149
|
+
if (!b.value) return;
|
|
1150
|
+
await N("bg.schedules.enable", { id: b.value.id, consent: !0 }) && (b.value = void 0);
|
|
1151
|
+
}), Ce = (u) => {
|
|
1152
|
+
const f = new Date(u);
|
|
1153
|
+
return Number.isFinite(f.getTime()) ? f.toLocaleString() : a.value.unknownTime;
|
|
1154
|
+
}, fe = (u) => u.copyRetained && u.state === "succeeded" && !u.scheduleId && u.submitter?.user === i.value?.owner?.user && u.submitter?.uid === i.value?.owner?.uid, ie = (u) => w(() => N("bg.jobs.cancel", { id: u })), ye = (u) => w(() => N("bg.jobs.pause", { id: u })), he = (u) => w(() => N("bg.jobs.resume", { id: u })), $e = (u) => {
|
|
1155
|
+
const f = u.lastIndexOf("/");
|
|
1156
|
+
E.value = { folder: u.slice(0, f), relative: u.slice(f + 1) };
|
|
1157
|
+
}, xe = () => w(async () => {
|
|
1158
|
+
if (!E.value) return;
|
|
1159
|
+
await N("bg.jobs.submit", { key: De(), ...E.value }) && (E.value = void 0);
|
|
1151
1160
|
});
|
|
1152
|
-
async function
|
|
1153
|
-
const
|
|
1154
|
-
!
|
|
1161
|
+
async function V(u) {
|
|
1162
|
+
const f = await N("bg.jobs.result", { id: u.id });
|
|
1163
|
+
!f || O || (q.value && URL.revokeObjectURL(q.value), q.value = URL.createObjectURL(new Blob([JSON.stringify(f.result, null, 2)], { type: "application/json" })), J.value = `${u.name || u.id}.sha256.json`);
|
|
1155
1164
|
}
|
|
1156
|
-
return
|
|
1157
|
-
|
|
1158
|
-
(
|
|
1165
|
+
return ve(() => {
|
|
1166
|
+
T().then(() => {
|
|
1167
|
+
(P.value.some((u) => u.enabled) || d.value.some((u) => !H(u))) && B();
|
|
1159
1168
|
});
|
|
1160
|
-
}),
|
|
1161
|
-
|
|
1162
|
-
}), (
|
|
1163
|
-
"aria-busy":
|
|
1169
|
+
}), ue(() => {
|
|
1170
|
+
O = !0, G.dispose(), K && clearInterval(K), q.value && URL.revokeObjectURL(q.value);
|
|
1171
|
+
}), (u, f) => (t(), $(e(ce), {
|
|
1172
|
+
"aria-busy": r.value || R.value,
|
|
1164
1173
|
title: a.value.title,
|
|
1165
1174
|
collapsible: !1,
|
|
1166
1175
|
"data-background-panel": ""
|
|
1167
1176
|
}, {
|
|
1168
|
-
default:
|
|
1169
|
-
|
|
1177
|
+
default: n(() => [
|
|
1178
|
+
o.value ? (t(), $(e(Q), {
|
|
1170
1179
|
key: 0,
|
|
1171
1180
|
tone: "warning"
|
|
1172
1181
|
}, {
|
|
1173
|
-
default:
|
|
1174
|
-
|
|
1182
|
+
default: n(() => [
|
|
1183
|
+
g(l(a.value.unsupported), 1)
|
|
1175
1184
|
]),
|
|
1176
1185
|
_: 1
|
|
1177
|
-
})) : (t(),
|
|
1178
|
-
|
|
1179
|
-
|
|
1186
|
+
})) : (t(), S(Z, { key: 1 }, [
|
|
1187
|
+
C("p", sl, l(a.value.help), 1),
|
|
1188
|
+
s.value ? (t(), $(e(Q), {
|
|
1180
1189
|
key: 0,
|
|
1181
1190
|
tone: "danger",
|
|
1182
1191
|
role: "alert"
|
|
1183
1192
|
}, {
|
|
1184
|
-
default:
|
|
1185
|
-
|
|
1193
|
+
default: n(() => [
|
|
1194
|
+
g(l(e(Ze)(s.value, a.value)), 1)
|
|
1186
1195
|
]),
|
|
1187
1196
|
_: 1
|
|
1188
1197
|
})) : k("", !0),
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1198
|
+
i.value ? (t(), S(Z, { key: 1 }, [
|
|
1199
|
+
C("p", il, l(i.value.worker?.alive ? m(a.value.workerRunning, { user: i.value.worker.username }) : a.value.workerStopped), 1),
|
|
1200
|
+
C("p", ol, l(m(a.value.limits, { size: i.value.limits.maxInputBytes / 1024, queue: i.value.limits.maxQueued, seconds: i.value.limits.jobTimeoutSeconds })), 1),
|
|
1201
|
+
C("p", ul, l(i.value.admin ? a.value.adminScope : a.value.ownerScope), 1),
|
|
1202
|
+
C("p", rl, l(m(a.value.ownerLimits, { jobs: i.value.limits.maxOwnerPending, size: i.value.limits.maxOwnerBytes / 1024 })), 1),
|
|
1203
|
+
C("div", dl, [
|
|
1204
|
+
h(e(A), {
|
|
1196
1205
|
variant: "secondary",
|
|
1197
|
-
disabled:
|
|
1198
|
-
onClick:
|
|
1206
|
+
disabled: r.value,
|
|
1207
|
+
onClick: T
|
|
1199
1208
|
}, {
|
|
1200
|
-
default:
|
|
1201
|
-
|
|
1209
|
+
default: n(() => [
|
|
1210
|
+
g(l(a.value.refresh), 1)
|
|
1202
1211
|
]),
|
|
1203
1212
|
_: 1
|
|
1204
1213
|
}, 8, ["disabled"])
|
|
1205
1214
|
]),
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
}, 8, ["disabled"])
|
|
1228
|
-
]),
|
|
1229
|
-
R.value ? (t(), $("p", cl, l(p(a.value.chosen, { path: `${R.value.folder}/${R.value.relative}` })), 1)) : k("", !0),
|
|
1230
|
-
m(Ce, {
|
|
1231
|
-
open: M.value,
|
|
1232
|
-
"onUpdate:open": F[1] || (F[1] = (I) => M.value = I),
|
|
1233
|
-
locale: c.ctx.locale,
|
|
1234
|
-
provider: e(X),
|
|
1235
|
-
mode: "file",
|
|
1236
|
-
title: a.value.pickerTitle,
|
|
1237
|
-
description: a.value.pickerConsent,
|
|
1238
|
-
onSelected: xe
|
|
1239
|
-
}, null, 8, ["open", "locale", "provider", "title", "description"])
|
|
1215
|
+
C("div", vl, [
|
|
1216
|
+
h(e(A), {
|
|
1217
|
+
variant: "secondary",
|
|
1218
|
+
disabled: r.value,
|
|
1219
|
+
onClick: f[0] || (f[0] = (c) => L.value = !0)
|
|
1220
|
+
}, {
|
|
1221
|
+
default: n(() => [
|
|
1222
|
+
g(l(a.value.chooseFile), 1)
|
|
1223
|
+
]),
|
|
1224
|
+
_: 1
|
|
1225
|
+
}, 8, ["disabled"]),
|
|
1226
|
+
h(e(A), {
|
|
1227
|
+
variant: "primary",
|
|
1228
|
+
disabled: r.value || !E.value,
|
|
1229
|
+
onClick: xe
|
|
1230
|
+
}, {
|
|
1231
|
+
default: n(() => [
|
|
1232
|
+
g(l(a.value.submit), 1)
|
|
1233
|
+
]),
|
|
1234
|
+
_: 1
|
|
1235
|
+
}, 8, ["disabled"])
|
|
1240
1236
|
]),
|
|
1241
|
-
|
|
1242
|
-
|
|
1237
|
+
E.value ? (t(), S("p", cl, l(m(a.value.chosen, { path: `${E.value.folder}/${E.value.relative}` })), 1)) : k("", !0),
|
|
1238
|
+
h(_e, {
|
|
1239
|
+
open: L.value,
|
|
1240
|
+
"onUpdate:open": f[1] || (f[1] = (c) => L.value = c),
|
|
1241
|
+
locale: p.ctx.locale,
|
|
1242
|
+
provider: e(G),
|
|
1243
|
+
mode: "file",
|
|
1244
|
+
title: a.value.pickerTitle,
|
|
1245
|
+
description: a.value.pickerConsent,
|
|
1246
|
+
onSelected: $e
|
|
1247
|
+
}, null, 8, ["open", "locale", "provider", "title", "description"]),
|
|
1248
|
+
D.value && i.value.admin ? (t(), $(e(Q), {
|
|
1249
|
+
key: 1,
|
|
1243
1250
|
tone: "warning"
|
|
1244
1251
|
}, {
|
|
1245
|
-
default:
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1252
|
+
default: n(() => [
|
|
1253
|
+
C("p", null, l(m(a.value.purgeConfirm, { user: D.value.user, uid: D.value.uid })), 1),
|
|
1254
|
+
C("div", fl, [
|
|
1255
|
+
h(e(A), {
|
|
1249
1256
|
variant: "secondary",
|
|
1250
|
-
disabled:
|
|
1251
|
-
onClick:
|
|
1257
|
+
disabled: r.value,
|
|
1258
|
+
onClick: U
|
|
1252
1259
|
}, {
|
|
1253
|
-
default:
|
|
1254
|
-
|
|
1260
|
+
default: n(() => [
|
|
1261
|
+
g(l(a.value.confirmPurge), 1)
|
|
1255
1262
|
]),
|
|
1256
1263
|
_: 1
|
|
1257
1264
|
}, 8, ["disabled"]),
|
|
1258
|
-
|
|
1265
|
+
h(e(A), {
|
|
1259
1266
|
variant: "secondary",
|
|
1260
|
-
disabled:
|
|
1261
|
-
onClick:
|
|
1267
|
+
disabled: r.value,
|
|
1268
|
+
onClick: f[2] || (f[2] = (c) => D.value = void 0)
|
|
1262
1269
|
}, {
|
|
1263
|
-
default:
|
|
1264
|
-
|
|
1270
|
+
default: n(() => [
|
|
1271
|
+
g(l(a.value.keepJobs), 1)
|
|
1265
1272
|
]),
|
|
1266
1273
|
_: 1
|
|
1267
1274
|
}, 8, ["disabled"])
|
|
@@ -1269,116 +1276,141 @@ const za = ["aria-busy", "aria-label"], Va = { class: "file-toolbar file-locatio
|
|
|
1269
1276
|
]),
|
|
1270
1277
|
_: 1
|
|
1271
1278
|
})) : k("", !0),
|
|
1272
|
-
|
|
1273
|
-
(t(!0),
|
|
1274
|
-
key:
|
|
1275
|
-
"data-job-state":
|
|
1276
|
-
"data-job-id":
|
|
1279
|
+
d.value.length ? (t(), S("ul", yl, [
|
|
1280
|
+
(t(!0), S(Z, null, de(d.value, (c) => (t(), S("li", {
|
|
1281
|
+
key: c.id,
|
|
1282
|
+
"data-job-state": c.state,
|
|
1283
|
+
"data-job-id": c.id
|
|
1277
1284
|
}, [
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1285
|
+
C("span", bl, l(c.name) + " — " + l(ee(c)), 1),
|
|
1286
|
+
c.progress?.total ? (t(), S("span", kl, l(m(a.value.progressItems, { done: c.progress.done, count: c.progress.total })), 1)) : k("", !0),
|
|
1287
|
+
c.progress?.totalBytes ? (t(), S("span", gl, l(m(a.value.progressBytes, { done: e(Ue)(c.progress.bytes, p.ctx.locale), total: e(Ue)(c.progress.totalBytes, p.ctx.locale) })), 1)) : k("", !0),
|
|
1288
|
+
c.progress?.item ? (t(), S("span", hl, l(m(a.value.progressItem, { item: c.progress.item })), 1)) : k("", !0),
|
|
1289
|
+
i.value.admin && c.submitter ? (t(), S("span", _l, l(m(a.value.owner, { user: c.submitter.user, uid: c.submitter.uid })), 1)) : k("", !0),
|
|
1290
|
+
i.value.admin && c.submitter ? (t(), $(e(A), {
|
|
1291
|
+
key: 4,
|
|
1292
|
+
variant: "secondary",
|
|
1293
|
+
disabled: r.value,
|
|
1294
|
+
onClick: (X) => D.value = c.submitter
|
|
1295
|
+
}, {
|
|
1296
|
+
default: n(() => [
|
|
1297
|
+
g(l(a.value.purgeOwner), 1)
|
|
1298
|
+
]),
|
|
1299
|
+
_: 1
|
|
1300
|
+
}, 8, ["disabled", "onClick"])) : k("", !0),
|
|
1301
|
+
!H(c) && !c.pauseRequested && !c.delegation_id ? (t(), $(e(A), {
|
|
1302
|
+
key: 5,
|
|
1282
1303
|
variant: "secondary",
|
|
1283
|
-
disabled:
|
|
1284
|
-
onClick: (
|
|
1304
|
+
disabled: r.value,
|
|
1305
|
+
onClick: (X) => ye(c.id)
|
|
1285
1306
|
}, {
|
|
1286
|
-
default:
|
|
1287
|
-
|
|
1307
|
+
default: n(() => [
|
|
1308
|
+
g(l(a.value.pause), 1)
|
|
1288
1309
|
]),
|
|
1289
1310
|
_: 1
|
|
1290
1311
|
}, 8, ["disabled", "onClick"])) : k("", !0),
|
|
1291
|
-
|
|
1292
|
-
key:
|
|
1312
|
+
c.state === "paused" || j(c) ? (t(), $(e(A), {
|
|
1313
|
+
key: 6,
|
|
1293
1314
|
variant: "secondary",
|
|
1294
|
-
disabled:
|
|
1295
|
-
onClick: (
|
|
1315
|
+
disabled: r.value,
|
|
1316
|
+
onClick: (X) => he(c.id)
|
|
1296
1317
|
}, {
|
|
1297
|
-
default:
|
|
1298
|
-
|
|
1318
|
+
default: n(() => [
|
|
1319
|
+
g(l(a.value.resume), 1)
|
|
1320
|
+
]),
|
|
1321
|
+
_: 1
|
|
1322
|
+
}, 8, ["disabled", "onClick"])) : k("", !0),
|
|
1323
|
+
W(c) ? k("", !0) : (t(), $(e(A), {
|
|
1324
|
+
key: 7,
|
|
1325
|
+
variant: "secondary",
|
|
1326
|
+
disabled: r.value,
|
|
1327
|
+
onClick: (X) => ie(c.id)
|
|
1328
|
+
}, {
|
|
1329
|
+
default: n(() => [
|
|
1330
|
+
g(l(a.value.cancel), 1)
|
|
1299
1331
|
]),
|
|
1300
1332
|
_: 1
|
|
1301
1333
|
}, 8, ["disabled", "onClick"])),
|
|
1302
|
-
|
|
1303
|
-
key:
|
|
1334
|
+
fe(c) ? (t(), $(e(A), {
|
|
1335
|
+
key: 8,
|
|
1304
1336
|
variant: "secondary",
|
|
1305
|
-
disabled:
|
|
1306
|
-
onClick: (
|
|
1337
|
+
disabled: r.value,
|
|
1338
|
+
onClick: (X) => Y(c)
|
|
1307
1339
|
}, {
|
|
1308
|
-
default:
|
|
1309
|
-
|
|
1340
|
+
default: n(() => [
|
|
1341
|
+
g(l(a.value.scheduleCopy), 1)
|
|
1310
1342
|
]),
|
|
1311
1343
|
_: 1
|
|
1312
1344
|
}, 8, ["disabled", "onClick"])) : k("", !0),
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
key:
|
|
1345
|
+
c.scheduleId ? (t(), S("span", wl, l(a.value.scheduledJob), 1)) : k("", !0),
|
|
1346
|
+
c.state === "succeeded" ? (t(), $(e(A), {
|
|
1347
|
+
key: 10,
|
|
1316
1348
|
variant: "secondary",
|
|
1317
|
-
disabled:
|
|
1318
|
-
onClick: (
|
|
1349
|
+
disabled: r.value,
|
|
1350
|
+
onClick: (X) => V(c)
|
|
1319
1351
|
}, {
|
|
1320
|
-
default:
|
|
1321
|
-
|
|
1352
|
+
default: n(() => [
|
|
1353
|
+
g(l(a.value.result), 1)
|
|
1322
1354
|
]),
|
|
1323
1355
|
_: 1
|
|
1324
1356
|
}, 8, ["disabled", "onClick"])) : k("", !0)
|
|
1325
1357
|
], 8, ml))), 128))
|
|
1326
|
-
])) : (t(),
|
|
1327
|
-
|
|
1358
|
+
])) : (t(), S("p", pl, l(a.value.noJobs), 1)),
|
|
1359
|
+
C("section", {
|
|
1328
1360
|
"data-bg-schedules": "",
|
|
1329
1361
|
class: "bg-schedules",
|
|
1330
1362
|
"aria-label": a.value.schedulesTitle
|
|
1331
1363
|
}, [
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1364
|
+
C("h3", null, l(a.value.schedulesTitle), 1),
|
|
1365
|
+
C("p", $l, l(a.value.scheduleHelp), 1),
|
|
1366
|
+
v.value ? (t(), $(e(be), {
|
|
1335
1367
|
key: 0,
|
|
1336
1368
|
class: "bg-schedule-form",
|
|
1337
|
-
onSubmit:
|
|
1369
|
+
onSubmit: me(ae, ["prevent"])
|
|
1338
1370
|
}, {
|
|
1339
|
-
default:
|
|
1340
|
-
|
|
1341
|
-
|
|
1371
|
+
default: n(() => [
|
|
1372
|
+
C("p", null, l(m(a.value.scheduleSource, { name: v.value.name })), 1),
|
|
1373
|
+
h(e(oe), {
|
|
1342
1374
|
label: a.value.interval
|
|
1343
1375
|
}, {
|
|
1344
|
-
default:
|
|
1345
|
-
|
|
1346
|
-
modelValue:
|
|
1347
|
-
"onUpdate:modelValue":
|
|
1376
|
+
default: n(() => [
|
|
1377
|
+
h(e(Me), {
|
|
1378
|
+
modelValue: z.value,
|
|
1379
|
+
"onUpdate:modelValue": f[3] || (f[3] = (c) => z.value = c),
|
|
1348
1380
|
"data-schedule-interval": "",
|
|
1349
|
-
options:
|
|
1350
|
-
disabled:
|
|
1381
|
+
options: M.value,
|
|
1382
|
+
disabled: r.value
|
|
1351
1383
|
}, null, 8, ["modelValue", "options", "disabled"])
|
|
1352
1384
|
]),
|
|
1353
1385
|
_: 1
|
|
1354
1386
|
}, 8, ["label"]),
|
|
1355
|
-
|
|
1356
|
-
modelValue:
|
|
1357
|
-
"onUpdate:modelValue":
|
|
1387
|
+
h(e(pa), {
|
|
1388
|
+
modelValue: _.value,
|
|
1389
|
+
"onUpdate:modelValue": f[4] || (f[4] = (c) => _.value = c),
|
|
1358
1390
|
"data-schedule-consent": "",
|
|
1359
|
-
disabled:
|
|
1391
|
+
disabled: r.value,
|
|
1360
1392
|
label: a.value.scheduleConsent
|
|
1361
1393
|
}, null, 8, ["modelValue", "disabled", "label"]),
|
|
1362
|
-
|
|
1363
|
-
default:
|
|
1364
|
-
|
|
1394
|
+
h(e(ke), null, {
|
|
1395
|
+
default: n(() => [
|
|
1396
|
+
h(e(A), {
|
|
1365
1397
|
type: "submit",
|
|
1366
1398
|
variant: "primary",
|
|
1367
|
-
disabled:
|
|
1399
|
+
disabled: r.value || !_.value
|
|
1368
1400
|
}, {
|
|
1369
|
-
default:
|
|
1370
|
-
|
|
1401
|
+
default: n(() => [
|
|
1402
|
+
g(l(a.value.createSchedule), 1)
|
|
1371
1403
|
]),
|
|
1372
1404
|
_: 1
|
|
1373
1405
|
}, 8, ["disabled"]),
|
|
1374
|
-
|
|
1406
|
+
h(e(A), {
|
|
1375
1407
|
type: "button",
|
|
1376
1408
|
variant: "secondary",
|
|
1377
|
-
disabled:
|
|
1378
|
-
onClick:
|
|
1409
|
+
disabled: r.value,
|
|
1410
|
+
onClick: f[5] || (f[5] = (c) => v.value = void 0)
|
|
1379
1411
|
}, {
|
|
1380
|
-
default:
|
|
1381
|
-
|
|
1412
|
+
default: n(() => [
|
|
1413
|
+
g(l(a.value.cancel), 1)
|
|
1382
1414
|
]),
|
|
1383
1415
|
_: 1
|
|
1384
1416
|
}, 8, ["disabled"])
|
|
@@ -1388,91 +1420,91 @@ const za = ["aria-busy", "aria-label"], Va = { class: "file-toolbar file-locatio
|
|
|
1388
1420
|
]),
|
|
1389
1421
|
_: 1
|
|
1390
1422
|
})) : k("", !0),
|
|
1391
|
-
|
|
1392
|
-
(t(!0),
|
|
1393
|
-
key:
|
|
1394
|
-
"data-schedule-id":
|
|
1423
|
+
P.value.length ? (t(), S("ul", Sl, [
|
|
1424
|
+
(t(!0), S(Z, null, de(P.value, (c) => (t(), S("li", {
|
|
1425
|
+
key: c.id,
|
|
1426
|
+
"data-schedule-id": c.id
|
|
1395
1427
|
}, [
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1428
|
+
C("span", Pl, l(c.name) + " — " + l(c.enabled ? a.value.scheduleOn : a.value.scheduleOff), 1),
|
|
1429
|
+
i.value.admin ? (t(), S("span", Vl, l(m(a.value.owner, { user: c.owner.user, uid: c.owner.uid })), 1)) : k("", !0),
|
|
1430
|
+
c.enabled ? (t(), S("span", Il, l(m(a.value.nextRun, { time: Ce(c.nextAt) })), 1)) : k("", !0),
|
|
1431
|
+
C("span", Ul, l(m(a.value.missedRuns, { count: c.missed })), 1),
|
|
1432
|
+
c.reason === "worker-changed" ? (t(), $(e(Q), {
|
|
1401
1433
|
key: 2,
|
|
1402
1434
|
tone: "warning"
|
|
1403
1435
|
}, {
|
|
1404
|
-
default:
|
|
1405
|
-
|
|
1436
|
+
default: n(() => [
|
|
1437
|
+
g(l(a.value.revisionChanged), 1)
|
|
1406
1438
|
]),
|
|
1407
1439
|
_: 1
|
|
1408
|
-
})) :
|
|
1440
|
+
})) : c.reason === "input-unavailable" ? (t(), $(e(Q), {
|
|
1409
1441
|
key: 3,
|
|
1410
1442
|
tone: "warning"
|
|
1411
1443
|
}, {
|
|
1412
|
-
default:
|
|
1413
|
-
|
|
1444
|
+
default: n(() => [
|
|
1445
|
+
g(l(a.value.errors["input-unavailable"]), 1)
|
|
1414
1446
|
]),
|
|
1415
1447
|
_: 1
|
|
1416
1448
|
})) : k("", !0),
|
|
1417
|
-
|
|
1418
|
-
|
|
1449
|
+
C("div", Al, [
|
|
1450
|
+
c.enabled ? (t(), $(e(A), {
|
|
1419
1451
|
key: 0,
|
|
1420
1452
|
variant: "secondary",
|
|
1421
|
-
disabled:
|
|
1422
|
-
onClick: (
|
|
1453
|
+
disabled: r.value,
|
|
1454
|
+
onClick: (X) => se(c.id)
|
|
1423
1455
|
}, {
|
|
1424
|
-
default:
|
|
1425
|
-
|
|
1456
|
+
default: n(() => [
|
|
1457
|
+
g(l(a.value.disableSchedule), 1)
|
|
1426
1458
|
]),
|
|
1427
1459
|
_: 1
|
|
1428
|
-
}, 8, ["disabled", "onClick"])) :
|
|
1460
|
+
}, 8, ["disabled", "onClick"])) : i.value.admin ? (t(), $(e(A), {
|
|
1429
1461
|
key: 1,
|
|
1430
1462
|
variant: "secondary",
|
|
1431
|
-
disabled:
|
|
1432
|
-
onClick: (
|
|
1463
|
+
disabled: r.value,
|
|
1464
|
+
onClick: (X) => b.value = c
|
|
1433
1465
|
}, {
|
|
1434
|
-
default:
|
|
1435
|
-
|
|
1466
|
+
default: n(() => [
|
|
1467
|
+
g(l(a.value.enableSchedule), 1)
|
|
1436
1468
|
]),
|
|
1437
1469
|
_: 1
|
|
1438
1470
|
}, 8, ["disabled", "onClick"])) : k("", !0),
|
|
1439
|
-
|
|
1471
|
+
h(e(A), {
|
|
1440
1472
|
variant: "secondary",
|
|
1441
|
-
disabled:
|
|
1442
|
-
onClick: (
|
|
1473
|
+
disabled: r.value,
|
|
1474
|
+
onClick: (X) => x.value = c
|
|
1443
1475
|
}, {
|
|
1444
|
-
default:
|
|
1445
|
-
|
|
1476
|
+
default: n(() => [
|
|
1477
|
+
g(l(a.value.deleteSchedule), 1)
|
|
1446
1478
|
]),
|
|
1447
1479
|
_: 1
|
|
1448
1480
|
}, 8, ["disabled", "onClick"])
|
|
1449
1481
|
])
|
|
1450
|
-
], 8,
|
|
1451
|
-
])) : (t(),
|
|
1452
|
-
|
|
1482
|
+
], 8, zl))), 128))
|
|
1483
|
+
])) : (t(), S("p", xl, l(a.value.noSchedules), 1)),
|
|
1484
|
+
x.value ? (t(), $(e(Q), {
|
|
1453
1485
|
key: 3,
|
|
1454
1486
|
tone: "warning"
|
|
1455
1487
|
}, {
|
|
1456
|
-
default:
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1488
|
+
default: n(() => [
|
|
1489
|
+
C("p", null, l(m(a.value.deleteScheduleConsent, { name: x.value.name })), 1),
|
|
1490
|
+
C("div", Dl, [
|
|
1491
|
+
h(e(A), {
|
|
1460
1492
|
variant: "danger",
|
|
1461
|
-
disabled:
|
|
1462
|
-
onClick:
|
|
1493
|
+
disabled: r.value,
|
|
1494
|
+
onClick: ge
|
|
1463
1495
|
}, {
|
|
1464
|
-
default:
|
|
1465
|
-
|
|
1496
|
+
default: n(() => [
|
|
1497
|
+
g(l(a.value.confirmDeleteSchedule), 1)
|
|
1466
1498
|
]),
|
|
1467
1499
|
_: 1
|
|
1468
1500
|
}, 8, ["disabled"]),
|
|
1469
|
-
|
|
1501
|
+
h(e(A), {
|
|
1470
1502
|
variant: "secondary",
|
|
1471
|
-
disabled:
|
|
1472
|
-
onClick:
|
|
1503
|
+
disabled: r.value,
|
|
1504
|
+
onClick: f[6] || (f[6] = (c) => x.value = void 0)
|
|
1473
1505
|
}, {
|
|
1474
|
-
default:
|
|
1475
|
-
|
|
1506
|
+
default: n(() => [
|
|
1507
|
+
g(l(a.value.cancel), 1)
|
|
1476
1508
|
]),
|
|
1477
1509
|
_: 1
|
|
1478
1510
|
}, 8, ["disabled"])
|
|
@@ -1480,30 +1512,30 @@ const za = ["aria-busy", "aria-label"], Va = { class: "file-toolbar file-locatio
|
|
|
1480
1512
|
]),
|
|
1481
1513
|
_: 1
|
|
1482
1514
|
})) : k("", !0),
|
|
1483
|
-
|
|
1515
|
+
b.value ? (t(), $(e(Q), {
|
|
1484
1516
|
key: 4,
|
|
1485
1517
|
tone: "warning"
|
|
1486
1518
|
}, {
|
|
1487
|
-
default:
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1519
|
+
default: n(() => [
|
|
1520
|
+
C("p", null, l(m(a.value.enableScheduleConsent, { name: b.value.name })), 1),
|
|
1521
|
+
C("div", Tl, [
|
|
1522
|
+
h(e(A), {
|
|
1491
1523
|
variant: "primary",
|
|
1492
|
-
disabled:
|
|
1493
|
-
onClick:
|
|
1524
|
+
disabled: r.value,
|
|
1525
|
+
onClick: we
|
|
1494
1526
|
}, {
|
|
1495
|
-
default:
|
|
1496
|
-
|
|
1527
|
+
default: n(() => [
|
|
1528
|
+
g(l(a.value.confirmEnableSchedule), 1)
|
|
1497
1529
|
]),
|
|
1498
1530
|
_: 1
|
|
1499
1531
|
}, 8, ["disabled"]),
|
|
1500
|
-
|
|
1532
|
+
h(e(A), {
|
|
1501
1533
|
variant: "secondary",
|
|
1502
|
-
disabled:
|
|
1503
|
-
onClick:
|
|
1534
|
+
disabled: r.value,
|
|
1535
|
+
onClick: f[7] || (f[7] = (c) => b.value = void 0)
|
|
1504
1536
|
}, {
|
|
1505
|
-
default:
|
|
1506
|
-
|
|
1537
|
+
default: n(() => [
|
|
1538
|
+
g(l(a.value.cancel), 1)
|
|
1507
1539
|
]),
|
|
1508
1540
|
_: 1
|
|
1509
1541
|
}, 8, ["disabled"])
|
|
@@ -1511,14 +1543,14 @@ const za = ["aria-busy", "aria-label"], Va = { class: "file-toolbar file-locatio
|
|
|
1511
1543
|
]),
|
|
1512
1544
|
_: 1
|
|
1513
1545
|
})) : k("", !0)
|
|
1514
|
-
], 8,
|
|
1515
|
-
|
|
1516
|
-
key:
|
|
1517
|
-
href:
|
|
1518
|
-
download:
|
|
1546
|
+
], 8, Cl),
|
|
1547
|
+
q.value ? (t(), $(e(Ne), {
|
|
1548
|
+
key: 4,
|
|
1549
|
+
href: q.value,
|
|
1550
|
+
download: J.value
|
|
1519
1551
|
}, {
|
|
1520
|
-
default:
|
|
1521
|
-
|
|
1552
|
+
default: n(() => [
|
|
1553
|
+
g(l(a.value.download), 1)
|
|
1522
1554
|
]),
|
|
1523
1555
|
_: 1
|
|
1524
1556
|
}, 8, ["href", "download"])) : k("", !0)
|
|
@@ -1528,7 +1560,7 @@ const za = ["aria-busy", "aria-label"], Va = { class: "file-toolbar file-locatio
|
|
|
1528
1560
|
_: 1
|
|
1529
1561
|
}, 8, ["aria-busy", "title"]));
|
|
1530
1562
|
}
|
|
1531
|
-
}),
|
|
1563
|
+
}), It = /* @__PURE__ */ ne(El, [["__scopeId", "data-v-d845d0a7"]]), Rl = { role: "status" }, ql = { key: 1 }, Bl = { key: 2 }, Ut = /* @__PURE__ */ le({
|
|
1532
1564
|
__name: "ExecutorSettings",
|
|
1533
1565
|
props: {
|
|
1534
1566
|
admin: { type: Boolean },
|
|
@@ -1536,137 +1568,137 @@ const za = ["aria-busy", "aria-label"], Va = { class: "file-toolbar file-locatio
|
|
|
1536
1568
|
ctx: {}
|
|
1537
1569
|
},
|
|
1538
1570
|
emits: ["confirmed"],
|
|
1539
|
-
setup(
|
|
1540
|
-
const a =
|
|
1541
|
-
let
|
|
1542
|
-
async function
|
|
1543
|
-
const
|
|
1544
|
-
if (
|
|
1545
|
-
const
|
|
1546
|
-
if (
|
|
1547
|
-
const
|
|
1548
|
-
let
|
|
1549
|
-
for (let
|
|
1550
|
-
const
|
|
1551
|
-
if (
|
|
1552
|
-
if (!Array.isArray(
|
|
1553
|
-
for (const B of
|
|
1554
|
-
B.isdir && B.path === "/" + B.name && !["home", "homes"].includes(B.name.toLowerCase()) &&
|
|
1555
|
-
if (
|
|
1556
|
-
if (
|
|
1571
|
+
setup(p, { emit: I }) {
|
|
1572
|
+
const a = p, m = I, i = Ca(), d = F(() => Be(a.locale)), s = y(), o = y(""), r = y(!1), P = y(!1), v = y(!1), _ = y(), z = y(""), x = y([]), b = F(() => _.value?.scope_mode === "install-selected"), D = F(() => [{ label: d.value.homeScope, value: "home" }, ...x.value]), R = F(() => !b.value || !!z.value && D.value.some((O) => O.value === z.value)), L = F(() => b.value && !_.value?.selection), E = F(() => z.value !== _.value?.selection?.scope);
|
|
1573
|
+
let q = !1;
|
|
1574
|
+
async function J(O) {
|
|
1575
|
+
const H = O ?? await i.status();
|
|
1576
|
+
if (q || (s.value = H, !a.ctx)) return;
|
|
1577
|
+
const W = await a.ctx.call("delegate.status");
|
|
1578
|
+
if (q || (_.value = W, W.scope_mode !== "install-selected")) return;
|
|
1579
|
+
const j = [];
|
|
1580
|
+
let ee = 0;
|
|
1581
|
+
for (let N = 0; N < 128; N++) {
|
|
1582
|
+
const T = await a.ctx.call("bg.browse", { offset: ee });
|
|
1583
|
+
if (q) return;
|
|
1584
|
+
if (!Array.isArray(T.shares) || !Number.isSafeInteger(T.total) || T.total < 0 || !T.shares.length && ee < T.total) throw { code: "EXECUTOR_PROTOCOL" };
|
|
1585
|
+
for (const B of T.shares)
|
|
1586
|
+
B.isdir && B.path === "/" + B.name && !["home", "homes"].includes(B.name.toLowerCase()) && j.push({ label: B.name, value: "shared:" + B.name });
|
|
1587
|
+
if (ee += T.shares.length, ee >= T.total) break;
|
|
1588
|
+
if (N === 127) throw { code: "EXECUTOR_PROTOCOL" };
|
|
1557
1589
|
}
|
|
1558
|
-
|
|
1590
|
+
x.value = j, z.value = W.selection?.scope ?? W.preselection ?? "";
|
|
1559
1591
|
}
|
|
1560
|
-
async function
|
|
1561
|
-
if (!(!a.admin ||
|
|
1562
|
-
|
|
1592
|
+
async function G() {
|
|
1593
|
+
if (!(!a.admin || r.value)) {
|
|
1594
|
+
r.value = !0, v.value = !1;
|
|
1563
1595
|
try {
|
|
1564
|
-
await
|
|
1596
|
+
await J();
|
|
1565
1597
|
} catch {
|
|
1566
|
-
|
|
1598
|
+
q || (v.value = !0);
|
|
1567
1599
|
} finally {
|
|
1568
|
-
|
|
1600
|
+
q || (r.value = !1);
|
|
1569
1601
|
}
|
|
1570
1602
|
}
|
|
1571
1603
|
}
|
|
1572
|
-
async function
|
|
1573
|
-
if (!a.admin ||
|
|
1574
|
-
|
|
1575
|
-
const
|
|
1576
|
-
|
|
1604
|
+
async function K() {
|
|
1605
|
+
if (!a.admin || r.value || !o.value || !R.value || v.value) return;
|
|
1606
|
+
r.value = !0, v.value = !1;
|
|
1607
|
+
const O = o.value;
|
|
1608
|
+
o.value = "", P.value = !0;
|
|
1577
1609
|
try {
|
|
1578
|
-
let
|
|
1579
|
-
await
|
|
1610
|
+
let H = b.value ? await i.authorize(O, z.value) : await i.authorize(O);
|
|
1611
|
+
await J(H), !q && b.value && H.state === "ready" && L.value && (H = await i.authorize(O, z.value), await J(H)), q || m("confirmed");
|
|
1580
1612
|
} catch {
|
|
1581
|
-
|
|
1613
|
+
q || (v.value = !0);
|
|
1582
1614
|
} finally {
|
|
1583
|
-
|
|
1615
|
+
q || (r.value = !1, P.value = !1);
|
|
1584
1616
|
}
|
|
1585
1617
|
}
|
|
1586
|
-
return
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
}),
|
|
1590
|
-
}),
|
|
1591
|
-
|
|
1592
|
-
}), (
|
|
1618
|
+
return ve(() => {
|
|
1619
|
+
i.subscribe?.((O) => {
|
|
1620
|
+
q || (s.value = O);
|
|
1621
|
+
}), G();
|
|
1622
|
+
}), ue(() => {
|
|
1623
|
+
q = !0, o.value = "";
|
|
1624
|
+
}), (O, H) => p.admin ? (t(), $(e(ce), {
|
|
1593
1625
|
key: 0,
|
|
1594
|
-
title:
|
|
1626
|
+
title: d.value.setupTitle,
|
|
1595
1627
|
collapsible: !1,
|
|
1596
|
-
"aria-busy":
|
|
1628
|
+
"aria-busy": r.value
|
|
1597
1629
|
}, {
|
|
1598
|
-
default:
|
|
1599
|
-
|
|
1600
|
-
|
|
1630
|
+
default: n(() => [
|
|
1631
|
+
C("p", null, l(d.value.setupHelp), 1),
|
|
1632
|
+
v.value ? (t(), $(e(Q), {
|
|
1601
1633
|
key: 0,
|
|
1602
1634
|
tone: "danger",
|
|
1603
1635
|
role: "alert"
|
|
1604
1636
|
}, {
|
|
1605
|
-
default:
|
|
1606
|
-
|
|
1637
|
+
default: n(() => [
|
|
1638
|
+
g(l(d.value.setupError), 1)
|
|
1607
1639
|
]),
|
|
1608
1640
|
_: 1
|
|
1609
1641
|
})) : k("", !0),
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1642
|
+
C("p", Rl, l(P.value ? d.value.confirming : s.value ? s.value.state === "ready" ? L.value ? d.value.scopeNeeds : d.value.ready : s.value.state === "needs-admin-approval" ? d.value.needs : d.value.blocked : d.value.loading), 1),
|
|
1643
|
+
s.value?.reason && (s.value.state === "blocked" || s.value.state === "unsupported") ? (t(), S("p", ql, l(d.value.details) + ": " + l(s.value.reason), 1)) : k("", !0),
|
|
1644
|
+
_.value?.selection ? (t(), S("p", Bl, l(d.value.protectedScope) + ": " + l(_.value.selection.root), 1)) : k("", !0),
|
|
1645
|
+
_.value?.mismatch ? (t(), $(e(Q), {
|
|
1614
1646
|
key: 3,
|
|
1615
1647
|
tone: "warning"
|
|
1616
1648
|
}, {
|
|
1617
|
-
default:
|
|
1618
|
-
|
|
1649
|
+
default: n(() => [
|
|
1650
|
+
g(l(d.value.scopeMismatch) + " " + l(d.value.preselection) + ": " + l(_.value.preselection) + " · " + l(d.value.protectedScope) + ": " + l(_.value.selection?.root), 1)
|
|
1619
1651
|
]),
|
|
1620
1652
|
_: 1
|
|
1621
1653
|
})) : k("", !0),
|
|
1622
|
-
|
|
1654
|
+
s.value?.state === "needs-admin-approval" || s.value?.retry || b.value && s.value?.state === "ready" ? (t(), $(e(be), {
|
|
1623
1655
|
key: 4,
|
|
1624
|
-
onSubmit:
|
|
1656
|
+
onSubmit: me(K, ["prevent"])
|
|
1625
1657
|
}, {
|
|
1626
|
-
default:
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
label:
|
|
1658
|
+
default: n(() => [
|
|
1659
|
+
b.value ? (t(), S(Z, { key: 0 }, [
|
|
1660
|
+
C("p", null, l(_.value?.selection ? d.value.scopeChangeHelp : d.value.preselectionHelp), 1),
|
|
1661
|
+
h(e(oe), {
|
|
1662
|
+
label: d.value.scopeLabel,
|
|
1631
1663
|
"label-for": "delegate-scope"
|
|
1632
1664
|
}, {
|
|
1633
|
-
default:
|
|
1634
|
-
|
|
1665
|
+
default: n(() => [
|
|
1666
|
+
h(e(Me), {
|
|
1635
1667
|
id: "delegate-scope",
|
|
1636
|
-
modelValue:
|
|
1637
|
-
"onUpdate:modelValue":
|
|
1638
|
-
options:
|
|
1639
|
-
disabled:
|
|
1668
|
+
modelValue: z.value,
|
|
1669
|
+
"onUpdate:modelValue": H[0] || (H[0] = (W) => z.value = W),
|
|
1670
|
+
options: D.value,
|
|
1671
|
+
disabled: r.value || v.value
|
|
1640
1672
|
}, null, 8, ["modelValue", "options", "disabled"])
|
|
1641
1673
|
]),
|
|
1642
1674
|
_: 1
|
|
1643
1675
|
}, 8, ["label"])
|
|
1644
1676
|
], 64)) : k("", !0),
|
|
1645
|
-
|
|
1646
|
-
label:
|
|
1677
|
+
h(e(oe), {
|
|
1678
|
+
label: d.value.password,
|
|
1647
1679
|
"label-for": "delegate-password"
|
|
1648
1680
|
}, {
|
|
1649
|
-
default:
|
|
1650
|
-
|
|
1681
|
+
default: n(() => [
|
|
1682
|
+
h(e(pe), {
|
|
1651
1683
|
id: "delegate-password",
|
|
1652
|
-
modelValue:
|
|
1653
|
-
"onUpdate:modelValue":
|
|
1684
|
+
modelValue: o.value,
|
|
1685
|
+
"onUpdate:modelValue": H[1] || (H[1] = (W) => o.value = W),
|
|
1654
1686
|
type: "password",
|
|
1655
1687
|
autocomplete: "current-password",
|
|
1656
|
-
disabled:
|
|
1688
|
+
disabled: r.value || v.value
|
|
1657
1689
|
}, null, 8, ["modelValue", "disabled"])
|
|
1658
1690
|
]),
|
|
1659
1691
|
_: 1
|
|
1660
1692
|
}, 8, ["label"]),
|
|
1661
|
-
|
|
1662
|
-
default:
|
|
1663
|
-
|
|
1693
|
+
h(e(ke), null, {
|
|
1694
|
+
default: n(() => [
|
|
1695
|
+
h(e(A), {
|
|
1664
1696
|
type: "submit",
|
|
1665
1697
|
variant: "primary",
|
|
1666
|
-
disabled:
|
|
1698
|
+
disabled: r.value || v.value || !o.value || !R.value || b.value && !!_.value?.selection && !E.value
|
|
1667
1699
|
}, {
|
|
1668
|
-
default:
|
|
1669
|
-
|
|
1700
|
+
default: n(() => [
|
|
1701
|
+
g(l(b.value ? _.value?.selection ? d.value.confirmScope : d.value.confirmShare : d.value.authorize), 1)
|
|
1670
1702
|
]),
|
|
1671
1703
|
_: 1
|
|
1672
1704
|
}, 8, ["disabled"])
|
|
@@ -1676,13 +1708,13 @@ const za = ["aria-busy", "aria-label"], Va = { class: "file-toolbar file-locatio
|
|
|
1676
1708
|
]),
|
|
1677
1709
|
_: 1
|
|
1678
1710
|
})) : k("", !0),
|
|
1679
|
-
|
|
1711
|
+
h(e(A), {
|
|
1680
1712
|
variant: "secondary",
|
|
1681
|
-
disabled:
|
|
1682
|
-
onClick:
|
|
1713
|
+
disabled: r.value,
|
|
1714
|
+
onClick: G
|
|
1683
1715
|
}, {
|
|
1684
|
-
default:
|
|
1685
|
-
|
|
1716
|
+
default: n(() => [
|
|
1717
|
+
g(l(d.value.refresh), 1)
|
|
1686
1718
|
]),
|
|
1687
1719
|
_: 1
|
|
1688
1720
|
}, 8, ["disabled"])
|
|
@@ -1690,147 +1722,147 @@ const za = ["aria-busy", "aria-label"], Va = { class: "file-toolbar file-locatio
|
|
|
1690
1722
|
_: 1
|
|
1691
1723
|
}, 8, ["title", "aria-busy"])) : k("", !0);
|
|
1692
1724
|
}
|
|
1693
|
-
}),
|
|
1725
|
+
}), Ol = {
|
|
1694
1726
|
key: 1,
|
|
1695
1727
|
role: "status"
|
|
1696
|
-
},
|
|
1728
|
+
}, Fl = {
|
|
1697
1729
|
key: 2,
|
|
1698
1730
|
role: "status"
|
|
1699
|
-
},
|
|
1731
|
+
}, Ll = {
|
|
1700
1732
|
key: 0,
|
|
1701
1733
|
role: "status",
|
|
1702
1734
|
class: "destination"
|
|
1703
|
-
},
|
|
1735
|
+
}, Nl = { class: "section-heading" }, Ml = { key: 3 }, Kl = {
|
|
1704
1736
|
key: 4,
|
|
1705
1737
|
class: "records"
|
|
1706
|
-
},
|
|
1738
|
+
}, Hl = ["data-job-state"], Gl = ["role"], Jl = { key: 5 }, Xl = {
|
|
1707
1739
|
key: 6,
|
|
1708
1740
|
class: "records"
|
|
1709
|
-
},
|
|
1741
|
+
}, Ql = /* @__PURE__ */ le({
|
|
1710
1742
|
__name: "DelegatePanel",
|
|
1711
1743
|
props: {
|
|
1712
1744
|
ctx: {}
|
|
1713
1745
|
},
|
|
1714
|
-
setup(
|
|
1715
|
-
const
|
|
1716
|
-
let
|
|
1717
|
-
|
|
1718
|
-
|
|
1746
|
+
setup(p) {
|
|
1747
|
+
const I = p, a = F(() => Be(I.ctx.locale)), m = qe(I.ctx), i = y(), d = y([]), s = y([]), o = y(!1), r = y(), P = y(""), v = y(!1), _ = y(""), z = y(""), x = y("");
|
|
1748
|
+
let b = !1, D, R;
|
|
1749
|
+
Fe([z, _, x], () => {
|
|
1750
|
+
R = void 0;
|
|
1719
1751
|
}, { flush: "sync" });
|
|
1720
|
-
const
|
|
1721
|
-
async function
|
|
1722
|
-
if (
|
|
1723
|
-
const [B,
|
|
1724
|
-
if (!
|
|
1725
|
-
B.status === "fulfilled" && (
|
|
1726
|
-
for (const
|
|
1752
|
+
const L = (B) => ["queued", "running", "waiting_executor"].includes(B.state), E = F(() => s.value.some((B) => B.state === "waiting_executor")), q = ["EXECUTOR_UNAVAILABLE", "EXECUTOR_TIMEOUT"], J = F(() => E.value && q.includes(r.value?.code ?? "")), G = F(() => i.value && i.value.state !== "ready" && !(E.value && i.value.state === "needs-admin-approval" && q.includes(i.value.reason ?? "")));
|
|
1753
|
+
async function K() {
|
|
1754
|
+
if (b) return;
|
|
1755
|
+
const [B, w, U] = await Promise.allSettled([I.ctx.call("delegate.status"), I.ctx.call("delegate.list"), I.ctx.call("delegate.jobs.list")]);
|
|
1756
|
+
if (!b) {
|
|
1757
|
+
B.status === "fulfilled" && (i.value = B.value), w.status === "fulfilled" && (d.value = (w.value.delegations ?? []).filter((M) => !M.revoked)), U.status === "fulfilled" && (s.value = U.value.jobs ?? []);
|
|
1758
|
+
for (const M of [B, w, U]) if (M.status === "rejected") throw M.reason;
|
|
1727
1759
|
}
|
|
1728
1760
|
}
|
|
1729
|
-
async function
|
|
1730
|
-
if (!(
|
|
1731
|
-
|
|
1761
|
+
async function O(B) {
|
|
1762
|
+
if (!(o.value || b)) {
|
|
1763
|
+
o.value = !0, r.value = void 0;
|
|
1732
1764
|
try {
|
|
1733
1765
|
await B();
|
|
1734
|
-
} catch (
|
|
1735
|
-
|
|
1766
|
+
} catch (w) {
|
|
1767
|
+
b || (r.value = w);
|
|
1736
1768
|
} finally {
|
|
1737
|
-
|
|
1769
|
+
b || (o.value = !1);
|
|
1738
1770
|
}
|
|
1739
1771
|
}
|
|
1740
1772
|
}
|
|
1741
|
-
const
|
|
1742
|
-
await
|
|
1743
|
-
}),
|
|
1744
|
-
const
|
|
1745
|
-
|
|
1746
|
-
}),
|
|
1747
|
-
|
|
1748
|
-
}),
|
|
1749
|
-
const
|
|
1750
|
-
return Number.isNaN(
|
|
1773
|
+
const H = () => O(K), W = (B) => O(async () => {
|
|
1774
|
+
await I.ctx.call("delegate.revoke", { delegation_id: B }), await K();
|
|
1775
|
+
}), j = (B) => O(async () => {
|
|
1776
|
+
const w = await I.ctx.call("delegate.jobs.cancel", { id: B });
|
|
1777
|
+
b || (P.value = w.revocation_pending ? a.value.pending : ""), await K();
|
|
1778
|
+
}), ee = F(() => i.value?.state === "ready" && !!_.value && !!z.value && !!x.value), N = () => O(async () => {
|
|
1779
|
+
ee.value && (await I.ctx.call("delegate.jobs.submit", { key: R ?? (R = crypto.randomUUID()), url: z.value, dest: _.value, name: x.value }), b || (z.value = "", x.value = "", _.value = ""), await K());
|
|
1780
|
+
}), T = (B) => {
|
|
1781
|
+
const w = new Date(B);
|
|
1782
|
+
return Number.isNaN(w.getTime()) ? "—" : w.toLocaleString(I.ctx.locale);
|
|
1751
1783
|
};
|
|
1752
|
-
return
|
|
1753
|
-
|
|
1754
|
-
|
|
1784
|
+
return ve(() => {
|
|
1785
|
+
H(), D = setInterval(() => {
|
|
1786
|
+
s.value.some(L) && H();
|
|
1755
1787
|
}, 3e3);
|
|
1756
|
-
}),
|
|
1757
|
-
|
|
1758
|
-
}), (B,
|
|
1788
|
+
}), ue(() => {
|
|
1789
|
+
b = !0, D && clearInterval(D), m.dispose();
|
|
1790
|
+
}), (B, w) => (t(), $(e(ce), {
|
|
1759
1791
|
title: a.value.title,
|
|
1760
1792
|
collapsible: !1,
|
|
1761
|
-
"aria-busy":
|
|
1793
|
+
"aria-busy": o.value,
|
|
1762
1794
|
class: "delegate-panel"
|
|
1763
1795
|
}, {
|
|
1764
|
-
default:
|
|
1765
|
-
|
|
1766
|
-
|
|
1796
|
+
default: n(() => [
|
|
1797
|
+
C("p", null, l(a.value.help), 1),
|
|
1798
|
+
r.value && !J.value ? (t(), $(e(Q), {
|
|
1767
1799
|
key: 0,
|
|
1768
1800
|
tone: "danger",
|
|
1769
1801
|
role: "alert"
|
|
1770
1802
|
}, {
|
|
1771
|
-
default:
|
|
1772
|
-
|
|
1803
|
+
default: n(() => [
|
|
1804
|
+
g(l(e(je)(r.value, a.value)), 1)
|
|
1773
1805
|
]),
|
|
1774
1806
|
_: 1
|
|
1775
1807
|
})) : k("", !0),
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
onSubmit:
|
|
1808
|
+
P.value ? (t(), S("p", Ol, l(P.value), 1)) : k("", !0),
|
|
1809
|
+
G.value ? (t(), S("p", Fl, l(i.value?.state === "needs-admin-approval" ? a.value.needs : a.value.blocked), 1)) : k("", !0),
|
|
1810
|
+
h(e(be), {
|
|
1811
|
+
onSubmit: me(N, ["prevent"])
|
|
1780
1812
|
}, {
|
|
1781
|
-
default:
|
|
1782
|
-
|
|
1813
|
+
default: n(() => [
|
|
1814
|
+
h(e(oe), {
|
|
1783
1815
|
label: a.value.url,
|
|
1784
1816
|
"label-for": "delegate-url"
|
|
1785
1817
|
}, {
|
|
1786
|
-
default:
|
|
1787
|
-
|
|
1818
|
+
default: n(() => [
|
|
1819
|
+
h(e(pe), {
|
|
1788
1820
|
id: "delegate-url",
|
|
1789
|
-
modelValue:
|
|
1790
|
-
"onUpdate:modelValue":
|
|
1821
|
+
modelValue: z.value,
|
|
1822
|
+
"onUpdate:modelValue": w[0] || (w[0] = (U) => z.value = U),
|
|
1791
1823
|
type: "url",
|
|
1792
|
-
disabled:
|
|
1824
|
+
disabled: o.value || i.value?.state !== "ready"
|
|
1793
1825
|
}, null, 8, ["modelValue", "disabled"])
|
|
1794
1826
|
]),
|
|
1795
1827
|
_: 1
|
|
1796
1828
|
}, 8, ["label"]),
|
|
1797
|
-
|
|
1829
|
+
h(e(oe), {
|
|
1798
1830
|
label: a.value.name,
|
|
1799
1831
|
"label-for": "delegate-name"
|
|
1800
1832
|
}, {
|
|
1801
|
-
default:
|
|
1802
|
-
|
|
1833
|
+
default: n(() => [
|
|
1834
|
+
h(e(pe), {
|
|
1803
1835
|
id: "delegate-name",
|
|
1804
|
-
modelValue:
|
|
1805
|
-
"onUpdate:modelValue":
|
|
1836
|
+
modelValue: x.value,
|
|
1837
|
+
"onUpdate:modelValue": w[1] || (w[1] = (U) => x.value = U),
|
|
1806
1838
|
"data-file-name": "",
|
|
1807
|
-
disabled:
|
|
1839
|
+
disabled: o.value || i.value?.state !== "ready"
|
|
1808
1840
|
}, null, 8, ["modelValue", "disabled"])
|
|
1809
1841
|
]),
|
|
1810
1842
|
_: 1
|
|
1811
1843
|
}, 8, ["label"]),
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
default:
|
|
1816
|
-
|
|
1844
|
+
C("p", null, l(a.value.size), 1),
|
|
1845
|
+
_.value ? (t(), S("p", Ll, l(a.value.destination) + ": " + l(_.value), 1)) : k("", !0),
|
|
1846
|
+
h(e(ke), null, {
|
|
1847
|
+
default: n(() => [
|
|
1848
|
+
h(e(A), {
|
|
1817
1849
|
type: "button",
|
|
1818
1850
|
variant: "secondary",
|
|
1819
|
-
disabled:
|
|
1820
|
-
onClick:
|
|
1851
|
+
disabled: o.value || i.value?.state !== "ready",
|
|
1852
|
+
onClick: w[2] || (w[2] = (U) => v.value = !0)
|
|
1821
1853
|
}, {
|
|
1822
|
-
default:
|
|
1823
|
-
|
|
1854
|
+
default: n(() => [
|
|
1855
|
+
g(l(a.value.choose), 1)
|
|
1824
1856
|
]),
|
|
1825
1857
|
_: 1
|
|
1826
1858
|
}, 8, ["disabled"]),
|
|
1827
|
-
|
|
1859
|
+
h(e(A), {
|
|
1828
1860
|
type: "submit",
|
|
1829
1861
|
variant: "primary",
|
|
1830
|
-
disabled:
|
|
1862
|
+
disabled: o.value || !ee.value
|
|
1831
1863
|
}, {
|
|
1832
|
-
default:
|
|
1833
|
-
|
|
1864
|
+
default: n(() => [
|
|
1865
|
+
g(l(a.value.submit), 1)
|
|
1834
1866
|
]),
|
|
1835
1867
|
_: 1
|
|
1836
1868
|
}, 8, ["disabled"])
|
|
@@ -1840,64 +1872,64 @@ const za = ["aria-busy", "aria-label"], Va = { class: "file-toolbar file-locatio
|
|
|
1840
1872
|
]),
|
|
1841
1873
|
_: 1
|
|
1842
1874
|
}),
|
|
1843
|
-
|
|
1844
|
-
open:
|
|
1845
|
-
"onUpdate:open":
|
|
1846
|
-
locale:
|
|
1847
|
-
provider: e(
|
|
1875
|
+
h(_e, {
|
|
1876
|
+
open: v.value,
|
|
1877
|
+
"onUpdate:open": w[3] || (w[3] = (U) => v.value = U),
|
|
1878
|
+
locale: p.ctx.locale,
|
|
1879
|
+
provider: e(m),
|
|
1848
1880
|
mode: "folder",
|
|
1849
|
-
onSelected:
|
|
1881
|
+
onSelected: w[4] || (w[4] = (U) => _.value = U)
|
|
1850
1882
|
}, null, 8, ["open", "locale", "provider"]),
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1883
|
+
C("div", Nl, [
|
|
1884
|
+
C("h3", null, l(a.value.downloads), 1),
|
|
1885
|
+
h(e(A), {
|
|
1854
1886
|
variant: "secondary",
|
|
1855
|
-
disabled:
|
|
1856
|
-
onClick:
|
|
1887
|
+
disabled: o.value,
|
|
1888
|
+
onClick: H
|
|
1857
1889
|
}, {
|
|
1858
|
-
default:
|
|
1859
|
-
|
|
1890
|
+
default: n(() => [
|
|
1891
|
+
g(l(a.value.refresh), 1)
|
|
1860
1892
|
]),
|
|
1861
1893
|
_: 1
|
|
1862
1894
|
}, 8, ["disabled"])
|
|
1863
1895
|
]),
|
|
1864
|
-
!
|
|
1865
|
-
(t(!0),
|
|
1866
|
-
key:
|
|
1867
|
-
"data-job-state":
|
|
1896
|
+
!s.value.length && !r.value ? (t(), S("p", Ml, l(a.value.noJobs), 1)) : (t(), S("ul", Kl, [
|
|
1897
|
+
(t(!0), S(Z, null, de(s.value, (U) => (t(), S("li", {
|
|
1898
|
+
key: U.id,
|
|
1899
|
+
"data-job-state": U.state
|
|
1868
1900
|
}, [
|
|
1869
|
-
|
|
1870
|
-
role:
|
|
1871
|
-
}, l(
|
|
1872
|
-
|
|
1901
|
+
C("span", {
|
|
1902
|
+
role: U.state === "waiting_executor" ? "status" : void 0
|
|
1903
|
+
}, l(U.name) + " · " + l(a.value[U.state]), 9, Gl),
|
|
1904
|
+
L(U) ? (t(), $(e(A), {
|
|
1873
1905
|
key: 0,
|
|
1874
1906
|
variant: "secondary",
|
|
1875
|
-
disabled:
|
|
1876
|
-
onClick: (
|
|
1907
|
+
disabled: o.value,
|
|
1908
|
+
onClick: (M) => j(U.id)
|
|
1877
1909
|
}, {
|
|
1878
|
-
default:
|
|
1879
|
-
|
|
1910
|
+
default: n(() => [
|
|
1911
|
+
g(l(a.value.cancel), 1)
|
|
1880
1912
|
]),
|
|
1881
1913
|
_: 1
|
|
1882
1914
|
}, 8, ["disabled", "onClick"])) : k("", !0)
|
|
1883
|
-
], 8,
|
|
1915
|
+
], 8, Hl))), 128))
|
|
1884
1916
|
])),
|
|
1885
|
-
|
|
1886
|
-
!
|
|
1887
|
-
(t(!0),
|
|
1888
|
-
key:
|
|
1917
|
+
C("h3", null, l(a.value.delegations), 1),
|
|
1918
|
+
!d.value.length && !r.value ? (t(), S("p", Jl, l(a.value.noDelegations), 1)) : (t(), S("ul", Xl, [
|
|
1919
|
+
(t(!0), S(Z, null, de(d.value, (U) => (t(), S("li", {
|
|
1920
|
+
key: U.delegation_id
|
|
1889
1921
|
}, [
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1922
|
+
C("div", null, [
|
|
1923
|
+
C("strong", null, l(U.path), 1),
|
|
1924
|
+
C("p", null, l(a.value.expires) + ": " + l(T(U.expires_at)), 1)
|
|
1893
1925
|
]),
|
|
1894
|
-
|
|
1926
|
+
h(e(A), {
|
|
1895
1927
|
variant: "secondary",
|
|
1896
|
-
disabled:
|
|
1897
|
-
onClick: (
|
|
1928
|
+
disabled: o.value,
|
|
1929
|
+
onClick: (M) => W(U.delegation_id)
|
|
1898
1930
|
}, {
|
|
1899
|
-
default:
|
|
1900
|
-
|
|
1931
|
+
default: n(() => [
|
|
1932
|
+
g(l(a.value.revoke), 1)
|
|
1901
1933
|
]),
|
|
1902
1934
|
_: 1
|
|
1903
1935
|
}, 8, ["disabled", "onClick"])
|
|
@@ -1907,19 +1939,19 @@ const za = ["aria-busy", "aria-label"], Va = { class: "file-toolbar file-locatio
|
|
|
1907
1939
|
_: 1
|
|
1908
1940
|
}, 8, ["title", "aria-busy"]));
|
|
1909
1941
|
}
|
|
1910
|
-
}),
|
|
1942
|
+
}), At = /* @__PURE__ */ ne(Ql, [["__scopeId", "data-v-d79ee942"]]), Yl = {
|
|
1911
1943
|
key: 1,
|
|
1912
1944
|
role: "status"
|
|
1913
|
-
},
|
|
1945
|
+
}, Wl = {
|
|
1914
1946
|
key: 2,
|
|
1915
1947
|
role: "status"
|
|
1916
|
-
},
|
|
1948
|
+
}, Zl = { key: 3 }, jl = {
|
|
1917
1949
|
key: 7,
|
|
1918
1950
|
role: "status"
|
|
1919
|
-
},
|
|
1951
|
+
}, et = { class: "save-actions" }, at = { key: 8 }, lt = {
|
|
1920
1952
|
key: 10,
|
|
1921
1953
|
class: "save-actions"
|
|
1922
|
-
},
|
|
1954
|
+
}, tt = { key: 12 }, nt = { class: "save-records" }, st = { class: "save-actions" }, it = { key: 14 }, ot = { class: "save-records" }, ut = ["data-job-id", "data-save-state"], rt = { key: 0 }, dt = { key: 3 }, vt = /* @__PURE__ */ le({
|
|
1923
1955
|
__name: "BackgroundSavePanel",
|
|
1924
1956
|
props: {
|
|
1925
1957
|
sdk: {},
|
|
@@ -1928,434 +1960,434 @@ const za = ["aria-busy", "aria-label"], Va = { class: "file-toolbar file-locatio
|
|
|
1928
1960
|
picker: {}
|
|
1929
1961
|
},
|
|
1930
1962
|
emits: ["authorized"],
|
|
1931
|
-
setup(
|
|
1932
|
-
const a =
|
|
1933
|
-
let
|
|
1934
|
-
const
|
|
1935
|
-
function
|
|
1936
|
-
|
|
1963
|
+
setup(p, { emit: I }) {
|
|
1964
|
+
const a = p, m = I, i = y(!1), d = y(""), s = F(() => Re(a.locale)), o = y(), r = y([]), P = y([]), v = y(!1), _ = y(), z = y(""), x = y([]), b = F(() => a.picker && (o.value?.selection ? ea(a.picker.provider, o.value.selection.root) : o.value?.scopeMode === "install-selected" ? void 0 : a.picker.provider));
|
|
1965
|
+
let D = !1, R;
|
|
1966
|
+
const L = (T) => T.state === "copying" && T.code === "CANCEL_REQUESTED", E = (T) => L(T) ? "canceling" : T.state === "committed" && !T.receipt?.path ? "uncertain" : T.state, q = (T) => ["queued", "copying"].includes(T.state) && !L(T);
|
|
1967
|
+
function J() {
|
|
1968
|
+
o.value = void 0, r.value = [], P.value = [], x.value = [], i.value = !1;
|
|
1937
1969
|
}
|
|
1938
|
-
async function
|
|
1939
|
-
const [
|
|
1940
|
-
if (!
|
|
1941
|
-
if (!
|
|
1942
|
-
(
|
|
1970
|
+
async function G() {
|
|
1971
|
+
const [T, B, w, U] = await Promise.all([a.sdk.status(), a.sdk.list(), a.sdk.operations(), Promise.all((a.picker?.keys ?? []).map((M) => a.sdk.destination(M)))]);
|
|
1972
|
+
if (!D) {
|
|
1973
|
+
if (!T || typeof T.disabled != "boolean" || !Array.isArray(B) || !Array.isArray(w)) throw { code: "unavailable" };
|
|
1974
|
+
(o.value?.selection?.generation !== T.selection?.generation || o.value?.selection?.scope !== T.selection?.scope) && (i.value = !1), o.value = T, r.value = U.length ? B.filter((M) => U.some((Y) => Y.status === "active" && Y.destination?.id === M.id)) : B, P.value = w, x.value = U;
|
|
1943
1975
|
}
|
|
1944
1976
|
}
|
|
1945
|
-
async function
|
|
1946
|
-
if (!(
|
|
1947
|
-
|
|
1977
|
+
async function K(T) {
|
|
1978
|
+
if (!(D || v.value)) {
|
|
1979
|
+
v.value = !0, _.value = void 0, z.value = "";
|
|
1948
1980
|
try {
|
|
1949
|
-
await
|
|
1981
|
+
await T();
|
|
1950
1982
|
} catch (B) {
|
|
1951
|
-
|
|
1983
|
+
D || (J(), _.value = B);
|
|
1952
1984
|
} finally {
|
|
1953
|
-
|
|
1985
|
+
D || (v.value = !1);
|
|
1954
1986
|
}
|
|
1955
1987
|
}
|
|
1956
1988
|
}
|
|
1957
|
-
const
|
|
1958
|
-
function
|
|
1959
|
-
|
|
1989
|
+
const O = () => K(G);
|
|
1990
|
+
function H(T) {
|
|
1991
|
+
m("authorized", T), O();
|
|
1960
1992
|
}
|
|
1961
|
-
const
|
|
1962
|
-
if ((await a.sdk.revoke({ delegation_id:
|
|
1963
|
-
await
|
|
1964
|
-
}),
|
|
1965
|
-
await a.sdk.cancel({ delegation_id:
|
|
1966
|
-
}),
|
|
1967
|
-
if (!a.admin || !
|
|
1968
|
-
const
|
|
1969
|
-
if ((
|
|
1970
|
-
await
|
|
1971
|
-
}),
|
|
1972
|
-
const B = "example-" + Array.from(crypto.getRandomValues(new Uint8Array(16)), (
|
|
1973
|
-
await a.sdk.exportExample({ key:
|
|
1993
|
+
const W = (T) => K(async () => {
|
|
1994
|
+
if ((await a.sdk.revoke({ delegation_id: T }))?.revoked !== !0) throw { code: "commit-uncertain" };
|
|
1995
|
+
await G(), D || (z.value = s.value.revoked);
|
|
1996
|
+
}), j = (T) => K(async () => {
|
|
1997
|
+
await a.sdk.cancel({ delegation_id: T.delegation_id, job_id: T.job_id }), await G();
|
|
1998
|
+
}), ee = () => K(async () => {
|
|
1999
|
+
if (!a.admin || !o.value) return;
|
|
2000
|
+
const T = o.value.disabled;
|
|
2001
|
+
if ((T ? await a.sdk.enable() : await a.sdk.disable())?.disabled !== !T) throw { code: "commit-uncertain" };
|
|
2002
|
+
await G();
|
|
2003
|
+
}), N = (T) => K(async () => {
|
|
2004
|
+
const B = "example-" + Array.from(crypto.getRandomValues(new Uint8Array(16)), (w) => w.toString(16).padStart(2, "0")).join("");
|
|
2005
|
+
await a.sdk.exportExample({ key: T, job_id: B }), await G();
|
|
1974
2006
|
});
|
|
1975
|
-
return
|
|
1976
|
-
|
|
1977
|
-
|
|
2007
|
+
return ve(() => {
|
|
2008
|
+
O(), R = setInterval(() => {
|
|
2009
|
+
P.value.some(q) && O();
|
|
1978
2010
|
}, 3e3);
|
|
1979
|
-
}),
|
|
1980
|
-
|
|
1981
|
-
}), (
|
|
1982
|
-
title:
|
|
2011
|
+
}), ue(() => {
|
|
2012
|
+
D = !0, R && clearInterval(R);
|
|
2013
|
+
}), (T, B) => (t(), $(e(ce), {
|
|
2014
|
+
title: s.value.title,
|
|
1983
2015
|
collapsible: !1,
|
|
1984
|
-
"aria-busy":
|
|
2016
|
+
"aria-busy": v.value,
|
|
1985
2017
|
class: "background-save-panel"
|
|
1986
2018
|
}, {
|
|
1987
|
-
default:
|
|
1988
|
-
|
|
1989
|
-
|
|
2019
|
+
default: n(() => [
|
|
2020
|
+
C("p", null, l(s.value.help), 1),
|
|
2021
|
+
_.value ? (t(), $(e(Q), {
|
|
1990
2022
|
key: 0,
|
|
1991
2023
|
tone: "danger",
|
|
1992
2024
|
role: "alert",
|
|
1993
2025
|
class: "save-message"
|
|
1994
2026
|
}, {
|
|
1995
|
-
default:
|
|
1996
|
-
|
|
2027
|
+
default: n(() => [
|
|
2028
|
+
g(l(e(Ve)(_.value, s.value)), 1)
|
|
1997
2029
|
]),
|
|
1998
2030
|
_: 1
|
|
1999
2031
|
})) : k("", !0),
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
|
|
2004
|
-
|
|
2032
|
+
v.value && !o.value ? (t(), S("p", Yl, l(s.value.loading), 1)) : k("", !0),
|
|
2033
|
+
z.value ? (t(), S("p", Wl, l(z.value), 1)) : k("", !0),
|
|
2034
|
+
o.value?.selection ? (t(), S("p", Zl, [
|
|
2035
|
+
C("strong", null, l(s.value.scope), 1),
|
|
2036
|
+
g(": " + l(o.value.selection.root), 1)
|
|
2005
2037
|
])) : k("", !0),
|
|
2006
|
-
|
|
2038
|
+
o.value?.mismatch ? (t(), $(e(Q), {
|
|
2007
2039
|
key: 4,
|
|
2008
2040
|
tone: "warning"
|
|
2009
2041
|
}, {
|
|
2010
|
-
default:
|
|
2011
|
-
|
|
2042
|
+
default: n(() => [
|
|
2043
|
+
g(l(s.value.scopeMismatch) + " " + l(o.value.preselection) + " → " + l(o.value.selection?.root), 1)
|
|
2012
2044
|
]),
|
|
2013
2045
|
_: 1
|
|
2014
2046
|
})) : k("", !0),
|
|
2015
|
-
|
|
2047
|
+
o.value?.scopeMode === "install-selected" && !o.value.selection ? (t(), $(e(Q), {
|
|
2016
2048
|
key: 5,
|
|
2017
2049
|
tone: "warning"
|
|
2018
2050
|
}, {
|
|
2019
|
-
default:
|
|
2020
|
-
|
|
2051
|
+
default: n(() => [
|
|
2052
|
+
g(l(s.value.scopeNeeds), 1)
|
|
2021
2053
|
]),
|
|
2022
2054
|
_: 1
|
|
2023
2055
|
})) : k("", !0),
|
|
2024
|
-
|
|
2056
|
+
o.value?.disabled ? (t(), $(e(Q), {
|
|
2025
2057
|
key: 6,
|
|
2026
2058
|
tone: "warning",
|
|
2027
2059
|
role: "status",
|
|
2028
2060
|
class: "save-message"
|
|
2029
2061
|
}, {
|
|
2030
|
-
default:
|
|
2031
|
-
|
|
2062
|
+
default: n(() => [
|
|
2063
|
+
g(l(s.value.disabled), 1)
|
|
2032
2064
|
]),
|
|
2033
2065
|
_: 1
|
|
2034
|
-
})) :
|
|
2035
|
-
|
|
2036
|
-
|
|
2066
|
+
})) : o.value && !(o.value.scopeMode === "install-selected" && !o.value.selection) ? (t(), S("p", jl, l(s.value.enabled), 1)) : k("", !0),
|
|
2067
|
+
C("div", et, [
|
|
2068
|
+
h(e(A), {
|
|
2037
2069
|
variant: "secondary",
|
|
2038
|
-
disabled:
|
|
2039
|
-
onClick:
|
|
2070
|
+
disabled: v.value,
|
|
2071
|
+
onClick: O
|
|
2040
2072
|
}, {
|
|
2041
|
-
default:
|
|
2042
|
-
|
|
2073
|
+
default: n(() => [
|
|
2074
|
+
g(l(s.value.refresh), 1)
|
|
2043
2075
|
]),
|
|
2044
2076
|
_: 1
|
|
2045
2077
|
}, 8, ["disabled"]),
|
|
2046
|
-
|
|
2078
|
+
p.admin && o.value ? (t(), $(e(A), {
|
|
2047
2079
|
key: 0,
|
|
2048
|
-
variant:
|
|
2049
|
-
disabled:
|
|
2050
|
-
onClick:
|
|
2080
|
+
variant: o.value.disabled ? "secondary" : "danger",
|
|
2081
|
+
disabled: v.value,
|
|
2082
|
+
onClick: ee
|
|
2051
2083
|
}, {
|
|
2052
|
-
default:
|
|
2053
|
-
|
|
2084
|
+
default: n(() => [
|
|
2085
|
+
g(l(o.value.disabled ? s.value.enable : s.value.disable), 1)
|
|
2054
2086
|
]),
|
|
2055
2087
|
_: 1
|
|
2056
2088
|
}, 8, ["variant", "disabled"])) : k("", !0)
|
|
2057
2089
|
]),
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
2090
|
+
p.admin && o.value ? (t(), S("p", at, l(s.value.disableHelp), 1)) : k("", !0),
|
|
2091
|
+
C("h3", null, l(s.value.delegations), 1),
|
|
2092
|
+
x.value.some((w) => w.status === "reselection-required") ? (t(), $(e(Q), {
|
|
2061
2093
|
key: 9,
|
|
2062
2094
|
tone: "warning"
|
|
2063
2095
|
}, {
|
|
2064
|
-
default:
|
|
2065
|
-
|
|
2096
|
+
default: n(() => [
|
|
2097
|
+
g(l(s.value.reselect), 1)
|
|
2066
2098
|
]),
|
|
2067
2099
|
_: 1
|
|
2068
2100
|
})) : k("", !0),
|
|
2069
|
-
|
|
2070
|
-
(t(!0),
|
|
2071
|
-
key:
|
|
2101
|
+
p.picker ? (t(), S("div", lt, [
|
|
2102
|
+
(t(!0), S(Z, null, de(p.picker.keys, (w) => (t(), $(e(A), {
|
|
2103
|
+
key: w,
|
|
2072
2104
|
variant: "secondary",
|
|
2073
|
-
disabled:
|
|
2074
|
-
onClick: (
|
|
2075
|
-
|
|
2105
|
+
disabled: v.value || !o.value || o.value.disabled || !b.value,
|
|
2106
|
+
onClick: (U) => {
|
|
2107
|
+
d.value = w, i.value = !0;
|
|
2076
2108
|
}
|
|
2077
2109
|
}, {
|
|
2078
|
-
default:
|
|
2079
|
-
|
|
2110
|
+
default: n(() => [
|
|
2111
|
+
g(l(s.value.choose) + " (" + l(w) + ")", 1)
|
|
2080
2112
|
]),
|
|
2081
2113
|
_: 2
|
|
2082
2114
|
}, 1032, ["disabled", "onClick"]))), 128))
|
|
2083
2115
|
])) : k("", !0),
|
|
2084
|
-
|
|
2085
|
-
key:
|
|
2086
|
-
open:
|
|
2087
|
-
"onUpdate:open": B[0] || (B[0] = (
|
|
2088
|
-
provider:
|
|
2089
|
-
locale:
|
|
2116
|
+
b.value ? (t(), $(_e, {
|
|
2117
|
+
key: o.value?.selection?.scope,
|
|
2118
|
+
open: i.value,
|
|
2119
|
+
"onUpdate:open": B[0] || (B[0] = (w) => i.value = w),
|
|
2120
|
+
provider: b.value,
|
|
2121
|
+
locale: p.locale,
|
|
2090
2122
|
mode: "folder",
|
|
2091
|
-
destination: { key:
|
|
2092
|
-
onAuthorized:
|
|
2123
|
+
destination: { key: d.value, selectDestination: p.sdk.selectDestination },
|
|
2124
|
+
onAuthorized: H
|
|
2093
2125
|
}, null, 8, ["open", "provider", "locale", "destination"])) : k("", !0),
|
|
2094
|
-
|
|
2095
|
-
|
|
2096
|
-
(t(!0),
|
|
2097
|
-
key:
|
|
2126
|
+
o.value && !r.value.length ? (t(), S("p", tt, l(s.value.empty), 1)) : k("", !0),
|
|
2127
|
+
C("ul", nt, [
|
|
2128
|
+
(t(!0), S(Z, null, de(r.value, (w) => (t(), S("li", {
|
|
2129
|
+
key: w.id
|
|
2098
2130
|
}, [
|
|
2099
|
-
|
|
2100
|
-
|
|
2101
|
-
|
|
2131
|
+
C("div", null, [
|
|
2132
|
+
C("strong", null, l(w.path), 1),
|
|
2133
|
+
C("p", null, l(s.value.untilRevoked), 1)
|
|
2102
2134
|
]),
|
|
2103
|
-
|
|
2135
|
+
h(e(A), {
|
|
2104
2136
|
variant: "secondary",
|
|
2105
|
-
disabled:
|
|
2106
|
-
onClick: (
|
|
2137
|
+
disabled: v.value,
|
|
2138
|
+
onClick: (U) => W(w.id)
|
|
2107
2139
|
}, {
|
|
2108
|
-
default:
|
|
2109
|
-
|
|
2140
|
+
default: n(() => [
|
|
2141
|
+
g(l(s.value.revoke), 1)
|
|
2110
2142
|
]),
|
|
2111
2143
|
_: 1
|
|
2112
2144
|
}, 8, ["disabled", "onClick"])
|
|
2113
2145
|
]))), 128))
|
|
2114
2146
|
]),
|
|
2115
|
-
|
|
2116
|
-
|
|
2117
|
-
|
|
2118
|
-
(t(!0),
|
|
2119
|
-
key:
|
|
2147
|
+
x.value.some((w) => w.status === "active") ? (t(), S(Z, { key: 13 }, [
|
|
2148
|
+
C("p", null, l(s.value.exampleHelp), 1),
|
|
2149
|
+
C("div", st, [
|
|
2150
|
+
(t(!0), S(Z, null, de(x.value.filter((w) => w.status === "active"), (w) => (t(), $(e(A), {
|
|
2151
|
+
key: w.key,
|
|
2120
2152
|
variant: "secondary",
|
|
2121
|
-
disabled:
|
|
2122
|
-
onClick: (
|
|
2153
|
+
disabled: v.value || o.value?.disabled,
|
|
2154
|
+
onClick: (U) => N(w.key)
|
|
2123
2155
|
}, {
|
|
2124
|
-
default:
|
|
2125
|
-
|
|
2156
|
+
default: n(() => [
|
|
2157
|
+
g(l(s.value.example) + " (" + l(w.key) + ")", 1)
|
|
2126
2158
|
]),
|
|
2127
2159
|
_: 2
|
|
2128
2160
|
}, 1032, ["disabled", "onClick"]))), 128))
|
|
2129
2161
|
])
|
|
2130
2162
|
], 64)) : k("", !0),
|
|
2131
|
-
|
|
2132
|
-
|
|
2133
|
-
|
|
2134
|
-
(t(!0),
|
|
2135
|
-
key:
|
|
2136
|
-
"data-job-id":
|
|
2137
|
-
"data-save-state":
|
|
2163
|
+
C("h3", null, l(s.value.operations), 1),
|
|
2164
|
+
o.value && !P.value.length ? (t(), S("p", it, l(s.value.noOperations), 1)) : k("", !0),
|
|
2165
|
+
C("ul", ot, [
|
|
2166
|
+
(t(!0), S(Z, null, de(P.value, (w) => (t(), S("li", {
|
|
2167
|
+
key: w.job_id,
|
|
2168
|
+
"data-job-id": w.job_id,
|
|
2169
|
+
"data-save-state": E(w)
|
|
2138
2170
|
}, [
|
|
2139
|
-
|
|
2140
|
-
|
|
2141
|
-
|
|
2142
|
-
|
|
2143
|
-
|
|
2171
|
+
C("div", null, [
|
|
2172
|
+
C("strong", null, l(w.name), 1),
|
|
2173
|
+
C("p", null, l(s.value[E(w)]) + " · " + l(w.job_id), 1),
|
|
2174
|
+
E(w) === "committed" ? (t(), S("p", rt, l(w.receipt?.path), 1)) : k("", !0),
|
|
2175
|
+
E(w) === "uncertain" ? (t(), $(e(Q), {
|
|
2144
2176
|
key: 1,
|
|
2145
2177
|
tone: "warning",
|
|
2146
2178
|
class: "save-message"
|
|
2147
2179
|
}, {
|
|
2148
|
-
default:
|
|
2149
|
-
|
|
2180
|
+
default: n(() => [
|
|
2181
|
+
g(l(s.value.uncertainHelp), 1)
|
|
2150
2182
|
]),
|
|
2151
2183
|
_: 1
|
|
2152
|
-
})) :
|
|
2184
|
+
})) : E(w) === "interrupted" ? (t(), $(e(Q), {
|
|
2153
2185
|
key: 2,
|
|
2154
2186
|
tone: "warning",
|
|
2155
2187
|
class: "save-message"
|
|
2156
2188
|
}, {
|
|
2157
|
-
default:
|
|
2158
|
-
|
|
2189
|
+
default: n(() => [
|
|
2190
|
+
g(l(s.value.interruptedHelp), 1)
|
|
2159
2191
|
]),
|
|
2160
2192
|
_: 1
|
|
2161
2193
|
})) : k("", !0),
|
|
2162
|
-
|
|
2194
|
+
E(w) === "interrupted" && w.code ? (t(), S("p", dt, l(e(Ve)({ code: w.code }, s.value)), 1)) : k("", !0)
|
|
2163
2195
|
]),
|
|
2164
|
-
|
|
2196
|
+
q(w) ? (t(), $(e(A), {
|
|
2165
2197
|
key: 0,
|
|
2166
2198
|
variant: "secondary",
|
|
2167
|
-
disabled:
|
|
2168
|
-
onClick: (
|
|
2199
|
+
disabled: v.value,
|
|
2200
|
+
onClick: (U) => j(w)
|
|
2169
2201
|
}, {
|
|
2170
|
-
default:
|
|
2171
|
-
|
|
2202
|
+
default: n(() => [
|
|
2203
|
+
g(l(s.value.cancel), 1)
|
|
2172
2204
|
]),
|
|
2173
2205
|
_: 1
|
|
2174
2206
|
}, 8, ["disabled", "onClick"])) : k("", !0)
|
|
2175
|
-
], 8,
|
|
2207
|
+
], 8, ut))), 128))
|
|
2176
2208
|
])
|
|
2177
2209
|
]),
|
|
2178
2210
|
_: 1
|
|
2179
2211
|
}, 8, ["title", "aria-busy"]));
|
|
2180
2212
|
}
|
|
2181
|
-
}),
|
|
2182
|
-
function
|
|
2183
|
-
const
|
|
2184
|
-
if (!
|
|
2185
|
-
return
|
|
2213
|
+
}), Dt = /* @__PURE__ */ ne(vt, [["__scopeId", "data-v-c38db985"]]), He = /* @__PURE__ */ Symbol("authorization");
|
|
2214
|
+
function ct() {
|
|
2215
|
+
const p = Oe(He, void 0);
|
|
2216
|
+
if (!p) throw Error("authorization controls must be placed inside AuthorizationGate");
|
|
2217
|
+
return p;
|
|
2186
2218
|
}
|
|
2187
|
-
const
|
|
2219
|
+
const ft = { class: "authorization-content" }, pt = ["aria-busy", "data-authorization-state"], yt = { class: "authorization-body" }, mt = /* @__PURE__ */ le({
|
|
2188
2220
|
__name: "AuthorizationGate",
|
|
2189
2221
|
props: {
|
|
2190
2222
|
ctx: {},
|
|
2191
2223
|
name: {}
|
|
2192
2224
|
},
|
|
2193
2225
|
emits: ["ready"],
|
|
2194
|
-
setup(
|
|
2195
|
-
const a =
|
|
2196
|
-
let
|
|
2197
|
-
const
|
|
2198
|
-
function
|
|
2199
|
-
if (!
|
|
2200
|
-
return
|
|
2226
|
+
setup(p, { emit: I }) {
|
|
2227
|
+
const a = p, m = I, i = y(), d = y(), s = y(!1), o = y(!1), r = y(!1);
|
|
2228
|
+
let P = [], v = !1, _ = 0, z = !1, x;
|
|
2229
|
+
const b = F(() => aa(a.ctx.locale, a.name ?? a.ctx.displayName ?? "")), D = F(() => i.value || d.value), R = F(() => D.value?.state === "authorization_required"), L = F(() => ["helper_untrusted", "cli_untrusted"].includes(D.value?.reason || "")), E = F(() => R.value && !L.value), q = F(() => D.value?.reason === "credential_not_ready" ? "credential" : "unavailable"), J = F(() => D.value ? R.value ? b.value("title") : D.value.state === "ready" ? b.value("ready") : D.value.state === "not_admin" ? b.value("not_admin.title") : D.value.state === "session_expired" ? b.value("session_expired.title") : b.value(q.value + ".title") : b.value("checking")), G = F(() => R.value ? b.value("purpose") : D.value?.state === "not_admin" ? b.value("not_admin.body") : D.value?.state === "session_expired" ? b.value("session_expired.body") : D.value?.state === "unavailable" ? b.value(q.value + ".body") : b.value("purpose")), K = ["grant_missing", "upgrade_reapproval", "helper_untrusted", "cli_untrusted", "grant_incompatible", "package_identity_changed", "maintenance_task_missing", "maintenance_task_mismatch", "helper_health_rejected", "capability_missing"], O = F(() => K.includes(D.value?.reason || "") ? D.value.reason : "unknown"), H = F(() => L.value ? "next.reinstall" : O.value === "grant_missing" ? "next.install" : O.value === "upgrade_reapproval" || O.value === "grant_incompatible" ? "next.update" : "next.repair");
|
|
2230
|
+
function W(U) {
|
|
2231
|
+
if (!U || U.command !== "authorization" || U.schema_version !== 1 || !["ready", "authorization_required", "not_admin", "session_expired", "unavailable"].includes(U.state) || U.reason === "upgrade_reapproval" && U.state !== "authorization_required") throw Error("invalid status");
|
|
2232
|
+
return U;
|
|
2201
2233
|
}
|
|
2202
|
-
const
|
|
2203
|
-
async function
|
|
2204
|
-
const
|
|
2205
|
-
for (let
|
|
2234
|
+
const j = [1e3, 3e3];
|
|
2235
|
+
async function ee(U) {
|
|
2236
|
+
const M = U === "status" && !r.value ? j : [];
|
|
2237
|
+
for (let Y = 0; ; Y++) {
|
|
2206
2238
|
try {
|
|
2207
|
-
const
|
|
2208
|
-
if (
|
|
2209
|
-
} catch (
|
|
2210
|
-
if (
|
|
2239
|
+
const ae = W(await a.ctx.authorization?.[U]());
|
|
2240
|
+
if (ae.state !== "unavailable" || Y >= M.length) return ae;
|
|
2241
|
+
} catch (ae) {
|
|
2242
|
+
if (ae.code === "session_required" || Y >= M.length) throw ae;
|
|
2211
2243
|
}
|
|
2212
|
-
if (await new Promise((
|
|
2244
|
+
if (await new Promise((ae) => setTimeout(ae, M[Y])), v) throw Error("disposed");
|
|
2213
2245
|
}
|
|
2214
2246
|
}
|
|
2215
|
-
async function
|
|
2216
|
-
if (
|
|
2217
|
-
const
|
|
2218
|
-
|
|
2247
|
+
async function N(U) {
|
|
2248
|
+
if (s.value || v) return;
|
|
2249
|
+
const M = ++_;
|
|
2250
|
+
d.value = U === "request" && i.value?.state === "authorization_required" ? i.value : void 0, s.value = !0, o.value = !1, i.value = void 0;
|
|
2219
2251
|
try {
|
|
2220
|
-
const
|
|
2221
|
-
if (
|
|
2222
|
-
|
|
2223
|
-
} catch (
|
|
2224
|
-
!
|
|
2252
|
+
const Y = await ee(U);
|
|
2253
|
+
if (v || M !== _) return;
|
|
2254
|
+
i.value = Y, r.value = Y.state !== "ready", Y.state === "ready" && T(!0), Y.state === "ready" && m("ready");
|
|
2255
|
+
} catch (Y) {
|
|
2256
|
+
!v && M === _ && (i.value = Y.code === "session_required" ? { command: "authorization", schema_version: 1, state: "session_expired", reason: "session_expired" } : d.value || { command: "authorization", schema_version: 1, state: "unavailable", reason: "service_unavailable" }, o.value = !0, r.value = !0);
|
|
2225
2257
|
} finally {
|
|
2226
|
-
!
|
|
2258
|
+
!v && M === _ && (s.value = !1, d.value = void 0, z && (z = !1, N("status")));
|
|
2227
2259
|
}
|
|
2228
2260
|
}
|
|
2229
|
-
function
|
|
2230
|
-
const
|
|
2231
|
-
|
|
2261
|
+
function T(U) {
|
|
2262
|
+
const M = P;
|
|
2263
|
+
P = [], M.forEach((Y) => Y(U));
|
|
2232
2264
|
}
|
|
2233
|
-
function B(
|
|
2234
|
-
|
|
2265
|
+
function B(U) {
|
|
2266
|
+
r.value = U, U || T(!1);
|
|
2235
2267
|
}
|
|
2236
|
-
function
|
|
2237
|
-
return
|
|
2268
|
+
function w() {
|
|
2269
|
+
return i.value?.state === "ready" ? Promise.resolve(!0) : (s.value || (r.value = !0), new Promise((U) => P.push(U)));
|
|
2238
2270
|
}
|
|
2239
|
-
return
|
|
2240
|
-
|
|
2241
|
-
|
|
2242
|
-
}),
|
|
2271
|
+
return sa(He, { state: F(() => i.value?.state ?? "checking"), requireAuthorization: w, text: b, busy: s, canManage: () => !!a.ctx.authorization?.canManage?.(), revoke: () => N("revoke") }), ve(() => {
|
|
2272
|
+
x = a.ctx.reopen(() => {
|
|
2273
|
+
s.value ? z = !0 : N("status");
|
|
2274
|
+
}), N("status");
|
|
2243
2275
|
}), Le(() => {
|
|
2244
|
-
|
|
2245
|
-
}), (
|
|
2246
|
-
|
|
2247
|
-
|
|
2276
|
+
v = !0, _++, T(!1), typeof x == "function" && x();
|
|
2277
|
+
}), (U, M) => (t(), S(Z, null, [
|
|
2278
|
+
C("div", ft, [
|
|
2279
|
+
Ie(U.$slots, "default", {}, void 0, !0)
|
|
2248
2280
|
]),
|
|
2249
|
-
|
|
2250
|
-
open:
|
|
2251
|
-
title:
|
|
2281
|
+
h(e(Ae), {
|
|
2282
|
+
open: r.value,
|
|
2283
|
+
title: J.value,
|
|
2252
2284
|
width: "480px",
|
|
2253
2285
|
"onUpdate:open": B
|
|
2254
2286
|
}, {
|
|
2255
|
-
footer:
|
|
2256
|
-
|
|
2287
|
+
footer: n(() => [
|
|
2288
|
+
E.value ? (t(), $(e(A), {
|
|
2257
2289
|
key: 0,
|
|
2258
2290
|
variant: "primary",
|
|
2259
|
-
loading:
|
|
2260
|
-
disabled:
|
|
2261
|
-
onClick:
|
|
2291
|
+
loading: s.value,
|
|
2292
|
+
disabled: s.value,
|
|
2293
|
+
onClick: M[0] || (M[0] = (Y) => N("request"))
|
|
2262
2294
|
}, {
|
|
2263
|
-
default:
|
|
2264
|
-
|
|
2295
|
+
default: n(() => [
|
|
2296
|
+
g(l(s.value ? b.value("authorizing") : b.value("authorize")), 1)
|
|
2265
2297
|
]),
|
|
2266
2298
|
_: 1
|
|
2267
|
-
}, 8, ["loading", "disabled"])) : (t(),
|
|
2299
|
+
}, 8, ["loading", "disabled"])) : (t(), $(e(A), {
|
|
2268
2300
|
key: 1,
|
|
2269
2301
|
variant: "primary",
|
|
2270
|
-
loading:
|
|
2271
|
-
disabled:
|
|
2272
|
-
onClick:
|
|
2302
|
+
loading: s.value,
|
|
2303
|
+
disabled: s.value,
|
|
2304
|
+
onClick: M[1] || (M[1] = (Y) => N("status"))
|
|
2273
2305
|
}, {
|
|
2274
|
-
default:
|
|
2275
|
-
|
|
2306
|
+
default: n(() => [
|
|
2307
|
+
g(l(s.value ? b.value("checking") : b.value("retry")), 1)
|
|
2276
2308
|
]),
|
|
2277
2309
|
_: 1
|
|
2278
2310
|
}, 8, ["loading", "disabled"]))
|
|
2279
2311
|
]),
|
|
2280
|
-
default:
|
|
2281
|
-
|
|
2312
|
+
default: n(() => [
|
|
2313
|
+
C("div", {
|
|
2282
2314
|
class: "authorization-view",
|
|
2283
|
-
"aria-busy":
|
|
2284
|
-
"data-authorization-state":
|
|
2315
|
+
"aria-busy": s.value,
|
|
2316
|
+
"data-authorization-state": i.value?.state || "checking"
|
|
2285
2317
|
}, [
|
|
2286
|
-
|
|
2287
|
-
|
|
2318
|
+
C("p", yt, l(G.value), 1),
|
|
2319
|
+
R.value ? (t(), $(e(Q), {
|
|
2288
2320
|
key: 0,
|
|
2289
2321
|
class: "authorization-status",
|
|
2290
|
-
tone: ["grant_missing", "upgrade_reapproval"].includes(
|
|
2291
|
-
title:
|
|
2322
|
+
tone: ["grant_missing", "upgrade_reapproval"].includes(O.value) ? "info" : "warning",
|
|
2323
|
+
title: b.value("reason." + O.value)
|
|
2292
2324
|
}, {
|
|
2293
|
-
default:
|
|
2294
|
-
|
|
2325
|
+
default: n(() => [
|
|
2326
|
+
g(l(b.value(H.value)), 1)
|
|
2295
2327
|
]),
|
|
2296
2328
|
_: 1
|
|
2297
2329
|
}, 8, ["tone", "title"])) : k("", !0),
|
|
2298
|
-
|
|
2330
|
+
o.value ? (t(), $(e(Q), {
|
|
2299
2331
|
key: 1,
|
|
2300
2332
|
class: "authorization-failed",
|
|
2301
2333
|
tone: "warning"
|
|
2302
2334
|
}, {
|
|
2303
|
-
default:
|
|
2304
|
-
|
|
2335
|
+
default: n(() => [
|
|
2336
|
+
g(l(b.value("failed")), 1)
|
|
2305
2337
|
]),
|
|
2306
2338
|
_: 1
|
|
2307
2339
|
})) : k("", !0)
|
|
2308
|
-
], 8,
|
|
2340
|
+
], 8, pt)
|
|
2309
2341
|
]),
|
|
2310
2342
|
_: 1
|
|
2311
2343
|
}, 8, ["open", "title"])
|
|
2312
2344
|
], 64));
|
|
2313
2345
|
}
|
|
2314
|
-
}),
|
|
2346
|
+
}), Tt = /* @__PURE__ */ ne(mt, [["__scopeId", "data-v-e16b5f7d"]]), bt = { class: "authorization-setting" }, kt = {
|
|
2315
2347
|
class: "authorization-state",
|
|
2316
2348
|
role: "status"
|
|
2317
|
-
},
|
|
2349
|
+
}, gt = { class: "authorization-revoke-body" }, ht = /* @__PURE__ */ le({
|
|
2318
2350
|
__name: "AuthorizationSettings",
|
|
2319
|
-
setup(
|
|
2320
|
-
const { state:
|
|
2321
|
-
return (
|
|
2322
|
-
|
|
2323
|
-
title: e(
|
|
2351
|
+
setup(p) {
|
|
2352
|
+
const { state: I, requireAuthorization: a, text: m, busy: i, canManage: d, revoke: s } = ct(), o = y(!1), r = { checking: "checking", ready: "ready", authorization_required: "state.required", not_admin: "not_admin.title", session_expired: "session_expired.title", unavailable: "state.unavailable" };
|
|
2353
|
+
return (P, v) => (t(), S(Z, null, [
|
|
2354
|
+
h(e(ce), {
|
|
2355
|
+
title: e(m)("settings.title"),
|
|
2324
2356
|
collapsible: !1
|
|
2325
2357
|
}, {
|
|
2326
|
-
default:
|
|
2327
|
-
|
|
2328
|
-
label: e(
|
|
2329
|
-
description: e(
|
|
2358
|
+
default: n(() => [
|
|
2359
|
+
h(e(ya), {
|
|
2360
|
+
label: e(m)("settings.status"),
|
|
2361
|
+
description: e(m)("purpose"),
|
|
2330
2362
|
align: "center"
|
|
2331
2363
|
}, {
|
|
2332
|
-
default:
|
|
2333
|
-
|
|
2334
|
-
|
|
2335
|
-
e(
|
|
2364
|
+
default: n(() => [
|
|
2365
|
+
C("div", bt, [
|
|
2366
|
+
C("span", kt, [
|
|
2367
|
+
e(I) === "ready" ? (t(), $(e(_a), {
|
|
2336
2368
|
key: 0,
|
|
2337
2369
|
size: 16,
|
|
2338
2370
|
"aria-hidden": "true"
|
|
2339
2371
|
})) : k("", !0),
|
|
2340
|
-
|
|
2372
|
+
g(l(e(m)(r[e(I)])), 1)
|
|
2341
2373
|
]),
|
|
2342
|
-
e(
|
|
2374
|
+
e(I) === "ready" && e(d)() ? (t(), $(e(A), {
|
|
2343
2375
|
key: 0,
|
|
2344
2376
|
variant: "secondary",
|
|
2345
|
-
disabled: e(
|
|
2346
|
-
onClick:
|
|
2377
|
+
disabled: e(i),
|
|
2378
|
+
onClick: v[0] || (v[0] = (_) => o.value = !0)
|
|
2347
2379
|
}, {
|
|
2348
|
-
default:
|
|
2349
|
-
|
|
2380
|
+
default: n(() => [
|
|
2381
|
+
g(l(e(m)("revoke")), 1)
|
|
2350
2382
|
]),
|
|
2351
2383
|
_: 1
|
|
2352
|
-
}, 8, ["disabled"])) : e(
|
|
2384
|
+
}, 8, ["disabled"])) : e(I) !== "ready" && e(I) !== "checking" ? (t(), $(e(A), {
|
|
2353
2385
|
key: 1,
|
|
2354
2386
|
variant: "secondary",
|
|
2355
|
-
onClick:
|
|
2387
|
+
onClick: v[1] || (v[1] = (_) => e(a)())
|
|
2356
2388
|
}, {
|
|
2357
|
-
default:
|
|
2358
|
-
|
|
2389
|
+
default: n(() => [
|
|
2390
|
+
g(l(e(m)("settings.details")), 1)
|
|
2359
2391
|
]),
|
|
2360
2392
|
_: 1
|
|
2361
2393
|
})) : k("", !0)
|
|
@@ -2366,94 +2398,99 @@ const dt = { class: "authorization-content" }, vt = ["aria-busy", "data-authoriz
|
|
|
2366
2398
|
]),
|
|
2367
2399
|
_: 1
|
|
2368
2400
|
}, 8, ["title"]),
|
|
2369
|
-
|
|
2370
|
-
open:
|
|
2371
|
-
"onUpdate:open":
|
|
2372
|
-
title: e(
|
|
2401
|
+
h(e(Ae), {
|
|
2402
|
+
open: o.value,
|
|
2403
|
+
"onUpdate:open": v[4] || (v[4] = (_) => o.value = _),
|
|
2404
|
+
title: e(m)("revoke.title"),
|
|
2373
2405
|
width: "480px"
|
|
2374
2406
|
}, {
|
|
2375
|
-
footer:
|
|
2376
|
-
|
|
2407
|
+
footer: n(() => [
|
|
2408
|
+
h(e(A), {
|
|
2377
2409
|
variant: "secondary",
|
|
2378
|
-
onClick:
|
|
2410
|
+
onClick: v[2] || (v[2] = (_) => o.value = !1)
|
|
2379
2411
|
}, {
|
|
2380
|
-
default:
|
|
2381
|
-
|
|
2412
|
+
default: n(() => [
|
|
2413
|
+
g(l(e(m)("cancel")), 1)
|
|
2382
2414
|
]),
|
|
2383
2415
|
_: 1
|
|
2384
2416
|
}),
|
|
2385
|
-
|
|
2417
|
+
h(e(A), {
|
|
2386
2418
|
variant: "danger",
|
|
2387
|
-
disabled: e(
|
|
2388
|
-
onClick:
|
|
2389
|
-
|
|
2419
|
+
disabled: e(i),
|
|
2420
|
+
onClick: v[3] || (v[3] = (_) => {
|
|
2421
|
+
o.value = !1, e(s)();
|
|
2390
2422
|
})
|
|
2391
2423
|
}, {
|
|
2392
|
-
default:
|
|
2393
|
-
|
|
2424
|
+
default: n(() => [
|
|
2425
|
+
g(l(e(m)("revoke")), 1)
|
|
2394
2426
|
]),
|
|
2395
2427
|
_: 1
|
|
2396
2428
|
}, 8, ["disabled"])
|
|
2397
2429
|
]),
|
|
2398
|
-
default:
|
|
2399
|
-
|
|
2430
|
+
default: n(() => [
|
|
2431
|
+
C("p", gt, l(e(m)("revoke.body")), 1)
|
|
2400
2432
|
]),
|
|
2401
2433
|
_: 1
|
|
2402
2434
|
}, 8, ["open", "title"])
|
|
2403
2435
|
], 64));
|
|
2404
2436
|
}
|
|
2405
|
-
}),
|
|
2437
|
+
}), Et = /* @__PURE__ */ ne(ht, [["__scopeId", "data-v-f031e7c7"]]);
|
|
2406
2438
|
export {
|
|
2407
|
-
|
|
2408
|
-
|
|
2409
|
-
|
|
2410
|
-
|
|
2411
|
-
|
|
2412
|
-
|
|
2413
|
-
|
|
2414
|
-
|
|
2415
|
-
|
|
2416
|
-
|
|
2417
|
-
|
|
2418
|
-
|
|
2419
|
-
|
|
2420
|
-
|
|
2421
|
-
|
|
2422
|
-
|
|
2423
|
-
|
|
2424
|
-
|
|
2425
|
-
|
|
2426
|
-
|
|
2427
|
-
|
|
2428
|
-
|
|
2429
|
-
|
|
2430
|
-
|
|
2431
|
-
|
|
2432
|
-
|
|
2433
|
-
|
|
2434
|
-
|
|
2435
|
-
|
|
2436
|
-
|
|
2437
|
-
|
|
2438
|
-
|
|
2439
|
-
|
|
2440
|
-
|
|
2441
|
-
|
|
2439
|
+
St as AppShell,
|
|
2440
|
+
Tt as AuthorizationGate,
|
|
2441
|
+
Et as AuthorizationSettings,
|
|
2442
|
+
It as BackgroundPanel,
|
|
2443
|
+
Dt as BackgroundSavePanel,
|
|
2444
|
+
At as DelegatePanel,
|
|
2445
|
+
Ut as ExecutorSettings,
|
|
2446
|
+
wa as ExecutorSetupKey,
|
|
2447
|
+
Bt as FILE_STATION_APP,
|
|
2448
|
+
Ke as FileBrowser,
|
|
2449
|
+
zt as FilesPage,
|
|
2450
|
+
Vt as LoginPage,
|
|
2451
|
+
_e as NasPicker,
|
|
2452
|
+
Pt as PortalSettings,
|
|
2453
|
+
Ot as activePage,
|
|
2454
|
+
Ft as authorizationCatalogs,
|
|
2455
|
+
aa as authorizationCopy,
|
|
2456
|
+
Lt as backgroundCatalogs,
|
|
2457
|
+
Ye as backgroundCopy,
|
|
2458
|
+
Ze as backgroundErrorCopy,
|
|
2459
|
+
Nt as catalogs,
|
|
2460
|
+
We as createBackgroundPickerProvider,
|
|
2461
|
+
Mt as createBackgroundSaveFacade,
|
|
2462
|
+
Kt as createFileTransfers,
|
|
2463
|
+
qe as createNasProvider,
|
|
2464
|
+
xt as createSession,
|
|
2465
|
+
Ht as decodeResponse,
|
|
2466
|
+
Gt as delegateCatalogs,
|
|
2467
|
+
Be as delegateCopy,
|
|
2468
|
+
Jt as encodeRequest,
|
|
2469
|
+
je as errorCopy,
|
|
2470
|
+
Xt as fileStationPath,
|
|
2471
|
+
Pe as format,
|
|
2472
|
+
Qt as identityCatalogs,
|
|
2473
|
+
Qe as identityCopy,
|
|
2474
|
+
Yt as mergeCatalogs,
|
|
2475
|
+
Wt as nasCatalogs,
|
|
2476
|
+
re as nasCopy,
|
|
2442
2477
|
Ee as nasErrorCopy,
|
|
2443
|
-
|
|
2444
|
-
|
|
2445
|
-
|
|
2478
|
+
Zt as openFileInFileStation,
|
|
2479
|
+
jt as openFolderInFileStation,
|
|
2480
|
+
en as protocolCodes,
|
|
2481
|
+
an as protocolOps,
|
|
2482
|
+
ln as protocolSchemas,
|
|
2446
2483
|
De as requestKey,
|
|
2447
|
-
|
|
2484
|
+
tn as saveCatalogs,
|
|
2448
2485
|
Re as saveCopy,
|
|
2449
2486
|
Ve as saveError,
|
|
2450
|
-
|
|
2451
|
-
|
|
2452
|
-
|
|
2453
|
-
|
|
2454
|
-
|
|
2455
|
-
|
|
2456
|
-
|
|
2457
|
-
|
|
2458
|
-
|
|
2487
|
+
ea as scopedPicker,
|
|
2488
|
+
nn as shellCatalogs,
|
|
2489
|
+
Je as shellCopy,
|
|
2490
|
+
sn as shellPages,
|
|
2491
|
+
Xe as uiLocale,
|
|
2492
|
+
on as uiLocales,
|
|
2493
|
+
ct as useAuthorization,
|
|
2494
|
+
Ca as useExecutorSetup,
|
|
2495
|
+
$a as useNasRequest
|
|
2459
2496
|
};
|