Horizontally align images if image height > image width

This commit is contained in:
Florian Orben
2015-10-19 21:15:10 +02:00
parent d167e18f00
commit 420c754ca3
2 changed files with 16 additions and 3 deletions

View File

@@ -94,16 +94,28 @@ export default class FileAttachment extends React.Component {
return true;
}
playGif(e, fileUrl) {
playGif(e, filename) {
var img = new Image();
var fileUrl = utils.getFileUrl(filename);
this.setState({loading: true});
img.load(fileUrl);
img.onload = () => this.setState({playing: true, loading: false});
img.onload = () => {
this.setState({playing: true, loading: false});
// keep displaying background image for a short moment while browser is
// loading gif, to prevent white background flashing through
setTimeout(() => this.removeBackgroundImage.bind(this)(filename), 100);
};
img.onError = () => this.setState({loading: false});
e.stopPropagation();
}
removeBackgroundImage(name) {
if (name in this.refs) {
$(ReactDOM.findDOMNode(this.refs[name])).css('background-image', 'initial');
}
}
render() {
var filename = this.props.filename;
@@ -118,7 +130,7 @@ export default class FileAttachment extends React.Component {
playButton = (
<div
className='file-play-button'
onClick={(e) => this.playGif(e, fileUrl)}
onClick={(e) => this.playGif(e, filename)}
>
{"►"}
</div>

View File

@@ -135,6 +135,7 @@
background-repeat: no-repeat;
overflow: hidden;
position: relative;
text-align: center;
&.small {
background-position: center;
}