fcr-ui-scene 3.7.2 → 3.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/creator.d.ts +2 -0
- package/lib/creator.js +37 -44
- package/lib/electron/app.js +7 -0
- package/lib/electron/injections.d.ts +1 -1
- package/lib/electron/injections.js +5 -3
- package/lib/electron/main.js +3 -1
- package/lib/fragments/annotation/index.d.ts +1 -0
- package/lib/fragments/annotation/index.js +13 -7
- package/lib/fragments/annotation/libs.d.ts +7 -6
- package/lib/fragments/annotation/libs.js +9 -8
- package/lib/fragments/annotation/store.d.ts +8 -4
- package/lib/fragments/annotation/store.js +351 -267
- package/lib/fragments/annotation/toolbar/components/color-tool/index.js +4 -0
- package/lib/fragments/annotation/toolbar/components/graphic-tool/index.js +4 -0
- package/lib/fragments/annotation/toolbar/components/item/item.d.ts +2 -0
- package/lib/fragments/annotation/toolbar/components/item/item.js +2 -4
- package/lib/fragments/annotation/toolbar/components/item/style.css +4 -2
- package/lib/fragments/annotation/toolbar/components/pen-tool/index.js +4 -0
- package/lib/fragments/annotation/utils.d.ts +1 -0
- package/lib/fragments/annotation/utils.js +27 -0
- package/lib/fragments/annotation/view.js +1 -6
- package/lib/fragments/base.js +5 -3
- package/lib/fragments/whiteboard/cursor.css +77 -0
- package/lib/fragments/whiteboard/index.d.ts +11 -0
- package/lib/fragments/whiteboard/index.js +91 -0
- package/lib/fragments/whiteboard/store.d.ts +31 -0
- package/lib/fragments/whiteboard/store.js +480 -0
- package/lib/fragments/whiteboard/style.css +4 -0
- package/lib/fragments/whiteboard/view.d.ts +4 -0
- package/lib/fragments/whiteboard/view.js +31 -0
- package/lib/global.css +6 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/modules/action-bar/components/apps/index.js +15 -5
- package/lib/modules/action-bar/components/leave/index.js +4 -11
- package/lib/modules/action-bar/components/screen-share/submenu.js +2 -2
- package/lib/modules/action-bar/index.d.ts +2 -0
- package/lib/modules/action-bar/index.js +2 -1
- package/lib/modules/action-bar/store.d.ts +6 -2
- package/lib/modules/action-bar/store.js +56 -93
- package/lib/modules/action-bar/view.d.ts +1 -0
- package/lib/modules/action-bar/view.js +3 -2
- package/lib/modules/annotation/annotation-toolbar-store.d.ts +4 -11
- package/lib/modules/annotation/annotation-toolbar-store.js +48 -90
- package/lib/modules/annotation/index.d.ts +2 -0
- package/lib/modules/annotation/index.js +2 -2
- package/lib/modules/annotation/store.d.ts +11 -49
- package/lib/modules/annotation/store.js +144 -429
- package/lib/modules/annotation/view.js +3 -6
- package/lib/modules/audio-stream/index.js +1 -2
- package/lib/modules/chat/components/chat-select/index.js +3 -0
- package/lib/modules/components/control-bar/components/loading/index.css +76 -0
- package/lib/modules/components/control-bar/components/loading/index.d.ts +8 -0
- package/lib/modules/components/control-bar/components/loading/index.js +64 -0
- package/lib/modules/components/control-bar/components/loading/loading.png +0 -0
- package/lib/modules/components/control-bar/components/progress/index.d.ts +5 -0
- package/lib/modules/components/control-bar/components/progress/index.js +43 -0
- package/lib/modules/components/control-bar/components/progress/style.css +51 -0
- package/lib/modules/components/control-bar/components/switch-theme/index.css +99 -0
- package/lib/modules/components/control-bar/components/switch-theme/index.d.ts +9 -0
- package/lib/modules/components/control-bar/components/switch-theme/index.js +94 -0
- package/lib/modules/components/control-bar/components/switch-theme/item.d.ts +9 -0
- package/lib/modules/components/control-bar/components/switch-theme/item.js +54 -0
- package/lib/modules/components/control-bar/components/switch-theme/libs.d.ts +4 -0
- package/lib/modules/components/control-bar/components/switch-theme/libs.js +31 -0
- package/lib/modules/components/control-bar/index.css +87 -0
- package/lib/modules/components/control-bar/index.d.ts +20 -0
- package/lib/modules/components/control-bar/index.js +276 -0
- package/lib/modules/components/device-control/store.js +2 -2
- package/lib/modules/components/leave-meeting/components/index.css +0 -9
- package/lib/modules/components/leave-meeting/index.d.ts +2 -1
- package/lib/modules/components/leave-meeting/index.js +19 -8
- package/lib/modules/components/leave-meeting/portal.d.ts +6 -0
- package/lib/modules/components/leave-meeting/portal.js +29 -0
- package/lib/modules/components/leave-meeting/style.css +9 -0
- package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +5 -2
- package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +19 -9
- package/lib/modules/components/member-window/components/member-actions/components/share-status.js +4 -4
- package/lib/modules/components/member-window/components/member-actions/index.js +13 -6
- package/lib/modules/components/member-window/components/member-actions/provider.d.ts +1 -0
- package/lib/modules/components/member-window/components/member-actions/provider.js +4 -3
- package/lib/modules/components/member-window/components/member-actions/store.d.ts +2 -1
- package/lib/modules/components/member-window/components/member-actions/store.js +5 -1
- package/lib/modules/components/member-window/components/video-player/components/local-video-player-with-zoom.d.ts +6 -4
- package/lib/modules/components/member-window/components/video-player/components/local-video-player-with-zoom.js +77 -41
- package/lib/modules/components/member-window/components/video-player/components/remote-video-player-with-zoom.d.ts +3 -3
- package/lib/modules/components/member-window/components/video-player/index.d.ts +3 -3
- package/lib/modules/components/member-window/index.css +4 -0
- package/lib/modules/components/member-window/types.d.ts +9 -5
- package/lib/modules/components/toolbar/components/capture-tool/index.d.ts +9 -0
- package/lib/modules/components/toolbar/components/capture-tool/index.js +68 -0
- package/lib/modules/components/toolbar/components/clean-tool/index.d.ts +11 -0
- package/lib/modules/components/toolbar/components/clean-tool/index.js +71 -0
- package/lib/modules/components/toolbar/components/color-tool/color-panel/index.d.ts +11 -0
- package/lib/modules/components/toolbar/components/color-tool/color-panel/index.js +77 -0
- package/lib/modules/components/toolbar/components/color-tool/index.d.ts +14 -0
- package/lib/modules/components/toolbar/components/color-tool/index.js +66 -0
- package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/index.d.ts +11 -0
- package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/index.js +64 -0
- package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +12 -0
- package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/libs.js +65 -0
- package/lib/modules/components/toolbar/components/graphic-tool/index.d.ts +15 -0
- package/lib/modules/components/toolbar/components/graphic-tool/index.js +82 -0
- package/lib/modules/components/toolbar/components/group-tool/index.d.ts +5 -0
- package/lib/modules/components/toolbar/components/group-tool/index.js +43 -0
- package/lib/modules/components/toolbar/components/icons/fold-icon.d.ts +2 -0
- package/lib/modules/components/toolbar/components/icons/fold-icon.js +41 -0
- package/lib/modules/components/toolbar/components/icons/move-icon.d.ts +1 -0
- package/lib/modules/components/toolbar/components/icons/move-icon.js +66 -0
- package/lib/modules/components/toolbar/components/item/index.d.ts +25 -0
- package/lib/modules/components/toolbar/components/item/index.js +165 -0
- package/lib/modules/components/toolbar/components/item/style.css +94 -0
- package/lib/modules/components/toolbar/components/multiple-color-tool/index.d.ts +12 -0
- package/lib/modules/components/toolbar/components/multiple-color-tool/index.js +75 -0
- package/lib/modules/components/toolbar/components/panel/index.d.ts +9 -0
- package/lib/modules/components/toolbar/components/panel/index.js +28 -0
- package/lib/modules/components/toolbar/components/panel/style.css +86 -0
- package/lib/modules/components/toolbar/components/pen-tool/index.d.ts +13 -0
- package/lib/modules/components/toolbar/components/pen-tool/index.js +62 -0
- package/lib/modules/components/toolbar/components/pen-tool/pen-panel/index.d.ts +8 -0
- package/lib/modules/components/toolbar/components/pen-tool/pen-panel/index.js +39 -0
- package/lib/modules/components/toolbar/components/save-draft/index.d.ts +7 -0
- package/lib/modules/components/toolbar/components/save-draft/index.js +59 -0
- package/lib/modules/components/toolbar/components/vertical-frame/index.d.ts +8 -0
- package/lib/modules/components/toolbar/components/vertical-frame/index.js +179 -0
- package/lib/modules/components/toolbar/hooks/use-resize-visible.d.ts +4 -0
- package/lib/modules/components/toolbar/hooks/use-resize-visible.js +59 -0
- package/lib/modules/components/toolbar/index.d.ts +29 -0
- package/lib/modules/components/toolbar/index.js +258 -0
- package/lib/modules/components/toolbar/style.css +85 -0
- package/lib/modules/components/toolbar/types.d.ts +13 -0
- package/lib/modules/components/toolbar/types.js +6 -0
- package/lib/modules/control-bar/components/more-actions/index.js +0 -6
- package/lib/modules/control-bar/components/share-state-nav/index.js +3 -2
- package/lib/modules/control-bar/index.js +2 -1
- package/lib/modules/control-bar/store.d.ts +15 -12
- package/lib/modules/control-bar/store.js +68 -29
- package/lib/modules/control-bar/view.js +33 -67
- package/lib/modules/device-pretest/store.js +4 -2
- package/lib/modules/dialog/components/dialog-container/component/body.js +3 -24
- package/lib/modules/dialog/components/dialog-container/index.d.ts +4 -0
- package/lib/modules/dialog/components/dialog-container/index.js +67 -44
- package/lib/modules/dialog/components/normal-window/index.js +4 -0
- package/lib/modules/dialog/dialogs/control-bar/index.d.ts +1 -0
- package/lib/modules/dialog/dialogs/control-bar/index.js +26 -35
- package/lib/modules/dialog/dialogs/participant/components/title.js +1 -1
- package/lib/modules/dialog/dialogs/sub-window/index.d.ts +2 -0
- package/lib/modules/dialog/dialogs/sub-window/index.js +102 -0
- package/lib/modules/dialog/dialogs/video-window/index.d.ts +1 -0
- package/lib/modules/dialog/dialogs/video-window/index.js +31 -25
- package/lib/modules/dialog/dialogs/whiteboard/index.js +0 -1
- package/lib/modules/dialog/hooks/use-popover-watcher.js +1 -2
- package/lib/modules/dialog/hooks/useElectron.d.ts +13 -0
- package/lib/modules/dialog/hooks/useElectron.js +66 -13
- package/lib/modules/dialog/index.d.ts +6 -3
- package/lib/modules/dialog/index.js +5 -3
- package/lib/modules/dialog/level-config.js +1 -1
- package/lib/modules/dialog/store.d.ts +23 -9
- package/lib/modules/dialog/store.js +84 -12
- package/lib/modules/dialog/type.d.ts +8 -0
- package/lib/modules/event-confirm/components/window/index.d.ts +5 -2
- package/lib/modules/event-confirm/components/window/index.js +38 -14
- package/lib/modules/event-confirm/index.css +3 -2
- package/lib/modules/event-confirm/store.d.ts +10 -5
- package/lib/modules/event-confirm/store.js +68 -20
- package/lib/modules/event-confirm/view.js +10 -8
- package/lib/modules/event-sound/index.d.ts +1 -0
- package/lib/modules/event-sound/index.js +11 -24
- package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/index.js +1 -2
- package/lib/modules/interpreter/store.js +11 -13
- package/lib/modules/invite/components/pstn-invite.js +0 -1
- package/lib/modules/layout/components/CommonVideoRenderer.js +26 -26
- package/lib/modules/layout/components/who-is-speaking.js +3 -6
- package/lib/modules/layout/index.d.ts +3 -1
- package/lib/modules/layout/index.js +2 -1
- package/lib/modules/layout/store.d.ts +7 -59
- package/lib/modules/layout/store.js +133 -45
- package/lib/modules/layout/type.d.ts +55 -0
- package/lib/modules/participant/components/can-moveable/index.js +0 -1
- package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +4 -2
- package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +14 -2
- package/lib/modules/participant/components/participants/components/participants/components/user-row/index.d.ts +1 -1
- package/lib/modules/participant/components/participants/components/participants/components/user-row/index.js +3 -2
- package/lib/modules/participant/components/participants/components/participants/index.js +3 -2
- package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.d.ts +1 -0
- package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.js +3 -1
- package/lib/modules/participant/components/participants/components/render-user/components/user-action/index.js +4 -2
- package/lib/modules/participant/components/participants/components/render-user/index.d.ts +4 -2
- package/lib/modules/participant/components/participants/components/render-user/index.js +5 -3
- package/lib/modules/participant/components/participants/index.js +5 -2
- package/lib/modules/participant/components/participants/types.d.ts +3 -0
- package/lib/modules/participant/index.d.ts +2 -0
- package/lib/modules/participant/index.js +2 -1
- package/lib/modules/participant/member-list-data-source.js +3 -5
- package/lib/modules/participant/store.d.ts +5 -1
- package/lib/modules/participant/store.js +51 -44
- package/lib/modules/secondary-window/index.d.ts +50 -0
- package/lib/modules/secondary-window/index.js +113 -0
- package/lib/modules/secondary-window/store.d.ts +76 -0
- package/lib/modules/secondary-window/store.js +407 -0
- package/lib/modules/secondary-window/type.d.ts +110 -0
- package/lib/modules/secondary-window/type.js +35 -0
- package/lib/modules/secondary-window/view.d.ts +6 -0
- package/lib/modules/secondary-window/view.js +257 -0
- package/lib/modules/setting/audio-settings/audio-settings.js +4 -2
- package/lib/modules/setting/config.d.ts +4 -0
- package/lib/modules/setting/config.js +6 -3
- package/lib/modules/setting/general-settings/general-settings.js +9 -0
- package/lib/modules/setting/state/index.js +0 -10
- package/lib/modules/setting/store.d.ts +9 -3
- package/lib/modules/setting/store.js +110 -77
- package/lib/modules/setting/view.js +3 -2
- package/lib/modules/share-screen/components/control-bar/index.d.ts +14 -1
- package/lib/modules/share-screen/components/control-bar/index.js +17 -12
- package/lib/modules/share-screen/components/selection/index.js +16 -23
- package/lib/modules/share-screen/index.d.ts +4 -1
- package/lib/modules/share-screen/index.js +6 -3
- package/lib/modules/share-screen/store.d.ts +18 -19
- package/lib/modules/share-screen/store.js +101 -151
- package/lib/modules/share-screen/types.d.ts +7 -8
- package/lib/modules/state-bar/index.d.ts +2 -0
- package/lib/modules/state-bar/index.js +2 -1
- package/lib/modules/state-bar/live-streaming-state.js +0 -1
- package/lib/modules/state-bar/store.d.ts +5 -2
- package/lib/modules/state-bar/store.js +14 -7
- package/lib/modules/state-bar/view.js +3 -3
- package/lib/modules/video-window/components/members/index.js +10 -15
- package/lib/modules/video-window/store.d.ts +1 -0
- package/lib/modules/video-window/store.js +8 -3
- package/lib/modules/whiteboard/components/control-bar/store.d.ts +3 -0
- package/lib/modules/whiteboard/components/control-bar/store.js +20 -11
- package/lib/modules/whiteboard/components/toolbar/store.d.ts +2 -2
- package/lib/modules/whiteboard/components/toolbar/store.js +2 -2
- package/lib/modules/whiteboard/index.d.ts +20 -17
- package/lib/modules/whiteboard/index.js +167 -132
- package/lib/plugins/module-dev-plugin.js +4 -0
- package/lib/providers/ability-provider.js +2 -0
- package/lib/providers/annotation-provider.js +3 -3
- package/lib/providers/device-privilege-provider.js +13 -12
- package/lib/providers/device-provider.d.ts +40 -31
- package/lib/providers/device-provider.js +657 -713
- package/lib/providers/device-stream-provider.js +4 -4
- package/lib/providers/interpreter-provider.js +7 -9
- package/lib/providers/multi-display-provider.d.ts +90 -0
- package/lib/providers/multi-display-provider.js +593 -0
- package/lib/providers/privilege-provider.d.ts +3 -11
- package/lib/providers/privilege-provider.js +3 -12
- package/lib/providers/renderer-provider.d.ts +3 -3
- package/lib/providers/renderer-provider.js +20 -32
- package/lib/providers/room-provider.js +21 -16
- package/lib/providers/screen-share-provider.d.ts +15 -11
- package/lib/providers/screen-share-provider.js +118 -99
- package/lib/providers/sharing-provider.d.ts +7 -1
- package/lib/providers/sharing-provider.js +39 -3
- package/lib/providers/whiteboard-provider.d.ts +24 -0
- package/lib/providers/whiteboard-provider.js +128 -0
- package/lib/runtime.d.ts +1 -0
- package/lib/scenes/main-scene.d.ts +6 -0
- package/lib/scenes/main-scene.js +44 -2
- package/lib/scenes/waiting-scene.d.ts +0 -2
- package/lib/scenes/waiting-scene.js +0 -6
- package/lib/schema.d.ts +3 -3
- package/lib/schema.js +1 -1
- package/lib/shared-data-source/confirm-data.d.ts +19 -0
- package/lib/shared-data-source/confirm-data.js +119 -15
- package/lib/shared-data-source/member-data.d.ts +2 -2
- package/lib/shared-data-source/screen-share-data.d.ts +35 -28
- package/lib/shared-data-source/screen-share-data.js +19 -8
- package/lib/shared-data-source/setting.js +4 -3
- package/lib/shared-data-source/video-window.js +1 -2
- package/lib/shared-data-source/whiteboard-data.d.ts +70 -0
- package/lib/shared-data-source/whiteboard-data.js +348 -0
- package/lib/translations/enUS.d.ts +1 -0
- package/lib/translations/enUS.js +2 -1
- package/lib/translations/zhCN.d.ts +1 -0
- package/lib/translations/zhCN.js +2 -1
- package/lib/ui-scene.d.ts +1 -0
- package/lib/ui-scene.js +77 -24
- package/lib/utilities/constant.d.ts +9 -2
- package/lib/utilities/constant.js +10 -3
- package/lib/utilities/debug.d.ts +4 -0
- package/lib/utilities/debug.js +40 -0
- package/lib/utilities/default-config.d.ts +4 -0
- package/lib/utilities/default-config.js +8 -4
- package/lib/utilities/dialog-utils.d.ts +3 -2
- package/lib/utilities/dialog-utils.js +56 -15
- package/lib/utilities/meeting-detail.js +4 -1
- package/lib/utilities/package-info.d.ts +3 -0
- package/lib/utilities/package-info.js +15 -0
- package/lib/utilities/renderer-event.d.ts +4 -6
- package/lib/utilities/renderer-event.js +23 -43
- package/lib/utilities/renderer.d.ts +1 -1
- package/lib/utilities/renderer.js +44 -10
- package/lib/utilities/shared-storage.d.ts +18 -0
- package/lib/utilities/shared-storage.js +63 -0
- package/lib/utilities/tools.js +2 -1
- package/lib/waiting-room-control-manager.js +6 -6
- package/package.json +6 -7
- package/public/index.html +5 -0
- package/lib/electron/tools.d.ts +0 -5
- package/lib/electron/tools.js +0 -62
|
@@ -3,8 +3,6 @@
|
|
|
3
3
|
require("core-js/modules/es.symbol.js");
|
|
4
4
|
require("core-js/modules/es.symbol.description.js");
|
|
5
5
|
require("core-js/modules/es.symbol.to-primitive.js");
|
|
6
|
-
require("core-js/modules/es.error.cause.js");
|
|
7
|
-
require("core-js/modules/es.error.to-string.js");
|
|
8
6
|
require("core-js/modules/es.array.is-array.js");
|
|
9
7
|
require("core-js/modules/es.array.iterator.js");
|
|
10
8
|
require("core-js/modules/es.date.to-primitive.js");
|
|
@@ -39,8 +37,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
39
37
|
});
|
|
40
38
|
exports.FcrUIScreenShareProviderImpl = void 0;
|
|
41
39
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
40
|
+
require("core-js/modules/es.error.cause.js");
|
|
41
|
+
require("core-js/modules/es.error.to-string.js");
|
|
42
42
|
require("core-js/modules/es.array.concat.js");
|
|
43
43
|
require("core-js/modules/es.array.find.js");
|
|
44
|
+
require("core-js/modules/es.array.for-each.js");
|
|
44
45
|
require("core-js/modules/es.array.includes.js");
|
|
45
46
|
require("core-js/modules/es.array.push.js");
|
|
46
47
|
require("core-js/modules/es.array.some.js");
|
|
@@ -52,7 +53,9 @@ require("core-js/modules/es.promise.js");
|
|
|
52
53
|
require("core-js/modules/es.string.includes.js");
|
|
53
54
|
require("core-js/modules/esnext.iterator.constructor.js");
|
|
54
55
|
require("core-js/modules/esnext.iterator.find.js");
|
|
56
|
+
require("core-js/modules/esnext.iterator.for-each.js");
|
|
55
57
|
require("core-js/modules/esnext.iterator.some.js");
|
|
58
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
|
56
59
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
57
60
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
58
61
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
@@ -67,27 +70,24 @@ var _logger = require("../utilities/logger");
|
|
|
67
70
|
var _imports = require("fcr-core/lib/imports");
|
|
68
71
|
var _decorator = require("agora-foundation/lib/decorator");
|
|
69
72
|
var _types = require("fcr-core/lib/room-control/whiteboard-control/types");
|
|
70
|
-
var _type = require("agora-rte-sdk/lib/core/rtc/type");
|
|
71
73
|
var _rendererEvent = require("../utilities/renderer-event");
|
|
72
74
|
var _tools = require("../utilities/tools");
|
|
75
|
+
var _type = require("fcr-core/lib/type");
|
|
73
76
|
var _i18n = require("agora-ui-foundation/lib/i18n");
|
|
74
77
|
var _constant = require("../utilities/constant");
|
|
75
78
|
var _lodash = require("lodash");
|
|
76
79
|
var _config = require("../modules/setting/config");
|
|
77
80
|
var _FcrUIScreenShareProviderImpl;
|
|
78
|
-
var _initProto, _zoomOutDecs, _zoomInDecs, _fullContainerDecs, _setOriginScalcDecs, _handleScreenCaptureStateUpdatedDecs,
|
|
81
|
+
var _initProto, _zoomOutDecs, _zoomInDecs, _fullContainerDecs, _setOriginScalcDecs, _handleScreenCaptureStateUpdatedDecs, _replaceScreenShareDecs, _handleRemoteVideoStatsUpdatedDecs, _handleStreamUpdateDecs, _syncScreenShareStreamInfosDecs, _releaseDecs, _startShareScreenDecs, _updateShareAudioPrivilegeDecs, _handleShareStopWithAudioDecs, _handleShareStartWithAudioDecs, _ref;
|
|
79
82
|
function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function set(e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O["static"] = l, O["private"] = f, f ? 2 === o ? k = function k(e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function k(e) { return e[n]; }, (o < 2 || 4 === o) && (F = function F(e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == _typeof(P) && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol["for"]("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol["for"]("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function s(t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
|
|
80
83
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
81
84
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
82
85
|
function _setFunctionName(e, t, n) { "symbol" == _typeof(t) && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
|
|
83
86
|
function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? _typeof(e) : "null")); return e; }
|
|
84
|
-
_ref = (_zoomOutDecs = [_mobx.action, _mobx.action.bound], _zoomInDecs = [_mobx.action, _mobx.action.bound], _fullContainerDecs = [_mobx.action, _mobx.action.bound], _setOriginScalcDecs = [_mobx.action, _mobx.action.bound], _handleScreenCaptureStateUpdatedDecs = [_mobx.action, _mobx.action.bound],
|
|
87
|
+
_ref = (_zoomOutDecs = [_mobx.action, _mobx.action.bound], _zoomInDecs = [_mobx.action, _mobx.action.bound], _fullContainerDecs = [_mobx.action, _mobx.action.bound], _setOriginScalcDecs = [_mobx.action, _mobx.action.bound], _handleScreenCaptureStateUpdatedDecs = [_mobx.action, _mobx.action.bound], _replaceScreenShareDecs = [_mobx.action, _mobx.action.bound], _handleRemoteVideoStatsUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleStreamUpdateDecs = [_mobx.action, _mobx.action.bound], _syncScreenShareStreamInfosDecs = [_mobx.action, _mobx.action.bound], _releaseDecs = [_mobx.action, _mobx.action.bound], _startShareScreenDecs = [_mobx.action, _mobx.action.bound], _updateShareAudioPrivilegeDecs = [_mobx.action, _mobx.action.bound], _handleShareStopWithAudioDecs = [_mobx.action, _mobx.action.bound], _handleShareStartWithAudioDecs = [_mobx.action, _mobx.action.bound], "logger");
|
|
85
88
|
var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__PURE__*/function () {
|
|
86
|
-
function FcrUIScreenShareProviderImpl(_deviceProvider, _eventProvider, _roomProvider, _sharingProvider, _sharedScreenShareSharedDataSource, _sharedMemberDataSource) {
|
|
87
|
-
var _this = this
|
|
88
|
-
_this$_roomProvider$c,
|
|
89
|
-
_this$_roomProvider$c2,
|
|
90
|
-
_this$_streamControl;
|
|
89
|
+
function FcrUIScreenShareProviderImpl(_deviceProvider, _eventProvider, _roomProvider, _sharingProvider, _sharedScreenShareSharedDataSource, _sharedMemberDataSource, _privilegeProvider) {
|
|
90
|
+
var _this = this;
|
|
91
91
|
(0, _classCallCheck2["default"])(this, FcrUIScreenShareProviderImpl);
|
|
92
92
|
(0, _defineProperty2["default"])(this, _ref, (_initProto(this), (0, _logger.createLogger)({
|
|
93
93
|
prefix: 'FcrUIScreenShareProviderImpl'
|
|
@@ -126,9 +126,10 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
|
|
|
126
126
|
this._sharingProvider = _sharingProvider;
|
|
127
127
|
this._sharedScreenShareSharedDataSource = _sharedScreenShareSharedDataSource;
|
|
128
128
|
this._sharedMemberDataSource = _sharedMemberDataSource;
|
|
129
|
-
this.
|
|
130
|
-
this.
|
|
131
|
-
|
|
129
|
+
this._privilegeProvider = _privilegeProvider;
|
|
130
|
+
this._sharingControl = this._currentRoomControl.getSharingControl();
|
|
131
|
+
this._streamControl = this._currentRoomControl.getStreamControl();
|
|
132
|
+
this._streamControl.addObserver(this._streamObserver);
|
|
132
133
|
this._syncScreenShareStreamInfos();
|
|
133
134
|
this._addEventListeners();
|
|
134
135
|
this._syncShareStreamState();
|
|
@@ -163,6 +164,15 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
|
|
|
163
164
|
get: function get() {
|
|
164
165
|
return this._sharedScreenShareSharedDataSource.screenShareScenarioType;
|
|
165
166
|
}
|
|
167
|
+
}, {
|
|
168
|
+
key: "_currentRoomControl",
|
|
169
|
+
get: function get() {
|
|
170
|
+
var currentRoomControl = this._roomProvider.currentRoomControl;
|
|
171
|
+
if (!currentRoomControl) {
|
|
172
|
+
throw new Error('currentRoomControl is not initialized');
|
|
173
|
+
}
|
|
174
|
+
return currentRoomControl;
|
|
175
|
+
}
|
|
166
176
|
}, {
|
|
167
177
|
key: "setSharingInReplace",
|
|
168
178
|
value: function setSharingInReplace(isInReplace) {
|
|
@@ -218,10 +228,9 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
|
|
|
218
228
|
}, {
|
|
219
229
|
key: "currentScreenSharingOwner",
|
|
220
230
|
get: function get() {
|
|
221
|
-
var
|
|
222
|
-
var
|
|
223
|
-
|
|
224
|
-
return stream.videoSourceType === _fcrCore.FcrVideoSourceType.SCREEN && (stream.streamType === _imports.AgoraRteMediaStreamType.BOTH || stream.streamType === _imports.AgoraRteMediaStreamType.VIDEO);
|
|
231
|
+
var allStreams = this._streamControl.getStreamList();
|
|
232
|
+
var screenShareStream = allStreams.find(function (stream) {
|
|
233
|
+
return stream.videoSourceType === _fcrCore.FcrVideoSourceType.SCREEN && (stream.streamType === _type.FcrStreamType.BOTH || stream.streamType === _type.FcrStreamType.VIDEO);
|
|
225
234
|
});
|
|
226
235
|
if (screenShareStream) {
|
|
227
236
|
return screenShareStream.owner;
|
|
@@ -259,17 +268,28 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
|
|
|
259
268
|
case 0:
|
|
260
269
|
this._sharedScreenShareSharedDataSource.setLocalUserScreenSharingState(state);
|
|
261
270
|
if (!(state === _fcrCore.FcrMediaSourceState.OPEN)) {
|
|
262
|
-
_context.next =
|
|
271
|
+
_context.next = 3;
|
|
263
272
|
break;
|
|
264
273
|
}
|
|
265
|
-
|
|
266
|
-
|
|
274
|
+
if (this._privilegeProvider.hasStartScreenSharePermission()) {
|
|
275
|
+
_context.next = 1;
|
|
276
|
+
break;
|
|
277
|
+
}
|
|
278
|
+
this._eventProvider.sendEvent(_constant.FcrUIAction.SHOW_TOAST, {
|
|
279
|
+
type: 'error',
|
|
280
|
+
message: (0, _i18n.transI18n)('fmt_screenshare_cohost_can_not_share_remind')
|
|
281
|
+
});
|
|
282
|
+
this.stop();
|
|
283
|
+
return _context.abrupt("return");
|
|
267
284
|
case 1:
|
|
285
|
+
_context.next = 2;
|
|
286
|
+
return this.createScreenShareWithSelectionId(this.currentShareId, this.currentSelectionBounds);
|
|
287
|
+
case 2:
|
|
268
288
|
streamId = _context.sent;
|
|
269
289
|
if (streamId) {
|
|
270
290
|
this._sharedScreenShareSharedDataSource.setCurrentShareStreamId(streamId);
|
|
271
291
|
}
|
|
272
|
-
case
|
|
292
|
+
case 3:
|
|
273
293
|
if (state === _fcrCore.FcrMediaSourceState.CLOSE) {
|
|
274
294
|
(_this$screenTrack = this.screenTrack) === null || _this$screenTrack === void 0 || _this$screenTrack.removeObserver(this._screenCaptureObserver);
|
|
275
295
|
this._isReplaceScreen ? this._stopScreenTrack() : this.stop();
|
|
@@ -280,7 +300,7 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
|
|
|
280
300
|
this.setShareLock(false);
|
|
281
301
|
this._isReplaceScreen = false;
|
|
282
302
|
}
|
|
283
|
-
case
|
|
303
|
+
case 4:
|
|
284
304
|
case "end":
|
|
285
305
|
return _context.stop();
|
|
286
306
|
}
|
|
@@ -312,24 +332,13 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
|
|
|
312
332
|
}
|
|
313
333
|
this._sharedScreenShareSharedDataSource.setLocalUserScreenSharingState(state);
|
|
314
334
|
}
|
|
315
|
-
}, {
|
|
316
|
-
key: "_handleShareStopWithAudio",
|
|
317
|
-
value: function _handleShareStopWithAudio() {
|
|
318
|
-
if (!this.shareAudioTrack) {
|
|
319
|
-
return;
|
|
320
|
-
}
|
|
321
|
-
if (this._deviceProvider.isCapabilitySupported(_fcrCore.FcrCapability.LOOPBACK_CAPTURE)) {
|
|
322
|
-
this.logger.info('[screen-share-provider][handleShareStopWithAudio] shareAudioTrack.stop');
|
|
323
|
-
this.shareAudioTrack.stop();
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
335
|
}, {
|
|
327
336
|
key: "replaceScreenShare",
|
|
328
337
|
value: function replaceScreenShare(id, type, withAudio, bounds) {
|
|
329
338
|
var _this2 = this;
|
|
330
339
|
this.logger.info('screen-share-provider: replaceScreenShare start');
|
|
331
340
|
var shareWithAudio = (0, _lodash.isBoolean)(withAudio) ? withAudio : this._sharedScreenShareSharedDataSource.shareWithAudio;
|
|
332
|
-
this.
|
|
341
|
+
this._sharedScreenShareSharedDataSource.setShareWithAudio(shareWithAudio);
|
|
333
342
|
this._isReplaceScreen = true;
|
|
334
343
|
this.setSharingInReplace(true);
|
|
335
344
|
if (this.screenTrack) {
|
|
@@ -351,12 +360,15 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
|
|
|
351
360
|
return _this2.startShareScreen(id, type, withAudio, true);
|
|
352
361
|
case 1:
|
|
353
362
|
_this2._sharedScreenShareSharedDataSource.setCurrentShareIdInfos(id, type, bounds);
|
|
354
|
-
if (_this2.currentShareStreamId
|
|
363
|
+
if (_this2.currentShareStreamId) {
|
|
355
364
|
_this2._streamControl.bindLocalStreams([{
|
|
356
365
|
streamId: _this2.currentShareStreamId,
|
|
357
366
|
audioSourceId: _this2.loopbackAudioSourceId,
|
|
358
367
|
videoSourceId: id
|
|
359
368
|
}]);
|
|
369
|
+
_this2.toggleScreenshareWithAudio(shareWithAudio);
|
|
370
|
+
} else {
|
|
371
|
+
_this2.logger.error('currentShareStreamId is not set');
|
|
360
372
|
}
|
|
361
373
|
case 2:
|
|
362
374
|
case "end":
|
|
@@ -378,8 +390,7 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
|
|
|
378
390
|
}, {
|
|
379
391
|
key: "_handleRemoteVideoStatsUpdated",
|
|
380
392
|
value: function _handleRemoteVideoStatsUpdated(roomId, streamId, videoStats) {
|
|
381
|
-
var
|
|
382
|
-
var stream = (_this$_streamControl3 = this._streamControl) === null || _this$_streamControl3 === void 0 ? void 0 : _this$_streamControl3.getStreamByStreamId(streamId);
|
|
393
|
+
var stream = this._streamControl.getStreamByStreamId(streamId);
|
|
383
394
|
if ((stream === null || stream === void 0 ? void 0 : stream.videoSourceType) === _fcrCore.FcrVideoSourceType.SCREEN) {
|
|
384
395
|
var _videoStats$dimension = videoStats.dimensions,
|
|
385
396
|
width = _videoStats$dimension.width,
|
|
@@ -405,6 +416,9 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
|
|
|
405
416
|
}, {
|
|
406
417
|
key: "loopbackAudioSourceId",
|
|
407
418
|
get: function get() {
|
|
419
|
+
if (!this._sharedScreenShareSharedDataSource.loopbackAudioSourceId) {
|
|
420
|
+
throw new Error('loopbackAudioSourceId is null');
|
|
421
|
+
}
|
|
408
422
|
return this._sharedScreenShareSharedDataSource.loopbackAudioSourceId;
|
|
409
423
|
}
|
|
410
424
|
}, {
|
|
@@ -436,7 +450,7 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
|
|
|
436
450
|
key: "createScreenShareWithSelectionId",
|
|
437
451
|
value: function () {
|
|
438
452
|
var _createScreenShareWithSelectionId = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(videoSourceId, bounds) {
|
|
439
|
-
var audioSourceId,
|
|
453
|
+
var audioSourceId, targetEncoderConfig, shareWithAudio, streamId;
|
|
440
454
|
return _regenerator["default"].wrap(function (_context3) {
|
|
441
455
|
while (1) switch (_context3.prev = _context3.next) {
|
|
442
456
|
case 0:
|
|
@@ -448,15 +462,20 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
|
|
|
448
462
|
}
|
|
449
463
|
targetEncoderConfig = this.screenShareScenarioType === _imports.FcrScreenScenarioType.CLEARITY ? _config.clearityEncoderConfig : _config.smoothEncoderConfig;
|
|
450
464
|
this._streamControl.setScreenScenario(this.screenShareScenarioType);
|
|
465
|
+
shareWithAudio = this._sharedScreenShareSharedDataSource.shareWithAudio;
|
|
451
466
|
_context3.next = 1;
|
|
452
|
-
return
|
|
453
|
-
streamType:
|
|
467
|
+
return this._sharingControl.startScreenSharing({
|
|
468
|
+
streamType: shareWithAudio ? _type.FcrStreamType.BOTH : _type.FcrStreamType.VIDEO,
|
|
454
469
|
videoSourceId: videoSourceId,
|
|
455
470
|
audioSourceId: audioSourceId
|
|
456
471
|
}, bounds);
|
|
457
472
|
case 1:
|
|
458
473
|
streamId = _context3.sent;
|
|
459
|
-
|
|
474
|
+
if (shareWithAudio) {
|
|
475
|
+
this._updateShareAudioPrivilege(streamId, true);
|
|
476
|
+
this._handleShareStartWithAudio();
|
|
477
|
+
}
|
|
478
|
+
this._streamControl.setVideoEncoderConfig(streamId, targetEncoderConfig, _type.FcrVideoStreamType.HIGH_STREAM);
|
|
460
479
|
return _context3.abrupt("return", Promise.resolve(streamId));
|
|
461
480
|
case 2:
|
|
462
481
|
return _context3.abrupt("return", Promise.reject());
|
|
@@ -493,7 +512,8 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
|
|
|
493
512
|
}, {
|
|
494
513
|
key: "_syncShareStreamState",
|
|
495
514
|
value: function _syncShareStreamState() {
|
|
496
|
-
|
|
515
|
+
var _this$_sharedScreenSh;
|
|
516
|
+
if (this._sharedScreenShareSharedDataSource.localUserScreenSharingState !== _fcrCore.FcrMediaSourceState.OPEN && ((_this$_sharedScreenSh = this._sharedScreenShareSharedDataSource.screenSharingOwner) === null || _this$_sharedScreenSh === void 0 ? void 0 : _this$_sharedScreenSh.userId) === this.localUserId) {
|
|
497
517
|
this._hasStop = false;
|
|
498
518
|
this.stop();
|
|
499
519
|
}
|
|
@@ -535,14 +555,14 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
|
|
|
535
555
|
case 'remove':
|
|
536
556
|
var seizeStream = events.find(function (event) {
|
|
537
557
|
var _event$cause2, _event$operatorUser;
|
|
538
|
-
return event.modifiedStream.videoSourceType ===
|
|
558
|
+
return event.modifiedStream.videoSourceType === _fcrCore.FcrVideoSourceType.SCREEN && ((_event$cause2 = event.cause) === null || _event$cause2 === void 0 || (_event$cause2 = _event$cause2.data) === null || _event$cause2 === void 0 ? void 0 : _event$cause2.reason) === _types.FcrBoardInactiveReason.SEIZE && ((_event$operatorUser = event.operatorUser) === null || _event$operatorUser === void 0 ? void 0 : _event$operatorUser.userId) !== event.modifiedStream.owner.userId;
|
|
539
559
|
});
|
|
540
560
|
if ((seizeStream === null || seizeStream === void 0 || (_seizeStream$operator = seizeStream.operatorUser) === null || _seizeStream$operator === void 0 ? void 0 : _seizeStream$operator.userId) !== this.localUserId && (seizeStream === null || seizeStream === void 0 ? void 0 : seizeStream.modifiedStream.owner.userId) === this.localUserId) {
|
|
541
561
|
this._observable.notifyObservers('onScreenShareSeize');
|
|
542
562
|
this._sharedScreenShareSharedDataSource.setIsSeizeStream(true);
|
|
543
563
|
}
|
|
544
564
|
var mySharingScreenRemoved = events.some(function (event) {
|
|
545
|
-
return event.modifiedStream.videoSourceType ===
|
|
565
|
+
return event.modifiedStream.videoSourceType === _fcrCore.FcrVideoSourceType.SCREEN && event.modifiedStream.owner.userId === _this4.localUserId;
|
|
546
566
|
});
|
|
547
567
|
if (mySharingScreenRemoved) {
|
|
548
568
|
this.setSharingInReplace(false);
|
|
@@ -581,14 +601,14 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
|
|
|
581
601
|
}, {
|
|
582
602
|
key: "_syncScreenShareStreamInfos",
|
|
583
603
|
value: function _syncScreenShareStreamInfos() {
|
|
584
|
-
var _this$_roomProvider$
|
|
585
|
-
var streams = (_this$_roomProvider$
|
|
604
|
+
var _this$_roomProvider$c, _streams$find;
|
|
605
|
+
var streams = (_this$_roomProvider$c = this._roomProvider.currentRoomControl) === null || _this$_roomProvider$c === void 0 ? void 0 : _this$_roomProvider$c.getStreamControl().getStreamList();
|
|
586
606
|
var isSharingScreen = streams === null || streams === void 0 ? void 0 : streams.some(function (stream) {
|
|
587
|
-
return stream.videoSourceType ===
|
|
607
|
+
return stream.videoSourceType === _fcrCore.FcrVideoSourceType.SCREEN;
|
|
588
608
|
});
|
|
589
609
|
this._sharedScreenShareSharedDataSource.setIsSharingScreen(!!isSharingScreen);
|
|
590
610
|
var screenSharingOwner = streams === null || streams === void 0 || (_streams$find = streams.find(function (stream) {
|
|
591
|
-
return stream.videoSourceType ===
|
|
611
|
+
return stream.videoSourceType === _fcrCore.FcrVideoSourceType.SCREEN;
|
|
592
612
|
})) === null || _streams$find === void 0 ? void 0 : _streams$find.owner;
|
|
593
613
|
this._sharedScreenShareSharedDataSource.setScreenSharingOwner(screenSharingOwner);
|
|
594
614
|
}
|
|
@@ -616,11 +636,10 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
|
|
|
616
636
|
}, {
|
|
617
637
|
key: "release",
|
|
618
638
|
value: function release() {
|
|
619
|
-
var _this$_streamControl4;
|
|
620
639
|
this.logger.info('[screen-share-provider] in release');
|
|
621
640
|
this._hasStop = false;
|
|
622
641
|
this.stop();
|
|
623
|
-
|
|
642
|
+
this._streamControl.removeObserver(this._streamObserver);
|
|
624
643
|
this._removeEventListeners();
|
|
625
644
|
}
|
|
626
645
|
}, {
|
|
@@ -649,6 +668,7 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
|
|
|
649
668
|
_t = undefined;
|
|
650
669
|
case 4:
|
|
651
670
|
excludeWindows = _t;
|
|
671
|
+
this._sharedScreenShareSharedDataSource.setShareWithAudio(withAudio);
|
|
652
672
|
if (!((0, _env.isElectron)() && !isReplace)) {
|
|
653
673
|
_context4.next = 6;
|
|
654
674
|
break;
|
|
@@ -661,17 +681,16 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
|
|
|
661
681
|
this._sharedScreenShareSharedDataSource.setCurrentShareStreamId(streamId);
|
|
662
682
|
}
|
|
663
683
|
case 6:
|
|
664
|
-
this._sharedScreenShareSharedDataSource.setShareWithAudio(withAudio);
|
|
665
|
-
this.toggleScreenshareWithAudio(withAudio);
|
|
666
684
|
screenTrack = this._deviceProvider.getScreenTrack(id);
|
|
667
685
|
this.setScreenTrack(screenTrack);
|
|
668
|
-
this.logger.info(
|
|
686
|
+
this.logger.info("[screen-share-provider]: start share screen with track start, excludeWindows: ".concat(JSON.stringify(excludeWindows)));
|
|
669
687
|
(_this$screenTrack3 = this.screenTrack) === null || _this$screenTrack3 === void 0 || _this$screenTrack3.addObserver(this._screenCaptureObserver);
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
});
|
|
688
|
+
// this.screenTrack?.start(type, {
|
|
689
|
+
// withAudio,
|
|
690
|
+
// excludeWindows,
|
|
691
|
+
// frameRate,
|
|
692
|
+
// });
|
|
693
|
+
(_this$screenTrack4 = this.screenTrack) === null || _this$screenTrack4 === void 0 || _this$screenTrack4.start(type, excludeWindows !== null && excludeWindows !== void 0 ? excludeWindows : []);
|
|
675
694
|
_context4.next = 8;
|
|
676
695
|
break;
|
|
677
696
|
case 7:
|
|
@@ -712,6 +731,25 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
|
|
|
712
731
|
this._stopScreenTrack();
|
|
713
732
|
this._cleanShareWithAudioDataSource();
|
|
714
733
|
}
|
|
734
|
+
}, {
|
|
735
|
+
key: "_updateShareAudioPrivilege",
|
|
736
|
+
value: function _updateShareAudioPrivilege(streamId, withAudio) {
|
|
737
|
+
this._streamControl.updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, streamId, {
|
|
738
|
+
audioPrivilege: withAudio ? _fcrCore.FcrStreamPrivilegeOperation.HAS_PRIVILEGE : _fcrCore.FcrStreamPrivilegeOperation.NOPRIVILEGE,
|
|
739
|
+
videoPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION
|
|
740
|
+
}));
|
|
741
|
+
}
|
|
742
|
+
}, {
|
|
743
|
+
key: "_handleShareStopWithAudio",
|
|
744
|
+
value: function _handleShareStopWithAudio() {
|
|
745
|
+
if (!this.shareAudioTrack) {
|
|
746
|
+
return;
|
|
747
|
+
}
|
|
748
|
+
if (this._deviceProvider.isCapabilitySupported(_fcrCore.FcrCapability.LOOPBACK_CAPTURE)) {
|
|
749
|
+
this.logger.info('[screen-share-provider][handleShareStopWithAudio] shareAudioTrack.stop');
|
|
750
|
+
this.shareAudioTrack.stop();
|
|
751
|
+
}
|
|
752
|
+
}
|
|
715
753
|
}, {
|
|
716
754
|
key: "_handleShareStartWithAudio",
|
|
717
755
|
value: function _handleShareStartWithAudio() {
|
|
@@ -726,62 +764,44 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
|
|
|
726
764
|
value: function toggleScreenshareWithAudio(withAudio) {
|
|
727
765
|
this._sharedScreenShareSharedDataSource.setShareWithAudio(withAudio);
|
|
728
766
|
this.logger.info("[screen-share-provider] current-share with audio: ".concat(withAudio));
|
|
729
|
-
if (this.currentShareStreamId
|
|
730
|
-
this.
|
|
731
|
-
audioPrivilege: withAudio ? _fcrCore.FcrStreamPrivilegeOperation.HAS_PRIVILEGE : _fcrCore.FcrStreamPrivilegeOperation.NOPRIVILEGE,
|
|
732
|
-
videoPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION
|
|
733
|
-
}));
|
|
767
|
+
if (this.currentShareStreamId) {
|
|
768
|
+
this._updateShareAudioPrivilege(this.currentShareStreamId, withAudio);
|
|
734
769
|
if (withAudio) {
|
|
735
770
|
this._handleShareStartWithAudio();
|
|
736
771
|
} else {
|
|
737
772
|
this._handleShareStopWithAudio();
|
|
738
773
|
}
|
|
774
|
+
} else {
|
|
775
|
+
this.logger.error('currentShareStreamId is not set');
|
|
739
776
|
}
|
|
740
777
|
}
|
|
741
778
|
}, {
|
|
742
779
|
key: "_getExcludeWindows",
|
|
743
780
|
value: function () {
|
|
744
781
|
var _getExcludeWindows2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5() {
|
|
745
|
-
var excludeWindows;
|
|
782
|
+
var excludeWindows, windowNames;
|
|
746
783
|
return _regenerator["default"].wrap(function (_context5) {
|
|
747
784
|
while (1) switch (_context5.prev = _context5.next) {
|
|
748
785
|
case 0:
|
|
749
786
|
excludeWindows = [];
|
|
787
|
+
windowNames = [];
|
|
750
788
|
_context5.next = 1;
|
|
751
789
|
return (0, _tools.waitUntil)(function () {
|
|
752
|
-
var
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
if (controlBarWindowId && !excludeWindows.includes(controlBarWindowId)) {
|
|
765
|
-
excludeWindows.push(controlBarWindowId);
|
|
766
|
-
}
|
|
767
|
-
windowId = (_getAnnotationMediaSo = (0, _rendererEvent.getAnnotationMediaSourceId)('Annotation')) !== null && _getAnnotationMediaSo !== void 0 ? _getAnnotationMediaSo : '';
|
|
768
|
-
var _windowId$split5 = windowId.split(':'),
|
|
769
|
-
_windowId$split6 = (0, _slicedToArray2["default"])(_windowId$split5, 2),
|
|
770
|
-
annotationWindowId = _windowId$split6[1];
|
|
771
|
-
if (annotationWindowId && !excludeWindows.includes(annotationWindowId)) {
|
|
772
|
-
excludeWindows.push(annotationWindowId);
|
|
773
|
-
}
|
|
774
|
-
windowId = (_getAnnotationMediaSo2 = (0, _rendererEvent.getAnnotationMediaSourceId)('Annotation tool bar')) !== null && _getAnnotationMediaSo2 !== void 0 ? _getAnnotationMediaSo2 : '';
|
|
775
|
-
var _windowId$split7 = windowId.split(':'),
|
|
776
|
-
_windowId$split8 = (0, _slicedToArray2["default"])(_windowId$split7, 2),
|
|
777
|
-
annotationToolWindowId = _windowId$split8[1];
|
|
778
|
-
if (annotationToolWindowId && !excludeWindows.includes(annotationToolWindowId)) {
|
|
779
|
-
excludeWindows.push(annotationToolWindowId);
|
|
780
|
-
}
|
|
781
|
-
return !!videoWindowId && !!controlBarWindowId;
|
|
790
|
+
var windowsIds = (0, _rendererEvent.getMediaSourcesIdByTitle)(['Control Bar', 'Video Window', 'Annotation', 'Annotation tool bar']);
|
|
791
|
+
windowsIds === null || windowsIds === void 0 || windowsIds.forEach(function (windowInfo) {
|
|
792
|
+
var windowName = windowInfo.windowName,
|
|
793
|
+
windowId = windowInfo.windowId;
|
|
794
|
+
if (windowId && !excludeWindows.includes(windowId)) {
|
|
795
|
+
excludeWindows.push(windowId);
|
|
796
|
+
}
|
|
797
|
+
if (windowName && !windowNames.includes(windowName)) {
|
|
798
|
+
windowNames.push(windowName);
|
|
799
|
+
}
|
|
800
|
+
});
|
|
801
|
+
return windowNames.includes('Control Bar') && windowNames.includes('Video Window');
|
|
782
802
|
}, 'control bar is open');
|
|
783
803
|
case 1:
|
|
784
|
-
this.logger.info(
|
|
804
|
+
this.logger.info("[screen-share-provider] windowNames: ".concat(JSON.stringify(windowNames), ", excludeWindows: ").concat(JSON.stringify(excludeWindows)));
|
|
785
805
|
return _context5.abrupt("return", excludeWindows);
|
|
786
806
|
case 2:
|
|
787
807
|
case "end":
|
|
@@ -798,10 +818,9 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
|
|
|
798
818
|
key: "removeScreenStream",
|
|
799
819
|
value: function removeScreenStream() {
|
|
800
820
|
try {
|
|
801
|
-
var _this$_streamControl5;
|
|
802
821
|
this.logger.info('screen-share-provider: remove screen streams');
|
|
803
|
-
|
|
804
|
-
this._sharedScreenShareSharedDataSource.setCurrentShareStreamId(
|
|
822
|
+
this._streamControl.removeScreenStream();
|
|
823
|
+
this._sharedScreenShareSharedDataSource.setCurrentShareStreamId(undefined);
|
|
805
824
|
return true;
|
|
806
825
|
} catch (error) {
|
|
807
826
|
this.logger.error('removeScreenStream error', error);
|
|
@@ -826,6 +845,6 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
|
|
|
826
845
|
}]);
|
|
827
846
|
}();
|
|
828
847
|
_FcrUIScreenShareProviderImpl = FcrUIScreenShareProviderImpl;
|
|
829
|
-
var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIScreenShareProviderImpl, [[_decorator.bound, 2, "setSharingInReplace"], [_zoomOutDecs, 18, "zoomOut"], [_zoomInDecs, 18, "zoomIn"], [_fullContainerDecs, 18, "fullContainer"], [_mobx.computed, 3, "isAspectRatioPreserved"], [_setOriginScalcDecs, 18, "setOriginScalc"], [_decorator.bound, 2, "stop"], [_decorator.bound, 2, "bootstrap"], [_decorator.bound, 2, "_handleWebScreenCaptureStateUpdated"], [_handleScreenCaptureStateUpdatedDecs, 18, "_handleScreenCaptureStateUpdated"], [
|
|
848
|
+
var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIScreenShareProviderImpl, [[_decorator.bound, 2, "setSharingInReplace"], [_zoomOutDecs, 18, "zoomOut"], [_zoomInDecs, 18, "zoomIn"], [_fullContainerDecs, 18, "fullContainer"], [_mobx.computed, 3, "isAspectRatioPreserved"], [_setOriginScalcDecs, 18, "setOriginScalc"], [_decorator.bound, 2, "stop"], [_decorator.bound, 2, "bootstrap"], [_decorator.bound, 2, "_handleWebScreenCaptureStateUpdated"], [_handleScreenCaptureStateUpdatedDecs, 18, "_handleScreenCaptureStateUpdated"], [_replaceScreenShareDecs, 18, "replaceScreenShare"], [_handleRemoteVideoStatsUpdatedDecs, 18, "_handleRemoteVideoStatsUpdated"], [_decorator.bound, 2, "_syncShareStreamState"], [_handleStreamUpdateDecs, 18, "_handleStreamUpdate"], [_decorator.bound, 2, "startRenderSharePreview"], [_decorator.bound, 2, "stopRenderSharePreview"], [_syncScreenShareStreamInfosDecs, 18, "_syncScreenShareStreamInfos"], [_releaseDecs, 18, "release"], [_startShareScreenDecs, 18, "startShareScreen"], [_decorator.bound, 2, "stopShareScreen"], [_decorator.bound, 2, "stopShareScreenByExitRoom"], [_updateShareAudioPrivilegeDecs, 18, "_updateShareAudioPrivilege"], [_handleShareStopWithAudioDecs, 18, "_handleShareStopWithAudio"], [_handleShareStartWithAudioDecs, 18, "_handleShareStartWithAudio"], [_decorator.bound, 2, "toggleScreenshareWithAudio"], [_decorator.bound, 2, "_getExcludeWindows"], [_decorator.bound, 2, "removeScreenStream"], [_decorator.bound, 2, "_stopScreenTrack"], [_decorator.bound, 2, "_cleanShareWithAudioDataSource"]], []).e, 1);
|
|
830
849
|
_initProto = _applyDecs$e[0];
|
|
831
850
|
(0, _base.registerDependency)('screenShareProvider');
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { FcrScreenSharingState, FcrSharingControl, FcrWhiteboardState } from 'fcr-core/lib/room-control/sharing-control/type';
|
|
2
2
|
import { FcrScreenStreamCreateConfig } from 'fcr-core/lib/room-control/stream-control/type';
|
|
3
|
+
import { FcrUserControl } from 'fcr-core/lib/type';
|
|
3
4
|
import { FcrUIScreenShareSharedDataSource } from '../shared-data-source/screen-share-data';
|
|
5
|
+
import { FcrUISharedWhiteboardDataSource } from '../shared-data-source/whiteboard-data';
|
|
6
|
+
import { FcrUIWhiteboardProvider } from './whiteboard-provider';
|
|
4
7
|
export interface FcrUISharingProvider {
|
|
5
8
|
get screenSharingOwnerId(): string;
|
|
6
9
|
get whiteboardOwnerId(): string;
|
|
@@ -17,6 +20,9 @@ export interface FcrUISharingProvider {
|
|
|
17
20
|
export declare class FcrUISharingProviderImpl implements FcrUISharingProvider {
|
|
18
21
|
private _sharingControl;
|
|
19
22
|
private _sharedScreenShareSharedDataSource;
|
|
23
|
+
private _sharedWhiteboardDataSource;
|
|
24
|
+
private _whiteboardProvider;
|
|
25
|
+
private _userControl;
|
|
20
26
|
protected logger: import("agora-foundation/lib/logger").Logger;
|
|
21
27
|
private _observer;
|
|
22
28
|
accessor screenSharingOwnerId: string;
|
|
@@ -24,7 +30,7 @@ export declare class FcrUISharingProviderImpl implements FcrUISharingProvider {
|
|
|
24
30
|
accessor screenSharingState: FcrScreenSharingState;
|
|
25
31
|
accessor whiteboardState: FcrWhiteboardState;
|
|
26
32
|
get isSeizeStream(): boolean;
|
|
27
|
-
constructor(_sharingControl: FcrSharingControl, _sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource);
|
|
33
|
+
constructor(_sharingControl: FcrSharingControl, _sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource, _sharedWhiteboardDataSource: FcrUISharedWhiteboardDataSource, _whiteboardProvider: FcrUIWhiteboardProvider, _userControl: FcrUserControl);
|
|
28
34
|
startScreenSharing(config: FcrScreenStreamCreateConfig): void;
|
|
29
35
|
startWhiteboard(): void;
|
|
30
36
|
updateScreenSharing(enableAnnotation: boolean): void;
|
|
@@ -37,7 +37,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
37
37
|
value: true
|
|
38
38
|
});
|
|
39
39
|
exports.FcrUISharingProviderImpl = void 0;
|
|
40
|
+
require("core-js/modules/es.array.concat.js");
|
|
40
41
|
require("core-js/modules/es.array.iterator.js");
|
|
42
|
+
require("core-js/modules/es.date.to-json.js");
|
|
43
|
+
require("core-js/modules/es.json.stringify.js");
|
|
41
44
|
require("core-js/modules/es.object.to-string.js");
|
|
42
45
|
require("core-js/modules/es.string.iterator.js");
|
|
43
46
|
require("core-js/modules/es.weak-map.js");
|
|
@@ -71,7 +74,7 @@ var _B = /*#__PURE__*/new WeakMap();
|
|
|
71
74
|
var _C = /*#__PURE__*/new WeakMap();
|
|
72
75
|
var _D = /*#__PURE__*/new WeakMap();
|
|
73
76
|
var FcrUISharingProviderImpl = exports.FcrUISharingProviderImpl = /*#__PURE__*/function () {
|
|
74
|
-
function FcrUISharingProviderImpl(_sharingControl, _sharedScreenShareSharedDataSource) {
|
|
77
|
+
function FcrUISharingProviderImpl(_sharingControl, _sharedScreenShareSharedDataSource, _sharedWhiteboardDataSource, _whiteboardProvider, _userControl) {
|
|
75
78
|
var _this = this;
|
|
76
79
|
(0, _classCallCheck2["default"])(this, FcrUISharingProviderImpl);
|
|
77
80
|
(0, _defineProperty2["default"])(this, "logger", (_initProto(this), (0, _logger.createLogger)({
|
|
@@ -86,10 +89,30 @@ var FcrUISharingProviderImpl = exports.FcrUISharingProviderImpl = /*#__PURE__*/f
|
|
|
86
89
|
}
|
|
87
90
|
},
|
|
88
91
|
onWhiteboardStarted: function onWhiteboardStarted(ownerId, operatorUser) {
|
|
92
|
+
if (_this.whiteboardState === _type.FcrWhiteboardState.START) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
89
95
|
_this.whiteboardOwnerId = ownerId;
|
|
90
96
|
_this.whiteboardState = _type.FcrWhiteboardState.START;
|
|
97
|
+
var owner = _this._userControl.getUser(ownerId);
|
|
98
|
+
if (owner) {
|
|
99
|
+
_this._sharedWhiteboardDataSource.setSharingUser(owner);
|
|
100
|
+
}
|
|
101
|
+
var background = _this._whiteboardProvider.backgroundColor;
|
|
102
|
+
if (background) {
|
|
103
|
+
_this._sharedWhiteboardDataSource.setBackgroundColor(background);
|
|
104
|
+
}
|
|
105
|
+
_this.logger.info("[sharing-provider]: onWhiteboardStarted ".concat(ownerId, ", ").concat(JSON.stringify(operatorUser), ", backgroundColor: ").concat(_this._whiteboardProvider.backgroundColor));
|
|
91
106
|
},
|
|
92
107
|
onWhiteboardEnded: function onWhiteboardEnded(reason, operatorUser) {
|
|
108
|
+
if (_this.whiteboardState === _type.FcrWhiteboardState.END) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
_this._sharedWhiteboardDataSource.setJoinSuccess(false);
|
|
112
|
+
_this._sharedWhiteboardDataSource.setShowLoading(true);
|
|
113
|
+
_this._sharedWhiteboardDataSource.inActive();
|
|
114
|
+
_this._sharedWhiteboardDataSource.setSharingUser(undefined);
|
|
115
|
+
_this.logger.info("[sharing-provider]: onWhiteboardEnded, joinSuccess: ".concat(_this._sharedWhiteboardDataSource.joinSuccess));
|
|
93
116
|
_this.whiteboardState = _type.FcrWhiteboardState.END;
|
|
94
117
|
}
|
|
95
118
|
});
|
|
@@ -99,9 +122,22 @@ var FcrUISharingProviderImpl = exports.FcrUISharingProviderImpl = /*#__PURE__*/f
|
|
|
99
122
|
_classPrivateFieldInitSpec(this, _D, _init_whiteboardState(this, _type.FcrWhiteboardState.END));
|
|
100
123
|
this._sharingControl = _sharingControl;
|
|
101
124
|
this._sharedScreenShareSharedDataSource = _sharedScreenShareSharedDataSource;
|
|
102
|
-
|
|
103
|
-
|
|
125
|
+
this._sharedWhiteboardDataSource = _sharedWhiteboardDataSource;
|
|
126
|
+
this._whiteboardProvider = _whiteboardProvider;
|
|
127
|
+
this._userControl = _userControl;
|
|
104
128
|
this._sharingControl.addObserver(this._observer);
|
|
129
|
+
this.screenSharingState = this._sharingControl.getScreenSharingState();
|
|
130
|
+
this.whiteboardState = this._sharingControl.getWhiteboardState();
|
|
131
|
+
if (this.screenSharingState !== _type.FcrScreenSharingState.END) {
|
|
132
|
+
var _this$_sharedScreenSh;
|
|
133
|
+
this.screenSharingOwnerId = ((_this$_sharedScreenSh = this._sharedScreenShareSharedDataSource.screenSharingOwner) === null || _this$_sharedScreenSh === void 0 ? void 0 : _this$_sharedScreenSh.userId) || '';
|
|
134
|
+
}
|
|
135
|
+
if (this.whiteboardState === _type.FcrWhiteboardState.START) {
|
|
136
|
+
this.whiteboardOwnerId = this._sharingControl.getBoardControl().getOwnerId();
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// @ts-ignore
|
|
140
|
+
window._sharingProvider = this;
|
|
105
141
|
}
|
|
106
142
|
return (0, _createClass2["default"])(FcrUISharingProviderImpl, [{
|
|
107
143
|
key: "screenSharingOwnerId",
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { FcrPrivilegedWhiteboardControl } from 'fcr-core/lib/room-control/whiteboard-control-v2/whiteboard-control/type';
|
|
2
|
+
import { FcrConnectionState, FcrUserControl, FcrUserInfo } from 'fcr-core/lib/type';
|
|
3
|
+
import { FcrUISharedWhiteboardDataSource } from '../shared-data-source/whiteboard-data';
|
|
4
|
+
export interface FcrUIWhiteboardProvider {
|
|
5
|
+
get backgroundColor(): string;
|
|
6
|
+
get isActive(): boolean;
|
|
7
|
+
get connectionState(): FcrConnectionState;
|
|
8
|
+
get ownerUser(): FcrUserInfo | undefined;
|
|
9
|
+
setBackground: (color: string) => void;
|
|
10
|
+
}
|
|
11
|
+
export declare class FcrUIWhiteboardProviderImpl implements FcrUIWhiteboardProvider {
|
|
12
|
+
private _whiteboardControl;
|
|
13
|
+
private _sharedWhiteboardDataSource;
|
|
14
|
+
private _userControl;
|
|
15
|
+
protected logger: import("agora-foundation/lib/logger").Logger;
|
|
16
|
+
private _ownerUser;
|
|
17
|
+
private _whiteboardObserver;
|
|
18
|
+
get backgroundColor(): string;
|
|
19
|
+
get isActive(): boolean;
|
|
20
|
+
get connectionState(): FcrConnectionState;
|
|
21
|
+
get ownerUser(): FcrUserInfo | undefined;
|
|
22
|
+
constructor(_whiteboardControl: FcrPrivilegedWhiteboardControl, _sharedWhiteboardDataSource: FcrUISharedWhiteboardDataSource, _userControl: FcrUserControl);
|
|
23
|
+
setBackground(color: string): void;
|
|
24
|
+
}
|