Merge pull request #1464 from hmhealey/plt733
PLT-733 Changed file uploads to scroll currently uploading files into view
Этот коммит содержится в:
@@ -8,9 +8,14 @@ export default class FilePreview extends React.Component {
|
|||||||
super(props);
|
super(props);
|
||||||
|
|
||||||
this.handleRemove = this.handleRemove.bind(this);
|
this.handleRemove = this.handleRemove.bind(this);
|
||||||
|
|
||||||
this.state = {};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
componentDidUpdate() {
|
||||||
|
if (this.props.uploadsInProgress.length > 0) {
|
||||||
|
ReactDOM.findDOMNode(this.refs[this.props.uploadsInProgress[0]]).scrollIntoView();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
handleRemove(e) {
|
handleRemove(e) {
|
||||||
var previewDiv = e.target.parentNode.parentNode;
|
var previewDiv = e.target.parentNode.parentNode;
|
||||||
|
|
||||||
@@ -20,9 +25,10 @@ export default class FilePreview extends React.Component {
|
|||||||
this.props.onRemove(previewDiv.getAttribute('data-client-id'));
|
this.props.onRemove(previewDiv.getAttribute('data-client-id'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
var previews = [];
|
var previews = [];
|
||||||
this.props.files.forEach(function setupPreview(fullFilename) {
|
this.props.files.forEach((fullFilename) => {
|
||||||
var filename = fullFilename;
|
var filename = fullFilename;
|
||||||
var originalFilename = filename;
|
var originalFilename = filename;
|
||||||
var filenameSplit = filename.split('.');
|
var filenameSplit = filename.split('.');
|
||||||
@@ -72,11 +78,12 @@ export default class FilePreview extends React.Component {
|
|||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}.bind(this));
|
});
|
||||||
|
|
||||||
this.props.uploadsInProgress.forEach(function addUploadsInProgress(clientId) {
|
this.props.uploadsInProgress.forEach((clientId) => {
|
||||||
previews.push(
|
previews.push(
|
||||||
<div
|
<div
|
||||||
|
ref={clientId}
|
||||||
key={clientId}
|
key={clientId}
|
||||||
className='preview-div'
|
className='preview-div'
|
||||||
data-client-id={clientId}
|
data-client-id={clientId}
|
||||||
@@ -93,7 +100,7 @@ export default class FilePreview extends React.Component {
|
|||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}.bind(this));
|
});
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='preview-container'>
|
<div className='preview-container'>
|
||||||
@@ -104,8 +111,8 @@ export default class FilePreview extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
FilePreview.defaultProps = {
|
FilePreview.defaultProps = {
|
||||||
files: null,
|
files: [],
|
||||||
uploadsInProgress: null
|
uploadsInProgress: []
|
||||||
};
|
};
|
||||||
FilePreview.propTypes = {
|
FilePreview.propTypes = {
|
||||||
onRemove: React.PropTypes.func.isRequired,
|
onRemove: React.PropTypes.func.isRequired,
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user