fcr-ui-scene 3.7.2 → 3.7.3

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.
Files changed (246) hide show
  1. package/lib/creator.js +23 -44
  2. package/lib/electron/app.js +7 -0
  3. package/lib/electron/injections.d.ts +1 -1
  4. package/lib/electron/injections.js +5 -3
  5. package/lib/electron/main.js +3 -1
  6. package/lib/fragments/annotation/index.d.ts +1 -0
  7. package/lib/fragments/annotation/index.js +13 -7
  8. package/lib/fragments/annotation/store.d.ts +8 -4
  9. package/lib/fragments/annotation/store.js +351 -267
  10. package/lib/fragments/annotation/toolbar/components/color-tool/index.js +4 -0
  11. package/lib/fragments/annotation/toolbar/components/graphic-tool/index.js +4 -0
  12. package/lib/fragments/annotation/toolbar/components/item/item.d.ts +2 -0
  13. package/lib/fragments/annotation/toolbar/components/item/item.js +2 -4
  14. package/lib/fragments/annotation/toolbar/components/item/style.css +4 -2
  15. package/lib/fragments/annotation/toolbar/components/pen-tool/index.js +4 -0
  16. package/lib/fragments/annotation/utils.d.ts +1 -0
  17. package/lib/fragments/annotation/utils.js +27 -0
  18. package/lib/fragments/annotation/view.js +1 -6
  19. package/lib/fragments/base.js +5 -3
  20. package/lib/fragments/whiteboard/cursor.css +77 -0
  21. package/lib/fragments/whiteboard/index.d.ts +11 -0
  22. package/lib/fragments/whiteboard/index.js +91 -0
  23. package/lib/fragments/whiteboard/store.d.ts +31 -0
  24. package/lib/fragments/whiteboard/store.js +475 -0
  25. package/lib/fragments/whiteboard/style.css +4 -0
  26. package/lib/fragments/whiteboard/view.d.ts +4 -0
  27. package/lib/fragments/whiteboard/view.js +31 -0
  28. package/lib/index.d.ts +1 -0
  29. package/lib/index.js +1 -0
  30. package/lib/modules/action-bar/components/apps/index.js +15 -5
  31. package/lib/modules/action-bar/components/leave/index.js +4 -11
  32. package/lib/modules/action-bar/view.d.ts +1 -0
  33. package/lib/modules/action-bar/view.js +3 -2
  34. package/lib/modules/annotation/annotation-toolbar-store.d.ts +4 -11
  35. package/lib/modules/annotation/annotation-toolbar-store.js +46 -88
  36. package/lib/modules/annotation/index.d.ts +2 -0
  37. package/lib/modules/annotation/index.js +2 -2
  38. package/lib/modules/annotation/store.d.ts +11 -49
  39. package/lib/modules/annotation/store.js +135 -418
  40. package/lib/modules/annotation/view.js +3 -6
  41. package/lib/modules/components/control-bar/components/loading/index.css +76 -0
  42. package/lib/modules/components/control-bar/components/loading/index.d.ts +8 -0
  43. package/lib/modules/components/control-bar/components/loading/index.js +64 -0
  44. package/lib/modules/components/control-bar/components/loading/loading.png +0 -0
  45. package/lib/modules/components/control-bar/components/progress/index.d.ts +5 -0
  46. package/lib/modules/components/control-bar/components/progress/index.js +43 -0
  47. package/lib/modules/components/control-bar/components/progress/style.css +51 -0
  48. package/lib/modules/components/control-bar/components/switch-theme/index.css +99 -0
  49. package/lib/modules/components/control-bar/components/switch-theme/index.d.ts +9 -0
  50. package/lib/modules/components/control-bar/components/switch-theme/index.js +94 -0
  51. package/lib/modules/components/control-bar/components/switch-theme/item.d.ts +9 -0
  52. package/lib/modules/components/control-bar/components/switch-theme/item.js +54 -0
  53. package/lib/modules/components/control-bar/components/switch-theme/libs.d.ts +4 -0
  54. package/lib/modules/components/control-bar/components/switch-theme/libs.js +31 -0
  55. package/lib/modules/components/control-bar/index.css +87 -0
  56. package/lib/modules/components/control-bar/index.d.ts +20 -0
  57. package/lib/modules/components/control-bar/index.js +276 -0
  58. package/lib/modules/components/leave-meeting/components/index.css +0 -9
  59. package/lib/modules/components/leave-meeting/index.d.ts +2 -1
  60. package/lib/modules/components/leave-meeting/index.js +15 -7
  61. package/lib/modules/components/leave-meeting/portal.d.ts +6 -0
  62. package/lib/modules/components/leave-meeting/portal.js +29 -0
  63. package/lib/modules/components/leave-meeting/style.css +9 -0
  64. package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +5 -2
  65. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +19 -9
  66. package/lib/modules/components/member-window/components/member-actions/components/share-status.js +4 -4
  67. package/lib/modules/components/member-window/components/member-actions/index.js +13 -6
  68. package/lib/modules/components/member-window/components/member-actions/provider.d.ts +1 -0
  69. package/lib/modules/components/member-window/components/member-actions/provider.js +4 -3
  70. package/lib/modules/components/member-window/components/member-actions/store.d.ts +2 -1
  71. package/lib/modules/components/member-window/components/member-actions/store.js +5 -1
  72. package/lib/modules/components/member-window/index.css +4 -0
  73. package/lib/modules/components/member-window/types.d.ts +6 -2
  74. package/lib/modules/components/toolbar/components/capture-tool/index.d.ts +9 -0
  75. package/lib/modules/components/toolbar/components/capture-tool/index.js +68 -0
  76. package/lib/modules/components/toolbar/components/clean-tool/index.d.ts +11 -0
  77. package/lib/modules/components/toolbar/components/clean-tool/index.js +71 -0
  78. package/lib/modules/components/toolbar/components/color-tool/color-panel/index.d.ts +11 -0
  79. package/lib/modules/components/toolbar/components/color-tool/color-panel/index.js +77 -0
  80. package/lib/modules/components/toolbar/components/color-tool/index.d.ts +14 -0
  81. package/lib/modules/components/toolbar/components/color-tool/index.js +66 -0
  82. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/index.d.ts +11 -0
  83. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/index.js +64 -0
  84. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +12 -0
  85. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/libs.js +65 -0
  86. package/lib/modules/components/toolbar/components/graphic-tool/index.d.ts +15 -0
  87. package/lib/modules/components/toolbar/components/graphic-tool/index.js +82 -0
  88. package/lib/modules/components/toolbar/components/group-tool/index.d.ts +5 -0
  89. package/lib/modules/components/toolbar/components/group-tool/index.js +43 -0
  90. package/lib/modules/components/toolbar/components/icons/fold-icon.d.ts +2 -0
  91. package/lib/modules/components/toolbar/components/icons/fold-icon.js +41 -0
  92. package/lib/modules/components/toolbar/components/icons/move-icon.d.ts +1 -0
  93. package/lib/modules/components/toolbar/components/icons/move-icon.js +66 -0
  94. package/lib/modules/components/toolbar/components/item/index.d.ts +25 -0
  95. package/lib/modules/components/toolbar/components/item/index.js +165 -0
  96. package/lib/modules/components/toolbar/components/item/style.css +94 -0
  97. package/lib/modules/components/toolbar/components/multiple-color-tool/index.d.ts +12 -0
  98. package/lib/modules/components/toolbar/components/multiple-color-tool/index.js +75 -0
  99. package/lib/modules/components/toolbar/components/panel/index.d.ts +9 -0
  100. package/lib/modules/components/toolbar/components/panel/index.js +28 -0
  101. package/lib/modules/components/toolbar/components/panel/style.css +86 -0
  102. package/lib/modules/components/toolbar/components/pen-tool/index.d.ts +13 -0
  103. package/lib/modules/components/toolbar/components/pen-tool/index.js +62 -0
  104. package/lib/modules/components/toolbar/components/pen-tool/pen-panel/index.d.ts +8 -0
  105. package/lib/modules/components/toolbar/components/pen-tool/pen-panel/index.js +39 -0
  106. package/lib/modules/components/toolbar/components/save-draft/index.d.ts +7 -0
  107. package/lib/modules/components/toolbar/components/save-draft/index.js +59 -0
  108. package/lib/modules/components/toolbar/components/vertical-frame/index.d.ts +8 -0
  109. package/lib/modules/components/toolbar/components/vertical-frame/index.js +179 -0
  110. package/lib/modules/components/toolbar/hooks/use-resize-visible.d.ts +4 -0
  111. package/lib/modules/components/toolbar/hooks/use-resize-visible.js +59 -0
  112. package/lib/modules/components/toolbar/index.d.ts +29 -0
  113. package/lib/modules/components/toolbar/index.js +258 -0
  114. package/lib/modules/components/toolbar/style.css +85 -0
  115. package/lib/modules/components/toolbar/types.d.ts +13 -0
  116. package/lib/modules/components/toolbar/types.js +6 -0
  117. package/lib/modules/control-bar/components/more-actions/index.js +0 -6
  118. package/lib/modules/control-bar/components/share-state-nav/index.js +3 -2
  119. package/lib/modules/control-bar/index.js +2 -1
  120. package/lib/modules/control-bar/store.d.ts +7 -6
  121. package/lib/modules/control-bar/store.js +28 -21
  122. package/lib/modules/control-bar/view.js +7 -55
  123. package/lib/modules/dialog/dialogs/control-bar/index.d.ts +1 -0
  124. package/lib/modules/dialog/dialogs/control-bar/index.js +17 -3
  125. package/lib/modules/dialog/dialogs/participant/components/title.js +1 -1
  126. package/lib/modules/dialog/dialogs/sub-window/index.d.ts +2 -0
  127. package/lib/modules/dialog/dialogs/sub-window/index.js +98 -0
  128. package/lib/modules/dialog/dialogs/video-window/index.d.ts +1 -0
  129. package/lib/modules/dialog/dialogs/video-window/index.js +3 -2
  130. package/lib/modules/dialog/dialogs/whiteboard/index.js +0 -1
  131. package/lib/modules/dialog/hooks/use-popover-watcher.js +1 -2
  132. package/lib/modules/dialog/hooks/useElectron.d.ts +13 -0
  133. package/lib/modules/dialog/hooks/useElectron.js +62 -12
  134. package/lib/modules/dialog/index.d.ts +6 -3
  135. package/lib/modules/dialog/index.js +5 -3
  136. package/lib/modules/dialog/store.d.ts +21 -8
  137. package/lib/modules/dialog/store.js +79 -11
  138. package/lib/modules/dialog/type.d.ts +8 -0
  139. package/lib/modules/event-confirm/index.css +5 -2
  140. package/lib/modules/event-confirm/store.js +6 -7
  141. package/lib/modules/event-confirm/view.js +1 -1
  142. package/lib/modules/event-sound/index.d.ts +1 -0
  143. package/lib/modules/event-sound/index.js +11 -24
  144. package/lib/modules/invite/components/pstn-invite.js +0 -1
  145. package/lib/modules/layout/components/CommonVideoRenderer.js +21 -21
  146. package/lib/modules/layout/components/who-is-speaking.js +3 -6
  147. package/lib/modules/layout/index.d.ts +3 -1
  148. package/lib/modules/layout/index.js +2 -1
  149. package/lib/modules/layout/store.d.ts +7 -59
  150. package/lib/modules/layout/store.js +126 -24
  151. package/lib/modules/layout/type.d.ts +55 -0
  152. package/lib/modules/participant/components/can-moveable/index.js +0 -1
  153. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +4 -2
  154. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +14 -2
  155. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.d.ts +1 -1
  156. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.js +3 -2
  157. package/lib/modules/participant/components/participants/components/participants/index.js +3 -2
  158. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.d.ts +1 -0
  159. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.js +3 -1
  160. package/lib/modules/participant/components/participants/components/render-user/components/user-action/index.js +4 -2
  161. package/lib/modules/participant/components/participants/components/render-user/index.d.ts +4 -2
  162. package/lib/modules/participant/components/participants/components/render-user/index.js +5 -3
  163. package/lib/modules/participant/components/participants/index.js +5 -2
  164. package/lib/modules/participant/components/participants/types.d.ts +3 -0
  165. package/lib/modules/participant/index.d.ts +2 -0
  166. package/lib/modules/participant/index.js +2 -1
  167. package/lib/modules/participant/store.d.ts +5 -1
  168. package/lib/modules/participant/store.js +8 -1
  169. package/lib/modules/secondary-window/index.d.ts +49 -0
  170. package/lib/modules/secondary-window/index.js +108 -0
  171. package/lib/modules/secondary-window/store.d.ts +76 -0
  172. package/lib/modules/secondary-window/store.js +407 -0
  173. package/lib/modules/secondary-window/type.d.ts +106 -0
  174. package/lib/modules/secondary-window/type.js +35 -0
  175. package/lib/modules/secondary-window/view.d.ts +6 -0
  176. package/lib/modules/secondary-window/view.js +257 -0
  177. package/lib/modules/setting/general-settings/general-settings.js +9 -0
  178. package/lib/modules/setting/state/index.js +0 -10
  179. package/lib/modules/setting/store.d.ts +1 -0
  180. package/lib/modules/setting/store.js +6 -3
  181. package/lib/modules/share-screen/components/control-bar/index.d.ts +14 -1
  182. package/lib/modules/share-screen/components/control-bar/index.js +17 -12
  183. package/lib/modules/share-screen/components/selection/index.js +10 -15
  184. package/lib/modules/share-screen/index.d.ts +4 -1
  185. package/lib/modules/share-screen/index.js +6 -3
  186. package/lib/modules/share-screen/store.d.ts +9 -9
  187. package/lib/modules/share-screen/store.js +39 -64
  188. package/lib/modules/state-bar/index.d.ts +2 -0
  189. package/lib/modules/state-bar/index.js +2 -1
  190. package/lib/modules/state-bar/live-streaming-state.js +0 -1
  191. package/lib/modules/state-bar/store.d.ts +5 -2
  192. package/lib/modules/state-bar/store.js +14 -7
  193. package/lib/modules/state-bar/view.js +3 -3
  194. package/lib/modules/video-window/components/members/index.js +7 -12
  195. package/lib/modules/video-window/store.d.ts +1 -0
  196. package/lib/modules/video-window/store.js +5 -0
  197. package/lib/modules/whiteboard/components/toolbar/store.d.ts +2 -2
  198. package/lib/modules/whiteboard/index.d.ts +10 -13
  199. package/lib/modules/whiteboard/index.js +12 -11
  200. package/lib/providers/ability-provider.js +2 -0
  201. package/lib/providers/device-provider.d.ts +6 -3
  202. package/lib/providers/device-provider.js +331 -333
  203. package/lib/providers/multi-display-provider.d.ts +85 -0
  204. package/lib/providers/multi-display-provider.js +581 -0
  205. package/lib/providers/privilege-provider.js +1 -7
  206. package/lib/providers/room-provider.js +7 -1
  207. package/lib/providers/screen-share-provider.d.ts +3 -1
  208. package/lib/providers/screen-share-provider.js +39 -40
  209. package/lib/providers/sharing-provider.d.ts +7 -1
  210. package/lib/providers/sharing-provider.js +32 -3
  211. package/lib/providers/whiteboard-provider.d.ts +24 -0
  212. package/lib/providers/whiteboard-provider.js +127 -0
  213. package/lib/runtime.d.ts +1 -0
  214. package/lib/scenes/main-scene.d.ts +6 -0
  215. package/lib/scenes/main-scene.js +38 -2
  216. package/lib/scenes/waiting-scene.d.ts +0 -2
  217. package/lib/scenes/waiting-scene.js +0 -6
  218. package/lib/shared-data-source/member-data.d.ts +2 -2
  219. package/lib/shared-data-source/screen-share-data.d.ts +6 -0
  220. package/lib/shared-data-source/screen-share-data.js +5 -0
  221. package/lib/shared-data-source/setting.js +2 -1
  222. package/lib/shared-data-source/video-window.js +1 -2
  223. package/lib/shared-data-source/whiteboard-data.d.ts +68 -0
  224. package/lib/shared-data-source/whiteboard-data.js +347 -0
  225. package/lib/translations/enUS.d.ts +1 -0
  226. package/lib/translations/enUS.js +2 -1
  227. package/lib/translations/zhCN.d.ts +1 -0
  228. package/lib/translations/zhCN.js +2 -1
  229. package/lib/ui-scene.d.ts +0 -1
  230. package/lib/ui-scene.js +0 -3
  231. package/lib/utilities/constant.d.ts +4 -2
  232. package/lib/utilities/constant.js +3 -1
  233. package/lib/utilities/debug.d.ts +4 -0
  234. package/lib/utilities/debug.js +40 -0
  235. package/lib/utilities/dialog-utils.js +26 -4
  236. package/lib/utilities/meeting-detail.js +4 -1
  237. package/lib/utilities/renderer-event.d.ts +4 -6
  238. package/lib/utilities/renderer-event.js +23 -43
  239. package/lib/utilities/renderer.d.ts +1 -1
  240. package/lib/utilities/renderer.js +44 -10
  241. package/lib/utilities/shared-storage.d.ts +18 -0
  242. package/lib/utilities/shared-storage.js +63 -0
  243. package/lib/utilities/tools.js +2 -1
  244. package/package.json +5 -6
  245. package/lib/electron/tools.d.ts +0 -5
  246. package/lib/electron/tools.js +0 -62
