Upgrade to latest Lufi API, use workers for compression/decompression
This commit is contained in:
parent
98d22cbd85
commit
aa97e33ae2
|
@ -190,12 +190,15 @@ const showZipContent = (zipFile) => {
|
||||||
showZipContentDOM.onclick = () => {};
|
showZipContentDOM.onclick = () => {};
|
||||||
|
|
||||||
document.body.style.cursor = "wait";
|
document.body.style.cursor = "wait";
|
||||||
lufi.decompress(zipFile).andThen((files) => {
|
lufi
|
||||||
|
.decompress(zipFile)
|
||||||
|
.andThen((job) => job.waitForCompletion())
|
||||||
|
.andThen((job) => {
|
||||||
const newElement = document.createElement("div");
|
const newElement = document.createElement("div");
|
||||||
|
|
||||||
let innerHTML = `<h3>${i18n.zipContent}</h3><ul>`;
|
let innerHTML = `<h3>${i18n.zipContent}</h3><ul>`;
|
||||||
|
|
||||||
files.forEach((file) => {
|
job.archiveFiles.forEach((file) => {
|
||||||
innerHTML += `<li>
|
innerHTML += `<li>
|
||||||
${escapeHtml(file.name)}
|
${escapeHtml(file.name)}
|
||||||
(${filesize(file.size)})
|
(${filesize(file.size)})
|
||||||
|
@ -214,12 +217,16 @@ const showZipContent = (zipFile) => {
|
||||||
|
|
||||||
pbd.append(newElement);
|
pbd.append(newElement);
|
||||||
|
|
||||||
document.querySelectorAll(".download-zip-content").forEach((element) => {
|
document
|
||||||
|
.querySelectorAll(".download-zip-content")
|
||||||
|
.forEach((element) => {
|
||||||
const elementListener = (e) => {
|
const elementListener = (e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
const filename = element.getAttribute("download");
|
const filename = element.getAttribute("download");
|
||||||
const file = files.find((file) => file.name === filename);
|
const file = job.archiveFiles.find(
|
||||||
|
(file) => file.name === filename
|
||||||
|
);
|
||||||
|
|
||||||
element.removeEventListener("click", elementListener);
|
element.removeEventListener("click", elementListener);
|
||||||
element.setAttribute("href", URL.createObjectURL(file));
|
element.setAttribute("href", URL.createObjectURL(file));
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
import {
|
import {
|
||||||
lufi,
|
lufi,
|
||||||
|
errAsync,
|
||||||
okAsync,
|
okAsync,
|
||||||
ResultAsync,
|
ResultAsync,
|
||||||
isSecureContext,
|
isSecureContext,
|
||||||
|
@ -169,7 +170,7 @@ const uploadZip = (e) => {
|
||||||
|
|
||||||
lufi
|
lufi
|
||||||
.compress(archiveEntries, zipname)
|
.compress(archiveEntries, zipname)
|
||||||
.andThen((zipFile) => {
|
.andThen((job) => {
|
||||||
// if '#zipping' is hidden, the zipping has been aborted
|
// if '#zipping' is hidden, the zipping has been aborted
|
||||||
if (!document.getElementById("zipping").classList.contains("hide")) {
|
if (!document.getElementById("zipping").classList.contains("hide")) {
|
||||||
document.getElementById("zipping").classList.add("hide");
|
document.getElementById("zipping").classList.add("hide");
|
||||||
|
@ -192,7 +193,7 @@ const uploadZip = (e) => {
|
||||||
);
|
);
|
||||||
|
|
||||||
startUpload(
|
startUpload(
|
||||||
[zipFile],
|
[job.archiveFile],
|
||||||
delay.value,
|
delay.value,
|
||||||
del_at_first_view.checked,
|
del_at_first_view.checked,
|
||||||
true,
|
true,
|
||||||
|
@ -387,7 +388,7 @@ const startUpload = (
|
||||||
|
|
||||||
return okAsync(job);
|
return okAsync(job);
|
||||||
})
|
})
|
||||||
.mapErr((error) => {
|
.orElse((error) => {
|
||||||
if (clientKey) {
|
if (clientKey) {
|
||||||
showAlertOnFile(error.message, clientKey);
|
showAlertOnFile(error.message, clientKey);
|
||||||
} else {
|
} else {
|
||||||
|
@ -397,6 +398,8 @@ const startUpload = (
|
||||||
if (isGuest) {
|
if (isGuest) {
|
||||||
sendFilesURLs();
|
sendFilesURLs();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return errAsync(error);
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
@ -428,14 +431,7 @@ const handleFiles = (files = []) => {
|
||||||
|
|
||||||
document.body.style.cursor = "auto";
|
document.body.style.cursor = "auto";
|
||||||
|
|
||||||
startUpload(
|
startUpload(files, delay, delAtFirstView, isZipped, undefined, password);
|
||||||
files,
|
|
||||||
delay,
|
|
||||||
delAtFirstView,
|
|
||||||
isZipped,
|
|
||||||
undefined,
|
|
||||||
password
|
|
||||||
);
|
|
||||||
} else {
|
} else {
|
||||||
lufi
|
lufi
|
||||||
.addFilesToArchive(files, archiveEntries)
|
.addFilesToArchive(files, archiveEntries)
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue