fcr-ui-scene 3.6.1 → 3.6.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 (257) hide show
  1. package/lib/creator.d.ts +6 -0
  2. package/lib/creator.js +125 -24
  3. package/lib/electron/app.js +5 -4
  4. package/lib/electron/bootstrap-dev.js +3 -0
  5. package/lib/electron/bootstrap-sdk.js +4 -0
  6. package/lib/electron/injections.d.ts +5 -0
  7. package/lib/electron/injections.js +36 -8
  8. package/lib/electron/ipc/ipc.d.ts +1 -0
  9. package/lib/electron/ipc/ipc.js +4 -0
  10. package/lib/electron/main.js +16 -8
  11. package/lib/electron/plugins/screenshot.js +4 -2
  12. package/lib/electron/preload.js +7 -2
  13. package/lib/electron/window.js +4 -6
  14. package/lib/fragments/annotation/index.d.ts +11 -0
  15. package/lib/fragments/annotation/index.js +121 -0
  16. package/lib/fragments/annotation/libs.d.ts +55 -0
  17. package/lib/fragments/annotation/libs.js +93 -0
  18. package/lib/fragments/annotation/store.d.ts +30 -0
  19. package/lib/fragments/annotation/store.js +565 -0
  20. package/lib/fragments/annotation/view.d.ts +3 -0
  21. package/lib/fragments/annotation/view.js +31 -0
  22. package/lib/fragments/base.d.ts +10 -0
  23. package/lib/fragments/base.js +44 -0
  24. package/lib/modules/action-bar/components/screen-share/submenu.js +7 -6
  25. package/lib/modules/action-bar/index.css +11 -0
  26. package/lib/modules/action-bar/index.d.ts +2 -0
  27. package/lib/modules/action-bar/index.js +1 -0
  28. package/lib/modules/action-bar/store.d.ts +7 -9
  29. package/lib/modules/action-bar/store.js +49 -90
  30. package/lib/modules/annotation/board-cursor.css +76 -0
  31. package/lib/modules/annotation/components/control-bar/index.css +48 -0
  32. package/lib/modules/annotation/components/control-bar/index.d.ts +3 -0
  33. package/lib/modules/annotation/components/control-bar/index.js +141 -0
  34. package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.d.ts +3 -0
  35. package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.js +46 -0
  36. package/lib/modules/annotation/components/toolbar/components/color-tool/index.d.ts +1 -0
  37. package/lib/modules/annotation/components/toolbar/components/color-tool/index.js +52 -0
  38. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.d.ts +3 -0
  39. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.js +61 -0
  40. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +12 -0
  41. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.js +65 -0
  42. package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.d.ts +1 -0
  43. package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.js +68 -0
  44. package/lib/modules/annotation/components/toolbar/components/item/item.d.ts +18 -0
  45. package/lib/modules/annotation/components/toolbar/components/item/item.js +116 -0
  46. package/lib/modules/annotation/components/toolbar/components/item/style.css +43 -0
  47. package/lib/modules/annotation/components/toolbar/components/panel/index.d.ts +5 -0
  48. package/lib/modules/annotation/components/toolbar/components/panel/index.js +22 -0
  49. package/lib/modules/annotation/components/toolbar/components/panel/style.css +24 -0
  50. package/lib/modules/annotation/components/toolbar/components/pen-tool/index.d.ts +1 -0
  51. package/lib/modules/annotation/components/toolbar/components/pen-tool/index.js +58 -0
  52. package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.d.ts +3 -0
  53. package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.js +34 -0
  54. package/lib/modules/annotation/components/toolbar/components/tips/index.d.ts +2 -0
  55. package/lib/modules/annotation/components/toolbar/components/tips/index.js +25 -0
  56. package/lib/modules/annotation/components/toolbar/components/tips/style.css +19 -0
  57. package/lib/modules/annotation/components/toolbar/index.d.ts +0 -0
  58. package/lib/modules/annotation/components/toolbar/index.js +1 -0
  59. package/lib/modules/annotation/components/toolbar/store.d.ts +40 -0
  60. package/lib/modules/annotation/components/toolbar/store.js +279 -0
  61. package/lib/modules/annotation/components/toolbar/style.css +55 -0
  62. package/lib/modules/annotation/components/toolbar/view.d.ts +2 -0
  63. package/lib/modules/annotation/components/toolbar/view.js +120 -0
  64. package/lib/modules/annotation/index.d.ts +38 -0
  65. package/lib/modules/annotation/index.js +169 -0
  66. package/lib/modules/annotation/store.d.ts +93 -0
  67. package/lib/modules/annotation/store.js +673 -0
  68. package/lib/modules/annotation/style.css +26 -0
  69. package/lib/modules/annotation/view.d.ts +3 -0
  70. package/lib/modules/annotation/view.js +49 -0
  71. package/lib/modules/chat/view.js +112 -100
  72. package/lib/modules/components/annotation-menu/index.d.ts +7 -0
  73. package/lib/modules/components/annotation-menu/index.js +119 -0
  74. package/lib/modules/components/leave-meeting/components/assign-host.js +26 -23
  75. package/lib/modules/components/member-window/components/member-actions/components/audio-control.d.ts +0 -1
  76. package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +10 -4
  77. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.d.ts +4 -2
  78. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +10 -6
  79. package/lib/modules/components/member-window/components/member-actions/components/icon-status.d.ts +0 -2
  80. package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +3 -4
  81. package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +0 -3
  82. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +6 -32
  83. package/lib/modules/components/member-window/components/member-actions/components/share-status.js +11 -3
  84. package/lib/modules/components/member-window/components/member-actions/components/user-info.d.ts +0 -1
  85. package/lib/modules/components/member-window/components/member-actions/components/user-info.js +7 -10
  86. package/lib/modules/components/member-window/components/member-actions/components/user-tag.d.ts +0 -1
  87. package/lib/modules/components/member-window/components/member-actions/components/user-tag.js +0 -2
  88. package/lib/modules/components/member-window/components/member-actions/index.js +1 -32
  89. package/lib/modules/components/member-window/components/member-actions/store.d.ts +38 -1
  90. package/lib/modules/components/member-window/components/member-actions/store.js +130 -23
  91. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.d.ts +2 -1
  92. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +6 -1
  93. package/lib/modules/components/member-window/components/video-player/index.d.ts +1 -0
  94. package/lib/modules/components/member-window/index.css +37 -0
  95. package/lib/modules/components/member-window/index.d.ts +1 -1
  96. package/lib/modules/components/member-window/index.js +8 -5
  97. package/lib/modules/components/member-window/types.d.ts +2 -0
  98. package/lib/modules/components/security-menu/index.js +7 -6
  99. package/lib/modules/control-bar/components/annotation-button/index.d.ts +1 -0
  100. package/lib/modules/control-bar/components/annotation-button/index.js +59 -0
  101. package/lib/modules/control-bar/index.d.ts +6 -6
  102. package/lib/modules/control-bar/index.js +5 -34
  103. package/lib/modules/control-bar/store.d.ts +27 -13
  104. package/lib/modules/control-bar/store.js +121 -126
  105. package/lib/modules/control-bar/view.js +50 -4
  106. package/lib/modules/dialog/components/annotation-tool/index.d.ts +4 -0
  107. package/lib/modules/dialog/components/annotation-tool/index.js +53 -0
  108. package/lib/modules/dialog/components/chat/index.js +1 -1
  109. package/lib/modules/dialog/components/control-bar/index.d.ts +0 -2
  110. package/lib/modules/dialog/components/control-bar/index.js +1 -3
  111. package/lib/modules/dialog/components/host-area-container/index.d.ts +12 -0
  112. package/lib/modules/dialog/components/host-area-container/index.js +214 -0
  113. package/lib/modules/dialog/components/participant/index.js +1 -1
  114. package/lib/modules/dialog/components/system-preference/index.js +1 -1
  115. package/lib/modules/dialog/components/video-window/index.js +1 -0
  116. package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +14 -0
  117. package/lib/modules/dialog/hooks/use-popover-watcher.js +112 -0
  118. package/lib/modules/dialog/hooks/useElectron.d.ts +1 -0
  119. package/lib/modules/dialog/hooks/useElectron.js +13 -3
  120. package/lib/modules/dialog/index.d.ts +2 -3
  121. package/lib/modules/dialog/index.js +3 -26
  122. package/lib/modules/dialog/store.d.ts +14 -9
  123. package/lib/modules/dialog/store.js +56 -50
  124. package/lib/modules/event-confirm/components/window/index.d.ts +7 -0
  125. package/lib/modules/event-confirm/components/window/index.js +188 -0
  126. package/lib/modules/event-confirm/index.d.ts +4 -4
  127. package/lib/modules/event-confirm/index.js +6 -4
  128. package/lib/modules/event-confirm/store.d.ts +4 -5
  129. package/lib/modules/event-confirm/store.js +35 -26
  130. package/lib/modules/event-confirm/view.js +23 -171
  131. package/lib/modules/event-sound/index.js +1 -1
  132. package/lib/modules/layout/components/CommonVideoRenderer.js +33 -16
  133. package/lib/modules/layout/index.d.ts +4 -0
  134. package/lib/modules/layout/index.js +2 -0
  135. package/lib/modules/layout/store.d.ts +14 -2
  136. package/lib/modules/layout/store.js +77 -45
  137. package/lib/modules/layout/type.d.ts +7 -0
  138. package/lib/modules/participant/index.d.ts +2 -0
  139. package/lib/modules/participant/index.js +2 -1
  140. package/lib/modules/participant/store.d.ts +5 -2
  141. package/lib/modules/participant/store.js +73 -25
  142. package/lib/modules/setting/audio-settings/audio-settings.js +3 -14
  143. package/lib/modules/setting/index.d.ts +2 -0
  144. package/lib/modules/setting/index.js +3 -3
  145. package/lib/modules/setting/store.d.ts +8 -10
  146. package/lib/modules/setting/store.js +22 -20
  147. package/lib/modules/share-screen/components/selection/index.js +18 -42
  148. package/lib/modules/share-screen/index.d.ts +6 -2
  149. package/lib/modules/share-screen/index.js +4 -2
  150. package/lib/modules/share-screen/store.d.ts +41 -46
  151. package/lib/modules/share-screen/store.js +297 -718
  152. package/lib/modules/share-screen/view.js +2 -2
  153. package/lib/modules/state-bar/assets/fcr_grid_big.svg +1 -1
  154. package/lib/modules/state-bar/assets/fcr_listontop_big.svg +1 -1
  155. package/lib/modules/state-bar/index.css +8 -6
  156. package/lib/modules/state-bar/index.d.ts +4 -0
  157. package/lib/modules/state-bar/index.js +3 -1
  158. package/lib/modules/state-bar/layout-config.d.ts +1 -0
  159. package/lib/modules/state-bar/layout-config.js +15 -5
  160. package/lib/modules/state-bar/store.d.ts +9 -1
  161. package/lib/modules/state-bar/store.js +17 -2
  162. package/lib/modules/state-bar/view.js +9 -4
  163. package/lib/modules/video-window/components/members/index.js +2 -1
  164. package/lib/modules/waiting-room-layout/store.js +1 -1
  165. package/lib/modules/whiteboard/components/control-bar/store.d.ts +5 -1
  166. package/lib/modules/whiteboard/components/control-bar/store.js +10 -1
  167. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/picker.js +16 -5
  168. package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +67 -12
  169. package/lib/modules/whiteboard/components/toolbar/components/expansion/index.js +22 -2
  170. package/lib/modules/whiteboard/components/toolbar/components/history.js +46 -14
  171. package/lib/modules/whiteboard/components/toolbar/components/item/index.js +3 -2
  172. package/lib/modules/whiteboard/components/toolbar/components/move-handle.js +1 -1
  173. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +58 -16
  174. package/lib/modules/whiteboard/components/toolbar/components/screen-capture-picker.js +15 -4
  175. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +45 -2
  176. package/lib/modules/whiteboard/components/toolbar/hooks/index.d.ts +14 -0
  177. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +235 -7
  178. package/lib/modules/whiteboard/components/toolbar/index.d.ts +1 -1
  179. package/lib/modules/whiteboard/components/toolbar/index.js +1 -1
  180. package/lib/modules/whiteboard/components/toolbar/store.d.ts +13 -2
  181. package/lib/modules/whiteboard/components/toolbar/store.js +74 -24
  182. package/lib/modules/whiteboard/components/toolbar/{ style.css → style.css} +1 -0
  183. package/lib/modules/whiteboard/index.d.ts +2 -0
  184. package/lib/modules/whiteboard/index.js +22 -21
  185. package/lib/modules/whiteboard/style.css +0 -4
  186. package/lib/modules/whiteboard/view.js +8 -2
  187. package/lib/plugins/browser-runtime-plugin.js +10 -1
  188. package/lib/providers/annotation-provider.d.ts +128 -0
  189. package/lib/providers/annotation-provider.js +421 -0
  190. package/lib/providers/device-provider.d.ts +3 -3
  191. package/lib/providers/device-provider.js +8 -6
  192. package/lib/providers/event-provider.d.ts +3 -3
  193. package/lib/providers/interpreter-provider.d.ts +1 -0
  194. package/lib/providers/interpreter-provider.js +182 -154
  195. package/lib/providers/privilege-provider.d.ts +35 -6
  196. package/lib/providers/privilege-provider.js +105 -49
  197. package/lib/providers/renderer-provider.js +3 -7
  198. package/lib/providers/room-provider.d.ts +13 -1
  199. package/lib/providers/room-provider.js +21 -7
  200. package/lib/providers/screen-share-provider.d.ts +131 -34
  201. package/lib/providers/screen-share-provider.js +554 -173
  202. package/lib/providers/sharing-provider.d.ts +37 -0
  203. package/lib/{shared-data-source/screen-share-data-source.js → providers/sharing-provider.js} +102 -39
  204. package/lib/providers/user-setting-storage-provider.d.ts +20 -0
  205. package/lib/providers/user-setting-storage-provider.js +74 -0
  206. package/lib/runtime.d.ts +6 -1
  207. package/lib/scenes/main-scene.d.ts +7 -2
  208. package/lib/scenes/main-scene.js +55 -27
  209. package/lib/scenes/waiting-scene.d.ts +6 -0
  210. package/lib/scenes/waiting-scene.js +15 -5
  211. package/lib/shared-data-source/config.d.ts +1 -5
  212. package/lib/shared-data-source/config.js +11 -81
  213. package/lib/shared-data-source/member-data.d.ts +21 -5
  214. package/lib/shared-data-source/member-data.js +69 -17
  215. package/lib/shared-data-source/screen-share-data.d.ts +274 -0
  216. package/lib/shared-data-source/screen-share-data.js +390 -0
  217. package/lib/shared-data-source/security-data.d.ts +4 -1
  218. package/lib/shared-data-source/security-data.js +5 -2
  219. package/lib/shared-data-source/setting.d.ts +13 -13
  220. package/lib/shared-data-source/setting.js +16 -10
  221. package/lib/shared-data-source/video-window.d.ts +2 -1
  222. package/lib/shared-data-source/video-window.js +56 -36
  223. package/lib/translations/enUS.d.ts +8 -0
  224. package/lib/translations/enUS.js +9 -1
  225. package/lib/translations/zhCN.d.ts +8 -0
  226. package/lib/translations/zhCN.js +11 -3
  227. package/lib/type.d.ts +55 -1
  228. package/lib/ui-manager.d.ts +3 -2
  229. package/lib/ui-manager.js +6 -4
  230. package/lib/ui-scene.js +70 -50
  231. package/lib/utilities/constant.d.ts +10 -2
  232. package/lib/utilities/constant.js +8 -0
  233. package/lib/utilities/logger.d.ts +4 -0
  234. package/lib/utilities/logger.js +8 -1
  235. package/lib/utilities/renderer-event.d.ts +3 -0
  236. package/lib/utilities/renderer-event.js +14 -1
  237. package/lib/utilities/screen.js +2 -1
  238. package/lib/utilities/setting-config-storage.d.ts +5 -6
  239. package/lib/utilities/setting-config-storage.js +33 -39
  240. package/lib/utilities/tools.d.ts +19 -1
  241. package/lib/utilities/tools.js +51 -4
  242. package/package.json +9 -7
  243. package/public/assets/cursors/fcr_whiteboard_input.ico +0 -0
  244. package/public/assets/cursors/fcr_whiteboard_pen.ico +0 -0
  245. package/public/assets/cursors/fcr_whiteboard_shape_-straightline.ico +0 -0
  246. package/public/assets/cursors/fcr_whiteboard_shape_arrow.ico +0 -0
  247. package/public/assets/cursors/fcr_whiteboard_shape_circle.ico +0 -0
  248. package/public/assets/cursors/fcr_whiteboard_shape_rectangle.ico +0 -0
  249. package/public/assets/cursors/fcr_whiteboard_shape_triangle.ico +0 -0
  250. package/public/assets/fcr_chat_reddot.svg +3 -3
  251. package/public/assets/fcr_grid_big.svg +1 -1
  252. package/public/assets/fcr_leave2.svg +14 -14
  253. package/public/assets/fcr_listontop_big.svg +1 -1
  254. package/public/assets/step-gradient.svg +1 -1
  255. package/public/fragment.html +10 -0
  256. package/public/index.html +3 -1
  257. package/lib/shared-data-source/screen-share-data-source.d.ts +0 -37