@@ -0,0 +1,257 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.SubWindowView = void 0;
9
+ var _mobxReact = require("mobx-react");
10
+ var _useElectron = require("../dialog/hooks/useElectron");
11
+ var _react = require("react");
12
+ var _store = require("./store");
13
+ var _imports = require("fcr-core/lib/imports");
14
+ var _memberWindow = require("../components/member-window");
15
+ var _controlBar = require("../components/control-bar");
16
+ var _loading = require("../components/control-bar/components/loading");
17
+ var _toolbar = require("../components/toolbar");
18
+ var _enums = require("fcr-core/lib/room-control/whiteboard-control/enums");
19
+ var _type = require("./type");
20
+ var _progress = _interopRequireDefault(require("../components/control-bar/components/progress"));
21
+ var _i18n = require("agora-ui-foundation/lib/i18n");
22
+ var _portal = require("../components/leave-meeting/portal");
23
+ var _jsxRuntime = require("react/jsx-runtime");
24
+ var SubWindowView = exports.SubWindowView = (0, _mobxReact.observer)(function (props) {
25
+ var renderScreenShareControl = props.renderScreenShareControl;
26
+ var _useContext = (0, _react.useContext)(_useElectron.DialogInstanceContext),
27
+ continueClose = _useContext.continueClose,
28
+ baseUrl = _useContext.baseUrl,
29
+ interceptedClose = _useContext.interceptedClose,
30
+ setInterceptedClose = _useContext.setInterceptedClose,
31
+ newRendererWindow = _useContext.newRendererWindow;
32
+ var _useContext2 = (0, _react.useContext)(_store.SecondaryWindowStoreContext),
33
+ joinSuccess = _useContext2.joinSuccess,
34
+ currentUser = _useContext2.currentUser,
35
+ isHost = _useContext2.isHost,
36
+ canWriteBoard = _useContext2.canWriteBoard,
37
+ videoWindowData = _useContext2.videoWindowData,
38
+ toolbarState = _useContext2.toolbarState,
39
+ scalValue = _useContext2.scalValue,
40
+ currentTheme = _useContext2.currentTheme,
41
+ secondaryWindowContentType = _useContext2.secondaryWindowContentType,
42
+ connectionState = _useContext2.connectionState,
43
+ showLoading = _useContext2.showLoading,
44
+ isScreenShare = _useContext2.isScreenShare,
45
+ isBoardShare = _useContext2.isBoardShare,
46
+ annotationHasStart = _useContext2.annotationHasStart,
47
+ isZoomMinimum = _useContext2.isZoomMinimum,
48
+ isZoomMaxmum = _useContext2.isZoomMaxmum,
49
+ isCurrentOriginal = _useContext2.isCurrentOriginal,
50
+ isAspectRatioPreserved = _useContext2.isAspectRatioPreserved,
51
+ isShowToolbar = _useContext2.isShowToolbar,
52
+ setOriginScalc = _useContext2.setOriginScalc,
53
+ zoomIn = _useContext2.zoomIn,
54
+ zoomOut = _useContext2.zoomOut,
55
+ fullContainer = _useContext2.fullContainer,
56
+ setTheme = _useContext2.setTheme,
57
+ setScaleValue = _useContext2.setScaleValue,
58
+ handleIframeLoad = _useContext2.handleIframeLoad,
59
+ setControlEnable = _useContext2.setControlEnable,
60
+ setWhiteboardTool = _useContext2.setWhiteboardTool,
61
+ setShowLoading = _useContext2.setShowLoading,
62
+ setCommonColors = _useContext2.setCommonColors,
63
+ saveWhiteboardDraft = _useContext2.saveWhiteboardDraft,
64
+ setProgress = _useContext2.setProgress,
65
+ log = _useContext2.log,
66
+ setSpeakerViewSize = _useContext2.setSpeakerViewSize;
67
+ var videoWindowContainer = (0, _react.useRef)(null);
68
+ var handleClick = function handleClick() {
69
+ setInterceptedClose(false);
70
+ };
71
+ (0, _react.useEffect)(function () {
72
+ log("[SubWindowView]: baseUrl: ".concat(baseUrl));
73
+ newRendererWindow.addEventListener('click', handleClick);
74
+ return function () {
75
+ newRendererWindow.removeEventListener('click', handleClick);
76
+ };
77
+ }, []);
78
+ (0, _react.useLayoutEffect)(function () {
79
+ var _videoWindowContainer;
80
+ var rect = (_videoWindowContainer = videoWindowContainer.current) === null || _videoWindowContainer === void 0 ? void 0 : _videoWindowContainer.getBoundingClientRect();
81
+ if (rect) {
82
+ var width = rect.width,
83
+ height = rect.height;
84
+ setSpeakerViewSize(width, height);
85
+ }
86
+ }, [secondaryWindowContentType]);
87
+ if (!videoWindowData) {
88
+ return null;
89
+ }
90
+ var content = null;
91
+ if (isBoardShare) {
92
+ content = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
93
+ children: [showLoading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_loading.Loading, {
94
+ joined: joinSuccess,
95
+ connectionState: connectionState,
96
+ canOperate: canWriteBoard,
97
+ handleClose: function handleClose() {
98
+ return setShowLoading(false);
99
+ }
100
+ }), toolbarState.progress > 0 && toolbarState.progress < 100 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_progress["default"], {
101
+ title: "".concat((0, _i18n.transI18n)('fmt_screenshare_whiteboard_tips_downloading'), "..."),
102
+ progress: toolbarState.progress
103
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_controlBar.WhiteboardControlbar, {
104
+ onClose: function onClose() {},
105
+ onEnable: function onEnable(enable) {
106
+ setControlEnable(enable);
107
+ },
108
+ setTheme: setTheme,
109
+ ownerUser: {
110
+ userId: videoWindowData.userId,
111
+ userName: videoWindowData.userName
112
+ },
113
+ currentUser: currentUser,
114
+ canWriteBoard: canWriteBoard,
115
+ controlEnabled: toolbarState.controlEnable,
116
+ isHost: isHost,
117
+ currentTheme: currentTheme,
118
+ sharingType: 'whiteboard',
119
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("iframe", {
120
+ ref: handleIframeLoad,
121
+ allow: "webview",
122
+ src: "".concat(baseUrl, "/whiteboard.html?type=whiteboard"),
123
+ style: {
124
+ width: '100vw',
125
+ height: '100vh',
126
+ minWidth: '100vw',
127
+ minHeight: '100vh'
128
+ }
129
+ })
130
+ })]
131
+ });
132
+ } else {
133
+ content = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
134
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_memberWindow.MemberWindow, {
135
+ onRemovePin: function onRemovePin() {},
136
+ canShowSpeakerSpotlight: true,
137
+ width: Infinity,
138
+ height: Infinity,
139
+ videoRenderMode: _imports.AgoraRtcRenderMode.FIT,
140
+ videoStreamType: _imports.AgoraRtcVideoStreamType.HIGH_STREAM,
141
+ windowData: videoWindowData,
142
+ showAvatar: true,
143
+ isVideoSuspended: false,
144
+ enableZoom: true,
145
+ scalcValue: scalValue,
146
+ onScaleChange: setScaleValue
147
+ }), secondaryWindowContentType === _type.FcrUIDisplayDistributionContentType.SHARING_SCREEN_WITH_ANNOTATION && annotationHasStart && /*#__PURE__*/(0, _jsxRuntime.jsx)("iframe", {
148
+ ref: handleIframeLoad,
149
+ allow: "webview",
150
+ src: "".concat(baseUrl, "/whiteboard.html?type=annotation"),
151
+ style: {
152
+ width: '100%',
153
+ height: '100%',
154
+ position: 'absolute',
155
+ top: 0,
156
+ left: 0,
157
+ background: 'transparent',
158
+ zIndex: 10
159
+ }
160
+ }), !isShowToolbar && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
161
+ className: "annotation-action-prevent"
162
+ }), isScreenShare && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
163
+ style: {
164
+ width: '100%',
165
+ position: 'absolute',
166
+ top: '-28px'
167
+ },
168
+ children: renderScreenShareControl({
169
+ isZoomMinimum: isZoomMinimum,
170
+ isZoomMaxmum: isZoomMaxmum,
171
+ isCurrentOriginal: isCurrentOriginal,
172
+ isAspectRatioPreserved: isAspectRatioPreserved,
173
+ setOriginScalc: setOriginScalc,
174
+ zoomIn: zoomIn,
175
+ zoomOut: zoomOut,
176
+ fullContainer: fullContainer,
177
+ isShowToolbarToggle: !showLoading && joinSuccess && canWriteBoard
178
+ })
179
+ })]
180
+ });
181
+ }
182
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
183
+ ref: videoWindowContainer,
184
+ className: "sub-window-view",
185
+ style: {
186
+ width: '100%',
187
+ height: isScreenShare ? 'calc(100% - 28px)' : '100%',
188
+ position: 'relative',
189
+ top: isScreenShare ? 28 : 0
190
+ },
191
+ children: [interceptedClose && /*#__PURE__*/(0, _jsxRuntime.jsx)(_portal.LeaveMeetingPortal, {
192
+ onLeave: continueClose,
193
+ setPopoverOpened: function setPopoverOpened() {
194
+ return setInterceptedClose(false);
195
+ }
196
+ }), content, (isBoardShare || isScreenShare) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_toolbar.WhiteboardToolbar, {
197
+ offsetTop: 28,
198
+ direction: "vertical",
199
+ container: videoWindowContainer.current || undefined,
200
+ show: canWriteBoard && joinSuccess && isShowToolbar && !showLoading,
201
+ currentStrokeWidth: toolbarState.currentStrokeWidth,
202
+ currentColor: toolbarState.currentColor,
203
+ currentTool: toolbarState.currentTool,
204
+ currentShape: toolbarState.currentShape,
205
+ redoSteps: toolbarState.redoSteps,
206
+ undoSteps: toolbarState.undoSteps,
207
+ commonColors: isBoardShare ? toolbarState.commonColors : undefined,
208
+ themeColors: toolbarState.themeColors,
209
+ setCommonColors: setCommonColors,
210
+ setStrokeWidth: function setStrokeWidth(width) {
211
+ setWhiteboardTool({
212
+ action: _type.WhiteboardToolAction.WIDTH,
213
+ tool: width
214
+ });
215
+ },
216
+ setTool: function setTool(tool) {
217
+ setWhiteboardTool({
218
+ action: _type.WhiteboardToolAction.TOOL,
219
+ tool: tool
220
+ });
221
+ },
222
+ setShape: function setShape(shape) {
223
+ setWhiteboardTool({
224
+ action: _type.WhiteboardToolAction.SHAPE,
225
+ tool: shape
226
+ });
227
+ },
228
+ setStrokeColor: function setStrokeColor(color) {
229
+ setWhiteboardTool({
230
+ action: _type.WhiteboardToolAction.COLOR,
231
+ tool: color
232
+ });
233
+ },
234
+ undo: function undo() {
235
+ return setWhiteboardTool({
236
+ action: _type.WhiteboardToolAction.UNDO,
237
+ tool: _enums.FcrBoardToolType.NONE
238
+ });
239
+ },
240
+ redo: function redo() {
241
+ return setWhiteboardTool({
242
+ action: _type.WhiteboardToolAction.REDO,
243
+ tool: _enums.FcrBoardToolType.NONE
244
+ });
245
+ },
246
+ clean: function clean() {
247
+ return setWhiteboardTool({
248
+ action: _type.WhiteboardToolAction.CLEAR,
249
+ tool: _enums.FcrBoardToolType.NONE
250
+ });
251
+ },
252
+ onSave: isBoardShare ? saveWhiteboardDraft : undefined,
253
+ progress: toolbarState.progress,
254
+ setProgress: setProgress
255
+ })]
256
+ });
257
+ });
@@ -77,6 +77,15 @@ var GeneralSettings = exports.GeneralSettings = (0, _mobxReact.observer)(functio
77
77
  });
