diff options
Diffstat (limited to 'web/react')
-rw-r--r-- | web/react/components/view_image.jsx | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/web/react/components/view_image.jsx b/web/react/components/view_image.jsx index 7edf6283b..3d13f4ea1 100644 --- a/web/react/components/view_image.jsx +++ b/web/react/components/view_image.jsx @@ -40,7 +40,7 @@ export default class ViewImageModal extends React.Component { this.state = { imgId: this.props.startId, - fileInfo: new Map(), + fileInfo: null, imgHeight: '100%', loaded, progress, @@ -109,12 +109,16 @@ export default class ViewImageModal extends React.Component { onFileStoreChange(filename) { const id = this.props.filenames.indexOf(filename); - if (id !== -1 && !this.state.loaded[id]) { - const fileInfo = this.state.fileInfo; - fileInfo.set(filename, FileStore.getInfo(filename)); - this.setState({fileInfo}); + if (id !== -1) { + if (id === this.state.imgId) { + this.setState({ + fileInfo: FileStore.getInfo(filename) + }); + } - this.loadImage(id, filename); + if (!this.state.loaded[id]) { + this.loadImage(id, filename); + } } } @@ -132,6 +136,10 @@ export default class ViewImageModal extends React.Component { return; } + this.setState({ + fileInfo: FileStore.getInfo(filename) + }); + if (!this.state.loaded[id]) { this.loadImage(id, filename); } @@ -227,8 +235,8 @@ export default class ViewImageModal extends React.Component { var content; if (this.state.loaded[this.state.imgId]) { - // if a file has been loaded, we also have its info - const fileInfo = this.state.fileInfo.get(filename); + // this.state.fileInfo is for the current image and we shoudl have it before we load the image + const fileInfo = this.state.fileInfo; const extension = Utils.splitFileLocation(filename).ext; const fileType = Utils.getFileType(extension); |