@@ -0,0 +1,37 @@
1
+ import { FcrScreenSharingState, FcrSharingControl, FcrWhiteboardState } from 'fcr-core/lib/room-control/sharing-control/type';
2
+ import { FcrScreenStreamCreateConfig } from 'fcr-core/lib/room-control/stream-control/type';
3
+ import { FcrUIScreenShareSharedDataSource } from '../shared-data-source/screen-share-data';
4
+ export interface FcrUISharingProvider {
5
+ get screenSharingOwnerId(): string;
6
+ get whiteboardOwnerId(): string;
7
+ get screenSharingState(): FcrScreenSharingState;
8
+ get whiteboardState(): FcrWhiteboardState;
9
+ startScreenSharing: (config: FcrScreenStreamCreateConfig) => void;
10
+ startWhiteboard: () => void;
11
+ updateScreenSharing: (enableAnnotation: boolean) => void;
12
+ stop: () => void;
13
+ getScreenSharingState: () => FcrScreenSharingState;
14
+ getWhiteboardState: () => FcrWhiteboardState;
15
+ getSharingControl: () => FcrSharingControl;
16
+ }
17
+ export declare class FcrUISharingProviderImpl implements FcrUISharingProvider {
18
+ private _sharingControl;
19
+ private _sharedScreenShareSharedDataSource;
20
+ protected logger: import("agora-foundation/lib/logger").Logger;
21
+ private _observer;
22
+ accessor screenSharingOwnerId: string;
23
+ accessor whiteboardOwnerId: string;
24
+ accessor screenSharingState: FcrScreenSharingState;
25
+ accessor whiteboardState: FcrWhiteboardState;
26
+ get isReplaceScreen(): boolean;
27
+ get isSeizeStream(): boolean;
28
+ constructor(_sharingControl: FcrSharingControl, _sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource);
29
+ startScreenSharing(config: FcrScreenStreamCreateConfig): void;
30
+ startWhiteboard(): void;
31
+ updateScreenSharing(enableAnnotation: boolean): void;
32
+ stop(): void;
33
+ getScreenSharingState(): FcrScreenSharingState;
34
+ getWhiteboardState(): FcrWhiteboardState;
35
+ getSharingControl(): FcrSharingControl;
36
+ release(): void;
37
+ }
@@ -36,10 +36,8 @@ var _typeof = require("@babel/runtime/helpers/typeof");
36
36
  Object.defineProperty(exports, "__esModule", {
37
37
  value: true
38
38
  });
