fcr-ui-scene 3.6.1 → 3.6.2

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 (292) hide show
  1. package/dist/132.js +2 -0
  2. package/dist/132.js.LICENSE.txt +311 -0
  3. package/dist/317.js +2 -0
  4. package/dist/317.js.LICENSE.txt +20 -0
  5. package/dist/651.js +2 -0
  6. package/dist/651.js.LICENSE.txt +1 -0
  7. package/dist/689343b64b60bfb7ffff.png +0 -0
  8. package/dist/73.js +1 -0
  9. package/dist/885f9369ea05a8ac0e56.png +0 -0
  10. package/dist/90f383876a6e93e7c7ca.png +0 -0
  11. package/dist/9b37584780995fc5df8c.gif +0 -0
  12. package/dist/annotation.e5cbd3a70b6d42361872.css +1274 -0
  13. package/dist/annotation.html +1 -0
  14. package/dist/annotation.js +2 -0
  15. package/dist/annotation.js.LICENSE.txt +252 -0
  16. package/dist/assets/browser/images/default1.jpg +0 -0
  17. package/dist/assets/browser/images/default2.jpg +0 -0
  18. package/dist/assets/browser/images/default3.jpg +0 -0
  19. package/dist/assets/browser/images/default4.jpg +0 -0
  20. package/dist/assets/browser/images/default5.jpg +0 -0
  21. package/dist/assets/browser/images/default6.jpg +0 -0
  22. package/dist/assets/browser/images/default7.jpg +0 -0
  23. package/dist/assets/browser/sound_effects/pretest.mp3 +0 -0
  24. package/dist/assets/browser/sound_effects/recording_started.mp3 +0 -0
  25. package/dist/assets/browser/sound_effects/remote_user_joined.mp3 +0 -0
  26. package/dist/assets/browser/sound_effects/speaker_test.mp3 +0 -0
  27. package/dist/assets/browser/videos/default8.mp4 +0 -0
  28. package/dist/assets/browser/videos/default9.mp4 +0 -0
  29. package/dist/assets/cursors/fcr_whiteboard_input.ico +0 -0
  30. package/dist/assets/cursors/fcr_whiteboard_pen.ico +0 -0
  31. package/dist/assets/cursors/fcr_whiteboard_shape_-straightline.ico +0 -0
  32. package/dist/assets/cursors/fcr_whiteboard_shape_arrow.ico +0 -0
  33. package/dist/assets/cursors/fcr_whiteboard_shape_circle.ico +0 -0
  34. package/dist/assets/cursors/fcr_whiteboard_shape_rectangle.ico +0 -0
  35. package/dist/assets/cursors/fcr_whiteboard_shape_triangle.ico +0 -0
  36. package/dist/assets/electron/images/default1.jpg +0 -0
  37. package/dist/assets/electron/images/default2.jpg +0 -0
  38. package/dist/assets/electron/sound_effects/pretest.mp3 +0 -0
  39. package/dist/assets/electron/videos/default8.mp4 +0 -0
  40. package/dist/assets/fcr_chat_reddot.svg +5 -0
  41. package/dist/assets/fcr_defaultpage.png +0 -0
  42. package/dist/assets/fcr_grid_big.svg +3 -0
  43. package/dist/assets/fcr_leave2.svg +58 -0
  44. package/dist/assets/fcr_listontop_big.svg +3 -0
  45. package/dist/assets/full-screen-error-boundary-img.png +0 -0
  46. package/dist/assets/leave-meeting.png +0 -0
  47. package/dist/assets/loading.gif +0 -0
  48. package/dist/assets/login_confirm.png +0 -0
  49. package/dist/assets/pretest.mp3 +0 -0
  50. package/dist/assets/state-bar-logo.png +0 -0
  51. package/dist/assets/step-gradient.svg +10 -0
  52. package/dist/b74b002687a3a3346bec.png +0 -0
  53. package/dist/b94869094481702f949b.png +0 -0
  54. package/dist/ebeace75fd46b90d890e.png +0 -0
  55. package/dist/electron/app.js +194 -0
  56. package/dist/electron/bootstrap-dev.js +46 -0
  57. package/dist/electron/bootstrap-sdk.js +211 -0
  58. package/dist/electron/default-options.js +25 -0
  59. package/dist/electron/env.js +13 -0
  60. package/dist/electron/index.js +20 -0
  61. package/dist/electron/injections.js +903 -0
  62. package/dist/electron/ipc/ipc.js +141 -0
  63. package/dist/electron/ipc/type.js +19 -0
  64. package/dist/electron/logger.js +65 -0
  65. package/dist/electron/main.js +94 -0
  66. package/dist/electron/plugins/devtool-shortcut.js +33 -0
  67. package/dist/electron/plugins/meeting-state.js +39 -0
  68. package/dist/electron/plugins/screenshot.js +54 -0
  69. package/dist/electron/preload.js +108 -0
  70. package/dist/electron/tools.js +66 -0
  71. package/dist/electron/window.js +123 -0
  72. package/dist/extensions/agora-extension-virtual-background/agora-wasm.wasm +0 -0
  73. package/dist/extensions/ai-denoiser/denoiser-wasm-simd.wasm +0 -0
  74. package/dist/extensions/ai-denoiser/denoiser-wasm.js +1 -0
  75. package/dist/extensions/ai-denoiser/denoiser-wasm.wasm +0 -0
  76. package/dist/fad688b9135b15d6c405.png +0 -0
  77. package/dist/index.html +224 -0
  78. package/dist/main.393a2a91ab7fc05ffce6.css +15403 -0
  79. package/dist/main.js +2 -0
  80. package/dist/main.js.LICENSE.txt +272 -0
  81. package/dist/worker-entry.worker.js.LICENSE.txt +13 -0
  82. package/lib/creator.d.ts +5 -0
  83. package/lib/creator.js +106 -17
  84. package/lib/electron/bootstrap-sdk.js +4 -0
  85. package/lib/electron/injections.d.ts +4 -0
  86. package/lib/electron/injections.js +37 -8
  87. package/lib/electron/ipc/ipc.d.ts +1 -0
  88. package/lib/electron/ipc/ipc.js +4 -0
  89. package/lib/electron/main.js +6 -2
  90. package/lib/electron/plugins/screenshot.js +4 -2
  91. package/lib/electron/preload.js +7 -2
  92. package/lib/electron/window.js +4 -3
  93. package/lib/fragments/annotation/index.d.ts +10 -0
  94. package/lib/fragments/annotation/index.js +106 -0
  95. package/lib/fragments/annotation/libs.d.ts +55 -0
  96. package/lib/fragments/annotation/libs.js +93 -0
  97. package/lib/fragments/annotation/store.d.ts +25 -0
  98. package/lib/fragments/annotation/store.js +485 -0
  99. package/lib/fragments/annotation/view.d.ts +2 -0
  100. package/lib/fragments/annotation/view.js +23 -0
  101. package/lib/fragments/base.d.ts +10 -0
  102. package/lib/fragments/base.js +44 -0
  103. package/lib/modules/action-bar/components/screen-share/submenu.js +7 -6
  104. package/lib/modules/action-bar/index.css +7 -0
  105. package/lib/modules/action-bar/index.d.ts +2 -0
  106. package/lib/modules/action-bar/index.js +1 -0
  107. package/lib/modules/action-bar/store.d.ts +6 -2
  108. package/lib/modules/action-bar/store.js +15 -9
  109. package/lib/modules/annotation/components/control-bar/index.css +48 -0
  110. package/lib/modules/annotation/components/control-bar/index.d.ts +3 -0
  111. package/lib/modules/annotation/components/control-bar/index.js +101 -0
  112. package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.d.ts +3 -0
  113. package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.js +46 -0
  114. package/lib/modules/annotation/components/toolbar/components/color-tool/index.d.ts +1 -0
  115. package/lib/modules/annotation/components/toolbar/components/color-tool/index.js +52 -0
  116. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.d.ts +3 -0
  117. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.js +59 -0
  118. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +11 -0
  119. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.js +59 -0
  120. package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.d.ts +1 -0
  121. package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.js +68 -0
  122. package/lib/modules/annotation/components/toolbar/components/item/item.d.ts +17 -0
  123. package/lib/modules/annotation/components/toolbar/components/item/item.js +115 -0
  124. package/lib/modules/annotation/components/toolbar/components/item/style.css +43 -0
  125. package/lib/modules/annotation/components/toolbar/components/panel/index.d.ts +5 -0
  126. package/lib/modules/annotation/components/toolbar/components/panel/index.js +22 -0
  127. package/lib/modules/annotation/components/toolbar/components/panel/style.css +24 -0
  128. package/lib/modules/annotation/components/toolbar/components/pen-tool/index.d.ts +1 -0
  129. package/lib/modules/annotation/components/toolbar/components/pen-tool/index.js +58 -0
  130. package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.d.ts +3 -0
  131. package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.js +34 -0
  132. package/lib/modules/annotation/components/toolbar/components/tips/index.d.ts +2 -0
  133. package/lib/modules/annotation/components/toolbar/components/tips/index.js +25 -0
  134. package/lib/modules/annotation/components/toolbar/components/tips/style.css +19 -0
  135. package/lib/modules/annotation/components/toolbar/index.d.ts +0 -0
  136. package/lib/modules/annotation/components/toolbar/index.js +1 -0
  137. package/lib/modules/annotation/components/toolbar/store.d.ts +40 -0
  138. package/lib/modules/annotation/components/toolbar/store.js +279 -0
  139. package/lib/modules/annotation/components/toolbar/style.css +55 -0
  140. package/lib/modules/annotation/components/toolbar/view.d.ts +2 -0
  141. package/lib/modules/annotation/components/toolbar/view.js +120 -0
  142. package/lib/modules/annotation/index.d.ts +36 -0
  143. package/lib/modules/annotation/index.js +168 -0
  144. package/lib/modules/annotation/store.d.ts +85 -0
  145. package/lib/modules/annotation/store.js +648 -0
  146. package/lib/modules/annotation/style.css +26 -0
  147. package/lib/modules/annotation/view.d.ts +2 -0
  148. package/lib/modules/annotation/view.js +32 -0
  149. package/lib/modules/chat/view.js +112 -100
  150. package/lib/modules/components/annotation-menu/index.d.ts +7 -0
  151. package/lib/modules/components/annotation-menu/index.js +119 -0
  152. package/lib/modules/components/leave-meeting/components/assign-host.js +26 -23
  153. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.d.ts +2 -0
  154. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +6 -2
  155. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.d.ts +2 -1
  156. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +6 -1
  157. package/lib/modules/components/member-window/components/video-player/index.d.ts +1 -0
  158. package/lib/modules/components/member-window/index.d.ts +1 -1
  159. package/lib/modules/components/member-window/index.js +8 -5
  160. package/lib/modules/components/member-window/types.d.ts +2 -0
  161. package/lib/modules/components/security-menu/index.js +7 -6
  162. package/lib/modules/control-bar/components/annotation-button/index.d.ts +1 -0
  163. package/lib/modules/control-bar/components/annotation-button/index.js +59 -0
  164. package/lib/modules/control-bar/index.d.ts +6 -2
  165. package/lib/modules/control-bar/index.js +5 -2
  166. package/lib/modules/control-bar/store.d.ts +23 -7
  167. package/lib/modules/control-bar/store.js +112 -77
  168. package/lib/modules/control-bar/view.js +7 -3
  169. package/lib/modules/dialog/components/annotation-tool/index.d.ts +4 -0
  170. package/lib/modules/dialog/components/annotation-tool/index.js +53 -0
  171. package/lib/modules/dialog/components/chat/index.js +1 -1
  172. package/lib/modules/dialog/components/host-area-container/index.d.ts +12 -0
  173. package/lib/modules/dialog/components/host-area-container/index.js +214 -0
  174. package/lib/modules/dialog/components/participant/index.js +1 -1
  175. package/lib/modules/dialog/components/system-preference/index.js +1 -1
  176. package/lib/modules/dialog/components/video-window/index.js +1 -0
  177. package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +14 -0
  178. package/lib/modules/dialog/hooks/use-popover-watcher.js +112 -0
  179. package/lib/modules/dialog/hooks/useElectron.d.ts +1 -0
  180. package/lib/modules/dialog/hooks/useElectron.js +11 -2
  181. package/lib/modules/dialog/index.d.ts +2 -0
  182. package/lib/modules/dialog/index.js +2 -1
  183. package/lib/modules/dialog/store.d.ts +9 -2
  184. package/lib/modules/dialog/store.js +46 -6
  185. package/lib/modules/event-confirm/components/window/index.d.ts +7 -0
  186. package/lib/modules/event-confirm/components/window/index.js +188 -0
  187. package/lib/modules/event-confirm/index.d.ts +4 -4
  188. package/lib/modules/event-confirm/index.js +6 -4
  189. package/lib/modules/event-confirm/store.d.ts +4 -5
  190. package/lib/modules/event-confirm/store.js +35 -26
  191. package/lib/modules/event-confirm/view.js +23 -171
  192. package/lib/modules/event-sound/index.js +1 -1
  193. package/lib/modules/layout/components/CommonVideoRenderer.js +30 -16
  194. package/lib/modules/layout/index.d.ts +4 -0
  195. package/lib/modules/layout/index.js +2 -0
  196. package/lib/modules/layout/store.d.ts +14 -2
  197. package/lib/modules/layout/store.js +77 -45
  198. package/lib/modules/participant/index.d.ts +2 -0
  199. package/lib/modules/participant/index.js +2 -1
  200. package/lib/modules/participant/store.d.ts +5 -2
  201. package/lib/modules/participant/store.js +45 -28
  202. package/lib/modules/setting/audio-settings/audio-settings.js +3 -14
  203. package/lib/modules/share-screen/components/selection/index.js +18 -42
  204. package/lib/modules/share-screen/index.d.ts +6 -2
  205. package/lib/modules/share-screen/index.js +4 -2
  206. package/lib/modules/share-screen/store.d.ts +38 -46
  207. package/lib/modules/share-screen/store.js +263 -693
  208. package/lib/modules/share-screen/view.js +2 -2
  209. package/lib/modules/state-bar/assets/fcr_grid_big.svg +1 -1
  210. package/lib/modules/state-bar/assets/fcr_listontop_big.svg +1 -1
  211. package/lib/modules/state-bar/index.d.ts +2 -0
  212. package/lib/modules/state-bar/index.js +1 -0
  213. package/lib/modules/state-bar/store.d.ts +5 -1
  214. package/lib/modules/state-bar/store.js +9 -1
  215. package/lib/modules/state-bar/view.js +3 -2
  216. package/lib/modules/video-window/components/members/index.js +2 -1
  217. package/lib/modules/waiting-room-layout/store.js +1 -1
  218. package/lib/modules/whiteboard/components/control-bar/store.d.ts +5 -1
  219. package/lib/modules/whiteboard/components/control-bar/store.js +8 -1
  220. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/picker.js +16 -5
  221. package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +67 -12
  222. package/lib/modules/whiteboard/components/toolbar/components/expansion/index.js +22 -2
  223. package/lib/modules/whiteboard/components/toolbar/components/history.js +46 -14
  224. package/lib/modules/whiteboard/components/toolbar/components/item/index.js +3 -2
  225. package/lib/modules/whiteboard/components/toolbar/components/move-handle.js +1 -1
  226. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +58 -16
  227. package/lib/modules/whiteboard/components/toolbar/components/screen-capture-picker.js +15 -4
  228. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +45 -2
  229. package/lib/modules/whiteboard/components/toolbar/hooks/index.d.ts +14 -0
  230. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +235 -7
  231. package/lib/modules/whiteboard/components/toolbar/index.d.ts +1 -1
  232. package/lib/modules/whiteboard/components/toolbar/index.js +1 -1
  233. package/lib/modules/whiteboard/components/toolbar/store.d.ts +9 -2
  234. package/lib/modules/whiteboard/components/toolbar/store.js +30 -6
  235. package/lib/modules/whiteboard/components/toolbar/{ style.css → style.css} +1 -0
  236. package/lib/modules/whiteboard/index.d.ts +2 -0
  237. package/lib/modules/whiteboard/index.js +20 -20
  238. package/lib/plugins/browser-runtime-plugin.js +10 -1
  239. package/lib/providers/annotation-provider.d.ts +77 -0
  240. package/lib/providers/annotation-provider.js +411 -0
  241. package/lib/providers/interpreter-provider.d.ts +1 -0
  242. package/lib/providers/interpreter-provider.js +182 -154
  243. package/lib/providers/privilege-provider.d.ts +35 -6
  244. package/lib/providers/privilege-provider.js +105 -49
  245. package/lib/providers/renderer-provider.js +3 -7
  246. package/lib/providers/room-provider.d.ts +13 -1
  247. package/lib/providers/room-provider.js +21 -7
  248. package/lib/providers/screen-share-provider.d.ts +131 -34
  249. package/lib/providers/screen-share-provider.js +561 -173
  250. package/lib/providers/sharing-provider.d.ts +33 -0
  251. package/lib/{shared-data-source/screen-share-data-source.js → providers/sharing-provider.js} +87 -39
  252. package/lib/runtime.d.ts +6 -1
  253. package/lib/scenes/main-scene.d.ts +7 -2
  254. package/lib/scenes/main-scene.js +54 -25
  255. package/lib/scenes/waiting-scene.d.ts +6 -0
  256. package/lib/scenes/waiting-scene.js +15 -5
  257. package/lib/shared-data-source/member-data.d.ts +21 -5
  258. package/lib/shared-data-source/member-data.js +69 -17
  259. package/lib/shared-data-source/screen-share-data.d.ts +270 -0
  260. package/lib/shared-data-source/screen-share-data.js +389 -0
  261. package/lib/shared-data-source/security-data.d.ts +4 -1
  262. package/lib/shared-data-source/security-data.js +5 -2
  263. package/lib/shared-data-source/setting.js +6 -4
  264. package/lib/type.d.ts +53 -0
  265. package/lib/ui-manager.d.ts +3 -2
  266. package/lib/ui-manager.js +6 -4
  267. package/lib/ui-scene.js +59 -44
  268. package/lib/utilities/constant.d.ts +8 -1
  269. package/lib/utilities/constant.js +7 -0
  270. package/lib/utilities/logger.d.ts +4 -0
  271. package/lib/utilities/logger.js +8 -1
  272. package/lib/utilities/renderer-event.d.ts +3 -0
  273. package/lib/utilities/renderer-event.js +14 -1
  274. package/lib/utilities/screen.js +2 -1
  275. package/lib/utilities/tools.d.ts +18 -1
  276. package/lib/utilities/tools.js +48 -2
  277. package/package.json +6 -6
  278. package/public/assets/cursors/fcr_whiteboard_input.ico +0 -0
  279. package/public/assets/cursors/fcr_whiteboard_pen.ico +0 -0
  280. package/public/assets/cursors/fcr_whiteboard_shape_-straightline.ico +0 -0
  281. package/public/assets/cursors/fcr_whiteboard_shape_arrow.ico +0 -0
  282. package/public/assets/cursors/fcr_whiteboard_shape_circle.ico +0 -0
  283. package/public/assets/cursors/fcr_whiteboard_shape_rectangle.ico +0 -0
  284. package/public/assets/cursors/fcr_whiteboard_shape_triangle.ico +0 -0
  285. package/public/assets/fcr_chat_reddot.svg +3 -3
  286. package/public/assets/fcr_grid_big.svg +1 -1
  287. package/public/assets/fcr_leave2.svg +14 -14
  288. package/public/assets/fcr_listontop_big.svg +1 -1
  289. package/public/assets/step-gradient.svg +1 -1
  290. package/public/fragment.html +10 -0
  291. package/public/index.html +3 -1
  292. package/lib/shared-data-source/screen-share-data-source.d.ts +0 -37
