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 = () => {};
|
||||
|
||||
document.body.style.cursor = "wait";
|
||||
lufi.decompress(zipFile).andThen((files) => {
|
||||
lufi
|
||||
.decompress(zipFile)
|
||||
.andThen((job) => job.waitForCompletion())
|
||||
.andThen((job) => {
|
||||
const newElement = document.createElement("div");
|
||||
|
||||
let innerHTML = `<h3>${i18n.zipContent}</h3><ul>`;
|
||||
|
||||
files.forEach((file) => {
|
||||
job.archiveFiles.forEach((file) => {
|
||||
innerHTML += `<li>
|
||||
${escapeHtml(file.name)}
|
||||
(${filesize(file.size)})
|
||||
|
@ -214,12 +217,16 @@ const showZipContent = (zipFile) => {
|
|||
|
||||
pbd.append(newElement);
|
||||
|
||||
document.querySelectorAll(".download-zip-content").forEach((element) => {
|
||||
document
|
||||
.querySelectorAll(".download-zip-content")
|
||||
.forEach((element) => {
|
||||
const elementListener = (e) => {
|
||||
e.preventDefault();
|
||||
|
||||
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.setAttribute("href", URL.createObjectURL(file));
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
import {
|
||||
lufi,
|
||||
errAsync,
|
||||
okAsync,
|
||||
ResultAsync,
|
||||
isSecureContext,
|
||||
|
@ -169,7 +170,7 @@ const uploadZip = (e) => {
|
|||
|
||||
lufi
|
||||
.compress(archiveEntries, zipname)
|
||||
.andThen((zipFile) => {
|
||||
.andThen((job) => {
|
||||
// if '#zipping' is hidden, the zipping has been aborted
|
||||
if (!document.getElementById("zipping").classList.contains("hide")) {
|
||||
document.getElementById("zipping").classList.add("hide");
|
||||
|
@ -192,7 +193,7 @@ const uploadZip = (e) => {
|
|||
);
|
||||
|
||||
startUpload(
|
||||
[zipFile],
|
||||
[job.archiveFile],
|
||||
delay.value,
|
||||
del_at_first_view.checked,
|
||||
true,
|
||||
|
@ -387,7 +388,7 @@ const startUpload = (
|
|||
|
||||
return okAsync(job);
|
||||
})
|
||||
.mapErr((error) => {
|
||||
.orElse((error) => {
|
||||
if (clientKey) {
|
||||
showAlertOnFile(error.message, clientKey);
|
||||
} else {
|
||||
|
@ -397,6 +398,8 @@ const startUpload = (
|
|||
if (isGuest) {
|
||||
sendFilesURLs();
|
||||
}
|
||||
|
||||
return errAsync(error);
|
||||
});
|
||||
})
|
||||
)
|
||||
|
@ -428,14 +431,7 @@ const handleFiles = (files = []) => {
|
|||
|
||||
document.body.style.cursor = "auto";
|
||||
|
||||
startUpload(
|
||||
files,
|
||||
delay,
|
||||
delAtFirstView,
|
||||
isZipped,
|
||||
undefined,
|
||||
password
|
||||
);
|
||||
startUpload(files, delay, delAtFirstView, isZipped, undefined, password);
|
||||
} else {
|
||||
lufi
|
||||
.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