Allow multiple file uploads on drag & drop
parent
adaea9ad5b
commit
c07c4fd1cb
|
@ -45,6 +45,8 @@ import RoomViewStore from '../../stores/RoomViewStore';
|
||||||
import RoomScrollStateStore from '../../stores/RoomScrollStateStore';
|
import RoomScrollStateStore from '../../stores/RoomScrollStateStore';
|
||||||
import SettingsStore from "../../settings/SettingsStore";
|
import SettingsStore from "../../settings/SettingsStore";
|
||||||
|
|
||||||
|
import _every from "lodash/every";
|
||||||
|
|
||||||
const DEBUG = false;
|
const DEBUG = false;
|
||||||
let debuglog = function() {};
|
let debuglog = function() {};
|
||||||
|
|
||||||
|
@ -855,8 +857,12 @@ module.exports = React.createClass({
|
||||||
ev.dataTransfer.dropEffect = 'none';
|
ev.dataTransfer.dropEffect = 'none';
|
||||||
|
|
||||||
const items = ev.dataTransfer.items;
|
const items = ev.dataTransfer.items;
|
||||||
if (items.length == 1) {
|
if (items.length >= 1) {
|
||||||
if (items[0].kind == 'file') {
|
const isDraggingFiles = _every(items, function(item) {
|
||||||
|
return item.kind == 'file';
|
||||||
|
});
|
||||||
|
|
||||||
|
if (isDraggingFiles) {
|
||||||
this.setState({ draggingFile: true });
|
this.setState({ draggingFile: true });
|
||||||
ev.dataTransfer.dropEffect = 'copy';
|
ev.dataTransfer.dropEffect = 'copy';
|
||||||
}
|
}
|
||||||
|
@ -867,10 +873,8 @@ module.exports = React.createClass({
|
||||||
ev.stopPropagation();
|
ev.stopPropagation();
|
||||||
ev.preventDefault();
|
ev.preventDefault();
|
||||||
this.setState({ draggingFile: false });
|
this.setState({ draggingFile: false });
|
||||||
const files = ev.dataTransfer.files;
|
const files = [...ev.dataTransfer.files];
|
||||||
if (files.length == 1) {
|
files.forEach(this.uploadFile);
|
||||||
this.uploadFile(files[0]);
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
onDragLeaveOrEnd: function(ev) {
|
onDragLeaveOrEnd: function(ev) {
|
||||||
|
|
Loading…
Reference in New Issue