diff --git a/package.json b/package.json index 78ad8993..223672b8 100644 --- a/package.json +++ b/package.json @@ -37,8 +37,8 @@ "gfm.css": "^1.1.1", "highlight.js": "^9.0.0", "linkifyjs": "^2.0.0-beta.4", - "matrix-js-sdk": "^0.5.1", - "matrix-react-sdk": "^0.4.0", + "matrix-js-sdk": "matrix-org/matrix-js-sdk#develop", + "matrix-react-sdk": "matrix-org/matrix-react-sdk#develop", "modernizr": "^3.1.0", "q": "^1.4.1", "react": "^0.14.2", diff --git a/src/components/views/elements/ImageView.js b/src/components/views/elements/ImageView.js index ef00b387..db23e91b 100644 --- a/src/components/views/elements/ImageView.js +++ b/src/components/views/elements/ImageView.js @@ -27,7 +27,8 @@ module.exports = React.createClass({ displayName: 'ImageView', propTypes: { - onFinished: React.PropTypes.func.isRequired + onFinished: React.PropTypes.func.isRequired, + name: React.PropTypes.string }, // XXX: keyboard shortcuts for managing dialogs should be done by the modal @@ -65,6 +66,20 @@ module.exports = React.createClass({ }); }, + getName: function () { + var name; + + if(this.props.name) { + name = this.props.name; + } else if(this.props.mxEvent) { + name = props.mxEvent.getContent().body; + } else { + name = null; + } + + return name; + }, + render: function() { /* @@ -106,10 +121,28 @@ module.exports = React.createClass({ } var size; - if (this.props.mxEvent.getContent().info && this.props.mxEvent.getContent().info.size) { + if (this.props.mxEvent && + this.props.mxEvent.getContent().info && + this.props.mxEvent.getContent().info.size) { size = filesize(this.props.mxEvent.getContent().info.size); } + var showEventMeta = !!this.props.mxEvent; + + var eventMeta; + if(showEventMeta) { + eventMeta = (