@@ -0,0 +1,33 @@
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
+ export interface FcrUISharingProvider {
4
+ get screenSharingOwnerId(): string;
5
+ get whiteboardOwnerId(): string;
6
+ get screenSharingState(): FcrScreenSharingState;
7
+ get whiteboardState(): FcrWhiteboardState;
8
+ startScreenSharing: (config: FcrScreenStreamCreateConfig) => void;
9
+ startWhiteboard: () => void;
10
+ updateScreenSharing: (enableAnnotation: boolean) => void;
11
+ stop: () => void;
12
+ getScreenSharingState: () => FcrScreenSharingState;
13
+ getWhiteboardState: () => FcrWhiteboardState;
14
+ getSharingControl: () => FcrSharingControl;
15
+ }
16
+ export declare class FcrUISharingProviderImpl implements FcrUISharingProvider {
17
+ private _sharingControl;
18
+ protected logger: import("agora-foundation/lib/logger").Logger;
19
+ private _observer;
20
+ accessor screenSharingOwnerId: string;
21
+ accessor whiteboardOwnerId: string;
22
+ accessor screenSharingState: FcrScreenSharingState;
23
+ accessor whiteboardState: FcrWhiteboardState;
24
+ constructor(_sharingControl: FcrSharingControl);
25
+ startScreenSharing(config: FcrScreenStreamCreateConfig): void;
26
+ startWhiteboard(): void;
27
+ updateScreenSharing(enableAnnotation: boolean): void;
28
+ stop(): void;
29
+ getScreenSharingState(): FcrScreenSharingState;
30
+ getWhiteboardState(): FcrWhiteboardState;
31
+ getSharingControl(): FcrSharingControl;
32
+ release(): void;
33
+ }
@@ -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,38 @@ 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) {
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
+ },
84
+ onWhiteboardStarted: function onWhiteboardStarted(ownerId, operatorUser) {
85
+ _this.whiteboardOwnerId = ownerId;
86
+ _this.whiteboardState = _type.FcrWhiteboardState.START;
87
+ },
88
+ onWhiteboardEnded: function onWhiteboardEnded(reason, operatorUser) {
89
+ _this.whiteboardState = _type.FcrWhiteboardState.END;
90
+ }
91
+ });
92
+ _classPrivateFieldInitSpec(this, _A, _init_screenSharingOwnerId(this, ''));
93
+ _classPrivateFieldInitSpec(this, _B, _init_whiteboardOwnerId(this, ''));
94
+ _classPrivateFieldInitSpec(this, _C, _init_screenSharingState(this, _type.FcrScreenSharingState.END));
95
+ _classPrivateFieldInitSpec(this, _D, _init_whiteboardState(this, _type.FcrWhiteboardState.END));
96
+ this._sharingControl = _sharingControl;
97
+ // @ts-ignore
98
+ // this._sharingControl.getToken();
99
+ this._sharingControl.addObserver(this._observer);
83
100
  }
