fcr-ui-scene 3.4.5 → 3.5.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/base.js +4 -1
- package/lib/creator.d.ts +4 -1
- package/lib/creator.js +66 -3
- package/lib/electron/app.js +0 -3
- package/lib/electron/bootstrap-dev.js +2 -0
- package/lib/electron/bootstrap-sdk.js +2 -0
- package/lib/electron/main.js +14 -3
- package/lib/electron/plugins/devtool-shortcut.js +5 -0
- package/lib/electron/plugins/screenshot.js +4 -1
- package/lib/modules/action-bar/components/apps/app-item/index.css +3 -3
- package/lib/modules/action-bar/components/apps/app-item/index.js +35 -24
- package/lib/modules/action-bar/components/apps/app-list.d.ts +3 -0
- package/lib/modules/action-bar/components/apps/app-list.js +45 -0
- package/lib/modules/action-bar/components/apps/index.css +1 -0
- package/lib/modules/action-bar/components/apps/index.js +7 -4
- package/lib/modules/action-bar/components/apps/useAppItemOptions.d.ts +10 -2
- package/lib/modules/action-bar/components/apps/useAppItemOptions.js +10 -6
- package/lib/modules/action-bar/components/apps/useBeautyBackground.d.ts +1 -1
- package/lib/modules/action-bar/components/apps/useBeautyBackground.js +2 -2
- package/lib/modules/action-bar/components/apps/useInterpreter.d.ts +1 -1
- package/lib/modules/action-bar/components/apps/useInterpreter.js +6 -6
- package/lib/modules/action-bar/components/apps/useLiveStreaming.d.ts +1 -1
- package/lib/modules/action-bar/components/apps/useLiveStreaming.js +2 -2
- package/lib/modules/action-bar/components/apps/useWidgetList.d.ts +10 -0
- package/lib/modules/action-bar/components/apps/useWidgetList.js +38 -0
- package/lib/modules/action-bar/components/chat/index.css +8 -0
- package/lib/modules/action-bar/components/chat/index.js +2 -1
- package/lib/modules/action-bar/components/collapse/index.d.ts +8 -6
- package/lib/modules/action-bar/components/collapse/index.js +60 -74
- package/lib/modules/action-bar/components/interpreter/index.js +3 -3
- package/lib/modules/action-bar/components/item/index.js +1 -1
- package/lib/modules/action-bar/components/more/index.js +13 -7
- package/lib/modules/action-bar/components/notification-bar/index.d.ts +1 -1
- package/lib/modules/action-bar/components/notification-bar/index.js +13 -6
- package/lib/modules/action-bar/components/participants/index.js +1 -1
- package/lib/modules/action-bar/components/screen-share/index.js +1 -1
- package/lib/modules/action-bar/components/screen-share/submenu.js +55 -18
- package/lib/modules/action-bar/components/security/index.js +8 -2
- package/lib/modules/action-bar/components/trigger-output-language/index.js +68 -55
- package/lib/modules/action-bar/components/trigger-subscribe-language/index.js +35 -18
- package/lib/modules/action-bar/index.css +8 -0
- package/lib/modules/action-bar/index.d.ts +8 -0
- package/lib/modules/action-bar/index.js +6 -3
- package/lib/modules/action-bar/store.d.ts +37 -22
- package/lib/modules/action-bar/store.js +275 -375
- package/lib/modules/action-bar/types.d.ts +8 -13
- package/lib/modules/action-bar/view.js +3 -8
- package/lib/modules/audio-stream/index.d.ts +6 -1
- package/lib/modules/audio-stream/index.js +77 -11
- package/lib/modules/chat/chat-room-store.d.ts +4 -7
- package/lib/modules/chat/chat-room-store.js +39 -62
- package/lib/modules/chat/components/chat-action/index.js +2 -2
- package/lib/modules/chat/components/chat-bar/index.css +4 -0
- package/lib/modules/chat/components/chat-bar/index.d.ts +1 -1
- package/lib/modules/chat/components/chat-bar/index.js +18 -16
- package/lib/modules/chat/components/chat-select/index.js +16 -147
- package/lib/modules/chat/components/chat-select/select-input/index.d.ts +7 -0
- package/lib/modules/chat/components/chat-select/select-input/index.js +35 -0
- package/lib/modules/chat/components/chat-select/select-item/index.d.ts +12 -0
- package/lib/modules/chat/components/chat-select/select-item/index.js +153 -0
- package/lib/modules/chat/components/chat-tabs/index.d.ts +2 -0
- package/lib/modules/chat/components/chat-tabs/index.js +61 -0
- package/lib/modules/chat/components/message-list/chat-empty/index.d.ts +2 -0
- package/lib/modules/chat/components/message-list/chat-empty/index.js +26 -0
- package/lib/modules/chat/components/message-list/history-unread-message-button/index.d.ts +7 -0
- package/lib/modules/chat/components/message-list/history-unread-message-button/index.js +55 -0
- package/lib/modules/chat/components/message-list/index.d.ts +1 -1
- package/lib/modules/chat/components/message-list/index.js +55 -359
- package/lib/modules/chat/components/message-list/message-item/index.d.ts +15 -0
- package/lib/modules/chat/components/message-list/message-item/index.js +309 -0
- package/lib/modules/chat/components/message-list/scroll-bottom-button/index.d.ts +9 -0
- package/lib/modules/chat/components/message-list/scroll-bottom-button/index.js +67 -0
- package/lib/modules/chat/index.css +9 -0
- package/lib/modules/chat/index.d.ts +6 -0
- package/lib/modules/chat/index.js +4 -1
- package/lib/modules/chat/store.d.ts +17 -7
- package/lib/modules/chat/store.js +75 -72
- package/lib/modules/chat/types.d.ts +7 -7
- package/lib/modules/chat/types.js +2 -1
- package/lib/modules/chat/view.js +22 -102
- package/lib/modules/components/device-control/store.d.ts +4 -3
- package/lib/modules/components/device-control/store.js +13 -24
- package/lib/modules/components/leave-meeting/components/assign-host.js +17 -2
- package/lib/modules/components/leave-meeting/index.js +8 -7
- package/lib/modules/components/leave-meeting/store.d.ts +15 -7
- package/lib/modules/components/leave-meeting/store.js +116 -95
- package/lib/modules/components/member-window/components/member-actions/components/audio-control.d.ts +6 -0
- package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +36 -0
- package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.d.ts +40 -0
- package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +170 -0
- package/lib/modules/components/member-window/components/member-actions/components/icon-status.d.ts +11 -0
- package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +105 -0
- package/lib/modules/components/member-window/components/member-actions/components/layout/index.d.ts +9 -0
- package/lib/modules/components/member-window/components/member-actions/components/layout/index.js +42 -0
- package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +11 -0
- package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +157 -0
- package/lib/modules/components/member-window/components/member-actions/components/share-status.d.ts +2 -0
- package/lib/modules/components/member-window/components/member-actions/components/share-status.js +34 -0
- package/lib/modules/components/member-window/components/member-actions/components/user-info.d.ts +16 -0
- package/lib/modules/components/member-window/components/member-actions/components/user-info.js +130 -0
- package/lib/modules/components/member-window/components/member-actions/components/user-tag.d.ts +12 -0
- package/lib/modules/components/member-window/components/member-actions/components/user-tag.js +57 -0
- package/lib/modules/components/member-window/components/member-actions/index.d.ts +3 -0
- package/lib/modules/components/member-window/components/member-actions/index.js +122 -0
- package/lib/modules/components/member-window/components/member-actions/libs/index.d.ts +2 -0
- package/lib/modules/components/member-window/components/member-actions/libs/index.js +24 -0
- package/lib/modules/components/member-window/components/member-actions/provider.d.ts +21 -0
- package/lib/modules/components/member-window/components/member-actions/provider.js +77 -0
- package/lib/modules/components/member-window/components/member-actions/store.d.ts +48 -0
- package/lib/modules/components/member-window/components/member-actions/store.js +307 -0
- package/lib/modules/components/member-window/components/member-board.d.ts +2 -0
- package/lib/modules/components/member-window/components/member-board.js +63 -0
- package/lib/modules/components/member-window/components/mic-volume.d.ts +2 -0
- package/lib/modules/components/member-window/components/mic-volume.js +23 -0
- package/lib/modules/components/member-window/components/video-player/components/local-video-player.d.ts +4 -0
- package/lib/modules/components/member-window/components/video-player/components/local-video-player.js +40 -0
- package/lib/modules/components/member-window/components/video-player/components/remote-video-player.d.ts +8 -0
- package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +62 -0
- package/lib/modules/components/member-window/components/video-player/index.d.ts +9 -0
- package/lib/modules/components/member-window/components/video-player/index.js +38 -0
- package/lib/modules/components/member-window/index.css +22 -2
- package/lib/modules/components/member-window/index.d.ts +10 -75
- package/lib/modules/components/member-window/index.js +20 -738
- package/lib/modules/components/member-window/types.d.ts +79 -0
- package/lib/modules/components/member-window/types.js +6 -0
- package/lib/modules/components/security-menu/index.css +0 -2
- package/lib/modules/components/security-menu/index.d.ts +5 -1
- package/lib/modules/components/security-menu/index.js +37 -59
- package/lib/modules/connection-gateway/index.d.ts +6 -0
- package/lib/modules/connection-gateway/index.js +4 -1
- package/lib/modules/connection-gateway/store.d.ts +12 -3
- package/lib/modules/connection-gateway/store.js +29 -27
- package/lib/modules/control-bar/components/meeting-details/index.js +11 -17
- package/lib/modules/control-bar/components/more-actions/index.js +5 -4
- package/lib/modules/control-bar/components/share-state-nav/index.js +22 -10
- package/lib/modules/control-bar/index.css +1 -2
- package/lib/modules/control-bar/index.d.ts +14 -0
- package/lib/modules/control-bar/index.js +10 -4
- package/lib/modules/control-bar/store.d.ts +40 -20
- package/lib/modules/control-bar/store.js +156 -191
- package/lib/modules/control-bar/view.js +65 -25
- package/lib/modules/device-pretest/audio-preview/microphone-detection.js +1 -1
- package/lib/modules/dialog/components/control-bar/index.d.ts +1 -1
- package/lib/modules/dialog/components/control-bar/index.js +43 -43
- package/lib/modules/dialog/components/device-setting/index.js +2 -1
- package/lib/modules/dialog/components/dialog-container/component/body.d.ts +1 -0
- package/lib/modules/dialog/components/dialog-container/component/body.js +3 -2
- package/lib/modules/dialog/components/dialog-container/index.d.ts +2 -0
- package/lib/modules/dialog/components/dialog-container/index.js +19 -13
- package/lib/modules/dialog/components/live-streaming/index.js +4 -2
- package/lib/modules/dialog/components/participant/index.js +2 -2
- package/lib/modules/dialog/components/share-screen-selection/index.js +3 -1
- package/lib/modules/dialog/components/system-preference/assets/bg1.png +0 -0
- package/lib/modules/dialog/components/system-preference/assets/bg2.png +0 -0
- package/lib/modules/dialog/components/system-preference/assets/fcr_png_host.png +0 -0
- package/lib/modules/dialog/components/system-preference/electron.js +6 -6
- package/lib/modules/dialog/components/system-preference/index.css +3 -0
- package/lib/modules/dialog/components/system-preference/index.d.ts +17 -2
- package/lib/modules/dialog/components/system-preference/index.js +47 -55
- package/lib/modules/dialog/components/video-window/index.d.ts +1 -1
- package/lib/modules/dialog/components/video-window/index.js +216 -101
- package/lib/modules/dialog/components/widget/electron.d.ts +5 -0
- package/lib/modules/dialog/components/widget/electron.js +37 -0
- package/lib/modules/dialog/components/widget/index.d.ts +6 -0
- package/lib/modules/dialog/components/widget/index.js +43 -0
- package/lib/modules/dialog/hooks/useElectron.d.ts +7 -0
- package/lib/modules/dialog/hooks/useElectron.js +226 -28
- package/lib/modules/dialog/index.css +1 -11
- package/lib/modules/dialog/index.d.ts +9 -6
- package/lib/modules/dialog/index.js +12 -12
- package/lib/modules/dialog/store.d.ts +26 -10
- package/lib/modules/dialog/store.js +151 -82
- package/lib/modules/dialog/type.d.ts +84 -0
- package/lib/modules/dialog/type.js +6 -0
- package/lib/modules/dialog/view.d.ts +1 -4
- package/lib/modules/dialog/view.js +12 -9
- package/lib/modules/event-confirm/index.css +11 -0
- package/lib/modules/event-confirm/index.d.ts +6 -0
- package/lib/modules/event-confirm/index.js +3 -2
- package/lib/modules/event-confirm/store.d.ts +10 -4
- package/lib/modules/event-confirm/store.js +91 -32
- package/lib/modules/event-confirm/view.js +63 -24
- package/lib/modules/event-toast/store.js +4 -2
- package/lib/modules/interpreter/action/edit-btn/index.js +5 -5
- package/lib/modules/interpreter/action/switch-btn/index.js +7 -7
- package/lib/modules/interpreter/index.d.ts +5 -1
- package/lib/modules/interpreter/index.js +4 -2
- package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/index.js +3 -3
- package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/index.js +6 -5
- package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/option-Item.js +2 -2
- package/lib/modules/interpreter/interpreter-list/interpreter-item/index.js +2 -2
- package/lib/modules/interpreter/store.d.ts +8 -5
- package/lib/modules/interpreter/store.js +90 -39
- package/lib/modules/interpreter/type.d.ts +5 -1
- package/lib/modules/interpreter/utils.d.ts +0 -1
- package/lib/modules/interpreter/utils.js +2 -23
- package/lib/modules/interpreter/view.js +2 -6
- package/lib/modules/invite/index.d.ts +4 -0
- package/lib/modules/invite/index.js +3 -1
- package/lib/modules/invite/store.d.ts +11 -2
- package/lib/modules/invite/store.js +27 -4
- package/lib/modules/layout/components/Aside.js +1 -1
- package/lib/modules/layout/components/Carousel.js +36 -14
- package/lib/modules/layout/components/Gallery.js +33 -11
- package/lib/modules/layout/index.css +2 -2
- package/lib/modules/layout/index.d.ts +6 -0
- package/lib/modules/layout/index.js +4 -1
- package/lib/modules/layout/store.d.ts +23 -10
- package/lib/modules/layout/store.js +185 -163
- package/lib/modules/layout/type.d.ts +2 -0
- package/lib/modules/live-streaming/index.d.ts +2 -0
- package/lib/modules/live-streaming/index.js +2 -2
- package/lib/modules/live-streaming/store.d.ts +4 -8
- package/lib/modules/live-streaming/store.js +9 -19
- package/lib/modules/notification/index.css +17 -0
- package/lib/modules/notification/store.js +4 -2
- package/lib/modules/notification/view.js +7 -2
- package/lib/modules/offscreen-pulling/index.d.ts +1 -0
- package/lib/modules/offscreen-pulling/index.js +4 -0
- package/lib/modules/participant/components/confirm-input/index.d.ts +6 -0
- package/lib/modules/participant/components/confirm-input/index.js +50 -0
- package/lib/modules/participant/components/mute-all/index.d.ts +3 -7
- package/lib/modules/participant/components/mute-all/index.js +21 -33
- package/lib/modules/participant/components/participants/components/footer/components/buttons.d.ts +6 -0
- package/lib/modules/participant/components/participants/components/footer/components/buttons.js +52 -0
- package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.css +60 -0
- package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.d.ts +2 -0
- package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.js +166 -0
- package/lib/modules/participant/components/participants/components/footer/components/drop-menu/util.d.ts +5 -0
- package/lib/modules/participant/components/participants/components/footer/components/drop-menu/util.js +28 -0
- package/lib/modules/participant/components/participants/components/footer/components/footer/index.css +13 -0
- package/lib/modules/participant/components/participants/components/footer/components/footer/index.d.ts +5 -0
- package/lib/modules/participant/components/participants/components/footer/components/footer/index.js +242 -0
- package/lib/modules/participant/components/participants/components/footer/index.d.ts +5 -0
- package/lib/modules/participant/components/participants/components/footer/index.js +48 -0
- package/lib/modules/participant/components/participants/components/merge/index.d.ts +11 -0
- package/lib/modules/participant/components/participants/components/merge/index.js +49 -0
- package/lib/modules/participant/components/participants/components/participants/components/attendee/index.css +191 -0
- package/lib/modules/participant/components/participants/components/participants/components/attendee/index.d.ts +4 -0
- package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +204 -0
- package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.css +49 -0
- package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.d.ts +5 -0
- package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +219 -0
- package/lib/modules/participant/components/participants/components/participants/components/user-row/index.d.ts +5 -0
- package/lib/modules/participant/components/participants/components/participants/components/user-row/index.js +70 -0
- package/lib/modules/participant/components/participants/components/participants/index.css +104 -0
- package/lib/modules/participant/components/participants/components/participants/index.d.ts +3 -0
- package/lib/modules/participant/components/participants/components/participants/index.js +110 -0
- package/lib/modules/participant/components/participants/components/render-tab/index.d.ts +2 -0
- package/lib/modules/participant/components/participants/components/render-tab/index.js +49 -0
- package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/interpreter-tag/index.d.ts +3 -0
- package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/interpreter-tag/index.js +48 -0
- package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/microphone-indicator/index.d.ts +6 -0
- package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/microphone-indicator/index.js +28 -0
- package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/user-avatar/index.d.ts +7 -0
- package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/user-avatar/index.js +39 -0
- package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.css +69 -0
- package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.d.ts +5 -0
- package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.js +135 -0
- package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/audio-button/index.d.ts +7 -0
- package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/audio-button/index.js +31 -0
- package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.d.ts +12 -0
- package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.js +82 -0
- package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-to-mainroom-button/index.d.ts +4 -0
- package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-to-mainroom-button/index.js +26 -0
- package/lib/modules/participant/components/participants/components/render-user/components/user-action/index.d.ts +2 -0
- package/lib/modules/participant/components/participants/components/render-user/components/user-action/index.js +75 -0
- package/lib/modules/participant/components/participants/components/render-user/index.d.ts +5 -0
- package/lib/modules/participant/components/participants/components/render-user/index.js +21 -0
- package/lib/modules/participant/components/participants/index.js +18 -112
- package/lib/modules/participant/components/participants/types.d.ts +96 -0
- package/lib/modules/participant/components/participants/types.js +37 -0
- package/lib/modules/participant/index.css +3 -0
- package/lib/modules/participant/index.d.ts +12 -0
- package/lib/modules/participant/index.js +7 -1
- package/lib/modules/participant/member-list-data-source.d.ts +2 -2
- package/lib/modules/participant/member-list-data-source.js +11 -17
- package/lib/modules/participant/store.d.ts +44 -37
- package/lib/modules/participant/store.js +527 -536
- package/lib/modules/participant/type.d.ts +2 -9
- package/lib/modules/pc-audio-connect/store.d.ts +1 -1
- package/lib/modules/pc-audio-connect/store.js +9 -6
- package/lib/modules/setting/audio-settings/audio-settings.js +5 -4
- package/lib/modules/setting/audio-settings/index.css +11 -2
- package/lib/modules/setting/config.js +1 -1
- package/lib/modules/setting/store.d.ts +1 -0
- package/lib/modules/setting/store.js +20 -2
- package/lib/modules/setting/video-settings/index.css +12 -17
- package/lib/modules/setting/video-settings/video-settings-basic.js +40 -44
- package/lib/modules/share-screen/components/selection/index.js +70 -80
- package/lib/modules/share-screen/index.d.ts +6 -1
- package/lib/modules/share-screen/index.js +4 -1
- package/lib/modules/share-screen/store.d.ts +37 -33
- package/lib/modules/share-screen/store.js +330 -438
- package/lib/modules/sound-effect/sound-effect-player.d.ts +0 -4
- package/lib/modules/sound-effect/sound-effect-player.js +4 -4
- package/lib/modules/state-bar/index.css +2 -15
- package/lib/modules/state-bar/index.d.ts +10 -0
- package/lib/modules/state-bar/index.js +6 -1
- package/lib/modules/state-bar/live-streaming-state.js +0 -17
- package/lib/modules/state-bar/meeting-details.js +12 -24
- package/lib/modules/state-bar/meeting-time.js +5 -10
- package/lib/modules/state-bar/store.d.ts +31 -8
- package/lib/modules/state-bar/store.js +146 -100
- package/lib/modules/state-bar/view.js +63 -32
- package/lib/modules/video-window/components/deviceState/index.d.ts +7 -0
- package/lib/modules/video-window/components/deviceState/index.js +75 -0
- package/lib/modules/video-window/components/members/index.css +51 -0
- package/lib/modules/video-window/components/members/index.d.ts +2 -0
- package/lib/modules/video-window/components/members/index.js +131 -0
- package/lib/modules/video-window/components/speaking/index.css +86 -0
- package/lib/modules/video-window/components/speaking/index.d.ts +3 -0
- package/lib/modules/video-window/components/speaking/index.js +48 -0
- package/lib/modules/video-window/components/topControl/index.css +35 -0
- package/lib/modules/video-window/components/topControl/index.d.ts +3 -0
- package/lib/modules/video-window/components/topControl/index.js +79 -0
- package/lib/modules/video-window/index.d.ts +7 -0
- package/lib/modules/video-window/index.js +14 -20
- package/lib/modules/video-window/store.d.ts +19 -88
- package/lib/modules/video-window/store.js +98 -365
- package/lib/modules/video-window/type.d.ts +40 -4
- package/lib/modules/video-window/type.js +4 -4
- package/lib/modules/video-window/view.js +11 -23
- package/lib/modules/whiteboard/index.d.ts +1 -0
- package/lib/modules/whiteboard/index.js +7 -4
- package/lib/modules/widget/index.css +17 -0
- package/lib/modules/widget/index.d.ts +10 -0
- package/lib/modules/widget/index.js +114 -0
- package/lib/modules/widget/sdk.d.ts +30 -0
- package/lib/modules/widget/sdk.js +224 -0
- package/lib/modules/widget/store.d.ts +14 -0
- package/lib/modules/widget/store.js +28 -0
- package/lib/modules/widget/type.d.ts +156 -0
- package/lib/modules/widget/type.js +6 -0
- package/lib/modules/widget/view.d.ts +2 -0
- package/lib/modules/widget/view.js +47 -0
- package/lib/modules/widget/web-widget.d.ts +29 -0
- package/lib/modules/widget/web-widget.js +234 -0
- package/lib/providers/ability-provider.d.ts +24 -0
- package/lib/providers/ability-provider.js +38 -0
- package/lib/providers/chat-provider.d.ts +16 -9
- package/lib/providers/chat-provider.js +76 -8
- package/lib/providers/device-privilege-provider.d.ts +5 -1
- package/lib/providers/device-privilege-provider.js +21 -1
- package/lib/providers/device-provider.js +5 -2
- package/lib/providers/device-stream-provider.d.ts +15 -3
- package/lib/providers/device-stream-provider.js +118 -34
- package/lib/providers/dialog-provider.d.ts +9 -8
- package/lib/providers/dialog-provider.js +8 -4
- package/lib/providers/event-provider.js +4 -2
- package/lib/providers/interpreter-provider.d.ts +7 -26
- package/lib/providers/interpreter-provider.js +473 -706
- package/lib/providers/local-storage-provider.d.ts +6 -1
- package/lib/providers/local-storage-provider.js +15 -2
- package/lib/providers/message-provider.js +4 -2
- package/lib/providers/phone-audio-provider.js +24 -18
- package/lib/providers/privilege-provider.d.ts +13 -12
- package/lib/providers/privilege-provider.js +19 -11
- package/lib/providers/renderer-provider.d.ts +5 -0
- package/lib/providers/renderer-provider.js +8 -1
- package/lib/providers/room-provider.d.ts +7 -17
- package/lib/providers/room-provider.js +113 -161
- package/lib/providers/screen-share-provider.d.ts +19 -0
- package/lib/providers/screen-share-provider.js +102 -10
- package/lib/providers/widget-provider.d.ts +52 -0
- package/lib/providers/widget-provider.js +171 -0
- package/lib/scenes/main-scene.d.ts +11 -0
- package/lib/scenes/main-scene.js +60 -33
- package/lib/scenes/waiting-scene.d.ts +9 -0
- package/lib/scenes/waiting-scene.js +27 -26
- package/lib/schema.d.ts +114 -0
- package/lib/schema.js +77 -0
- package/lib/shared-data-source/chat-data.d.ts +11 -0
- package/lib/shared-data-source/chat-data.js +17 -6
- package/lib/shared-data-source/interpreter.d.ts +34 -21
- package/lib/shared-data-source/interpreter.js +104 -103
- package/lib/shared-data-source/meeting-time.d.ts +68 -0
- package/lib/shared-data-source/meeting-time.js +299 -0
- package/lib/shared-data-source/member-data.d.ts +126 -0
- package/lib/shared-data-source/member-data.js +451 -0
- package/lib/shared-data-source/pin-data.d.ts +8 -4
- package/lib/shared-data-source/pin-data.js +92 -4
- package/lib/shared-data-source/security-data.d.ts +35 -0
- package/lib/shared-data-source/security-data.js +156 -0
- package/lib/shared-data-source/setting.d.ts +3 -1
- package/lib/shared-data-source/setting.js +12 -1
- package/lib/shared-data-source/video-window.d.ts +7 -8
- package/lib/shared-data-source/video-window.js +97 -94
- package/lib/shared-data-source/waiting-room.d.ts +29 -2
- package/lib/shared-data-source/waiting-room.js +103 -39
- package/lib/translations/enUS.d.ts +25 -12
- package/lib/translations/enUS.js +47 -68
- package/lib/translations/zhCN.d.ts +26 -12
- package/lib/translations/zhCN.js +63 -83
- package/lib/type.d.ts +64 -48
- package/lib/type.js +14 -1
- package/lib/ui-manager.d.ts +3 -2
- package/lib/ui-manager.js +8 -7
- package/lib/ui-scene.d.ts +7 -1
- package/lib/ui-scene.js +187 -97
- package/lib/utilities/constant.d.ts +7 -3
- package/lib/utilities/constant.js +4 -0
- package/lib/utilities/default-config.d.ts +5 -1
- package/lib/utilities/default-config.js +28 -2
- package/lib/utilities/logger.d.ts +8 -0
- package/lib/utilities/logger.js +42 -0
- package/lib/utilities/meeting-detail.js +11 -10
- package/lib/utilities/parameters.d.ts +4 -0
- package/lib/utilities/parameters.js +13 -1
- package/lib/utilities/renderer.d.ts +1 -0
- package/lib/utilities/renderer.js +4 -1
- package/lib/utilities/tools.d.ts +7 -6
- package/lib/utilities/tools.js +2 -6
- package/lib/utilities/validate-params.d.ts +2 -0
- package/lib/utilities/validate-params.js +16 -0
- package/lib/waiting-room-control-manager.d.ts +28 -0
- package/lib/waiting-room-control-manager.js +212 -0
- package/lib/widget-sdk.d.ts +2 -0
- package/lib/widget-sdk.js +13 -0
- package/package.json +7 -6
- package/public/index.html +12 -6
|
@@ -16,6 +16,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
16
16
|
});
|
|
17
17
|
exports.shadowOffset = exports.DialogInstanceContext = void 0;
|
|
18
18
|
exports.useElectronDialog = useElectronDialog;
|
|
19
|
+
exports.useElectronDialogByDialogId = useElectronDialogByDialogId;
|
|
20
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
21
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
19
22
|
require("core-js/modules/es.array.concat.js");
|
|
20
23
|
require("core-js/modules/es.array.for-each.js");
|
|
21
24
|
require("core-js/modules/es.array.includes.js");
|
|
@@ -25,8 +28,6 @@ require("core-js/modules/esnext.async-iterator.for-each.js");
|
|
|
25
28
|
require("core-js/modules/esnext.iterator.constructor.js");
|
|
26
29
|
require("core-js/modules/esnext.iterator.for-each.js");
|
|
27
30
|
require("core-js/modules/web.dom-collections.for-each.js");
|
|
28
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
29
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
30
31
|
var _react = require("react");
|
|
31
32
|
var _store = require("../store");
|
|
32
33
|
var _dialogs = require("../dialogs");
|
|
@@ -38,6 +39,16 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
|
|
|
38
39
|
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; }
|
|
39
40
|
var DialogInstanceContext = exports.DialogInstanceContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
40
41
|
var shadowOffset = exports.shadowOffset = 15 + 15;
|
|
42
|
+
var enterFullScreenHandler = function enterFullScreenHandler() {
|
|
43
|
+
_dialogs.dialogWindows.forEach(function (win, k) {
|
|
44
|
+
!_store.TOP_LEVEL_DIALOG_LAYER.includes(k) && win.setAlwaysOnTop(true, 'pop-up-menu');
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
var leaveFullScreenHandler = function leaveFullScreenHandler() {
|
|
48
|
+
_dialogs.dialogWindows.forEach(function (win, k) {
|
|
49
|
+
![].concat((0, _toConsumableArray2["default"])(_store.TOP_LEVEL_DIALOG_LAYER), (0, _toConsumableArray2["default"])(_store.HIGH_LEVEL_DIALOG_LAYER)).includes(k) && win.setAlwaysOnTop(true, 'normal');
|
|
50
|
+
});
|
|
51
|
+
};
|
|
41
52
|
function useElectronDialog(props) {
|
|
42
53
|
var store = (0, _react.useContext)(_store.StoreContext);
|
|
43
54
|
var customConfigs = props.config,
|
|
@@ -55,8 +66,11 @@ function useElectronDialog(props) {
|
|
|
55
66
|
onUnmounted = props.onUnmounted,
|
|
56
67
|
polyfills = props.polyfills,
|
|
57
68
|
_props$hasCustomShado = props.hasCustomShadow,
|
|
58
|
-
hasCustomShadow = _props$hasCustomShado === void 0 ? true : _props$hasCustomShado
|
|
69
|
+
hasCustomShadow = _props$hasCustomShado === void 0 ? true : _props$hasCustomShado,
|
|
70
|
+
_props$disableShortcu = props.disableShortcutClose,
|
|
71
|
+
disableShortcutClose = _props$disableShortcu === void 0 ? false : _props$disableShortcu;
|
|
59
72
|
var windowRef = (0, _react.useRef)();
|
|
73
|
+
var newRendernerWindowRef = (0, _react.useRef)();
|
|
60
74
|
var _customConfigs$width = customConfigs.width,
|
|
61
75
|
w = _customConfigs$width === void 0 ? 0 : _customConfigs$width,
|
|
62
76
|
_customConfigs$height = customConfigs.height,
|
|
@@ -75,24 +89,21 @@ function useElectronDialog(props) {
|
|
|
75
89
|
(0, _react.useEffect)(function () {
|
|
76
90
|
var node;
|
|
77
91
|
window.runtime.openRendererWindow(dialogKey, function (dom, browserWindow, newRendererWindow) {
|
|
78
|
-
var
|
|
92
|
+
var _controlbar$isVisible;
|
|
79
93
|
node = dom;
|
|
80
94
|
windowRef.current = browserWindow;
|
|
95
|
+
newRendernerWindowRef.current = newRendererWindow;
|
|
81
96
|
_dialogs.dialogWindows.set(dialogKey, browserWindow);
|
|
82
97
|
var thisWindowBounds = browserWindow.getBounds();
|
|
83
98
|
var mainAppWindowBounds = window.runtime.browserWindow.getBounds();
|
|
84
99
|
var nearDisplayBounds = window.runtime.screen.getDisplayNearestPoint(mainAppWindowBounds).bounds;
|
|
85
100
|
var controlbar = _dialogs.dialogWindows.get(_constant.FcrUIDialogKey.CONTROL_BAR);
|
|
86
|
-
var isFullScreen = (_window$runtime = window.runtime) === null || _window$runtime === void 0 ? void 0 : _window$runtime.browserWindow.isFullScreen();
|
|
87
101
|
if (controlbar && controlbar !== null && controlbar !== void 0 && (_controlbar$isVisible = controlbar.isVisible) !== null && _controlbar$isVisible !== void 0 && _controlbar$isVisible.call(controlbar)) {
|
|
88
102
|
// 因为打开过的窗口在关闭时是用的 hide 方法,因此只判断 controlbar 是否存在会在关闭 controlbar 时失效,导致窗口依然跟随 controlbar 最后所在屏幕打开,所以要再判断一下 isVisible 状态
|
|
89
103
|
// 当屏幕共享时会打开 control bar,此时弹窗相对于 control bar 展示
|
|
90
104
|
var nearDisplay = window.runtime.screen.getDisplayNearestPoint(controlbar.getBounds());
|
|
91
105
|
var _nearDisplayBounds = nearDisplay.bounds;
|
|
92
106
|
var _thisWindowBounds = browserWindow.getBounds();
|
|
93
|
-
console.log({
|
|
94
|
-
thisWindowBounds: _thisWindowBounds
|
|
95
|
-
});
|
|
96
107
|
var centerBounds = {
|
|
97
108
|
x: Math.floor(_nearDisplayBounds.x + (_nearDisplayBounds.width - _thisWindowBounds.width) / 2),
|
|
98
109
|
y: Math.floor(_nearDisplayBounds.y + (_nearDisplayBounds.height - _thisWindowBounds.height) / 2)
|
|
@@ -102,18 +113,23 @@ function useElectronDialog(props) {
|
|
|
102
113
|
browserWindow.setResizable(false);
|
|
103
114
|
browserWindow.setBounds(centerBounds);
|
|
104
115
|
browserWindow.setResizable(resizeble);
|
|
105
|
-
} else if (
|
|
116
|
+
} else if (fullScreen) {
|
|
106
117
|
var _browserWindow$setBou;
|
|
107
118
|
// 当窗口的自定义设置为全屏时,让弹窗追随主窗口所在的屏幕展示
|
|
119
|
+
// 目前 fullScreen 的配置主要用于 toast 和 confirm,在应用启动时会直接初始化这两个 dialog,如果未设置 fullScreen,它们因为没有宽高将无法展示
|
|
120
|
+
var x = nearDisplayBounds.x,
|
|
121
|
+
y = nearDisplayBounds.y,
|
|
122
|
+
width = nearDisplayBounds.width,
|
|
123
|
+
height = nearDisplayBounds.height;
|
|
108
124
|
browserWindow === null || browserWindow === void 0 || (_browserWindow$setBou = browserWindow.setBounds) === null || _browserWindow$setBou === void 0 || _browserWindow$setBou.call(browserWindow, {
|
|
109
|
-
x:
|
|
110
|
-
y:
|
|
111
|
-
width:
|
|
112
|
-
height:
|
|
125
|
+
x: x,
|
|
126
|
+
y: y,
|
|
127
|
+
width: width,
|
|
128
|
+
height: height
|
|
113
129
|
});
|
|
114
130
|
} else {
|
|
115
131
|
var _browserWindow$setBou2;
|
|
116
|
-
//
|
|
132
|
+
// 如果窗口未设置全屏模式,那么新打开的弹窗相对于主窗口弹窗的水平垂直居中显示
|
|
117
133
|
var bounds = {
|
|
118
134
|
x: Math.floor(mainAppWindowBounds.x + (mainAppWindowBounds.width - thisWindowBounds.width) / 2),
|
|
119
135
|
y: Math.floor(mainAppWindowBounds.y + (mainAppWindowBounds.height - thisWindowBounds.height) / 2)
|
|
@@ -139,6 +155,7 @@ function useElectronDialog(props) {
|
|
|
139
155
|
// 因为窗口有可能需要单独设置位置,所以,窗口打开的回调需要放置在默认的位置设置之后
|
|
140
156
|
onOpened === null || onOpened === void 0 || onOpened({
|
|
141
157
|
browserWindow: browserWindow,
|
|
158
|
+
newRendererWindow: newRendererWindow,
|
|
142
159
|
store: store,
|
|
143
160
|
// 重写 setBounds 方法,使得设置 bounds 时,自动加上阴影的宽度
|
|
144
161
|
setBounds: function setBounds(bounds, animate) {
|
|
@@ -161,11 +178,22 @@ function useElectronDialog(props) {
|
|
|
161
178
|
if (!scroll) {
|
|
162
179
|
browserWindow.webContents.insertCSS("\n ::-webkit-scrollbar {\n display: none;\n }\n #root {\n padding: ".concat(hasCustomShadow ? shadowOffset / 2 : 0, "px;\n display: ").concat(hasCustomShadow ? 'flex' : 'block', ";\n align-items: center;\n }\n "));
|
|
163
180
|
}
|
|
181
|
+
if (disableShortcutClose) {
|
|
182
|
+
newRendererWindow.addEventListener('keydown', function (event) {
|
|
183
|
+
if ((event.ctrlKey || event.metaKey) && event.key === 'w') {
|
|
184
|
+
event.preventDefault();
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
}
|
|
164
188
|
focus && browserWindow.focus();
|
|
165
189
|
(0, _renderer.handleWillClose)(browserWindow, function () {
|
|
166
190
|
(0, _reactDom.unmountComponentAtNode)(node);
|
|
167
191
|
_dialogs.dialogWindows["delete"](dialogKey);
|
|
168
|
-
|
|
192
|
+
store === null || store === void 0 || store.closeDialogByKey(dialogKey);
|
|
193
|
+
onClose === null || onClose === void 0 || onClose({
|
|
194
|
+
store: store,
|
|
195
|
+
browserWindow: browserWindow
|
|
196
|
+
});
|
|
169
197
|
});
|
|
170
198
|
(0, _reactDom.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_store.StoreContext.Provider, {
|
|
171
199
|
value: store,
|
|
@@ -179,29 +207,199 @@ function useElectronDialog(props) {
|
|
|
179
207
|
})
|
|
180
208
|
}), dom);
|
|
181
209
|
}, config);
|
|
210
|
+
if ((0, _renderer.isMac)()) {
|
|
211
|
+
// 这组监听是为了处理 mac 全屏模式下,弹窗会因为主窗口全屏而变成独立窗口的问题
|
|
212
|
+
window.runtime.browserWindow.addListener('enter-full-screen', enterFullScreenHandler);
|
|
213
|
+
window.runtime.browserWindow.addListener('leave-full-screen', leaveFullScreenHandler);
|
|
214
|
+
}
|
|
182
215
|
return function () {
|
|
183
216
|
node && (0, _reactDom.unmountComponentAtNode)(node);
|
|
217
|
+
if ((0, _renderer.isMac)()) {
|
|
218
|
+
window.runtime.browserWindow.removeListener('enter-full-screen', enterFullScreenHandler);
|
|
219
|
+
window.runtime.browserWindow.removeListener('leave-full-screen', leaveFullScreenHandler);
|
|
220
|
+
}
|
|
184
221
|
window.runtime.closeRendererWindow(dialogKey);
|
|
185
|
-
if (windowRef.current && !windowRef.current.isDestroyed) {
|
|
222
|
+
if (windowRef.current && !windowRef.current.isDestroyed()) {
|
|
223
|
+
windowRef.current.hide();
|
|
186
224
|
windowRef.current.close();
|
|
187
225
|
}
|
|
188
226
|
onUnmounted === null || onUnmounted === void 0 || onUnmounted(store);
|
|
189
227
|
};
|
|
190
228
|
}, []);
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
229
|
+
return {
|
|
230
|
+
store: store,
|
|
231
|
+
browserWindow: windowRef.current,
|
|
232
|
+
newRendererWindow: newRendernerWindowRef.current
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
function useElectronDialogByDialogId(props) {
|
|
236
|
+
var store = (0, _react.useContext)(_store.StoreContext);
|
|
237
|
+
var customConfigs = props.config,
|
|
238
|
+
dialogId = props.dialogId,
|
|
239
|
+
onClose = props.onClose,
|
|
240
|
+
scroll = props.scroll,
|
|
241
|
+
_props$focus2 = props.focus,
|
|
242
|
+
focus = _props$focus2 === void 0 ? true : _props$focus2,
|
|
243
|
+
children = props.children,
|
|
244
|
+
ignoreMouseEvents = props.ignoreMouseEvents,
|
|
245
|
+
_props$alwaysOnTop2 = props.alwaysOnTop,
|
|
246
|
+
alwaysOnTop = _props$alwaysOnTop2 === void 0 ? false : _props$alwaysOnTop2,
|
|
247
|
+
fullScreen = props.fullScreen,
|
|
248
|
+
onOpened = props.onOpened,
|
|
249
|
+
onUnmounted = props.onUnmounted,
|
|
250
|
+
polyfills = props.polyfills,
|
|
251
|
+
_props$hasCustomShado2 = props.hasCustomShadow,
|
|
252
|
+
hasCustomShadow = _props$hasCustomShado2 === void 0 ? true : _props$hasCustomShado2,
|
|
253
|
+
_props$disableShortcu2 = props.disableShortcutClose,
|
|
254
|
+
disableShortcutClose = _props$disableShortcu2 === void 0 ? false : _props$disableShortcu2;
|
|
255
|
+
var winUniqueId = dialogId;
|
|
256
|
+
var windowRef = (0, _react.useRef)();
|
|
257
|
+
var newRendernerWindowRef = (0, _react.useRef)();
|
|
258
|
+
var _customConfigs$width2 = customConfigs.width,
|
|
259
|
+
w = _customConfigs$width2 === void 0 ? 0 : _customConfigs$width2,
|
|
260
|
+
_customConfigs$height2 = customConfigs.height,
|
|
261
|
+
h = _customConfigs$height2 === void 0 ? 0 : _customConfigs$height2;
|
|
262
|
+
var config = _objectSpread(_objectSpread({
|
|
263
|
+
type: 'panel',
|
|
264
|
+
hasShadow: false,
|
|
265
|
+
frame: false,
|
|
266
|
+
transparent: true,
|
|
267
|
+
resizeble: false
|
|
268
|
+
}, customConfigs), {}, {
|
|
269
|
+
setAlwaysOnTop: alwaysOnTop,
|
|
270
|
+
width: w + (hasCustomShadow ? shadowOffset : 0),
|
|
271
|
+
height: h + (hasCustomShadow ? shadowOffset : 0)
|
|
202
272
|
});
|
|
273
|
+
(0, _react.useEffect)(function () {
|
|
274
|
+
var node;
|
|
275
|
+
window.runtime.openRendererWindow(winUniqueId, function (dom, browserWindow, newRendererWindow) {
|
|
276
|
+
var _controlbar$isVisible2;
|
|
277
|
+
node = dom;
|
|
278
|
+
windowRef.current = browserWindow;
|
|
279
|
+
newRendernerWindowRef.current = newRendererWindow;
|
|
280
|
+
var thisWindowBounds = browserWindow.getBounds();
|
|
281
|
+
var mainAppWindowBounds = window.runtime.browserWindow.getBounds();
|
|
282
|
+
var nearDisplayBounds = window.runtime.screen.getDisplayNearestPoint(mainAppWindowBounds).bounds;
|
|
283
|
+
var controlbar = _dialogs.dialogWindows.get(_constant.FcrUIDialogKey.CONTROL_BAR);
|
|
284
|
+
if (controlbar && controlbar !== null && controlbar !== void 0 && (_controlbar$isVisible2 = controlbar.isVisible) !== null && _controlbar$isVisible2 !== void 0 && _controlbar$isVisible2.call(controlbar)) {
|
|
285
|
+
// 因为打开过的窗口在关闭时是用的 hide 方法,因此只判断 controlbar 是否存在会在关闭 controlbar 时失效,导致窗口依然跟随 controlbar 最后所在屏幕打开,所以要再判断一下 isVisible 状态
|
|
286
|
+
// 当屏幕共享时会打开 control bar,此时弹窗相对于 control bar 展示
|
|
287
|
+
var nearDisplay = window.runtime.screen.getDisplayNearestPoint(controlbar.getBounds());
|
|
288
|
+
var _nearDisplayBounds2 = nearDisplay.bounds;
|
|
289
|
+
var _thisWindowBounds2 = browserWindow.getBounds();
|
|
290
|
+
var centerBounds = {
|
|
291
|
+
x: Math.floor(_nearDisplayBounds2.x + (_nearDisplayBounds2.width - _thisWindowBounds2.width) / 2),
|
|
292
|
+
y: Math.floor(_nearDisplayBounds2.y + (_nearDisplayBounds2.height - _thisWindowBounds2.height) / 2)
|
|
293
|
+
};
|
|
294
|
+
// resizeble 为 true 的窗口在切换不同分辨率属性的显示器时,会有打开尺寸失真的情况出现,所以暂存一下其原始值,在更改坐标之后还原
|
|
295
|
+
var resizeble = browserWindow.isResizable();
|
|
296
|
+
browserWindow.setResizable(false);
|
|
297
|
+
browserWindow.setBounds(centerBounds);
|
|
298
|
+
browserWindow.setResizable(resizeble);
|
|
299
|
+
} else if (fullScreen) {
|
|
300
|
+
var _browserWindow$setBou3;
|
|
301
|
+
// 当窗口的自定义设置为全屏时,让弹窗追随主窗口所在的屏幕展示
|
|
302
|
+
var x = nearDisplayBounds.x,
|
|
303
|
+
y = nearDisplayBounds.y,
|
|
304
|
+
width = nearDisplayBounds.width,
|
|
305
|
+
height = nearDisplayBounds.height;
|
|
306
|
+
browserWindow === null || browserWindow === void 0 || (_browserWindow$setBou3 = browserWindow.setBounds) === null || _browserWindow$setBou3 === void 0 || _browserWindow$setBou3.call(browserWindow, {
|
|
307
|
+
x: x,
|
|
308
|
+
y: y,
|
|
309
|
+
width: width,
|
|
310
|
+
height: height
|
|
311
|
+
});
|
|
312
|
+
} else {
|
|
313
|
+
var _browserWindow$setBou4;
|
|
314
|
+
// 如果主窗口不是全屏模式,那么新打开的弹窗相对于主窗口弹窗的水平垂直居中显示
|
|
315
|
+
var bounds = {
|
|
316
|
+
x: Math.floor(mainAppWindowBounds.x + (mainAppWindowBounds.width - thisWindowBounds.width) / 2),
|
|
317
|
+
y: Math.floor(mainAppWindowBounds.y + (mainAppWindowBounds.height - thisWindowBounds.height) / 2)
|
|
318
|
+
};
|
|
319
|
+
browserWindow === null || browserWindow === void 0 || (_browserWindow$setBou4 = browserWindow.setBounds) === null || _browserWindow$setBou4 === void 0 || _browserWindow$setBou4.call(browserWindow, bounds);
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
// 设置所有窗口为所有工作区可见
|
|
323
|
+
browserWindow.setVisibleOnAllWorkspaces(true, {
|
|
324
|
+
visibleOnFullScreen: true,
|
|
325
|
+
skipTransformProcessType: true
|
|
326
|
+
});
|
|
327
|
+
|
|
328
|
+
// 因为窗口有可能需要单独设置位置,所以,窗口打开的回调需要放置在默认的位置设置之后
|
|
329
|
+
onOpened === null || onOpened === void 0 || onOpened({
|
|
330
|
+
browserWindow: browserWindow,
|
|
331
|
+
newRendererWindow: newRendererWindow,
|
|
332
|
+
store: store,
|
|
333
|
+
// 重写 setBounds 方法,使得设置 bounds 时,自动加上阴影的宽度
|
|
334
|
+
setBounds: function setBounds(bounds, animate) {
|
|
335
|
+
var b = _objectSpread({}, bounds);
|
|
336
|
+
if (b.width && hasCustomShadow) b.width = b.width + shadowOffset;
|
|
337
|
+
if (b.height && hasCustomShadow) b.height = b.height + shadowOffset;
|
|
338
|
+
browserWindow.setBounds(b, animate);
|
|
339
|
+
},
|
|
340
|
+
nearDisplayBounds: nearDisplayBounds
|
|
341
|
+
});
|
|
342
|
+
|
|
343
|
+
// 同原生 electron 的 ignoreMouseEvents 一样,设置为 true 时,窗口将不再接收鼠标事件
|
|
344
|
+
if (ignoreMouseEvents) {
|
|
345
|
+
browserWindow.setIgnoreMouseEvents(true, typeof ignoreMouseEvents === 'boolean' ? {
|
|
346
|
+
forward: true
|
|
347
|
+
} : ignoreMouseEvents);
|
|
348
|
+
}
|
|
349
|
+
browserWindow.setAlwaysOnTop(typeof alwaysOnTop === 'boolean' ? alwaysOnTop : typeof alwaysOnTop === 'string', typeof alwaysOnTop === 'string' ? alwaysOnTop : 'pop-up-menu');
|
|
350
|
+
if (!scroll) {
|
|
351
|
+
browserWindow.webContents.insertCSS("\n ::-webkit-scrollbar {\n display: none;\n }\n #root {\n padding: ".concat(hasCustomShadow ? shadowOffset / 2 : 0, "px;\n display: ").concat(hasCustomShadow ? 'flex' : 'block', ";\n align-items: center;\n }\n "));
|
|
352
|
+
}
|
|
353
|
+
if (disableShortcutClose) {
|
|
354
|
+
newRendererWindow.addEventListener('keydown', function (event) {
|
|
355
|
+
if ((event.ctrlKey || event.metaKey) && event.key === 'w') {
|
|
356
|
+
event.preventDefault();
|
|
357
|
+
}
|
|
358
|
+
});
|
|
359
|
+
}
|
|
360
|
+
focus && browserWindow.focus();
|
|
361
|
+
(0, _renderer.handleWillClose)(browserWindow, function () {
|
|
362
|
+
(0, _reactDom.unmountComponentAtNode)(node);
|
|
363
|
+
store.closeDilaogByDialogId(winUniqueId);
|
|
364
|
+
onClose === null || onClose === void 0 || onClose({
|
|
365
|
+
store: store,
|
|
366
|
+
browserWindow: browserWindow
|
|
367
|
+
});
|
|
368
|
+
});
|
|
369
|
+
(0, _reactDom.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_store.StoreContext.Provider, {
|
|
370
|
+
value: store,
|
|
371
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DialogInstanceContext.Provider, {
|
|
372
|
+
value: {
|
|
373
|
+
browserWindow: browserWindow,
|
|
374
|
+
newRendererWindow: newRendererWindow,
|
|
375
|
+
resizable: !!customConfigs.resizable
|
|
376
|
+
},
|
|
377
|
+
children: typeof children === 'function' ? children(browserWindow) : children
|
|
378
|
+
})
|
|
379
|
+
}), dom);
|
|
380
|
+
}, config);
|
|
381
|
+
if ((0, _renderer.isMac)()) {
|
|
382
|
+
// 这组监听是为了处理 mac 全屏模式下,弹窗会因为主窗口全屏而变成独立窗口的问题
|
|
383
|
+
window.runtime.browserWindow.addListener('enter-full-screen', enterFullScreenHandler);
|
|
384
|
+
window.runtime.browserWindow.addListener('leave-full-screen', leaveFullScreenHandler);
|
|
385
|
+
}
|
|
386
|
+
return function () {
|
|
387
|
+
node && (0, _reactDom.unmountComponentAtNode)(node);
|
|
388
|
+
if ((0, _renderer.isMac)()) {
|
|
389
|
+
window.runtime.browserWindow.removeListener('enter-full-screen', enterFullScreenHandler);
|
|
390
|
+
window.runtime.browserWindow.removeListener('leave-full-screen', leaveFullScreenHandler);
|
|
391
|
+
}
|
|
392
|
+
window.runtime.closeRendererWindow(winUniqueId);
|
|
393
|
+
if (windowRef.current && !windowRef.current.isDestroyed()) {
|
|
394
|
+
windowRef.current.hide();
|
|
395
|
+
windowRef.current.close();
|
|
396
|
+
}
|
|
397
|
+
onUnmounted === null || onUnmounted === void 0 || onUnmounted(store);
|
|
398
|
+
};
|
|
399
|
+
}, []);
|
|
203
400
|
return {
|
|
204
401
|
store: store,
|
|
205
|
-
browserWindow: windowRef.current
|
|
402
|
+
browserWindow: windowRef.current,
|
|
403
|
+
newRendererWindow: newRendernerWindowRef.current
|
|
206
404
|
};
|
|
207
405
|
}
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
.fcr-livestreaming-dialog-content {
|
|
23
23
|
flex: 1;
|
|
24
24
|
overflow: hidden;
|
|
25
|
-
padding: 0 20px;
|
|
25
|
+
padding: 0 20px 20px;
|
|
26
26
|
}
|
|
27
27
|
.frc-common-dialog {
|
|
28
28
|
background: var(--fcr_mobile_ui_scene_color_popup_fill2);
|
|
@@ -47,13 +47,3 @@
|
|
|
47
47
|
height: 24px;
|
|
48
48
|
width: fit-content;
|
|
49
49
|
}
|
|
50
|
-
|
|
51
|
-
.fcr-confirm-dialog-wrapper {
|
|
52
|
-
background: #fff;
|
|
53
|
-
}
|
|
54
|
-
.fcr-confirm-dialog-wrapper_web {
|
|
55
|
-
background: var(--fcr_mobile_ui_scene_color_popup_fill2);
|
|
56
|
-
border-radius: var(--fcr_cornerradius_xl);
|
|
57
|
-
box-shadow: var(--fcr_web_light_dropup);
|
|
58
|
-
border: 1px solid var(--fcr_ui_scene_line1);
|
|
59
|
-
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import { UIModule } from '../../base';
|
|
3
2
|
import { FcrUIDeviceProvider } from '../../providers/device-provider';
|
|
4
3
|
import { FcrStreamControl, FcrUserControl } from 'fcr-core';
|
|
@@ -10,10 +9,14 @@ import { FcrUILocalVideoRenderProvider, FcrUIRemoteVideoRenderProvider } from '.
|
|
|
10
9
|
import { FcrUIPrivilegeProvider } from '../../providers/privilege-provider';
|
|
11
10
|
import { FcrUIDialogProvider } from '../../providers/dialog-provider';
|
|
12
11
|
import { FcrUIPhoneAudioConnectorProvider } from '../../providers/phone-audio-provider';
|
|
12
|
+
import { FcrUIAbilityProviderImpl } from '../../providers/ability-provider';
|
|
13
13
|
import { FcrUIAction } from '../../utilities/constant';
|
|
14
14
|
import { CurrentShareScreenTypes } from '../share-screen/types';
|
|
15
|
+
import { FcrUIDialogInfo } from './type';
|
|
16
|
+
import { FcrUIWidgetProvider } from '../../providers/widget-provider';
|
|
17
|
+
import { FcrUIChatProvider } from '../../providers/chat-provider';
|
|
15
18
|
export declare class DialogUIModule extends UIModule {
|
|
16
|
-
private
|
|
19
|
+
private _dialogsByKey;
|
|
17
20
|
private _store?;
|
|
18
21
|
deviceProvider?: FcrUIDeviceProvider;
|
|
19
22
|
streamControl?: FcrStreamControl;
|
|
@@ -29,12 +32,12 @@ export declare class DialogUIModule extends UIModule {
|
|
|
29
32
|
phoneAudioConnectorProvider?: FcrUIPhoneAudioConnectorProvider;
|
|
30
33
|
mainRoomControlProvider?: FcrUIMainRoomControlProvider;
|
|
31
34
|
waitingRoomControlProvider?: FcrUIWaitingRoomControlProvider;
|
|
35
|
+
widgetProvider?: FcrUIWidgetProvider;
|
|
36
|
+
chatProvider?: FcrUIChatProvider;
|
|
37
|
+
abilityProvider?: FcrUIAbilityProviderImpl;
|
|
32
38
|
onNodeWillActive(): void;
|
|
33
39
|
onNodeWillInactive(): void;
|
|
34
40
|
getComponent(): import("react/jsx-runtime").JSX.Element;
|
|
35
|
-
addDialogs(dialogs:
|
|
36
|
-
key: string;
|
|
37
|
-
component: (params?: any) => React.JSX.Element;
|
|
38
|
-
}[]): void;
|
|
41
|
+
addDialogs(dialogs: FcrUIDialogInfo[]): void;
|
|
39
42
|
onUiEvent(event: FcrUIAction, payload: CurrentShareScreenTypes): void;
|
|
40
43
|
}
|
|
@@ -73,31 +73,33 @@ var DialogUIModule = exports.DialogUIModule = /*#__PURE__*/function (_UIModule)
|
|
|
73
73
|
args[_key] = arguments[_key];
|
|
74
74
|
}
|
|
75
75
|
_this = _callSuper(this, DialogUIModule, [].concat(args));
|
|
76
|
-
(0, _defineProperty2["default"])(_this, "
|
|
76
|
+
(0, _defineProperty2["default"])(_this, "_dialogsByKey", new Map());
|
|
77
77
|
return _this;
|
|
78
78
|
}
|
|
79
79
|
(0, _inherits2["default"])(DialogUIModule, _UIModule);
|
|
80
80
|
return (0, _createClass2["default"])(DialogUIModule, [{
|
|
81
81
|
key: "onNodeWillActive",
|
|
82
82
|
value: function onNodeWillActive() {
|
|
83
|
-
var _this$currentRoomCont, _this$currentRoomCont2
|
|
83
|
+
var _this$currentRoomCont, _this$currentRoomCont2;
|
|
84
84
|
this.streamControl = (_this$currentRoomCont = this.currentRoomControlProvider) === null || _this$currentRoomCont === void 0 ? void 0 : _this$currentRoomCont.currentRoomControl.getStreamControl();
|
|
85
85
|
this.userControl = (_this$currentRoomCont2 = this.currentRoomControlProvider) === null || _this$currentRoomCont2 === void 0 ? void 0 : _this$currentRoomCont2.currentRoomControl.getUserControl();
|
|
86
|
-
this.
|
|
87
|
-
|
|
88
|
-
var _this$currentRoomCont4, _this$mainRoomControl, _this$waitingRoomCont;
|
|
86
|
+
if (this.userControl && this.deviceProvider && this.streamControl && this.remoteVideoRenderProvider && this.eventProvider && this.localVideoRenderProvider && this.sharedLayoutDataSource && this.dialogProvider && this.phoneAudioConnectorProvider && this.widgetProvider && this.chatProvider && this.abilityProvider) {
|
|
87
|
+
var _this$currentRoomCont3, _this$mainRoomControl, _this$waitingRoomCont;
|
|
89
88
|
this._store = new _store["default"]({
|
|
90
89
|
userControl: this.userControl,
|
|
91
|
-
chatRoomControl: this.chatRoomControl,
|
|
92
90
|
streamControl: this.streamControl,
|
|
93
91
|
deviceStore: this.deviceProvider,
|
|
94
92
|
remoteVideoRenderManager: this.remoteVideoRenderProvider,
|
|
95
93
|
localVideoRenderProvider: this.localVideoRenderProvider,
|
|
96
|
-
securityStore: ((_this$
|
|
94
|
+
securityStore: ((_this$currentRoomCont3 = this.currentRoomControlProvider) === null || _this$currentRoomCont3 === void 0 || (_this$currentRoomCont3 = _this$currentRoomCont3.currentRoomControl.getRoomInfo()) === null || _this$currentRoomCont3 === void 0 ? void 0 : _this$currentRoomCont3.roomType) === _type.FcrRoomType.Mainroom ? (_this$mainRoomControl = this.mainRoomControlProvider) === null || _this$mainRoomControl === void 0 ? void 0 : _this$mainRoomControl.privilegeProvider : (_this$waitingRoomCont = this.waitingRoomControlProvider) === null || _this$waitingRoomCont === void 0 ? void 0 : _this$waitingRoomCont.privilegeProvider,
|
|
97
95
|
uiEventStore: this.eventProvider,
|
|
98
96
|
sharedLayoutDataSource: this.sharedLayoutDataSource,
|
|
99
97
|
dialogProvider: this.dialogProvider,
|
|
100
|
-
phoneAudioConnectorProvider: this.phoneAudioConnectorProvider
|
|
98
|
+
phoneAudioConnectorProvider: this.phoneAudioConnectorProvider,
|
|
99
|
+
dialogsByKey: this._dialogsByKey,
|
|
100
|
+
widgetProvider: this.widgetProvider,
|
|
101
|
+
chatProvider: this.chatProvider,
|
|
102
|
+
abilityProvider: this.abilityProvider
|
|
101
103
|
});
|
|
102
104
|
this.eventProvider.addObserver({
|
|
103
105
|
onEvent: this.onUiEvent.bind(this)
|
|
@@ -118,9 +120,7 @@ var DialogUIModule = exports.DialogUIModule = /*#__PURE__*/function (_UIModule)
|
|
|
118
120
|
}
|
|
119
121
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_store.StoreContext.Provider, {
|
|
120
122
|
value: this._store,
|
|
121
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_view.View, {
|
|
122
|
-
dialogs: this._dialogs
|
|
123
|
-
})
|
|
123
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_view.View, {})
|
|
124
124
|
}, "dialog");
|
|
125
125
|
}
|
|
126
126
|
}, {
|
|
@@ -128,7 +128,7 @@ var DialogUIModule = exports.DialogUIModule = /*#__PURE__*/function (_UIModule)
|
|
|
128
128
|
value: function addDialogs(dialogs) {
|
|
129
129
|
var _this2 = this;
|
|
130
130
|
dialogs.forEach(function (dialog) {
|
|
131
|
-
_this2.
|
|
131
|
+
_this2._dialogsByKey.set(dialog.key, dialog.component);
|
|
132
132
|
});
|
|
133
133
|
}
|
|
134
134
|
}, {
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { FcrStreamControl, FcrUserControl } from 'fcr-core';
|
|
2
|
-
import { FcrChatRoomConnectionState, FcrChatRoomControl } from 'fcr-core/lib/room-control/chatroom-control/type';
|
|
3
2
|
import { FcrUIDialogKey } from '../../utilities/constant';
|
|
4
3
|
import { FcrUIPrivilegeProvider } from '../../providers/privilege-provider';
|
|
5
4
|
import { FcrUIDeviceProvider } from '../../providers/device-provider';
|
|
@@ -11,6 +10,11 @@ import { FcrUIPhoneAudioConnectorProvider } from '../../providers/phone-audio-pr
|
|
|
11
10
|
import { AgoraRtcScreenCaptureType } from 'agora-rte-sdk/lib/core/rtc/type';
|
|
12
11
|
import { CurrentShareBounds } from '../control-bar/types';
|
|
13
12
|
import { CurrentShareScreenTypes } from '../share-screen/types';
|
|
13
|
+
import { FcrUIDialogComponent } from './type';
|
|
14
|
+
import { FcrUIWidgetProvider } from '../../providers/widget-provider';
|
|
15
|
+
import { FcrUIChatProvider } from '../../providers/chat-provider';
|
|
16
|
+
import { FcrUIAbilityProviderImpl } from 'fcr-ui-scene/src/providers/ability-provider';
|
|
17
|
+
import { CurrentShareScreenWorkArea } from '../../utilities/tools';
|
|
14
18
|
export declare const HIGH_LEVEL_DIALOG_LAYER: FcrUIDialogKey[];
|
|
15
19
|
export declare const TOP_LEVEL_DIALOG_LAYER: FcrUIDialogKey[];
|
|
16
20
|
export default class DialogStore {
|
|
@@ -24,29 +28,35 @@ export default class DialogStore {
|
|
|
24
28
|
private _localVideoRenderProvider;
|
|
25
29
|
private _remoteVideoRenderManager;
|
|
26
30
|
private _dialogProvider;
|
|
27
|
-
private
|
|
28
|
-
private _connnectBeforeCloseDetect;
|
|
31
|
+
private _widgetProvider;
|
|
29
32
|
private _sharedLayoutDataSource;
|
|
30
33
|
private _phoneAudioConnectorProvider;
|
|
34
|
+
private _dialogComponentMapByKey;
|
|
35
|
+
private _chatProvider;
|
|
31
36
|
private _handleDialogEventObserver;
|
|
32
37
|
private _userObserver;
|
|
33
|
-
private _chatRoomObserver;
|
|
34
38
|
accessor openedDialogs: {
|
|
35
|
-
dialogKey:
|
|
39
|
+
dialogKey: FcrUIDialogKey;
|
|
36
40
|
dialogId: string;
|
|
41
|
+
params?: unknown;
|
|
37
42
|
}[];
|
|
38
|
-
accessor payloadDialogs: Map<string, unknown>;
|
|
39
43
|
accessor confirmDialogs: Map<string, unknown>;
|
|
40
44
|
accessor userCount: number;
|
|
41
45
|
accessor participantElectronDialogContainer: HTMLElement | null;
|
|
42
|
-
accessor chatRoomState: FcrChatRoomConnectionState;
|
|
43
46
|
accessor currentDialogBounds: Map<FcrUIDialogKey, number>;
|
|
44
47
|
accessor videoWindowBounds: any;
|
|
45
48
|
accessor currentShareId: string;
|
|
46
49
|
accessor currentShareType: AgoraRtcScreenCaptureType;
|
|
47
50
|
accessor currentShareBounds: CurrentShareBounds;
|
|
51
|
+
accessor recordShareBounds: Map<CurrentShareBounds, CurrentShareScreenWorkArea>;
|
|
52
|
+
get dialogComponentMapByKey(): Map<FcrUIDialogKey, FcrUIDialogComponent>;
|
|
48
53
|
get participantCount(): number;
|
|
49
54
|
get isManager(): boolean;
|
|
55
|
+
get dialogs(): {
|
|
56
|
+
dialogKey: FcrUIDialogKey;
|
|
57
|
+
dialogId: string;
|
|
58
|
+
params?: unknown;
|
|
59
|
+
}[];
|
|
50
60
|
get streamControl(): FcrStreamControl;
|
|
51
61
|
get deviceStore(): FcrUIDeviceProvider;
|
|
52
62
|
get remoteVideoRenderManager(): FcrUIRemoteVideoRenderProvider;
|
|
@@ -54,10 +64,10 @@ export default class DialogStore {
|
|
|
54
64
|
get waitingRoomState(): boolean;
|
|
55
65
|
get connectType(): import("../../type").FcrUIConnectType;
|
|
56
66
|
get hasOwnPstnStream(): boolean;
|
|
57
|
-
|
|
67
|
+
get widgetDialogIds(): Map<string, string>;
|
|
68
|
+
constructor({ uiEventStore, userControl, deviceStore, streamControl, localVideoRenderProvider, remoteVideoRenderManager, securityStore, sharedLayoutDataSource, dialogProvider, phoneAudioConnectorProvider, dialogsByKey, widgetProvider, chatProvider, }: {
|
|
58
69
|
streamControl: FcrStreamControl;
|
|
59
70
|
userControl: FcrUserControl;
|
|
60
|
-
chatRoomControl: FcrChatRoomControl;
|
|
61
71
|
uiEventStore: FcrUIEventProvider;
|
|
62
72
|
securityStore: FcrUIPrivilegeProvider;
|
|
63
73
|
deviceStore: FcrUIDeviceProvider;
|
|
@@ -66,10 +76,16 @@ export default class DialogStore {
|
|
|
66
76
|
sharedLayoutDataSource: FcrUISharedLayoutDataSource;
|
|
67
77
|
dialogProvider: FcrUIDialogProvider;
|
|
68
78
|
phoneAudioConnectorProvider: FcrUIPhoneAudioConnectorProvider;
|
|
79
|
+
dialogsByKey: Map<FcrUIDialogKey, FcrUIDialogComponent>;
|
|
80
|
+
widgetProvider: FcrUIWidgetProvider;
|
|
81
|
+
chatProvider: FcrUIChatProvider;
|
|
82
|
+
abilityProvider: FcrUIAbilityProviderImpl;
|
|
69
83
|
});
|
|
84
|
+
get chatRoomState(): import("fcr-core/lib/room-control/chatroom-control/type").FcrChatRoomConnectionState;
|
|
70
85
|
setParticipantElectronDialogContainer(dom: HTMLElement | null): void;
|
|
71
86
|
setVideoWindowBounds(payload: any): void;
|
|
72
87
|
closeDialogByKey(dialogKey: FcrUIDialogKey): void;
|
|
88
|
+
closeDilaogByDialogId(dialogId: string): void;
|
|
73
89
|
closeSystemPreferenceDialog(): void;
|
|
74
90
|
closeChatFromDialog(): void;
|
|
75
91
|
moveChatFromDialogToAside(): void;
|
|
@@ -79,8 +95,8 @@ export default class DialogStore {
|
|
|
79
95
|
release(): void;
|
|
80
96
|
resizeVideoWindow(width: number, height: number): void;
|
|
81
97
|
updateCurrentShareContent(payload: CurrentShareScreenTypes): void;
|
|
98
|
+
getCurrentSharingScreenBounds(): CurrentShareScreenWorkArea;
|
|
82
99
|
private _handleDialogEvent;
|
|
83
|
-
private _handleConnectionUpdated;
|
|
84
100
|
private _hanleAllUserCountUpdated;
|
|
85
101
|
}
|
|
86
102
|
export declare const StoreContext: import("react").Context<DialogStore>;
|