feat: emit raise hand event to external API (#8312)

* Expose raise hand event to external application

* Fix linting issues

* fix the app non existing issue
This commit is contained in:
Asif 2021-01-06 20:19:10 +05:30 committed by GitHub
parent 97dc07810c
commit cd29f10fa8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 24 additions and 1 deletions

View File

@ -1022,6 +1022,21 @@ class API {
});
}
/**
* Notify external application (if API is enabled) that user updated their hand raised.
*
* @param {string} id - User id.
* @param {boolean} handRaised - Whether user has raised hand.
* @returns {void}
*/
notifyRaiseHandUpdated(id: string, handRaised: boolean) {
this._sendEvent({
name: 'raise-hand-updated',
handRaised,
id
});
}
/**
* Disposes the allocated resources.
*

View File

@ -79,6 +79,7 @@ const events = {
'participant-role-changed': 'participantRoleChanged',
'password-required': 'passwordRequired',
'proxy-connection-event': 'proxyConnectionEvent',
'raise-hand-updated': 'raiseHandUpdated',
'video-ready-to-close': 'readyToClose',
'video-conference-joined': 'videoConferenceJoined',
'video-conference-left': 'videoConferenceLeft',

View File

@ -448,6 +448,10 @@ function _raiseHandUpdated({ dispatch, getState }, conference, participantId, ne
raisedHand
}));
if (typeof APP !== 'undefined') {
APP.API.notifyRaiseHandUpdated(participantId, raisedHand);
}
if (raisedHand) {
dispatch(showNotification({
titleArguments: {

View File

@ -470,6 +470,7 @@ class Toolbox extends Component<Props, State> {
*/
_doToggleRaiseHand() {
const { _localParticipantID, _raisedHand } = this.props;
const newRaisedStatus = !_raisedHand;
this.props.dispatch(participantUpdated({
// XXX Only the local participant is allowed to update without
@ -480,8 +481,10 @@ class Toolbox extends Component<Props, State> {
id: _localParticipantID,
local: true,
raisedHand: !_raisedHand
raisedHand: newRaisedStatus
}));
APP.API.notifyRaiseHandUpdated(_localParticipantID, newRaisedStatus);
}
/**