78
78
  }
79
79
  }
80
+ }, {
81
+ label: t('fmt_settings_general_label_dual_display'),
82
+ tooltip: t('fmt_settings_tips_dual_display'),
83
+ checked: setting.isDualDisplayMode,
84
+ onChange: function onChange(isDualDisplayMode) {
85
+ setSetting({
86
+ isDualDisplayMode: isDualDisplayMode
87
+ });
88
+ }
80
89
  }];
81
90
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
82
91
  className: ns.b(),
@@ -84,16 +84,6 @@ var State = exports.State = (0, _mobxReact.observer)(function () {
84
84
  systemMemorySize = _useContext.systemMemorySize,
85
85
  systemCpuDesc = _useContext.systemCpuDesc,
86
86
  isWifiConnected = _useContext.isWifiConnected;
87
-
88
- // useEffect(() => {
89
- // if (activeKey === 'universal') {
90
- // getSystemInformation();
91
- // } else {
92
- // clearGetSystemInfoInterval();
93
- // }
94
- // return () => clearGetSystemInfoInterval();
95
- // }, [activeKey]);
96
-
97
87
  var networkUIData = (0, _react.useMemo)(function () {
98
88
  return [{
99
89
  title: t('fmt_internalsetting_labels_bandwidth'),
@@ -59,6 +59,7 @@ export interface FcrUICustomSetting {
59
59
  isPlaySound: boolean;
60
60
  language: string;
61
61
  shouldHideMyVideo: boolean;
62
+ isDualDisplayMode: boolean;
62
63
  }
63
64
  export { DEFAULT_BEAUTY_VALUE };
64
65
  export type BeautyKey = 'none' | 'smoothnessLevel' | 'lighteningLevel' | 'lighteningLevel';
@@ -1034,9 +1034,12 @@ var SettingStore = exports["default"] = /*#__PURE__*/function () {
1034
1034
  })) {
1035
1035
  _this6._deviceProvider.setCameraId(value);
1036
1036
  } else {
1037
- _this6._setMeetingSettingsToLocalStorage({
1038
- cameraId: _this6._deviceProvider.cameraList[0].deviceId
1039
- });
1037
+ var isDeviceListNotEmpty = _this6._deviceProvider.cameraList.length > 0;
1038
+ if (isDeviceListNotEmpty) {
1039
+ _this6._setMeetingSettingsToLocalStorage({
1040
+ cameraId: _this6._deviceProvider.cameraList[0].deviceId
1041
+ });
1042
+ }
1040
1043
  }
1041
1044
  },
1042
1045
  microphoneId: function microphoneId(value) {
@@ -1,3 +1,16 @@
1
1
  import './index.css';
2
- declare const FcrScreenShareControlBar: () => import("react/jsx-runtime").JSX.Element;
2
+ export type FcrScreenShareControlBarProps = {
3
+ secondaryWindowProprs?: {
4
+ isZoomMinimum: boolean;
5
+ isZoomMaxmum: boolean;
6
+ isCurrentOriginal: boolean;
7
+ isAspectRatioPreserved: boolean;
8
+ isShowToolbarToggle: boolean;
9
+ setOriginScalc: () => void;
10
+ zoomIn: () => void;
11
+ zoomOut: () => void;
12
+ fullContainer: () => void;
13
+ };
14
+ };
15
+ declare const FcrScreenShareControlBar: React.FC<FcrScreenShareControlBarProps>;
3
16
  export default FcrScreenShareControlBar;
@@ -20,7 +20,9 @@ var _originalSizeBtn = _interopRequireDefault(require("./items/original-size-btn
20
20
  var _annotationEditBtn = _interopRequireDefault(require("./items/annotation-edit-btn"));
21
21
  require("./index.css");
22
22
  var _jsxRuntime = require("react/jsx-runtime");
23
- var FcrScreenShareControlBar = (0, _mobxReact.observer)(function () {
23
+ var FcrScreenShareControlBar = (0, _mobxReact.observer)(function (props) {
24
+ var _secondaryWindowPropr, _secondaryWindowPropr2, _secondaryWindowPropr3, _secondaryWindowPropr4;
25
+ var secondaryWindowProprs = props.secondaryWindowProprs;
24
26
  var _useContext = (0, _react.useContext)(_store.StoreContext),
25
27
  screenShareWindowData = _useContext.screenShareWindowData,
26
28
  zoomIn = _useContext.zoomIn,
@@ -40,6 +42,9 @@ var FcrScreenShareControlBar = (0, _mobxReact.observer)(function () {
40
42
  var transI18n = (0, _i18n.useI18n)();
41
43
  var hasScreenSharing = screenShareWindowData && screenShareWindowData.videoSourceType === _fcrCore.FcrVideoSourceType.SCREEN;
42
44
  var hasLoopbackAudioStream = hasScreenSharing && screenShareWindowData.hasLoopbackSharing && screenShareWindowData.hasMicrophoneAudioStream;
45
+ var clickFn = (0, _react.useCallback)(function () {
46
+ toggleIsShowToolbar();
47
+ }, []);
43
48
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
44
49
  className: "fcr-screen-share-controlbar",
45
50
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
@@ -62,25 +67,25 @@ var FcrScreenShareControlBar = (0, _mobxReact.observer)(function () {
62
67
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
63
68
  className: "fcr-screen-share-controlbar-center",
64
69
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_zoomInBtn["default"], {
65
- isMinimum: isZoomMinimum,
66
- zoomIn: zoomIn
70
+ isMinimum: (_secondaryWindowPropr = secondaryWindowProprs === null || secondaryWindowProprs === void 0 ? void 0 : secondaryWindowProprs.isZoomMinimum) !== null && _secondaryWindowPropr !== void 0 ? _secondaryWindowPropr : isZoomMinimum,
71
+ zoomIn: (secondaryWindowProprs === null || secondaryWindowProprs === void 0 ? void 0 : secondaryWindowProprs.zoomIn) || zoomIn
67
72
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_zoomOutBtn["default"], {
68
- isMaxmum: isZoomMaxmum,
69
- zoomOut: zoomOut
73
+ isMaxmum: (_secondaryWindowPropr2 = secondaryWindowProprs === null || secondaryWindowProprs === void 0 ? void 0 : secondaryWindowProprs.isZoomMaxmum) !== null && _secondaryWindowPropr2 !== void 0 ? _secondaryWindowPropr2 : isZoomMaxmum,
74
+ zoomOut: (secondaryWindowProprs === null || secondaryWindowProprs === void 0 ? void 0 : secondaryWindowProprs.zoomOut) || zoomOut
70
75
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_fullContainerBtn["default"], {
71
- isAdaptived: isAspectRatioPreserved,
72
- fullContainer: fullContainer
76
+ isAdaptived: (_secondaryWindowPropr3 = secondaryWindowProprs === null || secondaryWindowProprs === void 0 ? void 0 : secondaryWindowProprs.isAspectRatioPreserved) !== null && _secondaryWindowPropr3 !== void 0 ? _secondaryWindowPropr3 : isAspectRatioPreserved,
77
+ fullContainer: (secondaryWindowProprs === null || secondaryWindowProprs === void 0 ? void 0 : secondaryWindowProprs.fullContainer) || fullContainer
73
78
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_originalSizeBtn["default"], {
74
- isOriginal: isCurrentOriginal,
75
- setOriginScalc: setOriginScalc
79
+ isOriginal: (_secondaryWindowPropr4 = secondaryWindowProprs === null || secondaryWindowProprs === void 0 ? void 0 : secondaryWindowProprs.isCurrentOriginal) !== null && _secondaryWindowPropr4 !== void 0 ? _secondaryWindowPropr4 : isCurrentOriginal,
80
+ setOriginScalc: (secondaryWindowProprs === null || secondaryWindowProprs === void 0 ? void 0 : secondaryWindowProprs.setOriginScalc) || setOriginScalc
76
81
  })]
77
82
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
78
83
  className: "fcr-screen-share-controlbar-right",
79
- children: isAnnotationSupported() && annotationHasStart && participantShareCanWeAnnotation() && /*#__PURE__*/(0, _jsxRuntime.jsx)(_annotationEditBtn["default"], {
80
- visible: annotationHasStart,
84
+ children: isAnnotationSupported && annotationHasStart && participantShareCanWeAnnotation() && /*#__PURE__*/(0, _jsxRuntime.jsx)(_annotationEditBtn["default"], {
85
+ visible: secondaryWindowProprs ? secondaryWindowProprs.isShowToolbarToggle : annotationHasStart,
81
86
  disable: !allowAnnotationSelfWriteState,
82
87
  isShowToolbar: isShowToolbar,
83
- clickFn: toggleIsShowToolbar
88
+ clickFn: clickFn
84
89
  })
85
90
  })]
86
91
  });
@@ -58,18 +58,17 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
58
58
  var _card = require("agora-ui-foundation/lib/components/card");
59
59
  var _type = require("agora-rte-sdk/lib/core/rtc/type");
60
60
  var _button = require("agora-ui-foundation/lib/components/button");
61
- var _shareAudio = require("agora-ui-foundation/lib/components/room-screen-share-state-bar/share-audio");
62
- var _debounce = _interopRequireDefault(require("lodash/debounce"));
63
61
  var _mobxReact = require("mobx-react");
64
62
  var _react = require("react");
65
63
  var _tools = require("../../../../utilities/tools");
66
64
  var _type2 = require("../../../../type");
67
65
  var _tooltip = require("agora-ui-foundation/lib/components/tooltip");
68
66
  var _i18n = require("agora-ui-foundation/lib/i18n");
69
- require("./index.css");
70
67
  var _store = require("../../store");
71
68
  var _icon = require("agora-ui-foundation/lib/components/icon");
72
69
  var _shareScenario = require("../share-scenario");
70
+ var _shareAudio = require("agora-ui-foundation/lib/components/room-screen-share-state-bar/share-audio");
71
+ require("./index.css");
73
72
  var _jsxRuntime = require("react/jsx-runtime");
74
73
  var ShareSelection = exports.ShareSelection = (0, _mobxReact.observer)(function () {
75
74
  var _useContext = (0, _react.useContext)(_store.StoreContext),
@@ -92,18 +91,18 @@ var ShareSelection = exports.ShareSelection = (0, _mobxReact.observer)(function
92
91
  toggleShareWithScenarioType = _useContext.toggleShareWithScenarioType,
93
92
  cardChooseBounds = _useContext.cardChooseBounds,
94
93
  setCardChooseBounds = _useContext.setCardChooseBounds;
94
+ var transI18n = (0, _i18n.useI18n)();
95
95
  var _useState = (0, _react.useState)(false),
96
96
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
97
97
  currentInAudio = _useState2[0],
98
98
  setCurrentInAudio = _useState2[1];
99
- var handleToggleScreenShareWithAudioBeforeShare = function handleToggleScreenShareWithAudioBeforeShare() {
100
- setCurrentInAudio(!currentInAudio);
101
- };
102
99
  var _useState3 = (0, _react.useState)(false),
103
100
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
104
101
  loading = _useState4[0],
105
102
  setLoading = _useState4[1];
106
- var t = (0, _i18n.useI18n)();
103
+ var handleToggleScreenShareWithAudioBeforeShare = function handleToggleScreenShareWithAudioBeforeShare() {
104
+ setCurrentInAudio(!currentInAudio);
105
+ };
107
106
  (0, _react.useEffect)(function () {
108
107
  setLoading(false);
109
108
  setShareWithAudioState(shareWithAudio);
@@ -111,10 +110,7 @@ var ShareSelection = exports.ShareSelection = (0, _mobxReact.observer)(function
111
110
  setLoading(false);
112
111
  };
113
112
  }, []);
114
- var handleOkClick = (0, _react.useCallback)((0, _debounce["default"])(function () {
115
- // 不能判断 cardChooseBounds 是否为空值,白板一定是空值
116
- // 注意此处 case 应该覆盖双击共享屏幕和选择共享屏幕后点击 “开始共享” 按钮,同时在屏幕共享时,能双击和点击“开始共享“按钮发起白板共享”
117
- // 测试标注时,发起端和接收端都需要可绘制,尺寸一致,并可同步画笔轨迹
113
+ var handleOkClick = (0, _react.useCallback)(function () {
118
114
  if (currentSelectionId) {
119
115
  handleToggleScreenShareWithAudio(currentInAudio);
120
116
  setLoading(true);
@@ -122,8 +118,7 @@ var ShareSelection = exports.ShareSelection = (0, _mobxReact.observer)(function
122
118
  setLoading(false);
123
119
  });
124
120
  }
125
- }, 300), [currentSelectionId, currentSelectionType, shareWithAudio, handleStartShare, currentInAudio]);
126
- var transI18n = (0, _i18n.useI18n)();
121
+ }, [currentSelectionId, currentSelectionType, shareWithAudio, handleStartShare, currentInAudio]);
127
122
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
128
123
  className: "share-selection-window",
129
124
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
@@ -136,7 +131,7 @@ var ShareSelection = exports.ShareSelection = (0, _mobxReact.observer)(function
136
131
  var screenWithBounds = screen;
137
132
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_card.FcrCard, {
138
133
  disabled: isWhiteboard && !!(boardOwnerUser !== null && boardOwnerUser !== void 0 && boardOwnerUser.userId),
139
- title: isWhiteboard ? t('fmt_share_options_whiteboard') : screen.title,
134
+ title: isWhiteboard ? transI18n('fmt_share_options_whiteboard') : screen.title,
140
135
  active: currentSelectionType === type && screen.id === currentSelectionId || screen.id === currentSelectionId,
141
136
  onCardClick: function onCardClick() {
142
137
  if (screenWithBounds) {
@@ -146,7 +141,7 @@ var ShareSelection = exports.ShareSelection = (0, _mobxReact.observer)(function
146
141
  },
147
142
  onDoubleClickCard: function onDoubleClickCard() {
148
143
  if (boardOwnerUser) return;
149
- handleStartShare(screen.id, type, shareWithAudio, _shareAudio.AudioProcessingChannel.MONO, screenWithBounds.bounds);
144
+ handleOkClick();
150
145
  },
151
146
  content: screen.image instanceof Uint8Array ? /*#__PURE__*/(0, _jsxRuntime.jsx)(ThumbnailRender, {
152
147
  image: screen.image,
@@ -11,8 +11,10 @@ import { FcrUISharedConfigDataSource } from '../../shared-data-source/config';
11
11
  import { FcrUIScreenShareProvider } from '../../providers/screen-share-provider';
12
12
  import { FcrUIAnnotationProvider } from '../../providers/annotation-provider';
13
13
  import { FcrUIScreenShareSharedDataSource } from '../../shared-data-source/screen-share-data';
14
+ import { FcrScreenShareControlBarProps } from './components/control-bar';
14
15
  import { FcrUIAbilityProviderImpl } from '../../providers/ability-provider';
15
16
  import { FcrUISharedAnnotationSource } from '../../shared-data-source/annotation-data';
17
+ import { FcrUIMultiDisplayProvider } from '../../providers/multi-display-provider';
16
18
  export declare class ShareScreenUIModule extends UIModule {
17
19
  private _store?;
18
20
  mainRoomControlProvider?: FcrUIMainRoomControlProvider;
@@ -29,9 +31,10 @@ export declare class ShareScreenUIModule extends UIModule {
29
31
  sharedScreenShareSharedDataSource?: FcrUIScreenShareSharedDataSource;
30
32
  abilityProvider?: FcrUIAbilityProviderImpl;
31
33
  sharedAnnotationDataSource?: FcrUISharedAnnotationSource;
34
+ multiDisplayProvider?: FcrUIMultiDisplayProvider;
32
35
  onNodeWillActive(): void;
33
36
  onNodeWillInactive(): void;
34
37
  getComponent(): import("react/jsx-runtime").JSX.Element;
35
- getControlComponent(): import("react/jsx-runtime").JSX.Element;
38
+ getControlComponent(secondaryWindowProprs?: FcrScreenShareControlBarProps['secondaryWindowProprs']): import("react/jsx-runtime").JSX.Element;
36
39
  getSelectionComponent(): import("react/jsx-runtime").JSX.Element;
37
40
  }
@@ -55,7 +55,8 @@ var ShareScreenUIModule = exports.ShareScreenUIModule = /*#__PURE__*/function (_
55
55
  annotationProvider: this.annotationProvider,
56
56
  sharedScreenShareSharedDataSource: this.sharedScreenShareSharedDataSource,
57
57
  abilityProvider: this.abilityProvider,
58
- sharedAnnotationDataSource: this.sharedAnnotationDataSource
58
+ sharedAnnotationDataSource: this.sharedAnnotationDataSource,
59
+ multiDisplayProvider: this.multiDisplayProvider
59
60
  });
60
61
  }
61
62
  }, {
@@ -74,10 +75,12 @@ var ShareScreenUIModule = exports.ShareScreenUIModule = /*#__PURE__*/function (_
74
75
  }
75
76
  }, {
76
77
  key: "getControlComponent",
77
- value: function getControlComponent() {
78
+ value: function getControlComponent(secondaryWindowProprs) {
78
79
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_store.StoreContext.Provider, {
79
80
  value: this._store,
80
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_controlBar["default"], {})
81
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_controlBar["default"], {
82
+ secondaryWindowProprs: secondaryWindowProprs
83
+ })
81
84
  });
82
85
  }
83
86
  }, {
@@ -18,6 +18,7 @@ import { FcrUIScreenShareSharedDataSource } from '../../shared-data-source/scree
18
18
  import { FcrUIAnnotationProvider } from '../../providers/annotation-provider';
19
19
  import { FcrUIAbilityProvider } from '../../providers/ability-provider';
20
20
  import { FcrUISharedAnnotationSource } from '../../shared-data-source/annotation-data';
21
+ import { FcrUIMultiDisplayProvider } from '../../providers/multi-display-provider';
21
22
  export default class ShareScreenStore {
22
23
  protected logger: import("agora-foundation/lib/logger").Logger;
23
24
  private _disposers;
@@ -30,7 +31,6 @@ export default class ShareScreenStore {
30
31
  private _userControl;
31
32
  private _boardControl;
32
33
  private _screenShareProvider;
33
- private _controlBarWindowId;
34
34
  private _sharedMemberDataSource;
35
35
  private _sharedScreenShareSharedDataSource;
36
36
  private _abilityProvider;
@@ -43,6 +43,9 @@ export default class ShareScreenStore {
43
43
  private _uiEventObserver;
44
44
  private _screenCaptureStateObserver;
45
45
  private _boardObserver;
46
+ private _handleOnScreenCaptureStopped;
47
+ private _handleOnScreenCaptureStarted;
48
+ private _hasScreenSharePermission;
46
49
  private _shareSelectionDialogId;
47
50
  private _controlBarDialogId;
48
51
  private _videoWindowDialogId;
@@ -79,7 +82,10 @@ export default class ShareScreenStore {
79
82
  get isAspectRatioPreserved(): boolean;
80
83
  get isCurrentScreenShareInSmoothType(): boolean;
81
84
  get _screenShareInfoForLog(): string;
82
- constructor({ roomControl, deviceProvider, privilegeProvider, messageProvider, dialogProvider, eventProvider, sharedMemberDataSource, roomProvider, sharedConfigDataSource, screenShareProvider, annotationProvider, sharedScreenShareSharedDataSource, abilityProvider, sharedAnnotationDataSource, }: {
85
+ get allowAnnotationSelfWriteState(): boolean;
86
+ get isShowToolbar(): boolean;
87
+ get isAnnotationSupported(): boolean;
88
+ constructor({ roomControl, deviceProvider, privilegeProvider, messageProvider, dialogProvider, eventProvider, sharedMemberDataSource, roomProvider, sharedConfigDataSource, screenShareProvider, annotationProvider, sharedScreenShareSharedDataSource, abilityProvider, sharedAnnotationDataSource, multiDisplayProvider, }: {
83
89
  roomControl: FcrMainRoomControl;
84
90
  deviceProvider: FcrUIDeviceProvider;
85
91
  privilegeProvider: FcrUIPrivilegeProvider;
@@ -94,12 +100,8 @@ export default class ShareScreenStore {
94
100
  sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource;
95
101
  abilityProvider: FcrUIAbilityProvider;
96
102
  sharedAnnotationDataSource: FcrUISharedAnnotationSource;
103
+ multiDisplayProvider: FcrUIMultiDisplayProvider;
97
104
  });
98
- private _handleOnScreenCaptureStopped;
99
- private _handleOnScreenCaptureStarted;
100
- private _hasScreenSharePermission;
101
- get allowAnnotationSelfWriteState(): boolean;
102
- get isShowToolbar(): boolean;
103
105
  toggleIsShowToolbar(): void;
104
106
  handleChooseScreen: (id: string, type?: AgoraRtcScreenCaptureType) => void;
105
107
  setShareWithAudioState(withAudio: boolean): void;
@@ -120,10 +122,8 @@ export default class ShareScreenStore {
120
122
  participantShareCanWeAnnotation(): boolean;
121
123
  prepareShareScreen(): Promise<void>;
122
124
  handleStartShare(id: string, type: AgoraRtcScreenCaptureType, withAudio: boolean, audioProcessingChannel: AudioProcessingChannel | undefined, bounds: CurrentShareBounds): Promise<void>;
123
- isAnnotationSupported(): boolean;
124
125
  private _openShareScreenSelection;
125
126
  private _closeShareScreenSelection;
126
- private _setControlBarWindowId;
127
127
  private _openVideoWindowDialog;
128
128
  private _closeControlBar;
129
129
  private _closeVideoWindowDialog;