This commit is contained in:
syuilo 2017-08-28 20:23:47 +09:00
parent 7245a2fff2
commit bce6c006b2
2 changed files with 16 additions and 7 deletions

View file

@ -3,7 +3,7 @@
<header>
<h1>%i18n:mobile.tags.mk-drive-selector.select-file%<span class="count" if={ files.length > 0 }>({ files.length })</span></h1>
<button class="close" onclick={ cancel }><i class="fa fa-times"></i></button>
<button class="ok" onclick={ ok }><i class="fa fa-check"></i></button>
<button if={ opts.multiple } class="ok" onclick={ ok }><i class="fa fa-check"></i></button>
</header>
<mk-drive ref="browser" select-file={ true } multiple={ opts.multiple }/>
</div>
@ -68,6 +68,11 @@
files: files
});
});
this.refs.browser.on('selected', file => {
this.trigger('selected', file);
this.unmount();
});
});
this.cancel = () => {

View file

@ -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);
}