Fix web UI allowing uploads past status limit via drag & drop (#11863)
Fix #11659
This commit is contained in:
		
							parent
							
								
									d256901f60
								
							
						
					
					
						commit
						bdeff5ae15
					
				
					 1 changed files with 6 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -66,6 +66,7 @@ const mapStateToProps = state => ({
 | 
			
		|||
  isComposing: state.getIn(['compose', 'is_composing']),
 | 
			
		||||
  hasComposingText: state.getIn(['compose', 'text']).trim().length !== 0,
 | 
			
		||||
  hasMediaAttachments: state.getIn(['compose', 'media_attachments']).size > 0,
 | 
			
		||||
  canUploadMore: !state.getIn(['compose', 'media_attachments']).some(x => ['audio', 'video'].includes(x.get('type'))) && state.getIn(['compose', 'media_attachments']).size < 4,
 | 
			
		||||
  dropdownMenuIsOpen: state.getIn(['dropdown_menu', 'openId']) !== null,
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -232,6 +233,7 @@ class UI extends React.PureComponent {
 | 
			
		|||
    isComposing: PropTypes.bool,
 | 
			
		||||
    hasComposingText: PropTypes.bool,
 | 
			
		||||
    hasMediaAttachments: PropTypes.bool,
 | 
			
		||||
    canUploadMore: PropTypes.bool,
 | 
			
		||||
    location: PropTypes.object,
 | 
			
		||||
    intl: PropTypes.object.isRequired,
 | 
			
		||||
    dropdownMenuIsOpen: PropTypes.bool,
 | 
			
		||||
| 
						 | 
				
			
			@ -278,13 +280,14 @@ class UI extends React.PureComponent {
 | 
			
		|||
      this.dragTargets.push(e.target);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (e.dataTransfer && Array.from(e.dataTransfer.types).includes('Files')) {
 | 
			
		||||
    if (e.dataTransfer && Array.from(e.dataTransfer.types).includes('Files') && this.props.canUploadMore) {
 | 
			
		||||
      this.setState({ draggingOver: true });
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  handleDragOver = (e) => {
 | 
			
		||||
    if (this.dataTransferIsText(e.dataTransfer)) return false;
 | 
			
		||||
 | 
			
		||||
    e.preventDefault();
 | 
			
		||||
    e.stopPropagation();
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -299,12 +302,13 @@ class UI extends React.PureComponent {
 | 
			
		|||
 | 
			
		||||
  handleDrop = (e) => {
 | 
			
		||||
    if (this.dataTransferIsText(e.dataTransfer)) return;
 | 
			
		||||
 | 
			
		||||
    e.preventDefault();
 | 
			
		||||
 | 
			
		||||
    this.setState({ draggingOver: false });
 | 
			
		||||
    this.dragTargets = [];
 | 
			
		||||
 | 
			
		||||
    if (e.dataTransfer && e.dataTransfer.files.length >= 1) {
 | 
			
		||||
    if (e.dataTransfer && e.dataTransfer.files.length >= 1 && this.props.canUploadMore) {
 | 
			
		||||
      this.props.dispatch(uploadCompose(e.dataTransfer.files));
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue