diff options
author | akshitkrnagpal <akshitkrnagpal@gmail.com> | 2018-07-08 12:07:31 +0530 |
---|---|---|
committer | Saúl Ibarra Corretgé <s@saghul.net> | 2018-07-10 20:51:02 +0200 |
commit | 736f2ae1cb99250e344afca4b5be7c16fc7727f3 (patch) | |
tree | 4f2c522a270044e03f9b97c3d3c86d650957dc98 /app/features/conference/components/Conference.js | |
parent | 921b7f6f9bb1fef87178349983a07a12c31718e3 (diff) |
Display error when unable to join conference
Diffstat (limited to 'app/features/conference/components/Conference.js')
-rw-r--r-- | app/features/conference/components/Conference.js | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/app/features/conference/components/Conference.js b/app/features/conference/components/Conference.js index 5c3dd02..a4b6d0d 100644 --- a/app/features/conference/components/Conference.js +++ b/app/features/conference/components/Conference.js @@ -101,7 +101,6 @@ class Conference extends Component<Props, State> { this._ref = React.createRef(); - this._navigateToHome = this._navigateToHome.bind(this); this._onIframeLoad = this._onIframeLoad.bind(this); } @@ -121,7 +120,8 @@ class Conference extends Component<Props, State> { script.async = true; script.onload = () => this._onScriptLoad(parentNode, room, serverURL); - script.onerror = this._navigateToHome; + script.onerror = (event: Event) => + this._navigateToHome(event, room, serverURL); script.src = getExternalApiURL(serverURL); this._ref.current.appendChild(script); @@ -186,15 +186,20 @@ class Conference extends Component<Props, State> { } } - _navigateToHome: (*) => void; - /** * Navigates to home screen (Welcome). * + * @param {Event} event - Event by which the function is called. + * @param {string} room - Room name. + * @param {string} serverURL - Server URL. * @returns {void} */ - _navigateToHome() { - this.props.dispatch(push('/')); + _navigateToHome(event: Event, room: ?string, serverURL: ?string) { + this.props.dispatch(push('/', { + error: event.type === 'error', + room, + serverURL + })); } /** @@ -231,7 +236,8 @@ class Conference extends Component<Props, State> { setupAlwaysOnTopRender(this._api); setupWiFiStats(iframe); - this._api.on('readyToClose', this._navigateToHome); + this._api.on('readyToClose', (event: Event) => + this._navigateToHome(event)); this._api.on('videoConferenceJoined', (conferenceInfo: Object) => this._onVideoConferenceJoined(conferenceInfo)); |