fcr-ui-scene 3.5.1 → 3.6.1
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 +14 -0
- package/lib/creator.js +239 -14
- package/lib/electron/app.js +0 -21
- package/lib/electron/bootstrap-sdk.js +145 -7
- package/lib/electron/injections.d.ts +19 -7
- package/lib/electron/injections.js +206 -77
- package/lib/electron/ipc/ipc.d.ts +26 -0
- package/lib/electron/ipc/ipc.js +137 -0
- package/lib/electron/ipc/type.d.ts +11 -0
- package/lib/electron/ipc/type.js +19 -0
- package/lib/electron/logger.js +1 -1
- package/lib/electron/main.js +1 -1
- package/lib/electron/plugins/meeting-state.d.ts +1 -0
- package/lib/electron/plugins/meeting-state.js +3 -3
- package/lib/electron/plugins/screenshot.js +2 -2
- package/lib/electron/preload.js +67 -5
- package/lib/electron/window.js +0 -2
- package/lib/global.css +39 -0
- package/lib/modules/action-bar/components/apps/index.js +1 -0
- package/lib/modules/action-bar/components/apps/useWidgetList.js +1 -1
- package/lib/modules/action-bar/components/board/index.js +0 -2
- package/lib/modules/action-bar/components/breakout-room/index.js +0 -2
- package/lib/modules/action-bar/components/item/index.d.ts +2 -0
- package/lib/modules/action-bar/components/item/index.js +4 -2
- package/lib/modules/action-bar/components/leave/index.js +2 -12
- package/lib/modules/action-bar/components/more/index.js +1 -0
- package/lib/modules/action-bar/components/more/poppover-content.js +6 -9
- package/lib/modules/action-bar/components/participants/index.js +1 -9
- package/lib/modules/action-bar/components/record/index.js +43 -106
- package/lib/modules/action-bar/components/record/popover.d.ts +4 -0
- package/lib/modules/action-bar/components/record/popover.js +57 -0
- package/lib/modules/action-bar/components/record/stop-record-dialog.js +1 -0
- package/lib/modules/action-bar/components/screen-share/index.js +11 -3
- package/lib/modules/action-bar/components/screen-share/submenu.js +2 -2
- package/lib/modules/action-bar/components/security/index.js +2 -1
- package/lib/modules/action-bar/components/smaller/index.js +1 -1
- package/lib/modules/action-bar/components/trigger-output-language/index.js +17 -22
- package/lib/modules/action-bar/components/trigger-subscribe-language/index.js +2 -1
- package/lib/modules/action-bar/index.css +3 -2
- package/lib/modules/action-bar/index.js +2 -1
- package/lib/modules/action-bar/store.d.ts +5 -2
- package/lib/modules/action-bar/store.js +34 -22
- package/lib/modules/action-bar/types.d.ts +1 -0
- package/lib/modules/action-bar/view.js +1 -1
- package/lib/modules/audio-stream/index.js +4 -4
- package/lib/modules/chat/chat-room-store.js +4 -5
- package/lib/modules/chat/components/chat-bar/index.d.ts +1 -1
- package/lib/modules/chat/components/chat-bar/index.js +5 -3
- package/lib/modules/chat/components/chat-select/select-item/index.js +1 -1
- package/lib/modules/chat/components/message-list/index.js +1 -2
- package/lib/modules/chat/components/message-list/message-item/index.d.ts +0 -1
- package/lib/modules/chat/components/message-list/message-item/index.js +9 -10
- package/lib/modules/chat/index.css +24 -0
- package/lib/modules/chat/view.js +13 -3
- package/lib/modules/components/device-control/components/carmera/index.js +4 -5
- package/lib/modules/components/device-control/components/microphone/index.js +4 -5
- package/lib/modules/components/device-control/index.css +6 -3
- package/lib/modules/components/leave-meeting/components/assign-host.js +26 -4
- package/lib/modules/components/leave-meeting/components/index.css +35 -0
- package/lib/modules/components/leave-meeting/index.js +1 -0
- package/lib/modules/components/leave-meeting/store.js +25 -67
- package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +3 -2
- package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +1 -2
- package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +10 -9
- package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +2 -2
- package/lib/modules/components/member-window/components/member-actions/components/user-info.js +1 -1
- package/lib/modules/components/member-window/components/member-actions/index.js +2 -4
- package/lib/modules/components/member-window/components/member-actions/libs/index.js +0 -1
- package/lib/modules/components/member-window/components/video-player/components/remote-video-player.d.ts +1 -1
- package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +4 -16
- package/lib/modules/components/member-window/index.css +19 -7
- package/lib/modules/components/member-window/index.js +0 -1
- package/lib/modules/components/member-window/types.d.ts +1 -1
- package/lib/modules/components/security-menu/index.css +2 -2
- package/lib/modules/components/security-menu/index.js +80 -28
- package/lib/modules/components/tab-frame/index.css +1 -1
- package/lib/modules/connection-gateway/components/phone/index.js +1 -1
- package/lib/modules/control-bar/components/meeting-details/index.css +1 -1
- package/lib/modules/control-bar/components/meeting-details/index.js +15 -9
- package/lib/modules/control-bar/components/more-actions/index.js +3 -21
- package/lib/modules/control-bar/components/share-state-nav/index.js +4 -20
- package/lib/modules/control-bar/index.d.ts +2 -0
- package/lib/modules/control-bar/index.js +3 -1
- package/lib/modules/control-bar/store.d.ts +12 -3
- package/lib/modules/control-bar/store.js +106 -98
- package/lib/modules/control-bar/view.js +1 -6
- package/lib/modules/device-pretest/audio-preview/speaker-detection.js +1 -1
- package/lib/modules/dialog/components/chat/electron.d.ts +1 -3
- package/lib/modules/dialog/components/chat/index.js +24 -17
- package/lib/modules/dialog/components/confirm-leave-meeting/index.d.ts +6 -0
- package/lib/modules/dialog/components/confirm-leave-meeting/index.js +86 -0
- package/lib/modules/dialog/components/control-bar/index.d.ts +1 -2
- package/lib/modules/dialog/components/control-bar/index.js +5 -17
- package/lib/modules/dialog/components/dialog-container/component/body.d.ts +1 -0
- package/lib/modules/dialog/components/dialog-container/component/body.js +4 -2
- package/lib/modules/dialog/components/dialog-container/index.css +18 -1
- package/lib/modules/dialog/components/dialog-container/index.d.ts +1 -0
- package/lib/modules/dialog/components/dialog-container/index.js +3 -1
- package/lib/modules/dialog/components/participant/index.d.ts +0 -1
- package/lib/modules/dialog/components/participant/index.js +15 -24
- package/lib/modules/dialog/components/pre-setting/electron.d.ts +2 -0
- package/lib/modules/dialog/components/pre-setting/electron.js +51 -0
- package/lib/modules/dialog/components/pre-setting/index.css +26 -0
- package/lib/modules/dialog/components/pre-setting/index.d.ts +6 -0
- package/lib/modules/dialog/components/pre-setting/index.js +38 -0
- package/lib/modules/dialog/components/pre-setting-container/component/body.d.ts +8 -0
- package/lib/modules/dialog/components/pre-setting-container/component/body.js +80 -0
- package/lib/modules/dialog/components/pre-setting-container/index.css +82 -0
- package/lib/modules/dialog/components/pre-setting-container/index.d.ts +18 -0
- package/lib/modules/dialog/components/pre-setting-container/index.js +117 -0
- package/lib/modules/dialog/components/rename/index.d.ts +4 -0
- package/lib/modules/dialog/components/rename/index.js +72 -0
- package/lib/modules/dialog/components/share-screen-selection/index.js +1 -2
- package/lib/modules/dialog/components/video-window/index.js +18 -16
- package/lib/modules/dialog/components/widget/electron.d.ts +2 -1
- package/lib/modules/dialog/components/widget/electron.js +3 -2
- package/lib/modules/dialog/components/widget/index.d.ts +2 -1
- package/lib/modules/dialog/components/widget/index.js +4 -6
- package/lib/modules/dialog/dialogs.d.ts +1 -0
- package/lib/modules/dialog/dialogs.js +3 -2
- package/lib/modules/dialog/hooks/useElectron.d.ts +2 -0
- package/lib/modules/dialog/hooks/useElectron.js +22 -101
- package/lib/modules/dialog/index.d.ts +2 -0
- package/lib/modules/dialog/index.js +2 -2
- package/lib/modules/dialog/store.d.ts +8 -3
- package/lib/modules/dialog/store.js +38 -26
- package/lib/modules/dialog/type.d.ts +1 -0
- package/lib/modules/dialog/view.js +2 -1
- package/lib/modules/event-confirm/index.d.ts +2 -0
- package/lib/modules/event-confirm/index.js +2 -1
- package/lib/modules/event-confirm/store.d.ts +9 -1
- package/lib/modules/event-confirm/store.js +100 -8
- package/lib/modules/event-confirm/view.js +55 -46
- package/lib/modules/{sound-effect → event-sound}/index.d.ts +3 -2
- package/lib/modules/{sound-effect → event-sound}/index.js +9 -5
- package/lib/modules/event-toast/store.js +6 -1
- package/lib/modules/interpreter/dialog-content/index.js +4 -1
- package/lib/modules/interpreter/index.d.ts +2 -0
- package/lib/modules/interpreter/index.js +2 -1
- package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/index.js +3 -0
- package/lib/modules/interpreter/store.d.ts +2 -2
- package/lib/modules/interpreter/store.js +30 -24
- package/lib/modules/interpreter/type.d.ts +2 -0
- package/lib/modules/invite/components/pstn-invite.js +2 -25
- package/lib/modules/invite/components/voip-invite.css +26 -0
- package/lib/modules/invite/components/voip-invite.d.ts +1 -0
- package/lib/modules/invite/components/voip-invite.js +8 -11
- package/lib/modules/invite/index.css +16 -3
- package/lib/modules/invite/index.d.ts +2 -1
- package/lib/modules/invite/index.js +2 -1
- package/lib/modules/invite/store.d.ts +5 -1
- package/lib/modules/invite/store.js +8 -1
- package/lib/modules/layout/components/Aside.js +0 -1
- package/lib/modules/layout/components/Carousel.d.ts +1 -1
- package/lib/modules/layout/components/Carousel.js +16 -118
- package/lib/modules/layout/components/CommonVideoRenderer.d.ts +13 -0
- package/lib/modules/layout/components/CommonVideoRenderer.js +214 -0
- package/lib/modules/layout/components/Gallery.d.ts +1 -0
- package/lib/modules/layout/components/Gallery.js +62 -205
- package/lib/modules/layout/components/index.css +17 -34
- package/lib/modules/layout/index.d.ts +2 -0
- package/lib/modules/layout/index.js +2 -1
- package/lib/modules/layout/store.d.ts +5 -2
- package/lib/modules/layout/store.js +53 -39
- package/lib/modules/layout/type.d.ts +4 -0
- package/lib/modules/layout/type.js +6 -1
- package/lib/modules/live-streaming/store.d.ts +1 -0
- package/lib/modules/live-streaming/store.js +19 -8
- package/lib/modules/participant/components/confirm-input/index.d.ts +4 -4
- package/lib/modules/participant/components/confirm-input/index.js +74 -6
- package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.css +27 -3
- package/lib/modules/participant/components/participants/components/footer/components/footer/index.css +4 -0
- package/lib/modules/participant/components/participants/components/footer/components/footer/index.js +3 -4
- package/lib/modules/participant/components/participants/components/participants/components/attendee/index.css +4 -3
- package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +1 -0
- package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.css +9 -1
- package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +1 -1
- package/lib/modules/participant/components/participants/components/participants/index.css +1 -0
- package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.css +18 -0
- package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.js +12 -5
- package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.js +1 -8
- package/lib/modules/participant/index.css +6 -0
- package/lib/modules/participant/index.d.ts +1 -0
- package/lib/modules/participant/index.js +9 -0
- package/lib/modules/participant/store.d.ts +6 -0
- package/lib/modules/participant/store.js +130 -96
- package/lib/modules/pc-audio-connect/store.js +3 -2
- package/lib/modules/phone-audio-connect/index.d.ts +2 -0
- package/lib/modules/phone-audio-connect/index.js +2 -1
- package/lib/modules/phone-audio-connect/store.d.ts +4 -1
- package/lib/modules/phone-audio-connect/store.js +4 -2
- package/lib/modules/setting/audio-settings/audio-settings.js +70 -48
- package/lib/modules/setting/audio-settings/index.css +23 -6
- package/lib/modules/setting/general-settings/general-settings.d.ts +1 -2
- package/lib/modules/setting/general-settings/general-settings.js +111 -37
- package/lib/modules/setting/general-settings/index.css +15 -0
- package/lib/modules/setting/index.d.ts +4 -1
- package/lib/modules/setting/index.js +7 -4
- package/lib/modules/setting/state/index.js +1 -1
- package/lib/modules/setting/store.d.ts +24 -11
- package/lib/modules/setting/store.js +203 -142
- package/lib/modules/setting/video-settings/index.css +13 -2
- package/lib/modules/setting/video-settings/video-settings-basic.js +18 -27
- package/lib/modules/setting/video-settings/video-settings.d.ts +0 -2
- package/lib/modules/setting/video-settings/video-settings.js +3 -2
- package/lib/modules/setting/view.d.ts +11 -2
- package/lib/modules/setting/view.js +93 -71
- package/lib/modules/share-screen/components/selection/index.js +6 -2
- package/lib/modules/share-screen/index.d.ts +4 -1
- package/lib/modules/share-screen/index.js +3 -1
- package/lib/modules/share-screen/store.d.ts +15 -5
- package/lib/modules/share-screen/store.js +105 -59
- package/lib/modules/share-screen/view.js +1 -1
- package/lib/modules/state-bar/index.css +4 -2
- package/lib/modules/state-bar/index.d.ts +2 -0
- package/lib/modules/state-bar/index.js +2 -1
- package/lib/modules/state-bar/layout-config.js +1 -0
- package/lib/modules/state-bar/live-streaming-state.js +1 -0
- package/lib/modules/state-bar/meeting-detail.css +10 -1
- package/lib/modules/state-bar/meeting-details.js +35 -25
- package/lib/modules/state-bar/meeting-network-state.css +8 -0
- package/lib/modules/state-bar/meeting-time.js +9 -20
- package/lib/modules/state-bar/store.d.ts +5 -1
- package/lib/modules/state-bar/store.js +10 -3
- package/lib/modules/state-bar/view.js +17 -6
- package/lib/modules/video-window/components/members/index.js +0 -3
- package/lib/modules/waiting-room-layout/index.css +13 -0
- package/lib/modules/waiting-room-layout/index.d.ts +2 -1
- package/lib/modules/waiting-room-layout/index.js +2 -1
- package/lib/modules/waiting-room-layout/store.d.ts +12 -1
- package/lib/modules/waiting-room-layout/store.js +42 -6
- package/lib/modules/waiting-room-layout/view.js +22 -5
- package/lib/modules/whiteboard/components/control-bar/index.css +1 -1
- package/lib/modules/whiteboard/components/control-bar/index.js +0 -2
- package/lib/modules/whiteboard/components/scene-pagination.js +0 -2
- package/lib/modules/whiteboard/components/switch-theme/libs.d.ts +1 -1
- package/lib/modules/whiteboard/components/switch-theme/libs.js +3 -1
- package/lib/modules/whiteboard/components/toolbar/ style.css +1 -0
- package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/color.js +1 -2
- package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/panel.js +1 -0
- package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/picker.js +1 -0
- package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +3 -14
- package/lib/modules/whiteboard/components/toolbar/components/expansion/index.d.ts +1 -0
- package/lib/modules/whiteboard/components/toolbar/components/expansion/index.js +83 -0
- package/lib/modules/whiteboard/components/toolbar/components/extra-tool-picker.js +2 -2
- package/lib/modules/whiteboard/components/toolbar/components/history.js +3 -3
- package/lib/modules/whiteboard/components/toolbar/components/item/index.d.ts +1 -0
- package/lib/modules/whiteboard/components/toolbar/components/item/index.js +42 -0
- package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +2 -2
- package/lib/modules/whiteboard/components/toolbar/components/screen-capture-picker.js +2 -2
- package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +3 -3
- package/lib/modules/whiteboard/components/toolbar/hooks/index.js +6 -6
- package/lib/modules/whiteboard/components/toolbar/index.js +9 -113
- package/lib/modules/whiteboard/components/toolbar/store.d.ts +18 -0
- package/lib/modules/whiteboard/components/toolbar/store.js +276 -83
- package/lib/modules/whiteboard/context.d.ts +1 -2
- package/lib/modules/whiteboard/index.d.ts +1 -14
- package/lib/modules/whiteboard/index.js +131 -426
- package/lib/modules/whiteboard/view.js +12 -10
- package/lib/modules/widget/sdk.js +2 -2
- package/lib/object-manager.d.ts +8 -0
- package/lib/object-manager.js +75 -0
- package/lib/plugins/browser-runtime-plugin.js +19 -14
- package/lib/providers/ability-provider.d.ts +8 -0
- package/lib/providers/ability-provider.js +14 -0
- package/lib/providers/device-privilege-provider.d.ts +1 -0
- package/lib/providers/device-privilege-provider.js +53 -75
- package/lib/providers/device-provider.d.ts +18 -8
- package/lib/providers/device-provider.js +378 -206
- package/lib/providers/device-stream-provider.js +0 -4
- package/lib/providers/dialog-provider.d.ts +1 -0
- package/lib/providers/dialog-provider.js +4 -18
- package/lib/providers/event-provider.js +45 -2
- package/lib/providers/interpreter-provider.d.ts +4 -0
- package/lib/providers/interpreter-provider.js +166 -137
- package/lib/providers/message-provider.js +44 -2
- package/lib/providers/privilege-provider.d.ts +33 -0
- package/lib/providers/privilege-provider.js +120 -45
- package/lib/providers/room-provider.d.ts +12 -10
- package/lib/providers/room-provider.js +162 -262
- package/lib/providers/screen-share-provider.d.ts +4 -0
- package/lib/providers/screen-share-provider.js +3 -6
- package/lib/providers/widget-provider.js +6 -4
- package/lib/runtime.d.ts +20 -8
- package/lib/scenes/main-scene.d.ts +2 -0
- package/lib/scenes/main-scene.js +95 -37
- package/lib/scenes/waiting-scene.js +16 -13
- package/lib/schema.d.ts +55 -32
- package/lib/schema.js +23 -9
- package/lib/shared-data-source/config.d.ts +6 -2
- package/lib/shared-data-source/config.js +81 -10
- package/lib/shared-data-source/meeting-time.js +2 -2
- package/lib/shared-data-source/member-data.d.ts +16 -20
- package/lib/shared-data-source/member-data.js +121 -110
- package/lib/shared-data-source/screen-share-data-source.d.ts +37 -0
- package/lib/shared-data-source/screen-share-data-source.js +134 -0
- package/lib/shared-data-source/security-data.d.ts +1 -0
- package/lib/shared-data-source/security-data.js +3 -5
- package/lib/shared-data-source/setting.d.ts +1 -0
- package/lib/shared-data-source/setting.js +33 -17
- package/lib/shared-data-source/video-window.d.ts +3 -4
- package/lib/shared-data-source/video-window.js +58 -48
- package/lib/translations/enUS.d.ts +48 -1
- package/lib/translations/enUS.js +101 -17
- package/lib/translations/zhCN.d.ts +48 -1
- package/lib/translations/zhCN.js +88 -4
- package/lib/type.d.ts +40 -20
- package/lib/type.js +14 -1
- package/lib/ui-manager.d.ts +11 -9
- package/lib/ui-manager.js +118 -29
- package/lib/ui-scene.d.ts +7 -4
- package/lib/ui-scene.js +111 -130
- package/lib/utilities/constant.d.ts +3 -1
- package/lib/utilities/constant.js +2 -0
- package/lib/utilities/copyText.js +15 -11
- package/lib/utilities/default-config.d.ts +2 -0
- package/lib/utilities/default-config.js +11 -5
- package/lib/utilities/i18n-common-data.d.ts +2 -0
- package/lib/utilities/i18n-common-data.js +15 -0
- package/lib/utilities/logger.d.ts +0 -1
- package/lib/utilities/logger.js +3 -4
- package/lib/utilities/renderer.d.ts +0 -9
- package/lib/utilities/renderer.js +1 -70
- package/lib/utilities/screen.js +3 -1
- package/lib/utilities/setting-config-storage.d.ts +6 -1
- package/lib/utilities/setting-config-storage.js +21 -4
- package/lib/utilities/tools.d.ts +30 -6
- package/lib/utilities/tools.js +74 -44
- package/lib/utilities/ui-resources.d.ts +6 -0
- package/lib/utilities/ui-resources.js +47 -9
- package/lib/waiting-room-control-manager.d.ts +4 -4
- package/lib/waiting-room-control-manager.js +29 -9
- package/package.json +6 -6
- package/public/assets/browser/images/default1.jpg +0 -0
- package/public/assets/browser/images/default2.jpg +0 -0
- package/public/assets/browser/images/default3.jpg +0 -0
- package/public/assets/browser/images/default4.jpg +0 -0
- package/public/assets/browser/images/default5.jpg +0 -0
- package/public/assets/browser/images/default6.jpg +0 -0
- package/public/assets/browser/images/default7.jpg +0 -0
- package/public/assets/browser/sound_effects/pretest.mp3 +0 -0
- package/public/assets/browser/sound_effects/recording_started.mp3 +0 -0
- package/public/assets/browser/sound_effects/remote_user_joined.mp3 +0 -0
- package/public/assets/browser/sound_effects/speaker_test.mp3 +0 -0
- package/public/assets/browser/videos/default8.mp4 +0 -0
- package/public/assets/browser/videos/default9.mp4 +0 -0
- package/public/assets/electron/images/default1.jpg +0 -0
- package/public/assets/electron/images/default2.jpg +0 -0
- package/public/assets/electron/sound_effects/pretest.mp3 +0 -0
- package/public/assets/electron/videos/default8.mp4 +0 -0
- package/public/index.html +103 -82
- package/lib/hooks/meeting-time.d.ts +0 -15
- package/lib/hooks/meeting-time.js +0 -92
- package/lib/login-confirm-dialog.d.ts +0 -13
- package/lib/login-confirm-dialog.js +0 -85
- package/lib/modules/action-bar/components/apps/appitems.d.ts +0 -3
- package/lib/modules/action-bar/components/apps/appitems.js +0 -45
- package/lib/modules/components/member-window/components/member-board.d.ts +0 -2
- package/lib/modules/components/member-window/components/member-board.js +0 -63
- package/lib/modules/dialog/components/system-preference/bg1.png +0 -0
- package/lib/modules/dialog/components/system-preference/bg2.png +0 -0
- package/lib/modules/dialog/types/index.d.ts +0 -70
- package/lib/modules/participant/components/attendee/components/microphone-indicator/index.d.ts +0 -6
- package/lib/modules/participant/components/attendee/components/microphone-indicator/index.js +0 -28
- package/lib/modules/participant/components/attendee/components/user-avatar/index.d.ts +0 -7
- package/lib/modules/participant/components/attendee/components/user-avatar/index.js +0 -39
- package/lib/modules/participant/components/attendee/index.css +0 -69
- package/lib/modules/participant/components/attendee/index.d.ts +0 -4
- package/lib/modules/participant/components/attendee/index.js +0 -337
- package/lib/modules/participant/components/drop-menu/index.css +0 -60
- package/lib/modules/participant/components/drop-menu/index.d.ts +0 -2
- package/lib/modules/participant/components/drop-menu/index.js +0 -189
- package/lib/modules/participant/components/footer/buttons.d.ts +0 -6
- package/lib/modules/participant/components/footer/buttons.js +0 -52
- package/lib/modules/participant/components/footer/index.d.ts +0 -4
- package/lib/modules/participant/components/footer/index.js +0 -37
- package/lib/modules/participant/components/merge/index.d.ts +0 -11
- package/lib/modules/participant/components/merge/index.js +0 -49
- package/lib/modules/participant/components/rename/index.d.ts +0 -4
- package/lib/modules/participant/components/rename/index.js +0 -45
- package/lib/modules/participant/components/user-action/index.d.ts +0 -17
- package/lib/modules/participant/components/user-action/index.js +0 -169
- package/lib/modules/video-window/deviceState/index.d.ts +0 -16
- package/lib/modules/video-window/deviceState/index.js +0 -75
- package/lib/modules/video-window/members/index.css +0 -51
- package/lib/modules/video-window/members/index.d.ts +0 -2
- package/lib/modules/video-window/members/index.js +0 -157
- package/lib/modules/video-window/speaking/index.css +0 -69
- package/lib/modules/video-window/speaking/index.d.ts +0 -3
- package/lib/modules/video-window/speaking/index.js +0 -57
- package/lib/modules/video-window/topControl/index.css +0 -35
- package/lib/modules/video-window/topControl/index.d.ts +0 -3
- package/lib/modules/video-window/topControl/index.js +0 -92
- /package/lib/modules/{sound-effect → event-sound}/sound-effect-player.d.ts +0 -0
- /package/lib/modules/{sound-effect → event-sound}/sound-effect-player.js +0 -0
package/lib/utilities/logger.js
CHANGED
|
@@ -4,7 +4,7 @@ require("core-js/modules/es.object.define-property.js");
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.
|
|
7
|
+
exports.getLogger = exports.generateLogObserver = exports.createLogger = void 0;
|
|
8
8
|
require("core-js/modules/es.array.concat.js");
|
|
9
9
|
require("core-js/modules/es.array.for-each.js");
|
|
10
10
|
require("core-js/modules/es.object.to-string.js");
|
|
@@ -13,7 +13,7 @@ require("core-js/modules/esnext.iterator.constructor.js");
|
|
|
13
13
|
require("core-js/modules/esnext.iterator.for-each.js");
|
|
14
14
|
require("core-js/modules/web.dom-collections.for-each.js");
|
|
15
15
|
var _logger = require("agora-foundation/lib/logger");
|
|
16
|
-
var
|
|
16
|
+
var _misc = require("agora-foundation/lib/utilities/misc");
|
|
17
17
|
var _logSerializer = require("agora-foundation/lib/decorator/log/log-serializer");
|
|
18
18
|
var getLogger = exports.getLogger = function getLogger() {
|
|
19
19
|
return (0, _logger.getLogger)({
|
|
@@ -23,11 +23,10 @@ var getLogger = exports.getLogger = function getLogger() {
|
|
|
23
23
|
var createLogger = exports.createLogger = function createLogger(opts) {
|
|
24
24
|
return (0, _logger.createLogger)({
|
|
25
25
|
label: 'ui-scene',
|
|
26
|
-
prefix: opts.prefix,
|
|
26
|
+
prefix: "".concat(opts.prefix, "@").concat((0, _misc.randomString)(5)),
|
|
27
27
|
database: opts.database
|
|
28
28
|
});
|
|
29
29
|
};
|
|
30
|
-
var trace = exports.trace = _decorator.trace.to('ui-scene');
|
|
31
30
|
var generateLogObserver = exports.generateLogObserver = function generateLogObserver(logger, callbackMethods) {
|
|
32
31
|
var observer = {};
|
|
33
32
|
callbackMethods.forEach(function (method) {
|
|
@@ -1,16 +1,7 @@
|
|
|
1
|
-
import { AgoraRtcScreenCaptureType, AgoraRtcWindowInfo } from 'agora-rte-sdk/lib/core/rtc/type';
|
|
2
1
|
export declare const open: (path: string) => void;
|
|
3
2
|
export declare const close: (path: string) => void;
|
|
4
3
|
export declare const isWindows: () => boolean;
|
|
5
4
|
export declare const isMac: () => boolean;
|
|
6
|
-
export declare const getCurrentSharingWorkArea: (currentShareId: string, currentShareType: AgoraRtcScreenCaptureType, allApplicationWindows: AgoraRtcWindowInfo[]) => {
|
|
7
|
-
x: number;
|
|
8
|
-
y: number;
|
|
9
|
-
width: number;
|
|
10
|
-
height: number;
|
|
11
|
-
displayId: number;
|
|
12
|
-
availTop: number;
|
|
13
|
-
};
|
|
14
5
|
/**
|
|
15
6
|
* handle the will-close event of the browserWindow,
|
|
16
7
|
* callback will be called when:
|
|
@@ -4,16 +4,8 @@ require("core-js/modules/es.object.define-property.js");
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.setInMeetingState = exports.restartApp = exports.releaseSubAllWindowRefs = exports.open = exports.isWindows = exports.isMac = exports.handleWillClose = exports.
|
|
8
|
-
require("core-js/modules/es.array.concat.js");
|
|
9
|
-
require("core-js/modules/es.array.find.js");
|
|
7
|
+
exports.setInMeetingState = exports.restartApp = exports.releaseSubAllWindowRefs = exports.open = exports.isWindows = exports.isMac = exports.handleWillClose = exports.close = void 0;
|
|
10
8
|
require("core-js/modules/es.array.index-of.js");
|
|
11
|
-
require("core-js/modules/es.number.constructor.js");
|
|
12
|
-
require("core-js/modules/es.object.to-string.js");
|
|
13
|
-
require("core-js/modules/esnext.async-iterator.find.js");
|
|
14
|
-
require("core-js/modules/esnext.iterator.constructor.js");
|
|
15
|
-
require("core-js/modules/esnext.iterator.find.js");
|
|
16
|
-
var _type = require("agora-rte-sdk/lib/core/rtc/type");
|
|
17
9
|
var open = exports.open = function open(path) {
|
|
18
10
|
window.runtime.open(path);
|
|
19
11
|
};
|
|
@@ -26,67 +18,6 @@ var isWindows = exports.isWindows = function isWindows() {
|
|
|
26
18
|
var isMac = exports.isMac = function isMac() {
|
|
27
19
|
return navigator.userAgent.indexOf('Mac') > -1;
|
|
28
20
|
};
|
|
29
|
-
var getCurrentSharingWorkArea = exports.getCurrentSharingWorkArea = function getCurrentSharingWorkArea(currentShareId, currentShareType, allApplicationWindows) {
|
|
30
|
-
var displays = window.runtime.screen.getAllDisplays();
|
|
31
|
-
var bounds = {
|
|
32
|
-
x: 0,
|
|
33
|
-
y: 0,
|
|
34
|
-
width: 0,
|
|
35
|
-
height: 0,
|
|
36
|
-
displayId: 1,
|
|
37
|
-
availTop: 0
|
|
38
|
-
};
|
|
39
|
-
if (currentShareType === _type.AgoraRtcScreenCaptureType.SCREEN) {
|
|
40
|
-
var display;
|
|
41
|
-
if (isWindows()) {
|
|
42
|
-
display = displays.find(function (display, index) {
|
|
43
|
-
return index === Number(currentShareId);
|
|
44
|
-
});
|
|
45
|
-
} else {
|
|
46
|
-
display = displays.find(function (display, index) {
|
|
47
|
-
return display.id === Number(currentShareId);
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
if (!display) {
|
|
51
|
-
console.log("cannot get correct display, use current display. width: ".concat(window.screen.availWidth, ", height: ").concat(window.screen.availHeight));
|
|
52
|
-
bounds = {
|
|
53
|
-
x: 0,
|
|
54
|
-
y: 0,
|
|
55
|
-
width: window.screen.availWidth,
|
|
56
|
-
height: window.screen.availHeight,
|
|
57
|
-
displayId: 0,
|
|
58
|
-
availTop: 0
|
|
59
|
-
};
|
|
60
|
-
} else {
|
|
61
|
-
bounds = {
|
|
62
|
-
x: display.bounds.x,
|
|
63
|
-
y: isWindows() ? 0 : display.bounds.y,
|
|
64
|
-
width: display.bounds.width,
|
|
65
|
-
height: display.bounds.height,
|
|
66
|
-
displayId: display.id,
|
|
67
|
-
availTop: display.workArea.y
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
} else {
|
|
71
|
-
var _appWindow$bounds$x, _appWindow$bounds, _appWindow$bounds$y, _appWindow$bounds2;
|
|
72
|
-
var appWindow = allApplicationWindows.find(function (app) {
|
|
73
|
-
return app.id === currentShareId;
|
|
74
|
-
});
|
|
75
|
-
var _display = window.runtime.screen.getDisplayNearestPoint({
|
|
76
|
-
x: (_appWindow$bounds$x = appWindow === null || appWindow === void 0 || (_appWindow$bounds = appWindow.bounds) === null || _appWindow$bounds === void 0 ? void 0 : _appWindow$bounds.x) !== null && _appWindow$bounds$x !== void 0 ? _appWindow$bounds$x : 0,
|
|
77
|
-
y: (_appWindow$bounds$y = appWindow === null || appWindow === void 0 || (_appWindow$bounds2 = appWindow.bounds) === null || _appWindow$bounds2 === void 0 ? void 0 : _appWindow$bounds2.y) !== null && _appWindow$bounds$y !== void 0 ? _appWindow$bounds$y : 0
|
|
78
|
-
});
|
|
79
|
-
bounds = {
|
|
80
|
-
x: _display.bounds.x,
|
|
81
|
-
y: isWindows() ? 0 : _display.bounds.y,
|
|
82
|
-
width: _display.bounds.width,
|
|
83
|
-
height: _display.bounds.height,
|
|
84
|
-
displayId: _display.id,
|
|
85
|
-
availTop: _display.workArea.y
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
return bounds;
|
|
89
|
-
};
|
|
90
21
|
|
|
91
22
|
/**
|
|
92
23
|
* handle the will-close event of the browserWindow,
|
package/lib/utilities/screen.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
require("core-js/modules/es.object.define-property.js");
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.isFullScreen = exports.exitFullScreen = exports.enterFullScreen = void 0;
|
|
8
9
|
var _env = require("agora-foundation/lib/utilities/env");
|
|
10
|
+
var _isFunction = _interopRequireDefault(require("lodash/isFunction"));
|
|
9
11
|
var isFullScreen = exports.isFullScreen = function isFullScreen() {
|
|
10
|
-
return !!(document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement || (0, _env.isElectron)() && window.runtime.browserWindow.isFullScreen());
|
|
12
|
+
return !!(document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement || (0, _env.isElectron)() && (0, _isFunction["default"])(window.runtime.browserWindow.isFullScreen) && window.runtime.browserWindow.isFullScreen());
|
|
11
13
|
};
|
|
12
14
|
var enterFullScreen = exports.enterFullScreen = function enterFullScreen() {
|
|
13
15
|
if (isFullScreen()) return;
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import { FcrUIMediaConfig, FcrUISettingConfig } from '../type';
|
|
2
|
+
import { FcrUILocalStorageProvider } from '../providers/local-storage-provider';
|
|
2
3
|
export declare const settingConfigStorageKey = "fcr-ui-setting-config";
|
|
3
4
|
export declare class FcrSettingConfigStorage implements FcrUISettingConfig {
|
|
4
5
|
private _isElectron;
|
|
5
6
|
private _settingConfig;
|
|
6
|
-
|
|
7
|
+
private _localStorageProvider;
|
|
8
|
+
constructor({ localStorageProvider }: {
|
|
9
|
+
localStorageProvider: FcrUILocalStorageProvider;
|
|
10
|
+
});
|
|
7
11
|
get media(): FcrUIMediaConfig;
|
|
8
12
|
set media(media: FcrUIMediaConfig);
|
|
13
|
+
private _initMediaConfig;
|
|
9
14
|
private _initSettingConfig;
|
|
10
15
|
private _setSettingConfig;
|
|
11
16
|
private _createMediaProxy;
|
|
@@ -28,11 +28,13 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
|
|
|
28
28
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
29
29
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
30
30
|
var _env = require("agora-foundation/lib/utilities/env");
|
|
31
|
+
var _store = require("../modules/setting/store");
|
|
31
32
|
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; }
|
|
32
33
|
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; }
|
|
33
34
|
var settingConfigStorageKey = exports.settingConfigStorageKey = 'fcr-ui-setting-config';
|
|
34
35
|
var FcrSettingConfigStorage = exports.FcrSettingConfigStorage = /*#__PURE__*/function () {
|
|
35
|
-
function FcrSettingConfigStorage() {
|
|
36
|
+
function FcrSettingConfigStorage(_ref) {
|
|
37
|
+
var localStorageProvider = _ref.localStorageProvider;
|
|
36
38
|
(0, _classCallCheck2["default"])(this, FcrSettingConfigStorage);
|
|
37
39
|
(0, _defineProperty2["default"])(this, "_isElectron", false);
|
|
38
40
|
(0, _defineProperty2["default"])(this, "_settingConfig", {
|
|
@@ -43,6 +45,7 @@ var FcrSettingConfigStorage = exports.FcrSettingConfigStorage = /*#__PURE__*/fun
|
|
|
43
45
|
}
|
|
44
46
|
});
|
|
45
47
|
this._isElectron = (0, _env.isElectron)();
|
|
48
|
+
this._localStorageProvider = localStorageProvider;
|
|
46
49
|
this._initSettingConfig();
|
|
47
50
|
}
|
|
48
51
|
return (0, _createClass2["default"])(FcrSettingConfigStorage, [{
|
|
@@ -54,6 +57,19 @@ var FcrSettingConfigStorage = exports.FcrSettingConfigStorage = /*#__PURE__*/fun
|
|
|
54
57
|
this._settingConfig.media = this._createMediaProxy(media);
|
|
55
58
|
this._setSettingConfig(this._settingConfig);
|
|
56
59
|
}
|
|
60
|
+
}, {
|
|
61
|
+
key: "_initMediaConfig",
|
|
62
|
+
value: function _initMediaConfig() {
|
|
63
|
+
var localSetting = this._localStorageProvider.read(_store.SETTING_KEY);
|
|
64
|
+
if (localSetting) {
|
|
65
|
+
var _localSetting$cameraE, _localSetting$microph, _localSetting$autoCon;
|
|
66
|
+
this._settingConfig.media = {
|
|
67
|
+
cameraExpectedOff: (_localSetting$cameraE = localSetting.cameraExpectedOff) !== null && _localSetting$cameraE !== void 0 ? _localSetting$cameraE : this._settingConfig.media.cameraExpectedOff,
|
|
68
|
+
microphoneExpectedOff: (_localSetting$microph = localSetting.microphoneExpectedOff) !== null && _localSetting$microph !== void 0 ? _localSetting$microph : this._settingConfig.media.microphoneExpectedOff,
|
|
69
|
+
autoConnectAudio: (_localSetting$autoCon = localSetting.autoConnectAudio) !== null && _localSetting$autoCon !== void 0 ? _localSetting$autoCon : this._settingConfig.media.autoConnectAudio
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
}
|
|
57
73
|
}, {
|
|
58
74
|
key: "_initSettingConfig",
|
|
59
75
|
value: function _initSettingConfig() {
|
|
@@ -65,14 +81,15 @@ var FcrSettingConfigStorage = exports.FcrSettingConfigStorage = /*#__PURE__*/fun
|
|
|
65
81
|
this._settingConfig = settingConfig;
|
|
66
82
|
}
|
|
67
83
|
} else {
|
|
68
|
-
var _settingConfig =
|
|
84
|
+
var _settingConfig = this._localStorageProvider.read(settingConfigStorageKey);
|
|
69
85
|
if (!_settingConfig) return;
|
|
70
86
|
try {
|
|
71
87
|
this._settingConfig = JSON.parse(_settingConfig);
|
|
72
88
|
} catch (e) {
|
|
73
|
-
|
|
89
|
+
this._localStorageProvider.write(settingConfigStorageKey, JSON.stringify(this._settingConfig));
|
|
74
90
|
}
|
|
75
91
|
}
|
|
92
|
+
this._initMediaConfig();
|
|
76
93
|
this._settingConfig.media = this._createMediaProxy(this._settingConfig.media);
|
|
77
94
|
}
|
|
78
95
|
}, {
|
|
@@ -82,7 +99,7 @@ var FcrSettingConfigStorage = exports.FcrSettingConfigStorage = /*#__PURE__*/fun
|
|
|
82
99
|
if (this._isElectron) {
|
|
83
100
|
window.runtime.setUserSettingData(settingConfig);
|
|
84
101
|
} else {
|
|
85
|
-
|
|
102
|
+
this._localStorageProvider.write(settingConfigStorageKey, JSON.stringify(settingConfig));
|
|
86
103
|
}
|
|
87
104
|
}
|
|
88
105
|
}, {
|
package/lib/utilities/tools.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { FcrUIDialogKey } from './constant';
|
|
2
|
-
import { AgoraRtcScreenCaptureType, AgoraRtcWindowInfo } from 'agora-rte-sdk/lib/core/rtc/type';
|
|
3
2
|
import { CurrentShareBounds } from '../modules/control-bar/types';
|
|
4
3
|
export declare const uint8ArrayToImageData: (target: {
|
|
5
4
|
buffer?: Uint8Array;
|
|
@@ -15,10 +14,9 @@ declare class LocalStorage {
|
|
|
15
14
|
export declare const storage: LocalStorage;
|
|
16
15
|
export declare const ASIDE_WIDTH = "aside_width";
|
|
17
16
|
export declare const PARTICIPANT_POSITION = "participant_position";
|
|
18
|
-
export declare const getAssetUrl: (path: string) => string;
|
|
19
17
|
export declare const convertToFixedNumber: (value: number, divisor?: number, fractionDigits?: number) => number;
|
|
20
18
|
export declare const matchVirtualSoundCardPattern: (deviceName: string) => boolean;
|
|
21
|
-
export declare const
|
|
19
|
+
export declare const isZipUrl: (url: string) => boolean;
|
|
22
20
|
export declare const isPngOrJpg: (path: string) => boolean;
|
|
23
21
|
export declare const isMp4: (path: string) => boolean;
|
|
24
22
|
export declare const isMp3OrWav: (path: string) => boolean;
|
|
@@ -26,6 +24,7 @@ export declare function getFileNameWithoutExtension(filePath: string): string;
|
|
|
26
24
|
export declare const setLanguage: (language: string) => void;
|
|
27
25
|
export declare const getLanguage: () => string | null;
|
|
28
26
|
export declare const waitUntil: (prediction: () => boolean | Promise<boolean>, memo?: string, intervalMs?: number, timeout?: number) => Promise<void>;
|
|
27
|
+
export declare const renderMeetingName: (meetingName: string) => string;
|
|
29
28
|
export declare const renderMeetingId: (meetingId: string | undefined, roomId: string) => string;
|
|
30
29
|
export declare function handleCheckMouseOver(params: {
|
|
31
30
|
/**
|
|
@@ -61,9 +60,34 @@ export type CurrentShareScreenWorkArea = {
|
|
|
61
60
|
scaleFactor: number;
|
|
62
61
|
};
|
|
63
62
|
export declare function getCurrentSharingWorkArea(params: {
|
|
64
|
-
currentShareId: string;
|
|
65
|
-
currentShareType: AgoraRtcScreenCaptureType;
|
|
66
63
|
currentShareBounds: CurrentShareBounds;
|
|
67
|
-
allApplicationWindows: AgoraRtcWindowInfo[];
|
|
68
64
|
}): CurrentShareScreenWorkArea;
|
|
65
|
+
export declare function followCorrectDisplay({ browserWindow, dialogKey, extraRefControlbarCondition, follow, alwaysFollowScreen, }: {
|
|
66
|
+
/**
|
|
67
|
+
* browserWindow 是 Electron 的窗口对象,如果传入,则直接设置 bounds,否则会根据 dialogKey 设置 bounds
|
|
68
|
+
*/
|
|
69
|
+
browserWindow?: Electron.BrowserWindow;
|
|
70
|
+
/**
|
|
71
|
+
* 如果不使用 browserWindow ,则需要传入 dialogKey 设置 bounds,如果 browserWindow 和 dialogKey 都未传入,则抛出错误
|
|
72
|
+
*/
|
|
73
|
+
dialogKey?: FcrUIDialogKey | FcrUIDialogKey[];
|
|
74
|
+
/**
|
|
75
|
+
* 始终 follow control bar 的位置,默认是 true
|
|
76
|
+
*/
|
|
77
|
+
extraRefControlbarCondition?: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* 根据屏幕或者应用主窗口居中显示,默认是 screen,如果需要跟随主窗口,则设置为 main-window,
|
|
80
|
+
* 在屏幕共享时,普通 dialog 窗口会以 controlbar 所在的屏幕为基准水平居中对齐
|
|
81
|
+
* 在非屏幕共享状态下,则会以主窗口为基准水平居中对齐
|
|
82
|
+
*/
|
|
83
|
+
follow?: 'screen' | 'main-window';
|
|
84
|
+
/**
|
|
85
|
+
* 是否是全屏幕覆盖的透明窗口, 此设置主要针对 toast 和 confirm 弹窗
|
|
86
|
+
*/
|
|
87
|
+
alwaysFollowScreen?: boolean;
|
|
88
|
+
}): {
|
|
89
|
+
nearDisplayBounds: CurrentShareBounds;
|
|
90
|
+
nearDisplay: Electron.Display;
|
|
91
|
+
} | undefined;
|
|
92
|
+
export declare const getBrowserLanguage: () => "zh" | "en";
|
|
69
93
|
export {};
|
package/lib/utilities/tools.js
CHANGED
|
@@ -5,17 +5,21 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.
|
|
8
|
+
exports.convertToFixedNumber = exports.PARTICIPANT_POSITION = exports.ASIDE_WIDTH = void 0;
|
|
9
|
+
exports.followCorrectDisplay = followCorrectDisplay;
|
|
10
|
+
exports.getBrowserLanguage = void 0;
|
|
9
11
|
exports.getCurrentSharingWorkArea = getCurrentSharingWorkArea;
|
|
10
12
|
exports.getFileNameWithoutExtension = getFileNameWithoutExtension;
|
|
11
13
|
exports.getLanguage = void 0;
|
|
12
14
|
exports.handleCheckMouseOver = handleCheckMouseOver;
|
|
13
|
-
exports.waitUntil = exports.uint8ArrayToImageData = exports.storage = exports.setLanguage = exports.renderMeetingId = exports.matchVirtualSoundCardPattern = exports.
|
|
15
|
+
exports.waitUntil = exports.uint8ArrayToImageData = exports.storage = exports.setLanguage = exports.renderMeetingName = exports.renderMeetingId = exports.matchVirtualSoundCardPattern = exports.isZipUrl = exports.isPngOrJpg = exports.isMp4 = exports.isMp3OrWav = void 0;
|
|
14
16
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
17
|
+
require("core-js/modules/es.error.cause.js");
|
|
18
|
+
require("core-js/modules/es.error.to-string.js");
|
|
15
19
|
require("core-js/modules/es.array.concat.js");
|
|
16
|
-
require("core-js/modules/es.array.find.js");
|
|
17
20
|
require("core-js/modules/es.array.for-each.js");
|
|
18
|
-
require("core-js/modules/es.array.
|
|
21
|
+
require("core-js/modules/es.array.is-array.js");
|
|
22
|
+
require("core-js/modules/es.array.map.js");
|
|
19
23
|
require("core-js/modules/es.array.reduce.js");
|
|
20
24
|
require("core-js/modules/es.array.slice.js");
|
|
21
25
|
require("core-js/modules/es.date.now.js");
|
|
@@ -26,15 +30,15 @@ require("core-js/modules/es.promise.js");
|
|
|
26
30
|
require("core-js/modules/es.regexp.exec.js");
|
|
27
31
|
require("core-js/modules/es.regexp.test.js");
|
|
28
32
|
require("core-js/modules/es.string.ends-with.js");
|
|
29
|
-
require("core-js/modules/es.string.includes.js");
|
|
30
33
|
require("core-js/modules/es.string.match.js");
|
|
31
34
|
require("core-js/modules/es.string.replace.js");
|
|
32
|
-
require("core-js/modules/
|
|
35
|
+
require("core-js/modules/es.string.starts-with.js");
|
|
33
36
|
require("core-js/modules/esnext.async-iterator.for-each.js");
|
|
37
|
+
require("core-js/modules/esnext.async-iterator.map.js");
|
|
34
38
|
require("core-js/modules/esnext.async-iterator.reduce.js");
|
|
35
39
|
require("core-js/modules/esnext.iterator.constructor.js");
|
|
36
|
-
require("core-js/modules/esnext.iterator.find.js");
|
|
37
40
|
require("core-js/modules/esnext.iterator.for-each.js");
|
|
41
|
+
require("core-js/modules/esnext.iterator.map.js");
|
|
38
42
|
require("core-js/modules/esnext.iterator.reduce.js");
|
|
39
43
|
require("core-js/modules/web.dom-collections.for-each.js");
|
|
40
44
|
require("core-js/modules/web.timers.js");
|
|
@@ -45,8 +49,8 @@ var _schedule = require("agora-foundation/lib/schedule");
|
|
|
45
49
|
var _logger = require("agora-foundation/lib/logger");
|
|
46
50
|
var _platform = require("./platform");
|
|
47
51
|
var _constant = require("./constant");
|
|
48
|
-
var _type = require("agora-rte-sdk/lib/core/rtc/type");
|
|
49
52
|
var _env = require("agora-foundation/lib/utilities/env");
|
|
53
|
+
var _dialogs = require("../modules/dialog/dialogs");
|
|
50
54
|
var uint8ArrayToImageData = exports.uint8ArrayToImageData = function uint8ArrayToImageData(target) {
|
|
51
55
|
var _target$buffer;
|
|
52
56
|
if (!target || !(target !== null && target !== void 0 && (_target$buffer = target.buffer) !== null && _target$buffer !== void 0 && _target$buffer.length)) {
|
|
@@ -107,9 +111,6 @@ var LocalStorage = /*#__PURE__*/function () {
|
|
|
107
111
|
var storage = exports.storage = new LocalStorage();
|
|
108
112
|
var ASIDE_WIDTH = exports.ASIDE_WIDTH = 'aside_width';
|
|
109
113
|
var PARTICIPANT_POSITION = exports.PARTICIPANT_POSITION = 'participant_position';
|
|
110
|
-
var getAssetUrl = exports.getAssetUrl = function getAssetUrl(path) {
|
|
111
|
-
return window.runtime.getAssetUrl(path);
|
|
112
|
-
};
|
|
113
114
|
var convertToFixedNumber = exports.convertToFixedNumber = function convertToFixedNumber(value) {
|
|
114
115
|
var divisor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100;
|
|
115
116
|
var fractionDigits = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 2;
|
|
@@ -122,7 +123,7 @@ var matchVirtualSoundCardPattern = exports.matchVirtualSoundCardPattern = functi
|
|
|
122
123
|
return prev;
|
|
123
124
|
}, false);
|
|
124
125
|
};
|
|
125
|
-
var
|
|
126
|
+
var isZipUrl = exports.isZipUrl = function isZipUrl(url) {
|
|
126
127
|
if (!url || typeof url !== 'string') return false;
|
|
127
128
|
var regex = /^https?:\/\/.+\.(zip)(\?.*)?$/i;
|
|
128
129
|
return regex.test(url);
|
|
@@ -201,10 +202,14 @@ var waitUntil = exports.waitUntil = /*#__PURE__*/function () {
|
|
|
201
202
|
return _ref.apply(this, arguments);
|
|
202
203
|
};
|
|
203
204
|
}();
|
|
205
|
+
var renderMeetingName = exports.renderMeetingName = function renderMeetingName(meetingName) {
|
|
206
|
+
if (meetingName.length <= 20) return meetingName;
|
|
207
|
+
return meetingName.slice(0, 20) + '...';
|
|
208
|
+
};
|
|
204
209
|
var renderMeetingId = exports.renderMeetingId = function renderMeetingId(meetingId, roomId) {
|
|
205
210
|
var renderMeetingId = '';
|
|
206
211
|
if (meetingId) {
|
|
207
|
-
renderMeetingId = meetingId;
|
|
212
|
+
renderMeetingId = meetingId.replace(/(.{3})/g, '$1 ');
|
|
208
213
|
} else {
|
|
209
214
|
if (roomId.endsWith('-waiting')) {
|
|
210
215
|
renderMeetingId = roomId.slice(0, -8).replace(/(.{3})/g, '$1 ');
|
|
@@ -285,9 +290,10 @@ function handleCheckMouseOver(params) {
|
|
|
285
290
|
var barWrapWithInsideBoundary = mouse_x > bar_x1 && mouse_x < bar_x2 && mouse_y > bar_y1 && mouse_y < bar_y2 - inside_h || barControlBoundary;
|
|
286
291
|
if (dialog === _constant.FcrUIDialogKey.CONTROL_BAR ? barWrapWithInsideBoundary : barWrapBoundary) {
|
|
287
292
|
browserWindow.setIgnoreMouseEvents(false);
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
293
|
+
// 因为当用户点击其他窗口时,鼠标返回热区窗口会自动聚焦返回到上层,经测试这个注释不会影响现有功能,先注释看有没有其它影响
|
|
294
|
+
// if (!browserWindow.isFocused()) {
|
|
295
|
+
// browserWindow.focus();
|
|
296
|
+
// }
|
|
291
297
|
} else {
|
|
292
298
|
browserWindow.setIgnoreMouseEvents(true);
|
|
293
299
|
}
|
|
@@ -296,18 +302,10 @@ function handleCheckMouseOver(params) {
|
|
|
296
302
|
return timerId;
|
|
297
303
|
}
|
|
298
304
|
function getCurrentSharingWorkArea(params) {
|
|
299
|
-
var
|
|
300
|
-
currentShareType = params.currentShareType,
|
|
301
|
-
currentShareBounds = params.currentShareBounds,
|
|
302
|
-
allApplicationWindows = params.allApplicationWindows;
|
|
305
|
+
var currentShareBounds = params.currentShareBounds;
|
|
303
306
|
var _window$screen = window.screen,
|
|
304
307
|
availWidth = _window$screen.availWidth,
|
|
305
308
|
availHeight = _window$screen.availHeight;
|
|
306
|
-
var displays = window.runtime.screen.getAllDisplays();
|
|
307
|
-
var isDisplay = currentShareType === _type.AgoraRtcScreenCaptureType.SCREEN;
|
|
308
|
-
var appWindow = allApplicationWindows.find(function (app) {
|
|
309
|
-
return app.id === currentShareId;
|
|
310
|
-
});
|
|
311
309
|
var nearDisplay = window.runtime.screen.getDisplayNearestPoint(currentShareBounds);
|
|
312
310
|
var dataStruct = {
|
|
313
311
|
bounds: {
|
|
@@ -322,24 +320,6 @@ function getCurrentSharingWorkArea(params) {
|
|
|
322
320
|
},
|
|
323
321
|
scaleFactor: 1
|
|
324
322
|
};
|
|
325
|
-
var matchBounds = function matchBounds() {
|
|
326
|
-
return displays.find(function (display) {
|
|
327
|
-
var x = currentShareBounds.x,
|
|
328
|
-
y = currentShareBounds.y;
|
|
329
|
-
var bounds = display.bounds,
|
|
330
|
-
scaleFactor = display.scaleFactor;
|
|
331
|
-
var cx = x > 0 ? Math.round(x / scaleFactor) : Math.floor(x / scaleFactor);
|
|
332
|
-
var cy = y > 0 ? Math.round(y / scaleFactor) : Math.floor(y / scaleFactor);
|
|
333
|
-
var matchBounds = [cx, x].includes(bounds.x) && [cy, y].includes(bounds.y);
|
|
334
|
-
return matchBounds;
|
|
335
|
-
});
|
|
336
|
-
};
|
|
337
|
-
var matchIdOrIndex = function matchIdOrIndex() {
|
|
338
|
-
return displays.find(function (display, index) {
|
|
339
|
-
var id = (0, _platform.isWindows)() ? index : display.id;
|
|
340
|
-
return id === Number(currentShareId);
|
|
341
|
-
});
|
|
342
|
-
};
|
|
343
323
|
var _ref5 = nearDisplay || dataStruct,
|
|
344
324
|
_ref5$bounds = _ref5.bounds,
|
|
345
325
|
x = _ref5$bounds.x,
|
|
@@ -359,4 +339,54 @@ function getCurrentSharingWorkArea(params) {
|
|
|
359
339
|
// 此算法能确保显示器在不同的上下排列和主次组合时,获取到的偏移值始终正确。
|
|
360
340
|
scaleFactor: scaleFactor
|
|
361
341
|
};
|
|
362
|
-
}
|
|
342
|
+
}
|
|
343
|
+
function followCorrectDisplay(_ref6) {
|
|
344
|
+
var browserWindow = _ref6.browserWindow,
|
|
345
|
+
dialogKey = _ref6.dialogKey,
|
|
346
|
+
_ref6$extraRefControl = _ref6.extraRefControlbarCondition,
|
|
347
|
+
extraRefControlbarCondition = _ref6$extraRefControl === void 0 ? true : _ref6$extraRefControl,
|
|
348
|
+
_ref6$follow = _ref6.follow,
|
|
349
|
+
follow = _ref6$follow === void 0 ? 'screen' : _ref6$follow,
|
|
350
|
+
_ref6$alwaysFollowScr = _ref6.alwaysFollowScreen,
|
|
351
|
+
alwaysFollowScreen = _ref6$alwaysFollowScr === void 0 ? false : _ref6$alwaysFollowScr;
|
|
352
|
+
if (!(0, _env.isElectron)()) return;
|
|
353
|
+
if (!browserWindow && !dialogKey) throw new Error('browserWindow or dialogKey is required');
|
|
354
|
+
var objectDialog = dialogKey ? Array.isArray(dialogKey) ? dialogKey.map(function (dialog) {
|
|
355
|
+
return _dialogs.dialogWindows.get(dialog);
|
|
356
|
+
}) : _dialogs.dialogWindows.get(dialogKey) : browserWindow;
|
|
357
|
+
var controlbar = _dialogs.dialogWindows.get(_constant.FcrUIDialogKey.CONTROL_BAR);
|
|
358
|
+
var mainAppWindowBounds = window.runtime.browserWindow.getBounds();
|
|
359
|
+
// 按当前的窗口管理方式,在关闭 controlbar 的时候,controlbar 实际上是隐藏了自己,所以,依然能够通过 controlbar 访问到,所以需要判断是否是 visible 状态
|
|
360
|
+
var followControlbar = controlbar && (extraRefControlbarCondition || controlbar.isVisible());
|
|
361
|
+
// 屏幕抢占时,需要判断是否是抢占屏幕,决定是取 controlbar 所在屏幕计算热区,还是以主窗口所在屏幕计算热区,此类条件通过 extraRefControlbarCondition 传入
|
|
362
|
+
var nearestPoint = followControlbar ? controlbar === null || controlbar === void 0 ? void 0 : controlbar.getBounds() : mainAppWindowBounds;
|
|
363
|
+
var nearDisplay = window.runtime.screen.getDisplayNearestPoint(nearestPoint);
|
|
364
|
+
var nearBounds = nearDisplay.bounds;
|
|
365
|
+
var nearDisplayBounds = {
|
|
366
|
+
x: Math.floor(nearBounds.x),
|
|
367
|
+
y: Math.floor(nearBounds.y),
|
|
368
|
+
width: Math.floor(nearBounds.width),
|
|
369
|
+
height: Math.floor(nearBounds.height)
|
|
370
|
+
};
|
|
371
|
+
var followBounds = function followBounds(theWindowBounds) {
|
|
372
|
+
var targetBounds = follow === 'screen' || extraRefControlbarCondition ? nearBounds : mainAppWindowBounds;
|
|
373
|
+
return alwaysFollowScreen ? nearDisplayBounds : {
|
|
374
|
+
x: Math.floor(targetBounds.x + (targetBounds.width - theWindowBounds.width) / 2),
|
|
375
|
+
y: Math.floor(targetBounds.y + (targetBounds.height - theWindowBounds.height) / 2)
|
|
376
|
+
};
|
|
377
|
+
};
|
|
378
|
+
Array.isArray(objectDialog) ? objectDialog.forEach(function (dialog) {
|
|
379
|
+
return dialog === null || dialog === void 0 ? void 0 : dialog.setBounds(followBounds(dialog.getBounds()));
|
|
380
|
+
}) : objectDialog === null || objectDialog === void 0 ? void 0 : objectDialog.setBounds(followBounds(objectDialog.getBounds()));
|
|
381
|
+
return {
|
|
382
|
+
nearDisplayBounds: nearDisplayBounds,
|
|
383
|
+
nearDisplay: nearDisplay
|
|
384
|
+
};
|
|
385
|
+
}
|
|
386
|
+
var getBrowserLanguage = exports.getBrowserLanguage = function getBrowserLanguage() {
|
|
387
|
+
var usrlang = navigator.language;
|
|
388
|
+
if (usrlang.startsWith('zh')) {
|
|
389
|
+
return 'zh';
|
|
390
|
+
}
|
|
391
|
+
return 'en';
|
|
392
|
+
};
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
import { FcrUIResource } from '../type';
|
|
1
2
|
export declare const BUILTIN_VIRTUAL_BACKGROUND_IMAGE_URL_LIST: string[];
|
|
2
3
|
export declare const BUILTIN_VIRTUAL_BACKGROUND_VIDEO_URL_LIST: string[];
|
|
3
4
|
export declare const BUILTIN_SOUND_EFFECT_URL_LIST: string[];
|
|
5
|
+
export declare const getNormalDownloadResources: (customResource?: FcrUIResource) => {
|
|
6
|
+
virtualBackgroundImages: string[];
|
|
7
|
+
virtualBackgroundVideos: string[];
|
|
8
|
+
soundEffectAudios: string[];
|
|
9
|
+
};
|
|
@@ -1,14 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
require("core-js/modules/es.object.define-property.js");
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
|
-
exports.BUILTIN_VIRTUAL_BACKGROUND_VIDEO_URL_LIST = exports.BUILTIN_VIRTUAL_BACKGROUND_IMAGE_URL_LIST = exports.BUILTIN_SOUND_EFFECT_URL_LIST = void 0;
|
|
8
|
+
exports.getNormalDownloadResources = exports.BUILTIN_VIRTUAL_BACKGROUND_VIDEO_URL_LIST = exports.BUILTIN_VIRTUAL_BACKGROUND_IMAGE_URL_LIST = exports.BUILTIN_SOUND_EFFECT_URL_LIST = void 0;
|
|
9
|
+
require("core-js/modules/es.array.concat.js");
|
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
+
// Asset types:
|
|
12
|
+
// Electron
|
|
13
|
+
// 1. Built-in assets: packaged with the app, no need to download
|
|
14
|
+
// 2. Built-in asset URLs: which will be downloaded when the app starts
|
|
15
|
+
// 3. User-defined assets: which will be downloaded when the app starts
|
|
16
|
+
// Browser
|
|
17
|
+
// 1. User-defined assets: asset URLs need to be in the same domain as the app
|
|
18
|
+
|
|
8
19
|
var BUILTIN_VIRTUAL_BACKGROUND_IMAGE_URL_LIST = exports.BUILTIN_VIRTUAL_BACKGROUND_IMAGE_URL_LIST = [
|
|
9
|
-
//
|
|
10
|
-
'https://solutions-apaas.agora.io/fcr-ui-scene/picture/common/virtual_background_images.zip'
|
|
11
|
-
|
|
20
|
+
// Built-in assets URL
|
|
21
|
+
// 'https://solutions-apaas.agora.io/fcr-ui-scene/picture/common/virtual_background_images.zip',
|
|
22
|
+
'https://solutions-apaas.agora.io/fcr-ui-scene/picture/common/virtual_background_images_202505231623.zip'
|
|
23
|
+
|
|
24
|
+
// in browser, images need to be in the same domain as the app
|
|
12
25
|
// 'https://solutions-apaas.agora.io/fcr-ui-scene/picture/common/default1.jpg',
|
|
13
26
|
// 'https://solutions-apaas.agora.io/fcr-ui-scene/picture/common/default2.jpg',
|
|
14
27
|
// 'https://solutions-apaas.agora.io/fcr-ui-scene/picture/common/default3.jpg',
|
|
@@ -18,12 +31,37 @@ var BUILTIN_VIRTUAL_BACKGROUND_IMAGE_URL_LIST = exports.BUILTIN_VIRTUAL_BACKGROU
|
|
|
18
31
|
// 'https://solutions-apaas.agora.io/fcr-ui-scene/picture/common/default7.jpg',
|
|
19
32
|
];
|
|
20
33
|
var BUILTIN_VIRTUAL_BACKGROUND_VIDEO_URL_LIST = exports.BUILTIN_VIRTUAL_BACKGROUND_VIDEO_URL_LIST = [
|
|
21
|
-
//
|
|
22
|
-
'https://solutions-apaas.agora.io/fcr-ui-scene/video/common/
|
|
23
|
-
// browser
|
|
34
|
+
// Built-in assets URL
|
|
35
|
+
'https://solutions-apaas.agora.io/fcr-ui-scene/video/common/virtual_background_videos_202505231623.zip'
|
|
36
|
+
// in browser, videos need to be in the same domain as the app
|
|
24
37
|
// 'https://solutions-apaas.agora.io/fcr-ui-scene/video/common/default8.mp4',
|
|
25
38
|
// 'https://solutions-apaas.agora.io/fcr-ui-scene/video/common/default9.mp4',
|
|
26
39
|
];
|
|
27
|
-
var BUILTIN_SOUND_EFFECT_URL_LIST = exports.BUILTIN_SOUND_EFFECT_URL_LIST = [
|
|
40
|
+
var BUILTIN_SOUND_EFFECT_URL_LIST = exports.BUILTIN_SOUND_EFFECT_URL_LIST = [
|
|
41
|
+
// Built-in assets URL
|
|
42
|
+
'https://solutions-apaas.agora.io/fcr-ui-scene/audio/common/sound_effect_audios.zip'
|
|
43
|
+
|
|
28
44
|
// browser mp3
|
|
29
|
-
'https://solutions-apaas.agora.io/fcr-ui-scene/audio/common/remote_user_joined.mp3',
|
|
45
|
+
// 'https://solutions-apaas.agora.io/fcr-ui-scene/audio/common/remote_user_joined.mp3',
|
|
46
|
+
// 'https://solutions-apaas.agora.io/fcr-ui-scene/audio/common/speaker_test.mp3',
|
|
47
|
+
// 'https://solutions-apaas.agora.io/fcr-ui-scene/audio/common/recording_started.mp3',
|
|
48
|
+
];
|
|
49
|
+
var getNormalDownloadResources = exports.getNormalDownloadResources = function getNormalDownloadResources(customResource) {
|
|
50
|
+
var _ref = customResource !== null && customResource !== void 0 ? customResource : {
|
|
51
|
+
virtualBackgroundImages: [],
|
|
52
|
+
virtualBackgroundVideos: [],
|
|
53
|
+
soundEffectAudios: []
|
|
54
|
+
},
|
|
55
|
+
_ref$virtualBackgroun = _ref.virtualBackgroundImages,
|
|
56
|
+
virtualBackgroundImages = _ref$virtualBackgroun === void 0 ? [] : _ref$virtualBackgroun,
|
|
57
|
+
_ref$virtualBackgroun2 = _ref.virtualBackgroundVideos,
|
|
58
|
+
virtualBackgroundVideos = _ref$virtualBackgroun2 === void 0 ? [] : _ref$virtualBackgroun2,
|
|
59
|
+
_ref$soundEffectAudio = _ref.soundEffectAudios,
|
|
60
|
+
soundEffectAudios = _ref$soundEffectAudio === void 0 ? [] : _ref$soundEffectAudio;
|
|
61
|
+
var uiResources = {
|
|
62
|
+
virtualBackgroundImages: [].concat(BUILTIN_VIRTUAL_BACKGROUND_IMAGE_URL_LIST, (0, _toConsumableArray2["default"])(virtualBackgroundImages)),
|
|
63
|
+
virtualBackgroundVideos: [].concat(BUILTIN_VIRTUAL_BACKGROUND_VIDEO_URL_LIST, (0, _toConsumableArray2["default"])(virtualBackgroundVideos)),
|
|
64
|
+
soundEffectAudios: [].concat(BUILTIN_SOUND_EFFECT_URL_LIST, (0, _toConsumableArray2["default"])(soundEffectAudios))
|
|
65
|
+
};
|
|
66
|
+
return uiResources;
|
|
67
|
+
};
|
|
@@ -8,14 +8,14 @@ export interface FcrUIWaitingRoomControlManagerObserver {
|
|
|
8
8
|
export default class FcrUIWaitingRoomControlManager {
|
|
9
9
|
private _sceneConfig;
|
|
10
10
|
private _engine;
|
|
11
|
+
private _mainRoomControl;
|
|
11
12
|
protected logger: import("agora-foundation/lib/logger").Logger;
|
|
12
13
|
private _observable;
|
|
13
14
|
private _waitingRoomControl;
|
|
14
|
-
private _mainRoomControl?;
|
|
15
15
|
private _isJoining;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
private _mainRoomUserObserver;
|
|
17
|
+
constructor(_sceneConfig: FcrUISceneConfig, _engine: FcrCoreEngine, _mainRoomControl: FcrMainRoomControl);
|
|
18
|
+
private _isWaitingRoomManager;
|
|
19
19
|
private _createAndJoinWaitingRoom;
|
|
20
20
|
private _leaveWaitingRoom;
|
|
21
21
|
private _getMainRoomControlInfo;
|