From 2c1aa9215921c4d31d5a8361860670313b4d9555 Mon Sep 17 00:00:00 2001 From: Wim Brand Date: Wed, 4 Dec 2024 18:56:20 +0100 Subject: [PATCH] Allow downloading directories from zip files --- svelte/src/file_viewer/viewers/Zip.svelte | 2 +- svelte/src/file_viewer/viewers/ZipItem.svelte | 48 +++++++++++++++---- .../filesystem/filemanager/FileManager.svelte | 1 + 3 files changed, 42 insertions(+), 9 deletions(-) diff --git a/svelte/src/file_viewer/viewers/Zip.svelte b/svelte/src/file_viewer/viewers/Zip.svelte index 2f10c0d..e7077bd 100644 --- a/svelte/src/file_viewer/viewers/Zip.svelte +++ b/svelte/src/file_viewer/viewers/Zip.svelte @@ -53,7 +53,7 @@ export const set_file = async f => { if (zip.properties !== undefined) { if (zip.properties.includes("read_individual_files")) { // Set the download URL for each file in the zip - recursive_set_url(fs_path_url(nav.base.path)+"?zip_file=", zip) + recursive_set_url(f.info_href+"/zip", zip) } truncated = zip.properties.includes("truncated") } diff --git a/svelte/src/file_viewer/viewers/ZipItem.svelte b/svelte/src/file_viewer/viewers/ZipItem.svelte index 266d48d..111eec6 100644 --- a/svelte/src/file_viewer/viewers/ZipItem.svelte +++ b/svelte/src/file_viewer/viewers/ZipItem.svelte @@ -13,7 +13,15 @@ export let item = { {#if child.children}
- {name} ({formatDataVolume(child.size, 3)}) +
+ {name} + ( + {formatDataVolume(child.size, 3)} + {#if child.download_url} + download + {/if} + ) +
@@ -29,12 +37,15 @@ export let item = { {#each Object.entries(item.children) as [name, child]} {#if !child.children}
  • - {#if child.download_url} - {name} - {:else} +
    {name} - {/if} - ({formatDataVolume(child.size, 3)})
    + ( + {formatDataVolume(child.size, 3)} + {#if child.download_url} + download + {/if} + ) +
  • {/if} {/each} @@ -42,13 +53,34 @@ export let item = { diff --git a/svelte/src/filesystem/filemanager/FileManager.svelte b/svelte/src/filesystem/filemanager/FileManager.svelte index fab7da9..b29fd56 100644 --- a/svelte/src/filesystem/filemanager/FileManager.svelte +++ b/svelte/src/filesystem/filemanager/FileManager.svelte @@ -408,6 +408,7 @@ onMount(() => { padding: 0; background: var(--shaded_background); backdrop-filter: blur(4px); + z-index: 1; } .toolbar { display: flex;