|
@@ -61,7 +61,7 @@ import {
|
61
|
61
|
captureLargeVideoScreenshot,
|
62
|
62
|
resizeLargeVideo
|
63
|
63
|
} from '../../react/features/large-video/actions.web';
|
64
|
|
-import { toggleLobbyMode } from '../../react/features/lobby/actions';
|
|
64
|
+import { toggleLobbyMode, setKnockingParticipantApproval } from '../../react/features/lobby/actions';
|
65
|
65
|
import { isForceMuted } from '../../react/features/participants-pane/functions';
|
66
|
66
|
import { RECORDING_TYPES } from '../../react/features/recording/constants';
|
67
|
67
|
import { getActiveSession } from '../../react/features/recording/functions';
|
|
@@ -113,6 +113,9 @@ let videoAvailable = true;
|
113
|
113
|
*/
|
114
|
114
|
function initCommands() {
|
115
|
115
|
commands = {
|
|
116
|
+ 'answer-knocking-participant': (id, approved) => {
|
|
117
|
+ APP.store.dispatch(setKnockingParticipantApproval(id, approved));
|
|
118
|
+ },
|
116
|
119
|
'approve-video': participantId => {
|
117
|
120
|
if (!isLocalParticipantModerator(APP.store.getState())) {
|
118
|
121
|
return;
|
|
@@ -1458,6 +1461,19 @@ class API {
|
1458
|
1461
|
});
|
1459
|
1462
|
}
|
1460
|
1463
|
|
|
1464
|
+ /**
|
|
1465
|
+ * Notify external application (if API is enabled) that a participant is knocking in the lobby.
|
|
1466
|
+ *
|
|
1467
|
+ * @param {Object} participant - Participant data such as id and name.
|
|
1468
|
+ * @returns {void}
|
|
1469
|
+ */
|
|
1470
|
+ notifyKnockingParticipant(participant: Object) {
|
|
1471
|
+ this._sendEvent({
|
|
1472
|
+ name: 'knocking-participant',
|
|
1473
|
+ participant
|
|
1474
|
+ });
|
|
1475
|
+ }
|
|
1476
|
+
|
1461
|
1477
|
/**
|
1462
|
1478
|
* Notify external application (if API is enabled) that an error occured.
|
1463
|
1479
|
*
|