fcr-ui-scene 3.7.1 → 3.7.3
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/lib/creator.js +23 -44
- package/lib/electron/app.js +7 -0
- package/lib/electron/injections.d.ts +1 -1
- package/lib/electron/injections.js +5 -3
- package/lib/electron/main.js +3 -1
- package/lib/fragments/annotation/index.d.ts +1 -0
- package/lib/fragments/annotation/index.js +13 -7
- package/lib/fragments/annotation/store.d.ts +8 -4
- package/lib/fragments/annotation/store.js +353 -268
- package/lib/fragments/annotation/toolbar/components/color-tool/index.js +4 -0
- package/lib/fragments/annotation/toolbar/components/graphic-tool/index.js +4 -0
- package/lib/fragments/annotation/toolbar/components/item/item.d.ts +2 -0
- package/lib/fragments/annotation/toolbar/components/item/item.js +2 -4
- package/lib/fragments/annotation/toolbar/components/item/style.css +4 -2
- package/lib/fragments/annotation/toolbar/components/pen-tool/index.js +4 -0
- package/lib/fragments/annotation/utils.d.ts +1 -0
- package/lib/fragments/annotation/utils.js +27 -0
- package/lib/fragments/annotation/view.js +1 -6
- package/lib/fragments/base.js +5 -3
- package/lib/fragments/whiteboard/cursor.css +77 -0
- package/lib/fragments/whiteboard/index.d.ts +11 -0
- package/lib/fragments/whiteboard/index.js +91 -0
- package/lib/fragments/whiteboard/store.d.ts +31 -0
- package/lib/fragments/whiteboard/store.js +475 -0
- package/lib/fragments/whiteboard/style.css +4 -0
- package/lib/fragments/whiteboard/view.d.ts +4 -0
- package/lib/fragments/whiteboard/view.js +31 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/modules/action-bar/components/apps/index.js +15 -5
- package/lib/modules/action-bar/components/leave/index.js +4 -11
- package/lib/modules/action-bar/view.d.ts +1 -0
- package/lib/modules/action-bar/view.js +3 -2
- package/lib/modules/annotation/annotation-toolbar-store.d.ts +4 -11
- package/lib/modules/annotation/annotation-toolbar-store.js +46 -88
- package/lib/modules/annotation/board-cursor.css +2 -1
- package/lib/modules/annotation/index.d.ts +2 -0
- package/lib/modules/annotation/index.js +2 -2
- package/lib/modules/annotation/store.d.ts +11 -49
- package/lib/modules/annotation/store.js +135 -418
- package/lib/modules/annotation/view.js +3 -6
- package/lib/modules/components/control-bar/components/loading/index.css +76 -0
- package/lib/modules/components/control-bar/components/loading/index.d.ts +8 -0
- package/lib/modules/components/control-bar/components/loading/index.js +64 -0
- package/lib/modules/components/control-bar/components/loading/loading.png +0 -0
- package/lib/modules/components/control-bar/components/progress/index.d.ts +5 -0
- package/lib/modules/components/control-bar/components/progress/index.js +43 -0
- package/lib/modules/components/control-bar/components/progress/style.css +51 -0
- package/lib/modules/components/control-bar/components/switch-theme/index.css +99 -0
- package/lib/modules/components/control-bar/components/switch-theme/index.d.ts +9 -0
- package/lib/modules/components/control-bar/components/switch-theme/index.js +94 -0
- package/lib/modules/components/control-bar/components/switch-theme/item.d.ts +9 -0
- package/lib/modules/components/control-bar/components/switch-theme/item.js +54 -0
- package/lib/modules/components/control-bar/components/switch-theme/libs.d.ts +4 -0
- package/lib/modules/components/control-bar/components/switch-theme/libs.js +31 -0
- package/lib/modules/components/control-bar/index.css +87 -0
- package/lib/modules/components/control-bar/index.d.ts +20 -0
- package/lib/modules/components/control-bar/index.js +276 -0
- package/lib/modules/components/leave-meeting/components/index.css +0 -9
- package/lib/modules/components/leave-meeting/index.d.ts +2 -1
- package/lib/modules/components/leave-meeting/index.js +15 -7
- package/lib/modules/components/leave-meeting/portal.d.ts +6 -0
- package/lib/modules/components/leave-meeting/portal.js +29 -0
- package/lib/modules/components/leave-meeting/style.css +9 -0
- package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +5 -2
- package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +19 -9
- package/lib/modules/components/member-window/components/member-actions/components/share-status.js +4 -4
- package/lib/modules/components/member-window/components/member-actions/index.js +13 -6
- package/lib/modules/components/member-window/components/member-actions/provider.d.ts +1 -0
- package/lib/modules/components/member-window/components/member-actions/provider.js +4 -3
- package/lib/modules/components/member-window/components/member-actions/store.d.ts +2 -1
- package/lib/modules/components/member-window/components/member-actions/store.js +5 -1
- package/lib/modules/components/member-window/index.css +4 -0
- package/lib/modules/components/member-window/types.d.ts +6 -2
- package/lib/modules/components/toolbar/components/capture-tool/index.d.ts +9 -0
- package/lib/modules/components/toolbar/components/capture-tool/index.js +68 -0
- package/lib/modules/components/toolbar/components/clean-tool/index.d.ts +11 -0
- package/lib/modules/components/toolbar/components/clean-tool/index.js +71 -0
- package/lib/modules/components/toolbar/components/color-tool/color-panel/index.d.ts +11 -0
- package/lib/modules/components/toolbar/components/color-tool/color-panel/index.js +77 -0
- package/lib/modules/components/toolbar/components/color-tool/index.d.ts +14 -0
- package/lib/modules/components/toolbar/components/color-tool/index.js +66 -0
- package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/index.d.ts +11 -0
- package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/index.js +64 -0
- package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +12 -0
- package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/libs.js +65 -0
- package/lib/modules/components/toolbar/components/graphic-tool/index.d.ts +15 -0
- package/lib/modules/components/toolbar/components/graphic-tool/index.js +82 -0
- package/lib/modules/components/toolbar/components/group-tool/index.d.ts +5 -0
- package/lib/modules/components/toolbar/components/group-tool/index.js +43 -0
- package/lib/modules/components/toolbar/components/icons/fold-icon.d.ts +2 -0
- package/lib/modules/components/toolbar/components/icons/fold-icon.js +41 -0
- package/lib/modules/components/toolbar/components/icons/move-icon.d.ts +1 -0
- package/lib/modules/components/toolbar/components/icons/move-icon.js +66 -0
- package/lib/modules/components/toolbar/components/item/index.d.ts +25 -0
- package/lib/modules/components/toolbar/components/item/index.js +165 -0
- package/lib/modules/components/toolbar/components/item/style.css +94 -0
- package/lib/modules/components/toolbar/components/multiple-color-tool/index.d.ts +12 -0
- package/lib/modules/components/toolbar/components/multiple-color-tool/index.js +75 -0
- package/lib/modules/components/toolbar/components/panel/index.d.ts +9 -0
- package/lib/modules/components/toolbar/components/panel/index.js +28 -0
- package/lib/modules/components/toolbar/components/panel/style.css +86 -0
- package/lib/modules/components/toolbar/components/pen-tool/index.d.ts +13 -0
- package/lib/modules/components/toolbar/components/pen-tool/index.js +62 -0
- package/lib/modules/components/toolbar/components/pen-tool/pen-panel/index.d.ts +8 -0
- package/lib/modules/components/toolbar/components/pen-tool/pen-panel/index.js +39 -0
- package/lib/modules/components/toolbar/components/save-draft/index.d.ts +7 -0
- package/lib/modules/components/toolbar/components/save-draft/index.js +59 -0
- package/lib/modules/components/toolbar/components/vertical-frame/index.d.ts +8 -0
- package/lib/modules/components/toolbar/components/vertical-frame/index.js +179 -0
- package/lib/modules/components/toolbar/hooks/use-resize-visible.d.ts +4 -0
- package/lib/modules/components/toolbar/hooks/use-resize-visible.js +59 -0
- package/lib/modules/components/toolbar/index.d.ts +29 -0
- package/lib/modules/components/toolbar/index.js +258 -0
- package/lib/modules/components/toolbar/style.css +85 -0
- package/lib/modules/components/toolbar/types.d.ts +13 -0
- package/lib/modules/components/toolbar/types.js +6 -0
- package/lib/modules/control-bar/components/more-actions/index.js +0 -6
- package/lib/modules/control-bar/components/share-state-nav/index.js +3 -2
- package/lib/modules/control-bar/index.js +2 -1
- package/lib/modules/control-bar/store.d.ts +7 -6
- package/lib/modules/control-bar/store.js +28 -21
- package/lib/modules/control-bar/view.js +7 -55
- package/lib/modules/dialog/dialogs/control-bar/index.d.ts +1 -0
- package/lib/modules/dialog/dialogs/control-bar/index.js +17 -3
- package/lib/modules/dialog/dialogs/participant/components/title.js +1 -1
- package/lib/modules/dialog/dialogs/sub-window/index.d.ts +2 -0
- package/lib/modules/dialog/dialogs/sub-window/index.js +98 -0
- package/lib/modules/dialog/dialogs/video-window/index.d.ts +1 -0
- package/lib/modules/dialog/dialogs/video-window/index.js +3 -2
- package/lib/modules/dialog/dialogs/whiteboard/index.js +0 -1
- package/lib/modules/dialog/hooks/use-popover-watcher.js +1 -2
- package/lib/modules/dialog/hooks/useElectron.d.ts +13 -0
- package/lib/modules/dialog/hooks/useElectron.js +62 -12
- package/lib/modules/dialog/index.d.ts +6 -3
- package/lib/modules/dialog/index.js +5 -3
- package/lib/modules/dialog/store.d.ts +21 -8
- package/lib/modules/dialog/store.js +79 -11
- package/lib/modules/dialog/type.d.ts +8 -0
- package/lib/modules/event-confirm/index.css +5 -2
- package/lib/modules/event-confirm/store.js +6 -7
- package/lib/modules/event-confirm/view.js +1 -1
- package/lib/modules/event-sound/index.d.ts +1 -0
- package/lib/modules/event-sound/index.js +11 -24
- package/lib/modules/invite/components/pstn-invite.js +0 -1
- package/lib/modules/layout/components/CommonVideoRenderer.js +21 -21
- package/lib/modules/layout/components/who-is-speaking.js +3 -6
- package/lib/modules/layout/index.d.ts +3 -1
- package/lib/modules/layout/index.js +2 -1
- package/lib/modules/layout/store.d.ts +9 -59
- package/lib/modules/layout/store.js +162 -37
- package/lib/modules/layout/type.d.ts +55 -0
- package/lib/modules/participant/components/can-moveable/index.js +0 -1
- package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +4 -2
- package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +14 -2
- package/lib/modules/participant/components/participants/components/participants/components/user-row/index.d.ts +1 -1
- package/lib/modules/participant/components/participants/components/participants/components/user-row/index.js +3 -2
- package/lib/modules/participant/components/participants/components/participants/index.js +3 -2
- package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.d.ts +1 -0
- package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.js +3 -1
- package/lib/modules/participant/components/participants/components/render-user/components/user-action/index.js +4 -2
- package/lib/modules/participant/components/participants/components/render-user/index.d.ts +4 -2
- package/lib/modules/participant/components/participants/components/render-user/index.js +5 -3
- package/lib/modules/participant/components/participants/index.js +5 -2
- package/lib/modules/participant/components/participants/types.d.ts +3 -0
- package/lib/modules/participant/index.d.ts +2 -0
- package/lib/modules/participant/index.js +2 -1
- package/lib/modules/participant/store.d.ts +5 -1
- package/lib/modules/participant/store.js +8 -1
- package/lib/modules/secondary-window/index.d.ts +49 -0
- package/lib/modules/secondary-window/index.js +108 -0
- package/lib/modules/secondary-window/store.d.ts +76 -0
- package/lib/modules/secondary-window/store.js +407 -0
- package/lib/modules/secondary-window/type.d.ts +106 -0
- package/lib/modules/secondary-window/type.js +35 -0
- package/lib/modules/secondary-window/view.d.ts +6 -0
- package/lib/modules/secondary-window/view.js +257 -0
- package/lib/modules/setting/general-settings/general-settings.js +9 -0
- package/lib/modules/setting/state/index.js +0 -10
- package/lib/modules/setting/store.d.ts +1 -0
- package/lib/modules/setting/store.js +6 -3
- package/lib/modules/share-screen/components/control-bar/index.d.ts +14 -1
- package/lib/modules/share-screen/components/control-bar/index.js +17 -12
- package/lib/modules/share-screen/components/selection/index.js +10 -15
- package/lib/modules/share-screen/index.d.ts +4 -1
- package/lib/modules/share-screen/index.js +6 -3
- package/lib/modules/share-screen/store.d.ts +9 -9
- package/lib/modules/share-screen/store.js +39 -64
- package/lib/modules/state-bar/index.d.ts +2 -0
- package/lib/modules/state-bar/index.js +2 -1
- package/lib/modules/state-bar/live-streaming-state.js +0 -1
- package/lib/modules/state-bar/store.d.ts +5 -2
- package/lib/modules/state-bar/store.js +14 -7
- package/lib/modules/state-bar/view.js +3 -3
- package/lib/modules/video-window/components/members/index.js +7 -12
- package/lib/modules/video-window/store.d.ts +1 -0
- package/lib/modules/video-window/store.js +5 -0
- package/lib/modules/whiteboard/components/toolbar/store.d.ts +2 -2
- package/lib/modules/whiteboard/index.d.ts +10 -13
- package/lib/modules/whiteboard/index.js +12 -11
- package/lib/providers/ability-provider.js +2 -0
- package/lib/providers/device-provider.d.ts +6 -3
- package/lib/providers/device-provider.js +336 -333
- package/lib/providers/multi-display-provider.d.ts +85 -0
- package/lib/providers/multi-display-provider.js +581 -0
- package/lib/providers/privilege-provider.js +1 -7
- package/lib/providers/room-provider.js +7 -1
- package/lib/providers/screen-share-provider.d.ts +3 -1
- package/lib/providers/screen-share-provider.js +39 -40
- package/lib/providers/sharing-provider.d.ts +7 -1
- package/lib/providers/sharing-provider.js +32 -3
- package/lib/providers/whiteboard-provider.d.ts +24 -0
- package/lib/providers/whiteboard-provider.js +127 -0
- package/lib/runtime.d.ts +1 -0
- package/lib/scenes/main-scene.d.ts +6 -0
- package/lib/scenes/main-scene.js +38 -2
- package/lib/scenes/waiting-scene.d.ts +0 -2
- package/lib/scenes/waiting-scene.js +0 -6
- package/lib/shared-data-source/member-data.d.ts +2 -2
- package/lib/shared-data-source/screen-share-data.d.ts +6 -0
- package/lib/shared-data-source/screen-share-data.js +5 -0
- package/lib/shared-data-source/setting.js +2 -1
- package/lib/shared-data-source/video-window.d.ts +2 -0
- package/lib/shared-data-source/video-window.js +19 -6
- package/lib/shared-data-source/whiteboard-data.d.ts +68 -0
- package/lib/shared-data-source/whiteboard-data.js +347 -0
- package/lib/translations/enUS.d.ts +1 -0
- package/lib/translations/enUS.js +2 -1
- package/lib/translations/zhCN.d.ts +1 -0
- package/lib/translations/zhCN.js +2 -1
- package/lib/ui-scene.d.ts +0 -1
- package/lib/ui-scene.js +0 -3
- package/lib/utilities/constant.d.ts +4 -2
- package/lib/utilities/constant.js +3 -1
- package/lib/utilities/debug.d.ts +4 -0
- package/lib/utilities/debug.js +40 -0
- package/lib/utilities/dialog-utils.js +26 -4
- package/lib/utilities/meeting-detail.js +4 -1
- package/lib/utilities/renderer-event.d.ts +4 -6
- package/lib/utilities/renderer-event.js +23 -43
- package/lib/utilities/renderer.d.ts +1 -1
- package/lib/utilities/renderer.js +44 -10
- package/lib/utilities/shared-storage.d.ts +18 -0
- package/lib/utilities/shared-storage.js +63 -0
- package/lib/utilities/tools.js +2 -1
- package/package.json +5 -6
- package/lib/electron/tools.d.ts +0 -5
- package/lib/electron/tools.js +0 -62
|
@@ -21,37 +21,23 @@ var _memberWindow = require("../../components/member-window");
|
|
|
21
21
|
var _screen = require("../../../utilities/screen");
|
|
22
22
|
var _react = require("react");
|
|
23
23
|
var _fcrCore = require("fcr-core");
|
|
24
|
-
var _muteAction = require("../../../utilities/mute-action");
|
|
25
24
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
26
25
|
var _mobxReact = require("mobx-react");
|
|
27
26
|
var _Gallery = require("./Gallery");
|
|
28
27
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
29
28
|
var useFormatWindowData = function useFormatWindowData() {
|
|
30
29
|
var _useContext = (0, _react.useContext)(_store.StoreContext),
|
|
31
|
-
hasMutePermission = _useContext.hasMutePermission,
|
|
32
|
-
hasUnmutePermission = _useContext.hasUnmutePermission,
|
|
33
|
-
hasRequestStartAudioPermission = _useContext.hasRequestStartAudioPermission,
|
|
34
30
|
userVolumeMap = _useContext.userVolumeMap,
|
|
35
31
|
getAllowedOperations = _useContext.getAllowedOperations;
|
|
36
32
|
return function (windowData) {
|
|
37
33
|
var isMySelf = windowData.isMySelf,
|
|
38
|
-
hasMicrophoneAudioStream = windowData.hasMicrophoneAudioStream,
|
|
39
34
|
ownerRoleType = windowData.ownerRoleType,
|
|
40
35
|
videoStreamId = windowData.videoStreamId,
|
|
41
36
|
audioStreamId = windowData.audioStreamId;
|
|
42
|
-
var targetRole = isMySelf ? _fcrCore.FcrPrivilegeUserRole.SELF : ownerRoleType;
|
|
43
|
-
var muteAudioPermission = hasMutePermission(targetRole);
|
|
44
|
-
var startAudioPermission = hasUnmutePermission(targetRole);
|
|
45
|
-
var requestStartAudioPermission = hasRequestStartAudioPermission(ownerRoleType);
|
|
46
|
-
var _actionMute = (0, _muteAction.actionMute)(isMySelf, hasMicrophoneAudioStream, muteAudioPermission, startAudioPermission, requestStartAudioPermission),
|
|
47
|
-
isShowActionAudio = _actionMute.isShowActionAudio,
|
|
48
|
-
actionAudioTag = _actionMute.actionAudioTag;
|
|
49
37
|
var id = isMySelf ? '0' : videoStreamId || audioStreamId;
|
|
50
38
|
var volume = userVolumeMap.get(id || '') || 0;
|
|
51
39
|
var allowedOperations = getAllowedOperations(ownerRoleType, isMySelf);
|
|
52
40
|
return {
|
|
53
|
-
isShowActionAudio: isShowActionAudio,
|
|
54
|
-
actionAudioTag: actionAudioTag,
|
|
55
41
|
volume: volume,
|
|
56
42
|
id: id,
|
|
57
43
|
allowedOperations: allowedOperations
|
|
@@ -72,7 +58,7 @@ var useCommonProps = function useCommonProps(layoutType) {
|
|
|
72
58
|
}) : 'fcr-layout-content-carousel-item';
|
|
73
59
|
var showToolbar = isGridLayout && isMainWindow;
|
|
74
60
|
var list = isGridLayout ? galleryList : carouselList;
|
|
75
|
-
var canShowSpeakerSpotlight = isGridLayout ? galleryList.length >
|
|
61
|
+
var canShowSpeakerSpotlight = isGridLayout ? galleryList.length > 2 : true;
|
|
76
62
|
var isMask = isGridLayout ? !isMainWindow : true;
|
|
77
63
|
var isToggleMainStream = isGridLayout && layout === _type.FcrUIVideoWindowLayoutType.Speaker && isMainWindow;
|
|
78
64
|
var memberWindowPreviewType = isGridLayout ? _type.FcrUILayoutType.GALLERY : _type.FcrUILayoutType.CAROUSEL;
|
|
@@ -118,7 +104,12 @@ var CommonVideoRenderer = exports.CommonVideoRenderer = (0, _mobxReact.observer)
|
|
|
118
104
|
scalcValue = _useContext3.scalcValue,
|
|
119
105
|
setScaleValue = _useContext3.setScaleValue,
|
|
120
106
|
screenShareControl = _useContext3.screenShareControl,
|
|
121
|
-
annotation = _useContext3.annotation
|
|
107
|
+
annotation = _useContext3.annotation,
|
|
108
|
+
isLocalCameraInSecondaryWindow = _useContext3.isLocalCameraInSecondaryWindow,
|
|
109
|
+
microphoneEnabled = _useContext3.microphoneEnabled,
|
|
110
|
+
hasMutePermission = _useContext3.hasMutePermission,
|
|
111
|
+
hasUnmutePermission = _useContext3.hasUnmutePermission,
|
|
112
|
+
hasRequestStartAudioPermission = _useContext3.hasRequestStartAudioPermission;
|
|
122
113
|
var getFormatWindowData = useFormatWindowData();
|
|
123
114
|
var commonProps = useCommonProps(layoutType);
|
|
124
115
|
var toggleFullScreen = function toggleFullScreen() {
|
|
@@ -144,8 +135,6 @@ var CommonVideoRenderer = exports.CommonVideoRenderer = (0, _mobxReact.observer)
|
|
|
144
135
|
};
|
|
145
136
|
var renderMemberWindowActions = function renderMemberWindowActions(windowData, isBoard) {
|
|
146
137
|
var _getFormatWindowData = getFormatWindowData(windowData),
|
|
147
|
-
isShowActionAudio = _getFormatWindowData.isShowActionAudio,
|
|
148
|
-
actionAudioTag = _getFormatWindowData.actionAudioTag,
|
|
149
138
|
id = _getFormatWindowData.id,
|
|
150
139
|
volume = _getFormatWindowData.volume,
|
|
151
140
|
allowedOperations = _getFormatWindowData.allowedOperations;
|
|
@@ -153,8 +142,6 @@ var CommonVideoRenderer = exports.CommonVideoRenderer = (0, _mobxReact.observer)
|
|
|
153
142
|
var iconSize = isBoard ? 24 : commonProps.iconSize;
|
|
154
143
|
var windowSize = isBoard ? 'large' : commonProps.windowSize;
|
|
155
144
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_memberActions.MemberWindowActions, {
|
|
156
|
-
isShowActionAudio: isShowActionAudio,
|
|
157
|
-
actionAudioTag: actionAudioTag,
|
|
158
145
|
showActionBottomLabel: showActionBottomLabel,
|
|
159
146
|
allowedOperations: allowedOperations,
|
|
160
147
|
setVideoOrientation: setVideoOrientation,
|
|
@@ -171,7 +158,12 @@ var CommonVideoRenderer = exports.CommonVideoRenderer = (0, _mobxReact.observer)
|
|
|
171
158
|
id: id,
|
|
172
159
|
volume: volume,
|
|
173
160
|
iconSize: iconSize,
|
|
174
|
-
windowSize: windowSize
|
|
161
|
+
windowSize: windowSize,
|
|
162
|
+
isLocalCameraInSecondaryWindow: isLocalCameraInSecondaryWindow,
|
|
163
|
+
deviceMicrophoneEnabled: microphoneEnabled,
|
|
164
|
+
hasMutePermission: hasMutePermission,
|
|
165
|
+
hasUnmutePermission: hasUnmutePermission,
|
|
166
|
+
hasRequestStartAudioPermission: hasRequestStartAudioPermission
|
|
175
167
|
});
|
|
176
168
|
};
|
|
177
169
|
var handleDoubleClick = function handleDoubleClick(windowId, isScreenSharing, isPin) {
|
|
@@ -193,6 +185,13 @@ var CommonVideoRenderer = exports.CommonVideoRenderer = (0, _mobxReact.observer)
|
|
|
193
185
|
videoSourceType = windowData.videoSourceType;
|
|
194
186
|
var isBoard = type === _type.FcrUIWindowType.BOARD;
|
|
195
187
|
var isScreenSharing = videoSourceType === _fcrCore.FcrVideoSourceType.SCREEN;
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* 在共享时,主窗口会有一个额外的控制条,需要将视频内容减去这个高度(28px),所以增加一个class用来覆盖高度样式
|
|
191
|
+
*/
|
|
192
|
+
var clsWithShareControlBar = (0, _classnames["default"])({
|
|
193
|
+
'fcr-member-window-with-share-controlbar': isMainWindowInScreenSharing
|
|
194
|
+
});
|
|
196
195
|
/**
|
|
197
196
|
* 在只有一个用户时,无法开启网格布局,所以可以通过 data.length 和 layoutType 判断是否是主窗口。
|
|
198
197
|
*/
|
|
@@ -207,6 +206,7 @@ var CommonVideoRenderer = exports.CommonVideoRenderer = (0, _mobxReact.observer)
|
|
|
207
206
|
width: dimensions.width,
|
|
208
207
|
height: dimensions.height
|
|
209
208
|
},
|
|
209
|
+
className: clsWithShareControlBar,
|
|
210
210
|
children: [isMainWindowInScreenSharing && screenShareControl, /*#__PURE__*/(0, _jsxRuntime.jsx)(_memberWindow.MemberWindow, {
|
|
211
211
|
memberWindowPreviewType: commonProps.memberWindowPreviewType,
|
|
212
212
|
canShowSpeakerSpotlight: commonProps.canShowSpeakerSpotlight,
|
|
@@ -13,7 +13,6 @@ var _icon = require("agora-ui-foundation/lib/components/icon");
|
|
|
13
13
|
var _type = require("agora-ui-foundation/lib/components/icon/type");
|
|
14
14
|
var _i18n = require("agora-ui-foundation/lib/i18n");
|
|
15
15
|
var _store = require("../store");
|
|
16
|
-
var _type2 = require("../type");
|
|
17
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
17
|
var CarouselExpandButton = exports.CarouselExpandButton = (0, _mobxReact.observer)(function () {
|
|
19
18
|
var _useContext = (0, _react.useContext)(_store.StoreContext),
|
|
@@ -41,14 +40,12 @@ var CarouselExpandButton = exports.CarouselExpandButton = (0, _mobxReact.observe
|
|
|
41
40
|
var WhoIsSpeaking = exports.WhoIsSpeaking = (0, _mobxReact.observer)(function () {
|
|
42
41
|
var t = (0, _i18n.useI18n)();
|
|
43
42
|
var _useContext2 = (0, _react.useContext)(_store.StoreContext),
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
findSpotlightUser = _useContext2.findSpotlightUser;
|
|
43
|
+
findSpotlightUser = _useContext2.findSpotlightUser,
|
|
44
|
+
isWhoISpeakingActive = _useContext2.isWhoISpeakingActive;
|
|
47
45
|
var userName = findSpotlightUser === null || findSpotlightUser === void 0 ? void 0 : findSpotlightUser.userName;
|
|
48
|
-
var active = userName && layout === _type2.FcrUIVideoWindowLayoutType.Speaker && collapsed;
|
|
49
46
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
50
47
|
className: (0, _classnames["default"])('fcr-layout-speaking', {
|
|
51
|
-
'fcr-layout-speaking-active':
|
|
48
|
+
'fcr-layout-speaking-active': isWhoISpeakingActive
|
|
52
49
|
}),
|
|
53
50
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
54
51
|
className: "fcr-layout-speaking-content",
|
|
@@ -2,7 +2,6 @@ import { UIModule } from '../../base';
|
|
|
2
2
|
import { FcrUIDeviceProvider } from '../../providers/device-provider';
|
|
3
3
|
import { FcrUIEventProvider } from '../../providers/event-provider';
|
|
4
4
|
import { FcrUIPrivilegeProvider } from '../../providers/privilege-provider';
|
|
5
|
-
import { FcrLayoutSlots } from './store';
|
|
6
5
|
import { FcrUISharedConfigDataSource } from '../../shared-data-source/config';
|
|
7
6
|
import { FcrUIMainRoomControlProvider } from '../../providers/room-provider';
|
|
8
7
|
import { FcrUISharedSpeakerSpotlightDataSource } from '../../shared-data-source/speaker-spotlight';
|
|
@@ -18,6 +17,8 @@ import { FcrUIAnnotationProvider } from '../../providers/annotation-provider';
|
|
|
18
17
|
import { FcrUIScreenShareSharedDataSource } from '../../shared-data-source/screen-share-data';
|
|
19
18
|
import { FcrUIInterpreterProvider } from '../../providers/interpreter-provider';
|
|
20
19
|
import { FcrUISharedAnnotationSource } from '../../shared-data-source/annotation-data';
|
|
20
|
+
import { FcrLayoutSlots } from './type';
|
|
21
|
+
import { FcrUIMultiDisplayProvider } from '../../providers/multi-display-provider';
|
|
21
22
|
export declare class LayoutUIModule extends UIModule {
|
|
22
23
|
private _store?;
|
|
23
24
|
eventProvider?: FcrUIEventProvider;
|
|
@@ -37,6 +38,7 @@ export declare class LayoutUIModule extends UIModule {
|
|
|
37
38
|
annotationProvider?: FcrUIAnnotationProvider;
|
|
38
39
|
sharedScreenShareSharedDataSource?: FcrUIScreenShareSharedDataSource;
|
|
39
40
|
sharedAnnotationDataSource?: FcrUISharedAnnotationSource;
|
|
41
|
+
multiDisplayProvider?: FcrUIMultiDisplayProvider;
|
|
40
42
|
interpreterProvider?: FcrUIInterpreterProvider;
|
|
41
43
|
onNodeWillActive(): void;
|
|
42
44
|
onNodeWillInactive(): void;
|
|
@@ -59,7 +59,8 @@ var LayoutUIModule = exports.LayoutUIModule = /*#__PURE__*/function (_UIModule)
|
|
|
59
59
|
annotationProvider: this.annotationProvider,
|
|
60
60
|
sharedScreenShareDataSource: this.sharedScreenShareSharedDataSource,
|
|
61
61
|
interpreterProvider: this.interpreterProvider,
|
|
62
|
-
sharedAnnotationDataSource: this.sharedAnnotationDataSource
|
|
62
|
+
sharedAnnotationDataSource: this.sharedAnnotationDataSource,
|
|
63
|
+
multiDisplayProvider: this.multiDisplayProvider
|
|
63
64
|
});
|
|
64
65
|
}
|
|
65
66
|
}, {
|
|
@@ -1,66 +1,13 @@
|
|
|
1
1
|
import { FcrPrivilegeUserRole, FcrStreamControl } from 'fcr-core';
|
|
2
2
|
import { FcrUserInfo, FcrUserRole } from 'fcr-core/lib/type';
|
|
3
|
-
import { FcrUIVideoWindowData, FcrUIVideoWindowLayoutType } from './type';
|
|
3
|
+
import { FcrLayoutSlots, FcrUIVideoWindowData, FcrUIVideoWindowLayoutType, LayoutStoreParams } from './type';
|
|
4
4
|
import { FcrChatRoomConnectionState } from 'fcr-core/lib/room-control/chatroom-control/type';
|
|
5
5
|
import { FcrUserUpdatedEvent } from 'fcr-core/lib/room-control/user-control/type';
|
|
6
|
-
import {
|
|
7
|
-
import { FcrUIEventObserver, FcrUIEventProvider } from '../../providers/event-provider';
|
|
8
|
-
import { FcrUIPrivilegeProvider } from '../../providers/privilege-provider';
|
|
9
|
-
import { FcrUIDeviceProvider } from '../../providers/device-provider';
|
|
6
|
+
import { FcrUIEventObserver } from '../../providers/event-provider';
|
|
10
7
|
import { FcrUIAction } from '../../utilities/constant';
|
|
11
8
|
import { FcrUISetMainSpeakerParams } from '../../type';
|
|
12
|
-
import { FcrUISharedConfigDataSource } from '../../shared-data-source/config';
|
|
13
|
-
import { FcrUISharedSpeakerSpotlightDataSource } from '../../shared-data-source/speaker-spotlight';
|
|
14
|
-
import { FcrUISharedLayoutDataSource } from '../../shared-data-source/layout-data';
|
|
15
|
-
import { FcrUISharedInterpreterDataSource } from '../../shared-data-source/interpreter';
|
|
16
|
-
import { FcrUISharedSettingDataSource } from '../../shared-data-source/setting';
|
|
17
|
-
import { FcrUIChatProvider } from '../../providers/chat-provider';
|
|
18
|
-
import { FcrUIVideoWindowDataSource } from '../../shared-data-source/video-window';
|
|
19
|
-
import { FcrUIMemberSharedDataSource } from '../../shared-data-source/member-data';
|
|
20
|
-
import { FcrUIScreenShareProvider } from '../../providers/screen-share-provider';
|
|
21
|
-
import { FcrUISharedPinDataSource } from '../../shared-data-source/pin-data';
|
|
22
|
-
import { FcrUIAnnotationProvider } from '../../providers/annotation-provider';
|
|
23
|
-
import { FcrUIScreenShareSharedDataSource } from '../../shared-data-source/screen-share-data';
|
|
24
|
-
import { FcrUIInterpreterProvider } from '../../providers/interpreter-provider';
|
|
25
|
-
import { FcrUISharedAnnotationSource } from '../../shared-data-source/annotation-data';
|
|
26
|
-
export interface FcrLayoutSlots {
|
|
27
|
-
participant: React.ReactNode;
|
|
28
|
-
chat: React.ReactNode;
|
|
29
|
-
chatAction: React.ReactNode;
|
|
30
|
-
stateBar: React.ReactNode;
|
|
31
|
-
actionBar: React.ReactNode;
|
|
32
|
-
layers: React.ReactNode;
|
|
33
|
-
whiteboard: React.ReactNode;
|
|
34
|
-
annotation: React.ReactNode;
|
|
35
|
-
screenShareControl: React.ReactNode;
|
|
36
|
-
}
|
|
37
|
-
export interface FcrUILayoutAsideContent {
|
|
38
|
-
participant: boolean;
|
|
39
|
-
chat: boolean;
|
|
40
|
-
}
|
|
41
|
-
export interface LayoutStoreParams {
|
|
42
|
-
eventProvider: FcrUIEventProvider;
|
|
43
|
-
deviceProvider: FcrUIDeviceProvider;
|
|
44
|
-
privilegeProvider: FcrUIPrivilegeProvider;
|
|
45
|
-
roomControl: FcrMainRoomControl;
|
|
46
|
-
sharedConfigDataSource: FcrUISharedConfigDataSource;
|
|
47
|
-
sharedSpeakerSpotlightDataSource: FcrUISharedSpeakerSpotlightDataSource;
|
|
48
|
-
sharedLayoutDataSource: FcrUISharedLayoutDataSource;
|
|
49
|
-
sharedInterpreterDataSource: FcrUISharedInterpreterDataSource;
|
|
50
|
-
sharedSettingDataSource: FcrUISharedSettingDataSource;
|
|
51
|
-
chatProvider: FcrUIChatProvider;
|
|
52
|
-
sharedVideoWindowDataSource: FcrUIVideoWindowDataSource;
|
|
53
|
-
sharedMemberDataSource: FcrUIMemberSharedDataSource;
|
|
54
|
-
screenShareProvider: FcrUIScreenShareProvider;
|
|
55
|
-
sharedPinDataSource: FcrUISharedPinDataSource;
|
|
56
|
-
annotationProvider: FcrUIAnnotationProvider;
|
|
57
|
-
sharedScreenShareDataSource: FcrUIScreenShareSharedDataSource;
|
|
58
|
-
interpreterProvider: FcrUIInterpreterProvider;
|
|
59
|
-
sharedAnnotationDataSource: FcrUISharedAnnotationSource;
|
|
60
|
-
}
|
|
61
9
|
export default class LayoutStore implements FcrLayoutSlots, FcrUIEventObserver {
|
|
62
10
|
private readonly logger;
|
|
63
|
-
private static MIN_USERS_TO_ENABLE_SPOTLIGHT;
|
|
64
11
|
private _videoWindowDataSource;
|
|
65
12
|
private _eventProvider;
|
|
66
13
|
private _deviceProvider;
|
|
@@ -79,12 +26,10 @@ export default class LayoutStore implements FcrLayoutSlots, FcrUIEventObserver {
|
|
|
79
26
|
private _sharedSettingDataSource;
|
|
80
27
|
private _sharedMemberDataSource;
|
|
81
28
|
private _chatProvider;
|
|
82
|
-
private _screenShareProvider;
|
|
83
29
|
private _pinDataSource;
|
|
84
|
-
private _annotationProvider;
|
|
85
30
|
private _sharedScreenShareDataSource;
|
|
86
|
-
private _interpreterProvider;
|
|
87
31
|
private _sharedAnnotationDataSource;
|
|
32
|
+
private _multiDisplayProvider;
|
|
88
33
|
accessor participant: React.ReactNode;
|
|
89
34
|
accessor chat: React.ReactNode;
|
|
90
35
|
accessor chatAction: React.ReactNode;
|
|
@@ -132,6 +77,7 @@ export default class LayoutStore implements FcrLayoutSlots, FcrUIEventObserver {
|
|
|
132
77
|
get hasPinnedStream(): boolean;
|
|
133
78
|
get isRobot(): boolean;
|
|
134
79
|
get findSpotlightUser(): import("../../shared-data-source/video-window").FcrUIVideoWindowDataImpl | null | undefined;
|
|
80
|
+
get isWhoISpeakingActive(): boolean | "" | undefined;
|
|
135
81
|
get microphoneEnabled(): boolean;
|
|
136
82
|
get allowChat(): boolean;
|
|
137
83
|
get allowUnmuteSelfAudio(): boolean;
|
|
@@ -146,6 +92,9 @@ export default class LayoutStore implements FcrLayoutSlots, FcrUIEventObserver {
|
|
|
146
92
|
get localUserId(): string;
|
|
147
93
|
get interpreterUserList(): import("fcr-core/lib/room-control/interpreter-control/types").FcrInterpreterUserInfo[] | null;
|
|
148
94
|
get isInterpreterEnabled(): boolean;
|
|
95
|
+
get secondaryWindowContentType(): "hidden" | "speaker" | "gallery" | "local-camera" | "remote-camera" | "sharing-screen" | "sharing-screen-with-annotation" | "sharing-whiteboard";
|
|
96
|
+
get isMultiDisplayActive(): boolean;
|
|
97
|
+
get isLocalCameraInSecondaryWindow(): boolean;
|
|
149
98
|
constructor(params: LayoutStoreParams);
|
|
150
99
|
get participantCount(): number;
|
|
151
100
|
get isVideoSuspended(): boolean;
|
|
@@ -212,8 +161,9 @@ export default class LayoutStore implements FcrLayoutSlots, FcrUIEventObserver {
|
|
|
212
161
|
private _switchToGallery;
|
|
213
162
|
private _setBarHovering;
|
|
214
163
|
private _initStream;
|
|
215
|
-
private _isSetSpotlightEnable;
|
|
216
164
|
private _handleConnectionUpdated;
|
|
165
|
+
private _findVideoWindowByUserId;
|
|
166
|
+
private _onRemoteUsersLeft;
|
|
217
167
|
private _handleLiveStreamingStateUpdated;
|
|
218
168
|
private _handleStreamAdded;
|
|
219
169
|
private _onStreamsAdded;
|