Skip to content
Snippets Groups Projects
Unverified Commit 9585ff0f authored by Bekerle, Patrizio's avatar Bekerle, Patrizio :fire:
Browse files

Fix logging of selected files

parent bc28fbbe
No related branches found
No related tags found
No related merge requests found
Pipeline #17546 failed
...@@ -11,6 +11,8 @@ export class FileSourceDemo extends ScopedElementsMixin(LitElement) { ...@@ -11,6 +11,8 @@ export class FileSourceDemo extends ScopedElementsMixin(LitElement) {
super(); super();
this.lang = 'de'; this.lang = 'de';
this.url = ''; this.url = '';
this.selectedFiles = [];
this.selectedFilesCount = 0;
} }
static get scopedElements() { static get scopedElements() {
...@@ -24,6 +26,8 @@ export class FileSourceDemo extends ScopedElementsMixin(LitElement) { ...@@ -24,6 +26,8 @@ export class FileSourceDemo extends ScopedElementsMixin(LitElement) {
return { return {
lang: { type: String }, lang: { type: String },
url: { type: String }, url: { type: String },
selectedFiles: { type: Array, attribute: false },
selectedFilesCount: { type: Number, attribute: false },
}; };
} }
...@@ -31,9 +35,10 @@ export class FileSourceDemo extends ScopedElementsMixin(LitElement) { ...@@ -31,9 +35,10 @@ export class FileSourceDemo extends ScopedElementsMixin(LitElement) {
super.connectedCallback(); super.connectedCallback();
this.updateComplete.then(() => { this.updateComplete.then(() => {
this.shadowRoot.querySelectorAll('dbp-file-source') this.shadowRoot.querySelectorAll('.file-source')
.forEach(element => { .forEach(element => {
element.addEventListener('dbp-file-source-file-finished', this.addLogEntry.bind(this)); // TODO: remove orphaned event listeners
element.addEventListener('dbp-file-source-file-selected', this.addLogEntry.bind(this));
}); });
}); });
} }
...@@ -48,12 +53,27 @@ export class FileSourceDemo extends ScopedElementsMixin(LitElement) { ...@@ -48,12 +53,27 @@ export class FileSourceDemo extends ScopedElementsMixin(LitElement) {
super.update(changedProperties); super.update(changedProperties);
} }
addLogEntry(ev) { getSelectedFilesHtml() {
const ul = this.shadowRoot.querySelector('#log'); if (this.selectedFilesCount === 0) {
const li = document.createElement('li'); return `No files were selected`;
li.innerHTML = `<li><b>${ev.detail.status}</b> <tt>${ev.detail.filename}</tt>`; }
let results = [];
this.selectedFiles.forEach((file) => {
results.push(html`
<div class="file-block">
<strong>${file.name}</strong> (${file.type})</span>
</div>
`);
});
ul.appendChild(li); return results;
}
addLogEntry(ev) {
this.selectedFiles.push(ev.detail.file);
this.selectedFilesCount = this.selectedFiles.length;
} }
render() { render() {
...@@ -80,6 +100,9 @@ export class FileSourceDemo extends ScopedElementsMixin(LitElement) { ...@@ -80,6 +100,9 @@ export class FileSourceDemo extends ScopedElementsMixin(LitElement) {
<p>${unsafeHTML(i18n.t('required-server', { url: this.url}))}</p> <p>${unsafeHTML(i18n.t('required-server', { url: this.url}))}</p>
</div> </div>
<div class="content"> <div class="content">
<h2 class="subtitle">Selected files</h2>
${this.getSelectedFilesHtml()}
<h2 class="subtitle">Send files via event</h2> <h2 class="subtitle">Send files via event</h2>
<p>There is no restriction for a specific file type:</p> <p>There is no restriction for a specific file type:</p>
...@@ -88,6 +111,7 @@ export class FileSourceDemo extends ScopedElementsMixin(LitElement) { ...@@ -88,6 +111,7 @@ export class FileSourceDemo extends ScopedElementsMixin(LitElement) {
Open dialog Open dialog
</button> </button>
<dbp-file-source id="file-source1" <dbp-file-source id="file-source1"
class="file-source"
allowed-mime-types="*/*" allowed-mime-types="*/*"
subscribe="nextcloud-auth-url:nextcloud-auth-url,nextcloud-web-dav-url:nextcloud-web-dav-url,nextcloud-name:nextcloud-name,nextcloud-file-url:nextcloud-file-url" subscribe="nextcloud-auth-url:nextcloud-auth-url,nextcloud-web-dav-url:nextcloud-web-dav-url,nextcloud-name:nextcloud-name,nextcloud-file-url:nextcloud-file-url"
lang="en" lang="en"
...@@ -99,6 +123,7 @@ export class FileSourceDemo extends ScopedElementsMixin(LitElement) { ...@@ -99,6 +123,7 @@ export class FileSourceDemo extends ScopedElementsMixin(LitElement) {
Open dialog Open dialog
</button> </button>
<dbp-file-source id="file-source2" lang="en" url="${this.url}" <dbp-file-source id="file-source2" lang="en" url="${this.url}"
class="file-source"
allowed-mime-types="image/*" allowed-mime-types="image/*"
subscribe="nextcloud-auth-url:nextcloud-auth-url,nextcloud-web-dav-url:nextcloud-web-dav-url,nextcloud-name:nextcloud-name,nextcloud-file-url:nextcloud-file-url" subscribe="nextcloud-auth-url:nextcloud-auth-url,nextcloud-web-dav-url:nextcloud-web-dav-url,nextcloud-name:nextcloud-name,nextcloud-file-url:nextcloud-file-url"
enabled-targets="local,nextcloud" enabled-targets="local,nextcloud"
...@@ -110,6 +135,7 @@ export class FileSourceDemo extends ScopedElementsMixin(LitElement) { ...@@ -110,6 +135,7 @@ export class FileSourceDemo extends ScopedElementsMixin(LitElement) {
Open dialog Open dialog
</button> </button>
<dbp-file-source id="file-source3" lang="en" url="${this.url}" <dbp-file-source id="file-source3" lang="en" url="${this.url}"
class="file-source"
allowed-mime-types="application/pdf" allowed-mime-types="application/pdf"
subscribe="nextcloud-auth-url:nextcloud-auth-url,nextcloud-web-dav-url:nextcloud-web-dav-url,nextcloud-name:nextcloud-name,nextcloud-file-url:nextcloud-file-url" subscribe="nextcloud-auth-url:nextcloud-auth-url,nextcloud-web-dav-url:nextcloud-web-dav-url,nextcloud-name:nextcloud-name,nextcloud-file-url:nextcloud-file-url"
enabled-targets="local,nextcloud" enabled-targets="local,nextcloud"
...@@ -121,6 +147,7 @@ export class FileSourceDemo extends ScopedElementsMixin(LitElement) { ...@@ -121,6 +147,7 @@ export class FileSourceDemo extends ScopedElementsMixin(LitElement) {
Open dialog Open dialog
</button> </button>
<dbp-file-source id="file-source4" lang="en" url="${this.url}" <dbp-file-source id="file-source4" lang="en" url="${this.url}"
class="file-source"
allowed-mime-types="text/plain,image/*" allowed-mime-types="text/plain,image/*"
subscribe="nextcloud-auth-url:nextcloud-auth-url,nextcloud-web-dav-url:nextcloud-web-dav-url,nextcloud-name:nextcloud-name,nextcloud-file-url:nextcloud-file-url" subscribe="nextcloud-auth-url:nextcloud-auth-url,nextcloud-web-dav-url:nextcloud-web-dav-url,nextcloud-name:nextcloud-name,nextcloud-file-url:nextcloud-file-url"
enabled-targets="local,nextcloud" enabled-targets="local,nextcloud"
...@@ -132,6 +159,7 @@ export class FileSourceDemo extends ScopedElementsMixin(LitElement) { ...@@ -132,6 +159,7 @@ export class FileSourceDemo extends ScopedElementsMixin(LitElement) {
Open dialog Open dialog
</button> </button>
<dbp-file-source id="file-source5" lang="en" url="${this.url}" <dbp-file-source id="file-source5" lang="en" url="${this.url}"
class="file-source"
allowed-mime-types="application/pdf" allowed-mime-types="application/pdf"
decompress-zip decompress-zip
subscribe="nextcloud-auth-url:nextcloud-auth-url,nextcloud-web-dav-url:nextcloud-web-dav-url,nextcloud-name:nextcloud-name,nextcloud-file-url:nextcloud-file-url" subscribe="nextcloud-auth-url:nextcloud-auth-url,nextcloud-web-dav-url:nextcloud-web-dav-url,nextcloud-name:nextcloud-name,nextcloud-file-url:nextcloud-file-url"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment