Filesystem fixes
This commit is contained in:
@@ -17,9 +17,9 @@ const node_click = (index) => {
|
||||
// We prefix our custom state properties with fm_ to not interfere with
|
||||
// other modules
|
||||
if (mode === "viewing") {
|
||||
dispatch("navigate", state.base.children[index].path)
|
||||
dispatch("navigate", state.children[index].path)
|
||||
} else if (mode === "selecting") {
|
||||
state.base.children[index].fm_selected = !state.base.children[index].fm_selected
|
||||
state.children[index].fm_selected = !state.children[index].fm_selected
|
||||
}
|
||||
}
|
||||
const navigate_up = () => {
|
||||
@@ -69,7 +69,7 @@ const delete_selected = () => {
|
||||
return
|
||||
}
|
||||
|
||||
let count = state.base.children.reduce((acc, cur) => {
|
||||
let count = state.children.reduce((acc, cur) => {
|
||||
if (cur.fm_selected) {
|
||||
acc++
|
||||
}
|
||||
@@ -88,7 +88,7 @@ const delete_selected = () => {
|
||||
|
||||
// Save all promises with deletion requests in an array
|
||||
let promises = []
|
||||
state.base.children.forEach(child => {
|
||||
state.children.forEach(child => {
|
||||
if (!child.fm_selected) { return }
|
||||
promises.push(fs_delete_node(state.bucket.id, child.path))
|
||||
})
|
||||
@@ -108,9 +108,9 @@ const toggle_select = () => {
|
||||
}
|
||||
|
||||
// Unmark all the selected files and return to viewing mode
|
||||
state.base.children.forEach((child, i) => {
|
||||
state.children.forEach((child, i) => {
|
||||
if (child.fm_selected) {
|
||||
state.base.children[i].fm_selected = false
|
||||
state.children[i].fm_selected = false
|
||||
}
|
||||
})
|
||||
mode = "viewing"
|
||||
@@ -156,7 +156,7 @@ const toggle_select = () => {
|
||||
<br/>
|
||||
{/if}
|
||||
|
||||
<FileUploader bind:this={uploader} bucket_id={state.bucket.id} target_dir={state.base.path} on:finished={reload}></FileUploader>
|
||||
<FileUploader bind:this={uploader} bucket_id={state.bucket.id} target_dir={state.base.path} on:reload={reload}></FileUploader>
|
||||
|
||||
<div class="directory">
|
||||
<tr>
|
||||
@@ -169,7 +169,7 @@ const toggle_select = () => {
|
||||
<CreateDirectory state={state} on:done={() => {reload(); creating_dir = false;}} on:loading></CreateDirectory>
|
||||
{/if}
|
||||
|
||||
{#each state.base.children as child, index}
|
||||
{#each state.children as child, index (child.path)}
|
||||
<a
|
||||
href={state.path_root+child.path}
|
||||
on:click|preventDefault={() => {node_click(index)}}
|
||||
|
@@ -8,6 +8,7 @@ export let target_dir;
|
||||
let upload_jobs = [];
|
||||
let upload_threads = 0;
|
||||
let max_upload_threads = 3;
|
||||
let last_reload = 0;
|
||||
|
||||
// Adds files to the upload queue. The file_list parameter needs to be of type
|
||||
// FileList. Upload will also create the necessary directories to place nested
|
||||
@@ -35,10 +36,6 @@ export const upload = (file_list) => {
|
||||
}
|
||||
};
|
||||
|
||||
const uploads_finished = () => {
|
||||
dispatch("finished");
|
||||
};
|
||||
|
||||
const upload_file = () => {
|
||||
let job = null;
|
||||
for (let i = 0; i < upload_jobs.length; i++) {
|
||||
@@ -62,7 +59,7 @@ const upload_file = () => {
|
||||
upload_threads--;
|
||||
|
||||
if (upload_threads === 0) {
|
||||
uploads_finished();
|
||||
dispatch("reload");
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -100,6 +97,13 @@ const upload_file = () => {
|
||||
if (xhr.status >= 100 && xhr.status < 400) {
|
||||
// Request is a success
|
||||
|
||||
let now = new Date().getTime()
|
||||
if (now - last_reload > 4000) {
|
||||
// If the last reload was more than 4 seconds ago we do another reload
|
||||
last_reload = now
|
||||
dispatch("reload");
|
||||
}
|
||||
|
||||
// Finish the upload job
|
||||
job.uploading = false;
|
||||
job.finished = true;
|
||||
|
Reference in New Issue
Block a user