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
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
+
<plist version="1.0">
|
|
4
|
+
<dict>
|
|
5
|
+
<key>com.apple.security.cs.allow-jit</key>
|
|
6
|
+
<true/>
|
|
7
|
+
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
|
|
8
|
+
<true/>
|
|
9
|
+
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
|
|
10
|
+
<true/>
|
|
11
|
+
<key>com.apple.security.device.audio-input</key>
|
|
12
|
+
<true/>
|
|
13
|
+
<key>com.apple.security.device.camera</key>
|
|
14
|
+
<true/>
|
|
15
|
+
</dict>
|
|
16
|
+
</plist>
|
|
@@ -8,7 +8,7 @@ export interface FcrDeviceObserver {
|
|
|
8
8
|
onCameraChanged?(cameraId: string): void;
|
|
9
9
|
onMicrophoneChanged?(microphoneId: string): void;
|
|
10
10
|
onSpeakerChanged?(speakerId: string): void;
|
|
11
|
-
onCameraListUpdated?(cameraList: FcrDeviceInfo[]
|
|
11
|
+
onCameraListUpdated?(cameraList: FcrDeviceInfo[]): void;
|
|
12
12
|
onMicrophoneListUpdated?(microphoneList: FcrDeviceInfo[]): void;
|
|
13
13
|
onSpeakerListUpdated?(speakerList: FcrDeviceInfo[]): void;
|
|
14
14
|
}
|
|
@@ -1214,7 +1214,7 @@ var FcrDeviceStore = exports.FcrDeviceStore = /*#__PURE__*/function () {
|
|
|
1214
1214
|
value: function () {
|
|
1215
1215
|
var _handleCameraListUpdated2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee6() {
|
|
1216
1216
|
var _this12 = this;
|
|
1217
|
-
var currentDeviceExist, cameraEnabled, deviceId;
|
|
1217
|
+
var currentDeviceExist, cameraEnabled, deviceId, _deviceId;
|
|
1218
1218
|
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
1219
1219
|
while (1) switch (_context6.prev = _context6.next) {
|
|
1220
1220
|
case 0:
|
|
@@ -1242,8 +1242,16 @@ var FcrDeviceStore = exports.FcrDeviceStore = /*#__PURE__*/function () {
|
|
|
1242
1242
|
}
|
|
1243
1243
|
}
|
|
1244
1244
|
}
|
|
1245
|
-
|
|
1246
|
-
|
|
1245
|
+
|
|
1246
|
+
// select the first camera in the list as default
|
|
1247
|
+
if (!currentDeviceExist) {
|
|
1248
|
+
if (this.cameraList.length > 0) {
|
|
1249
|
+
_deviceId = this.cameraList[0].deviceId;
|
|
1250
|
+
this.setCameraId(_deviceId);
|
|
1251
|
+
}
|
|
1252
|
+
}
|
|
1253
|
+
this._observable.notifyObservers('onCameraListUpdated', this.cameraList);
|
|
1254
|
+
case 7:
|
|
1247
1255
|
case "end":
|
|
1248
1256
|
return _context6.stop();
|
|
1249
1257
|
}
|
|
@@ -7,6 +7,7 @@ import { FcrIconType } from 'agora-ui-foundation/lib/components/icon/type';
|
|
|
7
7
|
import { ButtonType } from 'agora-ui-foundation/lib/components/button';
|
|
8
8
|
import { ConfirmContentProps } from 'agora-ui-foundation/lib/components/confirm-content';
|
|
9
9
|
import { FcrChatRoomReceiveBaseMessage } from 'agora-edu-core/lib/room-control/chatroom-control/type';
|
|
10
|
+
import React from 'react';
|
|
10
11
|
export interface FcrUIDialogParams {
|
|
11
12
|
dialogKey: DialogKey;
|
|
12
13
|
dialogId: string;
|
|
@@ -20,6 +21,16 @@ export interface FcrUIToastParams {
|
|
|
20
21
|
size?: ToastSize;
|
|
21
22
|
customRootClass?: string;
|
|
22
23
|
}
|
|
24
|
+
export declare enum NotificationContentType {
|
|
25
|
+
WAITING_ROOM = "WAITING_ROOM"
|
|
26
|
+
}
|
|
27
|
+
export interface FcrNotificationParams {
|
|
28
|
+
duration?: number;
|
|
29
|
+
placement: 'top' | 'topLeft' | 'topRight' | 'bottom' | 'bottomLeft' | 'bottomRight';
|
|
30
|
+
type: NotificationContentType;
|
|
31
|
+
onOk?: () => void;
|
|
32
|
+
onClose?: () => void;
|
|
33
|
+
}
|
|
23
34
|
export interface FcrUIConfirmDialogParams {
|
|
24
35
|
title: string;
|
|
25
36
|
content: React.ReactNode;
|
|
@@ -44,6 +55,7 @@ export interface FcrUIUpdateAsideParams {
|
|
|
44
55
|
export interface FcrUINewChatMessagesParams {
|
|
45
56
|
latestMessage: FcrChatRoomReceiveBaseMessage;
|
|
46
57
|
count: number;
|
|
58
|
+
type: string;
|
|
47
59
|
}
|
|
48
60
|
export interface FcrUIToggleLayoutParams {
|
|
49
61
|
layout: 'speaker' | 'gallery';
|
|
@@ -82,6 +94,8 @@ export declare class FcrUIEventStore {
|
|
|
82
94
|
private _observable;
|
|
83
95
|
sendEvent(action: UIAction, payload?: unknown): void;
|
|
84
96
|
showToast(params: FcrUIToastParams): void;
|
|
97
|
+
showNotification(params: FcrNotificationParams): void;
|
|
98
|
+
closeNotification(key: NotificationContentType): void;
|
|
85
99
|
showChatToast(params: FcrUIToastParams): void;
|
|
86
100
|
openConfirmDialog(params: ConfirmContentProps & {
|
|
87
101
|
height?: number;
|
|
@@ -106,8 +120,10 @@ export declare class FcrUIEventStore {
|
|
|
106
120
|
stopLiveStreaming(): void;
|
|
107
121
|
openInviteDialog(): void;
|
|
108
122
|
closeInviteDialog(): void;
|
|
123
|
+
closeWaitingRoomDialog(): void;
|
|
124
|
+
closeRemoveAdmitWaitingRoomDialog(dialogKey: DialogKey): void;
|
|
109
125
|
closeConfirmDialog(): void;
|
|
110
|
-
exitRoom(reason: FcrUIExitReason): void;
|
|
126
|
+
exitRoom(reason: FcrUIExitReason, roomType: number): void;
|
|
111
127
|
cloudRecording(action: FcrCloudRecordingParams['action']): void;
|
|
112
128
|
notifySpotlightStreamChanged(params: FcrSpotlightStreamChangedParams): void;
|
|
113
129
|
notifyCustomSettingsChanged(settings: CustomSetting): void;
|
|
@@ -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.FcrUIEventStore = void 0;
|
|
23
|
+
exports.NotificationContentType = exports.FcrUIEventStore = void 0;
|
|
24
24
|
require("core-js/modules/es.array.concat.js");
|
|
25
25
|
require("core-js/modules/es.date.now.js");
|
|
26
26
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
@@ -32,6 +32,10 @@ var _logger = require("agora-foundation/lib/logger");
|
|
|
32
32
|
var _chat = require("../modules/chat");
|
|
33
33
|
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; }
|
|
34
34
|
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; }
|
|
35
|
+
var NotificationContentType = exports.NotificationContentType = /*#__PURE__*/function (NotificationContentType) {
|
|
36
|
+
NotificationContentType["WAITING_ROOM"] = "WAITING_ROOM";
|
|
37
|
+
return NotificationContentType;
|
|
38
|
+
}({});
|
|
35
39
|
var FcrUIEventStore = exports.FcrUIEventStore = /*#__PURE__*/function () {
|
|
36
40
|
function FcrUIEventStore() {
|
|
37
41
|
(0, _classCallCheck2["default"])(this, FcrUIEventStore);
|
|
@@ -41,14 +45,32 @@ var FcrUIEventStore = exports.FcrUIEventStore = /*#__PURE__*/function () {
|
|
|
41
45
|
return (0, _createClass2["default"])(FcrUIEventStore, [{
|
|
42
46
|
key: "sendEvent",
|
|
43
47
|
value: function sendEvent(action, payload) {
|
|
44
|
-
|
|
45
|
-
|
|
48
|
+
var start = Date.now();
|
|
49
|
+
try {
|
|
50
|
+
this._observable.notifyObservers('onEvent', action, payload);
|
|
51
|
+
} finally {
|
|
52
|
+
var end = Date.now();
|
|
53
|
+
var time = end - start;
|
|
54
|
+
if (time >= 10) {
|
|
55
|
+
this.logger.warn("[FcrUIEventStore] sendEvent ".concat(_constant.UIAction[action], ", payload: ").concat(payload, ", handlers took: ").concat(end - start, "ms"));
|
|
56
|
+
}
|
|
57
|
+
}
|
|
46
58
|
}
|
|
47
59
|
}, {
|
|
48
60
|
key: "showToast",
|
|
49
61
|
value: function showToast(params) {
|
|
50
62
|
this.sendEvent(_constant.UIAction.SHOW_TOAST, params);
|
|
51
63
|
}
|
|
64
|
+
}, {
|
|
65
|
+
key: "showNotification",
|
|
66
|
+
value: function showNotification(params) {
|
|
67
|
+
this.sendEvent(_constant.UIAction.SHOW_NOTIFICATION, params);
|
|
68
|
+
}
|
|
69
|
+
}, {
|
|
70
|
+
key: "closeNotification",
|
|
71
|
+
value: function closeNotification(key) {
|
|
72
|
+
this.sendEvent(_constant.UIAction.COLSE_NOTIFICATION, key);
|
|
73
|
+
}
|
|
52
74
|
}, {
|
|
53
75
|
key: "showChatToast",
|
|
54
76
|
value: function showChatToast(params) {
|
|
@@ -184,6 +206,16 @@ var FcrUIEventStore = exports.FcrUIEventStore = /*#__PURE__*/function () {
|
|
|
184
206
|
value: function closeInviteDialog() {
|
|
185
207
|
this.sendEvent(_constant.UIAction.CLOSE_INVITE_DIALOG);
|
|
186
208
|
}
|
|
209
|
+
}, {
|
|
210
|
+
key: "closeWaitingRoomDialog",
|
|
211
|
+
value: function closeWaitingRoomDialog() {
|
|
212
|
+
this.sendEvent(_constant.UIAction.CLOSE_WAITING_ROOM_DIALOG);
|
|
213
|
+
}
|
|
214
|
+
}, {
|
|
215
|
+
key: "closeRemoveAdmitWaitingRoomDialog",
|
|
216
|
+
value: function closeRemoveAdmitWaitingRoomDialog(dialogKey) {
|
|
217
|
+
this.sendEvent(_constant.UIAction.CLOSE_REMOVE_ADMIT_WAITING_ROOM_DIALOG, dialogKey);
|
|
218
|
+
}
|
|
187
219
|
}, {
|
|
188
220
|
key: "closeConfirmDialog",
|
|
189
221
|
value: function closeConfirmDialog() {
|
|
@@ -191,9 +223,10 @@ var FcrUIEventStore = exports.FcrUIEventStore = /*#__PURE__*/function () {
|
|
|
191
223
|
}
|
|
192
224
|
}, {
|
|
193
225
|
key: "exitRoom",
|
|
194
|
-
value: function exitRoom(reason) {
|
|
226
|
+
value: function exitRoom(reason, roomType) {
|
|
195
227
|
this.sendEvent(_constant.UIAction.EXIT_ROOM, {
|
|
196
|
-
reason: reason
|
|
228
|
+
reason: reason,
|
|
229
|
+
roomType: roomType
|
|
197
230
|
});
|
|
198
231
|
}
|
|
199
232
|
}, {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { FcrPrivilegeControl, FcrStreamControl, FcrUserControl } from 'agora-edu-core';
|
|
2
|
-
import { FcrUserRole, FcrUserInfo } from 'agora-edu-core/lib/type';
|
|
2
|
+
import { FcrUserRole, FcrUserInfo, FcrLineType } from 'agora-edu-core/lib/type';
|
|
3
3
|
import { FcrUIEventStore } from './event-store';
|
|
4
4
|
import { FcrSharePermissionState } from 'agora-edu-core/lib/room-control/whiteboard-control/enums';
|
|
5
5
|
import { FcrRoomSessionControl } from 'agora-edu-core/lib/room-control/room-session/type';
|
|
6
|
-
import { FcrPermissionAction, FcrPermissionInfo, FcrPrivilegeUserRole, FcrSecurityInfo, FcrSecuritySendChatPayload
|
|
6
|
+
import { FcrPermissionAction, FcrPermissionInfo, FcrPrivilegeUserRole, FcrSecurityInfo, FcrSecuritySendChatPayload } from 'agora-edu-core/lib/room-control/privilege-control/type';
|
|
7
7
|
export type FcrSecuritySendChatOriginalPayload = {
|
|
8
8
|
public: 0 | 1;
|
|
9
9
|
private: {
|
|
@@ -20,6 +20,7 @@ export declare class FcrSecurityStore {
|
|
|
20
20
|
private _uiEventStore;
|
|
21
21
|
protected logger: import("agora-foundation/lib/logger").Logger;
|
|
22
22
|
private _disposers;
|
|
23
|
+
private _prevWaterMarkEnable;
|
|
23
24
|
accessor securityInfos: FcrSecurityInfo[];
|
|
24
25
|
accessor permissionInfos: FcrPermissionInfo[] | undefined;
|
|
25
26
|
accessor privilegeOperator: FcrUserInfo | undefined;
|
|
@@ -29,6 +30,7 @@ export declare class FcrSecurityStore {
|
|
|
29
30
|
get localUser(): FcrUserInfo;
|
|
30
31
|
allowChangeSelfName: () => boolean;
|
|
31
32
|
allowChat: () => boolean;
|
|
33
|
+
getWaterMarkContent: () => string;
|
|
32
34
|
convertSendChatPayload: (payload: FcrSecuritySendChatOriginalPayload) => FcrSecuritySendChatPayload;
|
|
33
35
|
allowedAllChat: () => boolean | undefined;
|
|
34
36
|
allowedPublicChatAndDisallowedPrivateChat: () => boolean | undefined;
|
|
@@ -42,6 +44,8 @@ export declare class FcrSecurityStore {
|
|
|
42
44
|
allowUnmuteSelfAudio: () => boolean;
|
|
43
45
|
isLockRoomEnabled: () => boolean;
|
|
44
46
|
isWaitingRoomEnabled: () => boolean;
|
|
47
|
+
isWaterMarkEnabled: () => boolean;
|
|
48
|
+
hasWaitingRoomPermission: (role?: FcrPrivilegeUserRole | FcrUserRole) => boolean;
|
|
45
49
|
hasMutePermission: (targetRole: FcrPrivilegeUserRole | FcrUserRole) => boolean;
|
|
46
50
|
hasUnmutePermission: (targetRole: FcrPrivilegeUserRole | FcrUserRole) => boolean;
|
|
47
51
|
hasRequestStartAudioPermission: (targetRole: FcrPrivilegeUserRole | FcrUserRole) => boolean;
|
|
@@ -58,6 +62,7 @@ export declare class FcrSecurityStore {
|
|
|
58
62
|
hasCallSplitPermission(): boolean;
|
|
59
63
|
hasStartScreenSharePermission: () => boolean;
|
|
60
64
|
hasChatSendPublicPermission: () => boolean;
|
|
65
|
+
hasChatSendPublicPermissionByTargetRole: (targetRole: FcrPrivilegeUserRole | FcrUserRole) => boolean;
|
|
61
66
|
hasPermissionToSendPrivateMessage: (targetRole: FcrPrivilegeUserRole | FcrUserRole) => boolean;
|
|
62
67
|
hasPermissionToControlAllowSendAll: () => boolean;
|
|
63
68
|
hasPermissionToControlDisallowSendAll: () => boolean;
|
|
@@ -74,6 +79,8 @@ export declare class FcrSecurityStore {
|
|
|
74
79
|
hasEnableJoinWithAudioPermission: () => boolean;
|
|
75
80
|
hasEnableStartScreenSharePermission: () => boolean;
|
|
76
81
|
hasLockRoomPermission: () => boolean;
|
|
82
|
+
hasWatermarkEnablePermission: () => boolean;
|
|
83
|
+
hasWatermarkDisablePermission: () => boolean;
|
|
77
84
|
hasEndRoomPermission(): boolean;
|
|
78
85
|
hasAssignHostBeforeLeavingPermission(role: FcrPrivilegeUserRole | FcrUserRole): boolean;
|
|
79
86
|
hasStartBoardPermission(): boolean;
|
|
@@ -84,9 +91,11 @@ export declare class FcrSecurityStore {
|
|
|
84
91
|
hasAllowWriteBoardPermission(): boolean;
|
|
85
92
|
hasDisallowWriteBoardPermission(): boolean;
|
|
86
93
|
hasAllowScreenShareAndBoardPermission(): boolean;
|
|
94
|
+
hasAllowWaterMarkPermission(): boolean;
|
|
95
|
+
isMulti: () => boolean;
|
|
87
96
|
getAllowedOperations(targetUserRole: FcrUserRole, isSelf: boolean): string[];
|
|
88
|
-
allowShare(state: FcrSharePermissionState
|
|
89
|
-
setAllowWriteBoard(state: FcrSharePermissionState
|
|
97
|
+
allowShare(state: FcrSharePermissionState): Promise<void>;
|
|
98
|
+
setAllowWriteBoard(state: FcrSharePermissionState): Promise<void>;
|
|
90
99
|
muteAll: () => void;
|
|
91
100
|
unmuteAll: () => void;
|
|
92
101
|
setLockRoomEnabled: (enable: boolean) => void;
|
|
@@ -110,4 +119,5 @@ export declare class FcrSecurityStore {
|
|
|
110
119
|
private _handleProcessEvent;
|
|
111
120
|
private _addReactions;
|
|
112
121
|
private _removeReactions;
|
|
122
|
+
setAllowWaterMark(state: boolean, lineType?: FcrLineType): Promise<void>;
|
|
113
123
|
}
|
|
@@ -39,6 +39,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
39
39
|
});
|
|
40
40
|
exports.FcrSecurityStore = void 0;
|
|
41
41
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
42
|
+
require("core-js/modules/es.array.concat.js");
|
|
42
43
|
require("core-js/modules/es.array.find.js");
|
|
43
44
|
require("core-js/modules/es.array.for-each.js");
|
|
44
45
|
require("core-js/modules/es.array.includes.js");
|
|
@@ -127,6 +128,9 @@ var FcrSecurityStore = exports.FcrSecurityStore = /*#__PURE__*/function () {
|
|
|
127
128
|
});
|
|
128
129
|
return !!(info !== null && info !== void 0 && info.enable);
|
|
129
130
|
}));
|
|
131
|
+
(0, _defineProperty2["default"])(this, "getWaterMarkContent", function () {
|
|
132
|
+
return _this._userControl.getWaterMarkContent() || 'Watermark';
|
|
133
|
+
});
|
|
130
134
|
(0, _defineProperty2["default"])(this, "convertSendChatPayload", function (payload) {
|
|
131
135
|
return {
|
|
132
136
|
"public": !!payload["public"],
|
|
@@ -194,7 +198,7 @@ var FcrSecurityStore = exports.FcrSecurityStore = /*#__PURE__*/function () {
|
|
|
194
198
|
return (info === null || info === void 0 ? void 0 : info.action) === _type4.FcrSecurityAction.Sharing;
|
|
195
199
|
});
|
|
196
200
|
var shareState = info === null || info === void 0 || (_info$info = info.info) === null || _info$info === void 0 ? void 0 : _info$info.payload;
|
|
197
|
-
var screenShareState = shareState.screen === _enums.FcrSharePermissionState.ON;
|
|
201
|
+
var screenShareState = (shareState === null || shareState === void 0 ? void 0 : shareState.screen) === _enums.FcrSharePermissionState.ON;
|
|
198
202
|
return screenShareState;
|
|
199
203
|
}));
|
|
200
204
|
(0, _defineProperty2["default"])(this, "allowBoardWrite", (0, _mobxUtils.computedFn)(function () {
|
|
@@ -204,7 +208,7 @@ var FcrSecurityStore = exports.FcrSecurityStore = /*#__PURE__*/function () {
|
|
|
204
208
|
return (info === null || info === void 0 ? void 0 : info.action) === _type4.FcrSecurityAction.Sharing;
|
|
205
209
|
});
|
|
206
210
|
var shareState = info === null || info === void 0 || (_info$info2 = info.info) === null || _info$info2 === void 0 ? void 0 : _info$info2.payload;
|
|
207
|
-
var boardWriteState = ((_shareState$board = shareState.board) === null || _shareState$board === void 0 ? void 0 : _shareState$board.write) === _enums.FcrSharePermissionState.ON;
|
|
211
|
+
var boardWriteState = (shareState === null || shareState === void 0 || (_shareState$board = shareState.board) === null || _shareState$board === void 0 ? void 0 : _shareState$board.write) === _enums.FcrSharePermissionState.ON;
|
|
208
212
|
return boardWriteState;
|
|
209
213
|
}));
|
|
210
214
|
(0, _defineProperty2["default"])(this, "allowUnmuteSelfVideo", (0, _mobxUtils.computedFn)(function () {
|
|
@@ -235,6 +239,17 @@ var FcrSecurityStore = exports.FcrSecurityStore = /*#__PURE__*/function () {
|
|
|
235
239
|
});
|
|
236
240
|
return !!(info !== null && info !== void 0 && info.enable);
|
|
237
241
|
}));
|
|
242
|
+
(0, _defineProperty2["default"])(this, "isWaterMarkEnabled", (0, _mobxUtils.computedFn)(function () {
|
|
243
|
+
var info = _this.securityInfos.find(function (_ref16) {
|
|
244
|
+
var info = _ref16.info;
|
|
245
|
+
return (info === null || info === void 0 ? void 0 : info.action) === _type4.FcrSecurityAction.WaterMark;
|
|
246
|
+
});
|
|
247
|
+
return !!(info !== null && info !== void 0 && info.enable);
|
|
248
|
+
}));
|
|
249
|
+
(0, _defineProperty2["default"])(this, "hasWaitingRoomPermission", function () {
|
|
250
|
+
var role = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _type4.FcrPrivilegeUserRole.PARTICIPANT;
|
|
251
|
+
return _this._hasPermission(_type4.FcrPermissionAction.WaitingRoomOpen, role);
|
|
252
|
+
});
|
|
238
253
|
(0, _defineProperty2["default"])(this, "hasMutePermission", function (targetRole) {
|
|
239
254
|
return _this._hasPermission(_type4.FcrPermissionAction.StreamMuteAudio, targetRole);
|
|
240
255
|
});
|
|
@@ -277,6 +292,9 @@ var FcrSecurityStore = exports.FcrSecurityStore = /*#__PURE__*/function () {
|
|
|
277
292
|
(0, _defineProperty2["default"])(this, "hasChatSendPublicPermission", function () {
|
|
278
293
|
return _this._hasPermission(_type4.FcrPermissionAction.ChatSendPublic, _type4.FcrPrivilegeUserRole.SELF);
|
|
279
294
|
});
|
|
295
|
+
(0, _defineProperty2["default"])(this, "hasChatSendPublicPermissionByTargetRole", function (targetRole) {
|
|
296
|
+
return _this._hasPermission(_type4.FcrPermissionAction.ChatSendPublic, targetRole);
|
|
297
|
+
});
|
|
280
298
|
// 是否有权限发送私信息
|
|
281
299
|
(0, _defineProperty2["default"])(this, "hasPermissionToSendPrivateMessage", function (targetRole) {
|
|
282
300
|
return _this._hasPermission(_type4.FcrPermissionAction.ChatSendPrivate, targetRole);
|
|
@@ -327,6 +345,20 @@ var FcrSecurityStore = exports.FcrSecurityStore = /*#__PURE__*/function () {
|
|
|
327
345
|
(0, _defineProperty2["default"])(this, "hasLockRoomPermission", function () {
|
|
328
346
|
return _this._hasPermission(_type4.FcrPermissionAction.RoomLock, _type4.FcrPrivilegeUserRole.PARTICIPANT);
|
|
329
347
|
});
|
|
348
|
+
(0, _defineProperty2["default"])(this, "hasWatermarkEnablePermission", function () {
|
|
349
|
+
return _this._hasPermission(_type4.FcrPermissionAction.RoomEnableWatermark, _type4.FcrPrivilegeUserRole.PARTICIPANT);
|
|
350
|
+
});
|
|
351
|
+
(0, _defineProperty2["default"])(this, "hasWatermarkDisablePermission", function () {
|
|
352
|
+
return _this._hasPermission(_type4.FcrPermissionAction.RoomDisableWatermark, _type4.FcrPrivilegeUserRole.PARTICIPANT);
|
|
353
|
+
});
|
|
354
|
+
(0, _defineProperty2["default"])(this, "isMulti", (0, _mobxUtils.computedFn)(function () {
|
|
355
|
+
var _info$info3;
|
|
356
|
+
var info = _this.securityInfos.find(function (_ref17) {
|
|
357
|
+
var info = _ref17.info;
|
|
358
|
+
return (info === null || info === void 0 ? void 0 : info.action) === _type4.FcrSecurityAction.WaterMark;
|
|
359
|
+
});
|
|
360
|
+
return (info === null || info === void 0 || (_info$info3 = info.info) === null || _info$info3 === void 0 ? void 0 : _info$info3.payload.lineType) === _type.FcrLineType.MULTI_ROW;
|
|
361
|
+
}));
|
|
330
362
|
//全体静音
|
|
331
363
|
(0, _defineProperty2["default"])(this, "muteAll", function () {
|
|
332
364
|
_this._streamControl.updatePublishPrivilegeOfStreams({
|
|
@@ -399,14 +431,7 @@ var FcrSecurityStore = exports.FcrSecurityStore = /*#__PURE__*/function () {
|
|
|
399
431
|
});
|
|
400
432
|
//允许屏幕共享
|
|
401
433
|
(0, _defineProperty2["default"])(this, "setAllowShareScreen", function (state) {
|
|
402
|
-
|
|
403
|
-
var payload = {
|
|
404
|
-
screen: enable,
|
|
405
|
-
board: {
|
|
406
|
-
start: enable
|
|
407
|
-
}
|
|
408
|
-
};
|
|
409
|
-
_this._privilegeControl.allowShare(state, [_type4.FcrPrivilegeUserRole.PARTICIPANT], payload);
|
|
434
|
+
_this._privilegeControl.allowShare(state, [_type4.FcrPrivilegeUserRole.PARTICIPANT]);
|
|
410
435
|
});
|
|
411
436
|
//允许开启视频
|
|
412
437
|
(0, _defineProperty2["default"])(this, "setAllowUnmuteSelfVideo", function (enable) {
|
|
@@ -419,9 +444,9 @@ var FcrSecurityStore = exports.FcrSecurityStore = /*#__PURE__*/function () {
|
|
|
419
444
|
(0, _defineProperty2["default"])(this, "_hasPermission", (0, _mobxUtils.computedFn)(function (action, targetRole) {
|
|
420
445
|
var _this$permissionInfos;
|
|
421
446
|
var convertedRole = targetRole === _type4.FcrPrivilegeUserRole.SELF ? [_this.localUser.userRole, _type4.FcrPrivilegeUserRole.SELF] : [targetRole];
|
|
422
|
-
var info = (_this$permissionInfos = _this.permissionInfos) === null || _this$permissionInfos === void 0 ? void 0 : _this$permissionInfos.find(function (
|
|
447
|
+
var info = (_this$permissionInfos = _this.permissionInfos) === null || _this$permissionInfos === void 0 ? void 0 : _this$permissionInfos.find(function (_ref18) {
|
|
423
448
|
var _info$targetRoles;
|
|
424
|
-
var info =
|
|
449
|
+
var info = _ref18.info;
|
|
425
450
|
return (info === null || info === void 0 ? void 0 : info.action) === action && ((info === null || info === void 0 || (_info$targetRoles = info.targetRoles) === null || _info$targetRoles === void 0 ? void 0 : _info$targetRoles.length) === 0 || convertedRole.some(function (role) {
|
|
426
451
|
var _info$targetRoles2;
|
|
427
452
|
return info === null || info === void 0 || (_info$targetRoles2 = info.targetRoles) === null || _info$targetRoles2 === void 0 ? void 0 : _info$targetRoles2.includes(role);
|
|
@@ -437,9 +462,9 @@ var FcrSecurityStore = exports.FcrSecurityStore = /*#__PURE__*/function () {
|
|
|
437
462
|
return _params && _params[key].includes(params[key]);
|
|
438
463
|
});
|
|
439
464
|
};
|
|
440
|
-
var info = (_this$permissionInfos2 = _this.permissionInfos) === null || _this$permissionInfos2 === void 0 ? void 0 : _this$permissionInfos2.find(function (
|
|
465
|
+
var info = (_this$permissionInfos2 = _this.permissionInfos) === null || _this$permissionInfos2 === void 0 ? void 0 : _this$permissionInfos2.find(function (_ref19) {
|
|
441
466
|
var _info$targetRoles3, _info$params;
|
|
442
|
-
var info =
|
|
467
|
+
var info = _ref19.info;
|
|
443
468
|
return (info === null || info === void 0 ? void 0 : info.action) === action && ((info === null || info === void 0 || (_info$targetRoles3 = info.targetRoles) === null || _info$targetRoles3 === void 0 ? void 0 : _info$targetRoles3.length) === 0 || convertedRole.some(function (role) {
|
|
444
469
|
var _info$targetRoles4;
|
|
445
470
|
return info === null || info === void 0 || (_info$targetRoles4 = info.targetRoles) === null || _info$targetRoles4 === void 0 ? void 0 : _info$targetRoles4.includes(role);
|
|
@@ -593,6 +618,12 @@ var FcrSecurityStore = exports.FcrSecurityStore = /*#__PURE__*/function () {
|
|
|
593
618
|
var _this$_privilegeContr;
|
|
594
619
|
return (_this$_privilegeContr = this._privilegeControl.getSecurityInfo(_type4.FcrSecurityAction.Sharing)) === null || _this$_privilegeContr === void 0 ? void 0 : _this$_privilegeContr.enable;
|
|
595
620
|
}
|
|
621
|
+
}, {
|
|
622
|
+
key: "hasAllowWaterMarkPermission",
|
|
623
|
+
value: function hasAllowWaterMarkPermission() {
|
|
624
|
+
var _this$_privilegeContr2;
|
|
625
|
+
return (_this$_privilegeContr2 = this._privilegeControl.getSecurityInfo(_type4.FcrSecurityAction.WaterMark)) === null || _this$_privilegeContr2 === void 0 ? void 0 : _this$_privilegeContr2.enable;
|
|
626
|
+
}
|
|
596
627
|
}, {
|
|
597
628
|
key: "getAllowedOperations",
|
|
598
629
|
value: function getAllowedOperations(targetUserRole, isSelf) {
|
|
@@ -634,19 +665,22 @@ var FcrSecurityStore = exports.FcrSecurityStore = /*#__PURE__*/function () {
|
|
|
634
665
|
//移除房间权限
|
|
635
666
|
operations.push('kick_out');
|
|
636
667
|
}
|
|
668
|
+
if (this.hasWaitingRoomPermission(targetUserRole)) {
|
|
669
|
+
operations.push('put_into_waiting_room');
|
|
670
|
+
}
|
|
637
671
|
return operations;
|
|
638
672
|
}
|
|
639
673
|
}, {
|
|
640
674
|
key: "allowShare",
|
|
641
675
|
value: function () {
|
|
642
|
-
var _allowShare = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(state
|
|
676
|
+
var _allowShare = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(state) {
|
|
643
677
|
var enable;
|
|
644
678
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
645
679
|
while (1) switch (_context.prev = _context.next) {
|
|
646
680
|
case 0:
|
|
647
681
|
enable = state === _enums.FcrSharePermissionState.ON;
|
|
648
682
|
_context.next = 3;
|
|
649
|
-
return this._privilegeControl.allowShare(enable, [_type4.FcrPrivilegeUserRole.PARTICIPANT]
|
|
683
|
+
return this._privilegeControl.allowShare(enable, [_type4.FcrPrivilegeUserRole.PARTICIPANT]);
|
|
650
684
|
case 3:
|
|
651
685
|
return _context.abrupt("return", _context.sent);
|
|
652
686
|
case 4:
|
|
@@ -655,7 +689,7 @@ var FcrSecurityStore = exports.FcrSecurityStore = /*#__PURE__*/function () {
|
|
|
655
689
|
}
|
|
656
690
|
}, _callee, this);
|
|
657
691
|
}));
|
|
658
|
-
function allowShare(_x
|
|
692
|
+
function allowShare(_x) {
|
|
659
693
|
return _allowShare.apply(this, arguments);
|
|
660
694
|
}
|
|
661
695
|
return allowShare;
|
|
@@ -663,7 +697,7 @@ var FcrSecurityStore = exports.FcrSecurityStore = /*#__PURE__*/function () {
|
|
|
663
697
|
}, {
|
|
664
698
|
key: "setAllowWriteBoard",
|
|
665
699
|
value: function () {
|
|
666
|
-
var _setAllowWriteBoard = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(state
|
|
700
|
+
var _setAllowWriteBoard = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(state) {
|
|
667
701
|
var enable;
|
|
668
702
|
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
669
703
|
while (1) switch (_context2.prev = _context2.next) {
|
|
@@ -671,7 +705,7 @@ var FcrSecurityStore = exports.FcrSecurityStore = /*#__PURE__*/function () {
|
|
|
671
705
|
this.logger.info('setAllowWriteBoard', state);
|
|
672
706
|
enable = state === _enums.FcrSharePermissionState.ON;
|
|
673
707
|
_context2.next = 4;
|
|
674
|
-
return this._privilegeControl.allowWriteBoard(enable, []
|
|
708
|
+
return this._privilegeControl.allowWriteBoard(enable, [_type4.FcrPrivilegeUserRole.PARTICIPANT]);
|
|
675
709
|
case 4:
|
|
676
710
|
return _context2.abrupt("return", _context2.sent);
|
|
677
711
|
case 5:
|
|
@@ -680,7 +714,7 @@ var FcrSecurityStore = exports.FcrSecurityStore = /*#__PURE__*/function () {
|
|
|
680
714
|
}
|
|
681
715
|
}, _callee2, this);
|
|
682
716
|
}));
|
|
683
|
-
function setAllowWriteBoard(
|
|
717
|
+
function setAllowWriteBoard(_x2) {
|
|
684
718
|
return _setAllowWriteBoard.apply(this, arguments);
|
|
685
719
|
}
|
|
686
720
|
return setAllowWriteBoard;
|
|
@@ -693,18 +727,23 @@ var FcrSecurityStore = exports.FcrSecurityStore = /*#__PURE__*/function () {
|
|
|
693
727
|
}, {
|
|
694
728
|
key: "_handleSecurityUpdated",
|
|
695
729
|
value: function _handleSecurityUpdated(roomId, event) {
|
|
696
|
-
var
|
|
730
|
+
var _event$operatorUser,
|
|
731
|
+
_event$operatorUser2,
|
|
732
|
+
_this$privilegeOperat,
|
|
733
|
+
_securityInfo$info,
|
|
697
734
|
_securityInfo$info2,
|
|
698
735
|
_securityInfo$info3,
|
|
699
736
|
_securityInfo$info4,
|
|
700
737
|
_securityInfo$info5,
|
|
701
738
|
_securityInfo$info6,
|
|
702
|
-
_this2 = this
|
|
739
|
+
_this2 = this,
|
|
740
|
+
_event$securityInfo$i,
|
|
741
|
+
_event$securityInfo$i2;
|
|
703
742
|
this.securityInfos = this._privilegeControl.getAllSecurityInfo();
|
|
704
743
|
this.privilegeOperator = event.operatorUser;
|
|
705
744
|
var securityInfo = event.securityInfo;
|
|
706
745
|
var enable = securityInfo.enable;
|
|
707
|
-
var operator = this.localUser.userRole === _type.FcrUserRole.HOST ? (0, _i18n.transI18n)('
|
|
746
|
+
var operator = this.localUser.userId === ((_event$operatorUser = event.operatorUser) === null || _event$operatorUser === void 0 ? void 0 : _event$operatorUser.userId) ? (0, _i18n.transI18n)('fmt_settings_labels_you') : (((_event$operatorUser2 = event.operatorUser) === null || _event$operatorUser2 === void 0 ? void 0 : _event$operatorUser2.userRole) === _type.FcrUserRole.HOST ? (0, _i18n.transI18n)('fmt_role_host') : (0, _i18n.transI18n)('fmt_role_cohost')) + " ".concat((_this$privilegeOperat = this.privilegeOperator) === null || _this$privilegeOperat === void 0 ? void 0 : _this$privilegeOperat.userName, " ");
|
|
708
747
|
if (((_securityInfo$info = securityInfo.info) === null || _securityInfo$info === void 0 ? void 0 : _securityInfo$info.action) === _type4.FcrSecurityAction.JoinWithMuteAudio) {
|
|
709
748
|
if (enable) {
|
|
710
749
|
this._uiEventStore.showToast({
|
|
@@ -785,6 +824,54 @@ var FcrSecurityStore = exports.FcrSecurityStore = /*#__PURE__*/function () {
|
|
|
785
824
|
}
|
|
786
825
|
});
|
|
787
826
|
}
|
|
827
|
+
} else if (((_event$securityInfo$i = event.securityInfo.info) === null || _event$securityInfo$i === void 0 ? void 0 : _event$securityInfo$i.action) === _type4.FcrSecurityAction.WaitingRoom) {
|
|
828
|
+
var _event$operatorUser3, _event$operatorUser4;
|
|
829
|
+
var isSelf = this.localUser.userId === ((_event$operatorUser3 = event.operatorUser) === null || _event$operatorUser3 === void 0 ? void 0 : _event$operatorUser3.userId);
|
|
830
|
+
var userName = (_event$operatorUser4 = event.operatorUser) === null || _event$operatorUser4 === void 0 ? void 0 : _event$operatorUser4.userName;
|
|
831
|
+
if (!isSelf) {
|
|
832
|
+
if (enable) {
|
|
833
|
+
this._uiEventStore.showToast({
|
|
834
|
+
type: 'normal',
|
|
835
|
+
message: "".concat(userName).concat((0, _i18n.transI18n)('fmt_waitingroom_setting_tips_enable'))
|
|
836
|
+
});
|
|
837
|
+
} else {
|
|
838
|
+
this._uiEventStore.showToast({
|
|
839
|
+
type: 'normal',
|
|
840
|
+
message: "".concat(userName).concat((0, _i18n.transI18n)('fmt_waitingroom_mobile_setting_label_disable'))
|
|
841
|
+
});
|
|
842
|
+
}
|
|
843
|
+
}
|
|
844
|
+
} else if (((_event$securityInfo$i2 = event.securityInfo.info) === null || _event$securityInfo$i2 === void 0 ? void 0 : _event$securityInfo$i2.action) == _type4.FcrSecurityAction.WaterMark) {
|
|
845
|
+
var _event$securityInfo$i3;
|
|
846
|
+
var _enable = event.securityInfo.enable;
|
|
847
|
+
if (this._prevWaterMarkEnable !== _enable) {
|
|
848
|
+
var _event$operatorUser5;
|
|
849
|
+
var toastText = '';
|
|
850
|
+
var roleValue = (_event$operatorUser5 = event.operatorUser) === null || _event$operatorUser5 === void 0 ? void 0 : _event$operatorUser5.userRole;
|
|
851
|
+
var canTriggerToast = roleValue === _type.FcrUserRole.HOST || roleValue === _type.FcrUserRole.COHOST;
|
|
852
|
+
if (canTriggerToast) {
|
|
853
|
+
if (_enable) {
|
|
854
|
+
if (roleValue === _type.FcrUserRole.HOST) {
|
|
855
|
+
toastText = (0, _i18n.transI18n)('fmt_security_setting_popup_toast_facilitator_watermark');
|
|
856
|
+
} else if (roleValue === _type.FcrUserRole.COHOST) {
|
|
857
|
+
toastText = (0, _i18n.transI18n)('fmt_security_setting_popup_toast_co_facilitator_watermark');
|
|
858
|
+
}
|
|
859
|
+
} else {
|
|
860
|
+
toastText = (0, _i18n.transI18n)('fmt_security_setting_popup_toast_turn_off_watermark');
|
|
861
|
+
}
|
|
862
|
+
this._prevWaterMarkEnable = _enable;
|
|
863
|
+
if (toastText) {
|
|
864
|
+
this._uiEventStore.showToast({
|
|
865
|
+
type: 'normal',
|
|
866
|
+
message: toastText
|
|
867
|
+
});
|
|
868
|
+
}
|
|
869
|
+
}
|
|
870
|
+
}
|
|
871
|
+
this._uiEventStore.sendEvent(_constant.UIAction.WATERMARK_INFO_UPDATE, {
|
|
872
|
+
enable: _enable,
|
|
873
|
+
lineType: (_event$securityInfo$i3 = event.securityInfo.info) === null || _event$securityInfo$i3 === void 0 ? void 0 : _event$securityInfo$i3.payload.lineType
|
|
874
|
+
});
|
|
788
875
|
}
|
|
789
876
|
}
|
|
790
877
|
}, {
|
|
@@ -840,9 +927,9 @@ var FcrSecurityStore = exports.FcrSecurityStore = /*#__PURE__*/function () {
|
|
|
840
927
|
}, {
|
|
841
928
|
key: "_handleProcessEvent",
|
|
842
929
|
value: function _handleProcessEvent(event) {
|
|
843
|
-
var
|
|
844
|
-
action =
|
|
845
|
-
payload =
|
|
930
|
+
var _ref20 = event,
|
|
931
|
+
action = _ref20.action,
|
|
932
|
+
payload = _ref20.payload;
|
|
846
933
|
switch (action) {
|
|
847
934
|
case _constant.RendererEventAction.FRAGMENT_SET_ALLOW_CHANGE_SELF_NAME:
|
|
848
935
|
// this.setAllowChangeSelfName(payload.allow);
|
|
@@ -856,6 +943,11 @@ var FcrSecurityStore = exports.FcrSecurityStore = /*#__PURE__*/function () {
|
|
|
856
943
|
case _constant.RendererEventAction.FRAGMENT_SET_ALLOW_SHARE_SCREEN:
|
|
857
944
|
this.setAllowShareScreen(payload.allow);
|
|
858
945
|
break;
|
|
946
|
+
case _constant.RendererEventAction.FRAGMENT_SET_ALLOW_BOARD_WRITE:
|
|
947
|
+
{
|
|
948
|
+
this.setAllowWriteBoard(_enums.FcrSharePermissionState.ON);
|
|
949
|
+
break;
|
|
950
|
+
}
|
|
859
951
|
case _constant.RendererEventAction.FRAGMENT_SET_ALLOW_UNMUTE_SELF_VIDEO:
|
|
860
952
|
this.setAllowUnmuteSelfVideo(payload.allow);
|
|
861
953
|
break;
|
|
@@ -896,6 +988,11 @@ var FcrSecurityStore = exports.FcrSecurityStore = /*#__PURE__*/function () {
|
|
|
896
988
|
return _this3.allowScreenShareAndBoard();
|
|
897
989
|
},
|
|
898
990
|
action: _constant.RendererEventAction.MAIN_SET_ALLOW_SHARE_SCREEN
|
|
991
|
+
}, {
|
|
992
|
+
observable: function observable() {
|
|
993
|
+
return _this3.allowBoardWrite();
|
|
994
|
+
},
|
|
995
|
+
action: _constant.RendererEventAction.MAIN_SET_ALLOW_BOARD_WRITE
|
|
899
996
|
}, {
|
|
900
997
|
observable: function observable() {
|
|
901
998
|
return _this3.allowUnmuteSelfVideo();
|
|
@@ -979,9 +1076,9 @@ var FcrSecurityStore = exports.FcrSecurityStore = /*#__PURE__*/function () {
|
|
|
979
1076
|
},
|
|
980
1077
|
action: _constant.RendererEventAction.LOCK_ROOM_PERMISSION
|
|
981
1078
|
}];
|
|
982
|
-
securityReactions.forEach(function (
|
|
983
|
-
var observable =
|
|
984
|
-
action =
|
|
1079
|
+
securityReactions.forEach(function (_ref21) {
|
|
1080
|
+
var observable = _ref21.observable,
|
|
1081
|
+
action = _ref21.action;
|
|
985
1082
|
_this3._disposers.push((0, _mobx.reaction)(observable, function (allow) {
|
|
986
1083
|
window.runtime.sendEvent({
|
|
987
1084
|
action: action,
|
|
@@ -1000,10 +1097,32 @@ var FcrSecurityStore = exports.FcrSecurityStore = /*#__PURE__*/function () {
|
|
|
1000
1097
|
});
|
|
1001
1098
|
this._disposers = [];
|
|
1002
1099
|
}
|
|
1100
|
+
}, {
|
|
1101
|
+
key: "setAllowWaterMark",
|
|
1102
|
+
value: function () {
|
|
1103
|
+
var _setAllowWaterMark = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(state, lineType) {
|
|
1104
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
1105
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
1106
|
+
case 0:
|
|
1107
|
+
_context3.next = 2;
|
|
1108
|
+
return this._privilegeControl.allowWatermark(state, [_type4.FcrPrivilegeUserRole.PARTICIPANT], lineType);
|
|
1109
|
+
case 2:
|
|
1110
|
+
return _context3.abrupt("return", _context3.sent);
|
|
1111
|
+
case 3:
|
|
1112
|
+
case "end":
|
|
1113
|
+
return _context3.stop();
|
|
1114
|
+
}
|
|
1115
|
+
}, _callee3, this);
|
|
1116
|
+
}));
|
|
1117
|
+
function setAllowWaterMark(_x3, _x4) {
|
|
1118
|
+
return _setAllowWaterMark.apply(this, arguments);
|
|
1119
|
+
}
|
|
1120
|
+
return setAllowWaterMark;
|
|
1121
|
+
}()
|
|
1003
1122
|
}]);
|
|
1004
1123
|
}();
|
|
1005
1124
|
_FcrSecurityStore = FcrSecurityStore;
|
|
1006
|
-
var _applyDecs$e = _applyDecs(_FcrSecurityStore, [[_mobx.observable, 1, "securityInfos"], [_mobx.observable, 1, "permissionInfos"], [_mobx.observable, 1, "privilegeOperator"], [_mobx.observable, 1, "boardOwnerUser"], [_handlePermissionUpdatedDecs, 18, "_handlePermissionUpdated"], [_handleSecurityUpdatedDecs, 18, "_handleSecurityUpdated"], [_decorator.bound, 2, "_handleProcessEvent"], [_decorator.bound, 2, "_addReactions"], [_decorator.bound, 2, "_removeReactions"]], []).e;
|
|
1125
|
+
var _applyDecs$e = _applyDecs(_FcrSecurityStore, [[_mobx.observable, 1, "securityInfos"], [_mobx.observable, 1, "permissionInfos"], [_mobx.observable, 1, "privilegeOperator"], [_mobx.observable, 1, "boardOwnerUser"], [_handlePermissionUpdatedDecs, 18, "_handlePermissionUpdated"], [_handleSecurityUpdatedDecs, 18, "_handleSecurityUpdated"], [_decorator.bound, 2, "_handleProcessEvent"], [_decorator.bound, 2, "_addReactions"], [_decorator.bound, 2, "_removeReactions"], [_decorator.bound, 2, "setAllowWaterMark"]], []).e;
|
|
1007
1126
|
var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e, 5);
|
|
1008
1127
|
_init_securityInfos = _applyDecs$e2[0];
|
|
1009
1128
|
_init_permissionInfos = _applyDecs$e2[1];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|