fcr-ui-scene 3.2.0 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/installer/icons/favicon.ico +0 -0
- package/installer/icons/favicon.png +0 -0
- package/installer/mac/entitlements.mac.plist +16 -0
- package/lib/common/device-store.d.ts +1 -1
- package/lib/common/device-store.js +11 -3
- package/lib/common/event-store.d.ts +17 -1
- package/lib/common/event-store.js +38 -5
- package/lib/common/security-store.d.ts +14 -4
- package/lib/common/security-store.js +149 -30
- package/lib/electron/bootstrap-dev.d.ts +1 -0
- package/lib/electron/bootstrap-dev.js +51 -0
- package/lib/electron/bootstrap-sdk.d.ts +1 -0
- package/lib/electron/bootstrap-sdk.js +56 -0
- package/lib/electron/bootstrap.d.ts +1 -0
- package/lib/electron/bootstrap.js +56 -0
- package/lib/electron/default-options.js +1 -1
- package/lib/electron/dev.d.ts +1 -0
- package/lib/electron/dev.js +51 -0
- package/lib/electron/injections.d.ts +1 -1
- package/lib/electron/injections.js +3 -6
- package/lib/electron/main.js +4 -16
- package/lib/electron/plugins/meeting-state.d.ts +2 -0
- package/lib/electron/plugins/meeting-state.js +39 -0
- package/lib/electron/preload.js +1 -1
- package/lib/fragments/control-bar/control-bar-store.d.ts +34 -1
- package/lib/fragments/control-bar/control-bar-store.js +371 -79
- package/lib/fragments/control-bar/device/index.js +5 -3
- package/lib/fragments/control-bar/index.css +15 -10
- package/lib/fragments/control-bar/index.js +18 -0
- package/lib/fragments/control-bar/meeting-details/meeting-detail.css +109 -0
- package/lib/fragments/control-bar/meeting-details/meeting-details-portal.d.ts +3 -0
- package/lib/fragments/control-bar/meeting-details/meeting-details-portal.js +60 -0
- package/lib/fragments/control-bar/meeting-details/meeting-details.d.ts +2 -0
- package/lib/fragments/control-bar/meeting-details/meeting-details.js +179 -0
- package/lib/fragments/control-bar/more-actions/index.css +53 -0
- package/lib/fragments/control-bar/more-actions/index.js +72 -37
- package/lib/fragments/control-bar/security-content/index.css +10 -0
- package/lib/fragments/control-bar/security-content/index.js +40 -18
- package/lib/fragments/control-bar/view.js +8 -2
- package/lib/login-confirm-dialog.d.ts +12 -0
- package/lib/login-confirm-dialog.js +80 -0
- package/lib/modules/action-bar/action-bar-collapes-items.js +5 -5
- package/lib/modules/action-bar/chat/index.js +5 -5
- package/lib/modules/action-bar/device/index.css +7 -2
- package/lib/modules/action-bar/device/index.js +4 -4
- package/lib/modules/action-bar/index.css +59 -12
- package/lib/modules/action-bar/index.d.ts +3 -2
- package/lib/modules/action-bar/index.dev.js +1 -1
- package/lib/modules/action-bar/index.js +21 -0
- package/lib/modules/action-bar/leave/assign-host.d.ts +3 -0
- package/lib/modules/action-bar/leave/assign-host.js +2 -4
- package/lib/modules/action-bar/leave/index.js +29 -6
- package/lib/modules/action-bar/leave/leave-meeting.d.ts +11 -0
- package/lib/modules/action-bar/leave/leave-meeting.js +25 -16
- package/lib/modules/action-bar/more/poppover-content.js +4 -4
- package/lib/modules/action-bar/participants/index.css +12 -0
- package/lib/modules/action-bar/participants/index.js +21 -14
- package/lib/modules/action-bar/screen-share/index.js +5 -1
- package/lib/modules/action-bar/screen-share/submenu.js +16 -22
- package/lib/modules/action-bar/security/drop-menu.js +90 -13
- package/lib/modules/action-bar/store.d.ts +38 -6
- package/lib/modules/action-bar/store.js +487 -95
- package/lib/modules/action-bar/view.js +65 -42
- package/lib/modules/chat/chat-bar/index.js +39 -27
- package/lib/modules/chat/chat-select/index.css +14 -4
- package/lib/modules/chat/chat.d.ts +1 -2
- package/lib/modules/chat/chat.js +184 -105
- package/lib/modules/chat/index.css +49 -0
- package/lib/modules/chat/index.d.ts +2 -2
- package/lib/modules/chat/index.dev.js +1 -1
- package/lib/modules/chat/index.js +13 -8
- package/lib/modules/chat/message-list.js +59 -48
- package/lib/modules/chat/store.d.ts +48 -2
- package/lib/modules/chat/store.js +258 -45
- package/lib/modules/connection-gateway/index.d.ts +2 -1
- package/lib/modules/connection-gateway/store.d.ts +6 -3
- package/lib/modules/connection-gateway/store.js +5 -1
- package/lib/modules/device-pretest/audio-preview/speaker-control.js +1 -1
- package/lib/modules/device-pretest/index.css +0 -4
- package/lib/modules/device-pretest/settings/beauty.js +17 -6
- package/lib/modules/device-pretest/store.js +7 -11
- package/lib/modules/dialog/components/chat/electron.js +2 -1
- package/lib/modules/dialog/components/confirm/electron.js +5 -3
- package/lib/modules/dialog/components/connection-gateway/electron.js +3 -1
- package/lib/modules/dialog/components/connection-gateway/index.css +0 -2
- package/lib/modules/dialog/components/device-setting/electron.js +3 -1
- package/lib/modules/dialog/components/device-setting/index.css +0 -1
- package/lib/modules/dialog/components/operation-waiting-room/electron.d.ts +5 -0
- package/lib/modules/dialog/components/operation-waiting-room/electron.js +89 -0
- package/lib/modules/dialog/components/operation-waiting-room/index.css +44 -0
- package/lib/modules/dialog/components/operation-waiting-room/index.d.ts +5 -0
- package/lib/modules/dialog/components/operation-waiting-room/index.js +156 -0
- package/lib/modules/dialog/components/participant/electron.js +2 -1
- package/lib/modules/dialog/components/remove-admit-waiting-room/electron.d.ts +5 -0
- package/lib/modules/dialog/components/remove-admit-waiting-room/electron.js +89 -0
- package/lib/modules/dialog/components/remove-admit-waiting-room/index.css +50 -0
- package/lib/modules/dialog/components/remove-admit-waiting-room/index.d.ts +5 -0
- package/lib/modules/dialog/components/remove-admit-waiting-room/index.js +90 -0
- package/lib/modules/dialog/components/whiteboard/index.js +2 -1
- package/lib/modules/dialog/dialogs.js +17 -13
- package/lib/modules/dialog/index.css +2 -0
- package/lib/modules/dialog/store.d.ts +4 -0
- package/lib/modules/dialog/store.js +16 -2
- package/lib/modules/event-notification/context.d.ts +2 -0
- package/lib/modules/event-notification/context.js +9 -0
- package/lib/modules/event-notification/index.css +58 -0
- package/lib/modules/event-notification/index.d.ts +13 -0
- package/lib/modules/event-notification/index.js +48 -0
- package/lib/modules/event-notification/store.d.ts +17 -0
- package/lib/modules/event-notification/store.js +133 -0
- package/lib/modules/event-notification/view.d.ts +5 -0
- package/lib/modules/event-notification/view.js +114 -0
- package/lib/modules/invite/index.css +4 -4
- package/lib/modules/invite/pstn-invite.js +1 -0
- package/lib/modules/layout/components/Gallery.js +7 -1
- package/lib/modules/layout/components/Layout.js +82 -57
- package/lib/modules/layout/components/index.css +33 -6
- package/lib/modules/layout/index.css +30 -0
- package/lib/modules/layout/member-window/index.js +9 -3
- package/lib/modules/layout/store.d.ts +19 -2
- package/lib/modules/layout/store.js +177 -70
- package/lib/modules/layout/video-window-datasource.d.ts +1 -1
- package/lib/modules/layout/video-window-datasource.js +1 -1
- package/lib/modules/live-streaming/index.dev.js +1 -1
- package/lib/modules/participant/attendee/index.d.ts +12 -3
- package/lib/modules/participant/attendee/index.js +132 -30
- package/lib/modules/participant/index.css +20 -0
- package/lib/modules/participant/index.d.ts +5 -2
- package/lib/modules/participant/index.dev.js +1 -1
- package/lib/modules/participant/index.js +27 -0
- package/lib/modules/participant/room-control-drop-menu/index.css +37 -0
- package/lib/modules/participant/store.d.ts +30 -5
- package/lib/modules/participant/store.js +347 -74
- package/lib/modules/participant/view.js +133 -34
- package/lib/modules/setting/index.css +1 -5
- package/lib/modules/setting/index.dev.js +1 -1
- package/lib/modules/setting/store.d.ts +2 -2
- package/lib/modules/setting/store.js +3 -8
- package/lib/modules/setting/translate-settings/translate-settings.js +1 -1
- package/lib/modules/setting/video-settings/index.css +9 -6
- package/lib/modules/share-screen/index.d.ts +2 -0
- package/lib/modules/share-screen/index.dev.js +3 -2
- package/lib/modules/share-screen/selection/index.css +2 -0
- package/lib/modules/share-screen/store.d.ts +6 -3
- package/lib/modules/share-screen/store.js +170 -129
- package/lib/modules/state-bar/index.css +2 -2
- package/lib/modules/state-bar/index.d.ts +2 -2
- package/lib/modules/state-bar/index.dev.js +1 -1
- package/lib/modules/state-bar/meeting-detail.css +6 -4
- package/lib/modules/state-bar/meeting-details.js +29 -3
- package/lib/modules/state-bar/meeting-network-state.css +14 -3
- package/lib/modules/state-bar/meeting-network-state.js +10 -4
- package/lib/modules/state-bar/recording.js +3 -5
- package/lib/modules/state-bar/store.d.ts +4 -2
- package/lib/modules/state-bar/store.js +18 -3
- package/lib/modules/state-bar/view.js +1 -6
- package/lib/modules/video-window/index.css +1 -0
- package/lib/modules/video-window/store.d.ts +2 -2
- package/lib/modules/video-window/store.js +14 -11
- package/lib/modules/waiting-room-layout/context.d.ts +2 -0
- package/lib/modules/waiting-room-layout/context.js +9 -0
- package/lib/modules/waiting-room-layout/index.css +71 -0
- package/lib/modules/waiting-room-layout/index.d.ts +8 -0
- package/lib/modules/waiting-room-layout/index.js +47 -0
- package/lib/modules/waiting-room-layout/store.d.ts +30 -0
- package/lib/modules/waiting-room-layout/store.js +189 -0
- package/lib/modules/waiting-room-layout/type.d.ts +0 -0
- package/lib/modules/waiting-room-layout/type.js +1 -0
- package/lib/modules/waiting-room-layout/view.d.ts +3 -0
- package/lib/modules/waiting-room-layout/view.js +67 -0
- package/lib/modules/whiteboard/app.js +0 -6
- package/lib/modules/whiteboard/components/control-bar/index.css +3 -0
- package/lib/modules/whiteboard/components/multi-window/index.js +6 -1
- package/lib/modules/whiteboard/components/progress/electron.js +2 -1
- package/lib/modules/whiteboard/components/switch-theme/index.css +4 -0
- package/lib/modules/whiteboard/components/switch-theme/index.d.ts +2 -1
- package/lib/modules/whiteboard/components/switch-theme/index.js +20 -15
- package/lib/modules/whiteboard/components/switch-theme/item.d.ts +1 -0
- package/lib/modules/whiteboard/components/switch-theme/item.js +9 -2
- package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +14 -10
- package/lib/modules/whiteboard/components/toolbar/store.d.ts +1 -0
- package/lib/modules/whiteboard/components/toolbar/store.js +3 -0
- package/lib/modules/whiteboard/context.d.ts +4 -0
- package/lib/modules/whiteboard/context.js +4 -2
- package/lib/modules/whiteboard/index.js +22 -6
- package/lib/plugins/browser-runtime-plugin.js +1 -1
- package/lib/plugins/module-dev-plugin.js +8 -6
- package/lib/runtime.d.ts +1 -1
- package/lib/translations/enUS.d.ts +449 -6
- package/lib/translations/enUS.js +485 -32
- package/lib/translations/zhCN.d.ts +447 -6
- package/lib/translations/zhCN.js +468 -17
- package/lib/type.d.ts +6 -2
- package/lib/ui-manager.d.ts +7 -3
- package/lib/ui-manager.js +576 -139
- package/lib/ui-scene.d.ts +1 -0
- package/lib/ui-scene.js +26 -21
- package/lib/utilities/constant.d.ts +43 -4
- package/lib/utilities/constant.js +41 -1
- package/lib/utilities/parameters.js +2 -2
- package/lib/utilities/renderer.d.ts +1 -0
- package/lib/utilities/renderer.js +6 -2
- package/package.json +14 -14
- package/public/assets/fcr_defaultpage.png +0 -0
- package/public/assets/login_confirm.png +0 -0
- package/public/index.html +29 -11
- package/dist/132.js +0 -2
- package/dist/132.js.LICENSE.txt +0 -311
- package/dist/651.js +0 -2
- package/dist/651.js.LICENSE.txt +0 -1
- package/dist/73.js +0 -1
- package/dist/index.html +0 -13
- package/dist/main.da7c203ab32d15742cfe.css +0 -11760
- package/dist/main.js +0 -2
- package/dist/main.js.LICENSE.txt +0 -254
- package/dist/worker-entry.worker.js.LICENSE.txt +0 -13
- package/lib/modules/device-pretest/settings/index.css +0 -15
- package/lib/modules/participant/attendee/participants-more-action.d.ts +0 -18
- package/lib/modules/participant/attendee/participants-more-action.js +0 -278
|
@@ -20,7 +20,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
20
20
|
Object.defineProperty(exports, "__esModule", {
|
|
21
21
|
value: true
|
|
22
22
|
});
|
|
23
|
-
exports.ParticipantAttendee = void 0;
|
|
23
|
+
exports.ParticipantAttendee = exports.OperateWaitingRoomMemberDialog = void 0;
|
|
24
24
|
require("core-js/modules/web.timers.js");
|
|
25
25
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
26
26
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
@@ -28,14 +28,13 @@ var _avatar = require("agora-ui-foundation/lib/components/avatar");
|
|
|
28
28
|
var _action = require("agora-ui-foundation/lib/components/button/action");
|
|
29
29
|
var _icon = require("agora-ui-foundation/lib/components/icon");
|
|
30
30
|
var _type = require("agora-ui-foundation/lib/components/icon/type");
|
|
31
|
+
var _attendee = require("agora-ui-foundation/lib/components/participants/attendee");
|
|
31
32
|
var _popover = require("agora-ui-foundation/lib/components/popover");
|
|
32
33
|
var _cameraState = require("agora-ui-foundation/lib/components/room-screen-share-state-bar/camera-state");
|
|
33
34
|
var _microphoneState = require("agora-ui-foundation/lib/components/room-screen-share-state-bar/microphone-state");
|
|
34
35
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
35
36
|
var _mobxReact = require("mobx-react");
|
|
36
37
|
var _react = require("react");
|
|
37
|
-
var _constant = require("../../../utilities/constant");
|
|
38
|
-
var _participantsMoreAction = require("./participants-more-action");
|
|
39
38
|
var _context = require("../context");
|
|
40
39
|
var _type2 = require("../../../type");
|
|
41
40
|
var _i18n = require("agora-ui-foundation/lib/i18n");
|
|
@@ -43,14 +42,98 @@ var _muteAction = require("../../../utilities/mute-action");
|
|
|
43
42
|
require("./index.css");
|
|
44
43
|
var _helper = require("agora-ui-foundation/lib/components/avatar/helper");
|
|
45
44
|
var _agoraEduCore = require("agora-edu-core");
|
|
45
|
+
var _participantsMore = require("agora-ui-foundation/lib/components/participants/participants-more");
|
|
46
|
+
var _type3 = require("agora-edu-core/lib/room-control/type");
|
|
47
|
+
var _constant = require("../../../utilities/constant");
|
|
48
|
+
var _checkbox = require("agora-ui-foundation/lib/components/checkbox");
|
|
49
|
+
var _button = require("agora-ui-foundation/lib/components/button");
|
|
46
50
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
47
51
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
48
52
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
49
|
-
var
|
|
53
|
+
var OperateWaitingRoomMemberDialog = exports.OperateWaitingRoomMemberDialog = function OperateWaitingRoomMemberDialog(_ref) {
|
|
54
|
+
var type = _ref.type,
|
|
55
|
+
tooltip = _ref.tooltip,
|
|
56
|
+
title = _ref.title,
|
|
57
|
+
userId = _ref.userId;
|
|
58
|
+
var t = (0, _i18n.useI18n)();
|
|
50
59
|
var _useState = (0, _react.useState)(false),
|
|
51
60
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
52
|
-
|
|
53
|
-
|
|
61
|
+
isChecked = _useState2[0],
|
|
62
|
+
setIsChecked = _useState2[1];
|
|
63
|
+
var _useContext = (0, _react.useContext)(_context.StoreContext),
|
|
64
|
+
removeWaitingRoomUser = _useContext.removeWaitingRoomUser,
|
|
65
|
+
moveToMainRoomAllMember = _useContext.moveToMainRoomAllMember,
|
|
66
|
+
kickOutWaitingRoomAllMember = _useContext.kickOutWaitingRoomAllMember,
|
|
67
|
+
closeRemoveAdmitWaitingRoomDialog = _useContext.closeRemoveAdmitWaitingRoomDialog;
|
|
68
|
+
var DialogKeyMap = {
|
|
69
|
+
remove: _constant.DialogKey.WAITING_ROOM_SINGLE_REMOVE,
|
|
70
|
+
removeAll: _constant.DialogKey.WAITING_ROOM_ALL_REMOVE,
|
|
71
|
+
admitAll: _constant.DialogKey.WAITING_ROOM_ALL_ADMIT
|
|
72
|
+
};
|
|
73
|
+
var buttonTextMap = {
|
|
74
|
+
removeAll: t('fmt_waitingroom_sidebar_button_removeall'),
|
|
75
|
+
admitAll: t('fmt_waitingroom_sidebar_button_admitall'),
|
|
76
|
+
remove: t('fmt_waitingroom_sidebar_popup_button_remove')
|
|
77
|
+
};
|
|
78
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
79
|
+
className: "operate-waiting-room-dialog-content",
|
|
80
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
81
|
+
className: "operate-waiting-room-dialog-title",
|
|
82
|
+
children: title
|
|
83
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
84
|
+
className: "operate-waiting-room-dialog-tooltip",
|
|
85
|
+
children: tooltip
|
|
86
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
87
|
+
className: "operate-waiting-room-dialog-confirm",
|
|
88
|
+
children: type === 'admitAll' ? null : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
89
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_checkbox.FcrCheckbox, {
|
|
90
|
+
checked: isChecked,
|
|
91
|
+
onChange: setIsChecked,
|
|
92
|
+
size: "small",
|
|
93
|
+
styleType: "white"
|
|
94
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
95
|
+
style: {
|
|
96
|
+
marginLeft: '10px'
|
|
97
|
+
},
|
|
98
|
+
children: t('fmt_waitingroom_sidebar_popup_option_notagain')
|
|
99
|
+
})]
|
|
100
|
+
})
|
|
101
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
102
|
+
className: "operate-waiting-room-dialog-btns",
|
|
103
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_button.FcrButton, {
|
|
104
|
+
size: "S",
|
|
105
|
+
shape: "rounded",
|
|
106
|
+
styleType: "white",
|
|
107
|
+
onClick: function onClick() {
|
|
108
|
+
closeRemoveAdmitWaitingRoomDialog(DialogKeyMap[type]);
|
|
109
|
+
},
|
|
110
|
+
children: t('fmt_waitingroom_sidebar_popup_button_cancel')
|
|
111
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.FcrButton, {
|
|
112
|
+
size: "S",
|
|
113
|
+
shape: "rounded",
|
|
114
|
+
styleType: type === 'admitAll' ? 'normal' : 'danger',
|
|
115
|
+
onClick: function onClick() {
|
|
116
|
+
if (type === 'remove') {
|
|
117
|
+
removeWaitingRoomUser(userId, isChecked ? _type3.FcrUserKickOutType.Forever : _type3.FcrUserKickOutType.Once);
|
|
118
|
+
}
|
|
119
|
+
if (type === 'removeAll') {
|
|
120
|
+
kickOutWaitingRoomAllMember(isChecked ? _type3.FcrUserKickOutType.Forever : _type3.FcrUserKickOutType.Once);
|
|
121
|
+
}
|
|
122
|
+
if (type === 'admitAll') {
|
|
123
|
+
moveToMainRoomAllMember();
|
|
124
|
+
}
|
|
125
|
+
closeRemoveAdmitWaitingRoomDialog(DialogKeyMap[type]);
|
|
126
|
+
},
|
|
127
|
+
children: buttonTextMap[type]
|
|
128
|
+
})]
|
|
129
|
+
})]
|
|
130
|
+
});
|
|
131
|
+
};
|
|
132
|
+
var ParticipantAttendee = exports.ParticipantAttendee = (0, _mobxReact.observer)(function (props) {
|
|
133
|
+
var _useState3 = (0, _react.useState)(false),
|
|
134
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
135
|
+
isShowDropMenu = _useState4[0],
|
|
136
|
+
setIsShowDropMenu = _useState4[1];
|
|
54
137
|
var userId = props.userId,
|
|
55
138
|
userName = props.userName,
|
|
56
139
|
isMe = props.isMe,
|
|
@@ -74,17 +157,19 @@ var ParticipantAttendee = exports.ParticipantAttendee = (0, _mobxReact.observer)
|
|
|
74
157
|
allowedOperations = props.allowedOperations,
|
|
75
158
|
hasMutePermission = props.hasMutePermission,
|
|
76
159
|
hasUnmutePermission = props.hasUnmutePermission,
|
|
77
|
-
hasRequestStartAudioPermission = props.hasRequestStartAudioPermission
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
160
|
+
hasRequestStartAudioPermission = props.hasRequestStartAudioPermission,
|
|
161
|
+
activeTab = props.activeTab,
|
|
162
|
+
moveToMainRoomByUserIds = props.moveToMainRoomByUserIds;
|
|
163
|
+
var _useState5 = (0, _react.useState)(false),
|
|
164
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
165
|
+
disableHover = _useState6[0],
|
|
166
|
+
setDisableHover = _useState6[1];
|
|
82
167
|
var nameColor = (0, _helper.getNameColor)(userName);
|
|
83
168
|
var volumeTimer = undefined;
|
|
84
|
-
var
|
|
85
|
-
|
|
86
|
-
phoneCallFrame =
|
|
87
|
-
setPhoneCallFrame =
|
|
169
|
+
var _useState7 = (0, _react.useState)(0),
|
|
170
|
+
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
171
|
+
phoneCallFrame = _useState8[0],
|
|
172
|
+
setPhoneCallFrame = _useState8[1];
|
|
88
173
|
var percentPhone = function percentPhone(phoneCallFrame) {
|
|
89
174
|
switch (phoneCallFrame) {
|
|
90
175
|
case '0':
|
|
@@ -146,11 +231,11 @@ var ParticipantAttendee = exports.ParticipantAttendee = (0, _mobxReact.observer)
|
|
|
146
231
|
}, [audioDeviceType]);
|
|
147
232
|
var userActions = function userActions() {
|
|
148
233
|
var handleAudioButtonClick = function handleAudioButtonClick() {
|
|
149
|
-
var action = hasAudio ?
|
|
234
|
+
var action = hasAudio ? _attendee.ParticipantActionType.MUTE_AUDIO : _attendee.ParticipantActionType.UNMUTE_AUDIO;
|
|
150
235
|
onParticipantsButtonClick(action, userId);
|
|
151
236
|
};
|
|
152
237
|
var handlePrivateChatButtonClick = function handlePrivateChatButtonClick() {
|
|
153
|
-
onParticipantsButtonClick(
|
|
238
|
+
onParticipantsButtonClick(_attendee.ParticipantActionType.PRIVATE_CHAT, userId);
|
|
154
239
|
};
|
|
155
240
|
var handleMoreActionsClick = function handleMoreActionsClick(action, userId) {
|
|
156
241
|
onParticipantsButtonClick(action, userId);
|
|
@@ -162,15 +247,26 @@ var ParticipantAttendee = exports.ParticipantAttendee = (0, _mobxReact.observer)
|
|
|
162
247
|
var _actionMute = (0, _muteAction.actionMute)(!!isMe, hasAudio, muteAudioPermission, startAudioPermission, requestStartAudioPermission),
|
|
163
248
|
isShowActionAudio = _actionMute.isShowActionAudio,
|
|
164
249
|
actionAudioTag = _actionMute.actionAudioTag;
|
|
250
|
+
var waitingRoomParticipateActionsNeedHiden = ['start_video', 'request_start_video', 'stop_video', 'pin', 'set_as_host', 'set_as_co_host', 'revoke_co_host', 'merge_video', 'put_into_waiting_room'];
|
|
251
|
+
var mainRoomParticipateActionsNeedHiden = [];
|
|
165
252
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
166
253
|
className: "attendee__user-action attendee__user-action-host ".concat(isShowDropMenu ? 'attendee__user-action-hovered' : ''),
|
|
167
|
-
children: [isShowActionAudio && /*#__PURE__*/(0, _jsxRuntime.jsx)(_action.FcrActionButton, {
|
|
254
|
+
children: [isShowActionAudio && activeTab === _constant.RoomType.MAIN_ROOM && /*#__PURE__*/(0, _jsxRuntime.jsx)(_action.FcrActionButton, {
|
|
168
255
|
size: "small",
|
|
169
256
|
onClick: handleAudioButtonClick,
|
|
170
257
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
171
258
|
className: hasAudio ? 'attendee__danger-operate' : 'attendee__normal-operate',
|
|
172
259
|
children: t(actionAudioTag)
|
|
173
260
|
})
|
|
261
|
+
}), activeTab === _constant.RoomType.WAITING_ROOM && /*#__PURE__*/(0, _jsxRuntime.jsx)(_action.FcrActionButton, {
|
|
262
|
+
size: "small",
|
|
263
|
+
onClick: function onClick() {
|
|
264
|
+
return moveToMainRoomByUserIds([userId]);
|
|
265
|
+
},
|
|
266
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
267
|
+
className: 'attendee__normal-operate',
|
|
268
|
+
children: t('fmt_waitingroom_sidebar_button_admit')
|
|
269
|
+
})
|
|
174
270
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_popover.FcrPopover, {
|
|
175
271
|
visible: isShowDropMenu,
|
|
176
272
|
overlayInnerStyle: {
|
|
@@ -187,13 +283,19 @@ var ParticipantAttendee = exports.ParticipantAttendee = (0, _mobxReact.observer)
|
|
|
187
283
|
onMouseLeave: function onMouseLeave() {
|
|
188
284
|
return setIsShowDropMenu(false);
|
|
189
285
|
},
|
|
190
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
286
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_participantsMore.FcrParticipantsMoreActions, _objectSpread(_objectSpread({}, props), {}, {
|
|
191
287
|
onParticipantsButtonClick: handleMoreActionsClick,
|
|
192
288
|
userRole: userRole,
|
|
193
289
|
isPin: isPin,
|
|
194
290
|
hasPinnedStream: hasPinnedStream,
|
|
195
291
|
allowedOperations: allowedOperations,
|
|
196
|
-
userType: userType
|
|
292
|
+
userType: userType,
|
|
293
|
+
userId: userId,
|
|
294
|
+
hasVideo: hasVideo,
|
|
295
|
+
hasAudio: hasAudio,
|
|
296
|
+
userName: userName,
|
|
297
|
+
audioDeviceType: audioDeviceType,
|
|
298
|
+
hideActions: activeTab === _constant.RoomType.MAIN_ROOM ? mainRoomParticipateActionsNeedHiden : waitingRoomParticipateActionsNeedHiden
|
|
197
299
|
}))
|
|
198
300
|
}),
|
|
199
301
|
placement: "bottomRight",
|
|
@@ -260,26 +362,26 @@ var ParticipantAttendee = exports.ParticipantAttendee = (0, _mobxReact.observer)
|
|
|
260
362
|
colors: {
|
|
261
363
|
iconPrimary: 'var(--fcr_ui_scene_ramp_green6)'
|
|
262
364
|
}
|
|
263
|
-
}), audioDeviceType !== 'none' && /*#__PURE__*/(0, _jsxRuntime.jsx)(MicrophoneIndicator, {
|
|
365
|
+
}), audioDeviceType !== 'none' && activeTab === _constant.RoomType.MAIN_ROOM && /*#__PURE__*/(0, _jsxRuntime.jsx)(MicrophoneIndicator, {
|
|
264
366
|
audioDeviceType: audioDeviceType,
|
|
265
367
|
hasAudio: hasAudio,
|
|
266
368
|
isLocal: !!isMe,
|
|
267
369
|
userId: userId
|
|
268
|
-
}), videoDeviceType !== 'none' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_cameraState.CameraState, {
|
|
370
|
+
}), videoDeviceType !== 'none' && activeTab === _constant.RoomType.MAIN_ROOM && /*#__PURE__*/(0, _jsxRuntime.jsx)(_cameraState.CameraState, {
|
|
269
371
|
isCameraMuted: !hasVideo,
|
|
270
372
|
size: 28
|
|
271
373
|
})]
|
|
272
374
|
}), userActions()]
|
|
273
375
|
}, userId);
|
|
274
376
|
});
|
|
275
|
-
var MicrophoneIndicator = (0, _mobxReact.observer)(function (
|
|
276
|
-
var audioDeviceType =
|
|
277
|
-
hasAudio =
|
|
278
|
-
isLocal =
|
|
279
|
-
userId =
|
|
280
|
-
var
|
|
281
|
-
audioVolumeMap =
|
|
282
|
-
localMicVolume =
|
|
377
|
+
var MicrophoneIndicator = (0, _mobxReact.observer)(function (_ref2) {
|
|
378
|
+
var audioDeviceType = _ref2.audioDeviceType,
|
|
379
|
+
hasAudio = _ref2.hasAudio,
|
|
380
|
+
isLocal = _ref2.isLocal,
|
|
381
|
+
userId = _ref2.userId;
|
|
382
|
+
var _useContext2 = (0, _react.useContext)(_context.StoreContext),
|
|
383
|
+
audioVolumeMap = _useContext2.audioVolumeMap,
|
|
384
|
+
localMicVolume = _useContext2.localMicVolume;
|
|
283
385
|
var volume = isLocal ? localMicVolume : audioVolumeMap.get(userId);
|
|
284
386
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_microphoneState.MicrophoneState, {
|
|
285
387
|
isMicrophoneMuted: !hasAudio,
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
width: 100%;
|
|
6
6
|
min-width: 320px;
|
|
7
7
|
flex: 1;
|
|
8
|
+
position: relative;
|
|
8
9
|
}
|
|
9
10
|
.participants-container-merge-content {
|
|
10
11
|
display: flex;
|
|
@@ -56,3 +57,22 @@
|
|
|
56
57
|
.fcr-participant .fcr-avatar {
|
|
57
58
|
border-radius: var(--fcr_cornerradius_m);
|
|
58
59
|
}
|
|
60
|
+
|
|
61
|
+
.fcr-participant__footer_waiting_room button {
|
|
62
|
+
flex: 1 !important;
|
|
63
|
+
padding: 0 !important;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.participants-container-icon {
|
|
67
|
+
position: relative;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.participants-container-red {
|
|
71
|
+
width: 8px;
|
|
72
|
+
height: 8px;
|
|
73
|
+
border-radius: 50%;
|
|
74
|
+
background: var(--fcr_ui_scene_ramp_red6);
|
|
75
|
+
position: absolute;
|
|
76
|
+
right: -5px;
|
|
77
|
+
top: -5px;
|
|
78
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FcrCoreEngine
|
|
1
|
+
import { FcrCoreEngine } from 'agora-edu-core';
|
|
2
2
|
import { UIModule } from '../../base';
|
|
3
3
|
import { FcrSecurityStore } from '../../common/security-store';
|
|
4
4
|
import './index.css';
|
|
@@ -6,10 +6,12 @@ import { FcrUIEventStore } from '../../common/event-store';
|
|
|
6
6
|
import { FcrDeviceStore } from '../../common/device-store';
|
|
7
7
|
import { FcrDeviceStreamStore } from '../../common/device-stream-store';
|
|
8
8
|
import { FcrPeerSessionControl } from 'agora-edu-core/lib/peer-session/type';
|
|
9
|
+
import { FcrMainRoomControl } from 'agora-edu-core/lib/room-control/type';
|
|
10
|
+
import { OperateWaitingRoomMemberDialogProps } from './attendee';
|
|
9
11
|
export declare class ParticipantUIModule extends UIModule {
|
|
10
12
|
private _store;
|
|
11
13
|
constructor(args: {
|
|
12
|
-
roomControl:
|
|
14
|
+
roomControl: FcrMainRoomControl;
|
|
13
15
|
engine: FcrCoreEngine;
|
|
14
16
|
peerSessionControl: FcrPeerSessionControl;
|
|
15
17
|
securityStore: FcrSecurityStore;
|
|
@@ -18,6 +20,7 @@ export declare class ParticipantUIModule extends UIModule {
|
|
|
18
20
|
deviceStreamStore: FcrDeviceStreamStore;
|
|
19
21
|
});
|
|
20
22
|
getComponent(): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
getWaitingRoomDialog(params: OperateWaitingRoomMemberDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
21
24
|
openDialog(): void;
|
|
22
25
|
onProcessEvent(event: RendererCustomEvent): void;
|
|
23
26
|
protected onUnload(): void;
|
|
@@ -42,7 +42,7 @@ window.__DEV_ENGINE_IS_READY__.then(/*#__PURE__*/(0, _asyncToGenerator2["default
|
|
|
42
42
|
_context.next = 7;
|
|
43
43
|
return engine.login();
|
|
44
44
|
case 7:
|
|
45
|
-
roomControl = engine.
|
|
45
|
+
roomControl = engine.createMainRoomControl(roomId);
|
|
46
46
|
userName = isAssistant ? 'assistants' : 'test-user';
|
|
47
47
|
deviceStore = new _deviceStore.FcrDeviceStore(userName, engine.getDesktopMediaControl());
|
|
48
48
|
_context.next = 12;
|
|
@@ -1,13 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
require("core-js/modules/es.symbol.js");
|
|
4
|
+
require("core-js/modules/es.array.filter.js");
|
|
5
|
+
require("core-js/modules/es.array.for-each.js");
|
|
6
|
+
require("core-js/modules/es.array.push.js");
|
|
7
|
+
require("core-js/modules/es.object.define-properties.js");
|
|
3
8
|
require("core-js/modules/es.object.define-property.js");
|
|
9
|
+
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
10
|
+
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
|
11
|
+
require("core-js/modules/es.object.keys.js");
|
|
12
|
+
require("core-js/modules/es.object.to-string.js");
|
|
4
13
|
require("core-js/modules/es.reflect.construct.js");
|
|
14
|
+
require("core-js/modules/esnext.async-iterator.filter.js");
|
|
15
|
+
require("core-js/modules/esnext.async-iterator.for-each.js");
|
|
16
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
|
17
|
+
require("core-js/modules/esnext.iterator.filter.js");
|
|
18
|
+
require("core-js/modules/esnext.iterator.for-each.js");
|
|
19
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
|
5
20
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
21
|
Object.defineProperty(exports, "__esModule", {
|
|
7
22
|
value: true
|
|
8
23
|
});
|
|
9
24
|
exports.ParticipantUIModule = void 0;
|
|
10
25
|
require("core-js/modules/es.function.bind.js");
|
|
26
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
27
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
12
28
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
29
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
@@ -19,7 +35,10 @@ var _context = require("./context");
|
|
|
19
35
|
require("./index.css");
|
|
20
36
|
var _store = _interopRequireDefault(require("./store"));
|
|
21
37
|
var _view = require("./view");
|
|
38
|
+
var _attendee = require("./attendee");
|
|
22
39
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
40
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
41
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
23
42
|
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
24
43
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
25
44
|
var ParticipantUIModule = exports.ParticipantUIModule = /*#__PURE__*/function (_UIModule) {
|
|
@@ -42,6 +61,14 @@ var ParticipantUIModule = exports.ParticipantUIModule = /*#__PURE__*/function (_
|
|
|
42
61
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_view.View, {})
|
|
43
62
|
});
|
|
44
63
|
}
|
|
64
|
+
}, {
|
|
65
|
+
key: "getWaitingRoomDialog",
|
|
66
|
+
value: function getWaitingRoomDialog(params) {
|
|
67
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.StoreContext.Provider, {
|
|
68
|
+
value: this._store,
|
|
69
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_attendee.OperateWaitingRoomMemberDialog, _objectSpread({}, params))
|
|
70
|
+
});
|
|
71
|
+
}
|
|
45
72
|
}, {
|
|
46
73
|
key: "openDialog",
|
|
47
74
|
value: function openDialog() {
|
|
@@ -2,6 +2,43 @@
|
|
|
2
2
|
position: relative;
|
|
3
3
|
/* margin: 8px 0; */
|
|
4
4
|
}
|
|
5
|
+
.room-control-options-box {
|
|
6
|
+
display: flex;
|
|
7
|
+
justify-content: space-between;
|
|
8
|
+
}
|
|
9
|
+
.room-control-options-box .fcr-checkbox {
|
|
10
|
+
width: fit-content;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.room-control-options-watermark-btns {
|
|
14
|
+
width: 104px;
|
|
15
|
+
height: 24px;
|
|
16
|
+
display: flex;
|
|
17
|
+
background-color: var(--fcr_mobile_ui_scene_fill1);
|
|
18
|
+
align-items: center;
|
|
19
|
+
padding: 2px;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.room-control-options-watermark-btn {
|
|
23
|
+
width: 50px;
|
|
24
|
+
height: 20px;
|
|
25
|
+
display: flex;
|
|
26
|
+
justify-content: center;
|
|
27
|
+
align-items: center;
|
|
28
|
+
color: var(--fcr_ui_scene_icontext1);
|
|
29
|
+
font-size: 12px;
|
|
30
|
+
background-color: transparent;
|
|
31
|
+
}
|
|
32
|
+
.room-control-options-watermark-btn--active {
|
|
33
|
+
background-color: #ffffff;
|
|
34
|
+
color: var(--fcr_ui_scene_ramp_brand6);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.room-control-options-watermark-title-box {
|
|
38
|
+
display: flex;
|
|
39
|
+
align-items: center;
|
|
40
|
+
font-size: 13px;
|
|
41
|
+
}
|
|
5
42
|
|
|
6
43
|
.room-control-drop-with-under-line::after {
|
|
7
44
|
content: '';
|
|
@@ -1,19 +1,26 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FcrCoreEngine, FcrMediaSourceState, FcrPrivilegeUserRole } from 'agora-edu-core';
|
|
2
2
|
import { FcrPeerSessionControl } from 'agora-edu-core/lib/peer-session/type';
|
|
3
3
|
import { FcrUserInfo, FcrUserRole } from 'agora-edu-core/lib/type';
|
|
4
|
-
import {
|
|
4
|
+
import { RoomType } from '../../utilities/constant';
|
|
5
|
+
import { ParticipantActionType, User } from 'agora-ui-foundation/lib/components/participants/attendee';
|
|
5
6
|
import { FcrSecurityStore } from '../../common/security-store';
|
|
6
|
-
import {
|
|
7
|
+
import { DialogKey, RoomControlType } from '../../utilities/constant';
|
|
7
8
|
import { FcrUIEventStore } from '../../common/event-store';
|
|
8
9
|
import { FcrDeviceStore } from '../../common/device-store';
|
|
9
10
|
import { FcrDeviceStreamStore } from '../../common/device-stream-store';
|
|
10
11
|
import { FcrUIMemberData } from './type';
|
|
12
|
+
import { FcrUserKickOutType } from 'agora-edu-core/lib/room-control/user-control/type';
|
|
13
|
+
import { FcrMainRoomControl } from 'agora-edu-core/lib/room-control/type';
|
|
14
|
+
import { OperateWaitingRoomMemberDialogProps } from './attendee';
|
|
11
15
|
export default class ParticipantStore {
|
|
12
16
|
protected logger: import("agora-foundation/lib/logger").Logger;
|
|
13
17
|
private _dataSource;
|
|
18
|
+
private _waitingRoomDataSource;
|
|
14
19
|
private _roomControl;
|
|
15
20
|
private _streamControl;
|
|
16
21
|
private _userControl;
|
|
22
|
+
private _waitingRoomControl?;
|
|
23
|
+
private _waitingRoomUserControl?;
|
|
17
24
|
private _engine;
|
|
18
25
|
private _peerSessionControl;
|
|
19
26
|
private _disposers;
|
|
@@ -29,6 +36,7 @@ export default class ParticipantStore {
|
|
|
29
36
|
private _peerSessionObserver;
|
|
30
37
|
private _userObserver;
|
|
31
38
|
private _eventObserver;
|
|
39
|
+
private _waitingRoomUserObserver;
|
|
32
40
|
private _whitebaordObderver;
|
|
33
41
|
private accessor _mainList;
|
|
34
42
|
accessor _participantsWindowActive: boolean;
|
|
@@ -43,6 +51,9 @@ export default class ParticipantStore {
|
|
|
43
51
|
accessor enableSpotlight: boolean;
|
|
44
52
|
accessor mergeConfirmDialog: boolean;
|
|
45
53
|
accessor mergeUserId: string;
|
|
54
|
+
accessor activeTab: RoomType;
|
|
55
|
+
accessor isNewWaitingRoomUserEnter: boolean;
|
|
56
|
+
accessor waitingRoomUserCount: number;
|
|
46
57
|
get userListSource(): import("./member-list-data-source").FcrUIMemberDataImpl[];
|
|
47
58
|
get mergeUserInfo(): FcrUserInfo | undefined;
|
|
48
59
|
get userMap(): Map<string, FcrUIMemberData>;
|
|
@@ -60,7 +71,7 @@ export default class ParticipantStore {
|
|
|
60
71
|
get localMicVolume(): number;
|
|
61
72
|
get hasRevokeHostPermission(): boolean;
|
|
62
73
|
constructor({ roomControl, engine, peerSessionControl, securityStore, uiEventStore, deviceStore, deviceStreamStore, }: {
|
|
63
|
-
roomControl:
|
|
74
|
+
roomControl: FcrMainRoomControl;
|
|
64
75
|
engine: FcrCoreEngine;
|
|
65
76
|
peerSessionControl: FcrPeerSessionControl;
|
|
66
77
|
securityStore: FcrSecurityStore;
|
|
@@ -70,8 +81,10 @@ export default class ParticipantStore {
|
|
|
70
81
|
});
|
|
71
82
|
setSpotlightStreamId(streamId: string): void;
|
|
72
83
|
release(): void;
|
|
84
|
+
allowedOperations: (userId: string, userRole: FcrUserRole) => string[];
|
|
73
85
|
checkIsPin: (userId: string) => boolean;
|
|
74
86
|
hasMutePermission(targetRole: FcrPrivilegeUserRole | FcrUserRole): boolean;
|
|
87
|
+
hasWaitingRoomPermission(): boolean;
|
|
75
88
|
hasUnmutePermission(targetRole: FcrPrivilegeUserRole | FcrUserRole): boolean;
|
|
76
89
|
hasRequestStartAudioPermission(targetRole: FcrPrivilegeUserRole | FcrUserRole): boolean;
|
|
77
90
|
setCurrentModal(modal: 'modal' | 'window'): void;
|
|
@@ -98,10 +111,19 @@ export default class ParticipantStore {
|
|
|
98
111
|
removePin(userId: string): void;
|
|
99
112
|
addPin(userId: string): void;
|
|
100
113
|
getAllowedOperations(targetRole: FcrUserRole, isSelf: boolean): string[];
|
|
101
|
-
|
|
114
|
+
closeRemoveAdmitWaitingRoomDialog(dialogKey: DialogKey): void;
|
|
115
|
+
openRemoveAdmitWaitingRoomDialog(dialogKey: DialogKey, params: OperateWaitingRoomMemberDialogProps): void;
|
|
116
|
+
handlerUserAction(action: ParticipantActionType, userId: string): void;
|
|
117
|
+
private _moveToWaitingRoomByUserIds;
|
|
118
|
+
removeWaitingRoomUser(userId: string, type: FcrUserKickOutType): void;
|
|
119
|
+
kickOutWaitingRoomAllMember(type: FcrUserKickOutType): Promise<void>;
|
|
120
|
+
moveToMainRoomAllMember(): Promise<void>;
|
|
102
121
|
getMicStreamVolume(streamId: string): number;
|
|
103
122
|
handlerRoomControlAction(action: RoomControlType, data?: any): void;
|
|
104
123
|
private _handleEvent;
|
|
124
|
+
moveToMainRoomByUserIds(userId: string[]): void;
|
|
125
|
+
handleActiveTab(tab: RoomType): void;
|
|
126
|
+
private _initWaitingRoomUserList;
|
|
105
127
|
private _formatUser;
|
|
106
128
|
private _muteUserAudio;
|
|
107
129
|
private _unmuteUserAudio;
|
|
@@ -127,6 +149,9 @@ export default class ParticipantStore {
|
|
|
127
149
|
private _updateUserBoardState;
|
|
128
150
|
private _handleRemoteUserJoined;
|
|
129
151
|
private _handleRemoteUserLeft;
|
|
152
|
+
private _handleRemoteWaitingUserJoined;
|
|
153
|
+
private _getWaitingRoomUserCount;
|
|
154
|
+
private _handleRemoteWaitingUserLeft;
|
|
130
155
|
private _onUserInfoUpdated;
|
|
131
156
|
private _initUserList;
|
|
132
157
|
private _handleStreamsAdded;
|