fcr-ui-scene 3.7.5 → 3.7.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/installer/icons/icon.png +0 -0
- package/installer/mac/entitlements.mac.plist +1 -5
- package/lib/creator/index.js +15 -7
- package/lib/creator/provider-initializer.browser.js +13 -4
- package/lib/creator/provider-initializer.electron.js +22 -10
- package/lib/creator.d.ts +36 -0
- package/lib/creator.js +465 -0
- package/lib/electron/bootstrap-sdk.js +90 -6
- package/lib/electron/injections.d.ts +1 -0
- package/lib/electron/injections.js +5 -1
- package/lib/electron/ipc/type.d.ts +1 -0
- package/lib/electron/ipc/type.js +1 -0
- package/lib/electron/preload.js +1 -0
- package/lib/electron/sdk-helper.d.ts +3 -0
- package/lib/electron/sdk-helper.js +53 -19
- package/lib/electron/struct.d.ts +7 -1
- package/lib/electron/struct.js +8 -1
- package/lib/electron/until.d.ts +7 -1
- package/lib/electron/until.js +11 -2
- package/lib/fragments/annotation/store.js +2 -0
- package/lib/modules/action-bar/components/item/index.js +1 -0
- package/lib/modules/action-bar/components/more/poppover-content.js +1 -1
- package/lib/modules/action-bar/components/screen-share/index.browser.js +4 -2
- package/lib/modules/action-bar/components/screen-share/index.electron.js +4 -2
- package/lib/modules/action-bar/components/screen-share/submenu.d.ts +5 -1
- package/lib/modules/action-bar/components/screen-share/submenu.js +12 -9
- package/lib/modules/action-bar/index.d.ts +55 -14
- package/lib/modules/action-bar/index.dev.js +94 -0
- package/lib/modules/action-bar/index.js +78 -32
- package/lib/modules/action-bar/store.d.ts +259 -0
- package/lib/modules/action-bar/store.js +1529 -0
- package/lib/modules/action-bar/types.d.ts +90 -0
- package/lib/modules/action-bar/types.js +6 -0
- package/lib/modules/action-bar/view.d.ts +1 -1
- package/lib/modules/action-bar/view.js +2 -2
- package/lib/modules/annotation/annotation-index.d.ts +2 -0
- package/lib/modules/annotation/annotation-index.js +80 -0
- package/lib/modules/annotation/annotation-toolbar-store.d.ts +75 -0
- package/lib/modules/annotation/annotation-toolbar-store.js +459 -0
- package/lib/modules/annotation/board-cursor.css +77 -0
- package/lib/modules/annotation/components/color-picker/components/color.d.ts +5 -0
- package/lib/modules/annotation/components/color-picker/components/color.js +38 -0
- package/lib/modules/annotation/components/color-picker/components/panel.d.ts +1 -0
- package/lib/modules/annotation/components/color-picker/components/panel.js +109 -0
- package/lib/modules/annotation/components/color-picker/components/picker.d.ts +1 -0
- package/lib/modules/annotation/components/color-picker/components/picker.js +75 -0
- package/lib/modules/annotation/components/color-picker/index.d.ts +2 -0
- package/lib/modules/annotation/components/color-picker/index.js +47 -0
- package/lib/modules/annotation/components/eraser-picker.d.ts +4 -0
- package/lib/modules/annotation/components/eraser-picker.js +144 -0
- package/lib/modules/annotation/components/expansion/index.d.ts +1 -0
- package/lib/modules/annotation/components/expansion/index.js +100 -0
- package/lib/modules/annotation/components/extra-tool-picker.d.ts +1 -0
- package/lib/modules/annotation/components/extra-tool-picker.js +62 -0
- package/lib/modules/annotation/components/history.d.ts +2 -0
- package/lib/modules/annotation/components/history.js +78 -0
- package/lib/modules/annotation/components/icons/fold-icon.d.ts +2 -0
- package/lib/modules/annotation/components/icons/fold-icon.js +41 -0
- package/lib/modules/annotation/components/icons/move-icon.d.ts +1 -0
- package/lib/modules/annotation/components/icons/move-icon.js +66 -0
- package/lib/modules/annotation/components/item/index.d.ts +1 -0
- package/lib/modules/annotation/components/item/index.js +43 -0
- package/lib/modules/annotation/components/move-handle.d.ts +5 -0
- package/lib/modules/annotation/components/move-handle.js +134 -0
- package/lib/modules/annotation/components/pen-picker.d.ts +4 -0
- package/lib/modules/annotation/components/pen-picker.js +155 -0
- package/lib/modules/annotation/components/screen-capture-picker.d.ts +4 -0
- package/lib/modules/annotation/components/screen-capture-picker.js +85 -0
- package/lib/modules/annotation/components/shape-picker.d.ts +4 -0
- package/lib/modules/annotation/components/shape-picker.js +210 -0
- package/lib/modules/annotation/hooks/index.d.ts +14 -0
- package/lib/modules/annotation/hooks/index.js +292 -0
- package/lib/modules/annotation/index.d.ts +45 -0
- package/lib/modules/annotation/index.js +168 -0
- package/lib/modules/annotation/store.d.ts +98 -0
- package/lib/modules/annotation/store.js +620 -0
- package/lib/modules/annotation/style.css +36 -0
- package/lib/modules/annotation/view.d.ts +3 -0
- package/lib/modules/annotation/view.js +44 -0
- package/lib/modules/audio-stream/index.js +4 -2
- package/lib/modules/chat/index.css +8 -0
- package/lib/modules/chat/view.js +7 -1
- package/lib/modules/components/control-bar/components/switch-theme/index.css +2 -0
- package/lib/modules/components/control-bar/components/switch-theme/index.js +5 -7
- package/lib/modules/components/control-bar/index.css +0 -2
- package/lib/modules/components/control-bar/index.d.ts +1 -0
- package/lib/modules/components/control-bar/index.js +51 -15
- package/lib/modules/components/device-control/store.d.ts +42 -0
- package/lib/modules/components/device-control/store.js +241 -0
- package/lib/modules/components/leave-meeting/main-scene/store.d.ts +3 -0
- package/lib/modules/components/leave-meeting/main-scene/store.js +12 -0
- package/lib/modules/components/leave-meeting/store.base.d.ts +4 -3
- package/lib/modules/components/leave-meeting/store.base.js +0 -10
- package/lib/modules/components/leave-meeting/store.d.ts +39 -0
- package/lib/modules/components/leave-meeting/store.js +270 -0
- package/lib/modules/components/leave-meeting/waiting-scene/store.d.ts +5 -1
- package/lib/modules/components/leave-meeting/waiting-scene/store.js +17 -3
- package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +1 -2
- package/lib/modules/components/member-window/components/video-player/components/local-video-player-with-zoom.js +4 -3
- package/lib/modules/components/member-window/components/video-player/components/zoomable-container.js +18 -32
- package/lib/modules/components/toolbar/components/capture-tool/index.d.ts +0 -1
- package/lib/modules/components/toolbar/components/capture-tool/index.js +1 -2
- package/lib/modules/components/toolbar/components/vertical-frame/index.js +2 -2
- package/lib/modules/components/toolbar/hooks/use-resize-visible.js +45 -32
- package/lib/modules/components/toolbar/index.js +6 -24
- package/lib/modules/control-bar/components/annotation-button/index.d.ts +1 -0
- package/lib/modules/control-bar/components/annotation-button/index.js +72 -0
- package/lib/modules/control-bar/components/boundary-detector.d.ts +7 -5
- package/lib/modules/control-bar/components/boundary-detector.js +22 -2
- package/lib/modules/control-bar/components/cloud-recording-buttons.d.ts +3 -0
- package/lib/modules/control-bar/components/cloud-recording-buttons.js +68 -3
- package/lib/modules/control-bar/hooks.js +2 -1
- package/lib/modules/control-bar/store.d.ts +1 -0
- package/lib/modules/control-bar/store.js +21 -7
- package/lib/modules/control-bar/types.d.ts +5 -16
- package/lib/modules/control-bar/view.js +96 -28
- package/lib/modules/dialog/components/confirm/index.js +6 -24
- 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.css +8 -1
- package/lib/modules/dialog/components/dialog-container/index.d.ts +1 -0
- package/lib/modules/dialog/components/dialog-container/index.js +4 -1
- package/lib/modules/dialog/components/normal-window/index.d.ts +1 -0
- package/lib/modules/dialog/components/normal-window/index.js +3 -1
- package/lib/modules/dialog/dialogs/chat/index.js +2 -1
- package/lib/modules/dialog/dialogs/control-bar-leave-meeting/index.js +0 -1
- package/lib/modules/dialog/dialogs/device-setting/index.d.ts +1 -0
- package/lib/modules/dialog/dialogs/device-setting/index.js +4 -2
- package/lib/modules/dialog/dialogs/end-meeting/index.d.ts +1 -0
- package/lib/modules/dialog/dialogs/end-meeting/index.js +2 -1
- package/lib/modules/dialog/dialogs/invite/index.d.ts +1 -0
- package/lib/modules/dialog/dialogs/invite/index.js +2 -1
- package/lib/modules/dialog/dialogs/mute-all/index.d.ts +1 -0
- package/lib/modules/dialog/dialogs/mute-all/index.js +2 -1
- package/lib/modules/dialog/dialogs/participant/index.js +9 -2
- package/lib/modules/dialog/dialogs/pre-setting/index.d.ts +3 -3
- package/lib/modules/dialog/dialogs/pre-setting/index.js +25 -20
- package/lib/modules/dialog/dialogs/share-screen-selection/index.js +1 -1
- package/lib/modules/dialog/dialogs/sub-window/index.js +1 -7
- package/lib/modules/dialog/dialogs/toast/index.d.ts +1 -1
- package/lib/modules/dialog/dialogs/toast/index.js +1 -1
- package/lib/modules/dialog/dialogs/video-window/index.d.ts +4 -1
- package/lib/modules/dialog/dialogs/video-window/index.js +5 -2
- package/lib/modules/dialog/dialogs/widget/electron.d.ts +6 -0
- package/lib/modules/dialog/dialogs/widget/electron.js +38 -0
- package/lib/modules/dialog/dialogs/widget/index.d.ts +2 -0
- package/lib/modules/dialog/dialogs/widget/index.js +11 -3
- package/lib/modules/dialog/hooks/use-popover-watcher.js +1 -3
- package/lib/modules/dialog/hooks/useElectron.d.ts +28 -0
- package/lib/modules/dialog/hooks/useElectron.js +277 -0
- package/lib/modules/dialog/index.css +6 -2
- package/lib/modules/dialog/level-config.d.ts +1 -0
- package/lib/modules/dialog/level-config.js +2 -1
- package/lib/modules/dialog/store.base.d.ts +2 -0
- package/lib/modules/dialog/store.browser.d.ts +2 -0
- package/lib/modules/dialog/store.browser.js +6 -1
- package/lib/modules/dialog/store.d.ts +135 -0
- package/lib/modules/dialog/store.electron.d.ts +9 -1
- package/lib/modules/dialog/store.electron.js +64 -4
- package/lib/modules/dialog/store.js +616 -0
- package/lib/modules/dialog/type.d.ts +3 -0
- package/lib/modules/event-confirm/components/window/index.d.ts +7 -0
- package/lib/modules/event-confirm/components/window/index.js +221 -0
- package/lib/modules/event-confirm/index.css +24 -0
- package/lib/modules/event-confirm/index.d.ts +27 -0
- package/lib/modules/event-confirm/index.js +76 -0
- package/lib/modules/event-confirm/store.d.ts +50 -0
- package/lib/modules/event-confirm/store.js +394 -0
- package/lib/modules/event-confirm/view.d.ts +2 -0
- package/lib/modules/event-confirm/view.js +55 -0
- package/lib/modules/event-toast/index.css +0 -1
- package/lib/modules/event-toast/index.js +1 -0
- package/lib/modules/event-toast/store.base.d.ts +2 -0
- package/lib/modules/event-toast/store.base.js +40 -21
- package/lib/modules/event-toast/store.d.ts +9 -5
- package/lib/modules/event-toast/store.electron.d.ts +2 -0
- package/lib/modules/event-toast/store.electron.js +19 -9
- package/lib/modules/event-toast/store.js +57 -39
- package/lib/modules/layout/components/CommonVideoRenderer.js +1 -0
- package/lib/modules/layout/store.d.ts +176 -0
- package/lib/modules/layout/store.electron.js +1 -1
- package/lib/modules/layout/store.js +1452 -0
- package/lib/modules/participant/components/confirm-input/index.js +1 -1
- package/lib/modules/participant/store.base.d.ts +30 -3
- package/lib/modules/participant/store.base.js +249 -96
- package/lib/modules/participant/store.browser.js +4 -3
- package/lib/modules/participant/store.d.ts +222 -0
- package/lib/modules/participant/store.electron.js +5 -3
- package/lib/modules/participant/store.js +1929 -0
- package/lib/modules/pc-audio-connect/index.d.ts +22 -0
- package/lib/modules/pc-audio-connect/index.js +67 -0
- package/lib/modules/pc-audio-connect/main-scene/store.js +1 -0
- package/lib/modules/pc-audio-connect/store.d.ts +46 -0
- package/lib/modules/pc-audio-connect/store.js +304 -0
- package/lib/modules/secondary-window/store.d.ts +1 -1
- package/lib/modules/secondary-window/store.js +14 -22
- package/lib/modules/secondary-window/view.js +10 -10
- package/lib/modules/setting/audio-settings/audio-settings.js +0 -17
- package/lib/modules/setting/dialog-wrapper.d.ts +2 -0
- package/lib/modules/setting/dialog-wrapper.js +110 -0
- package/lib/modules/setting/index.js +1 -1
- package/lib/modules/setting/state/index.js +1 -1
- package/lib/modules/setting/store.base.d.ts +5 -2
- package/lib/modules/setting/store.base.js +72 -26
- package/lib/modules/setting/store.d.ts +261 -0
- package/lib/modules/setting/store.js +1321 -0
- package/lib/modules/share-screen/components/selection/index.css +4 -0
- package/lib/modules/share-screen/store.base.js +17 -4
- package/lib/modules/share-screen/store.d.ts +148 -0
- package/lib/modules/share-screen/store.electron.js +5 -2
- package/lib/modules/share-screen/store.js +960 -0
- package/lib/modules/share-screen/types.d.ts +26 -0
- package/lib/modules/share-screen/types.js +6 -0
- package/lib/modules/state-bar/layout-config.js +6 -0
- package/lib/modules/state-bar/main-scene/store.base.d.ts +2 -0
- package/lib/modules/state-bar/main-scene/store.base.js +6 -0
- package/lib/modules/state-bar/store.d.ts +124 -0
- package/lib/modules/state-bar/store.js +664 -0
- package/lib/modules/video-window/index.css +6 -0
- package/lib/modules/video-window/popover-watcher.d.ts +5 -10
- package/lib/modules/video-window/popover-watcher.js +34 -31
- package/lib/modules/video-window/store.d.ts +32 -5
- package/lib/modules/video-window/store.js +156 -63
- package/lib/modules/video-window/view.js +50 -1
- package/lib/modules/whiteboard/components/progress/electron.d.ts +1 -0
- package/lib/modules/whiteboard/components/progress/electron.js +33 -0
- package/lib/modules/whiteboard/index.d.ts +1 -1
- package/lib/modules/whiteboard/index.js +1 -1
- package/lib/modules/whiteboard/store.d.ts +3 -0
- package/lib/modules/whiteboard/store.js +31 -2
- package/lib/modules/whiteboard/view.js +10 -1
- package/lib/modules/widget/sdk.js +1 -1
- package/lib/modules/widget/store.base.d.ts +1 -0
- package/lib/modules/widget/store.browser.d.ts +1 -0
- package/lib/modules/widget/store.browser.js +60 -4
- package/lib/modules/widget/store.d.ts +5 -8
- package/lib/modules/widget/store.electron.d.ts +1 -0
- package/lib/modules/widget/store.electron.js +59 -2
- package/lib/modules/widget/store.js +4 -47
- package/lib/modules/widget/type.d.ts +3 -2
- package/lib/modules/widget/view.js +9 -4
- package/lib/modules/widget/web-widget.d.ts +2 -1
- package/lib/modules/widget/web-widget.js +7 -5
- package/lib/object-manager.d.ts +2 -2
- package/lib/object-manager.js +1 -1
- package/lib/providers/annotation-provider.d.ts +124 -0
- package/lib/providers/annotation-provider.js +369 -0
- package/lib/providers/board-share/bar-control/base.d.ts +1 -1
- package/lib/providers/board-share/bar-control/base.js +37 -28
- package/lib/providers/board-share/bar-control/electron.d.ts +1 -1
- package/lib/providers/board-share/bar-control/electron.js +19 -16
- package/lib/providers/board-share/provider.base.d.ts +8 -1
- package/lib/providers/board-share/provider.base.js +12 -2
- package/lib/providers/board-share/provider.browser.d.ts +3 -0
- package/lib/providers/board-share/provider.browser.js +21 -3
- package/lib/providers/device-provider.d.ts +16 -2
- package/lib/providers/device-provider.js +53 -60
- package/lib/providers/dialog/provider.base.d.ts +1 -0
- package/lib/providers/dialog/provider.browser.d.ts +1 -0
- package/lib/providers/dialog/provider.browser.js +7 -2
- package/lib/providers/dialog/provider.electron.d.ts +4 -1
- package/lib/providers/dialog/provider.electron.js +94 -2
- package/lib/providers/dialog/type.d.ts +7 -0
- package/lib/providers/dialog-provider.d.ts +137 -0
- package/lib/providers/dialog-provider.js +194 -0
- package/lib/providers/message-provider.d.ts +69 -0
- package/lib/providers/message-provider.js +140 -0
- package/lib/providers/mouse-detect/provider.d.ts +9 -1
- package/lib/providers/mouse-detect/provider.js +119 -5
- package/lib/providers/mouse-detect/struct.d.ts +2 -1
- package/lib/providers/mouse-detect/struct.js +1 -0
- package/lib/providers/mouse-detect/type.d.ts +2 -0
- package/lib/providers/multi-display-provider.d.ts +3 -5
- package/lib/providers/multi-display-provider.js +0 -9
- package/lib/providers/renderer-provider.d.ts +5 -0
- package/lib/providers/renderer-provider.js +5 -0
- package/lib/providers/room-provider/room-provider.d.ts +4 -14
- package/lib/providers/room-provider/room-provider.js +28 -39
- package/lib/providers/room-provider.d.ts +194 -0
- package/lib/providers/room-provider.js +916 -0
- package/lib/providers/screen-share/provider.base.js +3 -11
- package/lib/providers/screen-share/provider.browser.js +23 -14
- package/lib/providers/screen-share/provider.electron.d.ts +1 -0
- package/lib/providers/screen-share/provider.electron.js +44 -17
- package/lib/providers/screen-share/strategy/browser.js +16 -13
- package/lib/providers/screen-share/strategy/electron.d.ts +2 -2
- package/lib/providers/screen-share/strategy/electron.js +15 -10
- package/lib/providers/screen-share/strategy/type.d.ts +6 -0
- package/lib/providers/screen-share/stream-state-sync.d.ts +3 -2
- package/lib/providers/screen-share/stream-state-sync.js +26 -16
- package/lib/providers/screen-share/struct.d.ts +9 -7
- package/lib/providers/screen-share/struct.js +11 -8
- package/lib/providers/screen-share/type.d.ts +7 -1
- package/lib/providers/screen-share-provider.d.ts +245 -0
- package/lib/providers/screen-share-provider.js +850 -0
- package/lib/providers/sharing-provider.d.ts +42 -0
- package/lib/providers/sharing-provider.js +228 -0
- package/lib/providers/user-setting-storage-provider.d.ts +21 -0
- package/lib/providers/user-setting-storage-provider.js +65 -0
- package/lib/providers/whiteboard-provider.d.ts +2 -4
- package/lib/providers/whiteboard-provider.js +4 -7
- package/lib/providers/widget-provider.d.ts +5 -3
- package/lib/providers/widget-provider.js +12 -18
- package/lib/providers/window/main-window.d.ts +0 -5
- package/lib/providers/window/main-window.js +3 -44
- package/lib/providers/window/renderer-window.d.ts +1 -0
- package/lib/providers/window/renderer-window.js +13 -2
- package/lib/runtime.d.ts +1 -0
- package/lib/runtime.js +2 -1
- package/lib/scenes/main-scene.js +5 -0
- package/lib/shared-context/board-context.d.ts +2 -0
- package/lib/shared-context/board-context.js +2 -0
- package/lib/shared-data/member-data.d.ts +0 -8
- package/lib/shared-data/member-data.js +26 -78
- package/lib/shared-data/widget-data.d.ts +13 -0
- package/lib/shared-data/widget-data.js +50 -0
- package/lib/shared-data-source/annotation-data.d.ts +17 -0
- package/lib/{modules/action-bar/store.base.js → shared-data-source/annotation-data.js} +34 -41
- package/lib/shared-data-source/app-list-data.d.ts +34 -0
- package/lib/shared-data-source/app-list-data.js +133 -0
- package/lib/shared-data-source/chat-data.d.ts +25 -0
- package/lib/shared-data-source/chat-data.js +139 -0
- package/lib/shared-data-source/config.d.ts +35 -0
- package/lib/shared-data-source/config.js +40 -0
- package/lib/shared-data-source/confirm-data.d.ts +44 -0
- package/lib/shared-data-source/confirm-data.js +201 -0
- package/lib/shared-data-source/device-privilege-data.d.ts +8 -0
- package/lib/shared-data-source/device-privilege-data.js +25 -0
- package/lib/shared-data-source/interpreter.d.ts +77 -0
- package/lib/shared-data-source/interpreter.js +247 -0
- package/lib/shared-data-source/layout-data.d.ts +31 -0
- package/lib/shared-data-source/layout-data.js +189 -0
- package/lib/shared-data-source/meeting-time.d.ts +90 -0
- package/lib/shared-data-source/meeting-time.js +416 -0
- package/lib/shared-data-source/member-data.d.ts +139 -0
- package/lib/shared-data-source/member-data.js +517 -0
- package/lib/shared-data-source/pin-data.d.ts +13 -0
- package/lib/{modules/action-bar/waiting-scene/store.js → shared-data-source/pin-data.js} +55 -35
- package/lib/shared-data-source/screen-share-data.d.ts +357 -0
- package/lib/shared-data-source/screen-share-data.js +513 -0
- package/lib/shared-data-source/security-data.d.ts +39 -0
- package/lib/shared-data-source/security-data.js +156 -0
- package/lib/shared-data-source/setting.d.ts +67 -0
- package/lib/shared-data-source/setting.js +220 -0
- package/lib/shared-data-source/speaker-spotlight.d.ts +5 -0
- package/lib/shared-data-source/speaker-spotlight.js +15 -0
- package/lib/shared-data-source/video-window.d.ts +165 -0
- package/lib/shared-data-source/video-window.js +1266 -0
- package/lib/shared-data-source/waiting-room.d.ts +46 -0
- package/lib/shared-data-source/waiting-room.js +222 -0
- package/lib/{shared-data → shared-data-source}/whiteboard-data.d.ts +2 -2
- package/lib/{shared-data → shared-data-source}/whiteboard-data.js +23 -17
- package/lib/translations/enUS.d.ts +0 -2
- package/lib/translations/enUS.js +4 -6
- package/lib/translations/zhCN.d.ts +0 -2
- package/lib/translations/zhCN.js +4 -6
- package/lib/type.d.ts +5 -0
- package/lib/ui-scene.d.ts +2 -4
- package/lib/ui-scene.js +31 -42
- package/lib/utilities/board-context.d.ts +4 -0
- package/lib/utilities/board-context.js +12 -0
- package/lib/utilities/constant.d.ts +3 -1
- package/lib/utilities/constant.js +5 -2
- package/lib/utilities/copyText.d.ts +2 -0
- package/lib/utilities/copyText.js +48 -0
- package/lib/utilities/default-config.d.ts +18 -0
- package/lib/utilities/default-config.js +19 -1
- package/lib/utilities/focus-helper.js +10 -3
- package/lib/utilities/logger.js +3 -1
- package/lib/utilities/renderer-event.d.ts +10 -0
- package/lib/utilities/renderer-event.js +95 -0
- package/lib/utilities/renderer.d.ts +1 -0
- package/lib/utilities/renderer.js +7 -1
- package/lib/utilities/screen-capture-permission.d.ts +2 -0
- package/lib/utilities/screen-capture-permission.js +24 -0
- package/lib/utilities/screen.d.ts +3 -0
- package/lib/utilities/screen.js +53 -0
- package/lib/utilities/video-track-render-context.d.ts +6 -0
- package/lib/utilities/video-track-render-context.js +9 -0
- package/lib/waiting-room-control-manager.d.ts +28 -0
- package/lib/waiting-room-control-manager.js +230 -0
- package/package.json +5 -5
- package/public/index.html +35 -4
- package/lib/modules/action-bar/store.base.d.ts +0 -15
- package/lib/modules/action-bar/waiting-scene/store.d.ts +0 -6
- package/lib/providers/board-share/bar-control.d.ts +0 -51
- package/lib/providers/board-share/bar-control.js +0 -390
- package/lib/providers/board-share/provider.d.ts +0 -66
- package/lib/providers/board-share/provider.js +0 -456
- package/lib/providers/screen-share/provider.d.ts +0 -69
- package/lib/providers/screen-share/provider.js +0 -615
- package/lib/providers/window/browser-window-proxy.js +0 -1
- package/lib/providers/window/ipc-protocol.d.ts +0 -0
- package/lib/providers/window/ipc-protocol.js +0 -1
- package/lib/providers/window/main-process-handler.d.ts +0 -0
- package/lib/providers/window/main-process-handler.js +0 -1
- package/lib/providers/window/main-process-integration.d.ts +0 -0
- package/lib/providers/window/main-process-integration.js +0 -1
- package/lib/utilities/ipc-protocol.d.ts +0 -91
- package/lib/utilities/ipc-protocol.js +0 -61
- /package/lib/{providers/window/browser-window-proxy.d.ts → modules/action-bar/index.dev.d.ts} +0 -0
|
@@ -57,8 +57,10 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
|
|
|
57
57
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
58
58
|
var _type = require("./type");
|
|
59
59
|
var _provider = require("./provider.base");
|
|
60
|
+
var _constant = require("../../utilities/constant");
|
|
60
61
|
var _decorator = require("agora-foundation/lib/decorator");
|
|
61
62
|
var _isBoolean = _interopRequireDefault(require("lodash/isBoolean"));
|
|
63
|
+
var _imports = require("fcr-core/lib/imports");
|
|
62
64
|
var _FcrUIElectronDialogProviderImpl;
|
|
63
65
|
var _initProto;
|
|
64
66
|
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
@@ -71,11 +73,14 @@ function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side
|
|
|
71
73
|
var FcrUIElectronDialogProviderImpl = exports.FcrUIElectronDialogProviderImpl = /*#__PURE__*/function (_FcrUIDialogProviderB) {
|
|
72
74
|
function FcrUIElectronDialogProviderImpl(_ref) {
|
|
73
75
|
var _this;
|
|
74
|
-
var windowProvider = _ref.windowProvider
|
|
76
|
+
var windowProvider = _ref.windowProvider,
|
|
77
|
+
renderer = _ref.renderer;
|
|
75
78
|
(0, _classCallCheck2["default"])(this, FcrUIElectronDialogProviderImpl);
|
|
76
79
|
_this = _callSuper(this, FcrUIElectronDialogProviderImpl);
|
|
77
80
|
(0, _defineProperty2["default"])(_this, "_windowProvider", void _initProto(_this));
|
|
81
|
+
(0, _defineProperty2["default"])(_this, "_sharingDisplayBounds", null);
|
|
78
82
|
_this._windowProvider = windowProvider;
|
|
83
|
+
_this._renderer = renderer;
|
|
79
84
|
return _this;
|
|
80
85
|
}
|
|
81
86
|
(0, _inherits2["default"])(FcrUIElectronDialogProviderImpl, _FcrUIDialogProviderB);
|
|
@@ -121,6 +126,9 @@ var FcrUIElectronDialogProviderImpl = exports.FcrUIElectronDialogProviderImpl =
|
|
|
121
126
|
this.logger.warn("dialog ".concat(dialogKey, "(").concat(dialogId, ") is already opened"));
|
|
122
127
|
var _window = this._windowProvider.getWindowById(dialogKey, dialogId);
|
|
123
128
|
_window.show(showOptions);
|
|
129
|
+
if (params !== null && params !== void 0 && params.alwaysOnTop) {
|
|
130
|
+
_window.setAlwaysOnTop(true, 'pop-up-menu');
|
|
131
|
+
}
|
|
124
132
|
return;
|
|
125
133
|
}
|
|
126
134
|
var dialogIds = this.dialogKeyMap.get(dialogKey);
|
|
@@ -136,6 +144,82 @@ var FcrUIElectronDialogProviderImpl = exports.FcrUIElectronDialogProviderImpl =
|
|
|
136
144
|
}
|
|
137
145
|
var window = this._windowProvider.getWindowById(dialogKey, dialogId);
|
|
138
146
|
var windowObserver = {
|
|
147
|
+
onReady: function onReady() {
|
|
148
|
+
_this2.logger.info("sharing display bounds: ".concat((0, _imports.jsonstring)(_this2._sharingDisplayBounds)));
|
|
149
|
+
if ([_constant.FcrUIDialogKey.SUB_WINDOW].includes(dialogKey)) {
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
// 获取主屏幕的宽高
|
|
153
|
+
var bounds = _this2._windowProvider.getCurrentWindow().getBounds();
|
|
154
|
+
var _this2$_renderer$getD = _this2._renderer.getDisplayMatching(bounds).bounds,
|
|
155
|
+
mw = _this2$_renderer$getD.width,
|
|
156
|
+
mh = _this2$_renderer$getD.height,
|
|
157
|
+
mx = _this2$_renderer$getD.x,
|
|
158
|
+
my = _this2$_renderer$getD.y;
|
|
159
|
+
var shareScreenDialogs = [_constant.FcrUIDialogKey.SHARE_SCREEN_CONTROL_BAR, _constant.FcrUIDialogKey.VIDEO_WINDOW];
|
|
160
|
+
var fullScreenDialogs = [_constant.FcrUIDialogKey.TOAST, _constant.FcrUIDialogKey.CONFIRM];
|
|
161
|
+
var _window$getBounds = window.getBounds(),
|
|
162
|
+
ww = _window$getBounds.width,
|
|
163
|
+
wh = _window$getBounds.height;
|
|
164
|
+
if (shareScreenDialogs.includes(dialogKey)) {
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
// 分享主应用所在显示器
|
|
169
|
+
var x = mx + mw / 2 - ww / 2;
|
|
170
|
+
var y = my + mh / 2 - wh / 2;
|
|
171
|
+
if (_this2._sharingDisplayBounds) {
|
|
172
|
+
var _this2$_sharingDispla = _this2._sharingDisplayBounds,
|
|
173
|
+
sx = _this2$_sharingDispla.x,
|
|
174
|
+
sy = _this2$_sharingDispla.y,
|
|
175
|
+
sw = _this2$_sharingDispla.width,
|
|
176
|
+
sh = _this2$_sharingDispla.height;
|
|
177
|
+
if (fullScreenDialogs.includes(dialogKey)) {
|
|
178
|
+
window.setBounds(_this2._sharingDisplayBounds);
|
|
179
|
+
} else {
|
|
180
|
+
// 分享的显示器在左侧
|
|
181
|
+
if (sx < 0 && Math.abs(sx) >= sw) {
|
|
182
|
+
x = sx / 2 - ww / 2;
|
|
183
|
+
y = sh / 2 - wh / 2 + sy;
|
|
184
|
+
_this2.logger.info("sharing display in the left");
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
// 分享的显示器在右侧
|
|
188
|
+
else if (sx > 0 && Math.abs(sx) >= mw) {
|
|
189
|
+
x = sw / 2 - ww / 2 + sx;
|
|
190
|
+
y = sh / 2 - wh / 2 + sy;
|
|
191
|
+
_this2.logger.info("sharing display in the right");
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
// 分享的显示器在上面
|
|
195
|
+
else if (sy < 0 && Math.abs(sy) >= sh) {
|
|
196
|
+
x = sw / 2 - ww / 2 + sx;
|
|
197
|
+
y = sy / 2 - wh / 2;
|
|
198
|
+
_this2.logger.info("sharing display in the top");
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
// 分享的显示器在下面
|
|
202
|
+
else if (sy > 0 && Math.abs(sy) >= mh) {
|
|
203
|
+
x = sw / 2 - ww / 2 + sx;
|
|
204
|
+
y = sy + sh / 2 - wh / 2;
|
|
205
|
+
_this2.logger.info("sharing display in the bottom");
|
|
206
|
+
}
|
|
207
|
+
x = Math.floor(x);
|
|
208
|
+
y = Math.floor(y);
|
|
209
|
+
window.setBounds({
|
|
210
|
+
x: x,
|
|
211
|
+
y: y
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
} else {
|
|
215
|
+
x = Math.floor(x);
|
|
216
|
+
y = Math.floor(y);
|
|
217
|
+
window.setBounds({
|
|
218
|
+
x: x,
|
|
219
|
+
y: y
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
},
|
|
139
223
|
onClosed: function onClosed() {
|
|
140
224
|
window.removeObserver(windowObserver);
|
|
141
225
|
_this2.dialogKeyMap["delete"](dialogKey);
|
|
@@ -157,6 +241,9 @@ var FcrUIElectronDialogProviderImpl = exports.FcrUIElectronDialogProviderImpl =
|
|
|
157
241
|
window.addObserver(windowObserver);
|
|
158
242
|
window.setPreventClose(true);
|
|
159
243
|
window.show(showOptions);
|
|
244
|
+
if (params !== null && params !== void 0 && params.alwaysOnTop) {
|
|
245
|
+
window.setAlwaysOnTop(true, 'pop-up-menu');
|
|
246
|
+
}
|
|
160
247
|
this.observable.notifyObservers('onDialogOpen', dialogKey, dialogId, params);
|
|
161
248
|
}
|
|
162
249
|
}, {
|
|
@@ -168,10 +255,15 @@ var FcrUIElectronDialogProviderImpl = exports.FcrUIElectronDialogProviderImpl =
|
|
|
168
255
|
window.close();
|
|
169
256
|
}
|
|
170
257
|
}
|
|
258
|
+
}, {
|
|
259
|
+
key: "setSharingDisplayBounds",
|
|
260
|
+
value: function setSharingDisplayBounds(bounds) {
|
|
261
|
+
this._sharingDisplayBounds = bounds;
|
|
262
|
+
}
|
|
171
263
|
}]);
|
|
172
264
|
}(_provider.FcrUIDialogProviderBase);
|
|
173
265
|
_FcrUIElectronDialogProviderImpl = FcrUIElectronDialogProviderImpl;
|
|
174
|
-
var _applyDecs$e = _applyDecs(_FcrUIElectronDialogProviderImpl, [[_decorator.trace, 2, "openDialog"], [_decorator.trace, 2, "openDialogWithId"], [_decorator.trace, 2, "closeDialog"], [_decorator.trace, 2, "closeDialogById"]], [], 0, void 0, _provider.FcrUIDialogProviderBase).e;
|
|
266
|
+
var _applyDecs$e = _applyDecs(_FcrUIElectronDialogProviderImpl, [[_decorator.trace, 2, "openDialog"], [_decorator.trace, 2, "openDialogWithId"], [_decorator.trace, 2, "closeDialog"], [_decorator.trace, 2, "closeDialogById"], [_decorator.trace, 2, "setSharingDisplayBounds"]], [], 0, void 0, _provider.FcrUIDialogProviderBase).e;
|
|
175
267
|
var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e, 1);
|
|
176
268
|
_initProto = _applyDecs$e2[0];
|
|
177
269
|
_applyDecs$e;
|
|
@@ -2,6 +2,7 @@ import { ConfirmContentProps } from 'agora-ui-foundation/lib/components/confirm-
|
|
|
2
2
|
import { FcrUIDialogKey } from '../../utilities/constant';
|
|
3
3
|
import { FcrUIWindowProvider } from '../window/type';
|
|
4
4
|
import { FcrUIDialogInfo } from '../../modules/dialog/type';
|
|
5
|
+
import { FcrUIRendererWrapper } from '../../utilities/renderer';
|
|
5
6
|
export type FcrUIDialogDescriptor = {
|
|
6
7
|
dialogKey: FcrUIDialogKey;
|
|
7
8
|
dialogId: string;
|
|
@@ -139,6 +140,11 @@ export interface FcrUIDialogProvider {
|
|
|
139
140
|
* @param observer - 要移除的观察者对象,类型为 FcrUIDialogObserver。
|
|
140
141
|
*/
|
|
141
142
|
removeObserver(observer: FcrUIDialogObserver): void;
|
|
143
|
+
/**
|
|
144
|
+
* 设置屏幕共享的 bounds
|
|
145
|
+
* @param bounds - 屏幕共享的 bounds
|
|
146
|
+
*/
|
|
147
|
+
setSharingDisplayBounds(bounds: FcrUI.FcrUIRectangle | null): void;
|
|
142
148
|
/**
|
|
143
149
|
* 新增弹窗拦截器
|
|
144
150
|
* @param key - 弹窗拦截器的唯一标识符
|
|
@@ -158,4 +164,5 @@ export interface FcrUIDialogProvider {
|
|
|
158
164
|
}
|
|
159
165
|
export type FcrUIElectronProviderConstructor = {
|
|
160
166
|
windowProvider: FcrUIWindowProvider;
|
|
167
|
+
renderer: FcrUIRendererWrapper;
|
|
161
168
|
};
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { FcrUIAction, FcrUIDialogKey } from '../utilities/constant';
|
|
2
|
+
import { DeviceSettingDialogConfig } from '../modules/setting/store';
|
|
3
|
+
import { ConfirmContentProps } from 'agora-ui-foundation/lib/components/confirm-content';
|
|
4
|
+
export interface FcrUIDialogObserver {
|
|
5
|
+
onEvent?(action: FcrUIAction, payload?: unknown): void;
|
|
6
|
+
onDialogOpened?(dialogKey: FcrUIDialogKey, dialogId: string, params?: unknown): void;
|
|
7
|
+
onDialogClosed?(dialogId: string): void;
|
|
8
|
+
onOpenSettingDialog?(): void;
|
|
9
|
+
}
|
|
10
|
+
export declare enum FcrDialogInterceptorEventName {
|
|
11
|
+
ON_CLOSE = "onClose"
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* FcrUIDialogProvider 接口定义了一系列用于管理和操作对话框的方法。
|
|
15
|
+
* 这些方法涵盖了打开、关闭各种类型对话框的功能,以及对对话框事件观察者的管理。
|
|
16
|
+
*/
|
|
17
|
+
export interface FcrUIDialogProvider {
|
|
18
|
+
/**
|
|
19
|
+
* 打开指定类型的对话框。
|
|
20
|
+
*
|
|
21
|
+
* @param dialogKey - 对话框的唯一标识键,用于指定要打开的对话框类型。
|
|
22
|
+
* @param instanceId - 可选参数,对话框实例的唯一标识符,用于区分同一类型的不同对话框实例。
|
|
23
|
+
* @param params - 可选参数,传递给对话框的额外参数,类型为 unknown 表示可以是任意类型。
|
|
24
|
+
* @returns 返回打开对话框的唯一标识符,可用于后续关闭操作。
|
|
25
|
+
*/
|
|
26
|
+
openDialog(dialogKey: FcrUIDialogKey, instanceId?: string, params?: unknown): string;
|
|
27
|
+
/**
|
|
28
|
+
* 关闭指定标识符的对话框。
|
|
29
|
+
*
|
|
30
|
+
* @param dialogId - 要关闭对话框的唯一标识符,该标识符通常由 openDialog 方法返回。
|
|
31
|
+
*/
|
|
32
|
+
closeDialog(dialogId: string): void;
|
|
33
|
+
/**
|
|
34
|
+
* 打开确认对话框。
|
|
35
|
+
*
|
|
36
|
+
* @param params - 确认对话框的配置参数,包含确认内容的属性以及可选的对话框唯一键和显示时长。
|
|
37
|
+
* @param mulitple - 可选参数,布尔值,指示是否允许多个确认对话框同时存在。
|
|
38
|
+
* @returns 返回打开确认对话框的唯一标识符,可用于后续关闭操作。
|
|
39
|
+
*/
|
|
40
|
+
openConfirmDialog(params: ConfirmContentProps & {
|
|
41
|
+
key?: string;
|
|
42
|
+
duration?: number;
|
|
43
|
+
}, mulitple?: boolean): string;
|
|
44
|
+
/**
|
|
45
|
+
* 关闭指定标识符的确认对话框。
|
|
46
|
+
*
|
|
47
|
+
* @param dialogId - 要关闭确认对话框的唯一标识符,该标识符通常由 openConfirmDialog 方法返回。
|
|
48
|
+
*/
|
|
49
|
+
closeConfirm(dialogId: string): void;
|
|
50
|
+
/**
|
|
51
|
+
* 打开设备设置对话框。
|
|
52
|
+
*
|
|
53
|
+
* @param config - 设备设置对话框的配置参数,为 DeviceSettingDialogConfig 类型的部分属性对象。
|
|
54
|
+
*/
|
|
55
|
+
openDeviceSettingDialog(config: Partial<DeviceSettingDialogConfig>): void;
|
|
56
|
+
/**
|
|
57
|
+
* 关闭设备设置对话框。
|
|
58
|
+
*/
|
|
59
|
+
closeDeviceSettingDialog(): void;
|
|
60
|
+
/**
|
|
61
|
+
* 打开直播流对话框。
|
|
62
|
+
*/
|
|
63
|
+
openLiveStreamingDialog(): void;
|
|
64
|
+
/**
|
|
65
|
+
* 关闭直播流对话框。
|
|
66
|
+
*/
|
|
67
|
+
closeLiveStreamingDialog(): void;
|
|
68
|
+
/**
|
|
69
|
+
* 打开邀请对话框。
|
|
70
|
+
*/
|
|
71
|
+
openInviteDialog(): void;
|
|
72
|
+
/**
|
|
73
|
+
* 关闭邀请对话框。
|
|
74
|
+
*/
|
|
75
|
+
closeInviteDialog(): void;
|
|
76
|
+
/**
|
|
77
|
+
* 关闭等待室对话框。
|
|
78
|
+
*/
|
|
79
|
+
closeWaitingRoomDialog(): void;
|
|
80
|
+
/**
|
|
81
|
+
* 关闭移除准入等待室对话框。
|
|
82
|
+
*
|
|
83
|
+
* @param dialogKey - 要关闭的移除准入等待室对话框的唯一标识键。
|
|
84
|
+
*/
|
|
85
|
+
closeRemoveAdmitWaitingRoomDialog(dialogKey: FcrUIDialogKey): void;
|
|
86
|
+
/**
|
|
87
|
+
* 添加对话框事件观察者。
|
|
88
|
+
* 观察者可以监听对话框的各种事件,如打开、关闭等。
|
|
89
|
+
*
|
|
90
|
+
* @param observer - 要添加的观察者对象,类型为 FcrUIDialogObserver。
|
|
91
|
+
*/
|
|
92
|
+
addObserver(observer: FcrUIDialogObserver): void;
|
|
93
|
+
/**
|
|
94
|
+
* 移除对话框事件观察者。
|
|
95
|
+
* 移除后,该观察者将不再接收对话框的事件通知。
|
|
96
|
+
*
|
|
97
|
+
* @param observer - 要移除的观察者对象,类型为 FcrUIDialogObserver。
|
|
98
|
+
*/
|
|
99
|
+
removeObserver(observer: FcrUIDialogObserver): void;
|
|
100
|
+
/**
|
|
101
|
+
* 新增弹窗拦截器
|
|
102
|
+
* @param key - 弹窗拦截器的唯一标识符
|
|
103
|
+
* @param interceptor - 弹窗拦截器函数,返回值为 boolean,true 表示拦截弹窗,false 表示不拦截弹窗
|
|
104
|
+
*/
|
|
105
|
+
addInterceptor(key: FcrDialogInterceptorEventName, interceptor: (dialogKey: FcrUIDialogKey) => boolean): void;
|
|
106
|
+
/**
|
|
107
|
+
* 执行弹窗拦截器
|
|
108
|
+
* @param key - 弹窗拦截器的唯一标识符
|
|
109
|
+
* @param dialogKey - 弹窗的唯一标识符
|
|
110
|
+
*/
|
|
111
|
+
emitIntercepter(key: FcrDialogInterceptorEventName, dialogKey: FcrUIDialogKey): boolean;
|
|
112
|
+
}
|
|
113
|
+
export declare class FcrUIDialogProviderImpl implements FcrUIDialogProvider {
|
|
114
|
+
openConfirmDialog(params: ConfirmContentProps & {
|
|
115
|
+
key?: string;
|
|
116
|
+
duration?: number;
|
|
117
|
+
}, mulitple?: boolean): string;
|
|
118
|
+
protected logger: import("agora-foundation/lib/logger").Logger;
|
|
119
|
+
private _observable;
|
|
120
|
+
private _interceptor;
|
|
121
|
+
addInterceptor(key: FcrDialogInterceptorEventName, interceptor: (dialogKey: FcrUIDialogKey) => boolean): void;
|
|
122
|
+
emitIntercepter(key: FcrDialogInterceptorEventName, dialogKey: FcrUIDialogKey): boolean;
|
|
123
|
+
sendEvent(action: FcrUIAction, payload?: unknown): void;
|
|
124
|
+
openInviteDialog(): void;
|
|
125
|
+
closeInviteDialog(): void;
|
|
126
|
+
closeWaitingRoomDialog(): void;
|
|
127
|
+
closeRemoveAdmitWaitingRoomDialog(dialogKey: FcrUIDialogKey): void;
|
|
128
|
+
openDeviceSettingDialog(config: Partial<DeviceSettingDialogConfig>): void;
|
|
129
|
+
closeDeviceSettingDialog(): void;
|
|
130
|
+
openLiveStreamingDialog(): void;
|
|
131
|
+
closeLiveStreamingDialog(): void;
|
|
132
|
+
openDialog(dialogKey: FcrUIDialogKey, instanceId?: string, params?: unknown): string;
|
|
133
|
+
closeDialog(dialogId: string): void;
|
|
134
|
+
closeConfirm(dialogId: string): void;
|
|
135
|
+
addObserver(observer: FcrUIDialogObserver): void;
|
|
136
|
+
removeObserver(observer: FcrUIDialogObserver): void;
|
|
137
|
+
}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.symbol.js");
|
|
4
|
+
require("core-js/modules/es.symbol.description.js");
|
|
5
|
+
require("core-js/modules/es.symbol.iterator.js");
|
|
6
|
+
require("core-js/modules/es.error.cause.js");
|
|
7
|
+
require("core-js/modules/es.error.to-string.js");
|
|
8
|
+
require("core-js/modules/es.array.from.js");
|
|
9
|
+
require("core-js/modules/es.array.is-array.js");
|
|
10
|
+
require("core-js/modules/es.array.iterator.js");
|
|
11
|
+
require("core-js/modules/es.array.slice.js");
|
|
12
|
+
require("core-js/modules/es.date.to-string.js");
|
|
13
|
+
require("core-js/modules/es.function.name.js");
|
|
14
|
+
require("core-js/modules/es.object.define-property.js");
|
|
15
|
+
require("core-js/modules/es.object.to-string.js");
|
|
16
|
+
require("core-js/modules/es.regexp.exec.js");
|
|
17
|
+
require("core-js/modules/es.regexp.test.js");
|
|
18
|
+
require("core-js/modules/es.regexp.to-string.js");
|
|
19
|
+
require("core-js/modules/es.string.iterator.js");
|
|
20
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
21
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
22
|
+
Object.defineProperty(exports, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
});
|
|
25
|
+
exports.FcrUIDialogProviderImpl = exports.FcrDialogInterceptorEventName = void 0;
|
|
26
|
+
require("core-js/modules/es.array.concat.js");
|
|
27
|
+
require("core-js/modules/es.array.push.js");
|
|
28
|
+
require("core-js/modules/es.date.now.js");
|
|
29
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
30
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
31
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
32
|
+
var _base = require("../base");
|
|
33
|
+
var _constant = require("../utilities/constant");
|
|
34
|
+
var _imports = require("fcr-core/lib/imports");
|
|
35
|
+
var _logger = require("../utilities/logger");
|
|
36
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
37
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
38
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
39
|
+
var FcrDialogInterceptorEventName = exports.FcrDialogInterceptorEventName = /*#__PURE__*/function (FcrDialogInterceptorEventName) {
|
|
40
|
+
FcrDialogInterceptorEventName["ON_CLOSE"] = "onClose";
|
|
41
|
+
return FcrDialogInterceptorEventName;
|
|
42
|
+
}({});
|
|
43
|
+
/**
|
|
44
|
+
* FcrUIDialogProvider 接口定义了一系列用于管理和操作对话框的方法。
|
|
45
|
+
* 这些方法涵盖了打开、关闭各种类型对话框的功能,以及对对话框事件观察者的管理。
|
|
46
|
+
*/
|
|
47
|
+
var FcrUIDialogProviderImpl = exports.FcrUIDialogProviderImpl = /*#__PURE__*/function () {
|
|
48
|
+
function FcrUIDialogProviderImpl() {
|
|
49
|
+
(0, _classCallCheck2["default"])(this, FcrUIDialogProviderImpl);
|
|
50
|
+
(0, _defineProperty2["default"])(this, "logger", (0, _logger.createLogger)({
|
|
51
|
+
prefix: 'FcrUIDialogProviderImpl'
|
|
52
|
+
}));
|
|
53
|
+
(0, _defineProperty2["default"])(this, "_observable", new _imports.AgoraObservable());
|
|
54
|
+
(0, _defineProperty2["default"])(this, "_interceptor", {});
|
|
55
|
+
}
|
|
56
|
+
return (0, _createClass2["default"])(FcrUIDialogProviderImpl, [{
|
|
57
|
+
key: "openConfirmDialog",
|
|
58
|
+
value: function openConfirmDialog(params, mulitple) {
|
|
59
|
+
var dialogKey = _constant.FcrUIDialogKey.CONFIRM;
|
|
60
|
+
var dialogId = mulitple ? "".concat(dialogKey, "_").concat(Date.now()) : "".concat(dialogKey, "_").concat(params.key || params.title || params.content);
|
|
61
|
+
this.sendEvent(_constant.FcrUIAction.OPEN_DIALOG, {
|
|
62
|
+
dialogKey: dialogKey,
|
|
63
|
+
dialogId: dialogId,
|
|
64
|
+
params: params
|
|
65
|
+
});
|
|
66
|
+
return dialogId;
|
|
67
|
+
}
|
|
68
|
+
}, {
|
|
69
|
+
key: "addInterceptor",
|
|
70
|
+
value: function addInterceptor(key, interceptor) {
|
|
71
|
+
if (this._interceptor[key]) {
|
|
72
|
+
this._interceptor[key].push(interceptor);
|
|
73
|
+
} else {
|
|
74
|
+
this._interceptor[key] = [interceptor];
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}, {
|
|
78
|
+
key: "emitIntercepter",
|
|
79
|
+
value: function emitIntercepter(key, dialogKey) {
|
|
80
|
+
var interceptors = this._interceptor[key];
|
|
81
|
+
if (interceptors) {
|
|
82
|
+
var _iterator = _createForOfIteratorHelper(interceptors),
|
|
83
|
+
_step;
|
|
84
|
+
try {
|
|
85
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
86
|
+
var _interceptor = _step.value;
|
|
87
|
+
return _interceptor(dialogKey);
|
|
88
|
+
}
|
|
89
|
+
} catch (err) {
|
|
90
|
+
_iterator.e(err);
|
|
91
|
+
} finally {
|
|
92
|
+
_iterator.f();
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
}, {
|
|
98
|
+
key: "sendEvent",
|
|
99
|
+
value: function sendEvent(action, payload) {
|
|
100
|
+
var start = Date.now();
|
|
101
|
+
try {
|
|
102
|
+
this._observable.notifyObservers('onEvent', action, payload);
|
|
103
|
+
} finally {
|
|
104
|
+
var end = Date.now();
|
|
105
|
+
var time = end - start;
|
|
106
|
+
if (time >= 10) {
|
|
107
|
+
this.logger.warn("[FcrUIDialogProviderImpl] sendEvent ".concat(_constant.FcrUIAction[action], ", payload: ").concat(payload, ", handlers took: ").concat(end - start, "ms"));
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}, {
|
|
112
|
+
key: "openInviteDialog",
|
|
113
|
+
value: function openInviteDialog() {
|
|
114
|
+
this.openDialog(_constant.FcrUIDialogKey.INVITE);
|
|
115
|
+
}
|
|
116
|
+
}, {
|
|
117
|
+
key: "closeInviteDialog",
|
|
118
|
+
value: function closeInviteDialog() {
|
|
119
|
+
this.closeDialog(_constant.FcrUIDialogKey.INVITE);
|
|
120
|
+
}
|
|
121
|
+
}, {
|
|
122
|
+
key: "closeWaitingRoomDialog",
|
|
123
|
+
value: function closeWaitingRoomDialog() {
|
|
124
|
+
this.sendEvent(_constant.FcrUIAction.CLOSE_WAITING_ROOM_DIALOG);
|
|
125
|
+
}
|
|
126
|
+
}, {
|
|
127
|
+
key: "closeRemoveAdmitWaitingRoomDialog",
|
|
128
|
+
value: function closeRemoveAdmitWaitingRoomDialog(dialogKey) {
|
|
129
|
+
this.sendEvent(_constant.FcrUIAction.CLOSE_REMOVE_ADMIT_WAITING_ROOM_DIALOG, dialogKey);
|
|
130
|
+
}
|
|
131
|
+
}, {
|
|
132
|
+
key: "openDeviceSettingDialog",
|
|
133
|
+
value: function openDeviceSettingDialog(config) {
|
|
134
|
+
//this.openDialog(FcrUIDialogKey.DEVICE_SETTINGS); // openDialog 方法会统一处理 dialog 窗口的逻辑,如果移除,会在二次点击时无法 focus
|
|
135
|
+
// this.sendEvent(FcrUIAction.OPEN_DEVICE_SETTING_DIALOG, { dialogId, ...config });
|
|
136
|
+
this.sendEvent(_constant.FcrUIAction.OPEN_DEVICE_SETTING_DIALOG, config);
|
|
137
|
+
this._observable.notifyObservers('onOpenSettingDialog');
|
|
138
|
+
}
|
|
139
|
+
}, {
|
|
140
|
+
key: "closeDeviceSettingDialog",
|
|
141
|
+
value: function closeDeviceSettingDialog() {
|
|
142
|
+
this.closeDialog(_constant.FcrUIDialogKey.DEVICE_SETTINGS);
|
|
143
|
+
}
|
|
144
|
+
}, {
|
|
145
|
+
key: "openLiveStreamingDialog",
|
|
146
|
+
value: function openLiveStreamingDialog() {
|
|
147
|
+
this.sendEvent(_constant.FcrUIAction.OPEN_LIVE_STEAMING_DIALOG);
|
|
148
|
+
}
|
|
149
|
+
}, {
|
|
150
|
+
key: "closeLiveStreamingDialog",
|
|
151
|
+
value: function closeLiveStreamingDialog() {
|
|
152
|
+
this.sendEvent(_constant.FcrUIAction.CLOSE_LIVE_STEAMING_DIALOG);
|
|
153
|
+
}
|
|
154
|
+
}, {
|
|
155
|
+
key: "openDialog",
|
|
156
|
+
value: function openDialog(dialogKey, instanceId, params) {
|
|
157
|
+
var dialogId = "".concat(dialogKey, "_").concat(instanceId || dialogKey);
|
|
158
|
+
this.sendEvent(_constant.FcrUIAction.OPEN_DIALOG, {
|
|
159
|
+
dialogKey: dialogKey,
|
|
160
|
+
dialogId: dialogId,
|
|
161
|
+
params: params
|
|
162
|
+
});
|
|
163
|
+
this._observable.notifyObservers('onDialogOpened', dialogKey, dialogId, params);
|
|
164
|
+
return dialogId;
|
|
165
|
+
}
|
|
166
|
+
}, {
|
|
167
|
+
key: "closeDialog",
|
|
168
|
+
value: function closeDialog(dialogId) {
|
|
169
|
+
this.sendEvent(_constant.FcrUIAction.CLOSE_DIALOG, {
|
|
170
|
+
dialogId: dialogId
|
|
171
|
+
});
|
|
172
|
+
this._observable.notifyObservers('onDialogClosed', dialogId);
|
|
173
|
+
}
|
|
174
|
+
}, {
|
|
175
|
+
key: "closeConfirm",
|
|
176
|
+
value: function closeConfirm(dialogId) {
|
|
177
|
+
this.sendEvent(_constant.FcrUIAction.CLOSE_DIALOG, {
|
|
178
|
+
dialogId: dialogId,
|
|
179
|
+
dialogKey: _constant.FcrUIDialogKey.CONFIRM
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
}, {
|
|
183
|
+
key: "addObserver",
|
|
184
|
+
value: function addObserver(observer) {
|
|
185
|
+
this._observable.addObserver(observer);
|
|
186
|
+
}
|
|
187
|
+
}, {
|
|
188
|
+
key: "removeObserver",
|
|
189
|
+
value: function removeObserver(observer) {
|
|
190
|
+
this._observable.removeObserver(observer);
|
|
191
|
+
}
|
|
192
|
+
}]);
|
|
193
|
+
}();
|
|
194
|
+
(0, _base.registerDependency)('dialogProvider');
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { FcrUIToastParams, FcrUINotificationParams, FcrUINotificationContentType } from '../type';
|
|
2
|
+
import { FcrUIAction } from '../utilities/constant';
|
|
3
|
+
interface FcrUIEventObserver {
|
|
4
|
+
onEvent?(action: FcrUIAction, payload?: unknown): void;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* FcrUIMessageProvider 接口定义了一系列用于管理和操作 UI 消息的方法。
|
|
8
|
+
* 这些方法涵盖了显示不同类型消息(如 Toast 提示、通知等)、关闭通知以及管理消息事件观察者的功能。
|
|
9
|
+
*/
|
|
10
|
+
export interface FcrUIMessageProvider {
|
|
11
|
+
/**
|
|
12
|
+
* 显示一个 Toast 提示消息。
|
|
13
|
+
* Toast 通常是短暂显示的轻量级消息,用于向用户传达简单的信息。
|
|
14
|
+
*
|
|
15
|
+
* @param params - 显示 Toast 提示所需的参数,类型为 FcrUIToastParams,
|
|
16
|
+
* 该参数包含了 Toast 的内容、显示时长等相关配置信息。
|
|
17
|
+
*/
|
|
18
|
+
showToast(params: FcrUIToastParams): void;
|
|
19
|
+
/**
|
|
20
|
+
* 显示一个通知消息。
|
|
21
|
+
* 通知通常用于向用户展示更重要、更详细的信息,可能会在界面上停留一段时间。
|
|
22
|
+
*
|
|
23
|
+
* @param params - 显示通知所需的参数,类型为 FcrUINotificationParams,
|
|
24
|
+
* 该参数包含了通知的标题、内容、图标等相关配置信息。
|
|
25
|
+
*/
|
|
26
|
+
showNotification(params: FcrUINotificationParams): void;
|
|
27
|
+
/**
|
|
28
|
+
* 关闭指定类型的通知消息。
|
|
29
|
+
*
|
|
30
|
+
* @param key - 要关闭的通知的内容类型标识,类型为 FcrUINotificationContentType,
|
|
31
|
+
* 通过该标识可以准确地关闭特定类型的通知。
|
|
32
|
+
*/
|
|
33
|
+
closeNotification(key: FcrUINotificationContentType): void;
|
|
34
|
+
/**
|
|
35
|
+
* 在聊天界面显示一个 Toast 提示消息。
|
|
36
|
+
* 与普通的 showToast 方法不同,此方法专门用于在聊天场景中显示提示。
|
|
37
|
+
*
|
|
38
|
+
* @param params - 显示聊天 Toast 提示所需的参数,类型为 FcrUIToastParams,
|
|
39
|
+
* 同样包含了 Toast 的内容、显示时长等相关配置信息。
|
|
40
|
+
*/
|
|
41
|
+
showChatToast(params: FcrUIToastParams): void;
|
|
42
|
+
/**
|
|
43
|
+
* 添加一个消息事件观察者。
|
|
44
|
+
* 观察者可以监听 UI 消息的各种事件,如消息显示、关闭等。
|
|
45
|
+
*
|
|
46
|
+
* @param observer - 要添加的观察者对象,类型为 FcrUIEventObserver,
|
|
47
|
+
* 该对象应该实现了相应的事件处理方法。
|
|
48
|
+
*/
|
|
49
|
+
addObserver(observer: FcrUIEventObserver): void;
|
|
50
|
+
/**
|
|
51
|
+
* 移除一个消息事件观察者。
|
|
52
|
+
* 移除后,该观察者将不再接收 UI 消息的事件通知。
|
|
53
|
+
*
|
|
54
|
+
* @param observer - 要移除的观察者对象,类型为 FcrUIEventObserver。
|
|
55
|
+
*/
|
|
56
|
+
removeObserver(observer: FcrUIEventObserver): void;
|
|
57
|
+
}
|
|
58
|
+
export declare class FcrUIMessageProviderImpl implements FcrUIMessageProvider {
|
|
59
|
+
protected logger: import("agora-foundation/lib/logger").Logger;
|
|
60
|
+
private _observable;
|
|
61
|
+
sendEvent(action: FcrUIAction, payload?: unknown): void;
|
|
62
|
+
showToast(params: FcrUIToastParams): void;
|
|
63
|
+
showNotification(params: FcrUINotificationParams): void;
|
|
64
|
+
closeNotification(key: FcrUINotificationContentType): void;
|
|
65
|
+
showChatToast(params: FcrUIToastParams): void;
|
|
66
|
+
addObserver(observer: FcrUIEventObserver): void;
|
|
67
|
+
removeObserver(observer: FcrUIEventObserver): void;
|
|
68
|
+
}
|
|
69
|
+
export {};
|