39
- exports.FcrUIScreenShareDataSourceImpl = void 0;
39
+ exports.FcrUISharingProviderImpl = void 0;
40
40
  require("core-js/modules/es.array.iterator.js");
41
- require("core-js/modules/es.date.to-json.js");
42
- require("core-js/modules/es.json.stringify.js");
43
41
  require("core-js/modules/es.object.to-string.js");
44
42
  require("core-js/modules/es.string.iterator.js");
45
43
  require("core-js/modules/es.weak-map.js");
@@ -50,13 +48,13 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
50
48
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
51
49
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
52
50
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
51
+ var _decorator = require("agora-foundation/lib/decorator");
52
+ var _type = require("fcr-core/lib/room-control/sharing-control/type");
53
53
  var _mobx = require("mobx");
54
54
  var _base = require("../base");
55
55
  var _logger = require("../utilities/logger");
56
- var _env = require("agora-foundation/lib/utilities/env");
57
- var _shareAudio = require("agora-ui-foundation/lib/components/room-screen-share-state-bar/share-audio");
58
- var _FcrUIScreenShareDataSourceImpl;
59
- var _initProto, _init_currentShareAudioProcessingChannel, _init_isSharingScreen, _init_currentShareBounds, _setSharingScreenDecs, _setCurrentShareBoundsDecs, _setCurrentShareAudioProcessingChannelDecs, _ref;
56
+ var _FcrUISharingProviderImpl;
57
+ var _initProto, _init_screenSharingOwnerId, _init_whiteboardOwnerId, _init_screenSharingState, _init_whiteboardState;
60
58
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
61
59
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
62
60
  function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
