From 72fc137c2ea2322f020e1454d27786452b9c7bfa Mon Sep 17 00:00:00 2001
From: Tamara Steinwender <tamara.steinwender@tugraz.at>
Date: Tue, 15 Jun 2021 11:17:57 +0200
Subject: [PATCH] Small fixes in file-handling

---
 packages/file-handling/src/clipboard.js                 | 2 +-
 packages/file-handling/src/dbp-nextcloud-file-picker.js | 7 +++++--
 packages/file-handling/src/file-sink.js                 | 8 ++++----
 packages/file-handling/src/file-source.js               | 7 -------
 4 files changed, 10 insertions(+), 14 deletions(-)

diff --git a/packages/file-handling/src/clipboard.js b/packages/file-handling/src/clipboard.js
index 9572f73a..4db1aed7 100644
--- a/packages/file-handling/src/clipboard.js
+++ b/packages/file-handling/src/clipboard.js
@@ -468,7 +468,7 @@ export class Clipboard extends ScopedElementsMixin(AdapterLitElement) {
     openFilesource() {
         const fileSource = this._("#file-source-clipboard");
         if (fileSource) {
-            this._("#file-source-clipboard").setAttribute("dialog-open", "");
+            this._("#file-source-clipboard").openDialog();
         }
     }
 
diff --git a/packages/file-handling/src/dbp-nextcloud-file-picker.js b/packages/file-handling/src/dbp-nextcloud-file-picker.js
index 55f82b0b..f45838f8 100644
--- a/packages/file-handling/src/dbp-nextcloud-file-picker.js
+++ b/packages/file-handling/src/dbp-nextcloud-file-picker.js
@@ -295,10 +295,10 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
             const authUrl = this.authUrl + "?target-origin=" + encodeURIComponent(window.location.href);
             this.loginWindow = window.open(authUrl, "Nextcloud Login",
                 "width=400,height=400,menubar=no,scrollbars=no,status=no,titlebar=no,toolbar=no");
-            console.log("open nextcloud filepicker, no webdavclient");
+            //console.log("open nextcloud filepicker, no webdavclient");
         } else {
             this.loadDirectory(this.directoryPath, this.webDavClient);
-            console.log("load in nextcloud webcomponent");
+            //console.log("load in nextcloud webcomponent");
         }
     }
 
@@ -476,6 +476,7 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
                 this.dispatchEvent(event);
                 this.loading = false;
                 this.statusText = "";
+                this.numberOfSelectedFiles = 0;
             }).catch(error => {
                 console.error(error.message);
                 this.loading = false;
@@ -490,6 +491,7 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
      */
     sendDirectory(directory) {
         this.tabulatorTable.deselectRow();
+        this.numberOfSelectedFiles = 0;
         let path;
 
         if (!directory[0]) {
@@ -792,6 +794,7 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
     }
 
     closeDialog(e) {
+        this.numberOfSelectedFiles = 0;
         MicroModal.close(this._('#modal-picker'));
     }
 
diff --git a/packages/file-handling/src/file-sink.js b/packages/file-handling/src/file-sink.js
index f2a5d536..adae346b 100644
--- a/packages/file-handling/src/file-sink.js
+++ b/packages/file-handling/src/file-sink.js
@@ -130,7 +130,7 @@ export class FileSink extends ScopedElementsMixin(DBPLitElement) {
                     }
                     break;
                 case "files":
-                    if (this.files.length !== 0 && !this.isDialogOpen) {
+                    if (this.files.length !== 0) {
                         this.openDialog();
                         if (this.enabledTargets.includes("clipboard")) {
                             const clipboardSink = this._("#clipboard-file-picker");
@@ -203,7 +203,6 @@ export class FileSink extends ScopedElementsMixin(DBPLitElement) {
     }
 
     openDialog() {
-        console.log("open sink");
         if (this.enabledTargets.includes('nextcloud')) {
             this.loadWebdavDirectory();
         }
@@ -227,13 +226,14 @@ export class FileSink extends ScopedElementsMixin(DBPLitElement) {
             }
             this.firstOpen = false;
         }
-    }
 
-    //TODO find open error!!
+        this.isDialogOpen = true;
+    }
 
     closeDialog(e) {
         this.sendDestination();
         MicroModal.close(this._('#modal-picker'));
+        this.isDialogOpen = false;
     }
 
     getClipboardHtml() {
diff --git a/packages/file-handling/src/file-source.js b/packages/file-handling/src/file-source.js
index 87ea187c..e329114a 100644
--- a/packages/file-handling/src/file-source.js
+++ b/packages/file-handling/src/file-source.js
@@ -369,7 +369,6 @@ export class FileSource extends ScopedElementsMixin(DBPLitElement) {
     }
 
     openDialog() {
-        console.log("open source");
 
         if (this.enabledTargets.includes('nextcloud')) {
             this.loadWebdavDirectory();
@@ -413,12 +412,6 @@ export class FileSource extends ScopedElementsMixin(DBPLitElement) {
 
     closeDialog() {
         this.sendSource();
-        const filePicker = this._('#nextcloud-file-picker');
-
-        if (filePicker) {
-            filePicker.selectAllButton = true;
-        }
-
         MicroModal.close(this._('#modal-picker'));
     }
 
-- 
GitLab