aboutsummaryrefslogtreecommitdiffstats
path: root/web/src/js/components/ContentView/ContentLoader.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'web/src/js/components/ContentView/ContentLoader.jsx')
-rw-r--r--web/src/js/components/ContentView/ContentLoader.jsx15
1 files changed, 11 insertions, 4 deletions
diff --git a/web/src/js/components/ContentView/ContentLoader.jsx b/web/src/js/components/ContentView/ContentLoader.jsx
index 697085a9..094ce18b 100644
--- a/web/src/js/components/ContentView/ContentLoader.jsx
+++ b/web/src/js/components/ContentView/ContentLoader.jsx
@@ -22,12 +22,15 @@ export default View => class extends React.Component {
}
componentWillMount() {
- this.startRequest(this.props)
+ this.updateContent(this.props)
}
componentWillReceiveProps(nextProps) {
- if (nextProps.message.contentHash !== this.props.message.contentHash) {
- this.startRequest(nextProps)
+ if (
+ nextProps.message.content !== this.props.message.content ||
+ nextProps.message.contentHash !== this.props.message.contentHash
+ ) {
+ this.updateContent(nextProps)
}
}
@@ -37,13 +40,17 @@ export default View => class extends React.Component {
}
}
- startRequest(props) {
+ updateContent(props) {
if (this.state.request) {
this.state.request.abort()
}
+ // We have a few special cases where we do not need to make an HTTP request.
if(props.message.contentLength === 0 || props.message.contentLength === null){
return this.setState({request: undefined, content: ""})
}
+ if(props.message.content !== undefined) {
+ return this.setState({request: undefined, content: props.message.content})
+ }
let requestUrl = MessageUtils.getContentURL(props.flow, props.message)