When accepting calls, go to the right room. Relink video elements when CallView loads.

This commit is contained in:
Kegan Dougal 2015-07-17 14:25:41 +01:00
parent b53640f892
commit b6f9ca0f95
3 changed files with 14 additions and 6 deletions

View file

@ -175,6 +175,10 @@ dis.register(function(payload) {
} }
calls[payload.room_id].answer(); calls[payload.room_id].answer();
_setCallState(calls[payload.room_id], payload.room_id, "connected"); _setCallState(calls[payload.room_id], payload.room_id, "connected");
dis.dispatch({
action: "view_room",
room_id: payload.room_id
});
break; break;
} }
}); });

View file

@ -30,7 +30,6 @@ var KeyCode = {
module.exports = { module.exports = {
componentWillMount: function() { componentWillMount: function() {
this.dispatcherRef = dis.register(this.onAction);
this.tabStruct = { this.tabStruct = {
completing: false, completing: false,
original: null, original: null,
@ -126,6 +125,7 @@ module.exports = {
}, },
componentDidMount: function() { componentDidMount: function() {
this.dispatcherRef = dis.register(this.onAction);
this.sentHistory.init( this.sentHistory.init(
this.refs.textarea.getDOMNode(), this.refs.textarea.getDOMNode(),
this.props.room.roomId this.props.room.roomId

View file

@ -30,9 +30,9 @@ module.exports = {
componentDidMount: function() { componentDidMount: function() {
this.dispatcherRef = dis.register(this.onAction); this.dispatcherRef = dis.register(this.onAction);
this.setState({ if (this.props.room) {
call: null this.showCall(this.props.room.roomId);
}); }
}, },
componentWillUnmount: function() { componentWillUnmount: function() {
@ -48,8 +48,12 @@ module.exports = {
if (payload.action !== 'call_state') { if (payload.action !== 'call_state') {
return; return;
} }
var call = CallHandler.getCall(payload.room_id); this.showCall(payload.room_id);
if (call && call.type === "video") { },
showCall: function(roomId) {
var call = CallHandler.getCall(roomId);
if (call && call.type === "video" && call.state !== 'ended') {
this.getVideoView().getLocalVideoElement().style.display = "initial"; this.getVideoView().getLocalVideoElement().style.display = "initial";
this.getVideoView().getRemoteVideoElement().style.display = "initial"; this.getVideoView().getRemoteVideoElement().style.display = "initial";
call.setLocalVideoElement(this.getVideoView().getLocalVideoElement()); call.setLocalVideoElement(this.getVideoView().getLocalVideoElement());