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.

+ + +