fcr-ui-scene 3.1.1 → 3.2.0
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/dist/132.js +2 -0
- package/dist/132.js.LICENSE.txt +311 -0
- package/dist/651.js +2 -0
- package/dist/651.js.LICENSE.txt +1 -0
- package/dist/73.js +1 -0
- package/dist/index.html +13 -0
- package/dist/main.da7c203ab32d15742cfe.css +11760 -0
- package/dist/main.js +2 -0
- package/dist/main.js.LICENSE.txt +254 -0
- package/dist/worker-entry.worker.js.LICENSE.txt +13 -0
- package/lib/base.d.ts +0 -1
- package/lib/base.js +16 -0
- package/lib/common/device-store.d.ts +3 -4
- package/lib/common/device-store.js +167 -83
- package/lib/common/device-stream-store.d.ts +3 -2
- package/lib/common/device-stream-store.js +94 -72
- package/lib/common/event-store.d.ts +3 -2
- package/lib/common/event-store.js +5 -0
- package/lib/common/security-store.d.ts +6 -16
- package/lib/common/security-store.js +136 -101
- package/lib/electron/app.js +13 -5
- package/lib/electron/injections.d.ts +3 -4
- package/lib/electron/injections.js +46 -30
- package/lib/electron/logger.d.ts +6 -0
- package/lib/electron/logger.js +66 -0
- package/lib/electron/main.js +24 -8
- package/lib/electron/preload.js +2 -1
- package/lib/electron/tools.js +9 -0
- package/lib/electron/window.d.ts +1 -1
- package/lib/electron/window.js +14 -2
- package/lib/fragments/control-bar/context.d.ts +0 -1
- package/lib/fragments/control-bar/control-bar-store.js +23 -2
- package/lib/fragments/control-bar/device/index.js +7 -0
- package/lib/fragments/control-bar/index.js +1 -1
- package/lib/fragments/control-bar/more-actions/index.js +5 -0
- package/lib/fragments/control-bar/security-content/index.js +3 -0
- package/lib/fragments/live-streaming/context.d.ts +0 -1
- package/lib/fragments/live-streaming/store.js +27 -17
- package/lib/fragments/share-screen-selection/context.d.ts +0 -1
- package/lib/fragments/share-screen-selection/selection-store.d.ts +0 -1
- package/lib/fragments/share-screen-selection/selection-store.js +34 -33
- package/lib/fragments/share-screen-selection/view.js +7 -0
- package/lib/fragments/toolbar/components/color-picker/components/color.js +2 -0
- package/lib/fragments/toolbar/components/color-picker/components/panel.js +4 -0
- package/lib/fragments/toolbar/components/color-picker/components/picker.js +2 -0
- package/lib/fragments/toolbar/components/color-picker/index.js +5 -1
- package/lib/fragments/toolbar/components/color-picker.js +3 -1
- package/lib/fragments/toolbar/components/eraser-picker.js +4 -13
- package/lib/fragments/toolbar/components/extension-toolbar-item.js +5 -0
- package/lib/fragments/toolbar/components/extra-tool-picker.js +4 -0
- package/lib/fragments/toolbar/components/pen-picker.js +2 -0
- package/lib/fragments/toolbar/components/screen-capture-picker.js +2 -0
- package/lib/fragments/toolbar/components/shape-picker.js +2 -0
- package/lib/fragments/toolbar/hooks.d.ts +1 -1
- package/lib/fragments/toolbar/hooks.js +13 -8
- package/lib/fragments/toolbar/store.d.ts +4 -4
- package/lib/fragments/toolbar/store.js +20 -2
- package/lib/fragments/toolbar/view.js +2 -0
- package/lib/global.d.ts +1 -0
- package/lib/hooks/meeting-time.d.ts +2 -2
- package/lib/modules/action-bar/action-bar-collapes-items.js +9 -0
- package/lib/modules/action-bar/chat/index.js +1 -1
- package/lib/modules/action-bar/context.d.ts +0 -1
- package/lib/modules/action-bar/device/index.d.ts +2 -2
- package/lib/modules/action-bar/device/index.js +2 -0
- package/lib/modules/action-bar/index.css +4 -0
- package/lib/modules/action-bar/index.d.ts +2 -2
- package/lib/modules/action-bar/index.dev.js +7 -6
- package/lib/modules/action-bar/item-placement.d.ts +1 -2
- package/lib/modules/action-bar/item.js +5 -0
- package/lib/modules/action-bar/leave/assign-host.d.ts +0 -1
- package/lib/modules/action-bar/leave/assign-host.js +5 -3
- package/lib/modules/action-bar/leave/index.js +6 -1
- package/lib/modules/action-bar/leave/leave-meeting.d.ts +0 -1
- package/lib/modules/action-bar/more/poppover-content.d.ts +0 -1
- package/lib/modules/action-bar/more/poppover-content.js +10 -0
- package/lib/modules/action-bar/screen-share/submenu.js +1 -0
- package/lib/modules/action-bar/security/drop-menu.js +34 -1
- package/lib/modules/action-bar/security/index.js +1 -1
- package/lib/modules/action-bar/settings/index.js +1 -1
- package/lib/modules/action-bar/store.d.ts +9 -17
- package/lib/modules/action-bar/store.js +67 -49
- package/lib/modules/audio-stream/index.js +12 -6
- package/lib/modules/chat/chat-bar/index.js +7 -0
- package/lib/modules/chat/chat-select/index.css +5 -0
- package/lib/modules/chat/chat-select/index.d.ts +0 -1
- package/lib/modules/chat/chat-select/index.js +29 -3
- package/lib/modules/chat/chat.d.ts +1 -1
- package/lib/modules/chat/chat.js +28 -4
- package/lib/modules/chat/contex.d.ts +0 -1
- package/lib/modules/chat/demo-wrapper.d.ts +0 -1
- package/lib/modules/chat/index.d.ts +3 -3
- package/lib/modules/chat/index.dev.js +3 -3
- package/lib/modules/chat/index.js +19 -3
- package/lib/modules/chat/message-list.js +24 -3
- package/lib/modules/chat/store.d.ts +3 -3
- package/lib/modules/chat/store.js +45 -79
- package/lib/modules/chat/util.js +1 -1
- package/lib/modules/connection-gateway/components/phone/components/callinfo/index.js +2 -0
- package/lib/modules/connection-gateway/components/phone/index.js +2 -0
- package/lib/modules/connection-gateway/index.d.ts +2 -2
- package/lib/modules/connection-gateway/index.js +2 -0
- package/lib/modules/connection-gateway/store.d.ts +1 -2
- package/lib/modules/connection-gateway/store.js +41 -14
- package/lib/modules/device-pretest/audio-preview/microphone-detection.d.ts +1 -0
- package/lib/modules/device-pretest/audio-preview/microphone-detection.js +3 -2
- package/lib/modules/device-pretest/audio-preview/speaker-control.d.ts +0 -1
- package/lib/modules/device-pretest/context.d.ts +0 -1
- package/lib/modules/device-pretest/index.d.ts +0 -1
- package/lib/modules/device-pretest/index.js +2 -1
- package/lib/modules/device-pretest/settings/beauty.js +2 -0
- package/lib/modules/device-pretest/settings/video-effect.d.ts +0 -1
- package/lib/modules/device-pretest/settings/video-settings-basic.js +1 -0
- package/lib/modules/device-pretest/settings/virtual-background-setting.js +2 -0
- package/lib/modules/device-pretest/store.js +28 -9
- package/lib/modules/dialog/components/chat/electron.js +1 -1
- package/lib/modules/dialog/components/chat/index.js +1 -1
- package/lib/modules/dialog/components/confirm/electron.js +2 -2
- package/lib/modules/dialog/components/confirm/index.js +16 -2
- package/lib/modules/dialog/components/connection-gateway/electron.js +1 -1
- package/lib/modules/dialog/components/device-setting/electron.d.ts +2 -0
- package/lib/modules/dialog/components/device-setting/electron.js +72 -0
- package/lib/modules/dialog/components/device-setting/index.css +27 -0
- package/lib/modules/dialog/components/device-setting/index.d.ts +4 -0
- package/lib/modules/dialog/components/device-setting/index.js +60 -0
- package/lib/modules/dialog/components/participant/electron.js +6 -1
- package/lib/modules/dialog/components/share-screen-selection/index.js +1 -1
- package/lib/modules/dialog/context.d.ts +0 -1
- package/lib/modules/dialog/dialogs.d.ts +0 -2
- package/lib/modules/dialog/dialogs.js +46 -91
- package/lib/modules/dialog/index.css +5 -6
- package/lib/modules/dialog/index.d.ts +1 -1
- package/lib/modules/dialog/index.js +17 -0
- package/lib/modules/dialog/store.d.ts +2 -2
- package/lib/modules/dialog/store.js +36 -7
- package/lib/modules/dialog/view.js +2 -0
- package/lib/modules/event-toast/context.d.ts +0 -1
- package/lib/modules/event-toast/store.js +16 -0
- package/lib/modules/invite/context.d.ts +0 -1
- package/lib/modules/invite/index.d.ts +2 -2
- package/lib/modules/invite/pstn-invite.js +3 -1
- package/lib/modules/invite/store.d.ts +2 -2
- package/lib/modules/invite/store.js +27 -7
- package/lib/modules/invite/voip-invite.d.ts +0 -1
- package/lib/modules/invite/voip-invite.js +1 -1
- package/lib/modules/layout/components/Aside.d.ts +0 -1
- package/lib/modules/layout/components/Aside.js +4 -1
- package/lib/modules/layout/components/Carousel.js +6 -5
- package/lib/modules/layout/components/Gallery.js +9 -8
- package/lib/modules/layout/components/index.css +11 -1
- package/lib/modules/layout/components/index.js +3 -0
- package/lib/modules/layout/context.d.ts +0 -1
- package/lib/modules/layout/index.dev.js +11 -11
- package/lib/modules/layout/index.js +0 -6
- package/lib/modules/layout/member-window/index.css +5 -5
- package/lib/modules/layout/member-window/index.d.ts +7 -7
- package/lib/modules/layout/member-window/index.js +50 -10
- package/lib/modules/layout/store.d.ts +44 -50
- package/lib/modules/layout/store.js +406 -338
- package/lib/modules/layout/type.d.ts +2 -1
- package/lib/modules/layout/video-window-datasource.d.ts +14 -8
- package/lib/modules/layout/video-window-datasource.js +129 -78
- package/lib/modules/live-streaming/context.d.ts +0 -1
- package/lib/modules/live-streaming/index.d.ts +2 -2
- package/lib/modules/live-streaming/index.dev.js +4 -3
- package/lib/modules/live-streaming/store.d.ts +2 -2
- package/lib/modules/live-streaming/store.js +32 -11
- package/lib/modules/participant/attendee/index.js +10 -0
- package/lib/modules/participant/attendee/participants-more-action.js +5 -2
- package/lib/modules/participant/context.d.ts +0 -1
- package/lib/modules/participant/index.d.ts +3 -3
- package/lib/modules/participant/index.dev.js +13 -11
- package/lib/modules/participant/member-list-data-source.d.ts +3 -3
- package/lib/modules/participant/member-list-data-source.js +29 -3
- package/lib/modules/participant/room-control-drop-menu/index.js +35 -1
- package/lib/modules/participant/store.d.ts +31 -31
- package/lib/modules/participant/store.js +203 -157
- package/lib/modules/participant/view.d.ts +6 -6
- package/lib/modules/participant/view.js +5 -0
- package/lib/modules/setting/audio-settings/audio-settings.js +16 -12
- package/lib/modules/setting/audio-settings/index.css +2 -2
- package/lib/modules/setting/context.d.ts +0 -1
- package/lib/modules/setting/general-settings/general-settings.js +2 -1
- package/lib/modules/setting/general-settings/index.css +2 -2
- package/lib/modules/setting/index.d.ts +2 -2
- package/lib/modules/setting/index.dev.js +13 -11
- package/lib/modules/setting/index.js +16 -0
- package/lib/modules/setting/minutes-settings/index.css +65 -0
- package/lib/modules/setting/minutes-settings/minutes-settings.d.ts +4 -0
- package/lib/modules/setting/minutes-settings/minutes-settings.js +159 -0
- package/lib/modules/setting/state/index.css +0 -4
- package/lib/modules/setting/state/index.js +11 -1
- package/lib/modules/setting/storage-settings/storage-settings.js +1 -1
- package/lib/modules/setting/store.d.ts +6 -4
- package/lib/modules/setting/store.js +68 -40
- package/lib/modules/setting/translate-settings/index.css +45 -0
- package/lib/modules/setting/translate-settings/language-select.d.ts +12 -0
- package/lib/modules/setting/translate-settings/language-select.js +50 -0
- package/lib/modules/setting/translate-settings/translate-settings.d.ts +4 -0
- package/lib/modules/setting/translate-settings/translate-settings.js +139 -0
- package/lib/modules/setting/video-settings/index.css +7 -1
- package/lib/modules/setting/video-settings/video-settings-basic.js +3 -2
- package/lib/modules/setting/video-settings/video-settings.js +5 -1
- package/lib/modules/setting/view.js +34 -2
- package/lib/modules/share-screen/index.d.ts +2 -2
- package/lib/modules/share-screen/index.dev.js +14 -12
- package/lib/modules/share-screen/index.js +2 -0
- package/lib/modules/share-screen/selection/index.js +44 -6
- package/lib/modules/share-screen/share-state-bar/index.css +49 -11
- package/lib/modules/share-screen/share-state-bar/index.d.ts +0 -1
- package/lib/modules/share-screen/share-state-bar/index.js +51 -20
- package/lib/modules/share-screen/store.d.ts +18 -11
- package/lib/modules/share-screen/store.js +656 -570
- package/lib/modules/state-bar/context.d.ts +0 -1
- package/lib/modules/state-bar/index.d.ts +1 -1
- package/lib/modules/state-bar/index.dev.js +11 -9
- package/lib/modules/state-bar/layout-config.js +2 -0
- package/lib/modules/state-bar/live-streaming-state.js +3 -0
- package/lib/modules/state-bar/recording.js +6 -6
- package/lib/modules/state-bar/store.d.ts +4 -4
- package/lib/modules/state-bar/store.js +50 -5
- package/lib/modules/state-bar/view.js +3 -2
- package/lib/modules/video-window/context.d.ts +0 -1
- package/lib/modules/video-window/deviceState/index.d.ts +3 -3
- package/lib/modules/video-window/members/index.js +7 -4
- package/lib/modules/video-window/store.d.ts +3 -2
- package/lib/modules/video-window/store.js +35 -6
- package/lib/modules/video-window/topControl/index.js +7 -0
- package/lib/modules/video-window/view.js +2 -0
- package/lib/modules/whiteboard/app.js +2 -2
- package/lib/modules/whiteboard/components/control-bar/store.d.ts +0 -1
- package/lib/modules/whiteboard/components/control-bar/store.js +29 -29
- package/lib/modules/whiteboard/components/loading/index.js +2 -2
- package/lib/modules/whiteboard/components/multi-window/index.js +2 -2
- package/lib/modules/whiteboard/components/pagination/store.d.ts +0 -1
- package/lib/modules/whiteboard/components/progress/electron.js +1 -1
- package/lib/modules/whiteboard/components/progress/style.css +4 -3
- package/lib/modules/whiteboard/components/switch-theme/index.js +9 -2
- package/lib/modules/whiteboard/components/switch-theme/item.js +2 -0
- package/lib/modules/whiteboard/components/switch-theme/libs.d.ts +2 -1
- package/lib/modules/whiteboard/components/switch-theme/libs.js +21 -20
- package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/panel.js +2 -0
- package/lib/modules/whiteboard/components/toolbar/components/color-picker/index.js +3 -1
- package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +11 -9
- package/lib/modules/whiteboard/components/toolbar/components/extra-tool-picker.js +4 -0
- package/lib/modules/whiteboard/components/toolbar/components/move-handle.js +5 -0
- package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +2 -0
- package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +4 -2
- package/lib/modules/whiteboard/components/toolbar/hooks/index.d.ts +3 -3
- package/lib/modules/whiteboard/components/toolbar/hooks/index.js +16 -11
- package/lib/modules/whiteboard/components/toolbar/index.js +9 -0
- package/lib/modules/whiteboard/components/toolbar/store.d.ts +7 -7
- package/lib/modules/whiteboard/components/toolbar/store.js +22 -4
- package/lib/modules/whiteboard/context.d.ts +3 -3
- package/lib/modules/whiteboard/context.js +2 -2
- package/lib/modules/whiteboard/index.d.ts +6 -8
- package/lib/modules/whiteboard/index.js +292 -253
- package/lib/modules/whiteboard/type.d.ts +4 -12
- package/lib/modules/whiteboard/type.js +6 -16
- package/lib/modules/whiteboard/utils.d.ts +1 -0
- package/lib/modules/whiteboard/utils.js +12 -1
- package/lib/plugins/browser-runtime-plugin.js +2 -1
- package/lib/plugins/module-dev-plugin.js +4 -4
- package/lib/plugins/multi-lang-plugin.d.ts +1 -5
- package/lib/plugins/multi-lang-plugin.js +2 -0
- package/lib/runtime.d.ts +3 -5
- package/lib/translations/enUS.d.ts +148 -1
- package/lib/translations/enUS.js +156 -7
- package/lib/translations/zhCN.d.ts +148 -1
- package/lib/translations/zhCN.js +152 -3
- package/lib/ui-manager.d.ts +2 -2
- package/lib/ui-manager.js +37 -20
- package/lib/ui-scene.js +6 -1
- package/lib/utilities/board-context.d.ts +0 -1
- package/lib/utilities/constant.d.ts +4 -1
- package/lib/utilities/constant.js +3 -0
- package/lib/utilities/copyText.js +1 -1
- package/lib/utilities/extract.js +26 -3
- package/lib/utilities/hooks.js +2 -0
- package/lib/utilities/renderer-event.js +28 -0
- package/lib/utilities/renderer.js +9 -4
- package/lib/utilities/tools.js +5 -2
- package/lib/utilities/ui-resources.d.ts +2 -2
- package/lib/utilities/ui-resources.js +20 -3
- package/lib/utilities/video-track-render-context.d.ts +0 -1
- package/package.json +8 -7
|
@@ -6,6 +6,8 @@ require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
|
6
6
|
require("core-js/modules/es.object.to-string.js");
|
|
7
7
|
require("core-js/modules/es.string.iterator.js");
|
|
8
8
|
require("core-js/modules/es.weak-map.js");
|
|
9
|
+
require("core-js/modules/esnext.weak-map.delete-all.js");
|
|
10
|
+
require("core-js/modules/esnext.weak-map.emplace.js");
|
|
9
11
|
require("core-js/modules/web.dom-collections.iterator.js");
|
|
10
12
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
11
13
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
@@ -30,6 +32,7 @@ var _virtualBackgroundSetting = require("../../device-pretest/settings/virtual-b
|
|
|
30
32
|
var _beauty = require("../../device-pretest/settings/beauty");
|
|
31
33
|
var _videoSettingsBasic = require("./video-settings-basic");
|
|
32
34
|
var _i18n = require("agora-ui-foundation/lib/i18n");
|
|
35
|
+
var _env = require("agora-foundation/lib/utilities/env");
|
|
33
36
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
34
37
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
35
38
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
@@ -136,7 +139,8 @@ var VideoSettings = exports.VideoSettings = (0, _mobxReact.observer)(function (p
|
|
|
136
139
|
},
|
|
137
140
|
stopLocalVideo: stopVideo,
|
|
138
141
|
currentVideoViewType: currentVideoViewType,
|
|
139
|
-
handleVideoViewChange: handleVideoViewChange
|
|
142
|
+
handleVideoViewChange: handleVideoViewChange,
|
|
143
|
+
showRotation: (0, _env.isElectron)()
|
|
140
144
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_videoEffect.VideoEffect, {
|
|
141
145
|
currentTab: activeTab,
|
|
142
146
|
handleActiveTab: handleActiveTab,
|
|
@@ -30,6 +30,8 @@ var _audioSettings = _interopRequireDefault(require("./audio-settings/audio-sett
|
|
|
30
30
|
var _videoSettings = _interopRequireDefault(require("./video-settings/video-settings"));
|
|
31
31
|
var _storageSettings = _interopRequireDefault(require("./storage-settings/storage-settings"));
|
|
32
32
|
var _generalSettings = _interopRequireDefault(require("./general-settings/general-settings"));
|
|
33
|
+
var _translateSettings = _interopRequireDefault(require("./translate-settings/translate-settings"));
|
|
34
|
+
var _minutesSettings = _interopRequireDefault(require("./minutes-settings/minutes-settings"));
|
|
33
35
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
34
36
|
// import { State } from './state';
|
|
35
37
|
|
|
@@ -39,9 +41,9 @@ var DeviceSettingsView = exports.DeviceSettingsView = (0, _mobxReact.observer)(f
|
|
|
39
41
|
setDialogConfig = _useContext.setDialogConfig,
|
|
40
42
|
setSettingVideoOpened = _useContext.setSettingVideoOpened;
|
|
41
43
|
var t = (0, _i18n.useI18n)();
|
|
42
|
-
var tabContents = (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])({}, _store.DeviceSettingTab.GENERAL, /*#__PURE__*/(0, _jsxRuntime.jsx)(_generalSettings["default"], {})), _store.DeviceSettingTab.AUDIO, /*#__PURE__*/(0, _jsxRuntime.jsx)(_audioSettings["default"], {})), _store.DeviceSettingTab.VIDEO, /*#__PURE__*/(0, _jsxRuntime.jsx)(_videoSettings["default"], {
|
|
44
|
+
var tabContents = (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])({}, _store.DeviceSettingTab.GENERAL, /*#__PURE__*/(0, _jsxRuntime.jsx)(_generalSettings["default"], {})), _store.DeviceSettingTab.AUDIO, /*#__PURE__*/(0, _jsxRuntime.jsx)(_audioSettings["default"], {})), _store.DeviceSettingTab.VIDEO, /*#__PURE__*/(0, _jsxRuntime.jsx)(_videoSettings["default"], {
|
|
43
45
|
videoActiveTab: dialogConfig.videoActiveTab
|
|
44
|
-
})), _store.DeviceSettingTab.STORAGE, /*#__PURE__*/(0, _jsxRuntime.jsx)(_storageSettings["default"], {})), _store.DeviceSettingTab.STATE, /*#__PURE__*/(0, _jsxRuntime.jsx)(_state["default"], {}));
|
|
46
|
+
})), _store.DeviceSettingTab.STORAGE, /*#__PURE__*/(0, _jsxRuntime.jsx)(_storageSettings["default"], {})), _store.DeviceSettingTab.STATE, /*#__PURE__*/(0, _jsxRuntime.jsx)(_state["default"], {})), _store.DeviceSettingTab.TRANSLATE, /*#__PURE__*/(0, _jsxRuntime.jsx)(_translateSettings["default"], {})), _store.DeviceSettingTab.MINUTES, /*#__PURE__*/(0, _jsxRuntime.jsx)(_minutesSettings["default"], {}));
|
|
45
47
|
var ns = (0, _useNamespace.useNamespace)('device-settings');
|
|
46
48
|
var getListItemCls = function getListItemCls(tabKey) {
|
|
47
49
|
return (0, _classnames["default"])(ns.e('nav-list-item'), ns.is('active', dialogConfig.activeTab === tabKey));
|
|
@@ -112,6 +114,36 @@ var DeviceSettingsView = exports.DeviceSettingsView = (0, _mobxReact.observer)(f
|
|
|
112
114
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
113
115
|
children: t('fmt_setting_option_Video')
|
|
114
116
|
})]
|
|
117
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("li", {
|
|
118
|
+
className: getListItemCls(_store.DeviceSettingTab.TRANSLATE),
|
|
119
|
+
onClick: tabClickHandler(_store.DeviceSettingTab.TRANSLATE),
|
|
120
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
121
|
+
className: getSurroundingCls('purple'),
|
|
122
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
|
|
123
|
+
type: _type.FcrIconType.FCR_MOBILE_SUBTITIES_ON,
|
|
124
|
+
colors: {
|
|
125
|
+
iconPrimary: 'white'
|
|
126
|
+
},
|
|
127
|
+
size: 24
|
|
128
|
+
})
|
|
129
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
130
|
+
children: t('fmt_ai_subtitles_setting_label_translation_setting')
|
|
131
|
+
})]
|
|
132
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("li", {
|
|
133
|
+
className: getListItemCls(_store.DeviceSettingTab.MINUTES),
|
|
134
|
+
onClick: tabClickHandler(_store.DeviceSettingTab.MINUTES),
|
|
135
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
136
|
+
className: getSurroundingCls('purple'),
|
|
137
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
|
|
138
|
+
type: _type.FcrIconType.FCR_MEETINGRECORD,
|
|
139
|
+
colors: {
|
|
140
|
+
iconPrimary: 'white'
|
|
141
|
+
},
|
|
142
|
+
size: 24
|
|
143
|
+
})
|
|
144
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
145
|
+
children: t('fmt_ai_summary_setting_label_AI')
|
|
146
|
+
})]
|
|
115
147
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("li", {
|
|
116
148
|
className: getListItemCls(_store.DeviceSettingTab.STATE),
|
|
117
149
|
onClick: tabClickHandler(_store.DeviceSettingTab.STATE),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FcrDesktopMediaControl,
|
|
1
|
+
import { FcrDesktopMediaControl, FcrBaseRoomControl } from 'agora-edu-core';
|
|
2
2
|
import { UIModule } from '../../base';
|
|
3
3
|
import './index.css';
|
|
4
4
|
import { FcrDeviceStore } from '../../common/device-store';
|
|
@@ -8,7 +8,7 @@ import { FcrDeviceStreamStore } from '../../common/device-stream-store';
|
|
|
8
8
|
export declare class ShareScreenUIModule extends UIModule {
|
|
9
9
|
private _store;
|
|
10
10
|
constructor(args: {
|
|
11
|
-
roomControl:
|
|
11
|
+
roomControl: FcrBaseRoomControl;
|
|
12
12
|
mediaControl: FcrDesktopMediaControl;
|
|
13
13
|
deviceStore: FcrDeviceStore;
|
|
14
14
|
securityStore: FcrSecurityStore;
|
|
@@ -19,28 +19,30 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
19
19
|
var App = (0, _root.hot)(function () {
|
|
20
20
|
return null;
|
|
21
21
|
});
|
|
22
|
-
_reactDom["default"].render(
|
|
23
|
-
window.__DEV_ENGINE_IS_READY__.then(
|
|
24
|
-
var engine, roomId, roomControl, userName, deviceStore, uiEventStore, securityStore, dialogModule, uiModule, App;
|
|
22
|
+
_reactDom["default"].render(/*#__PURE__*/(0, _jsxRuntime.jsx)(App, {}), document.querySelector('#root'));
|
|
23
|
+
window.__DEV_ENGINE_IS_READY__.then(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
24
|
+
var engine, roomId, token, roomControl, userName, deviceStore, uiEventStore, securityStore, dialogModule, uiModule, App;
|
|
25
25
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
26
26
|
while (1) switch (_context.prev = _context.next) {
|
|
27
27
|
case 0:
|
|
28
28
|
engine = window.__DEV_ENGINE__;
|
|
29
29
|
roomId = window.__DEV_ROOM_ID__;
|
|
30
|
-
|
|
30
|
+
token = window.__DEV_USER_TOKEN__;
|
|
31
|
+
_context.next = 5;
|
|
31
32
|
return engine.login();
|
|
32
|
-
case
|
|
33
|
+
case 5:
|
|
33
34
|
roomControl = engine.createRoomControl(roomId);
|
|
34
35
|
userName = 'test-user';
|
|
35
|
-
deviceStore = new _deviceStore.FcrDeviceStore(userName, engine.
|
|
36
|
-
_context.next =
|
|
36
|
+
deviceStore = new _deviceStore.FcrDeviceStore(userName, engine.getDesktopMediaControl());
|
|
37
|
+
_context.next = 10;
|
|
37
38
|
return roomControl.join({
|
|
38
39
|
userRole: _type.FcrUserRole.HOST,
|
|
39
40
|
userName: userName,
|
|
41
|
+
roomToken: token,
|
|
40
42
|
streamLatency: _type.FcrStreamLatencyLevel.ULTRA_LOW,
|
|
41
43
|
createStreamConfigs: []
|
|
42
44
|
});
|
|
43
|
-
case
|
|
45
|
+
case 10:
|
|
44
46
|
uiEventStore = new _eventStore.FcrUIEventStore();
|
|
45
47
|
securityStore = new _securityStore.FcrSecurityStore(roomControl.getPrivilegeControl(), roomControl.getUserControl(), roomControl.getStreamControl(), roomControl.getRoomSessionControl(), uiEventStore);
|
|
46
48
|
dialogModule = new _dialog.DialogUIModule({
|
|
@@ -54,10 +56,10 @@ window.__DEV_ENGINE_IS_READY__.then( /*#__PURE__*/(0, _asyncToGenerator2["defaul
|
|
|
54
56
|
});
|
|
55
57
|
uiModule = new _.ShareScreenUIModule({
|
|
56
58
|
roomControl: roomControl,
|
|
57
|
-
mediaControl: engine.
|
|
59
|
+
mediaControl: engine.getDesktopMediaControl(),
|
|
58
60
|
deviceStore: deviceStore,
|
|
59
61
|
deviceStreamStore: new _deviceStreamStore.FcrDeviceStreamStore({
|
|
60
|
-
mediaControl: engine.
|
|
62
|
+
mediaControl: engine.getDesktopMediaControl(),
|
|
61
63
|
roomControl: roomControl,
|
|
62
64
|
securityStore: securityStore,
|
|
63
65
|
deviceStore: deviceStore,
|
|
@@ -87,8 +89,8 @@ window.__DEV_ENGINE_IS_READY__.then( /*#__PURE__*/(0, _asyncToGenerator2["defaul
|
|
|
87
89
|
}), uiModule.getComponent(), dialogModule.getComponent()]
|
|
88
90
|
});
|
|
89
91
|
});
|
|
90
|
-
_reactDom["default"].render(
|
|
91
|
-
case
|
|
92
|
+
_reactDom["default"].render(/*#__PURE__*/(0, _jsxRuntime.jsx)(App, {}), document.querySelector('#root'));
|
|
93
|
+
case 16:
|
|
92
94
|
case "end":
|
|
93
95
|
return _context.stop();
|
|
94
96
|
}
|
|
@@ -7,6 +7,8 @@ require("core-js/modules/es.object.to-string.js");
|
|
|
7
7
|
require("core-js/modules/es.reflect.construct.js");
|
|
8
8
|
require("core-js/modules/es.string.iterator.js");
|
|
9
9
|
require("core-js/modules/es.weak-map.js");
|
|
10
|
+
require("core-js/modules/esnext.weak-map.delete-all.js");
|
|
11
|
+
require("core-js/modules/esnext.weak-map.emplace.js");
|
|
10
12
|
require("core-js/modules/web.dom-collections.iterator.js");
|
|
11
13
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
12
14
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
@@ -9,6 +9,7 @@ exports.ShareSelection = void 0;
|
|
|
9
9
|
require("core-js/modules/es.array.includes.js");
|
|
10
10
|
require("core-js/modules/es.array.iterator.js");
|
|
11
11
|
require("core-js/modules/es.array.map.js");
|
|
12
|
+
require("core-js/modules/es.array-buffer.constructor.js");
|
|
12
13
|
require("core-js/modules/es.array-buffer.slice.js");
|
|
13
14
|
require("core-js/modules/es.data-view.js");
|
|
14
15
|
require("core-js/modules/es.object.to-string.js");
|
|
@@ -46,6 +47,12 @@ require("core-js/modules/es.typed-array.with.js");
|
|
|
46
47
|
require("core-js/modules/esnext.array-buffer.detached.js");
|
|
47
48
|
require("core-js/modules/esnext.array-buffer.transfer.js");
|
|
48
49
|
require("core-js/modules/esnext.array-buffer.transfer-to-fixed-length.js");
|
|
50
|
+
require("core-js/modules/esnext.async-iterator.map.js");
|
|
51
|
+
require("core-js/modules/esnext.iterator.map.js");
|
|
52
|
+
require("core-js/modules/esnext.typed-array.filter-reject.js");
|
|
53
|
+
require("core-js/modules/esnext.typed-array.group-by.js");
|
|
54
|
+
require("core-js/modules/esnext.typed-array.to-spliced.js");
|
|
55
|
+
require("core-js/modules/esnext.typed-array.unique-by.js");
|
|
49
56
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
50
57
|
var _card = require("agora-ui-foundation/lib/components/card");
|
|
51
58
|
var _type = require("agora-rte-sdk/lib/core/rtc/type");
|
|
@@ -63,6 +70,8 @@ var _tooltip = require("agora-ui-foundation/lib/components/tooltip");
|
|
|
63
70
|
var _i18n = require("agora-ui-foundation/lib/i18n");
|
|
64
71
|
require("./index.css");
|
|
65
72
|
var _store = require("../store");
|
|
73
|
+
var _popover = require("agora-ui-foundation/lib/components/popover");
|
|
74
|
+
var _openMicTips = _interopRequireDefault(require("../../../fragments/share-screen-selection/open-mic-tips"));
|
|
66
75
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
67
76
|
var ShareSelectionWindowType = /*#__PURE__*/function (ShareSelectionWindowType) {
|
|
68
77
|
ShareSelectionWindowType["BASIC"] = "basic";
|
|
@@ -81,22 +90,37 @@ var ShareSelection = exports.ShareSelection = (0, _mobxReact.observer)(function
|
|
|
81
90
|
localUser = _useContext.localUser,
|
|
82
91
|
localUserRole = _useContext.localUserRole,
|
|
83
92
|
title = _useContext.title,
|
|
93
|
+
localMicrophoneMute = _useContext.localMicrophoneMute,
|
|
84
94
|
handleChooseScreen = _useContext.handleChooseScreen,
|
|
85
95
|
handleStartShare = _useContext.handleStartShare,
|
|
86
96
|
setShareWithAudioState = _useContext.setShareWithAudioState,
|
|
87
97
|
setShareAudioProcessingChannel = _useContext.setShareAudioProcessingChannel,
|
|
88
98
|
closeShareScreenSelection = _useContext.closeShareScreenSelection,
|
|
89
|
-
handlerBoardShareStop = _useContext.handlerBoardShareStop
|
|
99
|
+
handlerBoardShareStop = _useContext.handlerBoardShareStop,
|
|
100
|
+
sendLocalAudioStateEvent = _useContext.sendLocalAudioStateEvent;
|
|
90
101
|
var _useState = (0, _react.useState)(false),
|
|
91
102
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
92
103
|
loading = _useState2[0],
|
|
93
104
|
setLoading = _useState2[1];
|
|
105
|
+
var _useState3 = (0, _react.useState)(false),
|
|
106
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
107
|
+
showOpenMicTips = _useState4[0],
|
|
108
|
+
setShowOpenMicTips = _useState4[1];
|
|
94
109
|
(0, _react.useEffect)(function () {
|
|
95
110
|
setLoading(false);
|
|
96
111
|
return function () {
|
|
97
112
|
setLoading(false);
|
|
98
113
|
};
|
|
99
114
|
}, []);
|
|
115
|
+
var toggleShareWithAudio = function toggleShareWithAudio(target) {
|
|
116
|
+
setShareWithAudioState(target);
|
|
117
|
+
setShowOpenMicTips(target && localMicrophoneMute);
|
|
118
|
+
};
|
|
119
|
+
var openMicAndCloseTips = function openMicAndCloseTips() {
|
|
120
|
+
setShareWithAudioState(true);
|
|
121
|
+
setShowOpenMicTips(false);
|
|
122
|
+
sendLocalAudioStateEvent();
|
|
123
|
+
};
|
|
100
124
|
var handleOkClick = (0, _react.useCallback)((0, _debounce["default"])(function () {
|
|
101
125
|
if (currentSelection) {
|
|
102
126
|
setLoading(true);
|
|
@@ -201,11 +225,25 @@ var ShareSelection = exports.ShareSelection = (0, _mobxReact.observer)(function
|
|
|
201
225
|
className: "share-selection-window__footer",
|
|
202
226
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
203
227
|
className: "share-selection-window__footer-action",
|
|
204
|
-
children: currentSelection.split('-')[0] !== 'whiteboard' && /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
228
|
+
children: currentSelection.split('-')[0] !== 'whiteboard' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_popover.FcrPopover, {
|
|
229
|
+
showArrow: true,
|
|
230
|
+
visible: showOpenMicTips,
|
|
231
|
+
overlayInnerStyle: {
|
|
232
|
+
width: '270px'
|
|
233
|
+
},
|
|
234
|
+
placement: "top",
|
|
235
|
+
content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_openMicTips["default"], {
|
|
236
|
+
onCancel: function onCancel() {
|
|
237
|
+
return toggleShareWithAudio(false);
|
|
238
|
+
},
|
|
239
|
+
onOK: openMicAndCloseTips
|
|
240
|
+
}),
|
|
241
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_shareAudio.ShareAudio, {
|
|
242
|
+
shareWithAudio: shareWithAudio,
|
|
243
|
+
toggleShareWithAudio: toggleShareWithAudio,
|
|
244
|
+
currentAudioChannel: currentShareAudioProcessingChannel,
|
|
245
|
+
onSwitchAudioChannel: setShareAudioProcessingChannel
|
|
246
|
+
})
|
|
209
247
|
})
|
|
210
248
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.FcrButton, {
|
|
211
249
|
disabled: currentSelection.split('-')[0] === 'whiteboard' && !!(boardOwnerUser !== null && boardOwnerUser !== void 0 && boardOwnerUser.userId) || loading,
|
|
@@ -1,27 +1,57 @@
|
|
|
1
1
|
.share-state-bar {
|
|
2
2
|
background-color: var(--fcr_web_ui_scene_fill2);
|
|
3
3
|
border-radius: var(--fcr_cornerradius_s);
|
|
4
|
-
gap: 10px;
|
|
5
|
-
height: 34px;
|
|
6
|
-
width: fit-content;
|
|
7
4
|
padding: 10px;
|
|
5
|
+
box-shadow: var(--fcr_web_light_dropup);
|
|
6
|
+
flex-direction: column;
|
|
7
|
+
display: flex;
|
|
8
|
+
flex-wrap: nowrap;
|
|
9
|
+
align-items: center;
|
|
8
10
|
}
|
|
9
11
|
|
|
10
|
-
.share-state-
|
|
11
|
-
|
|
12
|
+
.share-state-bar__control {
|
|
13
|
+
gap: 10px;
|
|
14
|
+
height: 28px;
|
|
12
15
|
display: flex;
|
|
13
|
-
|
|
14
|
-
flex-wrap: nowrap;
|
|
16
|
+
width: max-content;
|
|
15
17
|
align-items: center;
|
|
16
18
|
}
|
|
17
19
|
|
|
18
20
|
.share-state-bar__state {
|
|
19
21
|
gap: 10px;
|
|
22
|
+
display: flex;
|
|
23
|
+
align-items: center;
|
|
24
|
+
border-radius: var(--fcr_cornerradius_xs);
|
|
25
|
+
padding: 3px 5px 3px 3px;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.share-state-bar .divider-vertical {
|
|
29
|
+
border-left: 1px solid;
|
|
30
|
+
border-image: linear-gradient(to bottom, transparent 0%, #888 50%, #888 50%, transparent 100%) 1;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.share-state-bar__state:hover {
|
|
34
|
+
background: var(--fcr_web_ui_scene_hover);
|
|
35
|
+
color: var(--fcr_web_ui_scene_mainicon2);
|
|
36
|
+
cursor: pointer;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.share-state-bar__state:hover svg:nth-child(3) path {
|
|
40
|
+
fill: var(--fcr_web_ui_scene_mainicon2);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.share-state-bar__text {
|
|
44
|
+
width: 100px;
|
|
45
|
+
line-height: 1;
|
|
20
46
|
}
|
|
21
47
|
|
|
22
48
|
.share-state-bar__share_screen_preview {
|
|
23
|
-
width:
|
|
24
|
-
|
|
49
|
+
width: 100%;
|
|
50
|
+
aspect-ratio: 16 / 9;
|
|
51
|
+
margin-top: 10px;
|
|
52
|
+
background-color: #d9d9d9;
|
|
53
|
+
border-radius: var(--fcr_cornerradius_xs);
|
|
54
|
+
overflow: hidden;
|
|
25
55
|
}
|
|
26
56
|
|
|
27
57
|
.share-state-bar__stop-share {
|
|
@@ -33,6 +63,14 @@
|
|
|
33
63
|
cursor: pointer;
|
|
34
64
|
}
|
|
35
65
|
|
|
36
|
-
.share-state-
|
|
37
|
-
|
|
66
|
+
.share-state-bar .share-state-nav__drag-button:hover,
|
|
67
|
+
.share-state-bar .share-state-nav__transfer-position:hover {
|
|
68
|
+
background-color: var(--fcr_web_ui_scene_hover);
|
|
69
|
+
height: 20px;
|
|
70
|
+
cursor: pointer;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.share-state-bar .share-state-nav__drag-button:hover path,
|
|
74
|
+
.share-state-bar .share-state-nav__transfer-position:hover path {
|
|
75
|
+
fill: var(--fcr_web_ui_scene_mainicon2);
|
|
38
76
|
}
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.ShareStateBar = void 0;
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
10
|
var _button = require("agora-ui-foundation/lib/components/button");
|
|
10
11
|
var _divider = _interopRequireDefault(require("agora-ui-foundation/lib/components/divider"));
|
|
11
12
|
var _icon = require("agora-ui-foundation/lib/components/icon");
|
|
@@ -17,33 +18,60 @@ require("./index.css");
|
|
|
17
18
|
var _i18n = require("agora-ui-foundation/lib/i18n");
|
|
18
19
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
20
|
var ShareStateBar = exports.ShareStateBar = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
20
|
-
var
|
|
21
|
+
var shareScreenBarRef = (0, _react.useRef)(null);
|
|
22
|
+
var rndRef = (0, _react.useRef)(null);
|
|
23
|
+
var _useState = (0, _react.useState)(false),
|
|
24
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
25
|
+
showPreview = _useState2[0],
|
|
26
|
+
setShowPreview = _useState2[1];
|
|
21
27
|
var t = (0, _i18n.useI18n)();
|
|
22
28
|
(0, _react.useEffect)(function () {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
29
|
+
var _shareScreenBarRef$cu, _rndRef$current;
|
|
30
|
+
var _document$body = document.body,
|
|
31
|
+
offsetWidth = _document$body.offsetWidth,
|
|
32
|
+
offsetTop = _document$body.offsetTop;
|
|
33
|
+
var barWidth = ((_shareScreenBarRef$cu = shareScreenBarRef.current) === null || _shareScreenBarRef$cu === void 0 ? void 0 : _shareScreenBarRef$cu.offsetWidth) || 300;
|
|
34
|
+
(_rndRef$current = rndRef.current) === null || _rndRef$current === void 0 || _rndRef$current.updatePosition({
|
|
35
|
+
x: offsetWidth / 2 - barWidth / 2,
|
|
36
|
+
y: offsetTop
|
|
37
|
+
});
|
|
38
|
+
}, [rndRef]);
|
|
27
39
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRnd.Rnd, {
|
|
40
|
+
bounds: "window",
|
|
41
|
+
ref: rndRef,
|
|
28
42
|
enableResizing: false,
|
|
29
43
|
dragHandleClassName: "share-state-nav__drag-icon",
|
|
30
44
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
31
45
|
className: "share-state-bar",
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
46
|
+
ref: shareScreenBarRef,
|
|
47
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
48
|
+
className: "share-state-bar__control",
|
|
49
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_shareStateNav.DragIcon, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_divider["default"], {
|
|
50
|
+
type: "vertical"
|
|
51
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
52
|
+
className: "share-state-bar__state",
|
|
53
|
+
onClick: function onClick() {
|
|
54
|
+
return setShowPreview(!showPreview);
|
|
55
|
+
},
|
|
56
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
|
|
57
|
+
type: _type.FcrIconType.FCR_VIDEO_SHARESCREEN,
|
|
58
|
+
size: 22,
|
|
59
|
+
colors: {
|
|
60
|
+
iconPrimary: 'var(--fcr_ui_scene_ramp_green6)'
|
|
61
|
+
}
|
|
62
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
63
|
+
className: "share-state-bar__text",
|
|
64
|
+
children: t('fmt_modules_labels_sharing')
|
|
65
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
|
|
66
|
+
size: 12,
|
|
67
|
+
type: _type.FcrIconType.FCR_V2_CHEVRON_DOWN2,
|
|
68
|
+
style: {
|
|
69
|
+
transform: showPreview ? 'rotate(180deg)' : 'rotate(0deg)'
|
|
70
|
+
},
|
|
71
|
+
colors: {
|
|
72
|
+
iconPrimary: 'var(--fcr_ui_scene_icontext3)'
|
|
73
|
+
}
|
|
74
|
+
})]
|
|
47
75
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.FcrButton, {
|
|
48
76
|
type: "primary",
|
|
49
77
|
styleType: "danger",
|
|
@@ -61,6 +89,9 @@ var ShareStateBar = exports.ShareStateBar = /*#__PURE__*/(0, _react.forwardRef)(
|
|
|
61
89
|
}), t('fmt_screenshare_controlbar_button_stop')]
|
|
62
90
|
})
|
|
63
91
|
})]
|
|
92
|
+
}), showPreview && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
93
|
+
className: "share-state-bar__share_screen_preview",
|
|
94
|
+
ref: ref
|
|
64
95
|
})]
|
|
65
96
|
})
|
|
66
97
|
});
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
import { FcrDesktopMediaControl, FcrMainRoomControl, FcrMediaSourceState } from 'agora-edu-core';
|
|
1
|
+
import { FcrBaseRoomControl, FcrDesktopMediaControl, FcrMediaSourceState } from 'agora-edu-core';
|
|
3
2
|
import { FcrUserInfo, FcrUserRole } from 'agora-edu-core/lib/type';
|
|
4
3
|
import { AgoraRtcDisplayInfo, AgoraRtcScreenCaptureType, AgoraRtcWindowInfo } from 'agora-rte-sdk/lib/core/rtc/type';
|
|
5
4
|
import { AudioProcessingChannel } from 'agora-ui-foundation/lib/components/room-screen-share-state-bar/share-audio';
|
|
6
5
|
import { FcrUIEventStore } from '../../common/event-store';
|
|
7
6
|
import { FcrSecurityStore } from '../../common/security-store';
|
|
8
|
-
import { DialogKey
|
|
7
|
+
import { DialogKey } from '../../utilities/constant';
|
|
9
8
|
import { FcrDeviceStreamStore } from '../../common/device-stream-store';
|
|
10
9
|
import { FcrDeviceStore } from '../../common/device-store';
|
|
11
10
|
type ScreenCaptureSourceType = Omit<AgoraRtcDisplayInfo, 'image'> & {
|
|
@@ -26,6 +25,8 @@ export default class ShareScreenStore {
|
|
|
26
25
|
private _currentShareStreamId;
|
|
27
26
|
private _connectType;
|
|
28
27
|
private _removeScreenStreamFailed;
|
|
28
|
+
private _isReplaceScreen;
|
|
29
|
+
private _previewDom;
|
|
29
30
|
private _observer;
|
|
30
31
|
private _deviceStoreObserver;
|
|
31
32
|
private _roomObserver;
|
|
@@ -53,15 +54,16 @@ export default class ShareScreenStore {
|
|
|
53
54
|
accessor currentSelection: string;
|
|
54
55
|
accessor currentSelectionType: AgoraRtcScreenCaptureType;
|
|
55
56
|
accessor shareWithAudio: boolean;
|
|
56
|
-
accessor boardOwnerUser: FcrUserInfo |
|
|
57
|
+
accessor boardOwnerUser: FcrUserInfo | undefined;
|
|
57
58
|
accessor localUser: FcrUserInfo | null;
|
|
58
59
|
accessor localUserRole: FcrUserRole;
|
|
59
60
|
accessor title: string;
|
|
61
|
+
accessor localMicrophoneMute: boolean;
|
|
60
62
|
get localVideoState(): boolean | undefined;
|
|
61
63
|
get localAudioState(): boolean | undefined;
|
|
62
64
|
get localAudioVolume(): boolean | undefined;
|
|
63
65
|
constructor({ roomControl, mediaControl, securityStore, uiEventStore, deviceStore, deviceStreamStore, }: {
|
|
64
|
-
roomControl:
|
|
66
|
+
roomControl: FcrBaseRoomControl;
|
|
65
67
|
mediaControl: FcrDesktopMediaControl;
|
|
66
68
|
securityStore: FcrSecurityStore;
|
|
67
69
|
uiEventStore: FcrUIEventStore;
|
|
@@ -72,19 +74,14 @@ export default class ShareScreenStore {
|
|
|
72
74
|
setShareWithAudioState(withAudio: boolean): void;
|
|
73
75
|
setShareAudioProcessingChannel(currentShareAudioProcessingChannel: any): void;
|
|
74
76
|
handlerBoardShareStop(): void;
|
|
77
|
+
sendLocalAudioStateEvent(): void;
|
|
75
78
|
release(): void;
|
|
76
79
|
handleCheckScreenCapturePermission(): void;
|
|
77
80
|
handleToSetting(): void;
|
|
78
|
-
setShareWithAudio(withAudio: any, confirmAudioShareWhileMicOff?: boolean): void;
|
|
79
81
|
muteLocalAudio(mute: boolean, confirmAudioShareWhileMicOff?: boolean): Promise<void>;
|
|
80
82
|
muteLocalVideo(mute: boolean): Promise<void>;
|
|
81
|
-
onUiEvent(event: UIAction, params: any): Promise<void>;
|
|
82
|
-
handleShareScreenResource(): Promise<void>;
|
|
83
|
-
handleStartShare(id?: string, type?: AgoraRtcScreenCaptureType, withAudio?: boolean, audioProcessingChannel?: AudioProcessingChannel): Promise<void>;
|
|
84
83
|
handleShareStartWithAudio(): void;
|
|
85
84
|
handleShareStopWithAudio(): void;
|
|
86
|
-
handleStopShare(): void;
|
|
87
|
-
handleReplaceScreen(id?: string, type?: AgoraRtcScreenCaptureType, withAudio?: boolean, audioProcessingChannel?: AudioProcessingChannel): void;
|
|
88
85
|
startPreview(dom: HTMLElement): void;
|
|
89
86
|
setShareControlBarActive(active: boolean): void;
|
|
90
87
|
setCurrentCameraId(deviceId: string): void;
|
|
@@ -107,6 +104,14 @@ export default class ShareScreenStore {
|
|
|
107
104
|
openVideoWindowDialog(): void;
|
|
108
105
|
closeControlBar(): void;
|
|
109
106
|
closeVideoWindowDialog(): void;
|
|
107
|
+
setShareWithAudio(withAudio: any, confirmAudioShareWhileMicOff?: boolean): void;
|
|
108
|
+
private _setWithAudioState;
|
|
109
|
+
handleShareScreenResource(): Promise<void>;
|
|
110
|
+
handleStartShare(id?: string, type?: AgoraRtcScreenCaptureType, withAudio?: boolean, audioProcessingChannel?: AudioProcessingChannel): Promise<void>;
|
|
111
|
+
handleReplaceScreen(id?: string, type?: AgoraRtcScreenCaptureType, withAudio?: boolean, audioProcessingChannel?: AudioProcessingChannel): void;
|
|
112
|
+
handleStopShare(): void;
|
|
113
|
+
private _createScreenStream;
|
|
114
|
+
private _handleWebScreenCaptureStateUpdated;
|
|
110
115
|
private _handleScreenCaptureStateUpdated;
|
|
111
116
|
private _updateCameraList;
|
|
112
117
|
private _updateMicrophoneList;
|
|
@@ -117,9 +122,11 @@ export default class ShareScreenStore {
|
|
|
117
122
|
private _removeScreenStream;
|
|
118
123
|
private _syncShareStreamState;
|
|
119
124
|
private _refreshLocalUser;
|
|
125
|
+
private _onStreamRemoved;
|
|
120
126
|
private _addEventListeners;
|
|
121
127
|
private _removeEventListeners;
|
|
122
128
|
private _addReactions;
|
|
129
|
+
private _onUiEvent;
|
|
123
130
|
private _removeReactions;
|
|
124
131
|
private _showToast;
|
|
125
132
|
private _validateWindow;
|