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

Этот коммит содержится в:
hmhealey
2015-07-28 11:53:05 -04:00
родитель f66cd5e977
Коммит 411f8cb9ef

Просмотреть файл

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