84
- return (0, _createClass2["default"])(FcrUIScreenShareDataSourceImpl, [{
85
- key: "currentShareAudioProcessingChannel",
101
+ return (0, _createClass2["default"])(FcrUISharingProviderImpl, [{
102
+ key: "screenSharingOwnerId",
86
103
  get: function get() {
87
104
  return _classPrivateFieldGet(_A, this);
88
105
  },
@@ -90,7 +107,7 @@ var FcrUIScreenShareDataSourceImpl = exports.FcrUIScreenShareDataSourceImpl = /*
90
107
  _classPrivateFieldSet(_A, this, v);
91
108
  }
92
109
  }, {
93
- key: "isSharingScreen",
110
+ key: "whiteboardOwnerId",
94
111
  get: function get() {
95
112
  return _classPrivateFieldGet(_B, this);
96
113
  },
@@ -98,7 +115,7 @@ var FcrUIScreenShareDataSourceImpl = exports.FcrUIScreenShareDataSourceImpl = /*
98
115
  _classPrivateFieldSet(_B, this, v);
99
116
  }
100
117
  }, {
101
- key: "currentShareBounds",
118
+ key: "screenSharingState",
102
119
  get: function get() {
103
120
  return _classPrivateFieldGet(_C, this);
104
121
  },
@@ -106,29 +123,60 @@ var FcrUIScreenShareDataSourceImpl = exports.FcrUIScreenShareDataSourceImpl = /*
106
123
  _classPrivateFieldSet(_C, this, v);
107
124
  }
108
125
  }, {
109
- key: "setSharingScreen",
110
- value: function setSharingScreen(isSharingScreen) {
111
- this.isSharingScreen = isSharingScreen;
112
- this.logger.info("setSharingScreen: ".concat(isSharingScreen));
126
+ key: "whiteboardState",
127
+ get: function get() {
128
+ return _classPrivateFieldGet(_D, this);
129
+ },
130
+ set: function set(v) {
131
+ _classPrivateFieldSet(_D, this, v);
132
+ }
133
+ }, {
134
+ key: "startScreenSharing",
135
+ value: function startScreenSharing(config) {
136
+ this._sharingControl.startScreenSharing(config);
137
+ }
138
+ }, {
139
+ key: "startWhiteboard",
140
+ value: function startWhiteboard() {
141
+ this._sharingControl.startWhiteboard();
142
+ }
143
+ }, {
144
+ key: "updateScreenSharing",
145
+ value: function updateScreenSharing(enableAnnotation) {
146
+ this._sharingControl.updateScreenSharing(enableAnnotation);
147
+ }
148
+ }, {
149
+ key: "stop",
150
+ value: function stop() {
151
+ this._sharingControl.stop();
152
+ }
153
+ }, {
154
+ key: "getScreenSharingState",
155
+ value: function getScreenSharingState() {
156
+ return this._sharingControl.getScreenSharingState();
157
+ }
158
+ }, {
159
+ key: "getWhiteboardState",
160
+ value: function getWhiteboardState() {
161
+ return this._sharingControl.getWhiteboardState();
113
162
  }
114
163
  }, {
115
- key: "setCurrentShareBounds",
116
- value: function setCurrentShareBounds(currentShareBounds) {
117
- this.currentShareBounds = currentShareBounds;
118
- this.logger.info("setCurrentShareBounds: ".concat(JSON.stringify(currentShareBounds)));
164
+ key: "getSharingControl",
165
+ value: function getSharingControl() {
166
+ return this._sharingControl;
119
167
  }
120
168
  }, {
121
- key: "setCurrentShareAudioProcessingChannel",
122
- value: function setCurrentShareAudioProcessingChannel(channel) {
123
- this.currentShareAudioProcessingChannel = channel;
124
- this.logger.info("setCurrentShareAudioProcessingChannel: ".concat(channel));
169
+ key: "release",
170
+ value: function release() {
171
+ this._sharingControl.removeObserver(this._observer);
125
172
  }
126
173
  }]);
127
174
  }();
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');
175
+ _FcrUISharingProviderImpl = FcrUISharingProviderImpl;
176
+ 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);
177
+ _init_screenSharingOwnerId = _applyDecs$e[0];
178
+ _init_whiteboardOwnerId = _applyDecs$e[1];
179
+ _init_screenSharingState = _applyDecs$e[2];
180
+ _init_whiteboardState = _applyDecs$e[3];
181
+ _initProto = _applyDecs$e[4];
182
+ (0, _base.registerDependency)('sharingProvider');
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);
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
  // {
@@ -470,18 +480,35 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
470
480
  children: participantsModule.getRenameDialogContent()
471
481
  }, "RenameDialog");
472
482
  }
483
+ }, {
484
+ key: _constant.FcrUIDialogKey.ANNOTATION_TOOL,
485
+ component: function component() {
486
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_annotationTool.AnnotationBarDialog, {
487
+ children: annotationUIModule.getToolComponents()
488
+ }, "annotation");
489
+ }
473
490
  }, {
474
491
  key: _constant.FcrUIDialogKey.LEAVE_MEETING,
475
492
  component: function component(props) {
476
493
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_confirmLeaveMeeting.ConfirmLeaveMeetingDialog, {
477
494
  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
- },
495
+ onOk: /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
496
+ return _regenerator["default"].wrap(function _callee$(_context) {
497
+ while (1) switch (_context.prev = _context.next) {
498
+ case 0:
499
+ _this3.roomProvider.setIsSelfEndMeeting(true);
500
+ _context.next = 3;
501
+ return _this3.mainRoomControlProvider.mainRoomControl.close();
502
+ case 3:
503
+ _this3.eventProvider.sendEvent(_constant.FcrUIAction.CLOSE_DIALOG, {
504
+ dialogKey: _constant.FcrUIDialogKey.LEAVE_MEETING
505
+ });
506
+ case 4:
507
+ case "end":
508
+ return _context.stop();
509
+ }
510
+ }, _callee);
511
+ })),
485
512
  onCancel: function onCancel() {
486
513
  _this3.eventProvider.sendEvent(_constant.FcrUIAction.CLOSE_DIALOG, {
487
514
  dialogKey: _constant.FcrUIDialogKey.LEAVE_MEETING
@@ -509,8 +536,10 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
509
536
  stateBar: stateBarUIModule.getComponent(),
510
537
  layers: _this3.renderLayers([dialogModule.getComponent(), eventToastUIModule.getComponent('local'), eventNotificationUIModule.getComponent()]),
511
538
  whiteboard: whiteBoradUIModule.getComponent(),
539
+ annotationControl: annotationUIModule.getControlComponent(),
540
+ annotation: annotationUIModule.getComponent(),
512
541
  globalToast: eventToastUIModule.getComponent('global'),
513
- confirm: eventConfirmUIModule.getComponent()
542
+ confirm: eventConfirmUIModule.getComponent('mainroom')
514
543
  })
515
544
  }), 'mainroom')
516
545
  });
@@ -555,11 +584,11 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
555
584
  }, {
556
585
  key: "_runSettingConfig",
557
586
  value: function () {
558
- var _runSettingConfig2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
587
+ var _runSettingConfig2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
559
588
  var _this4 = this;
560
589
  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) {
590
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
591
+ while (1) switch (_context2.prev = _context2.next) {
563
592
  case 0:
564
593
  deviceProvider = this.deviceProvider;
565
594
  settingConfig = this.sharedConfigDataSource.settingConfig;
@@ -571,10 +600,10 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
571
600
  });
572
601
  };
573
602
  allowJoinWithCloseVideo = this.privilegeProvider.allowJoinWithMutedVideo();
574
- _context.next = 7;
603
+ _context2.next = 7;
575
604
  return this.devicePrivilegeProvider.hasOpenCameraPrivilege();
576
605
  case 7:
577
- hasOpenCameraPrivilege = _context.sent;
606
+ hasOpenCameraPrivilege = _context2.sent;
578
607
  if (this.deviceProvider.ifNeedExecuteOpenCamera()) {
579
608
  isJoinWithCloseVideo = allowJoinWithCloseVideo && !hasOpenCameraPrivilege;
580
609
  if (isJoinWithCloseVideo) {
@@ -590,10 +619,10 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
590
619
  }
591
620
  }
592
621
  allowJoinWithMuteAudio = this.privilegeProvider.allowJoinWithMuteAudio();
593
- _context.next = 12;
622
+ _context2.next = 12;
594
623
  return this.devicePrivilegeProvider.hasOpenMicrophonePrivilege();
595
624
  case 12:
596
- hasOpenMicrophonePrivilege = _context.sent;
625
+ hasOpenMicrophonePrivilege = _context2.sent;
597
626
  if (this.deviceProvider.ifNeedExecuteAutoConnectAudio()) {
598
627
  isJoinWithMuteAudio = allowJoinWithMuteAudio && !hasOpenMicrophonePrivilege && this.deviceProvider.shouldEnableMicBeforeSession;
599
628
  if (isJoinWithMuteAudio) {
@@ -618,9 +647,9 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
618
647
  }
619
648
  case 15:
620
649
  case "end":
621
- return _context.stop();
650
+ return _context2.stop();
622
651
  }
623
- }, _callee, this);
652
+ }, _callee2, this);
624
653
  }));
625
654
  function _runSettingConfig() {
626
655
  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;
@@ -15,6 +15,7 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
15
15
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
16
16
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
17
17
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
18
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
18
19
  var _waitingRoomLayout = require("../modules/waiting-room-layout");
19
20
  var _reactDom = _interopRequireDefault(require("react-dom"));
20
21
  var _actionBar = require("../modules/action-bar");
@@ -42,6 +43,7 @@ var _memberData = require("../shared-data-source/member-data");
42
43
  var _waitingRoom = require("../shared-data-source/waiting-room");
43
44
  var _abilityProvider = require("../providers/ability-provider");
44
45
  var _screenShareProvider = require("../providers/screen-share-provider");
46
+ var _sharingProvider = require("../providers/sharing-provider");
45
47
  var _jsxRuntime = require("react/jsx-runtime");
46
48
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
47
49
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
@@ -54,6 +56,7 @@ var FcrWaitingUIScene = exports.FcrWaitingUIScene = /*#__PURE__*/function (_FcrB
54
56
  var _this;
55
57
  (0, _classCallCheck2["default"])(this, FcrWaitingUIScene);
56
58
  _this = _callSuper(this, FcrWaitingUIScene);
59
+ (0, _defineProperty2["default"])(_this, "_dom", null);
57
60
  var eventProvider = args.eventProvider,
58
61
  sharedConfigDataSource = args.sharedConfigDataSource,
59
62
  deviceProvider = args.deviceProvider,
@@ -64,18 +67,17 @@ var FcrWaitingUIScene = exports.FcrWaitingUIScene = /*#__PURE__*/function (_FcrB
64
67
  sharedSettingDataSource = args.sharedSettingDataSource,
65
68
  sharedDevicePrivilegeDataSource = args.sharedDevicePrivilegeDataSource,
66
69
  engine = args.engine,
67
- widgetProvider = args.widgetProvider;
70
+ widgetProvider = args.widgetProvider,
71
+ sharedScreenShareSharedDataSource = args.sharedScreenShareSharedDataSource;
68
72
  var waitingRoomControl = roomProvider.currentRoomControl;
69
73
  var privilegeControl = waitingRoomControl.getPrivilegeControl();
70
74
  var streamControl = waitingRoomControl.getStreamControl();
71
75
  var userControl = waitingRoomControl.getUserControl();
72
- var screenShareProvider = new _screenShareProvider.FcrUIScreenShareProviderImpl(deviceProvider, dialogProvider, roomProvider);
73
- var sharedMemberDataSource = new _memberData.FcrUIMemberSharedDataSourceImpl(userControl, streamControl, screenShareProvider);
74
76
  var devicePrivilegeProvider = new _devicePrivilegeProvider.FcrUIDevicePrivilegeProviderImpl(privilegeControl, streamControl, userControl, deviceProvider, messageProvider);
75
77
  var sharedWaitingRoomDataSource = new _waitingRoom.FcrUISharedWaitingRoomDataSourceImpl(roomProvider, eventProvider);
76
78
  var localStorageProvider = new _localStorageProvider.FcrUILocalStorageProviderImpl();
77
79
  var localVideoRenderProvider = new _rendererProvider.FcrUILocalVideoRenderProviderImpl(deviceProvider);
78
- var waitingRoomControlProvider = new _roomProvider.FcrUIWaitingRoomControlProviderImpl(roomProvider);
80
+ var waitingRoomControlProvider = new _roomProvider.FcrUIWaitingRoomControlProviderImpl(roomProvider, eventProvider);
79
81
  var abilityControl = waitingRoomControl.getAbilityControl();
80
82
  var abilityProvider = new _abilityProvider.FcrUIAbilityProviderImpl(abilityControl);
81
83
  var currentRoomControlProvider = new _roomProvider.FcrUICurrentRoomControlProviderImpl(waitingRoomControl);
@@ -89,7 +91,11 @@ var FcrWaitingUIScene = exports.FcrWaitingUIScene = /*#__PURE__*/function (_FcrB
89
91
  var monitorProvider = new _monitorProvider.FcrUIMonitorProviderImpl(engine.getMonitorControl());
90
92
  var deviceStreamProvider = new _deviceStreamProvider.FcrUIDeviceStreamProviderImpl(waitingRoomControl, deviceProvider, messageProvider, dialogProvider, devicePrivilegeProvider, sharedDevicePrivilegeDataSource);
91
93
  var sharedChatDataSource = new _chatData.FcrUISharedChatDataSourceImpl(chatProvider);
94
+ var sharingControl = waitingRoomControl.getSharingControl();
95
+ var sharingProvider = new _sharingProvider.FcrUISharingProviderImpl(sharingControl);
92
96
  var sharedInterpreterDataSource = new _interpreter.FcrUISharedInterpreterDataSourceImpl();
97
+ var sharedMemberDataSource = new _memberData.FcrUIMemberSharedDataSourceImpl(userControl, streamControl, sharedScreenShareSharedDataSource);
98
+ var screenShareProvider = new _screenShareProvider.FcrUIScreenShareProviderImpl(deviceProvider, eventProvider, roomProvider, sharingProvider, sharedScreenShareSharedDataSource, sharedMemberDataSource);
93
99
  _this.eventProvider = eventProvider;
94
100
  _this.devicePrivilegeProvider = devicePrivilegeProvider;
95
101
  _this.sharedSettingDataSource = sharedSettingDataSource;
@@ -112,6 +118,8 @@ var FcrWaitingUIScene = exports.FcrWaitingUIScene = /*#__PURE__*/function (_FcrB
112
118
  _this.sharedChatDataSource = sharedChatDataSource;
113
119
  _this.deviceStreamProvider = deviceStreamProvider;
114
120
  _this.sharedMemberDataSource = sharedMemberDataSource;
121
+ _this.sharedScreenShareSharedDataSource = sharedScreenShareSharedDataSource;
122
+ _this.screenShareProvider = screenShareProvider;
115
123
  _this.widgetProvider = widgetProvider;
116
124
  _this.sharedWaitingRoomDataSource = sharedWaitingRoomDataSource;
117
125
  _this.abilityProvider = abilityProvider;
@@ -165,7 +173,7 @@ var FcrWaitingUIScene = exports.FcrWaitingUIScene = /*#__PURE__*/function (_FcrB
165
173
  actionBar: actionBarUIModule.getComponent(),
166
174
  layers: _this2.renderLayers([dialogModule.getComponent()]),
167
175
  globalToast: eventToastUIModule.getComponent('global'),
168
- confirm: eventConfirmUIModule.getComponent()
176
+ confirm: eventConfirmUIModule.getComponent('waitingroom')
169
177
  });
170
178
  return _this2.renderWithErrorBoundary(/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
171
179
  style: {
@@ -176,6 +184,7 @@ var FcrWaitingUIScene = exports.FcrWaitingUIScene = /*#__PURE__*/function (_FcrB
176
184
  children: layoutComponent
177
185
  }), 'waitingroom');
178
186
  };
187
+ this._dom = dom;
179
188
  _reactDom["default"].render(getView(), dom);
180
189
  }
181
190
  }, {
@@ -195,6 +204,7 @@ var FcrWaitingUIScene = exports.FcrWaitingUIScene = /*#__PURE__*/function (_FcrB
195
204
  this.remoteVideoRenderProvider.release();
196
205
  this.devicePrivilegeProvider.release();
197
206
  this.sharedInterpreterDataSource.release();
207
+ this._dom && this.unmount(this._dom);
198
208
  }
199
209
  }, {
200
210
  key: "_runSettingConfig",