diff --git a/src/web/app/mobile/tags/drive-selector.tag b/src/web/app/mobile/tags/drive-selector.tag
index 32845432f..2edae67c1 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 e19325091..9f3e64773 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);
}