fcr-ui-scene 3.6.1 → 3.6.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.d.ts +6 -0
- package/lib/creator.js +125 -24
- package/lib/electron/app.js +5 -4
- package/lib/electron/bootstrap-dev.js +3 -0
- package/lib/electron/bootstrap-sdk.js +4 -0
- package/lib/electron/injections.d.ts +5 -0
- package/lib/electron/injections.js +36 -8
- package/lib/electron/ipc/ipc.d.ts +1 -0
- package/lib/electron/ipc/ipc.js +4 -0
- package/lib/electron/main.js +16 -8
- package/lib/electron/plugins/screenshot.js +4 -2
- package/lib/electron/preload.js +7 -2
- package/lib/electron/window.js +4 -6
- package/lib/fragments/annotation/index.d.ts +11 -0
- package/lib/fragments/annotation/index.js +121 -0
- package/lib/fragments/annotation/libs.d.ts +55 -0
- package/lib/fragments/annotation/libs.js +93 -0
- package/lib/fragments/annotation/store.d.ts +30 -0
- package/lib/fragments/annotation/store.js +565 -0
- package/lib/fragments/annotation/view.d.ts +3 -0
- package/lib/fragments/annotation/view.js +31 -0
- package/lib/fragments/base.d.ts +10 -0
- package/lib/fragments/base.js +44 -0
- package/lib/modules/action-bar/components/screen-share/submenu.js +7 -6
- package/lib/modules/action-bar/index.css +11 -0
- package/lib/modules/action-bar/index.d.ts +2 -0
- package/lib/modules/action-bar/index.js +1 -0
- package/lib/modules/action-bar/store.d.ts +7 -9
- package/lib/modules/action-bar/store.js +49 -90
- package/lib/modules/annotation/board-cursor.css +76 -0
- package/lib/modules/annotation/components/control-bar/index.css +48 -0
- package/lib/modules/annotation/components/control-bar/index.d.ts +3 -0
- package/lib/modules/annotation/components/control-bar/index.js +141 -0
- package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.d.ts +3 -0
- package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.js +46 -0
- package/lib/modules/annotation/components/toolbar/components/color-tool/index.d.ts +1 -0
- package/lib/modules/annotation/components/toolbar/components/color-tool/index.js +52 -0
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.d.ts +3 -0
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.js +61 -0
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +12 -0
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.js +65 -0
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.d.ts +1 -0
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.js +68 -0
- package/lib/modules/annotation/components/toolbar/components/item/item.d.ts +18 -0
- package/lib/modules/annotation/components/toolbar/components/item/item.js +116 -0
- package/lib/modules/annotation/components/toolbar/components/item/style.css +43 -0
- package/lib/modules/annotation/components/toolbar/components/panel/index.d.ts +5 -0
- package/lib/modules/annotation/components/toolbar/components/panel/index.js +22 -0
- package/lib/modules/annotation/components/toolbar/components/panel/style.css +24 -0
- package/lib/modules/annotation/components/toolbar/components/pen-tool/index.d.ts +1 -0
- package/lib/modules/annotation/components/toolbar/components/pen-tool/index.js +58 -0
- package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.d.ts +3 -0
- package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.js +34 -0
- package/lib/modules/annotation/components/toolbar/components/tips/index.d.ts +2 -0
- package/lib/modules/annotation/components/toolbar/components/tips/index.js +25 -0
- package/lib/modules/annotation/components/toolbar/components/tips/style.css +19 -0
- package/lib/modules/annotation/components/toolbar/index.d.ts +0 -0
- package/lib/modules/annotation/components/toolbar/index.js +1 -0
- package/lib/modules/annotation/components/toolbar/store.d.ts +40 -0
- package/lib/modules/annotation/components/toolbar/store.js +279 -0
- package/lib/modules/annotation/components/toolbar/style.css +55 -0
- package/lib/modules/annotation/components/toolbar/view.d.ts +2 -0
- package/lib/modules/annotation/components/toolbar/view.js +120 -0
- package/lib/modules/annotation/index.d.ts +38 -0
- package/lib/modules/annotation/index.js +169 -0
- package/lib/modules/annotation/store.d.ts +93 -0
- package/lib/modules/annotation/store.js +673 -0
- package/lib/modules/annotation/style.css +26 -0
- package/lib/modules/annotation/view.d.ts +3 -0
- package/lib/modules/annotation/view.js +49 -0
- package/lib/modules/chat/view.js +112 -100
- package/lib/modules/components/annotation-menu/index.d.ts +7 -0
- package/lib/modules/components/annotation-menu/index.js +119 -0
- package/lib/modules/components/leave-meeting/components/assign-host.js +26 -23
- package/lib/modules/components/member-window/components/member-actions/components/audio-control.d.ts +0 -1
- package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +10 -4
- package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.d.ts +4 -2
- package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +10 -6
- package/lib/modules/components/member-window/components/member-actions/components/icon-status.d.ts +0 -2
- package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +3 -4
- package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +0 -3
- package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +6 -32
- package/lib/modules/components/member-window/components/member-actions/components/share-status.js +11 -3
- package/lib/modules/components/member-window/components/member-actions/components/user-info.d.ts +0 -1
- package/lib/modules/components/member-window/components/member-actions/components/user-info.js +7 -10
- package/lib/modules/components/member-window/components/member-actions/components/user-tag.d.ts +0 -1
- package/lib/modules/components/member-window/components/member-actions/components/user-tag.js +0 -2
- package/lib/modules/components/member-window/components/member-actions/index.js +1 -32
- package/lib/modules/components/member-window/components/member-actions/store.d.ts +38 -1
- package/lib/modules/components/member-window/components/member-actions/store.js +130 -23
- package/lib/modules/components/member-window/components/video-player/components/remote-video-player.d.ts +2 -1
- package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +6 -1
- package/lib/modules/components/member-window/components/video-player/index.d.ts +1 -0
- package/lib/modules/components/member-window/index.css +37 -0
- package/lib/modules/components/member-window/index.d.ts +1 -1
- package/lib/modules/components/member-window/index.js +8 -5
- package/lib/modules/components/member-window/types.d.ts +2 -0
- package/lib/modules/components/security-menu/index.js +7 -6
- package/lib/modules/control-bar/components/annotation-button/index.d.ts +1 -0
- package/lib/modules/control-bar/components/annotation-button/index.js +59 -0
- package/lib/modules/control-bar/index.d.ts +6 -6
- package/lib/modules/control-bar/index.js +5 -34
- package/lib/modules/control-bar/store.d.ts +27 -13
- package/lib/modules/control-bar/store.js +121 -126
- package/lib/modules/control-bar/view.js +50 -4
- package/lib/modules/dialog/components/annotation-tool/index.d.ts +4 -0
- package/lib/modules/dialog/components/annotation-tool/index.js +53 -0
- package/lib/modules/dialog/components/chat/index.js +1 -1
- package/lib/modules/dialog/components/control-bar/index.d.ts +0 -2
- package/lib/modules/dialog/components/control-bar/index.js +1 -3
- package/lib/modules/dialog/components/host-area-container/index.d.ts +12 -0
- package/lib/modules/dialog/components/host-area-container/index.js +214 -0
- package/lib/modules/dialog/components/participant/index.js +1 -1
- package/lib/modules/dialog/components/system-preference/index.js +1 -1
- package/lib/modules/dialog/components/video-window/index.js +1 -0
- package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +14 -0
- package/lib/modules/dialog/hooks/use-popover-watcher.js +112 -0
- package/lib/modules/dialog/hooks/useElectron.d.ts +1 -0
- package/lib/modules/dialog/hooks/useElectron.js +13 -3
- package/lib/modules/dialog/index.d.ts +2 -3
- package/lib/modules/dialog/index.js +3 -26
- package/lib/modules/dialog/store.d.ts +14 -9
- package/lib/modules/dialog/store.js +56 -50
- package/lib/modules/event-confirm/components/window/index.d.ts +7 -0
- package/lib/modules/event-confirm/components/window/index.js +188 -0
- package/lib/modules/event-confirm/index.d.ts +4 -4
- package/lib/modules/event-confirm/index.js +6 -4
- package/lib/modules/event-confirm/store.d.ts +4 -5
- package/lib/modules/event-confirm/store.js +35 -26
- package/lib/modules/event-confirm/view.js +23 -171
- package/lib/modules/event-sound/index.js +1 -1
- package/lib/modules/layout/components/CommonVideoRenderer.js +33 -16
- package/lib/modules/layout/index.d.ts +4 -0
- package/lib/modules/layout/index.js +2 -0
- package/lib/modules/layout/store.d.ts +14 -2
- package/lib/modules/layout/store.js +77 -45
- package/lib/modules/layout/type.d.ts +7 -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 -2
- package/lib/modules/participant/store.js +73 -25
- package/lib/modules/setting/audio-settings/audio-settings.js +3 -14
- package/lib/modules/setting/index.d.ts +2 -0
- package/lib/modules/setting/index.js +3 -3
- package/lib/modules/setting/store.d.ts +8 -10
- package/lib/modules/setting/store.js +22 -20
- package/lib/modules/share-screen/components/selection/index.js +18 -42
- package/lib/modules/share-screen/index.d.ts +6 -2
- package/lib/modules/share-screen/index.js +4 -2
- package/lib/modules/share-screen/store.d.ts +41 -46
- package/lib/modules/share-screen/store.js +297 -718
- package/lib/modules/share-screen/view.js +2 -2
- package/lib/modules/state-bar/assets/fcr_grid_big.svg +1 -1
- package/lib/modules/state-bar/assets/fcr_listontop_big.svg +1 -1
- package/lib/modules/state-bar/index.css +8 -6
- package/lib/modules/state-bar/index.d.ts +4 -0
- package/lib/modules/state-bar/index.js +3 -1
- package/lib/modules/state-bar/layout-config.d.ts +1 -0
- package/lib/modules/state-bar/layout-config.js +15 -5
- package/lib/modules/state-bar/store.d.ts +9 -1
- package/lib/modules/state-bar/store.js +17 -2
- package/lib/modules/state-bar/view.js +9 -4
- package/lib/modules/video-window/components/members/index.js +2 -1
- package/lib/modules/waiting-room-layout/store.js +1 -1
- package/lib/modules/whiteboard/components/control-bar/store.d.ts +5 -1
- package/lib/modules/whiteboard/components/control-bar/store.js +10 -1
- package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/picker.js +16 -5
- package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +67 -12
- package/lib/modules/whiteboard/components/toolbar/components/expansion/index.js +22 -2
- package/lib/modules/whiteboard/components/toolbar/components/history.js +46 -14
- package/lib/modules/whiteboard/components/toolbar/components/item/index.js +3 -2
- package/lib/modules/whiteboard/components/toolbar/components/move-handle.js +1 -1
- package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +58 -16
- package/lib/modules/whiteboard/components/toolbar/components/screen-capture-picker.js +15 -4
- package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +45 -2
- package/lib/modules/whiteboard/components/toolbar/hooks/index.d.ts +14 -0
- package/lib/modules/whiteboard/components/toolbar/hooks/index.js +235 -7
- package/lib/modules/whiteboard/components/toolbar/index.d.ts +1 -1
- package/lib/modules/whiteboard/components/toolbar/index.js +1 -1
- package/lib/modules/whiteboard/components/toolbar/store.d.ts +13 -2
- package/lib/modules/whiteboard/components/toolbar/store.js +74 -24
- package/lib/modules/whiteboard/components/toolbar/{ style.css → style.css} +1 -0
- package/lib/modules/whiteboard/index.d.ts +2 -0
- package/lib/modules/whiteboard/index.js +22 -21
- package/lib/modules/whiteboard/style.css +0 -4
- package/lib/modules/whiteboard/view.js +8 -2
- package/lib/plugins/browser-runtime-plugin.js +10 -1
- package/lib/providers/annotation-provider.d.ts +128 -0
- package/lib/providers/annotation-provider.js +421 -0
- package/lib/providers/device-provider.d.ts +3 -3
- package/lib/providers/device-provider.js +8 -6
- package/lib/providers/event-provider.d.ts +3 -3
- package/lib/providers/interpreter-provider.d.ts +1 -0
- package/lib/providers/interpreter-provider.js +182 -154
- package/lib/providers/privilege-provider.d.ts +35 -6
- package/lib/providers/privilege-provider.js +105 -49
- package/lib/providers/renderer-provider.js +3 -7
- package/lib/providers/room-provider.d.ts +13 -1
- package/lib/providers/room-provider.js +21 -7
- package/lib/providers/screen-share-provider.d.ts +131 -34
- package/lib/providers/screen-share-provider.js +554 -173
- package/lib/providers/sharing-provider.d.ts +37 -0
- package/lib/{shared-data-source/screen-share-data-source.js → providers/sharing-provider.js} +102 -39
- package/lib/providers/user-setting-storage-provider.d.ts +20 -0
- package/lib/providers/user-setting-storage-provider.js +74 -0
- package/lib/runtime.d.ts +6 -1
- package/lib/scenes/main-scene.d.ts +7 -2
- package/lib/scenes/main-scene.js +55 -27
- package/lib/scenes/waiting-scene.d.ts +6 -0
- package/lib/scenes/waiting-scene.js +15 -5
- package/lib/shared-data-source/config.d.ts +1 -5
- package/lib/shared-data-source/config.js +11 -81
- package/lib/shared-data-source/member-data.d.ts +21 -5
- package/lib/shared-data-source/member-data.js +69 -17
- package/lib/shared-data-source/screen-share-data.d.ts +274 -0
- package/lib/shared-data-source/screen-share-data.js +390 -0
- package/lib/shared-data-source/security-data.d.ts +4 -1
- package/lib/shared-data-source/security-data.js +5 -2
- package/lib/shared-data-source/setting.d.ts +13 -13
- package/lib/shared-data-source/setting.js +16 -10
- package/lib/shared-data-source/video-window.d.ts +2 -1
- package/lib/shared-data-source/video-window.js +56 -36
- package/lib/translations/enUS.d.ts +8 -0
- package/lib/translations/enUS.js +9 -1
- package/lib/translations/zhCN.d.ts +8 -0
- package/lib/translations/zhCN.js +11 -3
- package/lib/type.d.ts +55 -1
- package/lib/ui-manager.d.ts +3 -2
- package/lib/ui-manager.js +6 -4
- package/lib/ui-scene.js +70 -50
- package/lib/utilities/constant.d.ts +10 -2
- package/lib/utilities/constant.js +8 -0
- package/lib/utilities/logger.d.ts +4 -0
- package/lib/utilities/logger.js +8 -1
- package/lib/utilities/renderer-event.d.ts +3 -0
- package/lib/utilities/renderer-event.js +14 -1
- package/lib/utilities/screen.js +2 -1
- package/lib/utilities/setting-config-storage.d.ts +5 -6
- package/lib/utilities/setting-config-storage.js +33 -39
- package/lib/utilities/tools.d.ts +19 -1
- package/lib/utilities/tools.js +51 -4
- package/package.json +9 -7
- package/public/assets/cursors/fcr_whiteboard_input.ico +0 -0
- package/public/assets/cursors/fcr_whiteboard_pen.ico +0 -0
- package/public/assets/cursors/fcr_whiteboard_shape_-straightline.ico +0 -0
- package/public/assets/cursors/fcr_whiteboard_shape_arrow.ico +0 -0
- package/public/assets/cursors/fcr_whiteboard_shape_circle.ico +0 -0
- package/public/assets/cursors/fcr_whiteboard_shape_rectangle.ico +0 -0
- package/public/assets/cursors/fcr_whiteboard_shape_triangle.ico +0 -0
- package/public/assets/fcr_chat_reddot.svg +3 -3
- package/public/assets/fcr_grid_big.svg +1 -1
- package/public/assets/fcr_leave2.svg +14 -14
- package/public/assets/fcr_listontop_big.svg +1 -1
- package/public/assets/step-gradient.svg +1 -1
- package/public/fragment.html +10 -0
- package/public/index.html +3 -1
- package/lib/shared-data-source/screen-share-data-source.d.ts +0 -37
|
@@ -7,20 +7,20 @@ import { FcrUIEventProvider } from '../../providers/event-provider';
|
|
|
7
7
|
import { FcrUISharedLayoutDataSource } from '../../shared-data-source/layout-data';
|
|
8
8
|
import { FcrUIDialogProvider } from '../../providers/dialog-provider';
|
|
9
9
|
import { FcrUIPhoneAudioConnectorProvider } from '../../providers/phone-audio-provider';
|
|
10
|
-
import { AgoraRtcScreenCaptureType } from 'agora-rte-sdk/lib/core/rtc/type';
|
|
10
|
+
import { AgoraRtcScreenCaptureType, AgoraRtcWindowInfo } from 'agora-rte-sdk/lib/core/rtc/type';
|
|
11
11
|
import { CurrentShareBounds } from '../control-bar/types';
|
|
12
|
-
import { CurrentShareScreenTypes } from '../share-screen/types';
|
|
13
12
|
import { FcrUIDialogComponent } from './type';
|
|
14
13
|
import { FcrUIWidgetProvider } from '../../providers/widget-provider';
|
|
15
14
|
import { FcrUIChatProvider } from '../../providers/chat-provider';
|
|
16
15
|
import { FcrUIAbilityProviderImpl } from 'fcr-ui-scene/src/providers/ability-provider';
|
|
17
16
|
import { CurrentShareScreenWorkArea } from '../../utilities/tools';
|
|
18
17
|
import { FcrUIScreenShareProvider } from '../../providers/screen-share-provider';
|
|
18
|
+
import { FcrUIScreenShareSharedDataSource } from '../../shared-data-source/screen-share-data';
|
|
19
19
|
export declare const HIGH_LEVEL_DIALOG_LAYER: FcrUIDialogKey[];
|
|
20
20
|
export declare const TOP_LEVEL_DIALOG_LAYER: FcrUIDialogKey[];
|
|
21
21
|
export default class DialogStore {
|
|
22
22
|
protected logger: import("agora-foundation/lib/logger").Logger;
|
|
23
|
-
private
|
|
23
|
+
private _eventProvider;
|
|
24
24
|
private _userInfo;
|
|
25
25
|
private _streamControl;
|
|
26
26
|
private _userControl;
|
|
@@ -33,10 +33,12 @@ export default class DialogStore {
|
|
|
33
33
|
private _screenShareProvider;
|
|
34
34
|
private _sharedLayoutDataSource;
|
|
35
35
|
private _phoneAudioConnectorProvider;
|
|
36
|
+
private _sharedScreenShareSharedDataSource;
|
|
36
37
|
private _dialogComponentMapByKey;
|
|
37
38
|
private _chatProvider;
|
|
38
39
|
private _handleDialogEventObserver;
|
|
39
40
|
private _userObserver;
|
|
41
|
+
private _electronDialogs;
|
|
40
42
|
accessor openedDialogs: {
|
|
41
43
|
dialogKey: FcrUIDialogKey;
|
|
42
44
|
dialogId: string;
|
|
@@ -47,10 +49,11 @@ export default class DialogStore {
|
|
|
47
49
|
accessor participantElectronDialogContainer: HTMLElement | null;
|
|
48
50
|
accessor currentDialogBounds: Map<FcrUIDialogKey, number>;
|
|
49
51
|
accessor videoWindowBounds: any;
|
|
50
|
-
accessor currentShareId: string;
|
|
51
|
-
accessor currentShareType: AgoraRtcScreenCaptureType;
|
|
52
|
-
accessor currentShareBounds: CurrentShareBounds;
|
|
53
52
|
accessor recordShareBounds: Map<CurrentShareBounds, CurrentShareScreenWorkArea>;
|
|
53
|
+
accessor allApplicationWindows: AgoraRtcWindowInfo[];
|
|
54
|
+
get currentShareId(): string;
|
|
55
|
+
get currentShareType(): AgoraRtcScreenCaptureType;
|
|
56
|
+
get currentShareBounds(): CurrentShareBounds;
|
|
54
57
|
get dialogComponentMapByKey(): Map<FcrUIDialogKey, FcrUIDialogComponent>;
|
|
55
58
|
get participantCount(): number;
|
|
56
59
|
get isManager(): boolean;
|
|
@@ -69,10 +72,11 @@ export default class DialogStore {
|
|
|
69
72
|
get widgetDialogIds(): Map<string, string>;
|
|
70
73
|
get chatRoomState(): import("fcr-core/lib/room-control/chatroom-control/type").FcrChatRoomConnectionState;
|
|
71
74
|
get isSharingScreen(): boolean;
|
|
72
|
-
|
|
75
|
+
get isSharingScreenOwner(): boolean;
|
|
76
|
+
constructor({ eventProvider, userControl, deviceStore, streamControl, localVideoRenderProvider, remoteVideoRenderManager, securityStore, sharedLayoutDataSource, dialogProvider, phoneAudioConnectorProvider, dialogsByKey, widgetProvider, screenShareProvider, chatProvider, sharedScreenShareSharedDataSource, }: {
|
|
73
77
|
streamControl: FcrStreamControl;
|
|
74
78
|
userControl: FcrUserControl;
|
|
75
|
-
|
|
79
|
+
eventProvider: FcrUIEventProvider;
|
|
76
80
|
securityStore: FcrUIPrivilegeProvider;
|
|
77
81
|
deviceStore: FcrUIDeviceProvider;
|
|
78
82
|
localVideoRenderProvider: FcrUILocalVideoRenderProvider;
|
|
@@ -85,6 +89,7 @@ export default class DialogStore {
|
|
|
85
89
|
chatProvider: FcrUIChatProvider;
|
|
86
90
|
screenShareProvider: FcrUIScreenShareProvider;
|
|
87
91
|
abilityProvider: FcrUIAbilityProviderImpl;
|
|
92
|
+
sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource;
|
|
88
93
|
});
|
|
89
94
|
setParticipantElectronDialogContainer(dom: HTMLElement | null): void;
|
|
90
95
|
setVideoWindowBounds(payload: any): void;
|
|
@@ -98,8 +103,8 @@ export default class DialogStore {
|
|
|
98
103
|
moveParticipantFromDialogToAside(): void;
|
|
99
104
|
release(): void;
|
|
100
105
|
resizeVideoWindow(width: number, height: number): void;
|
|
101
|
-
updateCurrentShareContent(payload: CurrentShareScreenTypes): void;
|
|
102
106
|
recordCurrentSharingScreenBounds(): CurrentShareScreenWorkArea;
|
|
107
|
+
log(info: string): void;
|
|
103
108
|
private _handleDialogEvent;
|
|
104
109
|
private _hanleAllUserCountUpdated;
|
|
105
110
|
private _focusDialog;
|
|
@@ -77,13 +77,12 @@ var _react = require("react");
|
|
|
77
77
|
var _platform = require("../../utilities/platform");
|
|
78
78
|
var _constant = require("../../utilities/constant");
|
|
79
79
|
var _dialogProvider = require("../../providers/dialog-provider");
|
|
80
|
-
var _type2 = require("agora-rte-sdk/lib/core/rtc/type");
|
|
81
80
|
var _logger = require("../../utilities/logger");
|
|
82
81
|
var _tools = require("../../utilities/tools");
|
|
83
82
|
var _useElectron = require("./hooks/useElectron");
|
|
84
83
|
var _excluded = ["x", "y"];
|
|
85
84
|
var _DialogStore;
|
|
86
|
-
var _initProto, _init_openedDialogs, _init_confirmDialogs, _init_userCount, _init_participantElectronDialogContainer, _init_currentDialogBounds, _init_videoWindowBounds,
|
|
85
|
+
var _initProto, _init_openedDialogs, _init_confirmDialogs, _init_userCount, _init_participantElectronDialogContainer, _init_currentDialogBounds, _init_videoWindowBounds, _init_recordShareBounds, _init_allApplicationWindows, _setVideoWindowBoundsDecs, _recordCurrentSharingScreenBoundsDecs, _handleDialogEventDecs, _hanleAllUserCountUpdatedDecs, _ref;
|
|
87
86
|
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; }
|
|
88
87
|
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; }
|
|
89
88
|
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
|
@@ -97,7 +96,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
97
96
|
function _setFunctionName(e, t, n) { "symbol" == _typeof(t) && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
|
|
98
97
|
function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? _typeof(e) : "null")); return e; }
|
|
99
98
|
var HIGH_LEVEL_DIALOG_LAYER = exports.HIGH_LEVEL_DIALOG_LAYER = [_constant.FcrUIDialogKey.CHAT, _constant.FcrUIDialogKey.PARTICIPANT, _constant.FcrUIDialogKey.SHARE_SCREEN];
|
|
100
|
-
var TOP_LEVEL_DIALOG_LAYER = exports.TOP_LEVEL_DIALOG_LAYER = [_constant.FcrUIDialogKey.SHOW_TOAST, _constant.FcrUIDialogKey.CONFIRM, _constant.FcrUIDialogKey.CONTROL_BAR, _constant.FcrUIDialogKey.VIDEO_WINDOW];
|
|
99
|
+
var TOP_LEVEL_DIALOG_LAYER = exports.TOP_LEVEL_DIALOG_LAYER = [_constant.FcrUIDialogKey.SHOW_TOAST, _constant.FcrUIDialogKey.CONFIRM, _constant.FcrUIDialogKey.CONTROL_BAR, _constant.FcrUIDialogKey.VIDEO_WINDOW, _constant.FcrUIDialogKey.ANNOTATION];
|
|
101
100
|
var _A = /*#__PURE__*/new WeakMap();
|
|
102
101
|
var _B = /*#__PURE__*/new WeakMap();
|
|
103
102
|
var _C = /*#__PURE__*/new WeakMap();
|
|
@@ -106,13 +105,11 @@ var _E = /*#__PURE__*/new WeakMap();
|
|
|
106
105
|
var _F = /*#__PURE__*/new WeakMap();
|
|
107
106
|
var _G = /*#__PURE__*/new WeakMap();
|
|
108
107
|
var _H = /*#__PURE__*/new WeakMap();
|
|
109
|
-
|
|
110
|
-
var _J = /*#__PURE__*/new WeakMap();
|
|
111
|
-
_ref = (_setVideoWindowBoundsDecs = [_mobx.action, _mobx.action.bound], _updateCurrentShareContentDecs = [_mobx.action, _mobx.action.bound], _recordCurrentSharingScreenBoundsDecs = [_mobx.action, _mobx.action.bound], _handleDialogEventDecs = [_mobx.action, _mobx.action.bound], _hanleAllUserCountUpdatedDecs = [_mobx.action, _mobx.action.bound], "logger");
|
|
108
|
+
_ref = (_setVideoWindowBoundsDecs = [_mobx.action, _mobx.action.bound], _recordCurrentSharingScreenBoundsDecs = [_mobx.action, _mobx.action.bound], _handleDialogEventDecs = [_mobx.action, _mobx.action.bound], _hanleAllUserCountUpdatedDecs = [_mobx.action, _mobx.action.bound], "logger");
|
|
112
109
|
var DialogStore = exports["default"] = /*#__PURE__*/function () {
|
|
113
110
|
function DialogStore(_ref2) {
|
|
114
111
|
var _this = this;
|
|
115
|
-
var
|
|
112
|
+
var eventProvider = _ref2.eventProvider,
|
|
116
113
|
userControl = _ref2.userControl,
|
|
117
114
|
deviceStore = _ref2.deviceStore,
|
|
118
115
|
streamControl = _ref2.streamControl,
|
|
@@ -125,7 +122,8 @@ var DialogStore = exports["default"] = /*#__PURE__*/function () {
|
|
|
125
122
|
dialogsByKey = _ref2.dialogsByKey,
|
|
126
123
|
widgetProvider = _ref2.widgetProvider,
|
|
127
124
|
screenShareProvider = _ref2.screenShareProvider,
|
|
128
|
-
chatProvider = _ref2.chatProvider
|
|
125
|
+
chatProvider = _ref2.chatProvider,
|
|
126
|
+
sharedScreenShareSharedDataSource = _ref2.sharedScreenShareSharedDataSource;
|
|
129
127
|
(0, _classCallCheck2["default"])(this, DialogStore);
|
|
130
128
|
(0, _defineProperty2["default"])(this, _ref, (_initProto(this), (0, _logger.createLogger)({
|
|
131
129
|
prefix: 'DialogStore'
|
|
@@ -136,22 +134,17 @@ var DialogStore = exports["default"] = /*#__PURE__*/function () {
|
|
|
136
134
|
(0, _defineProperty2["default"])(this, "_userObserver", {
|
|
137
135
|
onAllUserCountUpdated: this._hanleAllUserCountUpdated
|
|
138
136
|
});
|
|
137
|
+
(0, _defineProperty2["default"])(this, "_electronDialogs", new Map());
|
|
139
138
|
_classPrivateFieldInitSpec(this, _A, _init_openedDialogs(this, []));
|
|
140
139
|
_classPrivateFieldInitSpec(this, _B, _init_confirmDialogs(this, new Map()));
|
|
141
140
|
_classPrivateFieldInitSpec(this, _C, _init_userCount(this, 0));
|
|
142
141
|
_classPrivateFieldInitSpec(this, _D, _init_participantElectronDialogContainer(this, null));
|
|
143
142
|
_classPrivateFieldInitSpec(this, _E, _init_currentDialogBounds(this, new Map()));
|
|
144
143
|
_classPrivateFieldInitSpec(this, _F, _init_videoWindowBounds(this, {}));
|
|
145
|
-
_classPrivateFieldInitSpec(this, _G,
|
|
146
|
-
_classPrivateFieldInitSpec(this, _H,
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
height: 0,
|
|
150
|
-
x: 0,
|
|
151
|
-
y: 0
|
|
152
|
-
}));
|
|
153
|
-
_classPrivateFieldInitSpec(this, _J, _init_recordShareBounds(this, new Map()));
|
|
154
|
-
this._uiEventStore = uiEventStore;
|
|
144
|
+
_classPrivateFieldInitSpec(this, _G, _init_recordShareBounds(this, new Map()));
|
|
145
|
+
_classPrivateFieldInitSpec(this, _H, _init_allApplicationWindows(this, []));
|
|
146
|
+
this._sharedScreenShareSharedDataSource = sharedScreenShareSharedDataSource;
|
|
147
|
+
this._eventProvider = eventProvider;
|
|
155
148
|
this._streamControl = streamControl;
|
|
156
149
|
this._userControl = userControl;
|
|
157
150
|
this._remoteVideoRenderManager = remoteVideoRenderManager;
|
|
@@ -166,7 +159,7 @@ var DialogStore = exports["default"] = /*#__PURE__*/function () {
|
|
|
166
159
|
this._chatProvider = chatProvider;
|
|
167
160
|
this._screenShareProvider = screenShareProvider;
|
|
168
161
|
this._userControl.addObserver(this._userObserver);
|
|
169
|
-
this.
|
|
162
|
+
this._eventProvider.addObserver(this._handleDialogEventObserver);
|
|
170
163
|
this._dialogProvider.addObserver(this._handleDialogEventObserver);
|
|
171
164
|
this._userInfo = userControl.getLocalUser();
|
|
172
165
|
(0, _mobx.runInAction)(function () {
|
|
@@ -222,7 +215,7 @@ var DialogStore = exports["default"] = /*#__PURE__*/function () {
|
|
|
222
215
|
_classPrivateFieldSet(_F, this, v);
|
|
223
216
|
}
|
|
224
217
|
}, {
|
|
225
|
-
key: "
|
|
218
|
+
key: "recordShareBounds",
|
|
226
219
|
get: function get() {
|
|
227
220
|
return _classPrivateFieldGet(_G, this);
|
|
228
221
|
},
|
|
@@ -230,7 +223,7 @@ var DialogStore = exports["default"] = /*#__PURE__*/function () {
|
|
|
230
223
|
_classPrivateFieldSet(_G, this, v);
|
|
231
224
|
}
|
|
232
225
|
}, {
|
|
233
|
-
key: "
|
|
226
|
+
key: "allApplicationWindows",
|
|
234
227
|
get: function get() {
|
|
235
228
|
return _classPrivateFieldGet(_H, this);
|
|
236
229
|
},
|
|
@@ -238,20 +231,19 @@ var DialogStore = exports["default"] = /*#__PURE__*/function () {
|
|
|
238
231
|
_classPrivateFieldSet(_H, this, v);
|
|
239
232
|
}
|
|
240
233
|
}, {
|
|
241
|
-
key: "
|
|
234
|
+
key: "currentShareId",
|
|
242
235
|
get: function get() {
|
|
243
|
-
return
|
|
244
|
-
},
|
|
245
|
-
set: function set(v) {
|
|
246
|
-
_classPrivateFieldSet(_I, this, v);
|
|
236
|
+
return this._sharedScreenShareSharedDataSource.currentShareId;
|
|
247
237
|
}
|
|
248
238
|
}, {
|
|
249
|
-
key: "
|
|
239
|
+
key: "currentShareType",
|
|
250
240
|
get: function get() {
|
|
251
|
-
return
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
|
|
241
|
+
return this._sharedScreenShareSharedDataSource.currentShareType;
|
|
242
|
+
}
|
|
243
|
+
}, {
|
|
244
|
+
key: "currentShareBounds",
|
|
245
|
+
get: function get() {
|
|
246
|
+
return this._sharedScreenShareSharedDataSource.currentSelectionBounds;
|
|
255
247
|
}
|
|
256
248
|
}, {
|
|
257
249
|
key: "dialogComponentMapByKey",
|
|
@@ -326,7 +318,13 @@ var DialogStore = exports["default"] = /*#__PURE__*/function () {
|
|
|
326
318
|
}, {
|
|
327
319
|
key: "isSharingScreen",
|
|
328
320
|
get: function get() {
|
|
329
|
-
return this.
|
|
321
|
+
return this._sharedScreenShareSharedDataSource.isSharingScreen;
|
|
322
|
+
}
|
|
323
|
+
}, {
|
|
324
|
+
key: "isSharingScreenOwner",
|
|
325
|
+
get: function get() {
|
|
326
|
+
var _this$_sharedScreenSh;
|
|
327
|
+
return ((_this$_sharedScreenSh = this._sharedScreenShareSharedDataSource.screenSharingOwner) === null || _this$_sharedScreenSh === void 0 ? void 0 : _this$_sharedScreenSh.userId) === this._userInfo.userId;
|
|
330
328
|
}
|
|
331
329
|
}, {
|
|
332
330
|
key: "setParticipantElectronDialogContainer",
|
|
@@ -405,27 +403,17 @@ var DialogStore = exports["default"] = /*#__PURE__*/function () {
|
|
|
405
403
|
value: function release() {
|
|
406
404
|
this._userControl.removeObserver(this._userObserver);
|
|
407
405
|
this._dialogProvider.removeObserver(this._handleDialogEventObserver);
|
|
408
|
-
this.
|
|
406
|
+
this._eventProvider.removeObserver(this._handleDialogEventObserver);
|
|
409
407
|
_dialogs.dialogWindows.clear();
|
|
410
408
|
}
|
|
411
409
|
}, {
|
|
412
410
|
key: "resizeVideoWindow",
|
|
413
411
|
value: function resizeVideoWindow(width, height) {
|
|
414
|
-
this.
|
|
412
|
+
this._eventProvider.sendEvent(_constant.FcrUIAction.VIDEO_WINDOW_RESIZE, {
|
|
415
413
|
width: width,
|
|
416
414
|
height: height
|
|
417
415
|
});
|
|
418
416
|
}
|
|
419
|
-
}, {
|
|
420
|
-
key: "updateCurrentShareContent",
|
|
421
|
-
value: function updateCurrentShareContent(payload) {
|
|
422
|
-
var id = payload.id,
|
|
423
|
-
type = payload.type,
|
|
424
|
-
bounds = payload.bounds;
|
|
425
|
-
this.currentShareId = id;
|
|
426
|
-
this.currentShareType = type;
|
|
427
|
-
this.currentShareBounds = bounds;
|
|
428
|
-
}
|
|
429
417
|
}, {
|
|
430
418
|
key: "recordCurrentSharingScreenBounds",
|
|
431
419
|
value: function recordCurrentSharingScreenBounds() {
|
|
@@ -461,6 +449,11 @@ var DialogStore = exports["default"] = /*#__PURE__*/function () {
|
|
|
461
449
|
}
|
|
462
450
|
return screenBounds;
|
|
463
451
|
}
|
|
452
|
+
}, {
|
|
453
|
+
key: "log",
|
|
454
|
+
value: function log(info) {
|
|
455
|
+
this.logger.info(info);
|
|
456
|
+
}
|
|
464
457
|
}, {
|
|
465
458
|
key: "_handleDialogEvent",
|
|
466
459
|
value: function _handleDialogEvent(action, payload) {
|
|
@@ -469,8 +462,16 @@ var DialogStore = exports["default"] = /*#__PURE__*/function () {
|
|
|
469
462
|
dialogId = _ref6.dialogId,
|
|
470
463
|
_ref6$params = _ref6.params,
|
|
471
464
|
params = _ref6$params === void 0 ? {} : _ref6$params;
|
|
465
|
+
var openInFragments = [_constant.FcrUIDialogKey.ANNOTATION];
|
|
472
466
|
switch (action) {
|
|
473
467
|
case _constant.FcrUIAction.OPEN_DIALOG:
|
|
468
|
+
if ((0, _env.isElectron)()) {
|
|
469
|
+
if (openInFragments.includes(dialogKey)) {
|
|
470
|
+
this._electronDialogs.set(dialogId, dialogKey);
|
|
471
|
+
window.runtime.open(dialogKey, dialogId);
|
|
472
|
+
return;
|
|
473
|
+
}
|
|
474
|
+
}
|
|
474
475
|
this.logger.info('open_dialog: ', dialogKey, '====', dialogId);
|
|
475
476
|
// 因为窗口可能会移动,因此需要矫正 global toast 和 confirm 的 Bounds
|
|
476
477
|
var isToastOrConfirm = [_constant.FcrUIDialogKey.SHOW_TOAST, _constant.FcrUIDialogKey.CONFIRM].includes(dialogKey);
|
|
@@ -504,6 +505,13 @@ var DialogStore = exports["default"] = /*#__PURE__*/function () {
|
|
|
504
505
|
}
|
|
505
506
|
break;
|
|
506
507
|
case _constant.FcrUIAction.CLOSE_DIALOG:
|
|
508
|
+
if ((0, _env.isElectron)()) {
|
|
509
|
+
var electronDialogKey = this._electronDialogs.get(dialogId);
|
|
510
|
+
if (electronDialogKey && openInFragments.includes(electronDialogKey)) {
|
|
511
|
+
window.runtime.close(electronDialogKey, dialogId);
|
|
512
|
+
return;
|
|
513
|
+
}
|
|
514
|
+
}
|
|
507
515
|
this.openedDialogs = this.openedDialogs.filter(function (dialog) {
|
|
508
516
|
return dialog.dialogId !== dialogId;
|
|
509
517
|
});
|
|
@@ -541,16 +549,14 @@ var DialogStore = exports["default"] = /*#__PURE__*/function () {
|
|
|
541
549
|
}]);
|
|
542
550
|
}();
|
|
543
551
|
_DialogStore = DialogStore;
|
|
544
|
-
var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_DialogStore, [[_mobx.observable, 1, "openedDialogs"], [_mobx.observable, 1, "confirmDialogs"], [_mobx.observable, 1, "userCount"], [_mobx.observable, 1, "participantElectronDialogContainer"], [_mobx.observable, 1, "currentDialogBounds"], [_mobx.observable, 1, "videoWindowBounds"], [_mobx.observable, 1, "
|
|
552
|
+
var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_DialogStore, [[_mobx.observable, 1, "openedDialogs"], [_mobx.observable, 1, "confirmDialogs"], [_mobx.observable, 1, "userCount"], [_mobx.observable, 1, "participantElectronDialogContainer"], [_mobx.observable, 1, "currentDialogBounds"], [_mobx.observable, 1, "videoWindowBounds"], [_mobx.observable, 1, "recordShareBounds"], [_mobx.observable, 1, "allApplicationWindows"], [_mobx.computed, 3, "connectType"], [_mobx.computed, 3, "hasOwnPstnStream"], [_mobx.computed, 3, "chatRoomState"], [_mobx.computed, 3, "isSharingScreen"], [_mobx.action, 2, "setParticipantElectronDialogContainer"], [_setVideoWindowBoundsDecs, 18, "setVideoWindowBounds"], [_decorator.bound, 2, "closeDialogByKey"], [_decorator.bound, 2, "closeDilaogByDialogId"], [_decorator.bound, 2, "closeSystemPreferenceDialog"], [_decorator.bound, 2, "closeChatFromDialog"], [_decorator.bound, 2, "moveChatFromDialogToAside"], [_decorator.bound, 2, "closeConnectionDialog"], [_decorator.bound, 2, "closeParticipantDialog"], [_decorator.bound, 2, "moveParticipantFromDialogToAside"], [_decorator.bound, 2, "resizeVideoWindow"], [_recordCurrentSharingScreenBoundsDecs, 18, "recordCurrentSharingScreenBounds"], [_decorator.bound, 2, "log"], [_handleDialogEventDecs, 18, "_handleDialogEvent"], [_hanleAllUserCountUpdatedDecs, 18, "_hanleAllUserCountUpdated"], [_decorator.bound, 2, "_focusDialog"]], []).e, 9);
|
|
545
553
|
_init_openedDialogs = _applyDecs$e[0];
|
|
546
554
|
_init_confirmDialogs = _applyDecs$e[1];
|
|
547
555
|
_init_userCount = _applyDecs$e[2];
|
|
548
556
|
_init_participantElectronDialogContainer = _applyDecs$e[3];
|
|
549
557
|
_init_currentDialogBounds = _applyDecs$e[4];
|
|
550
558
|
_init_videoWindowBounds = _applyDecs$e[5];
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
_init_recordShareBounds = _applyDecs$e[9];
|
|
555
|
-
_initProto = _applyDecs$e[10];
|
|
559
|
+
_init_recordShareBounds = _applyDecs$e[6];
|
|
560
|
+
_init_allApplicationWindows = _applyDecs$e[7];
|
|
561
|
+
_initProto = _applyDecs$e[8];
|
|
556
562
|
var StoreContext = exports.StoreContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ConfirmContentProps } from 'agora-ui-foundation/lib/components/confirm-content';
|
|
2
|
+
export declare const ConfirmWindow: ({ confirm, onMouseEnter, onMouseLeave, activeConfirm, }: {
|
|
3
|
+
confirm: ConfirmContentProps;
|
|
4
|
+
onMouseEnter: (title: string | undefined) => void;
|
|
5
|
+
onMouseLeave: () => void;
|
|
6
|
+
activeConfirm: string | undefined;
|
|
7
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.symbol.js");
|
|
4
|
+
require("core-js/modules/es.array.filter.js");
|
|
5
|
+
require("core-js/modules/es.array.for-each.js");
|
|
6
|
+
require("core-js/modules/es.array.push.js");
|
|
7
|
+
require("core-js/modules/es.object.define-properties.js");
|
|
8
|
+
require("core-js/modules/es.object.define-property.js");
|
|
9
|
+
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
10
|
+
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
|
11
|
+
require("core-js/modules/es.object.keys.js");
|
|
12
|
+
require("core-js/modules/es.object.to-string.js");
|
|
13
|
+
require("core-js/modules/esnext.async-iterator.filter.js");
|
|
14
|
+
require("core-js/modules/esnext.async-iterator.for-each.js");
|
|
15
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
|
16
|
+
require("core-js/modules/esnext.iterator.filter.js");
|
|
17
|
+
require("core-js/modules/esnext.iterator.for-each.js");
|
|
18
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
|
19
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
20
|
+
Object.defineProperty(exports, "__esModule", {
|
|
21
|
+
value: true
|
|
22
|
+
});
|
|
23
|
+
exports.ConfirmWindow = void 0;
|
|
24
|
+
require("core-js/modules/es.array.concat.js");
|
|
25
|
+
require("core-js/modules/es.date.to-json.js");
|
|
26
|
+
require("core-js/modules/es.json.stringify.js");
|
|
27
|
+
require("core-js/modules/web.timers.js");
|
|
28
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
29
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
30
|
+
var _mobxReact = require("mobx-react");
|
|
31
|
+
var _react = require("react");
|
|
32
|
+
var _store = require("../../store");
|
|
33
|
+
var _useElectron = require("../../../dialog/hooks/useElectron");
|
|
34
|
+
var _env = require("agora-foundation/lib/utilities/env");
|
|
35
|
+
var _confirmContent = require("agora-ui-foundation/lib/components/confirm-content");
|
|
36
|
+
var _platform = require("../../../../utilities/platform");
|
|
37
|
+
var _tools = require("../../../../utilities/tools");
|
|
38
|
+
var _renderer = require("../../../../utilities/renderer");
|
|
39
|
+
var _react2 = require("@use-gesture/react");
|
|
40
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
41
|
+
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; }
|
|
42
|
+
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; }
|
|
43
|
+
var ConfirmWindow = exports.ConfirmWindow = (0, _mobxReact.observer)(function (_ref) {
|
|
44
|
+
var _rndRef$current;
|
|
45
|
+
var confirm = _ref.confirm,
|
|
46
|
+
onMouseEnter = _ref.onMouseEnter,
|
|
47
|
+
onMouseLeave = _ref.onMouseLeave,
|
|
48
|
+
activeConfirm = _ref.activeConfirm;
|
|
49
|
+
var _useContext = (0, _react.useContext)(_store.StoreContext),
|
|
50
|
+
screenBounds = _useContext.screenBounds,
|
|
51
|
+
calculateMethods = _useContext.calculateMethods,
|
|
52
|
+
log = _useContext.log;
|
|
53
|
+
var _ref2 = (0, _env.isElectron)() ? (0, _react.useContext)(_useElectron.DialogInstanceContext) : {},
|
|
54
|
+
browserWindow = _ref2.browserWindow;
|
|
55
|
+
var rndRef = (0, _react.useRef)(null);
|
|
56
|
+
var windowFocusTimerRef = (0, _react.useRef)();
|
|
57
|
+
var defaultSize = {
|
|
58
|
+
width: confirm.width || 320,
|
|
59
|
+
height: confirm.height ? confirm.height : ((_rndRef$current = rndRef.current) === null || _rndRef$current === void 0 ? void 0 : _rndRef$current.getBoundingClientRect().height) || (confirm.icon ? 160 : 150)
|
|
60
|
+
};
|
|
61
|
+
var baseBounds = (0, _react.useMemo)(function () {
|
|
62
|
+
var _ref3 = screenBounds || {
|
|
63
|
+
width: window.innerWidth,
|
|
64
|
+
height: window.innerHeight
|
|
65
|
+
},
|
|
66
|
+
width = _ref3.width,
|
|
67
|
+
height = _ref3.height;
|
|
68
|
+
return {
|
|
69
|
+
x: width / 2 - defaultSize.width / 2,
|
|
70
|
+
y: height / 2 - defaultSize.height / 2,
|
|
71
|
+
width: width,
|
|
72
|
+
height: height
|
|
73
|
+
};
|
|
74
|
+
}, [screenBounds]);
|
|
75
|
+
var _useState = (0, _react.useState)({
|
|
76
|
+
x: baseBounds.x,
|
|
77
|
+
y: baseBounds.y
|
|
78
|
+
}),
|
|
79
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
80
|
+
bounds = _useState2[0],
|
|
81
|
+
setBounds = _useState2[1];
|
|
82
|
+
var bind = (0, _react2.useDrag)(function (_ref4) {
|
|
83
|
+
var _ref4$delta = (0, _slicedToArray2["default"])(_ref4.delta, 2),
|
|
84
|
+
dx = _ref4$delta[0],
|
|
85
|
+
dy = _ref4$delta[1];
|
|
86
|
+
var x = bounds.x + dx;
|
|
87
|
+
var y = bounds.y + dy;
|
|
88
|
+
var maxX = baseBounds.width - defaultSize.width;
|
|
89
|
+
var maxY = baseBounds.height - defaultSize.height;
|
|
90
|
+
var coord = {
|
|
91
|
+
x: Math.max(0, Math.min(maxX, x)),
|
|
92
|
+
y: Math.max(0, Math.min(maxY, y))
|
|
93
|
+
};
|
|
94
|
+
setBounds(coord);
|
|
95
|
+
});
|
|
96
|
+
var ignoreMouseTimer = (0, _react.useRef)();
|
|
97
|
+
function recalculate(bounds) {
|
|
98
|
+
if (windowFocusTimerRef.current) {
|
|
99
|
+
clearTimeout(windowFocusTimerRef.current);
|
|
100
|
+
windowFocusTimerRef.current = undefined;
|
|
101
|
+
}
|
|
102
|
+
log("call handle checkMouseOver condition: ".concat((0, _env.isElectron)(), " && ").concat((0, _platform.isWindows)(), " && ").concat(browserWindow, " && ").concat(rndRef.current, " && ").concat(JSON.stringify(screenBounds)));
|
|
103
|
+
if ((0, _env.isElectron)() && (0, _platform.isWindows)() && browserWindow && rndRef.current && screenBounds) {
|
|
104
|
+
log("handleCheckMouseOver called , the bounds is ".concat(JSON.stringify(bounds || screenBounds)));
|
|
105
|
+
(0, _tools.handleCheckMouseOver)({
|
|
106
|
+
elem: rndRef.current,
|
|
107
|
+
browserWindow: browserWindow,
|
|
108
|
+
screenBounds: bounds || screenBounds,
|
|
109
|
+
callback: function callback(timerId) {
|
|
110
|
+
windowFocusTimerRef.current = timerId;
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
var handleRecalculate = function handleRecalculate() {
|
|
116
|
+
return recalculate();
|
|
117
|
+
};
|
|
118
|
+
(0, _react.useEffect)(function () {
|
|
119
|
+
recalculate();
|
|
120
|
+
!calculateMethods.has(confirm) && calculateMethods.set(confirm, recalculate);
|
|
121
|
+
(0, _env.isElectron)() && (0, _platform.isWindows)() && window.runtime.screen.addListener('display-removed', handleRecalculate);
|
|
122
|
+
return function () {
|
|
123
|
+
clearTimeout(windowFocusTimerRef.current);
|
|
124
|
+
calculateMethods["delete"](confirm);
|
|
125
|
+
ignoreMouseTimer.current && clearInterval(ignoreMouseTimer.current);
|
|
126
|
+
(0, _env.isElectron)() && (0, _platform.isWindows)() && window.runtime.screen.removeListener('display-removed', handleRecalculate);
|
|
127
|
+
};
|
|
128
|
+
}, [rndRef.current /** hack 处理 windows 下,弹出窗口层级不对的问题 */]);
|
|
129
|
+
(0, _react.useEffect)(function () {
|
|
130
|
+
log("when screen bounds changed ".concat(JSON.stringify(screenBounds)));
|
|
131
|
+
(0, _platform.isWindows)() && setBounds({
|
|
132
|
+
x: baseBounds.x,
|
|
133
|
+
y: baseBounds.y
|
|
134
|
+
});
|
|
135
|
+
}, [screenBounds]);
|
|
136
|
+
var handleMouseEnter = function handleMouseEnter() {
|
|
137
|
+
ignoreMouseTimer.current && activeConfirm === confirm.title && clearInterval(ignoreMouseTimer.current);
|
|
138
|
+
if ((0, _env.isElectron)()) {
|
|
139
|
+
onMouseEnter(confirm.title);
|
|
140
|
+
browserWindow === null || browserWindow === void 0 || browserWindow.setIgnoreMouseEvents(false);
|
|
141
|
+
browserWindow === null || browserWindow === void 0 || browserWindow.focus();
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
var handleMouseLeave = function handleMouseLeave() {
|
|
145
|
+
if ((0, _env.isElectron)()) {
|
|
146
|
+
onMouseLeave();
|
|
147
|
+
log("[event-confirm]: handleMouseLeave, ignore mouse events: true");
|
|
148
|
+
browserWindow === null || browserWindow === void 0 || browserWindow.setIgnoreMouseEvents(true, {
|
|
149
|
+
forward: true
|
|
150
|
+
});
|
|
151
|
+
// 修复老版本的 mac 下,ignore 会失效的问题
|
|
152
|
+
if (activeConfirm === undefined && (0, _renderer.isMac)()) {
|
|
153
|
+
ignoreMouseTimer.current = setInterval(function () {
|
|
154
|
+
browserWindow === null || browserWindow === void 0 || browserWindow.setIgnoreMouseEvents(true, {
|
|
155
|
+
forward: true
|
|
156
|
+
});
|
|
157
|
+
}, 1000);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({}, bind()), {}, {
|
|
162
|
+
onMouseLeave: handleMouseLeave,
|
|
163
|
+
onMouseEnter: handleMouseEnter,
|
|
164
|
+
onMouseMove: handleMouseEnter,
|
|
165
|
+
style: {
|
|
166
|
+
width: defaultSize.width,
|
|
167
|
+
height: confirm.height || 'auto',
|
|
168
|
+
left: "".concat(bounds.x, "px"),
|
|
169
|
+
top: "".concat(bounds.y, "px"),
|
|
170
|
+
position: 'absolute',
|
|
171
|
+
touchAction: 'none'
|
|
172
|
+
},
|
|
173
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
174
|
+
ref: rndRef,
|
|
175
|
+
onClick: function onClick(e) {
|
|
176
|
+
return e.stopPropagation();
|
|
177
|
+
},
|
|
178
|
+
onKeyUp: function onKeyUp(e) {
|
|
179
|
+
return e.stopPropagation();
|
|
180
|
+
},
|
|
181
|
+
onKeyDown: function onKeyDown(e) {
|
|
182
|
+
return e.stopPropagation();
|
|
183
|
+
},
|
|
184
|
+
className: "fcr-confirm-dialog-wrapper_web",
|
|
185
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_confirmContent.ConfirmContent, _objectSpread({}, confirm))
|
|
186
|
+
})
|
|
187
|
+
}));
|
|
188
|
+
});
|
|
@@ -6,20 +6,20 @@ import { FcrUICurrentRoomControlProvider, FcrUIRoomProvider } from '../../provid
|
|
|
6
6
|
import { FcrUIMemberSharedDataSource } from '../../shared-data-source/member-data';
|
|
7
7
|
import { FcrUIAbilityProviderImpl } from '../../providers/ability-provider';
|
|
8
8
|
import { FcrUIScreenShareProvider } from '../../providers/screen-share-provider';
|
|
9
|
-
import {
|
|
9
|
+
import { FcrUIScreenShareSharedDataSource } from '../../shared-data-source/screen-share-data';
|
|
10
10
|
export declare class EventConfirmUIModule extends UIModule {
|
|
11
11
|
private _store?;
|
|
12
12
|
private _leaveMeetingStore?;
|
|
13
13
|
eventProvider?: FcrUIEventProvider;
|
|
14
14
|
dialogProvider?: FcrUIDialogProvider;
|
|
15
15
|
privilegeProvider?: FcrUIPrivilegeProvider;
|
|
16
|
-
currentRoomControlProvider?: FcrUICurrentRoomControlProvider;
|
|
17
16
|
screenShareProvider?: FcrUIScreenShareProvider;
|
|
17
|
+
currentRoomControlProvider?: FcrUICurrentRoomControlProvider;
|
|
18
18
|
roomProvider?: FcrUIRoomProvider;
|
|
19
19
|
sharedMemberDataSource?: FcrUIMemberSharedDataSource;
|
|
20
20
|
abilityProvider?: FcrUIAbilityProviderImpl;
|
|
21
|
-
|
|
21
|
+
sharedScreenShareSharedDataSource?: FcrUIScreenShareSharedDataSource;
|
|
22
22
|
onNodeWillActive(): void;
|
|
23
23
|
onNodeWillInactive(): void;
|
|
24
|
-
getComponent(): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
getComponent(scene: string): import("react/jsx-runtime").JSX.Element;
|
|
25
25
|
}
|
|
@@ -39,13 +39,13 @@ var EventConfirmUIModule = exports.EventConfirmUIModule = /*#__PURE__*/function
|
|
|
39
39
|
return (0, _createClass2["default"])(EventConfirmUIModule, [{
|
|
40
40
|
key: "onNodeWillActive",
|
|
41
41
|
value: function onNodeWillActive() {
|
|
42
|
-
if (this.eventProvider && this.dialogProvider) {
|
|
42
|
+
if (this.eventProvider && this.dialogProvider && this.sharedScreenShareSharedDataSource) {
|
|
43
43
|
var _this$currentRoomCont;
|
|
44
44
|
this._store = new _store2["default"]({
|
|
45
45
|
uiEventStore: this.eventProvider,
|
|
46
46
|
dialogProvider: this.dialogProvider,
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
sharedScreenShareSharedDataSource: this.sharedScreenShareSharedDataSource,
|
|
48
|
+
screenShareProvider: this.screenShareProvider
|
|
49
49
|
});
|
|
50
50
|
this._leaveMeetingStore = new _store.LeaveMeetingStore(this.privilegeProvider, this.roomProvider, (_this$currentRoomCont = this.currentRoomControlProvider) === null || _this$currentRoomCont === void 0 ? void 0 : _this$currentRoomCont.currentRoomControl, this.sharedMemberDataSource, this.abilityProvider, this.dialogProvider);
|
|
51
51
|
}
|
|
@@ -58,7 +58,9 @@ var EventConfirmUIModule = exports.EventConfirmUIModule = /*#__PURE__*/function
|
|
|
58
58
|
}
|
|
59
59
|
}, {
|
|
60
60
|
key: "getComponent",
|
|
61
|
-
value: function getComponent() {
|
|
61
|
+
value: function getComponent(scene) {
|
|
62
|
+
var _this$_store2;
|
|
63
|
+
(_this$_store2 = this._store) === null || _this$_store2 === void 0 || _this$_store2.log("[EventConfirmUIModule]: [getComponent], scene: ".concat(scene));
|
|
62
64
|
if (!this._store) {
|
|
63
65
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {});
|
|
64
66
|
}
|
|
@@ -2,16 +2,15 @@ import { ConfirmContentProps } from 'agora-ui-foundation/lib/components/confirm-
|
|
|
2
2
|
import { FcrUIEventProvider } from '../../providers/event-provider';
|
|
3
3
|
import { FcrUIDialogParams } from '../../type';
|
|
4
4
|
import { FcrUIDialogProvider } from '../../providers/dialog-provider';
|
|
5
|
+
import { FcrUIScreenShareSharedDataSource } from '../../shared-data-source/screen-share-data';
|
|
5
6
|
import { FcrUIScreenShareProvider } from '../../providers/screen-share-provider';
|
|
6
7
|
import { CurrentShareBounds } from '../control-bar/types';
|
|
7
|
-
import { FcrUIScreenShareDataSource } from '../../shared-data-source/screen-share-data-source';
|
|
8
8
|
export default class ConfirmStore {
|
|
9
9
|
protected logger: import("agora-foundation/lib/logger").Logger;
|
|
10
10
|
private _disposers;
|
|
11
11
|
private _uiEventProvider;
|
|
12
12
|
private _dialogProvider;
|
|
13
|
-
private
|
|
14
|
-
private _screenShareDataSource;
|
|
13
|
+
private _sharedScreenShareSharedDataSource;
|
|
15
14
|
private _handleConfirmEventObserver;
|
|
16
15
|
accessor isReplaceShare: boolean;
|
|
17
16
|
accessor calculateMethods: Map<ConfirmContentProps, (bounds?: CurrentShareBounds | null) => void>;
|
|
@@ -23,11 +22,11 @@ export default class ConfirmStore {
|
|
|
23
22
|
accessor screenBounds: CurrentShareBounds | Electron.Rectangle | null;
|
|
24
23
|
get confirmList(): ConfirmContentProps[];
|
|
25
24
|
get isSeizeScreen(): boolean;
|
|
26
|
-
constructor({ uiEventStore, dialogProvider, screenShareProvider,
|
|
25
|
+
constructor({ uiEventStore, dialogProvider, screenShareProvider, sharedScreenShareSharedDataSource, }: {
|
|
27
26
|
uiEventStore: FcrUIEventProvider;
|
|
28
27
|
dialogProvider: FcrUIDialogProvider;
|
|
29
28
|
screenShareProvider: FcrUIScreenShareProvider;
|
|
30
|
-
|
|
29
|
+
sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource;
|
|
31
30
|
});
|
|
32
31
|
addConfirm(payload: FcrUIDialogParams<ConfirmContentProps>): void;
|
|
33
32
|
resetIsReplace(): void;
|