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