diff --git a/src/web/app/mobile/tags/drive-selector.tag b/src/web/app/mobile/tags/drive-selector.tag index 32845432f2..2edae67c1b 100644 --- a/src/web/app/mobile/tags/drive-selector.tag +++ b/src/web/app/mobile/tags/drive-selector.tag @@ -3,7 +3,7 @@

%i18n:mobile.tags.mk-drive-selector.select-file% 0 }>({ files.length })

- +
@@ -68,6 +68,11 @@ files: files }); }); + + this.refs.browser.on('selected', file => { + this.trigger('selected', file); + this.unmount(); + }); }); this.cancel = () => { diff --git a/src/web/app/mobile/tags/drive.tag b/src/web/app/mobile/tags/drive.tag index e19325091d..9f3e647735 100644 --- a/src/web/app/mobile/tags/drive.tag +++ b/src/web/app/mobile/tags/drive.tag @@ -190,7 +190,7 @@ this.file = null; this.isFileSelectMode = this.opts.selectFile; - this.multiple =this.opts.multiple; + this.multiple = this.opts.multiple; this.on('mount', () => { this.stream.on('drive_file_created', this.onStreamDriveFileCreated); @@ -435,13 +435,17 @@ this.chooseFile = file => { if (this.isFileSelectMode) { - if (this.selectedFiles.some(f => f.id == file.id)) { - this.selectedFiles = this.selectedFiles.filter(f => f.id != file.id); + if (this.multiple) { + if (this.selectedFiles.some(f => f.id == file.id)) { + this.selectedFiles = this.selectedFiles.filter(f => f.id != file.id); + } else { + this.selectedFiles.push(file); + } + this.update(); + this.trigger('change-selection', this.selectedFiles); } else { - this.selectedFiles.push(file); + this.trigger('selected', file); } - this.update(); - this.trigger('change-selection', this.selectedFiles); } else { this.cf(file); }