@epam/ai-dial-chat-hooks 1.3.0-dev.105 → 1.3.0-dev.108
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/file-manager.js +21 -21
- package/files/create-files-api.d.ts +1 -1
- package/files/create-files-api.d.ts.map +1 -1
- package/files/create-files-api.js +1 -1
- package/files/create-upload-file-with-progress.d.ts +4 -1
- package/files/create-upload-file-with-progress.d.ts.map +1 -1
- package/files/create-upload-file-with-progress.js +43 -28
- package/files/dial-file-manager-mapping.util.d.ts +6 -2
- package/files/dial-file-manager-mapping.util.d.ts.map +1 -1
- package/files/dial-file-manager-mapping.util.js +85 -72
- package/files/dial-file-manager.types.d.ts +12 -4
- package/files/dial-file-manager.types.d.ts.map +1 -1
- package/files/dial-files-api.d.ts +2 -2
- package/files/dial-files-api.d.ts.map +1 -1
- package/files/download-progress.d.ts +33 -0
- package/files/download-progress.d.ts.map +1 -0
- package/files/download-progress.js +28 -0
- package/files/useDialFileManager/useDialFileManager.d.ts.map +1 -1
- package/files/useDialFileManager/useDialFileManager.js +5 -2
- package/files/useDialFileManagerSections/useDialFileManagerSections.d.ts.map +1 -1
- package/files/useDialFileManagerSections/useDialFileManagerSections.js +85 -78
- package/files/useDialFileMutations/useDialFileMutations.d.ts +9 -0
- package/files/useDialFileMutations/useDialFileMutations.d.ts.map +1 -1
- package/files/useDialFileMutations/useDialFileMutations.js +230 -159
- package/files/useDialFileUploadBatch/useDialFileUploadBatch.d.ts.map +1 -1
- package/files/useDialFileUploadBatch/useDialFileUploadBatch.js +108 -100
- package/index.js +46 -46
- package/package.json +18 -18
|
@@ -4,21 +4,22 @@ import { RESERVED_MARKER_NAME as i } from "../dial-file-manager.model.js";
|
|
|
4
4
|
import { formatOperationFolderName as a, getVirtualPathName as o, hasForbiddenNameSymbols as s, parseNewFolderVirtualPath as c, resolveOwnerCoords as l } from "../dial-file-manager-path.util.js";
|
|
5
5
|
import { resolveDialFileApiPath as u, virtualPathToApiPath as d } from "../resolve-dial-file-api-path.js";
|
|
6
6
|
import { prepareCopyItems as f, prepareMoveRenameItems as p } from "../dial-file-manager-copy-move.util.js";
|
|
7
|
-
import { findFirstSuccessfulCopyMoveItem as m } from "../dial-file-manager-mapping.util.js";
|
|
8
|
-
import { DownloadDestinationType as
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
7
|
+
import { findFirstSuccessfulCopyMoveItem as m, resolveTransferFailureReason as h } from "../dial-file-manager-mapping.util.js";
|
|
8
|
+
import { DownloadDestinationType as g } from "../download-destination.js";
|
|
9
|
+
import { createDownloadResponseError as _, estimateArchiveSize as v, getContentLength as y, getDownloadPercent as b, withDownloadProgress as ee } from "../download-progress.js";
|
|
10
|
+
import { FileDownloadStatus as x, getParentFolderPath as S, isDownloadInProgress as te } from "@epam/ai-dial-chat-shared";
|
|
11
|
+
import { useCallback as C, useEffect as ne, useRef as w, useState as T } from "react";
|
|
12
|
+
import { ArchiveItemDtoNodeTypeEnum as re, CopyItemDtoNodeTypeEnum as ie, DeleteItemDtoNodeTypeEnum as E, MoveItemDtoNodeTypeEnum as ae, RenameItemDtoNodeTypeEnum as oe } from "@epam/ai-dial-chat-api-client";
|
|
13
|
+
import { NOT_ALLOWED_SYMBOLS as se, NotificationVariant as D } from "@epam/ai-dial-ui-kit";
|
|
14
|
+
import { DialFileManagerTabs as ce, DialFileNodeType as O } from "@epam/ai-dial-react-file-manager";
|
|
14
15
|
//#region src/files/useDialFileMutations/useDialFileMutations.ts
|
|
15
|
-
var
|
|
16
|
-
let [
|
|
16
|
+
var k = 0, le = () => (k += 1, `download-${Date.now()}-${k}`), A = ({ filesApi: k, bucket: A, rootLabel: j, activeTab: M, folderPath: N, currentFolder: P, sharedRootMetaRef: F, listingPermissionsCache: ue, invalidateFolders: I, bumpRetry: L, mergeCreatedFolder: de, setFolderPath: R, onNotification: z, onOperationSuccess: B, downloadDestination: V, forbiddenSymbolsRegExp: H }) => {
|
|
17
|
+
let [fe, pe] = T(!1), [me, U] = T(null), W = w(/* @__PURE__ */ new Map()), G = w(/* @__PURE__ */ new Map()), K = w(null), [he, ge] = T(!1), [q, _e] = T(!1), [J, ve] = T(!1), [Y, ye] = T(!1), X = w(null), Z = w(null), Q = C((e, t) => {
|
|
17
18
|
let r = null;
|
|
18
19
|
if (!e || e.trim() === "") r = { reason: n.Empty };
|
|
19
20
|
else if (s(e, H)) r = {
|
|
20
21
|
reason: n.ForbiddenSymbols,
|
|
21
|
-
symbols:
|
|
22
|
+
symbols: se
|
|
22
23
|
};
|
|
23
24
|
else if (e === i) r = { reason: n.ReservedName };
|
|
24
25
|
else if (e.length > 255) r = {
|
|
@@ -32,132 +33,198 @@ var D = ({ filesApi: D, bucket: O, rootLabel: k, activeTab: A, folderPath: j, cu
|
|
|
32
33
|
existingName: o.name
|
|
33
34
|
});
|
|
34
35
|
}
|
|
35
|
-
return
|
|
36
|
-
}, [H]),
|
|
37
|
-
let { parentVirtualPath: a, name: o } = c(n,
|
|
36
|
+
return Z.current = r, r;
|
|
37
|
+
}, [H]), be = C(async (e, n, i) => {
|
|
38
|
+
let { parentVirtualPath: a, name: o } = c(n, j), s = d(a, j), u = P && N === s ? P : {
|
|
38
39
|
id: s,
|
|
39
40
|
path: s,
|
|
40
41
|
name: a.split("/").filter(Boolean).pop() ?? "",
|
|
41
42
|
folderId: s,
|
|
42
|
-
nodeType:
|
|
43
|
+
nodeType: O.FOLDER,
|
|
43
44
|
items: []
|
|
44
|
-
}, f =
|
|
45
|
-
if (
|
|
46
|
-
|
|
47
|
-
let { bucket: p, path: m } =
|
|
48
|
-
bucket:
|
|
45
|
+
}, f = Z.current;
|
|
46
|
+
if (Z.current = null, Q(o, u) || f) return;
|
|
47
|
+
pe(!0);
|
|
48
|
+
let { bucket: p, path: m } = M === ce.Shared ? l(s, F.current, A) : {
|
|
49
|
+
bucket: A,
|
|
49
50
|
path: s
|
|
50
51
|
};
|
|
51
52
|
try {
|
|
52
|
-
|
|
53
|
+
de(s, await k.createFolder({
|
|
53
54
|
bucket: p,
|
|
54
55
|
parentPath: m,
|
|
55
56
|
name: o
|
|
56
|
-
}),
|
|
57
|
+
}), ue.get(s)), L(), B?.({
|
|
57
58
|
kind: r.FolderCreated,
|
|
58
59
|
name: o
|
|
59
60
|
});
|
|
60
61
|
} catch {
|
|
61
62
|
z?.({
|
|
62
|
-
variant:
|
|
63
|
+
variant: D.Error,
|
|
63
64
|
reason: t.FolderCreateFailed
|
|
64
65
|
});
|
|
65
66
|
} finally {
|
|
66
|
-
|
|
67
|
+
pe(!1);
|
|
67
68
|
}
|
|
68
69
|
}, [
|
|
69
|
-
A,
|
|
70
|
-
O,
|
|
71
70
|
M,
|
|
72
|
-
|
|
73
|
-
j,
|
|
74
|
-
$,
|
|
75
|
-
k,
|
|
71
|
+
A,
|
|
76
72
|
P,
|
|
73
|
+
k,
|
|
74
|
+
N,
|
|
75
|
+
Q,
|
|
76
|
+
j,
|
|
77
|
+
ue,
|
|
78
|
+
de,
|
|
77
79
|
L,
|
|
78
|
-
I,
|
|
79
80
|
B,
|
|
80
|
-
|
|
81
|
+
F,
|
|
81
82
|
z
|
|
82
|
-
]),
|
|
83
|
+
]), $ = C((e, t) => {
|
|
84
|
+
G.current.delete(e), U((n) => n && {
|
|
85
|
+
...n,
|
|
86
|
+
files: n.files.map((n) => n.id === e ? {
|
|
87
|
+
...n,
|
|
88
|
+
...t
|
|
89
|
+
} : n)
|
|
90
|
+
});
|
|
91
|
+
}, []), xe = C((e, t) => {
|
|
92
|
+
G.current.set(e, t), K.current ??= requestAnimationFrame(() => {
|
|
93
|
+
K.current = null;
|
|
94
|
+
let e = new Map(G.current);
|
|
95
|
+
G.current.clear(), U((t) => t && {
|
|
96
|
+
...t,
|
|
97
|
+
files: t.files.map((t) => e.has(t.id) && t.status === x.Downloading ? {
|
|
98
|
+
...t,
|
|
99
|
+
percent: e.get(t.id)
|
|
100
|
+
} : t)
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
}, []);
|
|
104
|
+
ne(() => () => {
|
|
105
|
+
K.current != null && cancelAnimationFrame(K.current);
|
|
106
|
+
}, []);
|
|
107
|
+
let Se = C((e) => {
|
|
83
108
|
(async () => {
|
|
84
|
-
|
|
109
|
+
let n = e.length === 1 && e[0].nodeType === O.ITEM, i = "files.zip";
|
|
110
|
+
n ? i = e[0].name : e.length === 1 && (i = `${e[0].name}.zip`);
|
|
111
|
+
let a = e.length === 1 ? t.DownloadFileFailed : t.DownloadFilesFailed, o;
|
|
85
112
|
try {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
113
|
+
o = await V.resolveDestination(i, n ? e[0].contentType ?? "application/octet-stream" : "application/zip");
|
|
114
|
+
} catch {
|
|
115
|
+
z?.({
|
|
116
|
+
variant: D.Error,
|
|
117
|
+
reason: a
|
|
118
|
+
});
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
if (o.type === g.Cancelled) return;
|
|
122
|
+
let s = le(), c = new AbortController();
|
|
123
|
+
W.current.set(s, c), U((e) => ({
|
|
124
|
+
isOpen: !0,
|
|
125
|
+
files: [...e?.files ?? [], {
|
|
126
|
+
id: s,
|
|
127
|
+
name: i,
|
|
128
|
+
status: x.Downloading
|
|
129
|
+
}]
|
|
130
|
+
}));
|
|
131
|
+
try {
|
|
132
|
+
let t, a, l = !1;
|
|
133
|
+
if (n) {
|
|
134
|
+
let n = e[0];
|
|
135
|
+
if (!n.bucket) throw Error("File is missing bucket");
|
|
136
|
+
let r = u(n, n.bucket, j);
|
|
137
|
+
if (t = await k.downloadFile(n.bucket, r, c.signal), !t.ok) throw _(t);
|
|
138
|
+
a = y(t);
|
|
99
139
|
} else {
|
|
100
|
-
let
|
|
101
|
-
bucket: e.bucket ??
|
|
102
|
-
path: u(e, e.bucket ??
|
|
140
|
+
let n = e.map((e) => ({
|
|
141
|
+
bucket: e.bucket ?? A,
|
|
142
|
+
path: u(e, e.bucket ?? A, j),
|
|
103
143
|
name: e.name,
|
|
104
|
-
nodeType: e.nodeType ===
|
|
105
|
-
}))
|
|
106
|
-
if (!
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
}) : B?.({
|
|
112
|
-
kind: r.FilesDownloaded,
|
|
113
|
-
count: e.length
|
|
114
|
-
});
|
|
144
|
+
nodeType: e.nodeType === O.FOLDER ? re.Folder : re.Item
|
|
145
|
+
}));
|
|
146
|
+
if (t = await k.downloadArchive(n, c.signal), !t.ok) throw _(t);
|
|
147
|
+
a = v(e.map((e) => ({
|
|
148
|
+
isFolder: e.nodeType === O.FOLDER,
|
|
149
|
+
contentLength: e.contentLength
|
|
150
|
+
}))), l = !0;
|
|
115
151
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
152
|
+
let d = ee(t, (e) => xe(s, b(e, a, l))), f = await V.triggerDownload(d, i, o);
|
|
153
|
+
$(s, {
|
|
154
|
+
status: x.Completed,
|
|
155
|
+
percent: 100
|
|
156
|
+
}), n ? B?.({
|
|
157
|
+
kind: r.FileDownloaded,
|
|
158
|
+
name: f,
|
|
159
|
+
count: 1
|
|
160
|
+
}) : e.length === 1 ? B?.({
|
|
161
|
+
kind: r.FileDownloaded,
|
|
162
|
+
name: f
|
|
163
|
+
}) : B?.({
|
|
164
|
+
kind: r.FilesDownloaded,
|
|
165
|
+
count: e.length
|
|
166
|
+
});
|
|
167
|
+
} catch (e) {
|
|
168
|
+
if (c.signal.aborted) {
|
|
169
|
+
$(s, { status: x.Cancelled });
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
let t = await h(e);
|
|
173
|
+
$(s, {
|
|
174
|
+
status: x.Failed,
|
|
175
|
+
failureReason: t
|
|
176
|
+
}), z?.({
|
|
177
|
+
variant: D.Error,
|
|
178
|
+
reason: a
|
|
120
179
|
});
|
|
121
180
|
} finally {
|
|
122
|
-
W(
|
|
181
|
+
W.current.delete(s);
|
|
123
182
|
}
|
|
124
183
|
})();
|
|
125
184
|
}, [
|
|
126
|
-
|
|
127
|
-
|
|
185
|
+
A,
|
|
186
|
+
j,
|
|
128
187
|
B,
|
|
129
188
|
z,
|
|
130
|
-
|
|
131
|
-
V
|
|
132
|
-
|
|
189
|
+
k,
|
|
190
|
+
V,
|
|
191
|
+
$,
|
|
192
|
+
xe
|
|
193
|
+
]), Ce = C((e) => {
|
|
194
|
+
W.current.get(e)?.abort();
|
|
195
|
+
}, []), we = C(() => {
|
|
196
|
+
for (let e of W.current.values()) e.abort();
|
|
197
|
+
}, []), Te = C(() => {
|
|
198
|
+
G.current.clear(), U(null);
|
|
199
|
+
}, []), Ee = te(me), De = C((e, n) => {
|
|
133
200
|
e.length !== 0 && (async () => {
|
|
134
|
-
|
|
201
|
+
ge(!0);
|
|
135
202
|
let r = [], i = e.map((e) => {
|
|
136
|
-
let t = e.nodeType ===
|
|
203
|
+
let t = e.nodeType === O.FOLDER, n = d(e.sourceUrl, j), i = t ? n : n.replace(/\/$/, "");
|
|
137
204
|
t && i !== "" && r.push(i.endsWith("/") ? i : `${i}/`);
|
|
138
|
-
let a = o(e.sourceUrl, i), { bucket: s, path: c } =
|
|
139
|
-
bucket:
|
|
205
|
+
let a = o(e.sourceUrl, i), { bucket: s, path: c } = M === ce.Shared ? l(i, F.current, A) : {
|
|
206
|
+
bucket: A,
|
|
140
207
|
path: i
|
|
141
208
|
};
|
|
142
209
|
return {
|
|
143
210
|
bucket: s,
|
|
144
211
|
path: c,
|
|
145
212
|
name: a,
|
|
146
|
-
nodeType: t ?
|
|
213
|
+
nodeType: t ? E.Folder : E.Item
|
|
147
214
|
};
|
|
148
215
|
});
|
|
149
216
|
try {
|
|
150
|
-
let { results: e } = await
|
|
217
|
+
let { results: e } = await k.deleteFiles(i), r = e.filter((e) => !e.success), a = r.length, o = e.length - a, s = e.find((e) => e.success), c = i.find((e) => e.path === s?.path) ?? i[0];
|
|
151
218
|
if (o > 0 && z?.({
|
|
152
|
-
variant:
|
|
219
|
+
variant: D.Success,
|
|
153
220
|
reason: t.FilesDeleted,
|
|
154
221
|
count: o,
|
|
155
222
|
name: c?.name,
|
|
156
|
-
folder: n ||
|
|
223
|
+
folder: n || j
|
|
157
224
|
}), a > 0) {
|
|
158
225
|
let e = r.slice(0, 3).map((e) => i.find((t) => t.path === e.path)?.name ?? e.path), n = a - e.length;
|
|
159
226
|
z?.({
|
|
160
|
-
variant:
|
|
227
|
+
variant: D.Error,
|
|
161
228
|
reason: t.FilesDeletePartiallyFailed,
|
|
162
229
|
names: e,
|
|
163
230
|
restCount: n
|
|
@@ -165,118 +232,122 @@ var D = ({ filesApi: D, bucket: O, rootLabel: k, activeTab: A, folderPath: j, cu
|
|
|
165
232
|
}
|
|
166
233
|
} catch {
|
|
167
234
|
z?.({
|
|
168
|
-
variant:
|
|
235
|
+
variant: D.Error,
|
|
169
236
|
reason: t.DeleteFailed
|
|
170
237
|
});
|
|
171
238
|
}
|
|
172
|
-
|
|
173
|
-
if (e.nodeType ===
|
|
239
|
+
I([...new Set(i.map((e) => {
|
|
240
|
+
if (e.nodeType === E.Folder) return e.path.endsWith("/") ? e.path : `${e.path}/`;
|
|
174
241
|
let t = e.path.lastIndexOf("/");
|
|
175
242
|
return t > 0 ? e.path.slice(0, t + 1) : "";
|
|
176
243
|
}))]);
|
|
177
|
-
let a = r.filter((e) =>
|
|
178
|
-
a != null && R(
|
|
244
|
+
let a = r.filter((e) => N.startsWith(e)).reduce((e, t) => e == null || t.length < e.length ? t : e, void 0);
|
|
245
|
+
a != null && R(S(a)), L(), ge(!1);
|
|
179
246
|
})();
|
|
180
247
|
}, [
|
|
248
|
+
M,
|
|
181
249
|
A,
|
|
182
|
-
O,
|
|
183
|
-
k,
|
|
184
250
|
j,
|
|
185
|
-
z,
|
|
186
|
-
D,
|
|
187
251
|
N,
|
|
252
|
+
z,
|
|
253
|
+
k,
|
|
188
254
|
F,
|
|
189
255
|
I,
|
|
256
|
+
L,
|
|
190
257
|
R
|
|
191
|
-
]),
|
|
258
|
+
]), Oe = C((t, r) => {
|
|
192
259
|
if (!t || t.trim() === "") return { reason: n.Empty };
|
|
193
|
-
let a = r.nodeType ===
|
|
260
|
+
let a = r.nodeType === O.ITEM ? e(r.name).extension : "";
|
|
194
261
|
if (t === i || a !== "" && t === `${i}${a}`) return { reason: n.ReservedName };
|
|
195
262
|
if (s(t, H)) return {
|
|
196
263
|
reason: n.ForbiddenSymbols,
|
|
197
|
-
symbols:
|
|
264
|
+
symbols: se
|
|
198
265
|
};
|
|
199
266
|
if (t.length > 255) return {
|
|
200
267
|
reason: n.TooLong,
|
|
201
268
|
maxLength: 255
|
|
202
269
|
};
|
|
203
|
-
let o =
|
|
270
|
+
let o = P?.items ?? [], c = t.toLowerCase(), l = o.find((e) => e.path !== r.path && e.name.toLowerCase() === c);
|
|
204
271
|
return l ? {
|
|
205
272
|
reason: n.DuplicateName,
|
|
206
273
|
existingName: l.name
|
|
207
274
|
} : null;
|
|
208
|
-
}, [H,
|
|
209
|
-
if (e.length === 0 || J ||
|
|
275
|
+
}, [H, P]), ke = C((e, n) => {
|
|
276
|
+
if (e.length === 0 || J || Y) return;
|
|
210
277
|
let i = new AbortController();
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
let o = f(e,
|
|
278
|
+
X.current = i, (async () => {
|
|
279
|
+
ve(!0);
|
|
280
|
+
let o = f(e, A, j), s = o.map(({ dto: e }) => e);
|
|
214
281
|
try {
|
|
215
|
-
let { results: e } = await
|
|
282
|
+
let { results: e } = await k.copyFiles(s, i.signal), c = e.filter((e) => !e.success).length, l = e.length - c;
|
|
216
283
|
if (l > 0) {
|
|
217
|
-
let t = m(o, e), i = s.every((e) =>
|
|
284
|
+
let t = m(o, e), i = s.every((e) => S(e.sourcePath) === S(e.destinationPath)), c;
|
|
218
285
|
c = i ? l === 1 ? r.FileDuplicated : r.FilesDuplicated : l === 1 ? r.FileCopied : r.FilesCopied, B?.({
|
|
219
286
|
kind: c,
|
|
220
287
|
name: t?.destinationName,
|
|
221
288
|
count: l,
|
|
222
|
-
isFolder: t?.dto.nodeType ===
|
|
223
|
-
destinationFolderName: a(n,
|
|
289
|
+
isFolder: t?.dto.nodeType === ie.Folder,
|
|
290
|
+
destinationFolderName: a(n, j)
|
|
224
291
|
});
|
|
225
292
|
}
|
|
226
293
|
c > 0 && c < e.length ? z?.({
|
|
227
|
-
variant:
|
|
294
|
+
variant: D.Error,
|
|
228
295
|
reason: t.CopyPartiallyFailed,
|
|
229
296
|
count: c
|
|
230
297
|
}) : c === e.length && z?.({
|
|
231
|
-
variant:
|
|
298
|
+
variant: D.Error,
|
|
232
299
|
reason: t.CopyFailed
|
|
233
300
|
});
|
|
234
301
|
} catch {
|
|
235
302
|
i.signal.aborted || z?.({
|
|
236
|
-
variant:
|
|
303
|
+
variant: D.Error,
|
|
237
304
|
reason: t.CopyFailed
|
|
238
305
|
});
|
|
239
306
|
} finally {
|
|
240
|
-
|
|
307
|
+
I([...new Set(s.flatMap((e) => [S(e.sourcePath), S(e.destinationPath)]))]), L(), ve(!1), X.current = null;
|
|
241
308
|
}
|
|
242
309
|
})();
|
|
243
310
|
}, [
|
|
244
|
-
|
|
245
|
-
|
|
311
|
+
A,
|
|
312
|
+
j,
|
|
246
313
|
z,
|
|
247
314
|
B,
|
|
248
|
-
|
|
315
|
+
k,
|
|
249
316
|
J,
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
]),
|
|
254
|
-
|
|
317
|
+
Y,
|
|
318
|
+
I,
|
|
319
|
+
L
|
|
320
|
+
]), Ae = C(() => {
|
|
321
|
+
X.current?.abort();
|
|
255
322
|
}, []);
|
|
256
323
|
return {
|
|
257
|
-
isCreatingFolder:
|
|
258
|
-
isDownloading:
|
|
259
|
-
isDeleting:
|
|
260
|
-
isRenaming:
|
|
324
|
+
isCreatingFolder: fe,
|
|
325
|
+
isDownloading: Ee,
|
|
326
|
+
isDeleting: he,
|
|
327
|
+
isRenaming: q,
|
|
261
328
|
isCopying: J,
|
|
262
|
-
isMoving:
|
|
263
|
-
onCreateFolder:
|
|
264
|
-
onCreateFolderValidate:
|
|
265
|
-
onDownloadFiles:
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
329
|
+
isMoving: Y,
|
|
330
|
+
onCreateFolder: be,
|
|
331
|
+
onCreateFolderValidate: Q,
|
|
332
|
+
onDownloadFiles: Se,
|
|
333
|
+
downloadBatchState: me,
|
|
334
|
+
cancelDownloadFile: Ce,
|
|
335
|
+
cancelAllDownloads: we,
|
|
336
|
+
clearDownloadBatch: Te,
|
|
337
|
+
onDeleteFiles: De,
|
|
338
|
+
onRenameValidate: Oe,
|
|
339
|
+
onMoveToFiles: C((e, n, i) => {
|
|
340
|
+
if (e.length === 0 || J || Y || q) return;
|
|
341
|
+
let { renameDtos: s, preparedMoveItems: c } = p(e, A, j), l = c.map(({ dto: e }) => e), u = new AbortController();
|
|
342
|
+
l.length > 0 && (X.current = u), (async () => {
|
|
343
|
+
s.length > 0 && _e(!0), l.length > 0 && ye(!0);
|
|
273
344
|
let [e, n] = await Promise.all([(async () => {
|
|
274
345
|
if (s.length === 0) return {
|
|
275
346
|
results: [],
|
|
276
347
|
threw: !1
|
|
277
348
|
};
|
|
278
349
|
try {
|
|
279
|
-
let { results: e } = await
|
|
350
|
+
let { results: e } = await k.renameFiles(s);
|
|
280
351
|
return {
|
|
281
352
|
results: e,
|
|
282
353
|
threw: !1
|
|
@@ -294,7 +365,7 @@ var D = ({ filesApi: D, bucket: O, rootLabel: k, activeTab: A, folderPath: j, cu
|
|
|
294
365
|
aborted: !1
|
|
295
366
|
};
|
|
296
367
|
try {
|
|
297
|
-
let { results: e } = await
|
|
368
|
+
let { results: e } = await k.moveFiles(l, u.signal);
|
|
298
369
|
return {
|
|
299
370
|
results: e,
|
|
300
371
|
threw: !1,
|
|
@@ -307,15 +378,15 @@ var D = ({ filesApi: D, bucket: O, rootLabel: k, activeTab: A, folderPath: j, cu
|
|
|
307
378
|
aborted: u.signal.aborted
|
|
308
379
|
};
|
|
309
380
|
}
|
|
310
|
-
})()]), d = e.threw ? s.length : e.results.filter((e) => !e.success).length, f = n.threw && n.aborted, p = f ? 0 : l.length, h = f ? 0 : n.threw ? l.length : n.results.filter((e) => !e.success).length,
|
|
311
|
-
if (
|
|
381
|
+
})()]), d = e.threw ? s.length : e.results.filter((e) => !e.success).length, f = n.threw && n.aborted, p = f ? 0 : l.length, h = f ? 0 : n.threw ? l.length : n.results.filter((e) => !e.success).length, g = n.threw ? 0 : n.results.filter((e) => e.success).length, _ = s.length + p, v = d + h, y = h > 0;
|
|
382
|
+
if (g > 0) {
|
|
312
383
|
let e = m(c, n.results);
|
|
313
384
|
B?.({
|
|
314
|
-
kind:
|
|
385
|
+
kind: g === 1 ? r.FileMoved : r.FilesMoved,
|
|
315
386
|
name: e?.destinationName,
|
|
316
|
-
count:
|
|
317
|
-
isFolder: e?.dto.nodeType ===
|
|
318
|
-
destinationFolderName: a(i,
|
|
387
|
+
count: g,
|
|
388
|
+
isFolder: e?.dto.nodeType === ae.Folder,
|
|
389
|
+
destinationFolderName: a(i, j)
|
|
319
390
|
});
|
|
320
391
|
}
|
|
321
392
|
if (s.length === 1 && d === 0) {
|
|
@@ -323,44 +394,44 @@ var D = ({ filesApi: D, bucket: O, rootLabel: k, activeTab: A, folderPath: j, cu
|
|
|
323
394
|
B?.({
|
|
324
395
|
kind: r.FileRenamed,
|
|
325
396
|
name: o(e.destinationPath, e.destinationPath),
|
|
326
|
-
isFolder: e.nodeType ===
|
|
397
|
+
isFolder: e.nodeType === oe.Folder
|
|
327
398
|
});
|
|
328
399
|
}
|
|
329
|
-
|
|
330
|
-
variant:
|
|
331
|
-
reason:
|
|
400
|
+
v > 0 && (v === _ ? z?.({
|
|
401
|
+
variant: D.Error,
|
|
402
|
+
reason: y ? t.MoveFailed : t.RenameFailed
|
|
332
403
|
}) : z?.({
|
|
333
|
-
variant:
|
|
334
|
-
reason:
|
|
335
|
-
count:
|
|
404
|
+
variant: D.Error,
|
|
405
|
+
reason: y ? t.MovePartiallyFailed : t.RenamePartiallyFailed,
|
|
406
|
+
count: v
|
|
336
407
|
}));
|
|
337
|
-
let
|
|
338
|
-
if (
|
|
339
|
-
let e =
|
|
340
|
-
if (
|
|
341
|
-
let t =
|
|
342
|
-
R(
|
|
408
|
+
let b = s.find((t) => t.nodeType === oe.Folder && e.results.some((e) => e.success && e.sourcePath === t.sourcePath));
|
|
409
|
+
if (b != null) {
|
|
410
|
+
let e = b.sourcePath.endsWith("/") ? b.sourcePath : `${b.sourcePath}/`;
|
|
411
|
+
if (N === e || N.startsWith(e)) {
|
|
412
|
+
let t = b.destinationPath.endsWith("/") ? b.destinationPath : `${b.destinationPath}/`;
|
|
413
|
+
R(N.replace(e, t));
|
|
343
414
|
}
|
|
344
415
|
}
|
|
345
|
-
|
|
416
|
+
I([...new Set([...s, ...l].flatMap((e) => [S(e.sourcePath), S(e.destinationPath)]))]), L(), _e(!1), ye(!1), l.length > 0 && (X.current = null);
|
|
346
417
|
})();
|
|
347
418
|
}, [
|
|
348
|
-
|
|
349
|
-
k,
|
|
419
|
+
A,
|
|
350
420
|
j,
|
|
421
|
+
N,
|
|
351
422
|
B,
|
|
352
423
|
z,
|
|
353
|
-
|
|
424
|
+
k,
|
|
354
425
|
J,
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
F,
|
|
426
|
+
Y,
|
|
427
|
+
q,
|
|
358
428
|
I,
|
|
429
|
+
L,
|
|
359
430
|
R
|
|
360
431
|
]),
|
|
361
|
-
onCopyFiles:
|
|
362
|
-
cancelCopyMove:
|
|
432
|
+
onCopyFiles: ke,
|
|
433
|
+
cancelCopyMove: Ae
|
|
363
434
|
};
|
|
364
435
|
};
|
|
365
436
|
//#endregion
|
|
366
|
-
export {
|
|
437
|
+
export { A as useDialFileMutations };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDialFileUploadBatch.d.ts","sourceRoot":"","sources":["../../../src/files/useDialFileUploadBatch/useDialFileUploadBatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAEjB,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"useDialFileUploadBatch.d.ts","sourceRoot":"","sources":["../../../src/files/useDialFileUploadBatch/useDialFileUploadBatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAEjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,KAAK,oBAAoB,EAIzB,KAAK,0BAA0B,EAChC,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EACV,QAAQ,EACR,kBAAkB,EACnB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAQvE,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAG1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAyDtD,oDAAoD;AACpD,MAAM,WAAW,6BAA6B;IAC5C,kEAAkE;IAClE,QAAQ,EAAE,YAAY,CAAC;IACvB,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,SAAS,EAAE,mBAAmB,CAAC;IAC/B,gHAAgH;IAChH,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;IACvC,0FAA0F;IAC1F,iBAAiB,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IAChE,+EAA+E;IAC/E,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAChD,4DAA4D;IAC5D,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,8FAA8F;IAC9F,cAAc,CAAC,EAAE,CAAC,YAAY,EAAE,uBAAuB,KAAK,IAAI,CAAC;CAClE;AAED,mDAAmD;AACnD,MAAM,WAAW,4BAA4B;IAC3C,aAAa,EAAE,CACb,KAAK,EAAE,kBAAkB,EAAE,EAC3B,iBAAiB,EAAE,MAAM,KACtB,IAAI,CAAC;IACV,eAAe,EAAE,CACf,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,EACZ,iBAAiB,EAAE,MAAM,KACtB,IAAI,CAAC;IACV,gBAAgB,EAAE,CAChB,KAAK,EAAE,kBAAkB,EAAE,EAC3B,aAAa,EAAE,QAAQ,EAAE,EACzB,iBAAiB,EAAE,MAAM,KACtB,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACzC,gBAAgB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC9C,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,GAAI,qHAUpC,6BAA6B,KAAG,4BAiSlC,CAAC"}
|