From 62d8ff793b40a18c5c2cec8eee4f37f9cdcd1b1b Mon Sep 17 00:00:00 2001 From: joshuaboud Date: Mon, 19 Jul 2021 15:37:33 -0300 Subject: [PATCH] start working on uploading folders --- navigator/components/FileUpload.js | 8 -------- navigator/components/NavDragDrop.js | 8 +++++--- navigator/components/NavWindow.js | 4 ++-- navigator/functions.js | 15 ++++++++++++++- navigator/navigator.html | 26 +++++++++++++------------- 5 files changed, 34 insertions(+), 27 deletions(-) diff --git a/navigator/components/FileUpload.js b/navigator/components/FileUpload.js index c27bf75..3855a0f 100644 --- a/navigator/components/FileUpload.js +++ b/navigator/components/FileUpload.js @@ -46,14 +46,6 @@ export class FileUpload { this.using_webkit = true; } - check_if_exists() { - return new Promise((resolve, reject) => { - var proc = cockpit.spawn(["/usr/share/cockpit/navigator/scripts/fail-if-exists.py3", this.path], {superuser: "try"}); - proc.done((data) => {resolve(false)}); - proc.fail((e, data) => {resolve(true)}); - }); - } - make_html_element() { var notification = document.createElement("div"); notification.classList.add("nav-notification"); diff --git a/navigator/components/NavDragDrop.js b/navigator/components/NavDragDrop.js index 4b72dfb..6d0ee19 100644 --- a/navigator/components/NavDragDrop.js +++ b/navigator/components/NavDragDrop.js @@ -18,8 +18,9 @@ */ import {FileUpload} from "./FileUpload.js"; -import { ModalPrompt } from "./ModalPrompt.js"; +import {ModalPrompt} from "./ModalPrompt.js"; import {NavWindow} from "./NavWindow.js"; +import {check_if_exists} from "../functions.js"; export class NavDragDrop { /** @@ -82,7 +83,6 @@ export class NavDragDrop { let path = ""; if (item) { let new_uploads = await this.scan_files(item, path); - console.log(new_uploads); uploads.push(... new_uploads); } else { reject(); @@ -101,7 +101,7 @@ export class NavDragDrop { let keepers = []; let requests = {}; for (let upload of uploads) { - if (!await upload.check_if_exists()) { + if (!await check_if_exists(upload.path)) { keepers.push(upload.filename); continue; } @@ -147,6 +147,7 @@ export class NavDragDrop { this.drop_area.classList.remove("drag-enter"); break; case "drop": + this.nav_window_ref.start_load(); let uploads; let items = e.dataTransfer.items; e.preventDefault(); @@ -165,6 +166,7 @@ export class NavDragDrop { if (uploads.length === 0) break; uploads = await this.handle_conflicts(uploads); + this.nav_window_ref.stop_load(); uploads.forEach((upload) => {upload.upload()}); break; default: diff --git a/navigator/components/NavWindow.js b/navigator/components/NavWindow.js index 30ca52a..0de0494 100644 --- a/navigator/components/NavWindow.js +++ b/navigator/components/NavWindow.js @@ -681,7 +681,7 @@ export class NavWindow { start_load() { document.getElementById("nav-loader-container").style.display = "block"; - var buttons = document.getElementsByTagName("button"); + var buttons = document.getElementsByClassName("disable-while-loading"); for (let button of buttons) { button.disabled = true; } @@ -689,7 +689,7 @@ export class NavWindow { stop_load() { document.getElementById("nav-loader-container").style.display = "none"; - var buttons = document.getElementsByTagName("button"); + var buttons = document.getElementsByClassName("disable-while-loading"); for (let button of buttons) { button.disabled = false; } diff --git a/navigator/functions.js b/navigator/functions.js index cbada10..a44097f 100644 --- a/navigator/functions.js +++ b/navigator/functions.js @@ -95,4 +95,17 @@ export function format_permissions(mode) { } } return result; -} \ No newline at end of file +} + +/** + * + * @param {string} path + * @returns {Promise} + */ +export function check_if_exists(path) { + return new Promise((resolve, reject) => { + var proc = cockpit.spawn(["/usr/share/cockpit/navigator/scripts/fail-if-exists.py3", path], {superuser: "try"}); + proc.done((data) => {resolve(false)}); + proc.fail((e, data) => {resolve(true)}); + }); +} diff --git a/navigator/navigator.html b/navigator/navigator.html index 8d5d1d2..f047a07 100644 --- a/navigator/navigator.html +++ b/navigator/navigator.html @@ -40,13 +40,13 @@
@@ -86,9 +86,9 @@
@@ -97,9 +97,9 @@
@@ -153,9 +153,9 @@