@@ -70,19 +68,43 @@ function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side
70
68
  var _A = /*#__PURE__*/new WeakMap();
71
69
  var _B = /*#__PURE__*/new WeakMap();
72
70
  var _C = /*#__PURE__*/new WeakMap();
73
- _ref = (_setSharingScreenDecs = [_mobx.action, _mobx.action.bound], _setCurrentShareBoundsDecs = [_mobx.action, _mobx.action.bound], _setCurrentShareAudioProcessingChannelDecs = [_mobx.action, _mobx.action.bound], "logger");
74
- var FcrUIScreenShareDataSourceImpl = exports.FcrUIScreenShareDataSourceImpl = /*#__PURE__*/function () {
75
- function FcrUIScreenShareDataSourceImpl() {
76
- (0, _classCallCheck2["default"])(this, FcrUIScreenShareDataSourceImpl);
77
- (0, _defineProperty2["default"])(this, _ref, (_initProto(this), (0, _logger.createLogger)({
78
- prefix: 'FcrUIScreenShareDataSourceImpl'
71
+ var _D = /*#__PURE__*/new WeakMap();
72
+ var FcrUISharingProviderImpl = exports.FcrUISharingProviderImpl = /*#__PURE__*/function () {
73
+ function FcrUISharingProviderImpl(_sharingControl, _sharedScreenShareSharedDataSource) {
74
+ var _this = this;
75
+ (0, _classCallCheck2["default"])(this, FcrUISharingProviderImpl);
76
+ (0, _defineProperty2["default"])(this, "logger", (_initProto(this), (0, _logger.createLogger)({
77
+ prefix: 'FcrUISharingProviderImpl'
79
78
  })));
80
- _classPrivateFieldInitSpec(this, _A, _init_currentShareAudioProcessingChannel(this, _shareAudio.AudioProcessingChannel.MONO));
81
- _classPrivateFieldInitSpec(this, _B, _init_isSharingScreen(this, false));
82
- _classPrivateFieldInitSpec(this, _C, _init_currentShareBounds(this, (0, _env.isElectron)() ? window.runtime.browserWindow.getBounds() : null));
79
+ (0, _defineProperty2["default"])(this, "_observer", {
80
+ onScreenSharingUpdated: function onScreenSharingUpdated(ownerId, state) {
81
+ _this.screenSharingOwnerId = ownerId;
82
+ _this.screenSharingState = state;
83
+ if (state === _type.FcrScreenSharingState.END) {
84
+ _this.isReplaceScreen && _this._sharedScreenShareSharedDataSource.setIsReplaceScreen(false);
85
+ _this.isSeizeStream && _this._sharedScreenShareSharedDataSource.setIsSeizeStream(false);
86
+ }
87
+ },
88
+ onWhiteboardStarted: function onWhiteboardStarted(ownerId, operatorUser) {
89
+ _this.whiteboardOwnerId = ownerId;
90
+ _this.whiteboardState = _type.FcrWhiteboardState.START;
91
+ },
92
+ onWhiteboardEnded: function onWhiteboardEnded(reason, operatorUser) {
93
+ _this.whiteboardState = _type.FcrWhiteboardState.END;
94
+ }
95
+ });
96
+ _classPrivateFieldInitSpec(this, _A, _init_screenSharingOwnerId(this, ''));
97
+ _classPrivateFieldInitSpec(this, _B, _init_whiteboardOwnerId(this, ''));
98
+ _classPrivateFieldInitSpec(this, _C, _init_screenSharingState(this, _type.FcrScreenSharingState.END));
99
+ _classPrivateFieldInitSpec(this, _D, _init_whiteboardState(this, _type.FcrWhiteboardState.END));
100
+ this._sharingControl = _sharingControl;
101
+ this._sharedScreenShareSharedDataSource = _sharedScreenShareSharedDataSource;
102
+ // @ts-ignore
103
+ // this._sharingControl.getToken();
104
+ this._sharingControl.addObserver(this._observer);
83
105
  }
84
- return (0, _createClass2["default"])(FcrUIScreenShareDataSourceImpl, [{
85
- key: "currentShareAudioProcessingChannel",
106
+ return (0, _createClass2["default"])(FcrUISharingProviderImpl, [{
107
+ key: "screenSharingOwnerId",
86
108
  get: function get() {
87
109
  return _classPrivateFieldGet(_A, this);
88
110
  },
@@ -90,7 +112,7 @@ var FcrUIScreenShareDataSourceImpl = exports.FcrUIScreenShareDataSourceImpl = /*
90
112
  _classPrivateFieldSet(_A, this, v);
91
113
  }
92
114
  }, {
93
- key: "isSharingScreen",
115
+ key: "whiteboardOwnerId",
94
116
  get: function get() {
95
117
  return _classPrivateFieldGet(_B, this);
96
118
  },
@@ -98,7 +120,7 @@ var FcrUIScreenShareDataSourceImpl = exports.FcrUIScreenShareDataSourceImpl = /*
98
120
  _classPrivateFieldSet(_B, this, v);
99
121
  }
100
122
  }, {
101
- key: "currentShareBounds",
123
+ key: "screenSharingState",
102
124
  get: function get() {
103
125
  return _classPrivateFieldGet(_C, this);
104
126
  },
@@ -106,29 +128,70 @@ var FcrUIScreenShareDataSourceImpl = exports.FcrUIScreenShareDataSourceImpl = /*
106
128
  _classPrivateFieldSet(_C, this, v);
107
129
  }
108
130
  }, {
109
- key: "setSharingScreen",
110
- value: function setSharingScreen(isSharingScreen) {
111
- this.isSharingScreen = isSharingScreen;
112
- this.logger.info("setSharingScreen: ".concat(isSharingScreen));
131
+ key: "whiteboardState",
132
+ get: function get() {
133
+ return _classPrivateFieldGet(_D, this);
134
+ },
135
+ set: function set(v) {
136
+ _classPrivateFieldSet(_D, this, v);
137
+ }
138
+ }, {
139
+ key: "isReplaceScreen",
140
+ get: function get() {
141
+ return this._sharedScreenShareSharedDataSource.isReplaceScreen;
142
+ }
143
+ }, {
144
+ key: "isSeizeStream",
145
+ get: function get() {
146
+ return this._sharedScreenShareSharedDataSource.isSeizeStream;
147
+ }
148
+ }, {
149
+ key: "startScreenSharing",
150
+ value: function startScreenSharing(config) {
151
+ this._sharingControl.startScreenSharing(config);
152
+ }
153
+ }, {
154
+ key: "startWhiteboard",
155
+ value: function startWhiteboard() {
156
+ this._sharingControl.startWhiteboard();
157
+ }
158
+ }, {
159
+ key: "updateScreenSharing",
160
+ value: function updateScreenSharing(enableAnnotation) {
161
+ this._sharingControl.updateScreenSharing(enableAnnotation);
162
+ }
163
+ }, {
164
+ key: "stop",
165
+ value: function stop() {
166
+ this._sharingControl.stop();
167
+ }
168
+ }, {
169
+ key: "getScreenSharingState",
170
+ value: function getScreenSharingState() {
171
+ return this._sharingControl.getScreenSharingState();
172
+ }
173
+ }, {
174
+ key: "getWhiteboardState",
175
+ value: function getWhiteboardState() {
176
+ return this._sharingControl.getWhiteboardState();
113
177
  }
114
178
  }, {
115
- key: "setCurrentShareBounds",
116
- value: function setCurrentShareBounds(currentShareBounds) {
117
- this.currentShareBounds = currentShareBounds;
118
- this.logger.info("setCurrentShareBounds: ".concat(JSON.stringify(currentShareBounds)));
179
+ key: "getSharingControl",
180
+ value: function getSharingControl() {
181
+ return this._sharingControl;
119
182
  }
120
183
  }, {
121
- key: "setCurrentShareAudioProcessingChannel",
122
- value: function setCurrentShareAudioProcessingChannel(channel) {
123
- this.currentShareAudioProcessingChannel = channel;
124
- this.logger.info("setCurrentShareAudioProcessingChannel: ".concat(channel));
184
+ key: "release",
185
+ value: function release() {
186
+ this._sharingControl.removeObserver(this._observer);
125
187
  }
126
188
  }]);
127
189
  }();
128
- _FcrUIScreenShareDataSourceImpl = FcrUIScreenShareDataSourceImpl;
129
- var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIScreenShareDataSourceImpl, [[_mobx.observable, 1, "currentShareAudioProcessingChannel"], [_mobx.observable, 1, "isSharingScreen"], [_mobx.observable, 1, "currentShareBounds"], [_setSharingScreenDecs, 18, "setSharingScreen"], [_setCurrentShareBoundsDecs, 18, "setCurrentShareBounds"], [_setCurrentShareAudioProcessingChannelDecs, 18, "setCurrentShareAudioProcessingChannel"]], []).e, 4);
130
- _init_currentShareAudioProcessingChannel = _applyDecs$e[0];
131
- _init_isSharingScreen = _applyDecs$e[1];
132
- _init_currentShareBounds = _applyDecs$e[2];
133
- _initProto = _applyDecs$e[3];
134
- (0, _base.registerDependency)('screenShareDataSource');
190
+ _FcrUISharingProviderImpl = FcrUISharingProviderImpl;
191
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUISharingProviderImpl, [[_mobx.observable, 1, "screenSharingOwnerId"], [_mobx.observable, 1, "whiteboardOwnerId"], [_mobx.observable, 1, "screenSharingState"], [_mobx.observable, 1, "whiteboardState"], [_decorator.bound, 2, "startScreenSharing"], [_decorator.bound, 2, "startWhiteboard"], [_decorator.bound, 2, "updateScreenSharing"], [_decorator.bound, 2, "stop"], [_decorator.bound, 2, "getScreenSharingState"], [_decorator.bound, 2, "getWhiteboardState"], [_decorator.bound, 2, "getSharingControl"], [_decorator.bound, 2, "release"]], []).e, 5);
192
+ _init_screenSharingOwnerId = _applyDecs$e[0];
193
+ _init_whiteboardOwnerId = _applyDecs$e[1];
194
+ _init_screenSharingState = _applyDecs$e[2];
195
+ _init_whiteboardState = _applyDecs$e[3];
196
+ _initProto = _applyDecs$e[4];
197
+ (0, _base.registerDependency)('sharingProvider');
@@ -0,0 +1,20 @@
1
+ import { FcrUISettingConfig } from '../type';
2
+ export interface FcrUIUserSettingStorageProvider {
3
+ /**
4
+ * 写入本地存储
5
+ * @param key
6
+ * @param value
7
+ */
8
+ write(value: Partial<FcrUISettingConfig>): number;
9
+ /**
10
+ * 从本地存储读取
11
+ * @param key
12
+ */
13
+ read(): FcrUISettingConfig | null;
14
+ }
15
+ export declare class FcrUIUserSettingStorageProviderImpl implements FcrUIUserSettingStorageProvider {
16
+ private _isElectron;
17
+ constructor();
18
+ write(value: Partial<FcrUISettingConfig>): number;
19
+ read(): any;
20
+ }
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.array.filter.js");
5
+ require("core-js/modules/es.array.for-each.js");
6
+ require("core-js/modules/es.array.push.js");
7
+ require("core-js/modules/es.object.define-properties.js");
8
+ require("core-js/modules/es.object.define-property.js");
9
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
10
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
11
+ require("core-js/modules/es.object.to-string.js");
12
+ require("core-js/modules/esnext.async-iterator.filter.js");
13
+ require("core-js/modules/esnext.async-iterator.for-each.js");
14
+ require("core-js/modules/esnext.iterator.constructor.js");
15
+ require("core-js/modules/esnext.iterator.filter.js");
16
+ require("core-js/modules/esnext.iterator.for-each.js");
17
+ require("core-js/modules/web.dom-collections.for-each.js");
18
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
19
+ Object.defineProperty(exports, "__esModule", {
20
+ value: true
21
+ });
22
+ exports.FcrUIUserSettingStorageProviderImpl = void 0;
23
+ require("core-js/modules/es.date.to-json.js");
24
+ require("core-js/modules/es.json.stringify.js");
25
+ require("core-js/modules/es.object.keys.js");
26
+ require("core-js/modules/esnext.json.parse.js");
27
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
28
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
29
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
30
+ var _base = require("../base");
31
+ var _env = require("agora-foundation/lib/utilities/env");
32
+ var _settingConfigStorage = require("../utilities/setting-config-storage");
33
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
34
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
35
+ var FcrUIUserSettingStorageProviderImpl = exports.FcrUIUserSettingStorageProviderImpl = /*#__PURE__*/function () {
36
+ function FcrUIUserSettingStorageProviderImpl() {
37
+ (0, _classCallCheck2["default"])(this, FcrUIUserSettingStorageProviderImpl);
38
+ (0, _defineProperty2["default"])(this, "_isElectron", false);
39
+ this._isElectron = (0, _env.isElectron)();
40
+ }
41
+ return (0, _createClass2["default"])(FcrUIUserSettingStorageProviderImpl, [{
42
+ key: "write",
43
+ value: function write(value) {
44
+ var userSetting = this.read();
45
+ if (userSetting) {
46
+ value = _objectSpread(_objectSpread({}, userSetting), value);
47
+ }
48
+ if (this._isElectron) {
49
+ window.runtime.setUserSettingData(value);
50
+ } else {
51
+ localStorage.setItem(_settingConfigStorage.settingConfigStorageKey, JSON.stringify(value));
52
+ }
53
+ return 1;
54
+ }
55
+ }, {
56
+ key: "read",
57
+ value: function read() {
58
+ if (this._isElectron) {
59
+ return window.runtime.getUserSettingData();
60
+ } else {
61
+ var getItem = localStorage.getItem(_settingConfigStorage.settingConfigStorageKey);
62
+ return getItem ? JSON.parse(getItem) : null;
63
+ }
64
+ }
65
+
66
+ // remove(key: string) {
67
+ // localStorage.removeItem(key);
68
+ // }
69
+ }]);
70
+ }(); // export enum FcrLocalStorageSettingKey {
71
+ // SpotlightEnabled = 'spotlightEnabled',
72
+ // ShouldHideNonVideoParticipants = 'shouldHideNonVideoParticipants',
73
+ // }
74
+ (0, _base.registerDependency)('userSettingStorageProvider');
package/lib/runtime.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import { WindowManager } from './type';
2
+
1
3
  export {};
2
4
  declare global {
3
5
  interface NetworkType {
@@ -48,7 +50,7 @@ declare global {
48
50
  ): void;
49
51
 
50
52
  browserWindow: import('electron').BrowserWindow;
51
- captureScreen(options?: { hideWindow?: boolean }): void;
53
+ captureScreen(options?: { hideWindow?: boolean; alwaysHide?: boolean }): void;
52
54
  setFragmentOptions(
53
55
  entryPath: string,
54
56
  windowOptions: import('electron').BrowserWindowConstructorOptions,
@@ -82,6 +84,8 @@ declare global {
82
84
  openSystemPreferences(mediaType: 'microphone' | 'camera' | 'sharing'): void;
83
85
  getUserSettingData(): object;
84
86
  setUserSettingData(data: object): void;
87
+ getActiveWindow(): WindowManager | undefined;
88
+ getWindows(): WindowManager[];
85
89
  onCreatorInit?: (initOptions: any) => void;
86
90
  onSettingOpen?: () => void;
87
91
  onSettingClose?: () => void;
@@ -101,6 +105,7 @@ declare global {
101
105
  setParameters: (parameters: string) => void;
102
106
  onCloseWindowBeforeLaunchSuccess?: () => void;
103
107
  exitedMeeting?: (roomId: string, reason: FcrUIExitReason) => void;
108
+ getIsMeetingLaunched: () => Promise<boolean>;
104
109
  }
105
110
 
106
111
  interface Window {
@@ -31,7 +31,9 @@ import { FcrUIWidgetProvider } from '../providers/widget-provider';
31
31
  import { FcrUIAbilityProviderImpl } from '../providers/ability-provider';
32
32
  import { FcrUIMeetingTimeSharedDataSource } from '../shared-data-source/meeting-time';
33
33
  import { FcrUISecuritySharedDataSource } from '../shared-data-source/security-data';
34
- import { FcrUIScreenShareDataSource } from '../shared-data-source/screen-share-data-source';
34
+ import { FcrUIAnnotationProvider } from '../providers/annotation-provider';
35
+ import { FcrUISharingProvider } from '../providers/sharing-provider';
36
+ import { FcrUIScreenShareSharedDataSource } from '../shared-data-source/screen-share-data';
35
37
  export type FcrMainUISceneArgs = {
36
38
  engine: FcrCoreEngine;
37
39
  eventProvider: FcrUIEventProvider;
@@ -47,6 +49,7 @@ export type FcrMainUISceneArgs = {
47
49
  sharedVideoWindowDataSource: FcrUIVideoWindowDataSource;
48
50
  sharedDevicePrivilegeDataSource: FcrUISharedDevicePrivilegeDataSource;
49
51
  widgetProvider: FcrUIWidgetProvider;
52
+ sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource;
50
53
  };
51
54
  export declare class FcrMainUIScene extends FcrBaseUIScene {
52
55
  eventProvider: FcrUIEventProvider;
@@ -72,6 +75,8 @@ export declare class FcrMainUIScene extends FcrBaseUIScene {
72
75
  phoneAudioConnectorProvider: FcrUIPhoneAudioConnectorProviderImpl;
73
76
  widgetProvider: FcrUIWidgetProvider;
74
77
  abilityProvider: FcrUIAbilityProviderImpl;
78
+ annotationProvider: FcrUIAnnotationProvider;
79
+ sharingProvider: FcrUISharingProvider;
75
80
  sharedConfigDataSource: FcrUISharedConfigDataSource;
76
81
  sharedInterpreterDataSource: FcrUISharedInterpreterDataSourceImpl;
77
82
  sharedSettingDataSource: FcrUISharedSettingDataSource;
@@ -85,7 +90,7 @@ export declare class FcrMainUIScene extends FcrBaseUIScene {
85
90
  sharedMemberDataSource: FcrUIMemberSharedDataSource;
86
91
  sharedMeetingTimeDataSource: FcrUIMeetingTimeSharedDataSource;
87
92
  sharedSecuritySharedDataSource: FcrUISecuritySharedDataSource;
88
- screenShareDataSource: FcrUIScreenShareDataSource;
93
+ sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource;
89
94
  private _isWaitingRoomNotify;
90
95
  constructor(args: FcrMainUISceneArgs);
91
96
  private _addObservers;
@@ -126,8 +126,11 @@ var _abilityProvider = require("../providers/ability-provider");
126
126
  var _meetingTime = require("../shared-data-source/meeting-time");
127
127
  var _securityData = require("../shared-data-source/security-data");
128
128
  var _rename = require("../modules/dialog/components/rename");
129
+ var _annotation = require("../modules/annotation");
130
+ var _annotationTool = require("../modules/dialog/components/annotation-tool");
131
+ var _annotationProvider = require("../providers/annotation-provider");
132
+ var _sharingProvider = require("../providers/sharing-provider");
129
133
  var _confirmLeaveMeeting = require("../modules/dialog/components/confirm-leave-meeting");
130
- var _screenShareDataSource = require("../shared-data-source/screen-share-data-source");
131
134
  var _jsxRuntime = require("react/jsx-runtime");
132
135
  var _FcrMainUIScene;
133
136
  var _initProto; // import { RemoveAdmitWaitingRoomDialog } from '../modules/dialog/components/remove-admit-waiting-room';
@@ -160,12 +163,12 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
160
163
  dialogProvider = args.dialogProvider,
161
164
  sharedVideoWindowDataSource = args.sharedVideoWindowDataSource,
162
165
  sharedDevicePrivilegeDataSource = args.sharedDevicePrivilegeDataSource,
163
- widgetProvider = args.widgetProvider;
166
+ widgetProvider = args.widgetProvider,
167
+ sharedScreenShareSharedDataSource = args.sharedScreenShareSharedDataSource;
164
168
  var mainRoomControl = roomProvider.currentRoomControl;
169
+ var sharingControl = mainRoomControl.getSharingControl();
165
170
  var streamControl = mainRoomControl.getStreamControl();
166
171
  var userControl = mainRoomControl.getUserControl();
167
- var screenShareProvider = new _screenShareProvider.FcrUIScreenShareProviderImpl(deviceProvider, dialogProvider, roomProvider);
168
- var sharedMemberDataSource = new _memberData.FcrUIMemberSharedDataSourceImpl(userControl, streamControl, screenShareProvider, mainRoomControl.getBoardControl());
169
172
  var privilegeControl = mainRoomControl.getPrivilegeControl();
170
173
  var interpreterControl = mainRoomControl.getInterpreterControl();
171
174
  var abilityControl = mainRoomControl.getAbilityControl();
@@ -177,8 +180,6 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
177
180
  var remoteVideoRenderProvider = new _rendererProvider.FcrUIRemoteVideoRenderProviderImpl(mainRoomControl.getStreamControl());
178
181
  var mainRoomControlProvider = new _roomProvider.FcrUIMainRoomControlProviderImpl(mainRoomControl, eventProvider, messageProvider, dialogProvider, sharedInterpreterDataSource);
179
182
  var privilegeProvider = mainRoomControlProvider.privilegeProvider;
180
- var sharedSecurityDataSource = new _securityData.FcrUISecuritySharedDataSourceImpl(privilegeProvider, sharedMemberDataSource);
181
- var screenShareDataSource = new _screenShareDataSource.FcrUIScreenShareDataSourceImpl();
182
183
  var interpreterProvider = new _interpreterProvider.FcrUIInterpreterProviderImpl({
183
184
  privilegeProvider: privilegeProvider,
184
185
  interpreterControl: interpreterControl,
@@ -192,9 +193,10 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
192
193
  var connectionProvider = new _roomProvider.FcrUIConnectionProviderImpl(engine);
193
194
  var sessionProvider = new _sessionProvider.FcrUISessionProviderImpl(engine);
194
195
  var deviceStreamProvider = new _deviceStreamProvider.FcrUIDeviceStreamProviderImpl(mainRoomControl, deviceProvider, messageProvider, dialogProvider, devicePrivilegeProvider, sharedDevicePrivilegeDataSource, interpreterProvider, sharedInterpreterDataSource);
195
- var waitingRoomControlProvider = new _roomProvider.FcrUIWaitingRoomControlProviderImpl(roomProvider);
196
+ var waitingRoomControlProvider = new _roomProvider.FcrUIWaitingRoomControlProviderImpl(roomProvider, eventProvider);
196
197
  var monitorProvider = new _monitorProvider.FcrUIMonitorProviderImpl(engine.getMonitorControl());
197
198
  var chatProvider = new _chatProvider.FcrUIChatProviderImpl(currentRoomControlProvider.currentRoomControl, roomProvider);
199
+ var sharingProvider = new _sharingProvider.FcrUISharingProviderImpl(sharingControl, sharedScreenShareSharedDataSource);
198
200
  var sharedWaitingRoomDataSource = new _waitingRoom.FcrUISharedWaitingRoomDataSourceImpl(roomProvider, eventProvider);
199
201
  var phoneAudioConnectorProvider = new _phoneAudioProvider.FcrUIPhoneAudioConnectorProviderImpl({
200
202
  roomControl: mainRoomControl,
@@ -205,6 +207,10 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
205
207
  var sharedMeetingTimeDataSource = new _meetingTime.FcrUIMeetingTimeSharedDataSourceImpl({
206
208
  mainRoomControl: mainRoomControl
207
209
  });
210
+ var sharedMemberDataSource = new _memberData.FcrUIMemberSharedDataSourceImpl(userControl, streamControl, sharedScreenShareSharedDataSource, mainRoomControl.getSharingControl().getBoardControl());
211
+ var screenShareProvider = new _screenShareProvider.FcrUIScreenShareProviderImpl(deviceProvider, eventProvider, roomProvider, sharingProvider, sharedScreenShareSharedDataSource, sharedMemberDataSource);
212
+ var annotationProvider = new _annotationProvider.FcrUIAnnotationProviderImpl(dialogProvider, sharingProvider, sharedMemberDataSource, sharedVideoWindowDataSource, screenShareProvider, deviceProvider);
213
+ var sharedSecurityDataSource = new _securityData.FcrUISecuritySharedDataSourceImpl(privilegeProvider, sharedMemberDataSource);
208
214
  _this.messageProvider = messageProvider;
209
215
  _this.dialogProvider = dialogProvider;
210
216
  _this.eventProvider = eventProvider;
@@ -226,6 +232,8 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
226
232
  _this.screenShareProvider = screenShareProvider;
227
233
  _this.phoneAudioConnectorProvider = phoneAudioConnectorProvider;
228
234
  _this.chatProvider = chatProvider;
235
+ _this.annotationProvider = annotationProvider;
236
+ _this.sharingProvider = sharingProvider;
229
237
  _this.sharedSpeakerSpotlightDataSource = sharedSpeakerSpotlightDataSource;
230
238
  _this.sharedPinDataSource = sharedPinDataSource;
231
239
  _this.sharedConfigDataSource = sharedConfigDataSource;
@@ -239,7 +247,7 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
239
247
  _this.sharedMemberDataSource = sharedMemberDataSource;
240
248
  _this.sharedMeetingTimeDataSource = sharedMeetingTimeDataSource;
241
249
  _this.sharedSecuritySharedDataSource = sharedSecurityDataSource;
242
- _this.screenShareDataSource = screenShareDataSource;
250
+ _this.sharedScreenShareSharedDataSource = sharedScreenShareSharedDataSource;
243
251
  _this.widgetProvider = widgetProvider;
244
252
  _this.abilityProvider = abilityProvider;
245
253
  _this._addObservers();
@@ -336,6 +344,7 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
336
344
  var pcAudioConnection = new _pcAudioConnect.PcAudioConnectionUIModule(this, this);
337
345
  var phoneAudioConnection = new _phoneAudioConnect.PhoneAudioConnectionUIModule(this, this);
338
346
  var webWidgetUIModule = new _widget2.WebWidgetUIModule(this, this);
347
+ var annotationUIModule = new _annotation.AnnotationUIModule(this, this);
339
348
  this.addSubNode(chatModule);
340
349
  this.addSubNode(audioStreamUIModule);
341
350
  this.addSubNode(soundEffectUIModule);
@@ -358,6 +367,7 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
358
367
  this.addSubNode(pcAudioConnection);
359
368
  this.addSubNode(phoneAudioConnection);
360
369
  this.addSubNode(webWidgetUIModule);
370
+ this.addSubNode(annotationUIModule);
361
371
  var getView = function getView() {
362
372
  dialogModule.addDialogs([
363
373
  // {
@@ -451,8 +461,7 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
451
461
  key: _constant.FcrUIDialogKey.CONTROL_BAR,
452
462
  component: function component(props) {
453
463
  return (0, _env.isElectron)() ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_controlBar2.ControlBarDialog, {
454
- module: controlbarUIModule,
455
- params: props.params
464
+ module: controlbarUIModule
456
465
  }, "ControlBar") : shareScreenModule.getComponent();
457
466
  }
458
467
  }, {
@@ -470,18 +479,35 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
470
479
  children: participantsModule.getRenameDialogContent()
471
480
  }, "RenameDialog");
472
481
  }
482
+ }, {
483
+ key: _constant.FcrUIDialogKey.ANNOTATION_TOOL,
484
+ component: function component() {
485
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_annotationTool.AnnotationBarDialog, {
486
+ children: annotationUIModule.getToolComponents()
487
+ }, "annotation");
488
+ }
473
489
  }, {
474
490
  key: _constant.FcrUIDialogKey.LEAVE_MEETING,
475
491
  component: function component(props) {
476
492
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_confirmLeaveMeeting.ConfirmLeaveMeetingDialog, {
477
493
  title: (0, _i18n.transI18n)('fmt_actionbar_labels_endmeeting'),
478
- onOk: function onOk() {
479
- _this3.mainRoomControlProvider.mainRoomControl.close();
480
- _this3.roomProvider.exitRoom();
481
- _this3.eventProvider.sendEvent(_constant.FcrUIAction.CLOSE_DIALOG, {
482
- dialogKey: _constant.FcrUIDialogKey.LEAVE_MEETING
483
- });
484
- },
494
+ onOk: /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
495
+ return _regenerator["default"].wrap(function _callee$(_context) {
496
+ while (1) switch (_context.prev = _context.next) {
497
+ case 0:
498
+ _this3.roomProvider.setIsSelfEndMeeting(true);
499
+ _context.next = 3;
500
+ return _this3.mainRoomControlProvider.mainRoomControl.close();
501
+ case 3:
502
+ _this3.eventProvider.sendEvent(_constant.FcrUIAction.CLOSE_DIALOG, {
503
+ dialogKey: _constant.FcrUIDialogKey.LEAVE_MEETING
504
+ });
505
+ case 4:
506
+ case "end":
507
+ return _context.stop();
508
+ }
509
+ }, _callee);
510
+ })),
485
511
  onCancel: function onCancel() {
486
512
  _this3.eventProvider.sendEvent(_constant.FcrUIAction.CLOSE_DIALOG, {
487
513
  dialogKey: _constant.FcrUIDialogKey.LEAVE_MEETING
@@ -509,8 +535,10 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
509
535
  stateBar: stateBarUIModule.getComponent(),
510
536
  layers: _this3.renderLayers([dialogModule.getComponent(), eventToastUIModule.getComponent('local'), eventNotificationUIModule.getComponent()]),
511
537
  whiteboard: whiteBoradUIModule.getComponent(),
538
+ annotationControl: annotationUIModule.getControlComponent(),
539
+ annotation: annotationUIModule.getComponent(),
512
540
  globalToast: eventToastUIModule.getComponent('global'),
513
- confirm: eventConfirmUIModule.getComponent()
541
+ confirm: eventConfirmUIModule.getComponent('mainroom')
514
542
  })
515
543
  }), 'mainroom')
516
544
  });
@@ -555,11 +583,11 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
555
583
  }, {
556
584
  key: "_runSettingConfig",
557
585
  value: function () {
558
- var _runSettingConfig2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
586
+ var _runSettingConfig2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
559
587
  var _this4 = this;
560
588
  var deviceProvider, settingConfig, showToast, allowJoinWithCloseVideo, hasOpenCameraPrivilege, isJoinWithCloseVideo, allowJoinWithMuteAudio, hasOpenMicrophonePrivilege, isJoinWithMuteAudio;
561
- return _regenerator["default"].wrap(function _callee$(_context) {
562
- while (1) switch (_context.prev = _context.next) {
589
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
590
+ while (1) switch (_context2.prev = _context2.next) {
563
591
  case 0:
564
592
  deviceProvider = this.deviceProvider;
565
593
  settingConfig = this.sharedConfigDataSource.settingConfig;
@@ -571,10 +599,10 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
571
599
  });
572
600
  };
573
601
  allowJoinWithCloseVideo = this.privilegeProvider.allowJoinWithMutedVideo();
574
- _context.next = 7;
602
+ _context2.next = 7;
575
603
  return this.devicePrivilegeProvider.hasOpenCameraPrivilege();
576
604
  case 7:
577
- hasOpenCameraPrivilege = _context.sent;
605
+ hasOpenCameraPrivilege = _context2.sent;
578
606
  if (this.deviceProvider.ifNeedExecuteOpenCamera()) {
579
607
  isJoinWithCloseVideo = allowJoinWithCloseVideo && !hasOpenCameraPrivilege;
580
608
  if (isJoinWithCloseVideo) {
@@ -590,10 +618,10 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
590
618
  }
591
619
  }
592
620
  allowJoinWithMuteAudio = this.privilegeProvider.allowJoinWithMuteAudio();
593
- _context.next = 12;
621
+ _context2.next = 12;
594
622
  return this.devicePrivilegeProvider.hasOpenMicrophonePrivilege();
595
623
  case 12:
596
- hasOpenMicrophonePrivilege = _context.sent;
624
+ hasOpenMicrophonePrivilege = _context2.sent;
597
625
  if (this.deviceProvider.ifNeedExecuteAutoConnectAudio()) {
598
626
  isJoinWithMuteAudio = allowJoinWithMuteAudio && !hasOpenMicrophonePrivilege && this.deviceProvider.shouldEnableMicBeforeSession;
599
627
  if (isJoinWithMuteAudio) {
@@ -618,9 +646,9 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
618
646
  }
619
647
  case 15:
620
648
  case "end":
621
- return _context.stop();
649
+ return _context2.stop();
622
650
  }
623
- }, _callee, this);
651
+ }, _callee2, this);
624
652
  }));
625
653
  function _runSettingConfig() {
626
654
  return _runSettingConfig2.apply(this, arguments);
@@ -22,6 +22,8 @@ import { FcrUIMemberSharedDataSource } from '../shared-data-source/member-data';
22
22
  import { FcrUIWidgetProvider } from '../providers/widget-provider';
23
23
  import { FcrUISharedWaitingRoomDataSource } from '../shared-data-source/waiting-room';
24
24
  import { FcrUIAbilityProviderImpl } from '../providers/ability-provider';
25
+ import { FcrUIScreenShareProviderImpl } from '../providers/screen-share-provider';
26
+ import { FcrUIScreenShareSharedDataSource } from '../shared-data-source/screen-share-data';
25
27
  export type FcrWaitingUISceneArgs = {
26
28
  engine: FcrCoreEngine;
27
29
  eventProvider: FcrUIEventProvider;
@@ -34,8 +36,10 @@ export type FcrWaitingUISceneArgs = {
34
36
  sharedSettingDataSource: FcrUISharedSettingDataSource;
35
37
  sharedDevicePrivilegeDataSource: FcrUISharedDevicePrivilegeDataSource;
36
38
  widgetProvider: FcrUIWidgetProvider;
39
+ sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource;
37
40
  };
38
41
  export declare class FcrWaitingUIScene extends FcrBaseUIScene {
42
+ private _dom;
39
43
  eventProvider: FcrUIEventProvider;
40
44
  roomProvider: FcrUIRoomProvider;
41
45
  waitingRoomControlProvider: FcrUIWaitingRoomControlProviderImpl;
@@ -51,6 +55,7 @@ export declare class FcrWaitingUIScene extends FcrBaseUIScene {
51
55
  monitorProvider: FcrUIMonitorProviderImpl;
52
56
  deviceStreamProvider: FcrUIDeviceStreamProviderImpl;
53
57
  widgetProvider: FcrUIWidgetProvider;
58
+ screenShareProvider: FcrUIScreenShareProviderImpl;
54
59
  sharedConfigDataSource: FcrUISharedConfigDataSource;
55
60
  messageProvider: FcrUIMessageProvider;
56
61
  sharedInterpreterDataSource: FcrUISharedInterpreterDataSourceImpl;
@@ -60,6 +65,7 @@ export declare class FcrWaitingUIScene extends FcrBaseUIScene {
60
65
  sharedChatDataSource: FcrUISharedChatDataSource;
61
66
  sharedMemberDataSource: FcrUIMemberSharedDataSource;
62
67
  sharedWaitingRoomDataSource: FcrUISharedWaitingRoomDataSource;
68
+ sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource;
63
69
  abilityProvider: FcrUIAbilityProviderImpl;
64
70
  constructor(args: FcrWaitingUISceneArgs);
65
71
  mount(dom: HTMLElement): void;