diff --git a/packages/file-handling/src/dbp-nextcloud-file-picker.js b/packages/file-handling/src/dbp-nextcloud-file-picker.js index 4c4af48a54eb99c329e288a640398b0df0c8c4d2..cbd010fb452ac7ecd4e8f2a096b0fecb1af45106 100644 --- a/packages/file-handling/src/dbp-nextcloud-file-picker.js +++ b/packages/file-handling/src/dbp-nextcloud-file-picker.js @@ -326,10 +326,10 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) { * @param path */ loadDirectory(path) { - if ( typeof this.directoryPath === 'undefined' || this.directoryPath === undefined) { + if (typeof this.directoryPath === 'undefined' || this.directoryPath === undefined) { this.directoryPath = ''; } - if(path === undefined) { + if (path === undefined) { path = ''; } diff --git a/packages/file-handling/src/file-sink.js b/packages/file-handling/src/file-sink.js index 9c83bad2c57afd51e5b36a348ed050fc95b2a06f..85a9c3eb0bb61d35acc1237c1c92efecc662af54 100644 --- a/packages/file-handling/src/file-sink.js +++ b/packages/file-handling/src/file-sink.js @@ -35,7 +35,6 @@ export class FileSink extends ScopedElementsMixin(DBPLitElement) { this.isDialogOpen = false; this.enabledTargets = 'local'; this.firstOpen = true; - this.showClipboard = false; this.fullsizeModal = false; this.initialFileHandlingState = {target: '', path: ''}; @@ -71,7 +70,6 @@ export class FileSink extends ScopedElementsMixin(DBPLitElement) { activeTarget: {type: String, attribute: 'active-target'}, firstOpen: {type: Boolean, attribute: false}, nextcloudPath: {type: String, attribute: false}, - showClipboard: { type: Boolean, attribute: 'show-clipboard' }, fullsizeModal: { type: Boolean, attribute: 'fullsize-modal' }, initialFileHandlingState: {type: Object, attribute: 'initial-file-handling-state'}, @@ -84,8 +82,6 @@ export class FileSink extends ScopedElementsMixin(DBPLitElement) { super.connectedCallback(); this.updateComplete.then(() => { - - console.log("initialFileHandlingState", this.initialFileHandlingState); }); } @@ -137,10 +133,12 @@ export class FileSink extends ScopedElementsMixin(DBPLitElement) { break; case "files": if (this.files.length !== 0 && !this.isDialogOpen) { - console.log("--------------", this.files); this.openDialog(); - if (this.showClipboard && this.enabledTargets.includes("clipboard")) { - this._("#clipboard-file-sink").filesToSave = this.files; + if (this.enabledTargets.includes("clipboard")) { + const clipboardSink = this._("#clipboard-file-sink"); + if (clipboardSink) { + this._("#clipboard-file-sink").filesToSave = this.files; + } } } break; @@ -198,6 +196,7 @@ export class FileSink extends ScopedElementsMixin(DBPLitElement) { } loadWebdavDirectory() { + const filePicker = this._('#nextcloud-file-picker'); if (filePicker && filePicker.webDavClient !== null) { @@ -207,37 +206,35 @@ export class FileSink extends ScopedElementsMixin(DBPLitElement) { openDialog() { this.loadWebdavDirectory(); - MicroModal.show(this._('#modal-picker'), { - disableScroll: true, - onClose: modal => { this.isDialogOpen = false; }, - }); - - console.log("initialFileHandlingState", this.initialFileHandlingState); + const filePicker = this._('#modal-picker'); + if (filePicker) { + MicroModal.show(filePicker, { + disableScroll: true, + onClose: modal => { this.isDialogOpen = false; }, + }); + } //check if default destination is set if (this.initialFileHandlingState.target !== '' && typeof this.initialFileHandlingState.target !== 'undefined' && this.firstOpen) { this.activeTarget = this.initialFileHandlingState.target; this.nextcloudPath = this.initialFileHandlingState.path; + const filePicker = this._('#nextcloud-file-picker'); if (filePicker && filePicker.webDavClient !== null) { filePicker.loadDirectory(this.initialFileHandlingState.path); - console.log("load default nextcloud sink", this.initialFileHandlingState.path); } this.firstOpen = false; } } closeDialog(e) { - console.log("close start"); this.sendDestination(); MicroModal.close(this._('#modal-picker')); - console.log("close end"); - } getClipboardHtml() { - if (this.enabledTargets.includes('clipboard') && this.showClipboard) { + if (this.enabledTargets.includes('clipboard')) { return html` <dbp-clipboard id="clipboard-file-sink" @@ -323,7 +320,6 @@ export class FileSink extends ScopedElementsMixin(DBPLitElement) { } render() { - const isClipboardHidden = !this.showClipboard; return html` <vpu-notification lang="de" client-id="my-client-id"></vpu-notification> @@ -345,7 +341,7 @@ export class FileSink extends ScopedElementsMixin(DBPLitElement) { </div> <div title="Clipboard" @click="${() => { this.activeTarget = "clipboard"; }}" - class="${classMap({"active": this.activeTarget === "clipboard", hidden: (!this.hasEnabledDestination("clipboard") || isClipboardHidden) })}"> + class="${classMap({"active": this.activeTarget === "clipboard", hidden: (!this.hasEnabledDestination("clipboard")) })}"> <dbp-icon class="nav-icon" name="clipboard"></dbp-icon> <p>Clipboard</p> </div> @@ -374,7 +370,7 @@ export class FileSink extends ScopedElementsMixin(DBPLitElement) { <div class="source-main ${classMap({"hidden": this.activeTarget !== "nextcloud" || this.nextcloudWebDavUrl === "" || this.nextcloudAuthUrl === ""})}"> ${this.getNextcloudHtml()} </div> - <div class="source-main ${classMap({"hidden": this.activeTarget !== "clipboard" || isClipboardHidden})}"> + <div class="source-main ${classMap({"hidden": this.activeTarget !== "clipboard"})}"> ${this.getClipboardHtml()} </div> </main> diff --git a/packages/file-handling/src/file-source.js b/packages/file-handling/src/file-source.js index 963fae08d940e699e56efc8187bb0e863454feac..2c155dc5d8362806b388879406727041314f0f97 100644 --- a/packages/file-handling/src/file-source.js +++ b/packages/file-handling/src/file-source.js @@ -54,7 +54,6 @@ export class FileSource extends ScopedElementsMixin(DBPLitElement) { this.activeTarget = 'local'; this.isDialogOpen = false; this.firstOpen = true; - this.showClipboard = false; this.initialFileHandlingState = {target: '', path: ''}; @@ -90,7 +89,6 @@ export class FileSource extends ScopedElementsMixin(DBPLitElement) { decompressZip: { type: Boolean, attribute: 'decompress-zip' }, activeTarget: { type: String, attribute: 'active-target' }, isDialogOpen: { type: Boolean, attribute: 'dialog-open' }, - showClipboard: { type: Boolean, attribute: 'show-clipboard' }, initialFileHandlingState: {type: Object, attribute: 'initial-file-handling-state'}, }; @@ -366,7 +364,6 @@ export class FileSource extends ScopedElementsMixin(DBPLitElement) { loadWebdavDirectory() { const filePicker = this._('#nextcloud-file-picker'); - // check if element is already in the dom (for example if "dialog-open" attribute is set) if (filePicker && filePicker.webDavClient !== null) { filePicker.loadDirectory(filePicker.directoryPath); @@ -378,7 +375,7 @@ export class FileSource extends ScopedElementsMixin(DBPLitElement) { this.loadWebdavDirectory(); } - if (this.enabledTargets.includes('clipboard') && this.showClipboard) { + if (this.enabledTargets.includes('clipboard') && this._("#clipboard-file-picker")) { this._("#clipboard-file-picker").generateClipboardTable(); this._("#clipboard-file-picker").showSelectAllButton = true; } @@ -391,6 +388,7 @@ export class FileSource extends ScopedElementsMixin(DBPLitElement) { disableScroll: true, onClose: modal => { this.isDialogOpen = false; + const filePicker = this._('#nextcloud-file-picker'); if (filePicker) { @@ -426,7 +424,7 @@ export class FileSource extends ScopedElementsMixin(DBPLitElement) { } getClipboardHtml() { - if (this.enabledTargets.includes('clipboard') && this.showClipboard) { + if (this.enabledTargets.includes('clipboard')) { return html` <dbp-clipboard id="clipboard-file-picker" @@ -519,7 +517,6 @@ export class FileSource extends ScopedElementsMixin(DBPLitElement) { render() { let allowedMimeTypes = this.allowedMimeTypes; - const isClipboardHidden = !this.showClipboard; if (this.decompressZip && this.allowedMimeTypes !== "*/*") { allowedMimeTypes += ",application/zip,application/x-zip-compressed"; @@ -550,7 +547,7 @@ export class FileSource extends ScopedElementsMixin(DBPLitElement) { </div> <div title="Clipboard" @click="${() => { this.activeTarget = "clipboard"; }}" - class="${classMap({"active": this.activeTarget === "clipboard", hidden: !this.hasEnabledSource("clipboard") || isClipboardHidden })}"> + class="${classMap({"active": this.activeTarget === "clipboard", hidden: !this.hasEnabledSource("clipboard") })}"> <dbp-icon class="nav-icon" name="clipboard"></dbp-icon> <p>Clipboard</p> </div> @@ -584,7 +581,7 @@ export class FileSource extends ScopedElementsMixin(DBPLitElement) { <div class="source-main ${classMap({"hidden": this.activeTarget !== "nextcloud" || this.nextcloudWebDavUrl === "" || this.nextcloudAuthUrl === ""})}"> ${this.getNextcloudHtml()} </div> - <div class="source-main ${classMap({"hidden": (this.activeTarget !== "clipboard" || isClipboardHidden)})}"> + <div class="source-main ${classMap({"hidden": (this.activeTarget !== "clipboard")})}"> ${this.getClipboardHtml()} </div> </main>