1
0
mirror of https://github.com/ascribe/onion.git synced 2025-02-14 21:10:27 +01:00

Integrate dropzone inactivity into user flow

This commit is contained in:
Tim Daubenschütz 2015-07-27 16:00:54 +02:00
parent d52a89cd3e
commit 332366ec15
2 changed files with 16 additions and 1 deletions

View File

@ -82,6 +82,10 @@ let FileDragAndDrop = React.createClass({
event.stopPropagation(); event.stopPropagation();
let files; let files;
if(this.props.dropzoneInactive) {
return;
}
// handle Drag and Drop // handle Drag and Drop
if(event.dataTransfer && event.dataTransfer.files.length > 0) { if(event.dataTransfer && event.dataTransfer.files.length > 0) {
files = event.dataTransfer.files; files = event.dataTransfer.files;

View File

@ -695,6 +695,17 @@ var ReactS3FineUploader = React.createClass({
this.setState(newState); this.setState(newState);
}, },
isDropzoneInactive() {
let filesToDisplay = this.state.filesToUpload.filter((file) => file.status !== 'deleted' && file.status !== 'canceled' && file.size !== -1);
let queryParams = this.getQuery();
if((this.props.enableLocalHashing && !queryParams.method) || !this.props.areAssetsEditable || !this.props.multiple && filesToDisplay.length > 0) {
return true;
} else {
return false;
}
},
render() { render() {
return ( return (
@ -711,7 +722,7 @@ var ReactS3FineUploader = React.createClass({
multiple={this.props.multiple} multiple={this.props.multiple}
areAssetsDownloadable={this.props.areAssetsDownloadable} areAssetsDownloadable={this.props.areAssetsDownloadable}
areAssetsEditable={this.props.areAssetsEditable} areAssetsEditable={this.props.areAssetsEditable}
dropzoneInactive={!this.props.areAssetsEditable || !this.props.multiple && this.state.filesToUpload.filter((file) => file.status !== 'deleted' && file.status !== 'canceled' && file.size !== -1).length > 0} dropzoneInactive={this.isDropzoneInactive()}
hashingProgress={this.state.hashingProgress} hashingProgress={this.state.hashingProgress}
enableLocalHashing={this.props.enableLocalHashing} /> enableLocalHashing={this.props.enableLocalHashing} />
</div> </div>