From 98c1ec4042ab695c4b51c898584a477da5d65014 Mon Sep 17 00:00:00 2001
From: Fornax
Date: Thu, 11 Nov 2021 21:06:05 +0100
Subject: [PATCH] Bulk download files from file manager
---
.../src/user_file_manager/FileManager.svelte | 22 +++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/svelte/src/user_file_manager/FileManager.svelte b/svelte/src/user_file_manager/FileManager.svelte
index c159368..006e47b 100644
--- a/svelte/src/user_file_manager/FileManager.svelte
+++ b/svelte/src/user_file_manager/FileManager.svelte
@@ -9,6 +9,7 @@ let loading = true
let contentType = "" // files or lists
let inputSearch
let directoryElement
+let downloadFrame
let help_modal
let help_modal_visible = false
@@ -201,6 +202,23 @@ function createList() {
})
}
+function downloadFiles() {
+ let selected = directoryElement.getSelectedFiles()
+
+ if (selected.length === 0) {
+ alert("You have not selected any files")
+ return
+ }
+
+ // Create a list of file ID's separated by commas
+ let ids = selected.reduce((acc, curr) => acc + curr.id + ",", "")
+
+ // Remove the last comma
+ ids = ids.slice(0, -1)
+
+ downloadFrame.src = window.api_endpoint+"/file/"+ids+"?download"
+}
+
const keydown = (e) => {
if (e.ctrlKey && e.key === "f" || !e.ctrlKey && e.keyCode === 191) {
e.preventDefault()
@@ -255,6 +273,7 @@ onMount(() => {
{#if contentType === "files"}
+
{/if}
@@ -296,6 +315,9 @@ onMount(() => {
between the file you last selected and the file you just clicked.
+
+
+