From ce340c5c9724c2a578a2046eabf7a09828ee8021 Mon Sep 17 00:00:00 2001
From: Tamara Steinwender <tamara.steinwender@tugraz.at>
Date: Tue, 8 Jun 2021 10:52:07 +0200
Subject: [PATCH] Small fixes in clipboard and nextcloud filepicker

---
 packages/file-handling/src/clipboard.js           | 15 ++++++---------
 .../src/dbp-nextcloud-file-picker.js              |  2 +-
 packages/file-handling/src/file-sink.js           |  1 +
 packages/file-handling/src/file-source.js         |  2 +-
 4 files changed, 9 insertions(+), 11 deletions(-)

diff --git a/packages/file-handling/src/clipboard.js b/packages/file-handling/src/clipboard.js
index e21b14c0..14a1f993 100644
--- a/packages/file-handling/src/clipboard.js
+++ b/packages/file-handling/src/clipboard.js
@@ -35,6 +35,8 @@ export class Clipboard extends ScopedElementsMixin(AdapterLitElement) {
         this.isFileSource = false;
         this.isFileSink = false;
 
+        this.demo = false;
+
         // To avoid a cyclic dependency
         import('./file-sink').then(({ FileSink }) => this.defineScopedElement('dbp-file-sink', FileSink));
         import('./file-source').then(({ FileSource }) => this.defineScopedElement('dbp-file-source', FileSource));
@@ -66,6 +68,8 @@ export class Clipboard extends ScopedElementsMixin(AdapterLitElement) {
 
             isFileSource: {type: Boolean, attribute: 'file-source' },
             isFileSink: {type: Boolean, attribute: 'file-sink' },
+
+            demo: {type: Boolean, attribute: 'demo-clipboard' },
         };
     }
 
@@ -434,9 +438,6 @@ export class Clipboard extends ScopedElementsMixin(AdapterLitElement) {
                 data.files.push( row.getData().file )
             );
             this.sendSetPropertyEvent('clipboard-files', data);
-            const event = new CustomEvent("dbp-clipboard-file-picker-file-uploaded",
-                {  bubbles: true, composed: true });
-            this.dispatchEvent(event);
             send({
                 "summary": i18n.t('clipboard.clear-count-clipboard-title', {count: count}),
                 "body": i18n.t('clipboard.clear-count-clipboard-body', {count: count}),
@@ -447,9 +448,6 @@ export class Clipboard extends ScopedElementsMixin(AdapterLitElement) {
         } else {
             let data = {"files": []};
             this.sendSetPropertyEvent('clipboard-files', data);
-            const event = new CustomEvent("dbp-clipboard-file-picker-file-uploaded",
-                {  bubbles: true, composed: true });
-            this.dispatchEvent(event);
             send({
                 "summary": i18n.t('clipboard.clear-clipboard-title'),
                 "body": i18n.t('clipboard.clear-clipboard-body'),
@@ -502,7 +500,7 @@ export class Clipboard extends ScopedElementsMixin(AdapterLitElement) {
                                 nextcloud-web-dav-url="${this.nextcloudWebDavURL}"
                                 nextcloud-name="${this.nextcloudName}"
                                 nextcloud-file-url="${this.nextcloudFileURL}"
-                                enabled-targets="${this.enabledTargets}"
+                                enabled-targets="${this.demo ? this.enabledTargets : this.enabledTargets.replace('clipboard', '')}"
                                 decompress-zip
                                 lang="${this.lang}"
                                 text="${i18n.t('clipboard.upload-area-text')}"
@@ -516,14 +514,13 @@ export class Clipboard extends ScopedElementsMixin(AdapterLitElement) {
                                    context="${(this.numberOfSelectedFiles > 0) ? i18n.t('clipboard.save-count', {count: this.numberOfSelectedFiles}) : i18n.t('clipboard.save-all')}"
                                    filename="clipboard-documents.zip"
                                    allowed-mime-types="${this.allowedMimeTypes}"
-                                   enabled-targets="${this.enabledTargets}"
+                                   enabled-targets="${this.demo ? this.enabledTargets : this.enabledTargets.replace('clipboard', '')}"
                                    show-clipboard
                                    nextcloud-auth-url="${this.nextcloudWebAppPasswordURL}"
                                    nextcloud-web-dav-url="${this.nextcloudWebDavURL}"
                                    nextcloud-name="${this.nextcloudName}"
                                    nextcloud-file-url="${this.nextcloudFileURL}"
                                    lang="${this.lang}"
-                                   subscribe="nextcloud-file-url:nextcloud-file-url"
                     ></dbp-file-sink>
         `;
     }
diff --git a/packages/file-handling/src/dbp-nextcloud-file-picker.js b/packages/file-handling/src/dbp-nextcloud-file-picker.js
index b8be6ba0..9db43cd5 100644
--- a/packages/file-handling/src/dbp-nextcloud-file-picker.js
+++ b/packages/file-handling/src/dbp-nextcloud-file-picker.js
@@ -1503,7 +1503,7 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
                         <button id="download-button" class="button select-button is-primary ${classMap({hidden: ((!this.directoriesOnly)  || (this.directoriesOnly && this.abortUploadButton && this.forAll))})}"
                                 @click="${() => { this.sendDirectory(this.tabulatorTable.getSelectedData()); }}" 
                                 ?disabled="${!this.isSelected}">
-                            ${this.folderIsSelected}</button>
+                            <dbp-icon class="nav-icon" name="cloud-upload"></dbp-icon> ${this.folderIsSelected}</button>
                         <button class="button select-button is-primary ${classMap({hidden: this.directoriesOnly})}"
                                 @click="${() => { this.downloadFiles(this.tabulatorTable.getSelectedData()); }}"
                                 ?disabled="${!this.isSelected}">
diff --git a/packages/file-handling/src/file-sink.js b/packages/file-handling/src/file-sink.js
index 77ce0f91..63cd9f27 100644
--- a/packages/file-handling/src/file-sink.js
+++ b/packages/file-handling/src/file-sink.js
@@ -243,6 +243,7 @@ export class FileSink extends ScopedElementsMixin(DBPLitElement) {
                    file-sink
                    lang="${this.lang}"
                    auth-url="${this.nextcloudAuthUrl}"
+                   enabled-targets="${this.enabledTargets}"
                    nextcloud-auth-url="${this.nextcloudAuthUrl}"
                    nextcloud-web-dav-url="${this.nextcloudWebDavUrl}"
                    nextcloud-name="${this.nextcloudName}"
diff --git a/packages/file-handling/src/file-source.js b/packages/file-handling/src/file-source.js
index 34005ad4..9c642ac1 100644
--- a/packages/file-handling/src/file-source.js
+++ b/packages/file-handling/src/file-source.js
@@ -377,7 +377,6 @@ export class FileSource extends ScopedElementsMixin(DBPLitElement) {
 
         if (this.enabledTargets.includes('clipboard') && this._("#clipboard-file-picker")) {
             this._("#clipboard-file-picker").generateClipboardTable();
-            this._("#clipboard-file-picker").showSelectAllButton = true;
         }
 
         const filePicker = this._('#modal-picker');
@@ -431,6 +430,7 @@ export class FileSource extends ScopedElementsMixin(DBPLitElement) {
                    file-source
                    subscribe="clipboard-files:clipboard-files"
                    lang="${this.lang}"
+                   enabled-targets="${this.enabledTargets}"
                    auth-url="${this.nextcloudAuthUrl}"
                    allowed-mime-types="${this.allowedMimeTypes}"
                    @dbp-clipboard-file-picker-file-downloaded="${(event) => {
-- 
GitLab