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
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
.invite-dialog {
|
|
2
|
-
/* padding: 0; */
|
|
3
|
-
}
|
|
4
|
-
|
|
5
1
|
.invite {
|
|
6
2
|
display: flex;
|
|
7
3
|
flex-direction: column;
|
|
@@ -58,6 +54,10 @@
|
|
|
58
54
|
align-items: center;
|
|
59
55
|
}
|
|
60
56
|
|
|
57
|
+
.invite__pstn-invite-copyinfo {
|
|
58
|
+
width: 100%;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
61
|
.invite__invite-error-tips {
|
|
62
62
|
width: 100%;
|
|
63
63
|
height: 20px;
|
|
@@ -267,6 +267,7 @@ var PSTNInvite = exports.PSTNInvite = (0, _mobxReact.observer)(function () {
|
|
|
267
267
|
type: "secondary-bordered",
|
|
268
268
|
size: "XS",
|
|
269
269
|
onClick: handleCopyMeetingDetail,
|
|
270
|
+
className: "invite__pstn-invite-copyinfo",
|
|
270
271
|
children: transI18n('fmt_popup_button_meetinginfor')
|
|
271
272
|
})]
|
|
272
273
|
});
|
|
@@ -32,6 +32,7 @@ require("core-js/modules/esnext.async-iterator.map.js");
|
|
|
32
32
|
require("core-js/modules/esnext.iterator.map.js");
|
|
33
33
|
var _mobxReact = require("mobx-react");
|
|
34
34
|
var _react = require("react");
|
|
35
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
35
36
|
var _icon = require("agora-ui-foundation/lib/components/icon");
|
|
36
37
|
var _type = require("agora-ui-foundation/lib/components/icon/type");
|
|
37
38
|
var _hooks = require("../../../utilities/hooks");
|
|
@@ -95,6 +96,7 @@ var Gallery = exports.Gallery = (0, _mobxReact.observer)(function () {
|
|
|
95
96
|
layout = _useContext.layout,
|
|
96
97
|
galleryMaxSize = _useContext.galleryMaxSize,
|
|
97
98
|
galleryList = _useContext.galleryList,
|
|
99
|
+
participantCount = _useContext.participantCount,
|
|
98
100
|
addPin = _useContext.addPin,
|
|
99
101
|
hasMutePermission = _useContext.hasMutePermission,
|
|
100
102
|
openPrivateChat = _useContext.openPrivateChat,
|
|
@@ -232,8 +234,12 @@ var Gallery = exports.Gallery = (0, _mobxReact.observer)(function () {
|
|
|
232
234
|
var _actionMute = (0, _muteAction.actionMute)(windowData.isMySelf, windowData.hasMicrophoneAudioStream, muteAudioPermission, startAudioPermission, requestStartAudioPermission),
|
|
233
235
|
isShowActionAudio = _actionMute.isShowActionAudio,
|
|
234
236
|
actionAudioTag = _actionMute.actionAudioTag;
|
|
237
|
+
var cls = (0, _classnames["default"])('fcr-layout-content-gallery-row-item', {
|
|
238
|
+
'fcr-layout-content-gallery-row-noborder': participantCount == 1 && galleryList.length == 1,
|
|
239
|
+
'fcr-layout-content-gallery-row-onlyone': galleryList.length == 1
|
|
240
|
+
});
|
|
235
241
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
236
|
-
className:
|
|
242
|
+
className: cls,
|
|
237
243
|
style: {
|
|
238
244
|
width: size.width,
|
|
239
245
|
height: size.height
|
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
require("core-js/modules/es.array.iterator.js");
|
|
3
4
|
require("core-js/modules/es.object.define-property.js");
|
|
5
|
+
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
6
|
+
require("core-js/modules/es.object.to-string.js");
|
|
7
|
+
require("core-js/modules/es.string.iterator.js");
|
|
8
|
+
require("core-js/modules/es.weak-map.js");
|
|
9
|
+
require("core-js/modules/esnext.weak-map.delete-all.js");
|
|
10
|
+
require("core-js/modules/esnext.weak-map.emplace.js");
|
|
11
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
4
12
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
13
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
14
|
Object.defineProperty(exports, "__esModule", {
|
|
6
15
|
value: true
|
|
7
16
|
});
|
|
@@ -9,7 +18,7 @@ exports.MinAsideWidth = exports.Layout = void 0;
|
|
|
9
18
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
19
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
11
20
|
var _mobxReact = require("mobx-react");
|
|
12
|
-
var _react = require("react");
|
|
21
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
13
22
|
var _icon = require("agora-ui-foundation/lib/components/icon");
|
|
14
23
|
var _type = require("agora-ui-foundation/lib/components/icon/type");
|
|
15
24
|
var _i18n = require("agora-ui-foundation/lib/i18n");
|
|
@@ -20,29 +29,36 @@ var _Aside = require("./Aside");
|
|
|
20
29
|
var _Carousel = require("./Carousel");
|
|
21
30
|
var _Gallery = require("./Gallery");
|
|
22
31
|
var _utils = require("./utils");
|
|
32
|
+
var _watermark = require("agora-ui-foundation/lib/components/watermark");
|
|
23
33
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
34
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
35
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
24
36
|
var MinAsideWidth = exports.MinAsideWidth = 320;
|
|
25
37
|
var MaxAsideWidth = 460; // 20240620 设计同步
|
|
26
38
|
var AsideOverflow = 100;
|
|
27
39
|
var Layout = exports.Layout = (0, _mobxReact.observer)(function () {
|
|
28
|
-
var
|
|
29
|
-
|
|
30
|
-
actionBar =
|
|
31
|
-
layers =
|
|
32
|
-
layout =
|
|
33
|
-
aside =
|
|
34
|
-
barHovering =
|
|
35
|
-
setHoveringHandler =
|
|
36
|
-
resetLockTimer =
|
|
37
|
-
setHoveringLeaveHandler =
|
|
38
|
-
asideWidth =
|
|
39
|
-
chatAction =
|
|
40
|
-
barHidden =
|
|
41
|
-
isRobot =
|
|
40
|
+
var layoutStore = (0, _react.useContext)(_context.StoreContext);
|
|
41
|
+
var stateBar = layoutStore.stateBar,
|
|
42
|
+
actionBar = layoutStore.actionBar,
|
|
43
|
+
layers = layoutStore.layers,
|
|
44
|
+
layout = layoutStore.layout,
|
|
45
|
+
aside = layoutStore.aside,
|
|
46
|
+
barHovering = layoutStore.barHovering,
|
|
47
|
+
setHoveringHandler = layoutStore.setHoveringHandler,
|
|
48
|
+
resetLockTimer = layoutStore.resetLockTimer,
|
|
49
|
+
setHoveringLeaveHandler = layoutStore.setHoveringLeaveHandler,
|
|
50
|
+
asideWidth = layoutStore.asideWidth,
|
|
51
|
+
chatAction = layoutStore.chatAction,
|
|
52
|
+
barHidden = layoutStore.barHidden,
|
|
53
|
+
isRobot = layoutStore.isRobot,
|
|
54
|
+
getWaterMarkContent = layoutStore.getWaterMarkContent,
|
|
55
|
+
isMulti = layoutStore.isMulti,
|
|
56
|
+
isWaterMarkEnabled = layoutStore.isWaterMarkEnabled;
|
|
42
57
|
var _useDelayedMeasure = (0, _hooks.useDelayedMeasure)(),
|
|
43
58
|
_useDelayedMeasure2 = (0, _slicedToArray2["default"])(_useDelayedMeasure, 2),
|
|
44
|
-
|
|
59
|
+
_ref = _useDelayedMeasure2[0],
|
|
45
60
|
bounds = _useDelayedMeasure2[1];
|
|
61
|
+
var getContainer;
|
|
46
62
|
var onDragHandler = (0, _react.useCallback)(function (event) {
|
|
47
63
|
event.preventDefault();
|
|
48
64
|
var handler = event.currentTarget;
|
|
@@ -75,50 +91,59 @@ var Layout = exports.Layout = (0, _mobxReact.observer)(function () {
|
|
|
75
91
|
var cls = (0, _classnames["default"])('fcr-layout-content-bar fcr-layout-content-bottom', {
|
|
76
92
|
'fcr-layout-content-bar--hidden': barHidden
|
|
77
93
|
});
|
|
78
|
-
return /*#__PURE__*/(0, _jsxRuntime.
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
94
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_watermark.WaterMark, {
|
|
95
|
+
content: isWaterMarkEnabled ? [getWaterMarkContent()] : [],
|
|
96
|
+
width: isMulti ? 120 : bounds.width,
|
|
97
|
+
height: isMulti ? 64 : bounds.height,
|
|
98
|
+
multiLine: Boolean(isMulti),
|
|
99
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
100
|
+
className: (0, _classnames["default"])('fcr-layout', "fcr-layout-".concat(layout), {
|
|
101
|
+
'fcr-layout-hovering': barHovering
|
|
102
|
+
}),
|
|
103
|
+
onMouseEnter: setHoveringHandler,
|
|
104
|
+
onMouseLeave: setHoveringLeaveHandler,
|
|
105
|
+
onMouseMove: setHoveringHandler,
|
|
106
|
+
ref: function ref(node) {
|
|
107
|
+
getContainer = node;
|
|
108
|
+
_ref(node);
|
|
90
109
|
},
|
|
91
|
-
children: [
|
|
92
|
-
className: "fcr-layout-content
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
})
|
|
99
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Carousel.Carousel, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(CarouselExpandButton, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(WhoIsSpeaking, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Gallery.Gallery, {}), !isRobot && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
100
|
-
className: cls,
|
|
101
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
102
|
-
className: "fcr-layout-content-bar-body",
|
|
110
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
111
|
+
className: "fcr-layout-content",
|
|
112
|
+
style: {
|
|
113
|
+
width: bounds.width - asideWidth
|
|
114
|
+
},
|
|
115
|
+
children: [!isRobot && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
116
|
+
className: "fcr-layout-content-bar fcr-layout-content-top",
|
|
103
117
|
onMouseEnter: resetLockTimer,
|
|
104
118
|
onMouseLeave: setHoveringHandler,
|
|
105
|
-
children:
|
|
106
|
-
|
|
119
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
120
|
+
className: "fcr-layout-content-bar-body",
|
|
121
|
+
children: stateBar
|
|
122
|
+
})
|
|
123
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Carousel.Carousel, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(CarouselExpandButton, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(WhoIsSpeaking, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Gallery.Gallery, {}), !isRobot && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
124
|
+
className: cls,
|
|
125
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
126
|
+
className: "fcr-layout-content-bar-body",
|
|
127
|
+
onMouseEnter: resetLockTimer,
|
|
128
|
+
onMouseLeave: setHoveringHandler,
|
|
129
|
+
children: actionBar
|
|
130
|
+
})
|
|
131
|
+
})]
|
|
132
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Aside.Aside, {
|
|
133
|
+
width: aside ? asideWidth : 0,
|
|
134
|
+
onDragHandler: onDragHandler,
|
|
135
|
+
chatAction: chatAction
|
|
136
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
137
|
+
className: "fcr-layer",
|
|
138
|
+
children: layers
|
|
107
139
|
})]
|
|
108
|
-
})
|
|
109
|
-
width: aside ? asideWidth : 0,
|
|
110
|
-
onDragHandler: onDragHandler,
|
|
111
|
-
chatAction: chatAction
|
|
112
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
113
|
-
className: "fcr-layer",
|
|
114
|
-
children: layers
|
|
115
|
-
})]
|
|
140
|
+
})
|
|
116
141
|
});
|
|
117
142
|
});
|
|
118
143
|
var CarouselExpandButton = (0, _mobxReact.observer)(function () {
|
|
119
|
-
var
|
|
120
|
-
collapsed =
|
|
121
|
-
toggleCollapsed =
|
|
144
|
+
var _useContext = (0, _react.useContext)(_context.StoreContext),
|
|
145
|
+
collapsed = _useContext.collapsed,
|
|
146
|
+
toggleCollapsed = _useContext.toggleCollapsed;
|
|
122
147
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
123
148
|
className: (0, _classnames["default"])('fcr-layout-content-expand', {
|
|
124
149
|
'fcr-layout-content-collapsed': collapsed
|
|
@@ -140,10 +165,10 @@ var CarouselExpandButton = (0, _mobxReact.observer)(function () {
|
|
|
140
165
|
});
|
|
141
166
|
var WhoIsSpeaking = (0, _mobxReact.observer)(function () {
|
|
142
167
|
var t = (0, _i18n.useI18n)();
|
|
143
|
-
var
|
|
144
|
-
layout =
|
|
145
|
-
collapsed =
|
|
146
|
-
findSpotlightUser =
|
|
168
|
+
var _useContext2 = (0, _react.useContext)(_context.StoreContext),
|
|
169
|
+
layout = _useContext2.layout,
|
|
170
|
+
collapsed = _useContext2.collapsed,
|
|
171
|
+
findSpotlightUser = _useContext2.findSpotlightUser;
|
|
147
172
|
var userName = findSpotlightUser === null || findSpotlightUser === void 0 ? void 0 : findSpotlightUser.userName;
|
|
148
173
|
var active = userName && layout === _type2.FcrUIVideoWindowLayoutType.Speaker && collapsed;
|
|
149
174
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
.fcr-layout-aside-active {
|
|
17
17
|
display: flex;
|
|
18
18
|
flex-flow: column nowrap;
|
|
19
|
+
z-index: 12;
|
|
19
20
|
}
|
|
20
21
|
|
|
21
22
|
.fcr-layout-aside-handler {
|
|
@@ -121,7 +122,7 @@
|
|
|
121
122
|
|
|
122
123
|
.fcr-layout-content-expand {
|
|
123
124
|
height: 0 !important;
|
|
124
|
-
z-index:
|
|
125
|
+
z-index: 11;
|
|
125
126
|
display: flex;
|
|
126
127
|
align-items: flex-end;
|
|
127
128
|
justify-content: center;
|
|
@@ -154,9 +155,11 @@
|
|
|
154
155
|
background-color: var(--fcr_web_ui_scene_fill2);
|
|
155
156
|
font-size: 0;
|
|
156
157
|
}
|
|
158
|
+
|
|
157
159
|
.fcr-layout-content-expand button:active {
|
|
158
160
|
outline: none;
|
|
159
161
|
}
|
|
162
|
+
|
|
160
163
|
.fcr-layout-content-expand button:focus {
|
|
161
164
|
outline: none;
|
|
162
165
|
}
|
|
@@ -175,15 +178,18 @@
|
|
|
175
178
|
flex-flow: row nowrap;
|
|
176
179
|
justify-content: center;
|
|
177
180
|
}
|
|
181
|
+
|
|
178
182
|
.fcr-layout-content-carousel-items {
|
|
179
183
|
display: flex;
|
|
180
184
|
flex-flow: row nowrap;
|
|
181
185
|
justify-content: center;
|
|
182
186
|
}
|
|
187
|
+
|
|
183
188
|
.fcr-layout-content-carousel-items .fcr-layout-content-carousel-item {
|
|
184
189
|
border-radius: var(--fcr_cornerradius_s);
|
|
185
190
|
overflow: hidden;
|
|
186
191
|
}
|
|
192
|
+
|
|
187
193
|
.fcr-layout-content-carousel-items .fcr-layout-content-carousel-item .fcr-member-window-excitation {
|
|
188
194
|
border-radius: var(--fcr_cornerradius_s);
|
|
189
195
|
}
|
|
@@ -222,13 +228,16 @@
|
|
|
222
228
|
justify-content: center;
|
|
223
229
|
font-size: 0;
|
|
224
230
|
}
|
|
231
|
+
|
|
225
232
|
.fcr-layout-content-carousel-collapse:active {
|
|
226
233
|
outline: none;
|
|
227
234
|
}
|
|
235
|
+
|
|
228
236
|
.fcr-layout-content-carousel-collapse:hover {
|
|
229
237
|
color: var(--fcr_ui_scene_icontext2);
|
|
230
238
|
background-color: var(--fcr_web_ui_scene_hover2);
|
|
231
239
|
}
|
|
240
|
+
|
|
232
241
|
.fcr-layout-content-carousel-collapse > svg {
|
|
233
242
|
width: 48px;
|
|
234
243
|
pointer-events: none;
|
|
@@ -273,6 +282,7 @@
|
|
|
273
282
|
justify-content: center;
|
|
274
283
|
align-items: center;
|
|
275
284
|
}
|
|
285
|
+
|
|
276
286
|
.fcr-layout-content-gallery-return-bar .fcr-button-XXS {
|
|
277
287
|
height: 20px;
|
|
278
288
|
margin-left: 24px;
|
|
@@ -284,10 +294,16 @@
|
|
|
284
294
|
justify-content: center;
|
|
285
295
|
font-size: 1rem;
|
|
286
296
|
}
|
|
297
|
+
|
|
287
298
|
.fcr-layout-content-gallery-row .fcr-layout-content-gallery-row-item {
|
|
288
299
|
border-radius: var(--fcr_cornerradius_s);
|
|
289
300
|
overflow: hidden;
|
|
290
301
|
}
|
|
302
|
+
|
|
303
|
+
.fcr-layout-content-gallery-row .fcr-layout-content-gallery-row-noborder {
|
|
304
|
+
border-radius: 0px;
|
|
305
|
+
}
|
|
306
|
+
|
|
291
307
|
.fcr-layout-content-gallery-row .fcr-layout-content-gallery-row-item .fcr-member-window-excitation {
|
|
292
308
|
border-radius: var(--fcr_cornerradius_s);
|
|
293
309
|
}
|
|
@@ -301,8 +317,7 @@
|
|
|
301
317
|
.fcr-layout-content-gallery-arrow {
|
|
302
318
|
pointer-events: auto;
|
|
303
319
|
position: absolute;
|
|
304
|
-
|
|
305
|
-
top: calc(50% + 40px);
|
|
320
|
+
top: calc(100% - 160px);
|
|
306
321
|
background-color: var(--fcr_web_ui_scene_fill4_popup);
|
|
307
322
|
border-radius: 8px;
|
|
308
323
|
box-shadow: var(--fcr_web_light_dropup);
|
|
@@ -310,7 +325,7 @@
|
|
|
310
325
|
flex-flow: column nowrap;
|
|
311
326
|
align-items: center;
|
|
312
327
|
font-size: 12px;
|
|
313
|
-
z-index:
|
|
328
|
+
z-index: 1080;
|
|
314
329
|
}
|
|
315
330
|
|
|
316
331
|
.fcr-layout-content-gallery-arrow:has(button:disabled) {
|
|
@@ -505,6 +520,7 @@
|
|
|
505
520
|
border-top-left-radius: 0;
|
|
506
521
|
border-bottom-left-radius: 0;
|
|
507
522
|
}
|
|
523
|
+
|
|
508
524
|
.fcr-user-window-actions-tag:has(~ .fcr-user-window-actions-microphone) {
|
|
509
525
|
border-top-right-radius: 0;
|
|
510
526
|
border-bottom-right-radius: 0;
|
|
@@ -561,7 +577,7 @@
|
|
|
561
577
|
width: 100%;
|
|
562
578
|
/* overflow: hidden; */
|
|
563
579
|
transition: height 0s;
|
|
564
|
-
z-index:
|
|
580
|
+
z-index: 10;
|
|
565
581
|
}
|
|
566
582
|
|
|
567
583
|
.fcr-layout-speaker .fcr-layout-content-bar {
|
|
@@ -600,7 +616,11 @@
|
|
|
600
616
|
|
|
601
617
|
.fcr-layout-hovering .fcr-layout-content-bottom,
|
|
602
618
|
.fcr-layout-hovering .fcr-layout-content-bottom .fcr-layout-content-bar-body {
|
|
603
|
-
height:
|
|
619
|
+
height: 77px;
|
|
620
|
+
width: 100%;
|
|
621
|
+
bottom: 2px;
|
|
622
|
+
z-index: 100;
|
|
623
|
+
position: absolute;
|
|
604
624
|
}
|
|
605
625
|
|
|
606
626
|
.fcr-layout-hovering .fcr-user-window-actions-top {
|
|
@@ -610,9 +630,16 @@
|
|
|
610
630
|
.fcr-layout-content-bar--hidden .fcr-layout-content-bar-body {
|
|
611
631
|
height: 0;
|
|
612
632
|
}
|
|
633
|
+
|
|
613
634
|
.fcr-layout-content-bar--hidden.fcr-layout-content-bottom,
|
|
614
635
|
.fcr-layout-content-bar--hidden.fcr-layout-content-bottom .fcr-layout-content-bar-body {
|
|
615
636
|
height: 0px;
|
|
616
637
|
overflow: inherit;
|
|
617
638
|
position: relative;
|
|
618
639
|
}
|
|
640
|
+
|
|
641
|
+
.fcr-layout-adapter-div {
|
|
642
|
+
display: flex;
|
|
643
|
+
flex-flow: column nowrap;
|
|
644
|
+
justify-content: flex-end;
|
|
645
|
+
}
|
|
@@ -25,3 +25,33 @@
|
|
|
25
25
|
position: absolute;
|
|
26
26
|
z-index: 1000;
|
|
27
27
|
}
|
|
28
|
+
|
|
29
|
+
.login-confirm-dialog-content {
|
|
30
|
+
display: flex;
|
|
31
|
+
align-items: center;
|
|
32
|
+
justify-content: center;
|
|
33
|
+
flex-direction: column;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.login-confirm-dialog-content img {
|
|
37
|
+
margin-top: -36px;
|
|
38
|
+
margin-bottom: 10px;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.login-confirm-dialog-title {
|
|
42
|
+
font-weight: 600;
|
|
43
|
+
font-size: 16px;
|
|
44
|
+
margin-bottom: 10px;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.login-confirm-dialog-desc {
|
|
48
|
+
margin-bottom: 10px;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.login-confirm-dialog-btn {
|
|
52
|
+
width: 100%;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.login-confirm-dialog-content .fcr-button {
|
|
56
|
+
width: 100%;
|
|
57
|
+
}
|
|
@@ -64,7 +64,6 @@ var _tooltip = require("agora-ui-foundation/lib/components/tooltip");
|
|
|
64
64
|
var _i18n = require("agora-ui-foundation/lib/i18n");
|
|
65
65
|
var _type2 = require("agora-edu-core/lib/type");
|
|
66
66
|
var _hooks = require("../../../utilities/hooks");
|
|
67
|
-
var _participantsMoreAction = require("../../participant/attendee/participants-more-action");
|
|
68
67
|
var _type3 = require("../type");
|
|
69
68
|
require("./index.css");
|
|
70
69
|
var _context = require("../context");
|
|
@@ -76,6 +75,7 @@ var _constant = require("../../../utilities/constant");
|
|
|
76
75
|
var _type4 = require("../../video-window/type");
|
|
77
76
|
var _env = require("agora-foundation/lib/utilities/env");
|
|
78
77
|
var _agoraEduCore = require("agora-edu-core");
|
|
78
|
+
var _participantsMore = require("agora-ui-foundation/lib/components/participants/participants-more");
|
|
79
79
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
80
80
|
var _excluded = ["isLocal"];
|
|
81
81
|
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; }
|
|
@@ -259,6 +259,7 @@ var MemberWindowActions = exports.MemberWindowActions = (0, _mobxReact.observer)
|
|
|
259
259
|
videoStreamConnectorType = _ref4.videoStreamConnectorType,
|
|
260
260
|
_ref4$phoneMicEnabled = _ref4.phoneMicEnabled,
|
|
261
261
|
phoneMicEnabled = _ref4$phoneMicEnabled === void 0 ? false : _ref4$phoneMicEnabled;
|
|
262
|
+
var timerRef = (0, _react.useRef)();
|
|
262
263
|
var t = (0, _i18n.useI18n)();
|
|
263
264
|
var focus = (0, _hooks.useWindowFocus)();
|
|
264
265
|
var _useState = (0, _react.useState)(false),
|
|
@@ -295,12 +296,17 @@ var MemberWindowActions = exports.MemberWindowActions = (0, _mobxReact.observer)
|
|
|
295
296
|
onVisibleChanged === null || onVisibleChanged === void 0 || onVisibleChanged(visible);
|
|
296
297
|
} else {
|
|
297
298
|
setIsShowDropMenu(visible);
|
|
298
|
-
setTimeout(function () {
|
|
299
|
+
timerRef.current = setTimeout(function () {
|
|
299
300
|
handleVideoWindowVisibleChange(videoWindowCurrentWidth, videoWindowCurrentHeight, true);
|
|
300
301
|
onVisibleChanged === null || onVisibleChanged === void 0 || onVisibleChanged(visible);
|
|
301
302
|
}, 100);
|
|
302
303
|
}
|
|
303
304
|
};
|
|
305
|
+
(0, _react.useEffect)(function () {
|
|
306
|
+
return function () {
|
|
307
|
+
clearTimeout(timerRef.current);
|
|
308
|
+
};
|
|
309
|
+
}, [videoWindowPreviewType]);
|
|
304
310
|
(0, _react.useEffect)(function () {
|
|
305
311
|
if (!isOnlyShowVideoStream && !focus) {
|
|
306
312
|
var timer = setTimeout(function () {
|
|
@@ -619,7 +625,7 @@ var MemberWindowActions = exports.MemberWindowActions = (0, _mobxReact.observer)
|
|
|
619
625
|
trigger: "click",
|
|
620
626
|
visible: isShowDropMenu,
|
|
621
627
|
onVisibleChange: onVisibleChange,
|
|
622
|
-
content: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
628
|
+
content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_participantsMore.FcrParticipantsMoreActions, {
|
|
623
629
|
userType: userType,
|
|
624
630
|
hasPinnedStream: hasPinnedStream,
|
|
625
631
|
audioDeviceType: isPhone ? 'phone-mic' : 'computer-mic',
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FcrDesktopMediaControl, FcrPrivilegeUserRole, FcrStreamControl, FcrUserControl } from 'agora-edu-core';
|
|
1
|
+
import { FcrDesktopMediaControl, FcrPrivilegeControl, FcrPrivilegeUserRole, FcrStreamControl, FcrUserControl } from 'agora-edu-core';
|
|
2
2
|
import { FcrUserInfo, FcrUserRole } from 'agora-edu-core/lib/type';
|
|
3
3
|
import { FcrVideoWindowPreviewType } from '../video-window/type';
|
|
4
4
|
import { FcrDeviceStore } from '../../common/device-store';
|
|
@@ -9,6 +9,7 @@ import { FcrUIVideoWindowData, FcrUIVideoWindowLayoutType, GalleryMaxSize } from
|
|
|
9
9
|
import { FcrWhiteboardControl } from 'agora-edu-core/lib/room-control/whiteboard-control/types';
|
|
10
10
|
import { FcrChatRoomConnectionState, FcrChatRoomControl } from 'agora-edu-core/lib/room-control/chatroom-control/type';
|
|
11
11
|
import { FcrUserUpdatedEvent } from 'agora-edu-core/lib/room-control/user-control/type';
|
|
12
|
+
import { FcrBaseRoomControl } from 'agora-edu-core/lib/room-control/type';
|
|
12
13
|
export interface FcrLayoutSlots {
|
|
13
14
|
participant: React.ReactNode;
|
|
14
15
|
chat: React.ReactNode;
|
|
@@ -31,12 +32,15 @@ export interface LayoutStoreParams {
|
|
|
31
32
|
securityStore: FcrSecurityStore;
|
|
32
33
|
chatRoomControl: FcrChatRoomControl;
|
|
33
34
|
whiteBoardControl: FcrWhiteboardControl;
|
|
35
|
+
privilegeControl: FcrPrivilegeControl;
|
|
36
|
+
roomControl: FcrBaseRoomControl;
|
|
34
37
|
}
|
|
35
38
|
export default class LayoutStore implements FcrLayoutSlots, FcrUIEventObserver {
|
|
36
39
|
private readonly logger;
|
|
37
40
|
private static MIN_USERS_TO_ENABLE_SPOTLIGHT;
|
|
38
41
|
private _videoWindowDataSource;
|
|
39
42
|
private _deviceStore;
|
|
43
|
+
private _privilegeControl;
|
|
40
44
|
private _uiEventStore;
|
|
41
45
|
private _userControl;
|
|
42
46
|
private _streamControl;
|
|
@@ -46,7 +50,12 @@ export default class LayoutStore implements FcrLayoutSlots, FcrUIEventObserver {
|
|
|
46
50
|
private _subscriptions;
|
|
47
51
|
private _barLockTimer;
|
|
48
52
|
private _chatRoomControl;
|
|
53
|
+
private _waitingRoomControl?;
|
|
54
|
+
private _waitingRoomUserControl?;
|
|
55
|
+
private _liveStreamState;
|
|
49
56
|
private _chatRoomObserver;
|
|
57
|
+
private _waitingRoomUserObserver;
|
|
58
|
+
private _waitingRoomObserver;
|
|
50
59
|
private _managerRoleUpdateForToast;
|
|
51
60
|
accessor participant: React.ReactNode;
|
|
52
61
|
accessor chat: React.ReactNode;
|
|
@@ -74,10 +83,13 @@ export default class LayoutStore implements FcrLayoutSlots, FcrUIEventObserver {
|
|
|
74
83
|
accessor ownerUser: FcrUserInfo | undefined;
|
|
75
84
|
accessor localUser: FcrUserInfo;
|
|
76
85
|
accessor enableSpotlight: boolean;
|
|
86
|
+
accessor isWaitingRoomNotify: boolean;
|
|
77
87
|
get deviceStore(): FcrDeviceStore;
|
|
78
88
|
get streamControl(): FcrStreamControl;
|
|
89
|
+
get isWaterMarkEnabled(): boolean;
|
|
90
|
+
get isMulti(): boolean;
|
|
79
91
|
get layout(): FcrUIVideoWindowLayoutType;
|
|
80
|
-
get manualLayout(): FcrUIVideoWindowLayoutType;
|
|
92
|
+
get manualLayout(): FcrUIVideoWindowLayoutType | undefined;
|
|
81
93
|
get mainList(): import("./video-window-datasource").FcrUIVideoWindowDataImpl[];
|
|
82
94
|
get mainListMapByAudioStreamId(): Map<string, FcrUIVideoWindowData>;
|
|
83
95
|
get foldList(): import("./video-window-datasource").FcrUIVideoWindowDataImpl[];
|
|
@@ -100,6 +112,9 @@ export default class LayoutStore implements FcrLayoutSlots, FcrUIEventObserver {
|
|
|
100
112
|
get privilegeOperator(): FcrUserInfo | undefined;
|
|
101
113
|
get localUserId(): string;
|
|
102
114
|
constructor(params: LayoutStoreParams);
|
|
115
|
+
getWaterMarkContent(): string;
|
|
116
|
+
notifyParticipantShowWaitingRoom(): void;
|
|
117
|
+
setIsWaitingRoomNotify(): void;
|
|
103
118
|
hasMutePermission(targetRole: FcrPrivilegeUserRole | FcrUserRole): boolean;
|
|
104
119
|
hasUnmutePermission(targetRole: FcrPrivilegeUserRole | FcrUserRole): boolean;
|
|
105
120
|
hasRequestStartAudioPermission(targetRole: FcrPrivilegeUserRole | FcrUserRole): boolean;
|
|
@@ -168,4 +183,6 @@ export default class LayoutStore implements FcrLayoutSlots, FcrUIEventObserver {
|
|
|
168
183
|
private _onAudioVolumeUpdated;
|
|
169
184
|
private _setSpotlightStream;
|
|
170
185
|
private _findSpotlightStream;
|
|
186
|
+
private _handleRemoteWaitingUserLeft;
|
|
187
|
+
private _handleMessageReceived;
|
|
171
188
|
}
|