Fixed FileAttachment component to not spam the server with requests when displaying a zero byte file

This commit is contained in:
hmhealey
2015-07-28 11:53:05 -04:00
parent f66cd5e977
commit 411f8cb9ef

View File

@@ -12,7 +12,7 @@ module.exports = React.createClass({
handleImageClick: React.PropTypes.func
},
getInitialState: function() {
return {fileSize: 0};
return {fileSize: -1};
},
componentDidMount: function() {
var filename = this.props.filenames[this.props.index];
@@ -80,7 +80,7 @@ module.exports = React.createClass({
thumbnail = <div className={"file-icon "+utils.getIconClassName(type)}/>;
}
if (!this.state.fileSize) {
if (this.state.fileSize < 0) {
var self = this;
// asynchronously request the size of the file so that we can display it next to the thumbnail
@@ -89,6 +89,11 @@ module.exports = React.createClass({
});
}
var fileSizeString = "";
if (this.state.fileSize >= 0) {
fileSizeString = utils.fileSizeToString(this.state.fileSize);
}
return (
<div className="post-image__column" key={filename}>
<a className="post-image__thumbnail" href="#" onClick={this.props.handleImageClick}
@@ -99,7 +104,7 @@ module.exports = React.createClass({
<div className="post-image__name">{fileInfo.name}</div>
<div>
<span className="post-image__type">{fileInfo.ext.toUpperCase()}</span>
<span className="post-image__size">{this.state.fileSize ? utils.fileSizeToString(this.state.fileSize) : ""}</span>
<span className="post-image__size">{this.fileSizeString}</span>
</div>
</div>
</div>