Skip to content
Snippets Groups Projects
Commit fb7ef0ee authored by Steinwender, Tamara's avatar Steinwender, Tamara
Browse files

Add multi and single file-select support in file-handling file-source

parent e1a173ca
Branches
No related tags found
No related merge requests found
Pipeline #52570 passed
...@@ -57,6 +57,7 @@ export class FileSource extends ScopedElementsMixin(DbpFileHandlingLitElement) { ...@@ -57,6 +57,7 @@ export class FileSource extends ScopedElementsMixin(DbpFileHandlingLitElement) {
this.firstOpen = true; this.firstOpen = true;
this.nextcloudAuthInfo = ''; this.nextcloudAuthInfo = '';
this.maxFileSize = ''; this.maxFileSize = '';
this.multipleFiles = true;
this.initialFileHandlingState = {target: '', path: ''}; this.initialFileHandlingState = {target: '', path: ''};
} }
...@@ -91,6 +92,7 @@ export class FileSource extends ScopedElementsMixin(DbpFileHandlingLitElement) { ...@@ -91,6 +92,7 @@ export class FileSource extends ScopedElementsMixin(DbpFileHandlingLitElement) {
activeTarget: { type: String, attribute: 'active-target' }, activeTarget: { type: String, attribute: 'active-target' },
isDialogOpen: { type: Boolean, attribute: 'dialog-open' }, isDialogOpen: { type: Boolean, attribute: 'dialog-open' },
maxFileSize: { type: Number, attribute: 'max-file-size'}, maxFileSize: { type: Number, attribute: 'max-file-size'},
multipleFiles: { type: Number, attribute: 'number-of-files'},
initialFileHandlingState: {type: Object, attribute: 'initial-file-handling-state'}, initialFileHandlingState: {type: Object, attribute: 'initial-file-handling-state'},
}; };
...@@ -520,6 +522,7 @@ export class FileSource extends ScopedElementsMixin(DbpFileHandlingLitElement) { ...@@ -520,6 +522,7 @@ export class FileSource extends ScopedElementsMixin(DbpFileHandlingLitElement) {
nextcloud-file-url="${this.nextcloudFileURL}" nextcloud-file-url="${this.nextcloudFileURL}"
auth-info="${this.nextcloudAuthInfo}" auth-info="${this.nextcloudAuthInfo}"
allowed-mime-types="${this.allowedMimeTypes}" allowed-mime-types="${this.allowedMimeTypes}"
max-selected-items="${this.multipleFiles}"
@dbp-nextcloud-file-picker-file-downloaded="${(event) => { @dbp-nextcloud-file-picker-file-downloaded="${(event) => {
this.sendFileEvent(event.detail.file, event.detail.maxUpload);}}"> this.sendFileEvent(event.detail.file, event.detail.maxUpload);}}">
</dbp-nextcloud-file-picker>`; </dbp-nextcloud-file-picker>`;
...@@ -636,6 +639,22 @@ export class FileSource extends ScopedElementsMixin(DbpFileHandlingLitElement) { ...@@ -636,6 +639,22 @@ export class FileSource extends ScopedElementsMixin(DbpFileHandlingLitElement) {
allowedMimeTypes += ",application/zip,application/x-zip-compressed"; allowedMimeTypes += ",application/zip,application/x-zip-compressed";
} }
let inputFile = html``;
if (this.multipleFiles > 1 || this.multipleFiles === true ) {
inputFile = html `<input ?disabled="${this.disabled}"
type="file"
id="fileElem"
multiple
accept="${mimeTypesToAccept(allowedMimeTypes)}"
name='file'>`;
} else {
inputFile = html `<input ?disabled="${this.disabled}"
type="file"
id="fileElem"
accept="${mimeTypesToAccept(allowedMimeTypes)}"
name='file'>`;
}
return html` return html`
<!-- <!--
<button class="button" <button class="button"
...@@ -687,12 +706,7 @@ export class FileSource extends ScopedElementsMixin(DbpFileHandlingLitElement) { ...@@ -687,12 +706,7 @@ export class FileSource extends ScopedElementsMixin(DbpFileHandlingLitElement) {
</div> </div>
<input ?disabled="${this.disabled}" ${inputFile}
type="file"
id="fileElem"
multiple
accept="${mimeTypesToAccept(allowedMimeTypes)}"
name='file'>
<label class="button is-primary" for="fileElem" ?disabled="${this.disabled}"> <label class="button is-primary" for="fileElem" ?disabled="${this.disabled}">
${this.buttonLabel || i18n.t('upload-label')} ${this.buttonLabel || i18n.t('upload-label')}
</label> </label>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment