fcr-ui-scene 3.4.0 → 3.4.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/ scenes/base.d.ts +10 -0
- package/lib/ scenes/base.js +75 -0
- package/lib/ scenes/main-scene.d.ts +43 -0
- package/lib/ scenes/main-scene.js +368 -0
- package/lib/ scenes/waiting-scene.d.ts +31 -0
- package/lib/ scenes/waiting-scene.js +119 -0
- package/lib/common/device-store.d.ts +1 -2
- package/lib/common/device-store.js +169 -153
- package/lib/common/device-stream-store.d.ts +5 -29
- package/lib/common/device-stream-store.js +47 -93
- package/lib/common/room-store.js +4 -4
- package/lib/common/security-store.d.ts +6 -16
- package/lib/common/security-store.js +16 -17
- package/lib/common/type.d.ts +8 -0
- package/lib/common/type.js +6 -0
- package/lib/creator.js +3 -3
- package/lib/electron/app.js +21 -5
- package/lib/electron/bootstrap-sdk.js +1 -2
- package/lib/electron/injections.d.ts +1 -1
- package/lib/error-fallback.css +62 -0
- package/lib/error-fallback.d.ts +2 -0
- package/lib/error-fallback.js +19 -0
- package/lib/modules/Interpreter/action/delete-btn/index.d.ts +1 -1
- package/lib/modules/Interpreter/action/edit-btn/index.d.ts +0 -1
- package/lib/modules/Interpreter/action/edit-btn/index.js +0 -2
- package/lib/modules/Interpreter/action/switch-btn/index.css +3 -0
- package/lib/modules/Interpreter/action/switch-btn/index.d.ts +2 -4
- package/lib/modules/Interpreter/action/switch-btn/index.js +3 -3
- package/lib/modules/Interpreter/footer/index.css +4 -3
- package/lib/modules/Interpreter/index.d.ts +2 -17
- package/lib/modules/Interpreter/index.js +2 -18
- package/lib/modules/Interpreter/interpreter-list/index.css +5 -1
- package/lib/modules/Interpreter/interpreter-list/index.d.ts +1 -0
- package/lib/modules/Interpreter/interpreter-list/index.js +3 -1
- package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/index.css +0 -6
- package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/index.d.ts +1 -1
- package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/index.css +1 -3
- package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/index.d.ts +1 -6
- package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/index.js +55 -81
- package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/option-Item.d.ts +6 -0
- package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/option-Item.js +58 -0
- package/lib/modules/Interpreter/interpreter-list/interpreter-item/index.d.ts +1 -1
- package/lib/modules/Interpreter/store.d.ts +36 -29
- package/lib/modules/Interpreter/store.js +575 -606
- package/lib/modules/Interpreter/type.d.ts +41 -0
- package/lib/modules/Interpreter/type.js +20 -0
- package/lib/modules/Interpreter/utils.d.ts +12 -0
- package/lib/modules/Interpreter/utils.js +139 -0
- package/lib/modules/Interpreter/view.d.ts +0 -1
- package/lib/modules/Interpreter/view.js +3 -5
- package/lib/modules/action-bar/action-bar-collapes-items.d.ts +1 -1
- package/lib/modules/action-bar/action-bar-collapes-items.js +11 -11
- package/lib/modules/action-bar/apps/useInterpreter.js +4 -2
- package/lib/modules/action-bar/components/apps/app-item/index.css +35 -0
- package/lib/modules/action-bar/components/apps/app-item/index.d.ts +12 -0
- package/lib/modules/action-bar/components/apps/app-item/index.js +61 -0
- package/lib/modules/action-bar/components/apps/appitems.d.ts +5 -0
- package/lib/modules/action-bar/components/apps/appitems.js +45 -0
- package/lib/modules/action-bar/components/apps/index.css +8 -0
- package/lib/modules/action-bar/components/apps/index.d.ts +4 -0
- package/lib/modules/action-bar/components/apps/index.js +57 -0
- package/lib/modules/action-bar/components/apps/useAppItemOptions.d.ts +9 -0
- package/lib/modules/action-bar/components/apps/useAppItemOptions.js +29 -0
- package/lib/modules/action-bar/components/apps/useBeautyBackground.d.ts +10 -0
- package/lib/modules/action-bar/components/apps/useBeautyBackground.js +36 -0
- package/lib/modules/action-bar/components/apps/useInterpreter.d.ts +14 -0
- package/lib/modules/action-bar/components/apps/useInterpreter.js +37 -0
- package/lib/modules/action-bar/components/apps/useLiveStreaming.d.ts +16 -0
- package/lib/modules/action-bar/components/apps/useLiveStreaming.js +41 -0
- package/lib/modules/action-bar/components/board/index.d.ts +4 -0
- package/lib/modules/action-bar/components/board/index.js +34 -0
- package/lib/modules/action-bar/components/breakout-room/index.d.ts +4 -0
- package/lib/modules/action-bar/components/breakout-room/index.js +32 -0
- package/lib/modules/action-bar/components/chat/index.css +80 -0
- package/lib/modules/action-bar/components/chat/index.d.ts +5 -0
- package/lib/modules/action-bar/components/chat/index.js +154 -0
- package/lib/modules/action-bar/components/device/index.css +162 -0
- package/lib/modules/action-bar/components/device/index.d.ts +8 -0
- package/lib/modules/action-bar/components/device/index.js +611 -0
- package/lib/modules/action-bar/components/interpreter/index.d.ts +6 -0
- package/lib/modules/action-bar/components/interpreter/index.js +41 -0
- package/lib/modules/action-bar/components/item.d.ts +27 -0
- package/lib/modules/action-bar/components/item.js +164 -0
- package/lib/modules/action-bar/components/leave/assign-host.d.ts +10 -0
- package/lib/modules/action-bar/components/leave/assign-host.js +64 -0
- package/lib/modules/action-bar/components/leave/index.css +126 -0
- package/lib/modules/action-bar/components/leave/index.d.ts +3 -0
- package/lib/modules/action-bar/components/leave/index.js +159 -0
- package/lib/modules/action-bar/components/leave/leave-meeting.d.ts +18 -0
- package/lib/modules/action-bar/components/leave/leave-meeting.js +153 -0
- package/lib/modules/action-bar/components/live-streaming/index.d.ts +4 -0
- package/lib/modules/action-bar/components/live-streaming/index.js +39 -0
- package/lib/modules/action-bar/components/more/index.css +114 -0
- package/lib/modules/action-bar/components/more/index.d.ts +5 -0
- package/lib/modules/action-bar/components/more/index.js +83 -0
- package/lib/modules/action-bar/components/more/poppover-content.d.ts +8 -0
- package/lib/modules/action-bar/components/more/poppover-content.js +400 -0
- package/lib/modules/action-bar/components/participants/index.css +21 -0
- package/lib/modules/action-bar/components/participants/index.d.ts +5 -0
- package/lib/modules/action-bar/components/participants/index.js +83 -0
- package/lib/modules/action-bar/components/record/index.css +39 -0
- package/lib/modules/action-bar/components/record/index.d.ts +5 -0
- package/lib/modules/action-bar/components/record/index.js +166 -0
- package/lib/modules/action-bar/components/record/stop-record-dialog.d.ts +5 -0
- package/lib/modules/action-bar/components/record/stop-record-dialog.js +48 -0
- package/lib/modules/action-bar/components/respond/index.d.ts +4 -0
- package/lib/modules/action-bar/components/respond/index.js +32 -0
- package/lib/modules/action-bar/components/screen-share/index.d.ts +4 -0
- package/lib/modules/action-bar/components/screen-share/index.js +106 -0
- package/lib/modules/action-bar/components/screen-share/submenu.d.ts +1 -0
- package/lib/modules/action-bar/components/screen-share/submenu.js +154 -0
- package/lib/modules/action-bar/components/security/index.d.ts +4 -0
- package/lib/modules/action-bar/components/security/index.js +58 -0
- package/lib/modules/action-bar/components/settings/index.d.ts +4 -0
- package/lib/modules/action-bar/components/settings/index.js +42 -0
- package/lib/modules/action-bar/index.css +23 -1
- package/lib/modules/action-bar/index.d.ts +2 -22
- package/lib/modules/action-bar/index.dev.js +37 -16
- package/lib/modules/action-bar/notification-bar/components/interpreter/index.css +58 -0
- package/lib/modules/action-bar/notification-bar/components/interpreter/index.d.ts +8 -0
- package/lib/modules/action-bar/notification-bar/components/interpreter/index.js +100 -0
- package/lib/modules/action-bar/notification-bar/components/virtual-image/index.css +56 -0
- package/lib/modules/action-bar/notification-bar/components/virtual-image/index.d.ts +5 -0
- package/lib/modules/action-bar/notification-bar/components/virtual-image/index.js +33 -0
- package/lib/modules/action-bar/notification-bar/dome.png +0 -0
- package/lib/modules/action-bar/notification-bar/fcr_translateswitch.png +0 -0
- package/lib/modules/action-bar/notification-bar/index.css +74 -0
- package/lib/modules/action-bar/notification-bar/index.d.ts +2 -0
- package/lib/modules/action-bar/notification-bar/index.js +99 -0
- package/lib/modules/action-bar/screen-share/index.js +5 -0
- package/lib/modules/action-bar/security/index.js +1 -0
- package/lib/modules/action-bar/smaller.js +2 -2
- package/lib/modules/action-bar/store.d.ts +6 -7
- package/lib/modules/action-bar/store.js +114 -128
- package/lib/modules/action-bar/trigger-input-language-room/fcr_translateswitch.png +0 -0
- package/lib/modules/action-bar/trigger-input-language-room/index.css +86 -0
- package/lib/modules/action-bar/trigger-input-language-room/index.d.ts +15 -0
- package/lib/modules/action-bar/trigger-input-language-room/index.js +220 -0
- package/lib/modules/action-bar/trigger-output-language-room/constant.d.ts +10 -0
- package/lib/modules/action-bar/trigger-output-language-room/constant.js +8 -0
- package/lib/modules/action-bar/trigger-output-language-room/guide-tooltip/index.css +22 -0
- package/lib/modules/action-bar/trigger-output-language-room/guide-tooltip/index.d.ts +14 -0
- package/lib/modules/action-bar/trigger-output-language-room/guide-tooltip/index.js +75 -0
- package/lib/modules/action-bar/trigger-output-language-room/index.d.ts +4 -0
- package/lib/modules/action-bar/trigger-output-language-room/index.js +98 -0
- package/lib/modules/action-bar/trigger-output-language-room/trigger-language-room.d.ts +5 -0
- package/lib/modules/action-bar/trigger-output-language-room/trigger-language-room.js +66 -0
- package/lib/modules/action-bar/trigger-output-language-room/trigger-main-room.d.ts +5 -0
- package/lib/modules/action-bar/trigger-output-language-room/trigger-main-room.js +36 -0
- package/lib/modules/action-bar/trigger-output-language-room/useChangeOutputRoomTool.d.ts +12 -0
- package/lib/modules/action-bar/trigger-output-language-room/useChangeOutputRoomTool.js +138 -0
- package/lib/modules/action-bar/view.js +6 -6
- package/lib/modules/audio-stream/index.d.ts +2 -15
- package/lib/modules/audio-stream/index.js +1 -3
- package/lib/modules/chat/chat-bar/index.css +5 -0
- package/lib/modules/chat/chat-bar/index.js +16 -14
- package/lib/modules/chat/chat-select/index.css +6 -3
- package/lib/modules/chat/chat.js +7 -6
- package/lib/modules/chat/index.css +10 -0
- package/lib/modules/chat/index.d.ts +2 -12
- package/lib/modules/chat/index.dev.js +14 -3
- package/lib/modules/chat/index.js +7 -20
- package/lib/modules/chat/message-list.js +1 -0
- package/lib/modules/chat/store.js +1 -1
- package/lib/modules/components/device-control/components/audio-menu/index.js +4 -4
- package/lib/modules/components/device-control/index.css +3 -0
- package/lib/modules/components/dialog-container/component/body.d.ts +7 -0
- package/lib/modules/components/dialog-container/component/body.js +46 -0
- package/lib/modules/components/dialog-container/index.css +78 -0
- package/lib/modules/components/dialog-container/index.d.ts +11 -0
- package/lib/modules/components/dialog-container/index.js +110 -0
- package/lib/modules/components/member-window/index.css +419 -0
- package/lib/modules/components/member-window/index.d.ts +76 -0
- package/lib/modules/components/member-window/index.js +888 -0
- package/lib/modules/components/security-menu/index.css +9 -0
- package/lib/modules/components/security-menu/index.js +74 -23
- package/lib/modules/components/tab-frame/index.css +40 -0
- package/lib/modules/components/tab-frame/index.d.ts +12 -0
- package/lib/modules/components/tab-frame/index.js +57 -0
- package/lib/modules/connection-gateway/components/computer/index.css +1 -0
- package/lib/modules/connection-gateway/components/phone/index.css +1 -1
- package/lib/modules/connection-gateway/index.d.ts +2 -9
- package/lib/modules/connection-gateway/store.d.ts +3 -11
- package/lib/modules/connection-gateway/store.js +1 -17
- package/lib/modules/connection-gateway/view.js +21 -4
- package/lib/modules/control-bar/components/cloud-recording-buttons.js +1 -1
- package/lib/modules/control-bar/index.d.ts +2 -16
- package/lib/modules/control-bar/index.js +10 -19
- package/lib/modules/control-bar/store.d.ts +3 -16
- package/lib/modules/control-bar/store.js +23 -5
- package/lib/modules/control-bar/view.js +17 -10
- package/lib/modules/device-pretest/settings/virtual-background-setting.js +1 -1
- package/lib/modules/dialog/components/Interpreter/electron.js +3 -25
- package/lib/modules/dialog/components/Interpreter/index.js +14 -43
- package/lib/modules/dialog/components/chat/electron.d.ts +1 -1
- package/lib/modules/dialog/components/chat/electron.js +6 -13
- package/lib/modules/dialog/components/chat/index.d.ts +1 -4
- package/lib/modules/dialog/components/chat/index.js +35 -41
- package/lib/modules/dialog/components/confirm/index.js +6 -7
- package/lib/modules/dialog/components/connection-gateway/electron.d.ts +1 -1
- package/lib/modules/dialog/components/connection-gateway/electron.js +9 -28
- package/lib/modules/dialog/components/connection-gateway/index.d.ts +0 -1
- package/lib/modules/dialog/components/connection-gateway/index.js +11 -56
- package/lib/modules/dialog/components/control-bar/index.js +6 -7
- package/lib/modules/dialog/components/device-setting/electron.js +4 -26
- package/lib/modules/dialog/components/device-setting/index.js +13 -41
- package/lib/modules/dialog/components/invite/index.js +16 -35
- package/lib/modules/dialog/components/live-streaming/index.js +18 -53
- package/lib/modules/dialog/components/participant/electron.js +4 -17
- package/lib/modules/dialog/components/participant/index.js +35 -26
- package/lib/modules/dialog/components/remove-admit-waiting-room/electron.js +3 -6
- package/lib/modules/dialog/components/remove-admit-waiting-room/index.d.ts +1 -1
- package/lib/modules/dialog/components/remove-admit-waiting-room/index.js +4 -14
- package/lib/modules/dialog/components/share-screen-selection/index.js +20 -5
- package/lib/modules/dialog/components/system-preference/electron.js +5 -8
- package/lib/modules/dialog/components/system-preference/index.js +4 -15
- package/lib/modules/dialog/components/toast/index.js +8 -12
- package/lib/modules/dialog/dialogs.js +2 -1
- package/lib/modules/dialog/hooks/useElectron.d.ts +6 -0
- package/lib/modules/dialog/hooks/useElectron.js +51 -9
- package/lib/modules/dialog/index.css +0 -2
- package/lib/modules/dialog/index.d.ts +2 -17
- package/lib/modules/dialog/store.d.ts +7 -39
- package/lib/modules/dialog/store.js +53 -152
- package/lib/modules/dialog/types/index.d.ts +59 -0
- package/lib/modules/event-confirm/view.js +4 -1
- package/lib/modules/invite/view.d.ts +4 -0
- package/lib/modules/invite/view.js +18 -22
- package/lib/modules/invite/voip-invite.js +3 -3
- package/lib/modules/layout/components/Aside.js +11 -1
- package/lib/modules/layout/components/Carousel.js +1 -1
- package/lib/modules/layout/components/Layout.js +7 -4
- package/lib/modules/layout/components/index.css +6 -1
- package/lib/modules/layout/index.js +8 -7
- package/lib/modules/layout/member-window/index.css +22 -9
- package/lib/modules/layout/member-window/index.js +16 -3
- package/lib/modules/layout/store.d.ts +1 -1
- package/lib/modules/layout/store.js +1 -7
- package/lib/modules/layout/video-window-datasource.js +11 -3
- package/lib/modules/notification/index.css +1 -0
- package/lib/modules/participant/attendee/index.css +1 -0
- package/lib/modules/participant/attendee/index.js +2 -1
- package/lib/modules/participant/components/drop-menu/index.css +1 -0
- package/lib/modules/participant/components/drop-menu/index.js +9 -9
- package/lib/modules/participant/index.css +5 -0
- package/lib/modules/participant/index.d.ts +2 -17
- package/lib/modules/participant/index.dev.js +38 -27
- package/lib/modules/participant/store.d.ts +4 -17
- package/lib/modules/participant/store.js +13 -13
- package/lib/modules/setting/audio-settings/audio-settings.js +13 -10
- package/lib/modules/setting/audio-settings/index.css +26 -1
- package/lib/modules/setting/general-settings/index.css +1 -1
- package/lib/modules/setting/index.css +2 -1
- package/lib/modules/setting/index.d.ts +2 -15
- package/lib/modules/setting/index.dev.js +19 -10
- package/lib/modules/setting/store.d.ts +5 -18
- package/lib/modules/setting/store.js +48 -20
- package/lib/modules/setting/translate-settings/index.css +3 -1
- package/lib/modules/setting/video-settings/index.css +5 -2
- package/lib/modules/share-screen/index.dev.js +20 -19
- package/lib/modules/share-screen/selection/index.css +2 -0
- package/lib/modules/share-screen/selection/index.js +83 -97
- package/lib/modules/share-screen/store.js +16 -36
- package/lib/modules/sound-effect/index.d.ts +2 -13
- package/lib/modules/sound-effect/index.js +1 -2
- package/lib/modules/state-bar/index.css +13 -2
- package/lib/modules/state-bar/index.d.ts +1 -5
- package/lib/modules/state-bar/index.dev.js +1 -1
- package/lib/modules/state-bar/index.js +0 -27
- package/lib/modules/state-bar/layout-config.js +1 -1
- package/lib/modules/state-bar/meeting-network-state.css +1 -1
- package/lib/modules/state-bar/recording.js +7 -4
- package/lib/modules/state-bar/view.js +1 -1
- package/lib/modules/video-window/index.d.ts +2 -2
- package/lib/modules/video-window/store.d.ts +2 -1
- package/lib/modules/video-window/store.js +2 -2
- package/lib/modules/waiting-room-layout/index.css +1 -3
- package/lib/modules/waiting-room-layout/index.d.ts +3 -1
- package/lib/modules/waiting-room-layout/index.js +10 -3
- package/lib/modules/whiteboard/index.d.ts +2 -13
- package/lib/modules/whiteboard/index.js +4 -5
- package/lib/providers/device-privilege-provider.d.ts +30 -0
- package/lib/providers/device-privilege-provider.js +386 -0
- package/lib/providers/device-provider.d.ts +246 -0
- package/lib/providers/device-provider.js +1741 -0
- package/lib/providers/device-stream-provider.d.ts +36 -0
- package/lib/providers/device-stream-provider.js +460 -0
- package/lib/providers/event-provider.d.ts +108 -0
- package/lib/providers/event-provider.js +288 -0
- package/lib/providers/interpreter-provider.d.ts +25 -0
- package/lib/providers/interpreter-provider.js +151 -0
- package/lib/providers/local-storage-provider.d.ts +8 -0
- package/lib/providers/local-storage-provider.js +31 -0
- package/lib/providers/monitor-provider.d.ts +15 -0
- package/lib/providers/monitor-provider.js +29 -0
- package/lib/providers/privilege-provider.d.ts +216 -0
- package/lib/providers/privilege-provider.js +966 -0
- package/lib/providers/renderer-provider.d.ts +43 -0
- package/lib/providers/renderer-provider.js +245 -0
- package/lib/providers/room-provider.d.ts +79 -0
- package/lib/providers/room-provider.js +439 -0
- package/lib/providers/session-provider.d.ts +26 -0
- package/lib/providers/session-provider.js +49 -0
- package/lib/runtime.d.ts +1 -1
- package/lib/scenes/base.d.ts +10 -0
- package/lib/scenes/base.js +75 -0
- package/lib/scenes/main-scene.d.ts +48 -0
- package/lib/scenes/main-scene.js +390 -0
- package/lib/scenes/waiting-scene.d.ts +31 -0
- package/lib/scenes/waiting-scene.js +129 -0
- package/lib/shared-data-source/config.d.ts +16 -0
- package/lib/shared-data-source/config.js +21 -0
- package/lib/type.d.ts +26 -1
- package/lib/ui-manager.d.ts +3 -0
- package/lib/ui-manager.js +154 -233
- package/lib/ui-node.d.ts +25 -0
- package/lib/ui-node.js +156 -0
- package/lib/utilities/constant.d.ts +15 -15
- package/lib/utilities/constant.js +15 -15
- package/lib/utilities/tools.d.ts +2 -0
- package/lib/utilities/tools.js +42 -10
- package/package.json +12 -11
- package/public/assets/fcr_leave2.svg +58 -0
- package/public/index.html +150 -13
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { FC, PropsWithChildren } from 'react';
|
|
2
|
+
import { FcrIconType } from 'agora-ui-foundation/lib/components/icon/type';
|
|
3
|
+
import { PopoverProps } from 'agora-ui-foundation/lib/components/popover';
|
|
4
|
+
import { FcrIconProps } from 'agora-ui-foundation/lib/components/icon';
|
|
5
|
+
interface ActionBarItemProps extends React.ComponentProps<'div'> {
|
|
6
|
+
className?: string;
|
|
7
|
+
icon: FcrIconType | React.ReactNode;
|
|
8
|
+
iconColors: FcrIconProps['colors'];
|
|
9
|
+
active?: boolean;
|
|
10
|
+
onClick?: () => void;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
title: string;
|
|
13
|
+
order?: number;
|
|
14
|
+
id: string;
|
|
15
|
+
moreVisible?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare const ActionBarItem: FC<PropsWithChildren<ActionBarItemProps & {
|
|
18
|
+
submenu?: {
|
|
19
|
+
children: React.ReactNode;
|
|
20
|
+
onClick: () => void;
|
|
21
|
+
};
|
|
22
|
+
}>>;
|
|
23
|
+
interface ActionBarItemWithPopoverProps extends ActionBarItemProps {
|
|
24
|
+
popoverProps?: PopoverProps;
|
|
25
|
+
}
|
|
26
|
+
export declare const ActionBarItemWithPopover: FC<ActionBarItemWithPopoverProps>;
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.symbol.js");
|
|
4
|
+
require("core-js/modules/es.array.filter.js");
|
|
5
|
+
require("core-js/modules/es.array.for-each.js");
|
|
6
|
+
require("core-js/modules/es.array.push.js");
|
|
7
|
+
require("core-js/modules/es.object.define-properties.js");
|
|
8
|
+
require("core-js/modules/es.object.define-property.js");
|
|
9
|
+
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
10
|
+
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
|
11
|
+
require("core-js/modules/es.object.keys.js");
|
|
12
|
+
require("core-js/modules/es.object.to-string.js");
|
|
13
|
+
require("core-js/modules/esnext.async-iterator.filter.js");
|
|
14
|
+
require("core-js/modules/esnext.async-iterator.for-each.js");
|
|
15
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
|
16
|
+
require("core-js/modules/esnext.iterator.filter.js");
|
|
17
|
+
require("core-js/modules/esnext.iterator.for-each.js");
|
|
18
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
|
19
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
20
|
+
Object.defineProperty(exports, "__esModule", {
|
|
21
|
+
value: true
|
|
22
|
+
});
|
|
23
|
+
exports.ActionBarItemWithPopover = exports.ActionBarItem = void 0;
|
|
24
|
+
require("core-js/modules/es.array.includes.js");
|
|
25
|
+
require("core-js/modules/es.string.includes.js");
|
|
26
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
27
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
28
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
29
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
30
|
+
var _react = require("react");
|
|
31
|
+
var _type = require("agora-ui-foundation/lib/components/icon/type");
|
|
32
|
+
var _popover = require("agora-ui-foundation/lib/components/popover");
|
|
33
|
+
var _icon = require("agora-ui-foundation/lib/components/icon");
|
|
34
|
+
var _actionBarCollapesItems = require("../action-bar-collapes-items");
|
|
35
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
36
|
+
var _excluded = ["className", "title", "icon", "iconColors", "active", "onClick", "disabled", "order", "id", "moreVisible", "children"];
|
|
37
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
38
|
+
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
|
+
var isFcrIcon = function isFcrIcon(icon) {
|
|
40
|
+
return typeof icon === 'string';
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
// The `...others` is required for rc-tooltip (FcrToolTip) to work,
|
|
44
|
+
// internally it edits the child component's props to include `onMouseEnter`
|
|
45
|
+
// `onMouseMove` etc. So additional props must be passed down to the child component.
|
|
46
|
+
var ActionBarItem = exports.ActionBarItem = function ActionBarItem(props) {
|
|
47
|
+
var className = props.className,
|
|
48
|
+
title = props.title,
|
|
49
|
+
icon = props.icon,
|
|
50
|
+
iconColors = props.iconColors,
|
|
51
|
+
_props$active = props.active,
|
|
52
|
+
active = _props$active === void 0 ? false : _props$active,
|
|
53
|
+
onClick_ = props.onClick,
|
|
54
|
+
_props$disabled = props.disabled,
|
|
55
|
+
disabled = _props$disabled === void 0 ? false : _props$disabled,
|
|
56
|
+
order = props.order,
|
|
57
|
+
id = props.id,
|
|
58
|
+
moreVisible = props.moreVisible,
|
|
59
|
+
children = props.children,
|
|
60
|
+
others = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
|
61
|
+
var ref = (0, _react.useRef)(null);
|
|
62
|
+
var _useContext = (0, _react.useContext)(_actionBarCollapesItems.actionBarCollapseContext),
|
|
63
|
+
setItem = _useContext.setItem,
|
|
64
|
+
visibleList = _useContext.visibleList;
|
|
65
|
+
var visible = id === 'More' ? moreVisible : visibleList.includes(id);
|
|
66
|
+
var onClick = !disabled && onClick_ ? onClick_ : void 0;
|
|
67
|
+
var innerClassName = (0, _classnames["default"])('fcr-action-bar-item', {
|
|
68
|
+
'fcr-action-bar-item-active': active,
|
|
69
|
+
'fcr-action-bar-item-disabled': disabled
|
|
70
|
+
});
|
|
71
|
+
(0, _react.useEffect)(function () {
|
|
72
|
+
// TODO: Only counting the initial `offsetWidth` is incorrect since item content could change.
|
|
73
|
+
// For example, "Record" can be turned into "Pause/Resume Record" which is obviously longer than 80px.
|
|
74
|
+
// Either do one of the following action to solve this problem:
|
|
75
|
+
// - Use resize observer on this component and call `setItem()` again.
|
|
76
|
+
// - Fix item width and do not change.
|
|
77
|
+
return ref.current ? setItem(id, {
|
|
78
|
+
name: id,
|
|
79
|
+
width: ref.current.offsetWidth,
|
|
80
|
+
order: order || 0
|
|
81
|
+
}) : void 0;
|
|
82
|
+
}, [visible]);
|
|
83
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", _objectSpread(_objectSpread({
|
|
84
|
+
ref: ref,
|
|
85
|
+
style: {
|
|
86
|
+
display: visible ? 'flex' : 'none'
|
|
87
|
+
},
|
|
88
|
+
className: (0, _classnames["default"])('fcr-action-bar-item-wrapper', className)
|
|
89
|
+
}, others), {}, {
|
|
90
|
+
children: [children, isFcrIcon(icon) ? /*#__PURE__*/(0, _jsxRuntime.jsxs)("button", {
|
|
91
|
+
onClick: onClick,
|
|
92
|
+
className: innerClassName,
|
|
93
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
94
|
+
className: "fcr-action-bar-item-icon",
|
|
95
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
|
|
96
|
+
size: 32,
|
|
97
|
+
type: icon,
|
|
98
|
+
colors: iconColors
|
|
99
|
+
})
|
|
100
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
101
|
+
className: "fcr-action-bar-item-text",
|
|
102
|
+
children: title
|
|
103
|
+
})]
|
|
104
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
105
|
+
className: innerClassName,
|
|
106
|
+
children: [icon, /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
107
|
+
className: "fcr-action-bar-item-text",
|
|
108
|
+
children: title
|
|
109
|
+
})]
|
|
110
|
+
}), props.submenu && /*#__PURE__*/(0, _jsxRuntime.jsx)(_popover.FcrPopover, {
|
|
111
|
+
overlayClassName: "fcr-action-bar--popover",
|
|
112
|
+
onVisibleChange: function onVisibleChange() {},
|
|
113
|
+
trigger: "click",
|
|
114
|
+
content: props.submenu.children,
|
|
115
|
+
overlayInnerStyle: {
|
|
116
|
+
minWidth: '210px',
|
|
117
|
+
maxWidth: '370px',
|
|
118
|
+
width: 'fit-content'
|
|
119
|
+
},
|
|
120
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
121
|
+
onClick: function onClick(e) {
|
|
122
|
+
var _props$submenu;
|
|
123
|
+
e.stopPropagation();
|
|
124
|
+
(_props$submenu = props.submenu) === null || _props$submenu === void 0 || _props$submenu.onClick();
|
|
125
|
+
},
|
|
126
|
+
className: "fcr-action-bar-extra",
|
|
127
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
|
|
128
|
+
type: _type.FcrIconType.FCR_DROPUP4,
|
|
129
|
+
colors: {
|
|
130
|
+
iconPrimary: 'var(--fcr_web_ui_scene_mainicon1)'
|
|
131
|
+
},
|
|
132
|
+
size: 24
|
|
133
|
+
})
|
|
134
|
+
})
|
|
135
|
+
})]
|
|
136
|
+
}));
|
|
137
|
+
};
|
|
138
|
+
var ActionBarItemWithPopover = exports.ActionBarItemWithPopover = function ActionBarItemWithPopover(props) {
|
|
139
|
+
var icon = props.icon,
|
|
140
|
+
title = props.title,
|
|
141
|
+
popoverProps = props.popoverProps,
|
|
142
|
+
id = props.id,
|
|
143
|
+
order = props.order;
|
|
144
|
+
var _useState = (0, _react.useState)(false),
|
|
145
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
146
|
+
popoverOpened = _useState2[0],
|
|
147
|
+
setPopoverOpend = _useState2[1];
|
|
148
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_popover.FcrPopover, _objectSpread(_objectSpread({}, popoverProps), {}, {
|
|
149
|
+
afterVisibleChange: function afterVisibleChange(visible) {
|
|
150
|
+
var _popoverProps$afterVi;
|
|
151
|
+
setPopoverOpend(visible);
|
|
152
|
+
popoverProps === null || popoverProps === void 0 || (_popoverProps$afterVi = popoverProps.afterVisibleChange) === null || _popoverProps$afterVi === void 0 || _popoverProps$afterVi.call(popoverProps, visible);
|
|
153
|
+
},
|
|
154
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ActionBarItem, {
|
|
155
|
+
id: id,
|
|
156
|
+
order: order,
|
|
157
|
+
active: popoverOpened,
|
|
158
|
+
icon: icon,
|
|
159
|
+
title: title,
|
|
160
|
+
iconColors: props.iconColors,
|
|
161
|
+
moreVisible: props.moreVisible
|
|
162
|
+
})
|
|
163
|
+
}));
|
|
164
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import './index.css';
|
|
2
|
+
import { FcrUserInfo } from 'fcr-core/lib/type';
|
|
3
|
+
interface AssignHostProps {
|
|
4
|
+
remoteUsers: FcrUserInfo[];
|
|
5
|
+
assignHost: (user: FcrUserInfo) => void;
|
|
6
|
+
setPopoverOpened: React.Dispatch<React.SetStateAction<boolean>>;
|
|
7
|
+
handleKeepConnect: () => void;
|
|
8
|
+
}
|
|
9
|
+
export declare const AssignHost: (props: AssignHostProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.object.define-property.js");
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.AssignHost = void 0;
|
|
9
|
+
require("core-js/modules/es.array.index-of.js");
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
var _mobxReact = require("mobx-react");
|
|
14
|
+
var _react = require("react");
|
|
15
|
+
require("./index.css");
|
|
16
|
+
var _chatSelect = require("../../../chat/chat-select");
|
|
17
|
+
var _i18n = require("agora-ui-foundation/lib/i18n");
|
|
18
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
+
var AssignHost = exports.AssignHost = (0, _mobxReact.observer)(function (props) {
|
|
20
|
+
var remoteUsers = props.remoteUsers,
|
|
21
|
+
assignHost = props.assignHost;
|
|
22
|
+
var _useState = (0, _react.useState)(0),
|
|
23
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
24
|
+
selected = _useState2[0],
|
|
25
|
+
setSelected = _useState2[1];
|
|
26
|
+
var t = (0, _i18n.useI18n)();
|
|
27
|
+
var handleLeave = /*#__PURE__*/function () {
|
|
28
|
+
var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
29
|
+
var user;
|
|
30
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
31
|
+
while (1) switch (_context.prev = _context.next) {
|
|
32
|
+
case 0:
|
|
33
|
+
user = remoteUsers[selected];
|
|
34
|
+
assignHost(user);
|
|
35
|
+
props.setPopoverOpened(false);
|
|
36
|
+
props.handleKeepConnect();
|
|
37
|
+
case 4:
|
|
38
|
+
case "end":
|
|
39
|
+
return _context.stop();
|
|
40
|
+
}
|
|
41
|
+
}, _callee);
|
|
42
|
+
}));
|
|
43
|
+
return function handleLeave() {
|
|
44
|
+
return _ref.apply(this, arguments);
|
|
45
|
+
};
|
|
46
|
+
}();
|
|
47
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_chatSelect.ChatSelect, {
|
|
48
|
+
type: "assign-host",
|
|
49
|
+
title: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
50
|
+
className: "assign-host-title",
|
|
51
|
+
children: t('fmt_toolbar_button_assignnewhost')
|
|
52
|
+
}),
|
|
53
|
+
bottomBar: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
54
|
+
className: "assign-host-bottom",
|
|
55
|
+
onClick: handleLeave,
|
|
56
|
+
children: t('fmt_toolbar_button_assignleave')
|
|
57
|
+
}),
|
|
58
|
+
candidateUsers: remoteUsers,
|
|
59
|
+
selectedUid: remoteUsers[selected].userId,
|
|
60
|
+
onSelect: function onSelect(user) {
|
|
61
|
+
setSelected(remoteUsers.indexOf(user));
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
});
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
.leave-title {
|
|
2
|
+
width: 100%;
|
|
3
|
+
height: 39px;
|
|
4
|
+
display: flex;
|
|
5
|
+
justify-content: center;
|
|
6
|
+
align-items: center;
|
|
7
|
+
|
|
8
|
+
font-family: Verdana;
|
|
9
|
+
font-size: 14px;
|
|
10
|
+
font-weight: 700;
|
|
11
|
+
line-height: 18.2px;
|
|
12
|
+
text-align: center;
|
|
13
|
+
|
|
14
|
+
color: var(--fcr_ui_scene_icontext1, rgba(255, 255, 255, 1));
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.fcr-action-bar--leave-popover {
|
|
18
|
+
max-width: 255px;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.fcr-action-bar--leave-popover .fcr-tooltip-inner {
|
|
22
|
+
margin: 0;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.assistant-leave-lock-info {
|
|
26
|
+
width: 100%;
|
|
27
|
+
height: 16px;
|
|
28
|
+
|
|
29
|
+
font-family: Helvetica Neue;
|
|
30
|
+
font-size: 16px;
|
|
31
|
+
font-weight: 700;
|
|
32
|
+
line-height: 16px;
|
|
33
|
+
text-align: center;
|
|
34
|
+
color: var(--fcr_ui_scene_icontext1, rgba(55, 60, 66, 1));
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.assistant-lock-leave-title {
|
|
38
|
+
width: 100%;
|
|
39
|
+
margin-top: 15px;
|
|
40
|
+
display: flex;
|
|
41
|
+
justify-content: center;
|
|
42
|
+
align-items: center;
|
|
43
|
+
|
|
44
|
+
font-family: Verdana;
|
|
45
|
+
font-size: 14px;
|
|
46
|
+
font-weight: 400;
|
|
47
|
+
line-height: 18.2px;
|
|
48
|
+
text-align: center;
|
|
49
|
+
|
|
50
|
+
color: var(--fcr_ui_scene_icontext1, rgba(255, 255, 255, 1));
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.leave-cancel {
|
|
54
|
+
width: 100%;
|
|
55
|
+
height: 36px;
|
|
56
|
+
margin-top: 15px;
|
|
57
|
+
display: flex;
|
|
58
|
+
align-items: center;
|
|
59
|
+
justify-content: center;
|
|
60
|
+
color: var(--fcr_ui_scene_ramp_red6, rgba(251, 88, 78, 1));
|
|
61
|
+
border-radius: var(--fcr_cornerradius_l);
|
|
62
|
+
border: 1px solid var(--fcr_ui_scene_ramp_red6);
|
|
63
|
+
|
|
64
|
+
font-family: Verdana;
|
|
65
|
+
font-size: 13px;
|
|
66
|
+
font-weight: 400;
|
|
67
|
+
line-height: 24px;
|
|
68
|
+
text-align: center;
|
|
69
|
+
|
|
70
|
+
cursor: pointer;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.assign-host-title {
|
|
74
|
+
display: flex;
|
|
75
|
+
align-items: center;
|
|
76
|
+
width: 100%;
|
|
77
|
+
height: 20px;
|
|
78
|
+
padding-left: 5px;
|
|
79
|
+
|
|
80
|
+
font-family: Verdana;
|
|
81
|
+
font-size: 12px;
|
|
82
|
+
font-weight: 700;
|
|
83
|
+
line-height: 12px;
|
|
84
|
+
text-align: left;
|
|
85
|
+
color: var(--fcr_ui_scene_icontext1, rgba(255, 255, 255, 1));
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.assign-host-bottom {
|
|
89
|
+
display: flex;
|
|
90
|
+
align-items: center;
|
|
91
|
+
justify-content: center;
|
|
92
|
+
|
|
93
|
+
width: 215px;
|
|
94
|
+
height: 32px;
|
|
95
|
+
margin-top: 20px;
|
|
96
|
+
border-radius: var(--fcr_cornerradius_l);
|
|
97
|
+
|
|
98
|
+
font-family: Helvetica Neue;
|
|
99
|
+
font-size: 13px;
|
|
100
|
+
font-weight: 400;
|
|
101
|
+
line-height: 24px;
|
|
102
|
+
|
|
103
|
+
color: var(--fcr_ui_scene_white10);
|
|
104
|
+
background: var(--fcr_ui_scene_ramp_red6);
|
|
105
|
+
cursor: pointer;
|
|
106
|
+
}
|
|
107
|
+
.leave-connect-check {
|
|
108
|
+
display: flex;
|
|
109
|
+
justify-content: center;
|
|
110
|
+
align-items: center;
|
|
111
|
+
}
|
|
112
|
+
.leave-container .leave-confirm-disabled {
|
|
113
|
+
background-color: var(--fcr_web_ui_scene_fill3);
|
|
114
|
+
color: var(--fcr_ui_scene_icontext3);
|
|
115
|
+
cursor: not-allowed;
|
|
116
|
+
}
|
|
117
|
+
.fcr-action-bar--leave-meeting-portal {
|
|
118
|
+
width: 255px;
|
|
119
|
+
position: absolute;
|
|
120
|
+
top: 2px;
|
|
121
|
+
left: 10px;
|
|
122
|
+
z-index: 999;
|
|
123
|
+
background-color: var(--fcr_ui_scene_white10);
|
|
124
|
+
border-radius: var(--fcr_cornerradius_l);
|
|
125
|
+
box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
|
|
126
|
+
}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.symbol.js");
|
|
4
|
+
require("core-js/modules/es.array.filter.js");
|
|
5
|
+
require("core-js/modules/es.array.for-each.js");
|
|
6
|
+
require("core-js/modules/es.array.push.js");
|
|
7
|
+
require("core-js/modules/es.object.define-properties.js");
|
|
8
|
+
require("core-js/modules/es.object.define-property.js");
|
|
9
|
+
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
10
|
+
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
|
11
|
+
require("core-js/modules/es.object.keys.js");
|
|
12
|
+
require("core-js/modules/es.object.to-string.js");
|
|
13
|
+
require("core-js/modules/esnext.async-iterator.filter.js");
|
|
14
|
+
require("core-js/modules/esnext.async-iterator.for-each.js");
|
|
15
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
|
16
|
+
require("core-js/modules/esnext.iterator.filter.js");
|
|
17
|
+
require("core-js/modules/esnext.iterator.for-each.js");
|
|
18
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
|
19
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
20
|
+
Object.defineProperty(exports, "__esModule", {
|
|
21
|
+
value: true
|
|
22
|
+
});
|
|
23
|
+
exports.End = void 0;
|
|
24
|
+
require("core-js/modules/web.timers.js");
|
|
25
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
26
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
27
|
+
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
28
|
+
var _i18n = require("agora-ui-foundation/lib/i18n");
|
|
29
|
+
var _button = require("agora-ui-foundation/lib/components/button");
|
|
30
|
+
var _leaveMeeting = require("./leave-meeting");
|
|
31
|
+
var _popover = require("agora-ui-foundation/lib/components/popover");
|
|
32
|
+
var _react = require("react");
|
|
33
|
+
var _store = require("../../store");
|
|
34
|
+
var _type = require("../../../../type");
|
|
35
|
+
var _mobxReact = require("mobx-react");
|
|
36
|
+
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
37
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
38
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
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; }
|
|
40
|
+
var End = exports.End = (0, _mobxReact.observer)(function (props) {
|
|
41
|
+
var transI18n = (0, _i18n.useI18n)();
|
|
42
|
+
var _useContext = (0, _react.useContext)(_store.ActionBarContext),
|
|
43
|
+
localUserRole = _useContext.localUserRole,
|
|
44
|
+
toggleLayoutBarLock = _useContext.toggleLayoutBarLock,
|
|
45
|
+
remoteUsers = _useContext.remoteUsers,
|
|
46
|
+
end = _useContext.end,
|
|
47
|
+
leave = _useContext.leave,
|
|
48
|
+
isLocked = _useContext.isLocked,
|
|
49
|
+
hasAssignHostBeforeLeavingPermission = _useContext.hasAssignHostBeforeLeavingPermission,
|
|
50
|
+
hasEndRoomPermission = _useContext.hasEndRoomPermission,
|
|
51
|
+
keepPhoneAudioConnection = _useContext.keepPhoneAudioConnection,
|
|
52
|
+
isPstnUser = _useContext.isPstnUser,
|
|
53
|
+
assignHost = _useContext.assignHost,
|
|
54
|
+
popoverOpened = _useContext.popoverOpened,
|
|
55
|
+
_setPopoverOpened = _useContext.setPopoverOpened,
|
|
56
|
+
stateBarLeaveMeeting = _useContext.stateBarLeaveMeeting,
|
|
57
|
+
setStateBarLeaveMeeting = _useContext.setStateBarLeaveMeeting;
|
|
58
|
+
var _useState = (0, _react.useState)(false),
|
|
59
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
60
|
+
tooltipOpened = _useState2[0],
|
|
61
|
+
setTooltipOpened = _useState2[1];
|
|
62
|
+
// const [popoverOpened, setPopoverOpened] = useState(false);
|
|
63
|
+
var popOverRef = (0, _react.useRef)(false);
|
|
64
|
+
var onTooltipChanged = function onTooltipChanged(v) {
|
|
65
|
+
if (!popoverOpened) {
|
|
66
|
+
setTooltipOpened(v);
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
var onPopoverChanged = function onPopoverChanged(v) {
|
|
70
|
+
setTooltipOpened(false);
|
|
71
|
+
_setPopoverOpened(v);
|
|
72
|
+
toggleLayoutBarLock(v);
|
|
73
|
+
popOverRef.current = v;
|
|
74
|
+
props.onPopoverChanged(v);
|
|
75
|
+
};
|
|
76
|
+
var buttonProps = (0, _react.useMemo)(function () {
|
|
77
|
+
return popoverOpened ? {
|
|
78
|
+
type: 'gray'
|
|
79
|
+
} : {
|
|
80
|
+
styleType: 'danger'
|
|
81
|
+
};
|
|
82
|
+
}, [popoverOpened]);
|
|
83
|
+
var leaveMeetingContent = /*#__PURE__*/(0, _jsxRuntime.jsx)(_leaveMeeting.LeaveMeeting, {
|
|
84
|
+
setPopoverOpened: function setPopoverOpened(value) {
|
|
85
|
+
_setPopoverOpened(value);
|
|
86
|
+
onPopoverChanged(false);
|
|
87
|
+
},
|
|
88
|
+
localUserRole: localUserRole,
|
|
89
|
+
leave: leave,
|
|
90
|
+
isLocked: isLocked,
|
|
91
|
+
hasAssignHostBeforeLeavingPermission: hasAssignHostBeforeLeavingPermission,
|
|
92
|
+
hasEndRoomPermission: hasEndRoomPermission,
|
|
93
|
+
keepPhoneAudioConnection: keepPhoneAudioConnection,
|
|
94
|
+
isPstnUser: isPstnUser,
|
|
95
|
+
remoteUsers: remoteUsers,
|
|
96
|
+
end: end,
|
|
97
|
+
assignHost: assignHost
|
|
98
|
+
});
|
|
99
|
+
var LeaveMeetingPortal = function LeaveMeetingPortal() {
|
|
100
|
+
var portalContent = /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
101
|
+
className: "fcr-action-bar--leave-meeting-portal",
|
|
102
|
+
id: "fcr-action-bar--leave-meeting-portal",
|
|
103
|
+
children: leaveMeetingContent
|
|
104
|
+
});
|
|
105
|
+
return /*#__PURE__*/_reactDom["default"].createPortal(portalContent, document.body);
|
|
106
|
+
};
|
|
107
|
+
(0, _react.useEffect)(function () {
|
|
108
|
+
var reflow = (0, _debounce["default"])(function () {
|
|
109
|
+
/* 修复窗口缩放时,在未经人为操作打开弹窗的情况下,改变窗口大小而触发的打开情形 */
|
|
110
|
+
if (!popOverRef.current) return;
|
|
111
|
+
_setPopoverOpened(false);
|
|
112
|
+
setTimeout(function () {
|
|
113
|
+
_setPopoverOpened(true);
|
|
114
|
+
}, 0);
|
|
115
|
+
}, 100);
|
|
116
|
+
window.addEventListener('resize', reflow);
|
|
117
|
+
return function () {
|
|
118
|
+
window.removeEventListener('resize', reflow);
|
|
119
|
+
};
|
|
120
|
+
}, []);
|
|
121
|
+
(0, _react.useEffect)(function () {
|
|
122
|
+
if (!stateBarLeaveMeeting) return;
|
|
123
|
+
var container = document.getElementById('fcr-action-bar--leave-meeting-portal');
|
|
124
|
+
var handleClickOutside = function handleClickOutside(event) {
|
|
125
|
+
if (!(container !== null && container !== void 0 && container.contains(event.target))) {
|
|
126
|
+
setStateBarLeaveMeeting(false);
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
document.addEventListener('mousedown', handleClickOutside);
|
|
130
|
+
return function () {
|
|
131
|
+
document.removeEventListener('mousedown', handleClickOutside);
|
|
132
|
+
};
|
|
133
|
+
}, [stateBarLeaveMeeting]);
|
|
134
|
+
(0, _react.useEffect)(function () {
|
|
135
|
+
if (popoverOpened) {
|
|
136
|
+
onPopoverChanged(popoverOpened);
|
|
137
|
+
}
|
|
138
|
+
}, [popoverOpened]);
|
|
139
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
140
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_popover.FcrPopover, {
|
|
141
|
+
overlayClassName: "fcr-action-bar--device-popover fcr-action-bar--leave-popover",
|
|
142
|
+
overlayInnerStyle: {
|
|
143
|
+
width: 255
|
|
144
|
+
},
|
|
145
|
+
visible: popoverOpened,
|
|
146
|
+
onVisibleChange: onPopoverChanged,
|
|
147
|
+
trigger: "click",
|
|
148
|
+
placement: "topRight",
|
|
149
|
+
overlayOffset: 20,
|
|
150
|
+
content: leaveMeetingContent,
|
|
151
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.FcrButton, _objectSpread(_objectSpread({
|
|
152
|
+
shape: "rounded",
|
|
153
|
+
size: "XS"
|
|
154
|
+
}, buttonProps), {}, {
|
|
155
|
+
children: popoverOpened ? transI18n('fmt_toolbar_button_cancel') : localUserRole === _type.FcrUserRole.HOST ? transI18n('fmt_toolbar_button_end') : transI18n('fmt_toolbar_button_leave')
|
|
156
|
+
}))
|
|
157
|
+
}), stateBarLeaveMeeting && LeaveMeetingPortal()]
|
|
158
|
+
});
|
|
159
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import './index.css';
|
|
2
|
+
import { FcrUserInfo, FcrUserRole } from 'fcr-core/lib/type';
|
|
3
|
+
interface LeaveMeetingProps {
|
|
4
|
+
setPopoverOpened: React.Dispatch<React.SetStateAction<boolean>>;
|
|
5
|
+
end: () => void;
|
|
6
|
+
leave: () => void;
|
|
7
|
+
isLocked: boolean;
|
|
8
|
+
keepPhoneAudioConnection: () => void;
|
|
9
|
+
localUserRole: FcrUserRole;
|
|
10
|
+
remoteUsers: FcrUserInfo[];
|
|
11
|
+
hasAssignHostBeforeLeavingPermission: boolean;
|
|
12
|
+
hasEndRoomPermission: boolean;
|
|
13
|
+
isPstnUser: boolean;
|
|
14
|
+
assignHost: (user: FcrUserInfo) => void;
|
|
15
|
+
setHeight?: () => void;
|
|
16
|
+
}
|
|
17
|
+
export declare const LeaveMeeting: import("react").ForwardRefExoticComponent<LeaveMeetingProps & import("react").RefAttributes<unknown>>;
|
|
18
|
+
export {};
|