diff --git a/src/components/views/settings/IntegrationsManager.js b/src/components/views/settings/IntegrationsManager.js index 8db010a2..a7d15e6f 100644 --- a/src/components/views/settings/IntegrationsManager.js +++ b/src/components/views/settings/IntegrationsManager.js @@ -19,6 +19,7 @@ limitations under the License. var React = require('react'); var sdk = require('matrix-react-sdk'); var MatrixClientPeg = require('matrix-react-sdk/lib/MatrixClientPeg'); +var dis = require('matrix-react-sdk/lib/dispatcher'); module.exports = React.createClass({ displayName: 'IntegrationsManager', @@ -31,11 +32,13 @@ module.exports = React.createClass({ // XXX: keyboard shortcuts for managing dialogs should be done by the modal // dialog base class somehow, surely... componentDidMount: function() { + this.dispatcherRef = dis.register(this.onAction); document.addEventListener("keydown", this.onKeyDown); }, componentWillUnmount: function() { document.removeEventListener("keydown", this.onKeyDown); + dis.unregister(this.dispatcherRef); }, onKeyDown: function(ev) { @@ -46,11 +49,15 @@ module.exports = React.createClass({ } }, + onAction: function(payload) { + if (payload.action === 'close_scalar') { + this.props.onFinished(); + } + }, + render: function() { return ( -