@synopackageland/sdk 0.9.5 → 0.9.7
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/i18n/save/de.json +1 -0
- package/dist/i18n/save/en.json +1 -0
- package/dist/i18n/save/es.json +1 -0
- package/dist/i18n/save/fr.json +1 -0
- package/dist/i18n/save/it.json +1 -0
- package/dist/i18n/save/ja.json +1 -0
- package/dist/i18n/save/ko.json +1 -0
- package/dist/i18n/save/zh-CN.json +1 -0
- package/dist/i18n/save/zh-TW.json +1 -0
- package/dist/index.js +2165 -2048
- package/dist/src/background/i18n.d.ts +10 -0
- package/dist/src/context.d.ts +3 -0
- package/dist/src/delegate/save-copy.d.ts +3 -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/src/protocol/v1.d.ts +15 -1
- package/dist/style.css +1 -1
- package/dist/vue.js +1378 -1305
- package/package.json +2 -2
- package/spec/protocol/v1/README.md +72 -9
- package/spec/protocol/v1/errors.json +8 -0
- package/spec/protocol/v1/schema/portal.register.json +11 -0
- package/spec/protocol/v1/schema/portal.unregister.json +11 -0
- package/spec/protocol/v1/vectors/files.jsonl +1 -0
- package/spec/protocol/v1/vectors/portal.jsonl +8 -0
- package/spec/protocol/v1/vectors/status.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
|
|
4
|
-
import { AppLayout as
|
|
5
|
-
import { Timer as
|
|
6
|
-
const
|
|
7
|
-
function
|
|
8
|
-
return
|
|
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(o), 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
83
|
async function R() {
|
|
84
|
-
await
|
|
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
|
|
91
|
+
function $a() {
|
|
92
|
+
const p = y(!1), I = y();
|
|
93
93
|
let a = !1, m = 0, i;
|
|
94
|
-
function
|
|
95
|
-
m++, i?.abort(), i = void 0,
|
|
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
|
-
i =
|
|
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__ */ ie({
|
|
|
121
121
|
description: {}
|
|
122
122
|
},
|
|
123
123
|
emits: ["update:modelValue"],
|
|
124
|
-
setup(
|
|
125
|
-
const a =
|
|
126
|
-
items: a.pages.map((
|
|
127
|
-
}]), o =
|
|
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
|
-
|
|
140
|
+
default: n(() => [
|
|
141
|
+
h(e(oa), { class: "app-page" }, {
|
|
142
|
+
default: n(() => [
|
|
143
|
+
h(e(ua), {
|
|
144
144
|
title: o.value,
|
|
145
|
-
description:
|
|
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__ */ ie({
|
|
|
159
159
|
_: 3
|
|
160
160
|
}));
|
|
161
161
|
}
|
|
162
|
-
}),
|
|
163
|
-
const a =
|
|
164
|
-
for (const [m, i] of
|
|
162
|
+
}), ne = (p, I) => {
|
|
163
|
+
const a = p.__vccOpts || p;
|
|
164
|
+
for (const [m, i] of I)
|
|
165
165
|
a[m] = i;
|
|
166
166
|
return a;
|
|
167
|
-
},
|
|
168
|
-
function
|
|
169
|
-
let a = 0, m =
|
|
170
|
-
for (; m >= 1024 && a <
|
|
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
171
|
m /= 1024, a++;
|
|
172
|
-
return `${new Intl.NumberFormat(
|
|
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
|
|
201
|
-
!
|
|
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
202
|
}
|
|
203
|
-
async function
|
|
204
|
-
const
|
|
205
|
-
if (!
|
|
206
|
-
|
|
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);
|
|
207
207
|
}
|
|
208
|
-
const
|
|
208
|
+
const O = F(() => [
|
|
209
209
|
{ key: "name", label: i.value.nameColumn, sortable: !0 },
|
|
210
210
|
{ key: "kind", label: i.value.kindColumn },
|
|
211
211
|
{ key: "bytes", label: i.value.sizeColumn, align: "right", sortable: !0 }
|
|
212
|
-
]),
|
|
213
|
-
function
|
|
214
|
-
return { id:
|
|
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 };
|
|
215
215
|
}
|
|
216
|
-
function
|
|
217
|
-
|
|
216
|
+
function j(V) {
|
|
217
|
+
_.value = V, m("selected", V?.path);
|
|
218
218
|
}
|
|
219
|
-
function
|
|
220
|
-
|
|
219
|
+
function ee(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
|
-
|
|
222
|
+
function N(V) {
|
|
223
|
+
V.isDir ? Ce(V) : ee(V);
|
|
224
224
|
}
|
|
225
|
-
const
|
|
226
|
-
function
|
|
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
|
|
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
|
-
R.value = { key:
|
|
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
|
-
}), (
|
|
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(
|
|
310
|
+
"aria-busy": e(s),
|
|
311
311
|
"aria-label": i.value.title
|
|
312
312
|
}, [
|
|
313
|
-
|
|
314
|
-
|
|
313
|
+
C("div", Pa, [
|
|
314
|
+
h(e(ze), {
|
|
315
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
|
-
|
|
328
|
+
h(e(ze), {
|
|
329
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
|
-
|
|
342
|
+
h(e(ze), {
|
|
343
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
358
|
"aria-label": i.value.location
|
|
359
359
|
}, [
|
|
360
|
-
|
|
361
|
-
items:
|
|
360
|
+
h(e(da), {
|
|
361
|
+
items: ge.value,
|
|
362
362
|
"collapsed-label": i.value.fullPath,
|
|
363
|
-
onClickItem:
|
|
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
375
|
title: i.value.upload,
|
|
376
|
-
onRejected:
|
|
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
|
-
])) :
|
|
389
|
-
|
|
390
|
-
|
|
388
|
+
])) : k("", !0),
|
|
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
|
-
}, 8, ["disabled"])) :
|
|
401
|
-
e(o) ? (t(),
|
|
400
|
+
}, 8, ["disabled"])) : k("", !0),
|
|
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
|
-
})) :
|
|
410
|
-
e(
|
|
411
|
-
|
|
412
|
-
|
|
409
|
+
})) : k("", !0),
|
|
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
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:
|
|
428
|
-
}, null, 8, ["modelValue", "nodes", "expanded", "expand-label"])) :
|
|
429
|
-
], 8,
|
|
430
|
-
|
|
431
|
-
e(o) ?
|
|
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
|
+
}, null, 8, ["modelValue", "nodes", "expanded", "expand-label"])) : k("", !0)
|
|
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(
|
|
440
|
+
loading: e(s),
|
|
441
441
|
"loading-text": i.value.loading,
|
|
442
442
|
sort: { key: R.value.key === "size" ? "bytes" : R.value.key, direction: R.value.direction },
|
|
443
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
|
-
}, 8, ["disabled"])) :
|
|
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,447 +508,481 @@ 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
|
|
519
|
+
function _() {
|
|
520
520
|
o.value || (i.value = void 0, m("update:open", !1));
|
|
521
521
|
}
|
|
522
|
-
async function
|
|
523
|
-
const
|
|
524
|
-
if (!(!
|
|
525
|
-
if (!
|
|
526
|
-
m("selected",
|
|
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
|
-
o.value = !0,
|
|
529
|
+
o.value = !0, r.value = void 0;
|
|
530
530
|
try {
|
|
531
|
-
const R = await
|
|
532
|
-
if (
|
|
533
|
-
if (!R || typeof R.id != "string" || !R.id || typeof R.username != "string" || !R.username || R.path !==
|
|
534
|
-
m("authorized", R), o.value = !1,
|
|
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
535
|
} catch (R) {
|
|
536
|
-
!
|
|
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":
|
|
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
547
|
"show-close": !o.value,
|
|
548
548
|
width: "800px",
|
|
549
|
-
onEscapeKeyDown:
|
|
550
|
-
o.value &&
|
|
549
|
+
onEscapeKeyDown: b[1] || (b[1] = (D) => {
|
|
550
|
+
o.value && D.preventDefault();
|
|
551
551
|
}),
|
|
552
|
-
onInteractOutside:
|
|
553
|
-
o.value &&
|
|
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
562
|
disabled: o.value,
|
|
563
|
-
onClick:
|
|
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: !i.value || o.value || !!
|
|
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
|
-
})) :
|
|
594
|
-
|
|
593
|
+
})) : k("", !0),
|
|
594
|
+
C("div", {
|
|
595
595
|
class: "nas-picker-content",
|
|
596
596
|
"aria-busy": o.value,
|
|
597
597
|
inert: o.value
|
|
598
598
|
}, [
|
|
599
|
-
|
|
599
|
+
p.open ? (t(), $(Ke, {
|
|
600
600
|
key: 0,
|
|
601
|
-
provider:
|
|
602
|
-
locale:
|
|
603
|
-
mode:
|
|
604
|
-
onSelected:
|
|
605
|
-
}, null, 8, ["provider", "locale", "mode"])) :
|
|
601
|
+
provider: p.provider,
|
|
602
|
+
locale: p.locale,
|
|
603
|
+
mode: p.mode,
|
|
604
|
+
onSelected: b[0] || (b[0] = (D) => i.value = D)
|
|
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, m.value = !1,
|
|
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
|
-
})) :
|
|
658
|
-
m.value ? (t(),
|
|
657
|
+
})) : k("", !0),
|
|
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
|
-
i.value = "folder",
|
|
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
|
-
i.value = "file",
|
|
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(),
|
|
689
|
+
s.value ? (t(), S("p", Ja, l(s.value), 1)) : k("", !0),
|
|
690
|
+
(t(), $(Ke, {
|
|
691
691
|
key: o.value,
|
|
692
|
-
provider: e(
|
|
693
|
-
locale:
|
|
692
|
+
provider: e(r),
|
|
693
|
+
locale: p.ctx.locale,
|
|
694
694
|
transfers: ""
|
|
695
695
|
}, null, 8, ["provider", "locale"])),
|
|
696
|
-
|
|
697
|
-
provider: e(
|
|
698
|
-
locale:
|
|
696
|
+
h(_e, {
|
|
697
|
+
provider: e(r),
|
|
698
|
+
locale: p.ctx.locale,
|
|
699
699
|
mode: i.value,
|
|
700
|
-
open:
|
|
701
|
-
"onUpdate:open":
|
|
702
|
-
onSelected:
|
|
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
|
-
}, 8, ["title"])) :
|
|
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
|
|
714
|
+
setup(p) {
|
|
715
|
+
const I = p, a = I.portal.messages, m = y(), i = y(""), d = y(!1), s = y("");
|
|
716
716
|
let o = !1;
|
|
717
|
-
function
|
|
718
|
-
o || (m.value =
|
|
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
|
-
o || (
|
|
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
|
-
o || (
|
|
736
|
+
o || (d.value = !1);
|
|
737
737
|
}
|
|
738
738
|
}
|
|
739
|
-
return
|
|
740
|
-
|
|
741
|
-
}),
|
|
739
|
+
return ve(() => {
|
|
740
|
+
I.portal.status().then(r);
|
|
741
|
+
}), ue(() => {
|
|
742
742
|
o = !0;
|
|
743
|
-
}), (
|
|
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
|
-
m.value.state === "active" ? (t(),
|
|
751
|
-
|
|
752
|
-
|
|
749
|
+
default: n(() => [
|
|
750
|
+
m.value.state === "active" ? (t(), S("p", Qa, [
|
|
751
|
+
g(l(e(a).link) + " ", 1),
|
|
752
|
+
h(e(Ne), {
|
|
753
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
|
-
])) :
|
|
762
|
-
m.value.canManage ? (t(),
|
|
763
|
-
m.value.
|
|
764
|
-
|
|
765
|
-
|
|
761
|
+
])) : k("", !0),
|
|
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
|
+
key: 0,
|
|
766
|
+
variant: "primary",
|
|
767
|
+
disabled: d.value,
|
|
768
|
+
onClick: z[0] || (z[0] = (x) => v(() => p.portal.register()))
|
|
766
769
|
}, {
|
|
767
|
-
default:
|
|
768
|
-
|
|
770
|
+
default: n(() => [
|
|
771
|
+
g(l(e(a).register), 1)
|
|
772
|
+
]),
|
|
773
|
+
_: 1
|
|
774
|
+
}, 8, ["disabled"])) : (t(), $(e(A), {
|
|
775
|
+
key: 1,
|
|
776
|
+
variant: "primary",
|
|
777
|
+
disabled: d.value,
|
|
778
|
+
onClick: z[1] || (z[1] = (x) => v(() => p.portal.unregister()))
|
|
779
|
+
}, {
|
|
780
|
+
default: n(() => [
|
|
781
|
+
g(l(e(a).unregister), 1)
|
|
782
|
+
]),
|
|
783
|
+
_: 1
|
|
784
|
+
}, 8, ["disabled"]))
|
|
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
|
+
}, {
|
|
790
|
+
default: n(() => [
|
|
791
|
+
h(e(oe), {
|
|
769
792
|
label: e(a).alias,
|
|
770
793
|
"label-for": "portal-alias"
|
|
771
794
|
}, {
|
|
772
|
-
default:
|
|
773
|
-
|
|
795
|
+
default: n(() => [
|
|
796
|
+
h(e(pe), {
|
|
774
797
|
id: "portal-alias",
|
|
775
798
|
modelValue: i.value,
|
|
776
|
-
"onUpdate:modelValue":
|
|
799
|
+
"onUpdate:modelValue": z[2] || (z[2] = (x) => i.value = x),
|
|
777
800
|
maxlength: "64",
|
|
778
801
|
autocomplete: "off",
|
|
779
|
-
disabled:
|
|
802
|
+
disabled: d.value
|
|
780
803
|
}, null, 8, ["modelValue", "disabled"])
|
|
781
804
|
]),
|
|
782
805
|
_: 1
|
|
783
806
|
}, 8, ["label"]),
|
|
784
|
-
|
|
785
|
-
default:
|
|
786
|
-
|
|
807
|
+
h(e(ke), null, {
|
|
808
|
+
default: n(() => [
|
|
809
|
+
h(e(A), {
|
|
787
810
|
type: "submit",
|
|
788
811
|
variant: "primary",
|
|
789
|
-
disabled:
|
|
812
|
+
disabled: d.value
|
|
790
813
|
}, {
|
|
791
|
-
default:
|
|
792
|
-
|
|
814
|
+
default: n(() => [
|
|
815
|
+
g(l(e(a).apply), 1)
|
|
793
816
|
]),
|
|
794
817
|
_: 1
|
|
795
818
|
}, 8, ["disabled"]),
|
|
796
|
-
m.value.state === "active" ? (t(),
|
|
819
|
+
m.value.state === "active" ? (t(), $(e(A), {
|
|
797
820
|
key: 0,
|
|
798
821
|
variant: "secondary",
|
|
799
|
-
disabled:
|
|
800
|
-
onClick:
|
|
822
|
+
disabled: d.value,
|
|
823
|
+
onClick: z[3] || (z[3] = (x) => v(() => p.portal.disable()))
|
|
801
824
|
}, {
|
|
802
|
-
default:
|
|
803
|
-
|
|
825
|
+
default: n(() => [
|
|
826
|
+
g(l(e(a).disable), 1)
|
|
804
827
|
]),
|
|
805
828
|
_: 1
|
|
806
|
-
}, 8, ["disabled"])) :
|
|
829
|
+
}, 8, ["disabled"])) : k("", !0)
|
|
807
830
|
]),
|
|
808
831
|
_: 1
|
|
809
832
|
})
|
|
810
833
|
]),
|
|
811
834
|
_: 1
|
|
812
835
|
}),
|
|
813
|
-
|
|
836
|
+
h(e(A), {
|
|
814
837
|
variant: "secondary",
|
|
815
|
-
onClick:
|
|
838
|
+
onClick: z[5] || (z[5] = (x) => p.portal.openControlPanel())
|
|
816
839
|
}, {
|
|
817
|
-
default:
|
|
818
|
-
|
|
840
|
+
default: n(() => [
|
|
841
|
+
g(l(e(a).advanced), 1)
|
|
819
842
|
]),
|
|
820
843
|
_: 1
|
|
821
|
-
})
|
|
822
|
-
|
|
823
|
-
|
|
844
|
+
}),
|
|
845
|
+
m.value.entry ? (t(), $(e(A), {
|
|
846
|
+
key: 1,
|
|
847
|
+
variant: "secondary",
|
|
848
|
+
disabled: d.value,
|
|
849
|
+
onClick: z[6] || (z[6] = (x) => v(() => p.portal.unregister()))
|
|
850
|
+
}, {
|
|
851
|
+
default: n(() => [
|
|
852
|
+
g(l(e(a).unregister), 1)
|
|
853
|
+
]),
|
|
854
|
+
_: 1
|
|
855
|
+
}, 8, ["disabled"])) : k("", !0)
|
|
856
|
+
], 64)) : m.value.controlPanel ? (t(), $(e(A), {
|
|
857
|
+
key: 3,
|
|
824
858
|
variant: "secondary",
|
|
825
|
-
onClick:
|
|
859
|
+
onClick: z[7] || (z[7] = (x) => p.portal.openControlPanel())
|
|
826
860
|
}, {
|
|
827
|
-
default:
|
|
828
|
-
|
|
861
|
+
default: n(() => [
|
|
862
|
+
g(l(e(a).controlPanel), 1)
|
|
829
863
|
]),
|
|
830
864
|
_: 1
|
|
831
|
-
})) : m.value.state !== "active" ? (t(),
|
|
832
|
-
|
|
833
|
-
key:
|
|
865
|
+
})) : m.value.state !== "active" ? (t(), S("p", Wa, l(e(a).askAdmin), 1)) : k("", !0),
|
|
866
|
+
s.value ? (t(), $(e(Q), {
|
|
867
|
+
key: 5,
|
|
834
868
|
tone: "danger"
|
|
835
869
|
}, {
|
|
836
|
-
default:
|
|
837
|
-
|
|
870
|
+
default: n(() => [
|
|
871
|
+
C("span", Za, l(s.value), 1)
|
|
838
872
|
]),
|
|
839
873
|
_: 1
|
|
840
|
-
})) :
|
|
874
|
+
})) : k("", !0)
|
|
841
875
|
]),
|
|
842
876
|
_: 1
|
|
843
|
-
}, 8, ["title", "aria-busy"])) :
|
|
877
|
+
}, 8, ["title", "aria-busy"])) : k("", !0);
|
|
844
878
|
}
|
|
845
879
|
}), el = ["aria-busy"], al = {
|
|
846
880
|
key: 1,
|
|
847
881
|
role: "status"
|
|
848
|
-
}, ll = { role: "alert" }, tl = { role: "status" }, nl = /* @__PURE__ */
|
|
882
|
+
}, ll = { role: "alert" }, tl = { role: "status" }, nl = /* @__PURE__ */ le({
|
|
849
883
|
__name: "LoginPage",
|
|
850
884
|
props: {
|
|
851
885
|
session: {},
|
|
852
886
|
locale: {}
|
|
853
887
|
},
|
|
854
|
-
setup(
|
|
855
|
-
const
|
|
856
|
-
let
|
|
857
|
-
function
|
|
858
|
-
const
|
|
859
|
-
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;
|
|
860
894
|
}
|
|
861
|
-
async function
|
|
862
|
-
if (!(o.value || !
|
|
863
|
-
o.value = !0,
|
|
895
|
+
async function x() {
|
|
896
|
+
if (!(o.value || !v.value || !m.value || !i.value || s.value && !d.value)) {
|
|
897
|
+
o.value = !0, r.value = "";
|
|
864
898
|
try {
|
|
865
|
-
await
|
|
899
|
+
await I.session.login(m.value, i.value, d.value), i.value = "", d.value = "";
|
|
866
900
|
} catch (R) {
|
|
867
|
-
if (
|
|
868
|
-
|
|
901
|
+
if (_) return;
|
|
902
|
+
d.value = "", R?.code === "otp_required" ? s.value = !0 : (r.value = z(R), i.value = "", s.value = !1);
|
|
869
903
|
} finally {
|
|
870
|
-
|
|
904
|
+
_ || (o.value = !1, s.value && (await na(), _ || P.value?.querySelector("input")?.focus()));
|
|
871
905
|
}
|
|
872
906
|
}
|
|
873
907
|
}
|
|
874
|
-
async function
|
|
908
|
+
async function b() {
|
|
875
909
|
if (!o.value) {
|
|
876
|
-
o.value = !0,
|
|
910
|
+
o.value = !0, r.value = "";
|
|
877
911
|
try {
|
|
878
|
-
await
|
|
912
|
+
await I.session.bootstrap();
|
|
879
913
|
} catch (R) {
|
|
880
|
-
|
|
914
|
+
_ || (r.value = z(R));
|
|
881
915
|
} finally {
|
|
882
|
-
|
|
916
|
+
_ || (o.value = !1);
|
|
883
917
|
}
|
|
884
918
|
}
|
|
885
919
|
}
|
|
886
|
-
function
|
|
887
|
-
i.value = "",
|
|
920
|
+
function D() {
|
|
921
|
+
i.value = "", d.value = "", s.value = !1, r.value = "";
|
|
888
922
|
}
|
|
889
923
|
return Le(() => {
|
|
890
|
-
|
|
891
|
-
}), (R,
|
|
924
|
+
_ = !0, i.value = "", d.value = "";
|
|
925
|
+
}), (R, L) => (t(), S("main", {
|
|
892
926
|
class: "identity-login",
|
|
893
927
|
"aria-busy": o.value
|
|
894
928
|
}, [
|
|
895
|
-
|
|
929
|
+
h(e(ce), {
|
|
896
930
|
title: a.value.title,
|
|
897
931
|
collapsible: !1
|
|
898
932
|
}, {
|
|
899
|
-
default:
|
|
900
|
-
|
|
901
|
-
|
|
933
|
+
default: n(() => [
|
|
934
|
+
C("p", null, l(a.value.intro), 1),
|
|
935
|
+
v.value ? k("", !0) : (t(), $(e(Q), {
|
|
902
936
|
key: 0,
|
|
903
937
|
tone: "warning",
|
|
904
938
|
title: a.value.httpsTitle
|
|
905
939
|
}, {
|
|
906
|
-
default:
|
|
907
|
-
|
|
940
|
+
default: n(() => [
|
|
941
|
+
g(l(a.value.errors.https_required), 1)
|
|
908
942
|
]),
|
|
909
943
|
_: 1
|
|
910
944
|
}, 8, ["title"])),
|
|
911
|
-
|
|
912
|
-
|
|
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), {
|
|
913
947
|
key: 2,
|
|
914
948
|
tone: "danger",
|
|
915
949
|
title: a.value.failedTitle
|
|
916
950
|
}, {
|
|
917
|
-
default:
|
|
918
|
-
|
|
951
|
+
default: n(() => [
|
|
952
|
+
C("span", ll, l(r.value), 1)
|
|
919
953
|
]),
|
|
920
954
|
_: 1
|
|
921
|
-
}, 8, ["title"])) :
|
|
922
|
-
|
|
923
|
-
onSubmit:
|
|
955
|
+
}, 8, ["title"])) : k("", !0),
|
|
956
|
+
h(e(be), {
|
|
957
|
+
onSubmit: me(x, ["prevent"])
|
|
924
958
|
}, {
|
|
925
|
-
default:
|
|
926
|
-
|
|
959
|
+
default: n(() => [
|
|
960
|
+
h(e(oe), {
|
|
927
961
|
label: a.value.account
|
|
928
962
|
}, {
|
|
929
|
-
default:
|
|
930
|
-
|
|
963
|
+
default: n(() => [
|
|
964
|
+
h(e(pe), {
|
|
931
965
|
modelValue: m.value,
|
|
932
|
-
"onUpdate:modelValue":
|
|
966
|
+
"onUpdate:modelValue": L[0] || (L[0] = (E) => m.value = E),
|
|
933
967
|
autocomplete: "username",
|
|
934
|
-
disabled: o.value ||
|
|
968
|
+
disabled: o.value || s.value || !v.value
|
|
935
969
|
}, null, 8, ["modelValue", "disabled"])
|
|
936
970
|
]),
|
|
937
971
|
_: 1
|
|
938
972
|
}, 8, ["label"]),
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
973
|
+
s.value ? (t(), S(Z, { key: 1 }, [
|
|
974
|
+
C("p", tl, l(a.value.otpPrompt), 1),
|
|
975
|
+
C("div", {
|
|
942
976
|
ref_key: "otpField",
|
|
943
|
-
ref:
|
|
977
|
+
ref: P
|
|
944
978
|
}, [
|
|
945
|
-
|
|
979
|
+
h(e(oe), {
|
|
946
980
|
label: a.value.otp
|
|
947
981
|
}, {
|
|
948
|
-
default:
|
|
949
|
-
|
|
950
|
-
modelValue:
|
|
951
|
-
"onUpdate:modelValue":
|
|
982
|
+
default: n(() => [
|
|
983
|
+
h(e(pe), {
|
|
984
|
+
modelValue: d.value,
|
|
985
|
+
"onUpdate:modelValue": L[2] || (L[2] = (E) => d.value = E),
|
|
952
986
|
inputmode: "numeric",
|
|
953
987
|
autocomplete: "one-time-code",
|
|
954
988
|
disabled: o.value
|
|
@@ -957,51 +991,51 @@ const za = ["aria-busy", "aria-label"], Va = { class: "file-toolbar file-locatio
|
|
|
957
991
|
_: 1
|
|
958
992
|
}, 8, ["label"])
|
|
959
993
|
], 512)
|
|
960
|
-
], 64)) : (t(),
|
|
994
|
+
], 64)) : (t(), $(e(oe), {
|
|
961
995
|
key: 0,
|
|
962
996
|
label: a.value.password
|
|
963
997
|
}, {
|
|
964
|
-
default:
|
|
965
|
-
|
|
998
|
+
default: n(() => [
|
|
999
|
+
h(e(pe), {
|
|
966
1000
|
modelValue: i.value,
|
|
967
|
-
"onUpdate:modelValue":
|
|
1001
|
+
"onUpdate:modelValue": L[1] || (L[1] = (E) => i.value = E),
|
|
968
1002
|
type: "password",
|
|
969
1003
|
autocomplete: "current-password",
|
|
970
|
-
disabled: o.value || !
|
|
1004
|
+
disabled: o.value || !v.value
|
|
971
1005
|
}, null, 8, ["modelValue", "disabled"])
|
|
972
1006
|
]),
|
|
973
1007
|
_: 1
|
|
974
1008
|
}, 8, ["label"])),
|
|
975
|
-
|
|
976
|
-
default:
|
|
977
|
-
|
|
1009
|
+
h(e(ke), null, {
|
|
1010
|
+
default: n(() => [
|
|
1011
|
+
h(e(A), {
|
|
978
1012
|
type: "submit",
|
|
979
1013
|
variant: "primary",
|
|
980
|
-
disabled: o.value || !
|
|
1014
|
+
disabled: o.value || !v.value || !m.value || !i.value || s.value && !d.value
|
|
981
1015
|
}, {
|
|
982
|
-
default:
|
|
983
|
-
|
|
1016
|
+
default: n(() => [
|
|
1017
|
+
g(l(o.value ? a.value.signingIn : s.value ? a.value.verify : a.value.signIn), 1)
|
|
984
1018
|
]),
|
|
985
1019
|
_: 1
|
|
986
1020
|
}, 8, ["disabled"]),
|
|
987
|
-
|
|
1021
|
+
s.value ? (t(), $(e(A), {
|
|
988
1022
|
key: 0,
|
|
989
1023
|
variant: "secondary",
|
|
990
1024
|
disabled: o.value,
|
|
991
|
-
onClick:
|
|
1025
|
+
onClick: D
|
|
992
1026
|
}, {
|
|
993
|
-
default:
|
|
994
|
-
|
|
1027
|
+
default: n(() => [
|
|
1028
|
+
g(l(a.value.otherAccount), 1)
|
|
995
1029
|
]),
|
|
996
1030
|
_: 1
|
|
997
|
-
}, 8, ["disabled"])) : (t(),
|
|
1031
|
+
}, 8, ["disabled"])) : (t(), $(e(A), {
|
|
998
1032
|
key: 1,
|
|
999
1033
|
variant: "secondary",
|
|
1000
|
-
disabled: o.value || !
|
|
1001
|
-
onClick:
|
|
1034
|
+
disabled: o.value || !v.value,
|
|
1035
|
+
onClick: b
|
|
1002
1036
|
}, {
|
|
1003
|
-
default:
|
|
1004
|
-
|
|
1037
|
+
default: n(() => [
|
|
1038
|
+
g(l(a.value.continueDSM), 1)
|
|
1005
1039
|
]),
|
|
1006
1040
|
_: 1
|
|
1007
1041
|
}, 8, ["disabled"]))
|
|
@@ -1016,7 +1050,7 @@ const za = ["aria-busy", "aria-label"], Va = { class: "file-toolbar file-locatio
|
|
|
1016
1050
|
}, 8, ["title"])
|
|
1017
1051
|
], 8, el));
|
|
1018
1052
|
}
|
|
1019
|
-
}),
|
|
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 = {
|
|
1020
1054
|
key: 0,
|
|
1021
1055
|
role: "status",
|
|
1022
1056
|
"data-bg-picked": ""
|
|
@@ -1026,325 +1060,359 @@ const za = ["aria-busy", "aria-label"], Va = { class: "file-toolbar file-locatio
|
|
|
1026
1060
|
}, ml = ["data-job-state", "data-job-id"], bl = { class: "nas-folder-name" }, kl = {
|
|
1027
1061
|
key: 0,
|
|
1028
1062
|
class: "integration-help"
|
|
1063
|
+
}, gl = {
|
|
1064
|
+
key: 1,
|
|
1065
|
+
class: "integration-help"
|
|
1029
1066
|
}, hl = {
|
|
1030
|
-
key:
|
|
1067
|
+
key: 2,
|
|
1068
|
+
class: "integration-help"
|
|
1069
|
+
}, _l = {
|
|
1070
|
+
key: 3,
|
|
1031
1071
|
class: "integration-help"
|
|
1032
|
-
},
|
|
1072
|
+
}, wl = {
|
|
1073
|
+
key: 9,
|
|
1074
|
+
class: "integration-help"
|
|
1075
|
+
}, Cl = ["aria-label"], $l = { class: "integration-help" }, xl = { key: 1 }, Sl = {
|
|
1033
1076
|
key: 2,
|
|
1034
1077
|
class: "integration-jobs"
|
|
1035
|
-
},
|
|
1078
|
+
}, zl = ["data-schedule-id"], Pl = { class: "nas-folder-name" }, Vl = {
|
|
1036
1079
|
key: 0,
|
|
1037
1080
|
class: "integration-help"
|
|
1038
|
-
},
|
|
1081
|
+
}, Il = {
|
|
1039
1082
|
key: 1,
|
|
1040
1083
|
class: "integration-help"
|
|
1041
|
-
},
|
|
1084
|
+
}, Ul = { class: "integration-help" }, Al = { class: "integration-actions" }, Dl = { class: "integration-actions" }, Tl = { class: "integration-actions" }, El = /* @__PURE__ */ le({
|
|
1042
1085
|
__name: "BackgroundPanel",
|
|
1043
1086
|
props: {
|
|
1044
1087
|
ctx: {}
|
|
1045
1088
|
},
|
|
1046
|
-
setup(
|
|
1047
|
-
const
|
|
1048
|
-
let
|
|
1049
|
-
const
|
|
1050
|
-
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) {
|
|
1051
1094
|
try {
|
|
1052
|
-
return await
|
|
1053
|
-
} catch (
|
|
1054
|
-
if (
|
|
1055
|
-
|
|
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);
|
|
1056
1099
|
return;
|
|
1057
1100
|
}
|
|
1058
1101
|
}
|
|
1059
|
-
async function
|
|
1060
|
-
if (!(
|
|
1102
|
+
async function T() {
|
|
1103
|
+
if (!(O || R.value)) {
|
|
1061
1104
|
R.value = !0;
|
|
1062
1105
|
try {
|
|
1063
|
-
const
|
|
1064
|
-
if (!
|
|
1065
|
-
if (!
|
|
1066
|
-
|
|
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" };
|
|
1067
1110
|
return;
|
|
1068
1111
|
}
|
|
1069
|
-
o.value = !1, i.value =
|
|
1070
|
-
const
|
|
1071
|
-
|
|
1072
|
-
const
|
|
1073
|
-
|
|
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);
|
|
1074
1117
|
} finally {
|
|
1075
1118
|
R.value = !1;
|
|
1076
1119
|
}
|
|
1077
1120
|
}
|
|
1078
1121
|
}
|
|
1079
|
-
function
|
|
1080
|
-
|
|
1081
|
-
|
|
1122
|
+
function B() {
|
|
1123
|
+
K || (K = setInterval(() => {
|
|
1124
|
+
T();
|
|
1082
1125
|
}, 3e3));
|
|
1083
1126
|
}
|
|
1084
|
-
async function
|
|
1085
|
-
if (!
|
|
1086
|
-
|
|
1127
|
+
async function w(u) {
|
|
1128
|
+
if (!r.value) {
|
|
1129
|
+
r.value = !0, s.value = void 0;
|
|
1087
1130
|
try {
|
|
1088
|
-
await
|
|
1131
|
+
await u(), await T(), (P.value.some((f) => f.enabled) || d.value.some((f) => !H(f))) && B();
|
|
1089
1132
|
} finally {
|
|
1090
|
-
|
|
1133
|
+
O || (r.value = !1);
|
|
1091
1134
|
}
|
|
1092
1135
|
}
|
|
1093
1136
|
}
|
|
1094
|
-
const
|
|
1095
|
-
if (!
|
|
1096
|
-
await
|
|
1097
|
-
}),
|
|
1098
|
-
|
|
1099
|
-
},
|
|
1100
|
-
if (!
|
|
1101
|
-
await
|
|
1102
|
-
}),
|
|
1103
|
-
if (!
|
|
1104
|
-
await
|
|
1105
|
-
}),
|
|
1106
|
-
if (!
|
|
1107
|
-
await
|
|
1108
|
-
}),
|
|
1109
|
-
const
|
|
1110
|
-
return Number.isFinite(
|
|
1111
|
-
},
|
|
1112
|
-
const
|
|
1113
|
-
|
|
1114
|
-
},
|
|
1115
|
-
if (!
|
|
1116
|
-
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);
|
|
1117
1160
|
});
|
|
1118
|
-
async function
|
|
1119
|
-
const
|
|
1120
|
-
!
|
|
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`);
|
|
1121
1164
|
}
|
|
1122
|
-
return
|
|
1123
|
-
|
|
1124
|
-
(
|
|
1165
|
+
return ve(() => {
|
|
1166
|
+
T().then(() => {
|
|
1167
|
+
(P.value.some((u) => u.enabled) || d.value.some((u) => !H(u))) && B();
|
|
1125
1168
|
});
|
|
1126
|
-
}),
|
|
1127
|
-
|
|
1128
|
-
}), (
|
|
1129
|
-
"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,
|
|
1130
1173
|
title: a.value.title,
|
|
1131
1174
|
collapsible: !1,
|
|
1132
1175
|
"data-background-panel": ""
|
|
1133
1176
|
}, {
|
|
1134
|
-
default:
|
|
1135
|
-
o.value ? (t(),
|
|
1177
|
+
default: n(() => [
|
|
1178
|
+
o.value ? (t(), $(e(Q), {
|
|
1136
1179
|
key: 0,
|
|
1137
1180
|
tone: "warning"
|
|
1138
1181
|
}, {
|
|
1139
|
-
default:
|
|
1140
|
-
|
|
1182
|
+
default: n(() => [
|
|
1183
|
+
g(l(a.value.unsupported), 1)
|
|
1141
1184
|
]),
|
|
1142
1185
|
_: 1
|
|
1143
|
-
})) : (t(),
|
|
1144
|
-
|
|
1145
|
-
|
|
1186
|
+
})) : (t(), S(Z, { key: 1 }, [
|
|
1187
|
+
C("p", sl, l(a.value.help), 1),
|
|
1188
|
+
s.value ? (t(), $(e(Q), {
|
|
1146
1189
|
key: 0,
|
|
1147
1190
|
tone: "danger",
|
|
1148
1191
|
role: "alert"
|
|
1149
1192
|
}, {
|
|
1150
|
-
default:
|
|
1151
|
-
|
|
1193
|
+
default: n(() => [
|
|
1194
|
+
g(l(e(Ze)(s.value, a.value)), 1)
|
|
1152
1195
|
]),
|
|
1153
1196
|
_: 1
|
|
1154
|
-
})) :
|
|
1155
|
-
i.value ? (t(),
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1197
|
+
})) : k("", !0),
|
|
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), {
|
|
1162
1205
|
variant: "secondary",
|
|
1163
|
-
disabled:
|
|
1164
|
-
onClick:
|
|
1206
|
+
disabled: r.value,
|
|
1207
|
+
onClick: T
|
|
1165
1208
|
}, {
|
|
1166
|
-
default:
|
|
1167
|
-
|
|
1209
|
+
default: n(() => [
|
|
1210
|
+
g(l(a.value.refresh), 1)
|
|
1168
1211
|
]),
|
|
1169
1212
|
_: 1
|
|
1170
1213
|
}, 8, ["disabled"])
|
|
1171
1214
|
]),
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1215
|
+
C("template", null, [
|
|
1216
|
+
C("div", vl, [
|
|
1217
|
+
h(e(A), {
|
|
1175
1218
|
variant: "secondary",
|
|
1176
|
-
disabled:
|
|
1177
|
-
onClick:
|
|
1219
|
+
disabled: r.value,
|
|
1220
|
+
onClick: f[0] || (f[0] = (c) => L.value = !0)
|
|
1178
1221
|
}, {
|
|
1179
|
-
default:
|
|
1180
|
-
|
|
1222
|
+
default: n(() => [
|
|
1223
|
+
g(l(a.value.chooseFile), 1)
|
|
1181
1224
|
]),
|
|
1182
1225
|
_: 1
|
|
1183
1226
|
}, 8, ["disabled"]),
|
|
1184
|
-
|
|
1227
|
+
h(e(A), {
|
|
1185
1228
|
variant: "primary",
|
|
1186
|
-
disabled:
|
|
1187
|
-
onClick:
|
|
1229
|
+
disabled: r.value || !E.value,
|
|
1230
|
+
onClick: xe
|
|
1188
1231
|
}, {
|
|
1189
|
-
default:
|
|
1190
|
-
|
|
1232
|
+
default: n(() => [
|
|
1233
|
+
g(l(a.value.submit), 1)
|
|
1191
1234
|
]),
|
|
1192
1235
|
_: 1
|
|
1193
1236
|
}, 8, ["disabled"])
|
|
1194
1237
|
]),
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
open:
|
|
1198
|
-
"onUpdate:open":
|
|
1199
|
-
locale:
|
|
1200
|
-
provider: e(
|
|
1238
|
+
E.value ? (t(), S("p", cl, l(m(a.value.chosen, { path: `${E.value.folder}/${E.value.relative}` })), 1)) : k("", !0),
|
|
1239
|
+
h(_e, {
|
|
1240
|
+
open: L.value,
|
|
1241
|
+
"onUpdate:open": f[1] || (f[1] = (c) => L.value = c),
|
|
1242
|
+
locale: p.ctx.locale,
|
|
1243
|
+
provider: e(G),
|
|
1201
1244
|
mode: "file",
|
|
1202
1245
|
title: a.value.pickerTitle,
|
|
1203
1246
|
description: a.value.pickerConsent,
|
|
1204
|
-
onSelected:
|
|
1247
|
+
onSelected: $e
|
|
1205
1248
|
}, null, 8, ["open", "locale", "provider", "title", "description"])
|
|
1206
1249
|
]),
|
|
1207
|
-
|
|
1250
|
+
D.value && i.value.admin ? (t(), $(e(Q), {
|
|
1208
1251
|
key: 0,
|
|
1209
1252
|
tone: "warning"
|
|
1210
1253
|
}, {
|
|
1211
|
-
default:
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1254
|
+
default: n(() => [
|
|
1255
|
+
C("p", null, l(m(a.value.purgeConfirm, { user: D.value.user, uid: D.value.uid })), 1),
|
|
1256
|
+
C("div", fl, [
|
|
1257
|
+
h(e(A), {
|
|
1215
1258
|
variant: "secondary",
|
|
1216
|
-
disabled:
|
|
1217
|
-
onClick:
|
|
1259
|
+
disabled: r.value,
|
|
1260
|
+
onClick: U
|
|
1218
1261
|
}, {
|
|
1219
|
-
default:
|
|
1220
|
-
|
|
1262
|
+
default: n(() => [
|
|
1263
|
+
g(l(a.value.confirmPurge), 1)
|
|
1221
1264
|
]),
|
|
1222
1265
|
_: 1
|
|
1223
1266
|
}, 8, ["disabled"]),
|
|
1224
|
-
|
|
1267
|
+
h(e(A), {
|
|
1225
1268
|
variant: "secondary",
|
|
1226
|
-
disabled:
|
|
1227
|
-
onClick:
|
|
1269
|
+
disabled: r.value,
|
|
1270
|
+
onClick: f[2] || (f[2] = (c) => D.value = void 0)
|
|
1228
1271
|
}, {
|
|
1229
|
-
default:
|
|
1230
|
-
|
|
1272
|
+
default: n(() => [
|
|
1273
|
+
g(l(a.value.keepJobs), 1)
|
|
1231
1274
|
]),
|
|
1232
1275
|
_: 1
|
|
1233
1276
|
}, 8, ["disabled"])
|
|
1234
1277
|
])
|
|
1235
1278
|
]),
|
|
1236
1279
|
_: 1
|
|
1237
|
-
})) :
|
|
1238
|
-
|
|
1239
|
-
(t(!0),
|
|
1240
|
-
key:
|
|
1241
|
-
"data-job-state":
|
|
1242
|
-
"data-job-id":
|
|
1280
|
+
})) : k("", !0),
|
|
1281
|
+
d.value.length ? (t(), S("ul", yl, [
|
|
1282
|
+
(t(!0), S(Z, null, de(d.value, (c) => (t(), S("li", {
|
|
1283
|
+
key: c.id,
|
|
1284
|
+
"data-job-state": c.state,
|
|
1285
|
+
"data-job-id": c.id
|
|
1243
1286
|
}, [
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1287
|
+
C("span", bl, l(c.name) + " — " + l(ee(c)), 1),
|
|
1288
|
+
c.progress?.total ? (t(), S("span", kl, l(m(a.value.progressItems, { done: c.progress.done, count: c.progress.total })), 1)) : k("", !0),
|
|
1289
|
+
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),
|
|
1290
|
+
c.progress?.item ? (t(), S("span", hl, l(m(a.value.progressItem, { item: c.progress.item })), 1)) : k("", !0),
|
|
1291
|
+
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),
|
|
1292
|
+
i.value.admin && c.submitter ? (t(), $(e(A), {
|
|
1293
|
+
key: 4,
|
|
1248
1294
|
variant: "secondary",
|
|
1249
|
-
disabled:
|
|
1250
|
-
onClick: (
|
|
1295
|
+
disabled: r.value,
|
|
1296
|
+
onClick: (X) => D.value = c.submitter
|
|
1251
1297
|
}, {
|
|
1252
|
-
default:
|
|
1253
|
-
|
|
1298
|
+
default: n(() => [
|
|
1299
|
+
g(l(a.value.purgeOwner), 1)
|
|
1254
1300
|
]),
|
|
1255
1301
|
_: 1
|
|
1256
|
-
}, 8, ["disabled", "onClick"])) :
|
|
1257
|
-
|
|
1258
|
-
key:
|
|
1302
|
+
}, 8, ["disabled", "onClick"])) : k("", !0),
|
|
1303
|
+
!H(c) && !c.pauseRequested && !c.delegation_id ? (t(), $(e(A), {
|
|
1304
|
+
key: 5,
|
|
1259
1305
|
variant: "secondary",
|
|
1260
|
-
disabled:
|
|
1261
|
-
onClick: (
|
|
1306
|
+
disabled: r.value,
|
|
1307
|
+
onClick: (X) => ye(c.id)
|
|
1262
1308
|
}, {
|
|
1263
|
-
default:
|
|
1264
|
-
|
|
1309
|
+
default: n(() => [
|
|
1310
|
+
g(l(a.value.pause), 1)
|
|
1311
|
+
]),
|
|
1312
|
+
_: 1
|
|
1313
|
+
}, 8, ["disabled", "onClick"])) : k("", !0),
|
|
1314
|
+
c.state === "paused" || j(c) ? (t(), $(e(A), {
|
|
1315
|
+
key: 6,
|
|
1316
|
+
variant: "secondary",
|
|
1317
|
+
disabled: r.value,
|
|
1318
|
+
onClick: (X) => he(c.id)
|
|
1319
|
+
}, {
|
|
1320
|
+
default: n(() => [
|
|
1321
|
+
g(l(a.value.resume), 1)
|
|
1322
|
+
]),
|
|
1323
|
+
_: 1
|
|
1324
|
+
}, 8, ["disabled", "onClick"])) : k("", !0),
|
|
1325
|
+
W(c) ? k("", !0) : (t(), $(e(A), {
|
|
1326
|
+
key: 7,
|
|
1327
|
+
variant: "secondary",
|
|
1328
|
+
disabled: r.value,
|
|
1329
|
+
onClick: (X) => ie(c.id)
|
|
1330
|
+
}, {
|
|
1331
|
+
default: n(() => [
|
|
1332
|
+
g(l(a.value.cancel), 1)
|
|
1265
1333
|
]),
|
|
1266
1334
|
_: 1
|
|
1267
1335
|
}, 8, ["disabled", "onClick"])),
|
|
1268
|
-
|
|
1269
|
-
key:
|
|
1336
|
+
fe(c) ? (t(), $(e(A), {
|
|
1337
|
+
key: 8,
|
|
1270
1338
|
variant: "secondary",
|
|
1271
|
-
disabled:
|
|
1272
|
-
onClick: (
|
|
1339
|
+
disabled: r.value,
|
|
1340
|
+
onClick: (X) => Y(c)
|
|
1273
1341
|
}, {
|
|
1274
|
-
default:
|
|
1275
|
-
|
|
1342
|
+
default: n(() => [
|
|
1343
|
+
g(l(a.value.scheduleCopy), 1)
|
|
1276
1344
|
]),
|
|
1277
1345
|
_: 1
|
|
1278
|
-
}, 8, ["disabled", "onClick"])) :
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
key:
|
|
1346
|
+
}, 8, ["disabled", "onClick"])) : k("", !0),
|
|
1347
|
+
c.scheduleId ? (t(), S("span", wl, l(a.value.scheduledJob), 1)) : k("", !0),
|
|
1348
|
+
c.state === "succeeded" ? (t(), $(e(A), {
|
|
1349
|
+
key: 10,
|
|
1282
1350
|
variant: "secondary",
|
|
1283
|
-
disabled:
|
|
1284
|
-
onClick: (
|
|
1351
|
+
disabled: r.value,
|
|
1352
|
+
onClick: (X) => V(c)
|
|
1285
1353
|
}, {
|
|
1286
|
-
default:
|
|
1287
|
-
|
|
1354
|
+
default: n(() => [
|
|
1355
|
+
g(l(a.value.result), 1)
|
|
1288
1356
|
]),
|
|
1289
1357
|
_: 1
|
|
1290
|
-
}, 8, ["disabled", "onClick"])) :
|
|
1358
|
+
}, 8, ["disabled", "onClick"])) : k("", !0)
|
|
1291
1359
|
], 8, ml))), 128))
|
|
1292
|
-
])) : (t(),
|
|
1293
|
-
|
|
1360
|
+
])) : (t(), S("p", pl, l(a.value.noJobs), 1)),
|
|
1361
|
+
C("section", {
|
|
1294
1362
|
"data-bg-schedules": "",
|
|
1295
1363
|
class: "bg-schedules",
|
|
1296
1364
|
"aria-label": a.value.schedulesTitle
|
|
1297
1365
|
}, [
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1366
|
+
C("h3", null, l(a.value.schedulesTitle), 1),
|
|
1367
|
+
C("p", $l, l(a.value.scheduleHelp), 1),
|
|
1368
|
+
v.value ? (t(), $(e(be), {
|
|
1301
1369
|
key: 0,
|
|
1302
1370
|
class: "bg-schedule-form",
|
|
1303
|
-
onSubmit:
|
|
1371
|
+
onSubmit: me(ae, ["prevent"])
|
|
1304
1372
|
}, {
|
|
1305
|
-
default:
|
|
1306
|
-
|
|
1307
|
-
|
|
1373
|
+
default: n(() => [
|
|
1374
|
+
C("p", null, l(m(a.value.scheduleSource, { name: v.value.name })), 1),
|
|
1375
|
+
h(e(oe), {
|
|
1308
1376
|
label: a.value.interval
|
|
1309
1377
|
}, {
|
|
1310
|
-
default:
|
|
1311
|
-
|
|
1312
|
-
modelValue:
|
|
1313
|
-
"onUpdate:modelValue":
|
|
1378
|
+
default: n(() => [
|
|
1379
|
+
h(e(Me), {
|
|
1380
|
+
modelValue: z.value,
|
|
1381
|
+
"onUpdate:modelValue": f[3] || (f[3] = (c) => z.value = c),
|
|
1314
1382
|
"data-schedule-interval": "",
|
|
1315
|
-
options:
|
|
1316
|
-
disabled:
|
|
1383
|
+
options: M.value,
|
|
1384
|
+
disabled: r.value
|
|
1317
1385
|
}, null, 8, ["modelValue", "options", "disabled"])
|
|
1318
1386
|
]),
|
|
1319
1387
|
_: 1
|
|
1320
1388
|
}, 8, ["label"]),
|
|
1321
|
-
|
|
1322
|
-
modelValue:
|
|
1323
|
-
"onUpdate:modelValue":
|
|
1389
|
+
h(e(pa), {
|
|
1390
|
+
modelValue: _.value,
|
|
1391
|
+
"onUpdate:modelValue": f[4] || (f[4] = (c) => _.value = c),
|
|
1324
1392
|
"data-schedule-consent": "",
|
|
1325
|
-
disabled:
|
|
1393
|
+
disabled: r.value,
|
|
1326
1394
|
label: a.value.scheduleConsent
|
|
1327
1395
|
}, null, 8, ["modelValue", "disabled", "label"]),
|
|
1328
|
-
|
|
1329
|
-
default:
|
|
1330
|
-
|
|
1396
|
+
h(e(ke), null, {
|
|
1397
|
+
default: n(() => [
|
|
1398
|
+
h(e(A), {
|
|
1331
1399
|
type: "submit",
|
|
1332
1400
|
variant: "primary",
|
|
1333
|
-
disabled:
|
|
1401
|
+
disabled: r.value || !_.value
|
|
1334
1402
|
}, {
|
|
1335
|
-
default:
|
|
1336
|
-
|
|
1403
|
+
default: n(() => [
|
|
1404
|
+
g(l(a.value.createSchedule), 1)
|
|
1337
1405
|
]),
|
|
1338
1406
|
_: 1
|
|
1339
1407
|
}, 8, ["disabled"]),
|
|
1340
|
-
|
|
1408
|
+
h(e(A), {
|
|
1341
1409
|
type: "button",
|
|
1342
1410
|
variant: "secondary",
|
|
1343
|
-
disabled:
|
|
1344
|
-
onClick:
|
|
1411
|
+
disabled: r.value,
|
|
1412
|
+
onClick: f[5] || (f[5] = (c) => v.value = void 0)
|
|
1345
1413
|
}, {
|
|
1346
|
-
default:
|
|
1347
|
-
|
|
1414
|
+
default: n(() => [
|
|
1415
|
+
g(l(a.value.cancel), 1)
|
|
1348
1416
|
]),
|
|
1349
1417
|
_: 1
|
|
1350
1418
|
}, 8, ["disabled"])
|
|
@@ -1353,148 +1421,148 @@ const za = ["aria-busy", "aria-label"], Va = { class: "file-toolbar file-locatio
|
|
|
1353
1421
|
})
|
|
1354
1422
|
]),
|
|
1355
1423
|
_: 1
|
|
1356
|
-
})) :
|
|
1357
|
-
|
|
1358
|
-
(t(!0),
|
|
1359
|
-
key:
|
|
1360
|
-
"data-schedule-id":
|
|
1424
|
+
})) : k("", !0),
|
|
1425
|
+
P.value.length ? (t(), S("ul", Sl, [
|
|
1426
|
+
(t(!0), S(Z, null, de(P.value, (c) => (t(), S("li", {
|
|
1427
|
+
key: c.id,
|
|
1428
|
+
"data-schedule-id": c.id
|
|
1361
1429
|
}, [
|
|
1362
|
-
|
|
1363
|
-
i.value.admin ? (t(),
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1430
|
+
C("span", Pl, l(c.name) + " — " + l(c.enabled ? a.value.scheduleOn : a.value.scheduleOff), 1),
|
|
1431
|
+
i.value.admin ? (t(), S("span", Vl, l(m(a.value.owner, { user: c.owner.user, uid: c.owner.uid })), 1)) : k("", !0),
|
|
1432
|
+
c.enabled ? (t(), S("span", Il, l(m(a.value.nextRun, { time: Ce(c.nextAt) })), 1)) : k("", !0),
|
|
1433
|
+
C("span", Ul, l(m(a.value.missedRuns, { count: c.missed })), 1),
|
|
1434
|
+
c.reason === "worker-changed" ? (t(), $(e(Q), {
|
|
1367
1435
|
key: 2,
|
|
1368
1436
|
tone: "warning"
|
|
1369
1437
|
}, {
|
|
1370
|
-
default:
|
|
1371
|
-
|
|
1438
|
+
default: n(() => [
|
|
1439
|
+
g(l(a.value.revisionChanged), 1)
|
|
1372
1440
|
]),
|
|
1373
1441
|
_: 1
|
|
1374
|
-
})) :
|
|
1442
|
+
})) : c.reason === "input-unavailable" ? (t(), $(e(Q), {
|
|
1375
1443
|
key: 3,
|
|
1376
1444
|
tone: "warning"
|
|
1377
1445
|
}, {
|
|
1378
|
-
default:
|
|
1379
|
-
|
|
1446
|
+
default: n(() => [
|
|
1447
|
+
g(l(a.value.errors["input-unavailable"]), 1)
|
|
1380
1448
|
]),
|
|
1381
1449
|
_: 1
|
|
1382
|
-
})) :
|
|
1383
|
-
|
|
1384
|
-
|
|
1450
|
+
})) : k("", !0),
|
|
1451
|
+
C("div", Al, [
|
|
1452
|
+
c.enabled ? (t(), $(e(A), {
|
|
1385
1453
|
key: 0,
|
|
1386
1454
|
variant: "secondary",
|
|
1387
|
-
disabled:
|
|
1388
|
-
onClick: (
|
|
1455
|
+
disabled: r.value,
|
|
1456
|
+
onClick: (X) => se(c.id)
|
|
1389
1457
|
}, {
|
|
1390
|
-
default:
|
|
1391
|
-
|
|
1458
|
+
default: n(() => [
|
|
1459
|
+
g(l(a.value.disableSchedule), 1)
|
|
1392
1460
|
]),
|
|
1393
1461
|
_: 1
|
|
1394
|
-
}, 8, ["disabled", "onClick"])) : i.value.admin ? (t(),
|
|
1462
|
+
}, 8, ["disabled", "onClick"])) : i.value.admin ? (t(), $(e(A), {
|
|
1395
1463
|
key: 1,
|
|
1396
1464
|
variant: "secondary",
|
|
1397
|
-
disabled:
|
|
1398
|
-
onClick: (
|
|
1465
|
+
disabled: r.value,
|
|
1466
|
+
onClick: (X) => b.value = c
|
|
1399
1467
|
}, {
|
|
1400
|
-
default:
|
|
1401
|
-
|
|
1468
|
+
default: n(() => [
|
|
1469
|
+
g(l(a.value.enableSchedule), 1)
|
|
1402
1470
|
]),
|
|
1403
1471
|
_: 1
|
|
1404
|
-
}, 8, ["disabled", "onClick"])) :
|
|
1405
|
-
|
|
1472
|
+
}, 8, ["disabled", "onClick"])) : k("", !0),
|
|
1473
|
+
h(e(A), {
|
|
1406
1474
|
variant: "secondary",
|
|
1407
|
-
disabled:
|
|
1408
|
-
onClick: (
|
|
1475
|
+
disabled: r.value,
|
|
1476
|
+
onClick: (X) => x.value = c
|
|
1409
1477
|
}, {
|
|
1410
|
-
default:
|
|
1411
|
-
|
|
1478
|
+
default: n(() => [
|
|
1479
|
+
g(l(a.value.deleteSchedule), 1)
|
|
1412
1480
|
]),
|
|
1413
1481
|
_: 1
|
|
1414
1482
|
}, 8, ["disabled", "onClick"])
|
|
1415
1483
|
])
|
|
1416
|
-
], 8,
|
|
1417
|
-
])) : (t(),
|
|
1418
|
-
|
|
1484
|
+
], 8, zl))), 128))
|
|
1485
|
+
])) : (t(), S("p", xl, l(a.value.noSchedules), 1)),
|
|
1486
|
+
x.value ? (t(), $(e(Q), {
|
|
1419
1487
|
key: 3,
|
|
1420
1488
|
tone: "warning"
|
|
1421
1489
|
}, {
|
|
1422
|
-
default:
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1490
|
+
default: n(() => [
|
|
1491
|
+
C("p", null, l(m(a.value.deleteScheduleConsent, { name: x.value.name })), 1),
|
|
1492
|
+
C("div", Dl, [
|
|
1493
|
+
h(e(A), {
|
|
1426
1494
|
variant: "danger",
|
|
1427
|
-
disabled:
|
|
1428
|
-
onClick:
|
|
1495
|
+
disabled: r.value,
|
|
1496
|
+
onClick: ge
|
|
1429
1497
|
}, {
|
|
1430
|
-
default:
|
|
1431
|
-
|
|
1498
|
+
default: n(() => [
|
|
1499
|
+
g(l(a.value.confirmDeleteSchedule), 1)
|
|
1432
1500
|
]),
|
|
1433
1501
|
_: 1
|
|
1434
1502
|
}, 8, ["disabled"]),
|
|
1435
|
-
|
|
1503
|
+
h(e(A), {
|
|
1436
1504
|
variant: "secondary",
|
|
1437
|
-
disabled:
|
|
1438
|
-
onClick:
|
|
1505
|
+
disabled: r.value,
|
|
1506
|
+
onClick: f[6] || (f[6] = (c) => x.value = void 0)
|
|
1439
1507
|
}, {
|
|
1440
|
-
default:
|
|
1441
|
-
|
|
1508
|
+
default: n(() => [
|
|
1509
|
+
g(l(a.value.cancel), 1)
|
|
1442
1510
|
]),
|
|
1443
1511
|
_: 1
|
|
1444
1512
|
}, 8, ["disabled"])
|
|
1445
1513
|
])
|
|
1446
1514
|
]),
|
|
1447
1515
|
_: 1
|
|
1448
|
-
})) :
|
|
1449
|
-
|
|
1516
|
+
})) : k("", !0),
|
|
1517
|
+
b.value ? (t(), $(e(Q), {
|
|
1450
1518
|
key: 4,
|
|
1451
1519
|
tone: "warning"
|
|
1452
1520
|
}, {
|
|
1453
|
-
default:
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1521
|
+
default: n(() => [
|
|
1522
|
+
C("p", null, l(m(a.value.enableScheduleConsent, { name: b.value.name })), 1),
|
|
1523
|
+
C("div", Tl, [
|
|
1524
|
+
h(e(A), {
|
|
1457
1525
|
variant: "primary",
|
|
1458
|
-
disabled:
|
|
1459
|
-
onClick:
|
|
1526
|
+
disabled: r.value,
|
|
1527
|
+
onClick: we
|
|
1460
1528
|
}, {
|
|
1461
|
-
default:
|
|
1462
|
-
|
|
1529
|
+
default: n(() => [
|
|
1530
|
+
g(l(a.value.confirmEnableSchedule), 1)
|
|
1463
1531
|
]),
|
|
1464
1532
|
_: 1
|
|
1465
1533
|
}, 8, ["disabled"]),
|
|
1466
|
-
|
|
1534
|
+
h(e(A), {
|
|
1467
1535
|
variant: "secondary",
|
|
1468
|
-
disabled:
|
|
1469
|
-
onClick:
|
|
1536
|
+
disabled: r.value,
|
|
1537
|
+
onClick: f[7] || (f[7] = (c) => b.value = void 0)
|
|
1470
1538
|
}, {
|
|
1471
|
-
default:
|
|
1472
|
-
|
|
1539
|
+
default: n(() => [
|
|
1540
|
+
g(l(a.value.cancel), 1)
|
|
1473
1541
|
]),
|
|
1474
1542
|
_: 1
|
|
1475
1543
|
}, 8, ["disabled"])
|
|
1476
1544
|
])
|
|
1477
1545
|
]),
|
|
1478
1546
|
_: 1
|
|
1479
|
-
})) :
|
|
1480
|
-
], 8,
|
|
1481
|
-
|
|
1547
|
+
})) : k("", !0)
|
|
1548
|
+
], 8, Cl),
|
|
1549
|
+
q.value ? (t(), $(e(Ne), {
|
|
1482
1550
|
key: 3,
|
|
1483
|
-
href:
|
|
1484
|
-
download:
|
|
1551
|
+
href: q.value,
|
|
1552
|
+
download: J.value
|
|
1485
1553
|
}, {
|
|
1486
|
-
default:
|
|
1487
|
-
|
|
1554
|
+
default: n(() => [
|
|
1555
|
+
g(l(a.value.download), 1)
|
|
1488
1556
|
]),
|
|
1489
1557
|
_: 1
|
|
1490
|
-
}, 8, ["href", "download"])) :
|
|
1491
|
-
], 64)) :
|
|
1558
|
+
}, 8, ["href", "download"])) : k("", !0)
|
|
1559
|
+
], 64)) : k("", !0)
|
|
1492
1560
|
], 64))
|
|
1493
1561
|
]),
|
|
1494
1562
|
_: 1
|
|
1495
1563
|
}, 8, ["aria-busy", "title"]));
|
|
1496
1564
|
}
|
|
1497
|
-
}),
|
|
1565
|
+
}), It = /* @__PURE__ */ ne(El, [["__scopeId", "data-v-c2688562"]]), Rl = { role: "status" }, ql = { key: 1 }, Bl = { key: 2 }, Ut = /* @__PURE__ */ le({
|
|
1498
1566
|
__name: "ExecutorSettings",
|
|
1499
1567
|
props: {
|
|
1500
1568
|
admin: { type: Boolean },
|
|
@@ -1502,137 +1570,137 @@ const za = ["aria-busy", "aria-label"], Va = { class: "file-toolbar file-locatio
|
|
|
1502
1570
|
ctx: {}
|
|
1503
1571
|
},
|
|
1504
1572
|
emits: ["confirmed"],
|
|
1505
|
-
setup(
|
|
1506
|
-
const a =
|
|
1507
|
-
let
|
|
1508
|
-
async function
|
|
1509
|
-
const
|
|
1510
|
-
if (
|
|
1511
|
-
const
|
|
1512
|
-
if (
|
|
1513
|
-
const
|
|
1514
|
-
let
|
|
1515
|
-
for (let
|
|
1516
|
-
const
|
|
1517
|
-
if (
|
|
1518
|
-
if (!Array.isArray(
|
|
1519
|
-
for (const
|
|
1520
|
-
|
|
1521
|
-
if (
|
|
1522
|
-
if (
|
|
1573
|
+
setup(p, { emit: I }) {
|
|
1574
|
+
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);
|
|
1575
|
+
let q = !1;
|
|
1576
|
+
async function J(O) {
|
|
1577
|
+
const H = O ?? await i.status();
|
|
1578
|
+
if (q || (s.value = H, !a.ctx)) return;
|
|
1579
|
+
const W = await a.ctx.call("delegate.status");
|
|
1580
|
+
if (q || (_.value = W, W.scope_mode !== "install-selected")) return;
|
|
1581
|
+
const j = [];
|
|
1582
|
+
let ee = 0;
|
|
1583
|
+
for (let N = 0; N < 128; N++) {
|
|
1584
|
+
const T = await a.ctx.call("bg.browse", { offset: ee });
|
|
1585
|
+
if (q) return;
|
|
1586
|
+
if (!Array.isArray(T.shares) || !Number.isSafeInteger(T.total) || T.total < 0 || !T.shares.length && ee < T.total) throw { code: "EXECUTOR_PROTOCOL" };
|
|
1587
|
+
for (const B of T.shares)
|
|
1588
|
+
B.isdir && B.path === "/" + B.name && !["home", "homes"].includes(B.name.toLowerCase()) && j.push({ label: B.name, value: "shared:" + B.name });
|
|
1589
|
+
if (ee += T.shares.length, ee >= T.total) break;
|
|
1590
|
+
if (N === 127) throw { code: "EXECUTOR_PROTOCOL" };
|
|
1523
1591
|
}
|
|
1524
|
-
|
|
1592
|
+
x.value = j, z.value = W.selection?.scope ?? W.preselection ?? "";
|
|
1525
1593
|
}
|
|
1526
|
-
async function
|
|
1527
|
-
if (!(!a.admin ||
|
|
1528
|
-
|
|
1594
|
+
async function G() {
|
|
1595
|
+
if (!(!a.admin || r.value)) {
|
|
1596
|
+
r.value = !0, v.value = !1;
|
|
1529
1597
|
try {
|
|
1530
|
-
await
|
|
1598
|
+
await J();
|
|
1531
1599
|
} catch {
|
|
1532
|
-
|
|
1600
|
+
q || (v.value = !0);
|
|
1533
1601
|
} finally {
|
|
1534
|
-
|
|
1602
|
+
q || (r.value = !1);
|
|
1535
1603
|
}
|
|
1536
1604
|
}
|
|
1537
1605
|
}
|
|
1538
|
-
async function
|
|
1539
|
-
if (!a.admin ||
|
|
1540
|
-
|
|
1541
|
-
const
|
|
1542
|
-
o.value = "",
|
|
1606
|
+
async function K() {
|
|
1607
|
+
if (!a.admin || r.value || !o.value || !R.value || v.value) return;
|
|
1608
|
+
r.value = !0, v.value = !1;
|
|
1609
|
+
const O = o.value;
|
|
1610
|
+
o.value = "", P.value = !0;
|
|
1543
1611
|
try {
|
|
1544
|
-
let
|
|
1545
|
-
await
|
|
1612
|
+
let H = b.value ? await i.authorize(O, z.value) : await i.authorize(O);
|
|
1613
|
+
await J(H), !q && b.value && H.state === "ready" && L.value && (H = await i.authorize(O, z.value), await J(H)), q || m("confirmed");
|
|
1546
1614
|
} catch {
|
|
1547
|
-
|
|
1615
|
+
q || (v.value = !0);
|
|
1548
1616
|
} finally {
|
|
1549
|
-
|
|
1617
|
+
q || (r.value = !1, P.value = !1);
|
|
1550
1618
|
}
|
|
1551
1619
|
}
|
|
1552
|
-
return
|
|
1553
|
-
i.subscribe?.((
|
|
1554
|
-
|
|
1555
|
-
}),
|
|
1556
|
-
}),
|
|
1557
|
-
|
|
1558
|
-
}), (
|
|
1620
|
+
return ve(() => {
|
|
1621
|
+
i.subscribe?.((O) => {
|
|
1622
|
+
q || (s.value = O);
|
|
1623
|
+
}), G();
|
|
1624
|
+
}), ue(() => {
|
|
1625
|
+
q = !0, o.value = "";
|
|
1626
|
+
}), (O, H) => p.admin ? (t(), $(e(ce), {
|
|
1559
1627
|
key: 0,
|
|
1560
|
-
title:
|
|
1628
|
+
title: d.value.setupTitle,
|
|
1561
1629
|
collapsible: !1,
|
|
1562
|
-
"aria-busy":
|
|
1630
|
+
"aria-busy": r.value
|
|
1563
1631
|
}, {
|
|
1564
|
-
default:
|
|
1565
|
-
|
|
1566
|
-
|
|
1632
|
+
default: n(() => [
|
|
1633
|
+
C("p", null, l(d.value.setupHelp), 1),
|
|
1634
|
+
v.value ? (t(), $(e(Q), {
|
|
1567
1635
|
key: 0,
|
|
1568
1636
|
tone: "danger",
|
|
1569
1637
|
role: "alert"
|
|
1570
1638
|
}, {
|
|
1571
|
-
default:
|
|
1572
|
-
|
|
1639
|
+
default: n(() => [
|
|
1640
|
+
g(l(d.value.setupError), 1)
|
|
1573
1641
|
]),
|
|
1574
1642
|
_: 1
|
|
1575
|
-
})) :
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1643
|
+
})) : k("", !0),
|
|
1644
|
+
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),
|
|
1645
|
+
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),
|
|
1646
|
+
_.value?.selection ? (t(), S("p", Bl, l(d.value.protectedScope) + ": " + l(_.value.selection.root), 1)) : k("", !0),
|
|
1647
|
+
_.value?.mismatch ? (t(), $(e(Q), {
|
|
1580
1648
|
key: 3,
|
|
1581
1649
|
tone: "warning"
|
|
1582
1650
|
}, {
|
|
1583
|
-
default:
|
|
1584
|
-
|
|
1651
|
+
default: n(() => [
|
|
1652
|
+
g(l(d.value.scopeMismatch) + " " + l(d.value.preselection) + ": " + l(_.value.preselection) + " · " + l(d.value.protectedScope) + ": " + l(_.value.selection?.root), 1)
|
|
1585
1653
|
]),
|
|
1586
1654
|
_: 1
|
|
1587
|
-
})) :
|
|
1588
|
-
|
|
1655
|
+
})) : k("", !0),
|
|
1656
|
+
s.value?.state === "needs-admin-approval" || s.value?.retry || b.value && s.value?.state === "ready" ? (t(), $(e(be), {
|
|
1589
1657
|
key: 4,
|
|
1590
|
-
onSubmit:
|
|
1658
|
+
onSubmit: me(K, ["prevent"])
|
|
1591
1659
|
}, {
|
|
1592
|
-
default:
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
label:
|
|
1660
|
+
default: n(() => [
|
|
1661
|
+
b.value ? (t(), S(Z, { key: 0 }, [
|
|
1662
|
+
C("p", null, l(_.value?.selection ? d.value.scopeChangeHelp : d.value.preselectionHelp), 1),
|
|
1663
|
+
h(e(oe), {
|
|
1664
|
+
label: d.value.scopeLabel,
|
|
1597
1665
|
"label-for": "delegate-scope"
|
|
1598
1666
|
}, {
|
|
1599
|
-
default:
|
|
1600
|
-
|
|
1667
|
+
default: n(() => [
|
|
1668
|
+
h(e(Me), {
|
|
1601
1669
|
id: "delegate-scope",
|
|
1602
|
-
modelValue:
|
|
1603
|
-
"onUpdate:modelValue":
|
|
1604
|
-
options:
|
|
1605
|
-
disabled:
|
|
1670
|
+
modelValue: z.value,
|
|
1671
|
+
"onUpdate:modelValue": H[0] || (H[0] = (W) => z.value = W),
|
|
1672
|
+
options: D.value,
|
|
1673
|
+
disabled: r.value || v.value
|
|
1606
1674
|
}, null, 8, ["modelValue", "options", "disabled"])
|
|
1607
1675
|
]),
|
|
1608
1676
|
_: 1
|
|
1609
1677
|
}, 8, ["label"])
|
|
1610
|
-
], 64)) :
|
|
1611
|
-
|
|
1612
|
-
label:
|
|
1678
|
+
], 64)) : k("", !0),
|
|
1679
|
+
h(e(oe), {
|
|
1680
|
+
label: d.value.password,
|
|
1613
1681
|
"label-for": "delegate-password"
|
|
1614
1682
|
}, {
|
|
1615
|
-
default:
|
|
1616
|
-
|
|
1683
|
+
default: n(() => [
|
|
1684
|
+
h(e(pe), {
|
|
1617
1685
|
id: "delegate-password",
|
|
1618
1686
|
modelValue: o.value,
|
|
1619
|
-
"onUpdate:modelValue":
|
|
1687
|
+
"onUpdate:modelValue": H[1] || (H[1] = (W) => o.value = W),
|
|
1620
1688
|
type: "password",
|
|
1621
1689
|
autocomplete: "current-password",
|
|
1622
|
-
disabled:
|
|
1690
|
+
disabled: r.value || v.value
|
|
1623
1691
|
}, null, 8, ["modelValue", "disabled"])
|
|
1624
1692
|
]),
|
|
1625
1693
|
_: 1
|
|
1626
1694
|
}, 8, ["label"]),
|
|
1627
|
-
|
|
1628
|
-
default:
|
|
1629
|
-
|
|
1695
|
+
h(e(ke), null, {
|
|
1696
|
+
default: n(() => [
|
|
1697
|
+
h(e(A), {
|
|
1630
1698
|
type: "submit",
|
|
1631
1699
|
variant: "primary",
|
|
1632
|
-
disabled:
|
|
1700
|
+
disabled: r.value || v.value || !o.value || !R.value || b.value && !!_.value?.selection && !E.value
|
|
1633
1701
|
}, {
|
|
1634
|
-
default:
|
|
1635
|
-
|
|
1702
|
+
default: n(() => [
|
|
1703
|
+
g(l(b.value ? _.value?.selection ? d.value.confirmScope : d.value.confirmShare : d.value.authorize), 1)
|
|
1636
1704
|
]),
|
|
1637
1705
|
_: 1
|
|
1638
1706
|
}, 8, ["disabled"])
|
|
@@ -1641,162 +1709,162 @@ const za = ["aria-busy", "aria-label"], Va = { class: "file-toolbar file-locatio
|
|
|
1641
1709
|
})
|
|
1642
1710
|
]),
|
|
1643
1711
|
_: 1
|
|
1644
|
-
})) :
|
|
1645
|
-
|
|
1712
|
+
})) : k("", !0),
|
|
1713
|
+
h(e(A), {
|
|
1646
1714
|
variant: "secondary",
|
|
1647
|
-
disabled:
|
|
1648
|
-
onClick:
|
|
1715
|
+
disabled: r.value,
|
|
1716
|
+
onClick: G
|
|
1649
1717
|
}, {
|
|
1650
|
-
default:
|
|
1651
|
-
|
|
1718
|
+
default: n(() => [
|
|
1719
|
+
g(l(d.value.refresh), 1)
|
|
1652
1720
|
]),
|
|
1653
1721
|
_: 1
|
|
1654
1722
|
}, 8, ["disabled"])
|
|
1655
1723
|
]),
|
|
1656
1724
|
_: 1
|
|
1657
|
-
}, 8, ["title", "aria-busy"])) :
|
|
1725
|
+
}, 8, ["title", "aria-busy"])) : k("", !0);
|
|
1658
1726
|
}
|
|
1659
|
-
}),
|
|
1727
|
+
}), Ol = {
|
|
1660
1728
|
key: 1,
|
|
1661
1729
|
role: "status"
|
|
1662
|
-
},
|
|
1730
|
+
}, Fl = {
|
|
1663
1731
|
key: 2,
|
|
1664
1732
|
role: "status"
|
|
1665
|
-
},
|
|
1733
|
+
}, Ll = {
|
|
1666
1734
|
key: 0,
|
|
1667
1735
|
role: "status",
|
|
1668
1736
|
class: "destination"
|
|
1669
|
-
},
|
|
1737
|
+
}, Nl = { class: "section-heading" }, Ml = { key: 3 }, Kl = {
|
|
1670
1738
|
key: 4,
|
|
1671
1739
|
class: "records"
|
|
1672
|
-
},
|
|
1740
|
+
}, Hl = ["data-job-state"], Gl = ["role"], Jl = { key: 5 }, Xl = {
|
|
1673
1741
|
key: 6,
|
|
1674
1742
|
class: "records"
|
|
1675
|
-
},
|
|
1743
|
+
}, Ql = /* @__PURE__ */ le({
|
|
1676
1744
|
__name: "DelegatePanel",
|
|
1677
1745
|
props: {
|
|
1678
1746
|
ctx: {}
|
|
1679
1747
|
},
|
|
1680
|
-
setup(
|
|
1681
|
-
const
|
|
1682
|
-
let
|
|
1683
|
-
|
|
1748
|
+
setup(p) {
|
|
1749
|
+
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("");
|
|
1750
|
+
let b = !1, D, R;
|
|
1751
|
+
Fe([z, _, x], () => {
|
|
1684
1752
|
R = void 0;
|
|
1685
1753
|
}, { flush: "sync" });
|
|
1686
|
-
const
|
|
1687
|
-
async function
|
|
1688
|
-
if (
|
|
1689
|
-
const [
|
|
1690
|
-
if (!
|
|
1691
|
-
|
|
1692
|
-
for (const
|
|
1754
|
+
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 ?? "")));
|
|
1755
|
+
async function K() {
|
|
1756
|
+
if (b) return;
|
|
1757
|
+
const [B, w, U] = await Promise.allSettled([I.ctx.call("delegate.status"), I.ctx.call("delegate.list"), I.ctx.call("delegate.jobs.list")]);
|
|
1758
|
+
if (!b) {
|
|
1759
|
+
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 ?? []);
|
|
1760
|
+
for (const M of [B, w, U]) if (M.status === "rejected") throw M.reason;
|
|
1693
1761
|
}
|
|
1694
1762
|
}
|
|
1695
|
-
async function
|
|
1696
|
-
if (!(o.value ||
|
|
1697
|
-
o.value = !0,
|
|
1763
|
+
async function O(B) {
|
|
1764
|
+
if (!(o.value || b)) {
|
|
1765
|
+
o.value = !0, r.value = void 0;
|
|
1698
1766
|
try {
|
|
1699
|
-
await
|
|
1700
|
-
} catch (
|
|
1701
|
-
|
|
1767
|
+
await B();
|
|
1768
|
+
} catch (w) {
|
|
1769
|
+
b || (r.value = w);
|
|
1702
1770
|
} finally {
|
|
1703
|
-
|
|
1771
|
+
b || (o.value = !1);
|
|
1704
1772
|
}
|
|
1705
1773
|
}
|
|
1706
1774
|
}
|
|
1707
|
-
const
|
|
1708
|
-
await
|
|
1709
|
-
}),
|
|
1710
|
-
const
|
|
1711
|
-
|
|
1712
|
-
}),
|
|
1713
|
-
|
|
1714
|
-
}),
|
|
1715
|
-
const
|
|
1716
|
-
return Number.isNaN(
|
|
1775
|
+
const H = () => O(K), W = (B) => O(async () => {
|
|
1776
|
+
await I.ctx.call("delegate.revoke", { delegation_id: B }), await K();
|
|
1777
|
+
}), j = (B) => O(async () => {
|
|
1778
|
+
const w = await I.ctx.call("delegate.jobs.cancel", { id: B });
|
|
1779
|
+
b || (P.value = w.revocation_pending ? a.value.pending : ""), await K();
|
|
1780
|
+
}), ee = F(() => i.value?.state === "ready" && !!_.value && !!z.value && !!x.value), N = () => O(async () => {
|
|
1781
|
+
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());
|
|
1782
|
+
}), T = (B) => {
|
|
1783
|
+
const w = new Date(B);
|
|
1784
|
+
return Number.isNaN(w.getTime()) ? "—" : w.toLocaleString(I.ctx.locale);
|
|
1717
1785
|
};
|
|
1718
|
-
return
|
|
1719
|
-
|
|
1720
|
-
|
|
1786
|
+
return ve(() => {
|
|
1787
|
+
H(), D = setInterval(() => {
|
|
1788
|
+
s.value.some(L) && H();
|
|
1721
1789
|
}, 3e3);
|
|
1722
|
-
}),
|
|
1723
|
-
|
|
1724
|
-
}), (
|
|
1790
|
+
}), ue(() => {
|
|
1791
|
+
b = !0, D && clearInterval(D), m.dispose();
|
|
1792
|
+
}), (B, w) => (t(), $(e(ce), {
|
|
1725
1793
|
title: a.value.title,
|
|
1726
1794
|
collapsible: !1,
|
|
1727
1795
|
"aria-busy": o.value,
|
|
1728
1796
|
class: "delegate-panel"
|
|
1729
1797
|
}, {
|
|
1730
|
-
default:
|
|
1731
|
-
|
|
1732
|
-
|
|
1798
|
+
default: n(() => [
|
|
1799
|
+
C("p", null, l(a.value.help), 1),
|
|
1800
|
+
r.value && !J.value ? (t(), $(e(Q), {
|
|
1733
1801
|
key: 0,
|
|
1734
1802
|
tone: "danger",
|
|
1735
1803
|
role: "alert"
|
|
1736
1804
|
}, {
|
|
1737
|
-
default:
|
|
1738
|
-
|
|
1805
|
+
default: n(() => [
|
|
1806
|
+
g(l(e(je)(r.value, a.value)), 1)
|
|
1739
1807
|
]),
|
|
1740
1808
|
_: 1
|
|
1741
|
-
})) :
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
onSubmit:
|
|
1809
|
+
})) : k("", !0),
|
|
1810
|
+
P.value ? (t(), S("p", Ol, l(P.value), 1)) : k("", !0),
|
|
1811
|
+
G.value ? (t(), S("p", Fl, l(i.value?.state === "needs-admin-approval" ? a.value.needs : a.value.blocked), 1)) : k("", !0),
|
|
1812
|
+
h(e(be), {
|
|
1813
|
+
onSubmit: me(N, ["prevent"])
|
|
1746
1814
|
}, {
|
|
1747
|
-
default:
|
|
1748
|
-
|
|
1815
|
+
default: n(() => [
|
|
1816
|
+
h(e(oe), {
|
|
1749
1817
|
label: a.value.url,
|
|
1750
1818
|
"label-for": "delegate-url"
|
|
1751
1819
|
}, {
|
|
1752
|
-
default:
|
|
1753
|
-
|
|
1820
|
+
default: n(() => [
|
|
1821
|
+
h(e(pe), {
|
|
1754
1822
|
id: "delegate-url",
|
|
1755
|
-
modelValue:
|
|
1756
|
-
"onUpdate:modelValue":
|
|
1823
|
+
modelValue: z.value,
|
|
1824
|
+
"onUpdate:modelValue": w[0] || (w[0] = (U) => z.value = U),
|
|
1757
1825
|
type: "url",
|
|
1758
1826
|
disabled: o.value || i.value?.state !== "ready"
|
|
1759
1827
|
}, null, 8, ["modelValue", "disabled"])
|
|
1760
1828
|
]),
|
|
1761
1829
|
_: 1
|
|
1762
1830
|
}, 8, ["label"]),
|
|
1763
|
-
|
|
1831
|
+
h(e(oe), {
|
|
1764
1832
|
label: a.value.name,
|
|
1765
1833
|
"label-for": "delegate-name"
|
|
1766
1834
|
}, {
|
|
1767
|
-
default:
|
|
1768
|
-
|
|
1835
|
+
default: n(() => [
|
|
1836
|
+
h(e(pe), {
|
|
1769
1837
|
id: "delegate-name",
|
|
1770
|
-
modelValue:
|
|
1771
|
-
"onUpdate:modelValue":
|
|
1838
|
+
modelValue: x.value,
|
|
1839
|
+
"onUpdate:modelValue": w[1] || (w[1] = (U) => x.value = U),
|
|
1772
1840
|
"data-file-name": "",
|
|
1773
1841
|
disabled: o.value || i.value?.state !== "ready"
|
|
1774
1842
|
}, null, 8, ["modelValue", "disabled"])
|
|
1775
1843
|
]),
|
|
1776
1844
|
_: 1
|
|
1777
1845
|
}, 8, ["label"]),
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
default:
|
|
1782
|
-
|
|
1846
|
+
C("p", null, l(a.value.size), 1),
|
|
1847
|
+
_.value ? (t(), S("p", Ll, l(a.value.destination) + ": " + l(_.value), 1)) : k("", !0),
|
|
1848
|
+
h(e(ke), null, {
|
|
1849
|
+
default: n(() => [
|
|
1850
|
+
h(e(A), {
|
|
1783
1851
|
type: "button",
|
|
1784
1852
|
variant: "secondary",
|
|
1785
1853
|
disabled: o.value || i.value?.state !== "ready",
|
|
1786
|
-
onClick:
|
|
1854
|
+
onClick: w[2] || (w[2] = (U) => v.value = !0)
|
|
1787
1855
|
}, {
|
|
1788
|
-
default:
|
|
1789
|
-
|
|
1856
|
+
default: n(() => [
|
|
1857
|
+
g(l(a.value.choose), 1)
|
|
1790
1858
|
]),
|
|
1791
1859
|
_: 1
|
|
1792
1860
|
}, 8, ["disabled"]),
|
|
1793
|
-
|
|
1861
|
+
h(e(A), {
|
|
1794
1862
|
type: "submit",
|
|
1795
1863
|
variant: "primary",
|
|
1796
|
-
disabled: o.value || !
|
|
1864
|
+
disabled: o.value || !ee.value
|
|
1797
1865
|
}, {
|
|
1798
|
-
default:
|
|
1799
|
-
|
|
1866
|
+
default: n(() => [
|
|
1867
|
+
g(l(a.value.submit), 1)
|
|
1800
1868
|
]),
|
|
1801
1869
|
_: 1
|
|
1802
1870
|
}, 8, ["disabled"])
|
|
@@ -1806,64 +1874,64 @@ const za = ["aria-busy", "aria-label"], Va = { class: "file-toolbar file-locatio
|
|
|
1806
1874
|
]),
|
|
1807
1875
|
_: 1
|
|
1808
1876
|
}),
|
|
1809
|
-
|
|
1810
|
-
open:
|
|
1811
|
-
"onUpdate:open":
|
|
1812
|
-
locale:
|
|
1877
|
+
h(_e, {
|
|
1878
|
+
open: v.value,
|
|
1879
|
+
"onUpdate:open": w[3] || (w[3] = (U) => v.value = U),
|
|
1880
|
+
locale: p.ctx.locale,
|
|
1813
1881
|
provider: e(m),
|
|
1814
1882
|
mode: "folder",
|
|
1815
|
-
onSelected:
|
|
1883
|
+
onSelected: w[4] || (w[4] = (U) => _.value = U)
|
|
1816
1884
|
}, null, 8, ["open", "locale", "provider"]),
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1885
|
+
C("div", Nl, [
|
|
1886
|
+
C("h3", null, l(a.value.downloads), 1),
|
|
1887
|
+
h(e(A), {
|
|
1820
1888
|
variant: "secondary",
|
|
1821
1889
|
disabled: o.value,
|
|
1822
|
-
onClick:
|
|
1890
|
+
onClick: H
|
|
1823
1891
|
}, {
|
|
1824
|
-
default:
|
|
1825
|
-
|
|
1892
|
+
default: n(() => [
|
|
1893
|
+
g(l(a.value.refresh), 1)
|
|
1826
1894
|
]),
|
|
1827
1895
|
_: 1
|
|
1828
1896
|
}, 8, ["disabled"])
|
|
1829
1897
|
]),
|
|
1830
|
-
!
|
|
1831
|
-
(t(!0),
|
|
1832
|
-
key:
|
|
1833
|
-
"data-job-state":
|
|
1898
|
+
!s.value.length && !r.value ? (t(), S("p", Ml, l(a.value.noJobs), 1)) : (t(), S("ul", Kl, [
|
|
1899
|
+
(t(!0), S(Z, null, de(s.value, (U) => (t(), S("li", {
|
|
1900
|
+
key: U.id,
|
|
1901
|
+
"data-job-state": U.state
|
|
1834
1902
|
}, [
|
|
1835
|
-
|
|
1836
|
-
role:
|
|
1837
|
-
}, l(
|
|
1838
|
-
|
|
1903
|
+
C("span", {
|
|
1904
|
+
role: U.state === "waiting_executor" ? "status" : void 0
|
|
1905
|
+
}, l(U.name) + " · " + l(a.value[U.state]), 9, Gl),
|
|
1906
|
+
L(U) ? (t(), $(e(A), {
|
|
1839
1907
|
key: 0,
|
|
1840
1908
|
variant: "secondary",
|
|
1841
1909
|
disabled: o.value,
|
|
1842
|
-
onClick: (
|
|
1910
|
+
onClick: (M) => j(U.id)
|
|
1843
1911
|
}, {
|
|
1844
|
-
default:
|
|
1845
|
-
|
|
1912
|
+
default: n(() => [
|
|
1913
|
+
g(l(a.value.cancel), 1)
|
|
1846
1914
|
]),
|
|
1847
1915
|
_: 1
|
|
1848
|
-
}, 8, ["disabled", "onClick"])) :
|
|
1849
|
-
], 8,
|
|
1916
|
+
}, 8, ["disabled", "onClick"])) : k("", !0)
|
|
1917
|
+
], 8, Hl))), 128))
|
|
1850
1918
|
])),
|
|
1851
|
-
|
|
1852
|
-
!
|
|
1853
|
-
(t(!0),
|
|
1854
|
-
key:
|
|
1919
|
+
C("h3", null, l(a.value.delegations), 1),
|
|
1920
|
+
!d.value.length && !r.value ? (t(), S("p", Jl, l(a.value.noDelegations), 1)) : (t(), S("ul", Xl, [
|
|
1921
|
+
(t(!0), S(Z, null, de(d.value, (U) => (t(), S("li", {
|
|
1922
|
+
key: U.delegation_id
|
|
1855
1923
|
}, [
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1924
|
+
C("div", null, [
|
|
1925
|
+
C("strong", null, l(U.path), 1),
|
|
1926
|
+
C("p", null, l(a.value.expires) + ": " + l(T(U.expires_at)), 1)
|
|
1859
1927
|
]),
|
|
1860
|
-
|
|
1928
|
+
h(e(A), {
|
|
1861
1929
|
variant: "secondary",
|
|
1862
1930
|
disabled: o.value,
|
|
1863
|
-
onClick: (
|
|
1931
|
+
onClick: (M) => W(U.delegation_id)
|
|
1864
1932
|
}, {
|
|
1865
|
-
default:
|
|
1866
|
-
|
|
1933
|
+
default: n(() => [
|
|
1934
|
+
g(l(a.value.revoke), 1)
|
|
1867
1935
|
]),
|
|
1868
1936
|
_: 1
|
|
1869
1937
|
}, 8, ["disabled", "onClick"])
|
|
@@ -1873,19 +1941,19 @@ const za = ["aria-busy", "aria-label"], Va = { class: "file-toolbar file-locatio
|
|
|
1873
1941
|
_: 1
|
|
1874
1942
|
}, 8, ["title", "aria-busy"]));
|
|
1875
1943
|
}
|
|
1876
|
-
}),
|
|
1944
|
+
}), At = /* @__PURE__ */ ne(Ql, [["__scopeId", "data-v-d79ee942"]]), Yl = {
|
|
1877
1945
|
key: 1,
|
|
1878
1946
|
role: "status"
|
|
1879
|
-
},
|
|
1947
|
+
}, Wl = {
|
|
1880
1948
|
key: 2,
|
|
1881
1949
|
role: "status"
|
|
1882
|
-
},
|
|
1950
|
+
}, Zl = { key: 3 }, jl = {
|
|
1883
1951
|
key: 7,
|
|
1884
1952
|
role: "status"
|
|
1885
|
-
},
|
|
1953
|
+
}, et = { class: "save-actions" }, at = { key: 8 }, lt = {
|
|
1886
1954
|
key: 10,
|
|
1887
1955
|
class: "save-actions"
|
|
1888
|
-
},
|
|
1956
|
+
}, 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({
|
|
1889
1957
|
__name: "BackgroundSavePanel",
|
|
1890
1958
|
props: {
|
|
1891
1959
|
sdk: {},
|
|
@@ -1894,437 +1962,437 @@ const za = ["aria-busy", "aria-label"], Va = { class: "file-toolbar file-locatio
|
|
|
1894
1962
|
picker: {}
|
|
1895
1963
|
},
|
|
1896
1964
|
emits: ["authorized"],
|
|
1897
|
-
setup(
|
|
1898
|
-
const a =
|
|
1899
|
-
let
|
|
1900
|
-
const
|
|
1901
|
-
function
|
|
1902
|
-
o.value = void 0,
|
|
1965
|
+
setup(p, { emit: I }) {
|
|
1966
|
+
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));
|
|
1967
|
+
let D = !1, R;
|
|
1968
|
+
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);
|
|
1969
|
+
function J() {
|
|
1970
|
+
o.value = void 0, r.value = [], P.value = [], x.value = [], i.value = !1;
|
|
1903
1971
|
}
|
|
1904
|
-
async function
|
|
1905
|
-
const [
|
|
1906
|
-
if (!
|
|
1907
|
-
if (!
|
|
1908
|
-
(o.value?.selection?.generation !==
|
|
1972
|
+
async function G() {
|
|
1973
|
+
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)))]);
|
|
1974
|
+
if (!D) {
|
|
1975
|
+
if (!T || typeof T.disabled != "boolean" || !Array.isArray(B) || !Array.isArray(w)) throw { code: "unavailable" };
|
|
1976
|
+
(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;
|
|
1909
1977
|
}
|
|
1910
1978
|
}
|
|
1911
|
-
async function
|
|
1912
|
-
if (!(
|
|
1913
|
-
|
|
1979
|
+
async function K(T) {
|
|
1980
|
+
if (!(D || v.value)) {
|
|
1981
|
+
v.value = !0, _.value = void 0, z.value = "";
|
|
1914
1982
|
try {
|
|
1915
|
-
await
|
|
1916
|
-
} catch (
|
|
1917
|
-
|
|
1983
|
+
await T();
|
|
1984
|
+
} catch (B) {
|
|
1985
|
+
D || (J(), _.value = B);
|
|
1918
1986
|
} finally {
|
|
1919
|
-
|
|
1987
|
+
D || (v.value = !1);
|
|
1920
1988
|
}
|
|
1921
1989
|
}
|
|
1922
1990
|
}
|
|
1923
|
-
const
|
|
1924
|
-
function
|
|
1925
|
-
m("authorized",
|
|
1991
|
+
const O = () => K(G);
|
|
1992
|
+
function H(T) {
|
|
1993
|
+
m("authorized", T), O();
|
|
1926
1994
|
}
|
|
1927
|
-
const
|
|
1928
|
-
if ((await a.sdk.revoke({ delegation_id:
|
|
1929
|
-
await
|
|
1930
|
-
}),
|
|
1931
|
-
await a.sdk.cancel({ delegation_id:
|
|
1932
|
-
}),
|
|
1995
|
+
const W = (T) => K(async () => {
|
|
1996
|
+
if ((await a.sdk.revoke({ delegation_id: T }))?.revoked !== !0) throw { code: "commit-uncertain" };
|
|
1997
|
+
await G(), D || (z.value = s.value.revoked);
|
|
1998
|
+
}), j = (T) => K(async () => {
|
|
1999
|
+
await a.sdk.cancel({ delegation_id: T.delegation_id, job_id: T.job_id }), await G();
|
|
2000
|
+
}), ee = () => K(async () => {
|
|
1933
2001
|
if (!a.admin || !o.value) return;
|
|
1934
|
-
const
|
|
1935
|
-
if ((
|
|
1936
|
-
await
|
|
1937
|
-
}),
|
|
1938
|
-
const
|
|
1939
|
-
await a.sdk.exportExample({ key:
|
|
2002
|
+
const T = o.value.disabled;
|
|
2003
|
+
if ((T ? await a.sdk.enable() : await a.sdk.disable())?.disabled !== !T) throw { code: "commit-uncertain" };
|
|
2004
|
+
await G();
|
|
2005
|
+
}), N = (T) => K(async () => {
|
|
2006
|
+
const B = "example-" + Array.from(crypto.getRandomValues(new Uint8Array(16)), (w) => w.toString(16).padStart(2, "0")).join("");
|
|
2007
|
+
await a.sdk.exportExample({ key: T, job_id: B }), await G();
|
|
1940
2008
|
});
|
|
1941
|
-
return
|
|
1942
|
-
|
|
1943
|
-
|
|
2009
|
+
return ve(() => {
|
|
2010
|
+
O(), R = setInterval(() => {
|
|
2011
|
+
P.value.some(q) && O();
|
|
1944
2012
|
}, 3e3);
|
|
1945
|
-
}),
|
|
1946
|
-
|
|
1947
|
-
}), (
|
|
1948
|
-
title:
|
|
2013
|
+
}), ue(() => {
|
|
2014
|
+
D = !0, R && clearInterval(R);
|
|
2015
|
+
}), (T, B) => (t(), $(e(ce), {
|
|
2016
|
+
title: s.value.title,
|
|
1949
2017
|
collapsible: !1,
|
|
1950
|
-
"aria-busy":
|
|
2018
|
+
"aria-busy": v.value,
|
|
1951
2019
|
class: "background-save-panel"
|
|
1952
2020
|
}, {
|
|
1953
|
-
default:
|
|
1954
|
-
|
|
1955
|
-
|
|
2021
|
+
default: n(() => [
|
|
2022
|
+
C("p", null, l(s.value.help), 1),
|
|
2023
|
+
_.value ? (t(), $(e(Q), {
|
|
1956
2024
|
key: 0,
|
|
1957
2025
|
tone: "danger",
|
|
1958
2026
|
role: "alert",
|
|
1959
2027
|
class: "save-message"
|
|
1960
2028
|
}, {
|
|
1961
|
-
default:
|
|
1962
|
-
|
|
2029
|
+
default: n(() => [
|
|
2030
|
+
g(l(e(Ve)(_.value, s.value)), 1)
|
|
1963
2031
|
]),
|
|
1964
2032
|
_: 1
|
|
1965
|
-
})) :
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
o.value?.selection ? (t(),
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
])) :
|
|
1972
|
-
o.value?.mismatch ? (t(),
|
|
2033
|
+
})) : k("", !0),
|
|
2034
|
+
v.value && !o.value ? (t(), S("p", Yl, l(s.value.loading), 1)) : k("", !0),
|
|
2035
|
+
z.value ? (t(), S("p", Wl, l(z.value), 1)) : k("", !0),
|
|
2036
|
+
o.value?.selection ? (t(), S("p", Zl, [
|
|
2037
|
+
C("strong", null, l(s.value.scope), 1),
|
|
2038
|
+
g(": " + l(o.value.selection.root), 1)
|
|
2039
|
+
])) : k("", !0),
|
|
2040
|
+
o.value?.mismatch ? (t(), $(e(Q), {
|
|
1973
2041
|
key: 4,
|
|
1974
2042
|
tone: "warning"
|
|
1975
2043
|
}, {
|
|
1976
|
-
default:
|
|
1977
|
-
|
|
2044
|
+
default: n(() => [
|
|
2045
|
+
g(l(s.value.scopeMismatch) + " " + l(o.value.preselection) + " → " + l(o.value.selection?.root), 1)
|
|
1978
2046
|
]),
|
|
1979
2047
|
_: 1
|
|
1980
|
-
})) :
|
|
1981
|
-
o.value?.scopeMode === "install-selected" && !o.value.selection ? (t(),
|
|
2048
|
+
})) : k("", !0),
|
|
2049
|
+
o.value?.scopeMode === "install-selected" && !o.value.selection ? (t(), $(e(Q), {
|
|
1982
2050
|
key: 5,
|
|
1983
2051
|
tone: "warning"
|
|
1984
2052
|
}, {
|
|
1985
|
-
default:
|
|
1986
|
-
|
|
2053
|
+
default: n(() => [
|
|
2054
|
+
g(l(s.value.scopeNeeds), 1)
|
|
1987
2055
|
]),
|
|
1988
2056
|
_: 1
|
|
1989
|
-
})) :
|
|
1990
|
-
o.value?.disabled ? (t(),
|
|
2057
|
+
})) : k("", !0),
|
|
2058
|
+
o.value?.disabled ? (t(), $(e(Q), {
|
|
1991
2059
|
key: 6,
|
|
1992
2060
|
tone: "warning",
|
|
1993
2061
|
role: "status",
|
|
1994
2062
|
class: "save-message"
|
|
1995
2063
|
}, {
|
|
1996
|
-
default:
|
|
1997
|
-
|
|
2064
|
+
default: n(() => [
|
|
2065
|
+
g(l(s.value.disabled), 1)
|
|
1998
2066
|
]),
|
|
1999
2067
|
_: 1
|
|
2000
|
-
})) : o.value && !(o.value.scopeMode === "install-selected" && !o.value.selection) ? (t(),
|
|
2001
|
-
|
|
2002
|
-
|
|
2068
|
+
})) : o.value && !(o.value.scopeMode === "install-selected" && !o.value.selection) ? (t(), S("p", jl, l(s.value.enabled), 1)) : k("", !0),
|
|
2069
|
+
C("div", et, [
|
|
2070
|
+
h(e(A), {
|
|
2003
2071
|
variant: "secondary",
|
|
2004
|
-
disabled:
|
|
2005
|
-
onClick:
|
|
2072
|
+
disabled: v.value,
|
|
2073
|
+
onClick: O
|
|
2006
2074
|
}, {
|
|
2007
|
-
default:
|
|
2008
|
-
|
|
2075
|
+
default: n(() => [
|
|
2076
|
+
g(l(s.value.refresh), 1)
|
|
2009
2077
|
]),
|
|
2010
2078
|
_: 1
|
|
2011
2079
|
}, 8, ["disabled"]),
|
|
2012
|
-
|
|
2080
|
+
p.admin && o.value ? (t(), $(e(A), {
|
|
2013
2081
|
key: 0,
|
|
2014
2082
|
variant: o.value.disabled ? "secondary" : "danger",
|
|
2015
|
-
disabled:
|
|
2016
|
-
onClick:
|
|
2083
|
+
disabled: v.value,
|
|
2084
|
+
onClick: ee
|
|
2017
2085
|
}, {
|
|
2018
|
-
default:
|
|
2019
|
-
|
|
2086
|
+
default: n(() => [
|
|
2087
|
+
g(l(o.value.disabled ? s.value.enable : s.value.disable), 1)
|
|
2020
2088
|
]),
|
|
2021
2089
|
_: 1
|
|
2022
|
-
}, 8, ["variant", "disabled"])) :
|
|
2090
|
+
}, 8, ["variant", "disabled"])) : k("", !0)
|
|
2023
2091
|
]),
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
|
|
2092
|
+
p.admin && o.value ? (t(), S("p", at, l(s.value.disableHelp), 1)) : k("", !0),
|
|
2093
|
+
C("h3", null, l(s.value.delegations), 1),
|
|
2094
|
+
x.value.some((w) => w.status === "reselection-required") ? (t(), $(e(Q), {
|
|
2027
2095
|
key: 9,
|
|
2028
2096
|
tone: "warning"
|
|
2029
2097
|
}, {
|
|
2030
|
-
default:
|
|
2031
|
-
|
|
2098
|
+
default: n(() => [
|
|
2099
|
+
g(l(s.value.reselect), 1)
|
|
2032
2100
|
]),
|
|
2033
2101
|
_: 1
|
|
2034
|
-
})) :
|
|
2035
|
-
|
|
2036
|
-
(t(!0),
|
|
2037
|
-
key:
|
|
2102
|
+
})) : k("", !0),
|
|
2103
|
+
p.picker ? (t(), S("div", lt, [
|
|
2104
|
+
(t(!0), S(Z, null, de(p.picker.keys, (w) => (t(), $(e(A), {
|
|
2105
|
+
key: w,
|
|
2038
2106
|
variant: "secondary",
|
|
2039
|
-
disabled:
|
|
2040
|
-
onClick: (
|
|
2041
|
-
|
|
2107
|
+
disabled: v.value || !o.value || o.value.disabled || !b.value,
|
|
2108
|
+
onClick: (U) => {
|
|
2109
|
+
d.value = w, i.value = !0;
|
|
2042
2110
|
}
|
|
2043
2111
|
}, {
|
|
2044
|
-
default:
|
|
2045
|
-
|
|
2112
|
+
default: n(() => [
|
|
2113
|
+
g(l(s.value.choose) + " (" + l(w) + ")", 1)
|
|
2046
2114
|
]),
|
|
2047
2115
|
_: 2
|
|
2048
2116
|
}, 1032, ["disabled", "onClick"]))), 128))
|
|
2049
|
-
])) :
|
|
2050
|
-
|
|
2117
|
+
])) : k("", !0),
|
|
2118
|
+
b.value ? (t(), $(_e, {
|
|
2051
2119
|
key: o.value?.selection?.scope,
|
|
2052
2120
|
open: i.value,
|
|
2053
|
-
"onUpdate:open":
|
|
2054
|
-
provider:
|
|
2055
|
-
locale:
|
|
2121
|
+
"onUpdate:open": B[0] || (B[0] = (w) => i.value = w),
|
|
2122
|
+
provider: b.value,
|
|
2123
|
+
locale: p.locale,
|
|
2056
2124
|
mode: "folder",
|
|
2057
|
-
destination: { key:
|
|
2058
|
-
onAuthorized:
|
|
2059
|
-
}, null, 8, ["open", "provider", "locale", "destination"])) :
|
|
2060
|
-
o.value && !
|
|
2061
|
-
|
|
2062
|
-
(t(!0),
|
|
2063
|
-
key:
|
|
2125
|
+
destination: { key: d.value, selectDestination: p.sdk.selectDestination },
|
|
2126
|
+
onAuthorized: H
|
|
2127
|
+
}, null, 8, ["open", "provider", "locale", "destination"])) : k("", !0),
|
|
2128
|
+
o.value && !r.value.length ? (t(), S("p", tt, l(s.value.empty), 1)) : k("", !0),
|
|
2129
|
+
C("ul", nt, [
|
|
2130
|
+
(t(!0), S(Z, null, de(r.value, (w) => (t(), S("li", {
|
|
2131
|
+
key: w.id
|
|
2064
2132
|
}, [
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
|
|
2133
|
+
C("div", null, [
|
|
2134
|
+
C("strong", null, l(w.path), 1),
|
|
2135
|
+
C("p", null, l(s.value.untilRevoked), 1)
|
|
2068
2136
|
]),
|
|
2069
|
-
|
|
2137
|
+
h(e(A), {
|
|
2070
2138
|
variant: "secondary",
|
|
2071
|
-
disabled:
|
|
2072
|
-
onClick: (
|
|
2139
|
+
disabled: v.value,
|
|
2140
|
+
onClick: (U) => W(w.id)
|
|
2073
2141
|
}, {
|
|
2074
|
-
default:
|
|
2075
|
-
|
|
2142
|
+
default: n(() => [
|
|
2143
|
+
g(l(s.value.revoke), 1)
|
|
2076
2144
|
]),
|
|
2077
2145
|
_: 1
|
|
2078
2146
|
}, 8, ["disabled", "onClick"])
|
|
2079
2147
|
]))), 128))
|
|
2080
2148
|
]),
|
|
2081
|
-
|
|
2082
|
-
|
|
2083
|
-
|
|
2084
|
-
(t(!0),
|
|
2085
|
-
key:
|
|
2149
|
+
x.value.some((w) => w.status === "active") ? (t(), S(Z, { key: 13 }, [
|
|
2150
|
+
C("p", null, l(s.value.exampleHelp), 1),
|
|
2151
|
+
C("div", st, [
|
|
2152
|
+
(t(!0), S(Z, null, de(x.value.filter((w) => w.status === "active"), (w) => (t(), $(e(A), {
|
|
2153
|
+
key: w.key,
|
|
2086
2154
|
variant: "secondary",
|
|
2087
|
-
disabled:
|
|
2088
|
-
onClick: (
|
|
2155
|
+
disabled: v.value || o.value?.disabled,
|
|
2156
|
+
onClick: (U) => N(w.key)
|
|
2089
2157
|
}, {
|
|
2090
|
-
default:
|
|
2091
|
-
|
|
2158
|
+
default: n(() => [
|
|
2159
|
+
g(l(s.value.example) + " (" + l(w.key) + ")", 1)
|
|
2092
2160
|
]),
|
|
2093
2161
|
_: 2
|
|
2094
2162
|
}, 1032, ["disabled", "onClick"]))), 128))
|
|
2095
2163
|
])
|
|
2096
|
-
], 64)) :
|
|
2097
|
-
|
|
2098
|
-
o.value &&
|
|
2099
|
-
|
|
2100
|
-
(t(!0),
|
|
2101
|
-
key:
|
|
2102
|
-
"data-job-id":
|
|
2103
|
-
"data-save-state":
|
|
2164
|
+
], 64)) : k("", !0),
|
|
2165
|
+
C("h3", null, l(s.value.operations), 1),
|
|
2166
|
+
o.value && !P.value.length ? (t(), S("p", it, l(s.value.noOperations), 1)) : k("", !0),
|
|
2167
|
+
C("ul", ot, [
|
|
2168
|
+
(t(!0), S(Z, null, de(P.value, (w) => (t(), S("li", {
|
|
2169
|
+
key: w.job_id,
|
|
2170
|
+
"data-job-id": w.job_id,
|
|
2171
|
+
"data-save-state": E(w)
|
|
2104
2172
|
}, [
|
|
2105
|
-
|
|
2106
|
-
|
|
2107
|
-
|
|
2108
|
-
|
|
2109
|
-
|
|
2173
|
+
C("div", null, [
|
|
2174
|
+
C("strong", null, l(w.name), 1),
|
|
2175
|
+
C("p", null, l(s.value[E(w)]) + " · " + l(w.job_id), 1),
|
|
2176
|
+
E(w) === "committed" ? (t(), S("p", rt, l(w.receipt?.path), 1)) : k("", !0),
|
|
2177
|
+
E(w) === "uncertain" ? (t(), $(e(Q), {
|
|
2110
2178
|
key: 1,
|
|
2111
2179
|
tone: "warning",
|
|
2112
2180
|
class: "save-message"
|
|
2113
2181
|
}, {
|
|
2114
|
-
default:
|
|
2115
|
-
|
|
2182
|
+
default: n(() => [
|
|
2183
|
+
g(l(s.value.uncertainHelp), 1)
|
|
2116
2184
|
]),
|
|
2117
2185
|
_: 1
|
|
2118
|
-
})) :
|
|
2186
|
+
})) : E(w) === "interrupted" ? (t(), $(e(Q), {
|
|
2119
2187
|
key: 2,
|
|
2120
2188
|
tone: "warning",
|
|
2121
2189
|
class: "save-message"
|
|
2122
2190
|
}, {
|
|
2123
|
-
default:
|
|
2124
|
-
|
|
2191
|
+
default: n(() => [
|
|
2192
|
+
g(l(s.value.interruptedHelp), 1)
|
|
2125
2193
|
]),
|
|
2126
2194
|
_: 1
|
|
2127
|
-
})) :
|
|
2128
|
-
|
|
2195
|
+
})) : k("", !0),
|
|
2196
|
+
E(w) === "interrupted" && w.code ? (t(), S("p", dt, l(e(Ve)({ code: w.code }, s.value)), 1)) : k("", !0)
|
|
2129
2197
|
]),
|
|
2130
|
-
|
|
2198
|
+
q(w) ? (t(), $(e(A), {
|
|
2131
2199
|
key: 0,
|
|
2132
2200
|
variant: "secondary",
|
|
2133
|
-
disabled:
|
|
2134
|
-
onClick: (
|
|
2201
|
+
disabled: v.value,
|
|
2202
|
+
onClick: (U) => j(w)
|
|
2135
2203
|
}, {
|
|
2136
|
-
default:
|
|
2137
|
-
|
|
2204
|
+
default: n(() => [
|
|
2205
|
+
g(l(s.value.cancel), 1)
|
|
2138
2206
|
]),
|
|
2139
2207
|
_: 1
|
|
2140
|
-
}, 8, ["disabled", "onClick"])) :
|
|
2141
|
-
], 8,
|
|
2208
|
+
}, 8, ["disabled", "onClick"])) : k("", !0)
|
|
2209
|
+
], 8, ut))), 128))
|
|
2142
2210
|
])
|
|
2143
2211
|
]),
|
|
2144
2212
|
_: 1
|
|
2145
2213
|
}, 8, ["title", "aria-busy"]));
|
|
2146
2214
|
}
|
|
2147
|
-
}),
|
|
2148
|
-
function
|
|
2149
|
-
const
|
|
2150
|
-
if (!
|
|
2151
|
-
return
|
|
2215
|
+
}), Dt = /* @__PURE__ */ ne(vt, [["__scopeId", "data-v-c38db985"]]), He = /* @__PURE__ */ Symbol("authorization");
|
|
2216
|
+
function ct() {
|
|
2217
|
+
const p = Oe(He, void 0);
|
|
2218
|
+
if (!p) throw Error("authorization controls must be placed inside AuthorizationGate");
|
|
2219
|
+
return p;
|
|
2152
2220
|
}
|
|
2153
|
-
const
|
|
2221
|
+
const ft = { class: "authorization-content" }, pt = ["aria-busy", "data-authorization-state"], yt = { class: "authorization-body" }, mt = /* @__PURE__ */ le({
|
|
2154
2222
|
__name: "AuthorizationGate",
|
|
2155
2223
|
props: {
|
|
2156
2224
|
ctx: {},
|
|
2157
2225
|
name: {}
|
|
2158
2226
|
},
|
|
2159
2227
|
emits: ["ready"],
|
|
2160
|
-
setup(
|
|
2161
|
-
const a =
|
|
2162
|
-
let
|
|
2163
|
-
const
|
|
2164
|
-
function
|
|
2165
|
-
if (!
|
|
2166
|
-
return
|
|
2228
|
+
setup(p, { emit: I }) {
|
|
2229
|
+
const a = p, m = I, i = y(), d = y(), s = y(!1), o = y(!1), r = y(!1);
|
|
2230
|
+
let P = [], v = !1, _ = 0, z = !1, x;
|
|
2231
|
+
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");
|
|
2232
|
+
function W(U) {
|
|
2233
|
+
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");
|
|
2234
|
+
return U;
|
|
2167
2235
|
}
|
|
2168
|
-
const
|
|
2169
|
-
async function
|
|
2170
|
-
const
|
|
2171
|
-
for (let
|
|
2236
|
+
const j = [1e3, 3e3];
|
|
2237
|
+
async function ee(U) {
|
|
2238
|
+
const M = U === "status" && !r.value ? j : [];
|
|
2239
|
+
for (let Y = 0; ; Y++) {
|
|
2172
2240
|
try {
|
|
2173
|
-
const
|
|
2174
|
-
if (
|
|
2175
|
-
} catch (
|
|
2176
|
-
if (
|
|
2241
|
+
const ae = W(await a.ctx.authorization?.[U]());
|
|
2242
|
+
if (ae.state !== "unavailable" || Y >= M.length) return ae;
|
|
2243
|
+
} catch (ae) {
|
|
2244
|
+
if (ae.code === "session_required" || Y >= M.length) throw ae;
|
|
2177
2245
|
}
|
|
2178
|
-
if (await new Promise((
|
|
2246
|
+
if (await new Promise((ae) => setTimeout(ae, M[Y])), v) throw Error("disposed");
|
|
2179
2247
|
}
|
|
2180
2248
|
}
|
|
2181
|
-
async function
|
|
2182
|
-
if (
|
|
2183
|
-
const
|
|
2184
|
-
|
|
2249
|
+
async function N(U) {
|
|
2250
|
+
if (s.value || v) return;
|
|
2251
|
+
const M = ++_;
|
|
2252
|
+
d.value = U === "request" && i.value?.state === "authorization_required" ? i.value : void 0, s.value = !0, o.value = !1, i.value = void 0;
|
|
2185
2253
|
try {
|
|
2186
|
-
const
|
|
2187
|
-
if (
|
|
2188
|
-
i.value =
|
|
2189
|
-
} catch (
|
|
2190
|
-
!
|
|
2254
|
+
const Y = await ee(U);
|
|
2255
|
+
if (v || M !== _) return;
|
|
2256
|
+
i.value = Y, r.value = Y.state !== "ready", Y.state === "ready" && T(!0), Y.state === "ready" && m("ready");
|
|
2257
|
+
} catch (Y) {
|
|
2258
|
+
!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);
|
|
2191
2259
|
} finally {
|
|
2192
|
-
!
|
|
2260
|
+
!v && M === _ && (s.value = !1, d.value = void 0, z && (z = !1, N("status")));
|
|
2193
2261
|
}
|
|
2194
2262
|
}
|
|
2195
|
-
function
|
|
2196
|
-
const
|
|
2197
|
-
|
|
2263
|
+
function T(U) {
|
|
2264
|
+
const M = P;
|
|
2265
|
+
P = [], M.forEach((Y) => Y(U));
|
|
2198
2266
|
}
|
|
2199
|
-
function
|
|
2200
|
-
|
|
2267
|
+
function B(U) {
|
|
2268
|
+
r.value = U, U || T(!1);
|
|
2201
2269
|
}
|
|
2202
|
-
function
|
|
2203
|
-
return i.value?.state === "ready" ? Promise.resolve(!0) : (
|
|
2270
|
+
function w() {
|
|
2271
|
+
return i.value?.state === "ready" ? Promise.resolve(!0) : (s.value || (r.value = !0), new Promise((U) => P.push(U)));
|
|
2204
2272
|
}
|
|
2205
|
-
return
|
|
2206
|
-
|
|
2207
|
-
|
|
2208
|
-
}),
|
|
2273
|
+
return sa(He, { state: F(() => i.value?.state ?? "checking"), requireAuthorization: w, text: b, busy: s, canManage: () => !!a.ctx.authorization?.canManage?.(), revoke: () => N("revoke") }), ve(() => {
|
|
2274
|
+
x = a.ctx.reopen(() => {
|
|
2275
|
+
s.value ? z = !0 : N("status");
|
|
2276
|
+
}), N("status");
|
|
2209
2277
|
}), Le(() => {
|
|
2210
|
-
|
|
2211
|
-
}), (
|
|
2212
|
-
|
|
2213
|
-
|
|
2278
|
+
v = !0, _++, T(!1), typeof x == "function" && x();
|
|
2279
|
+
}), (U, M) => (t(), S(Z, null, [
|
|
2280
|
+
C("div", ft, [
|
|
2281
|
+
Ie(U.$slots, "default", {}, void 0, !0)
|
|
2214
2282
|
]),
|
|
2215
|
-
|
|
2216
|
-
open:
|
|
2217
|
-
title:
|
|
2283
|
+
h(e(Ae), {
|
|
2284
|
+
open: r.value,
|
|
2285
|
+
title: J.value,
|
|
2218
2286
|
width: "480px",
|
|
2219
|
-
"onUpdate:open":
|
|
2287
|
+
"onUpdate:open": B
|
|
2220
2288
|
}, {
|
|
2221
|
-
footer:
|
|
2222
|
-
|
|
2289
|
+
footer: n(() => [
|
|
2290
|
+
E.value ? (t(), $(e(A), {
|
|
2223
2291
|
key: 0,
|
|
2224
2292
|
variant: "primary",
|
|
2225
|
-
loading:
|
|
2226
|
-
disabled:
|
|
2227
|
-
onClick:
|
|
2293
|
+
loading: s.value,
|
|
2294
|
+
disabled: s.value,
|
|
2295
|
+
onClick: M[0] || (M[0] = (Y) => N("request"))
|
|
2228
2296
|
}, {
|
|
2229
|
-
default:
|
|
2230
|
-
|
|
2297
|
+
default: n(() => [
|
|
2298
|
+
g(l(s.value ? b.value("authorizing") : b.value("authorize")), 1)
|
|
2231
2299
|
]),
|
|
2232
2300
|
_: 1
|
|
2233
|
-
}, 8, ["loading", "disabled"])) : (t(),
|
|
2301
|
+
}, 8, ["loading", "disabled"])) : (t(), $(e(A), {
|
|
2234
2302
|
key: 1,
|
|
2235
2303
|
variant: "primary",
|
|
2236
|
-
loading:
|
|
2237
|
-
disabled:
|
|
2238
|
-
onClick:
|
|
2304
|
+
loading: s.value,
|
|
2305
|
+
disabled: s.value,
|
|
2306
|
+
onClick: M[1] || (M[1] = (Y) => N("status"))
|
|
2239
2307
|
}, {
|
|
2240
|
-
default:
|
|
2241
|
-
|
|
2308
|
+
default: n(() => [
|
|
2309
|
+
g(l(s.value ? b.value("checking") : b.value("retry")), 1)
|
|
2242
2310
|
]),
|
|
2243
2311
|
_: 1
|
|
2244
2312
|
}, 8, ["loading", "disabled"]))
|
|
2245
2313
|
]),
|
|
2246
|
-
default:
|
|
2247
|
-
|
|
2314
|
+
default: n(() => [
|
|
2315
|
+
C("div", {
|
|
2248
2316
|
class: "authorization-view",
|
|
2249
|
-
"aria-busy":
|
|
2317
|
+
"aria-busy": s.value,
|
|
2250
2318
|
"data-authorization-state": i.value?.state || "checking"
|
|
2251
2319
|
}, [
|
|
2252
|
-
|
|
2253
|
-
R.value ? (t(),
|
|
2320
|
+
C("p", yt, l(G.value), 1),
|
|
2321
|
+
R.value ? (t(), $(e(Q), {
|
|
2254
2322
|
key: 0,
|
|
2255
2323
|
class: "authorization-status",
|
|
2256
|
-
tone: ["grant_missing", "upgrade_reapproval"].includes(
|
|
2257
|
-
title:
|
|
2324
|
+
tone: ["grant_missing", "upgrade_reapproval"].includes(O.value) ? "info" : "warning",
|
|
2325
|
+
title: b.value("reason." + O.value)
|
|
2258
2326
|
}, {
|
|
2259
|
-
default:
|
|
2260
|
-
|
|
2327
|
+
default: n(() => [
|
|
2328
|
+
g(l(b.value(H.value)), 1)
|
|
2261
2329
|
]),
|
|
2262
2330
|
_: 1
|
|
2263
|
-
}, 8, ["tone", "title"])) :
|
|
2264
|
-
o.value ? (t(),
|
|
2331
|
+
}, 8, ["tone", "title"])) : k("", !0),
|
|
2332
|
+
o.value ? (t(), $(e(Q), {
|
|
2265
2333
|
key: 1,
|
|
2266
2334
|
class: "authorization-failed",
|
|
2267
2335
|
tone: "warning"
|
|
2268
2336
|
}, {
|
|
2269
|
-
default:
|
|
2270
|
-
|
|
2337
|
+
default: n(() => [
|
|
2338
|
+
g(l(b.value("failed")), 1)
|
|
2271
2339
|
]),
|
|
2272
2340
|
_: 1
|
|
2273
|
-
})) :
|
|
2274
|
-
], 8,
|
|
2341
|
+
})) : k("", !0)
|
|
2342
|
+
], 8, pt)
|
|
2275
2343
|
]),
|
|
2276
2344
|
_: 1
|
|
2277
2345
|
}, 8, ["open", "title"])
|
|
2278
2346
|
], 64));
|
|
2279
2347
|
}
|
|
2280
|
-
}),
|
|
2348
|
+
}), Tt = /* @__PURE__ */ ne(mt, [["__scopeId", "data-v-e16b5f7d"]]), bt = { class: "authorization-setting" }, kt = {
|
|
2281
2349
|
class: "authorization-state",
|
|
2282
2350
|
role: "status"
|
|
2283
|
-
},
|
|
2351
|
+
}, gt = { class: "authorization-revoke-body" }, ht = /* @__PURE__ */ le({
|
|
2284
2352
|
__name: "AuthorizationSettings",
|
|
2285
|
-
setup(
|
|
2286
|
-
const { state:
|
|
2287
|
-
return (
|
|
2288
|
-
|
|
2353
|
+
setup(p) {
|
|
2354
|
+
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" };
|
|
2355
|
+
return (P, v) => (t(), S(Z, null, [
|
|
2356
|
+
h(e(ce), {
|
|
2289
2357
|
title: e(m)("settings.title"),
|
|
2290
2358
|
collapsible: !1
|
|
2291
2359
|
}, {
|
|
2292
|
-
default:
|
|
2293
|
-
|
|
2360
|
+
default: n(() => [
|
|
2361
|
+
h(e(ya), {
|
|
2294
2362
|
label: e(m)("settings.status"),
|
|
2295
2363
|
description: e(m)("purpose"),
|
|
2296
2364
|
align: "center"
|
|
2297
2365
|
}, {
|
|
2298
|
-
default:
|
|
2299
|
-
|
|
2300
|
-
|
|
2301
|
-
e(
|
|
2366
|
+
default: n(() => [
|
|
2367
|
+
C("div", bt, [
|
|
2368
|
+
C("span", kt, [
|
|
2369
|
+
e(I) === "ready" ? (t(), $(e(_a), {
|
|
2302
2370
|
key: 0,
|
|
2303
2371
|
size: 16,
|
|
2304
2372
|
"aria-hidden": "true"
|
|
2305
|
-
})) :
|
|
2306
|
-
|
|
2373
|
+
})) : k("", !0),
|
|
2374
|
+
g(l(e(m)(r[e(I)])), 1)
|
|
2307
2375
|
]),
|
|
2308
|
-
e(
|
|
2376
|
+
e(I) === "ready" && e(d)() ? (t(), $(e(A), {
|
|
2309
2377
|
key: 0,
|
|
2310
2378
|
variant: "secondary",
|
|
2311
2379
|
disabled: e(i),
|
|
2312
|
-
onClick:
|
|
2380
|
+
onClick: v[0] || (v[0] = (_) => o.value = !0)
|
|
2313
2381
|
}, {
|
|
2314
|
-
default:
|
|
2315
|
-
|
|
2382
|
+
default: n(() => [
|
|
2383
|
+
g(l(e(m)("revoke")), 1)
|
|
2316
2384
|
]),
|
|
2317
2385
|
_: 1
|
|
2318
|
-
}, 8, ["disabled"])) : e(
|
|
2386
|
+
}, 8, ["disabled"])) : e(I) !== "ready" && e(I) !== "checking" ? (t(), $(e(A), {
|
|
2319
2387
|
key: 1,
|
|
2320
2388
|
variant: "secondary",
|
|
2321
|
-
onClick:
|
|
2389
|
+
onClick: v[1] || (v[1] = (_) => e(a)())
|
|
2322
2390
|
}, {
|
|
2323
|
-
default:
|
|
2324
|
-
|
|
2391
|
+
default: n(() => [
|
|
2392
|
+
g(l(e(m)("settings.details")), 1)
|
|
2325
2393
|
]),
|
|
2326
2394
|
_: 1
|
|
2327
|
-
})) :
|
|
2395
|
+
})) : k("", !0)
|
|
2328
2396
|
])
|
|
2329
2397
|
]),
|
|
2330
2398
|
_: 1
|
|
@@ -2332,94 +2400,99 @@ const dt = { class: "authorization-content" }, vt = ["aria-busy", "data-authoriz
|
|
|
2332
2400
|
]),
|
|
2333
2401
|
_: 1
|
|
2334
2402
|
}, 8, ["title"]),
|
|
2335
|
-
|
|
2403
|
+
h(e(Ae), {
|
|
2336
2404
|
open: o.value,
|
|
2337
|
-
"onUpdate:open":
|
|
2405
|
+
"onUpdate:open": v[4] || (v[4] = (_) => o.value = _),
|
|
2338
2406
|
title: e(m)("revoke.title"),
|
|
2339
2407
|
width: "480px"
|
|
2340
2408
|
}, {
|
|
2341
|
-
footer:
|
|
2342
|
-
|
|
2409
|
+
footer: n(() => [
|
|
2410
|
+
h(e(A), {
|
|
2343
2411
|
variant: "secondary",
|
|
2344
|
-
onClick:
|
|
2412
|
+
onClick: v[2] || (v[2] = (_) => o.value = !1)
|
|
2345
2413
|
}, {
|
|
2346
|
-
default:
|
|
2347
|
-
|
|
2414
|
+
default: n(() => [
|
|
2415
|
+
g(l(e(m)("cancel")), 1)
|
|
2348
2416
|
]),
|
|
2349
2417
|
_: 1
|
|
2350
2418
|
}),
|
|
2351
|
-
|
|
2419
|
+
h(e(A), {
|
|
2352
2420
|
variant: "danger",
|
|
2353
2421
|
disabled: e(i),
|
|
2354
|
-
onClick:
|
|
2355
|
-
o.value = !1, e(
|
|
2422
|
+
onClick: v[3] || (v[3] = (_) => {
|
|
2423
|
+
o.value = !1, e(s)();
|
|
2356
2424
|
})
|
|
2357
2425
|
}, {
|
|
2358
|
-
default:
|
|
2359
|
-
|
|
2426
|
+
default: n(() => [
|
|
2427
|
+
g(l(e(m)("revoke")), 1)
|
|
2360
2428
|
]),
|
|
2361
2429
|
_: 1
|
|
2362
2430
|
}, 8, ["disabled"])
|
|
2363
2431
|
]),
|
|
2364
|
-
default:
|
|
2365
|
-
|
|
2432
|
+
default: n(() => [
|
|
2433
|
+
C("p", gt, l(e(m)("revoke.body")), 1)
|
|
2366
2434
|
]),
|
|
2367
2435
|
_: 1
|
|
2368
2436
|
}, 8, ["open", "title"])
|
|
2369
2437
|
], 64));
|
|
2370
2438
|
}
|
|
2371
|
-
}),
|
|
2439
|
+
}), Et = /* @__PURE__ */ ne(ht, [["__scopeId", "data-v-f031e7c7"]]);
|
|
2372
2440
|
export {
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
|
|
2378
|
-
|
|
2379
|
-
|
|
2380
|
-
|
|
2381
|
-
|
|
2382
|
-
|
|
2383
|
-
|
|
2384
|
-
|
|
2385
|
-
|
|
2386
|
-
|
|
2387
|
-
|
|
2388
|
-
|
|
2389
|
-
|
|
2390
|
-
|
|
2391
|
-
|
|
2392
|
-
|
|
2393
|
-
|
|
2394
|
-
|
|
2395
|
-
|
|
2396
|
-
|
|
2397
|
-
|
|
2398
|
-
|
|
2399
|
-
|
|
2400
|
-
|
|
2401
|
-
|
|
2402
|
-
|
|
2403
|
-
|
|
2404
|
-
|
|
2405
|
-
|
|
2406
|
-
|
|
2407
|
-
|
|
2441
|
+
St as AppShell,
|
|
2442
|
+
Tt as AuthorizationGate,
|
|
2443
|
+
Et as AuthorizationSettings,
|
|
2444
|
+
It as BackgroundPanel,
|
|
2445
|
+
Dt as BackgroundSavePanel,
|
|
2446
|
+
At as DelegatePanel,
|
|
2447
|
+
Ut as ExecutorSettings,
|
|
2448
|
+
wa as ExecutorSetupKey,
|
|
2449
|
+
Bt as FILE_STATION_APP,
|
|
2450
|
+
Ke as FileBrowser,
|
|
2451
|
+
zt as FilesPage,
|
|
2452
|
+
Vt as LoginPage,
|
|
2453
|
+
_e as NasPicker,
|
|
2454
|
+
Pt as PortalSettings,
|
|
2455
|
+
Ot as activePage,
|
|
2456
|
+
Ft as authorizationCatalogs,
|
|
2457
|
+
aa as authorizationCopy,
|
|
2458
|
+
Lt as backgroundCatalogs,
|
|
2459
|
+
Ye as backgroundCopy,
|
|
2460
|
+
Ze as backgroundErrorCopy,
|
|
2461
|
+
Nt as catalogs,
|
|
2462
|
+
We as createBackgroundPickerProvider,
|
|
2463
|
+
Mt as createBackgroundSaveFacade,
|
|
2464
|
+
Kt as createFileTransfers,
|
|
2465
|
+
qe as createNasProvider,
|
|
2466
|
+
xt as createSession,
|
|
2467
|
+
Ht as decodeResponse,
|
|
2468
|
+
Gt as delegateCatalogs,
|
|
2469
|
+
Be as delegateCopy,
|
|
2470
|
+
Jt as encodeRequest,
|
|
2471
|
+
je as errorCopy,
|
|
2472
|
+
Xt as fileStationPath,
|
|
2473
|
+
Pe as format,
|
|
2474
|
+
Qt as identityCatalogs,
|
|
2475
|
+
Qe as identityCopy,
|
|
2476
|
+
Yt as mergeCatalogs,
|
|
2477
|
+
Wt as nasCatalogs,
|
|
2478
|
+
re as nasCopy,
|
|
2408
2479
|
Ee as nasErrorCopy,
|
|
2409
|
-
|
|
2410
|
-
|
|
2411
|
-
|
|
2480
|
+
Zt as openFileInFileStation,
|
|
2481
|
+
jt as openFolderInFileStation,
|
|
2482
|
+
en as protocolCodes,
|
|
2483
|
+
an as protocolOps,
|
|
2484
|
+
ln as protocolSchemas,
|
|
2412
2485
|
De as requestKey,
|
|
2413
|
-
|
|
2414
|
-
|
|
2486
|
+
tn as saveCatalogs,
|
|
2487
|
+
Re as saveCopy,
|
|
2415
2488
|
Ve as saveError,
|
|
2416
|
-
|
|
2417
|
-
|
|
2418
|
-
|
|
2419
|
-
|
|
2420
|
-
|
|
2421
|
-
|
|
2422
|
-
|
|
2423
|
-
|
|
2424
|
-
|
|
2489
|
+
ea as scopedPicker,
|
|
2490
|
+
nn as shellCatalogs,
|
|
2491
|
+
Je as shellCopy,
|
|
2492
|
+
sn as shellPages,
|
|
2493
|
+
Xe as uiLocale,
|
|
2494
|
+
on as uiLocales,
|
|
2495
|
+
ct as useAuthorization,
|
|
2496
|
+
Ca as useExecutorSetup,
|
|
2497
|
+
$a as useNasRequest
|
|
2425
2498
|
};
|