|
|
@ -1,6 +1,7 @@ |
|
|
|
import React from 'react'; |
|
|
|
import React from 'react'; |
|
|
|
import PropTypes from 'prop-types'; |
|
|
|
import PropTypes from 'prop-types'; |
|
|
|
import classNames from 'classnames'; |
|
|
|
import classNames from 'classnames'; |
|
|
|
|
|
|
|
import { LoadingBar } from 'react-redux-loading-bar'; |
|
|
|
import ZoomableImage from './zoomable_image'; |
|
|
|
import ZoomableImage from './zoomable_image'; |
|
|
|
|
|
|
|
|
|
|
|
export default class ImageLoader extends React.PureComponent { |
|
|
|
export default class ImageLoader extends React.PureComponent { |
|
|
@ -23,6 +24,7 @@ export default class ImageLoader extends React.PureComponent { |
|
|
|
state = { |
|
|
|
state = { |
|
|
|
loading: true, |
|
|
|
loading: true, |
|
|
|
error: false, |
|
|
|
error: false, |
|
|
|
|
|
|
|
width: null, |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
removers = []; |
|
|
|
removers = []; |
|
|
@ -122,6 +124,7 @@ export default class ImageLoader extends React.PureComponent { |
|
|
|
|
|
|
|
|
|
|
|
setCanvasRef = c => { |
|
|
|
setCanvasRef = c => { |
|
|
|
this.canvas = c; |
|
|
|
this.canvas = c; |
|
|
|
|
|
|
|
if (c) this.setState({ width: c.offsetWidth }); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
render () { |
|
|
|
render () { |
|
|
@ -135,6 +138,7 @@ export default class ImageLoader extends React.PureComponent { |
|
|
|
|
|
|
|
|
|
|
|
return ( |
|
|
|
return ( |
|
|
|
<div className={className}> |
|
|
|
<div className={className}> |
|
|
|
|
|
|
|
<LoadingBar loading={loading ? 1 : 0} className='loading-bar' style={{ width: this.state.width || width }} /> |
|
|
|
{loading ? ( |
|
|
|
{loading ? ( |
|
|
|
<canvas |
|
|
|
<canvas |
|
|
|
className='image-loader__preview-canvas' |
|
|
|
className='image-loader__preview-canvas' |
|
|
|