diff --git a/svelte/src/filesystem/Filesystem.svelte b/svelte/src/filesystem/Filesystem.svelte
index 1882829..7155a20 100644
--- a/svelte/src/filesystem/Filesystem.svelte
+++ b/svelte/src/filesystem/Filesystem.svelte
@@ -14,7 +14,7 @@ import UploadWidget from './upload_widget/UploadWidget.svelte';
let loading = true
let toolbar_visible = (window.innerWidth > 600)
-let file_preview
+let upload_widget
let download_frame
let details_visible = false
let edit_window
@@ -140,13 +140,13 @@ const loading_evt = e => {
{#if view === "file"}
fs_navigator.open_sibling(e.detail)}
on:download={download}
+ on:upload_picker={() => upload_widget.pick_files()}
/>
{:else if view === "search"}
{
on:loading={loading_evt}
/>
- fs_navigator.reload()}/>
+ fs_navigator.reload()}
+/>
diff --git a/svelte/src/filesystem/filemanager/FileManager.svelte b/svelte/src/filesystem/filemanager/FileManager.svelte
index 1aa8b06..93607cc 100644
--- a/svelte/src/filesystem/filemanager/FileManager.svelte
+++ b/svelte/src/filesystem/filemanager/FileManager.svelte
@@ -2,7 +2,6 @@
import { fs_delete } from './../FilesystemAPI.js'
import { createEventDispatcher, onMount } from 'svelte'
import CreateDirectory from './CreateDirectory.svelte'
-import FileUploader from './FileUploader.svelte'
import ListView from './ListView.svelte'
import GalleryView from './GalleryView.svelte'
let dispatch = createEventDispatcher()
@@ -145,7 +144,7 @@ onMount(() => {
{#if state.permissions.update}
-
{#if directory_view === "list"}
diff --git a/svelte/src/filesystem/filemanager/FileUploader.svelte b/svelte/src/filesystem/filemanager/FileUploader.svelte
deleted file mode 100644
index 7403705..0000000
--- a/svelte/src/filesystem/filemanager/FileUploader.svelte
+++ /dev/null
@@ -1,243 +0,0 @@
-
-
-
-
-
-
-
- Drop files here to upload them
-
-
- {#each upload_jobs as c}
-
- {/each}
-
-
-
diff --git a/svelte/src/filesystem/upload_widget/UploadFunc.js b/svelte/src/filesystem/upload_widget/UploadFunc.js
index bb463a8..1996c40 100644
--- a/svelte/src/filesystem/upload_widget/UploadFunc.js
+++ b/svelte/src/filesystem/upload_widget/UploadFunc.js
@@ -39,6 +39,8 @@ export const upload_file = async (file, bucket, path, on_progress, on_success, o
return
}
+ console.log("Uploading file to ", fs_path_url(bucket, path))
+
let xhr = new XMLHttpRequest();
xhr.open("PUT", fs_path_url(bucket, path), true);
xhr.timeout = 86400000; // 24 hours, to account for slow connections
diff --git a/svelte/src/filesystem/upload_widget/UploadWidget.svelte b/svelte/src/filesystem/upload_widget/UploadWidget.svelte
index 580213f..561238f 100644
--- a/svelte/src/filesystem/upload_widget/UploadWidget.svelte
+++ b/svelte/src/filesystem/upload_widget/UploadWidget.svelte
@@ -24,11 +24,10 @@ let visible = false
let upload_queue = [];
let task_id_counter = 0
-export const upload_files = async (files) => {
+export const upload_files = async files => {
if (files.length === 0) {
return
- }
- if (current_dir.type !== "dir") {
+ }else if (fs_state.base.type !== "dir") {
alert("Can only upload to directory")
return
}
@@ -43,16 +42,22 @@ export const upload_file = async file => {
if (fs_state.base.type !== "dir") {
alert("Can only upload to directory")
return
- }
- if (file.type === "" && file.size === 0) {
+ }else if (file.type === "" && file.size === 0) {
return
}
+ let path = fs_state.base.path + "/"
+ if (file.webkitRelativePath) {
+ path += file.webkitRelativePath
+ } else {
+ path += file.name
+ }
+
upload_queue.push({
task_id: task_id_counter,
file: file,
bucket: fs_state.root.id,
- path: fs_state.base.path + "/" + file.webkitRelativePath,
+ path: path,
component: null,
status: "queued",
total_size: file.size,
diff --git a/svelte/src/filesystem/viewers/FilePreview.svelte b/svelte/src/filesystem/viewers/FilePreview.svelte
index 22a9611..194f058 100644
--- a/svelte/src/filesystem/viewers/FilePreview.svelte
+++ b/svelte/src/filesystem/viewers/FilePreview.svelte
@@ -44,6 +44,7 @@ const state_update = async (base) => {
state={state}
edit_window={edit_window}
on:loading
+ on:upload_picker
/>
{:else if viewer_type === "audio"}