fcr-ui-scene 3.6.0 → 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 (323) 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 +19 -6
  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/global.css +23 -5
  104. package/lib/modules/action-bar/components/board/index.js +0 -2
  105. package/lib/modules/action-bar/components/breakout-room/index.js +0 -2
  106. package/lib/modules/action-bar/components/leave/index.js +1 -12
  107. package/lib/modules/action-bar/components/more/poppover-content.js +6 -9
  108. package/lib/modules/action-bar/components/participants/index.js +1 -9
  109. package/lib/modules/action-bar/components/screen-share/index.js +0 -4
  110. package/lib/modules/action-bar/components/screen-share/submenu.js +7 -6
  111. package/lib/modules/action-bar/index.css +7 -0
  112. package/lib/modules/action-bar/index.d.ts +2 -0
  113. package/lib/modules/action-bar/index.js +1 -0
  114. package/lib/modules/action-bar/store.d.ts +6 -4
  115. package/lib/modules/action-bar/store.js +19 -19
  116. package/lib/modules/action-bar/view.js +1 -1
  117. package/lib/modules/annotation/components/control-bar/index.css +48 -0
  118. package/lib/modules/annotation/components/control-bar/index.d.ts +3 -0
  119. package/lib/modules/annotation/components/control-bar/index.js +101 -0
  120. package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.d.ts +3 -0
  121. package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.js +46 -0
  122. package/lib/modules/annotation/components/toolbar/components/color-tool/index.d.ts +1 -0
  123. package/lib/modules/annotation/components/toolbar/components/color-tool/index.js +52 -0
  124. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.d.ts +3 -0
  125. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.js +59 -0
  126. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +11 -0
  127. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.js +59 -0
  128. package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.d.ts +1 -0
  129. package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.js +68 -0
  130. package/lib/modules/annotation/components/toolbar/components/item/item.d.ts +17 -0
  131. package/lib/modules/annotation/components/toolbar/components/item/item.js +115 -0
  132. package/lib/modules/annotation/components/toolbar/components/item/style.css +43 -0
  133. package/lib/modules/annotation/components/toolbar/components/panel/index.d.ts +5 -0
  134. package/lib/modules/annotation/components/toolbar/components/panel/index.js +22 -0
  135. package/lib/modules/annotation/components/toolbar/components/panel/style.css +24 -0
  136. package/lib/modules/annotation/components/toolbar/components/pen-tool/index.d.ts +1 -0
  137. package/lib/modules/annotation/components/toolbar/components/pen-tool/index.js +58 -0
  138. package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.d.ts +3 -0
  139. package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.js +34 -0
  140. package/lib/modules/annotation/components/toolbar/components/tips/index.d.ts +2 -0
  141. package/lib/modules/annotation/components/toolbar/components/tips/index.js +25 -0
  142. package/lib/modules/annotation/components/toolbar/components/tips/style.css +19 -0
  143. package/lib/modules/annotation/components/toolbar/index.d.ts +0 -0
  144. package/lib/modules/annotation/components/toolbar/index.js +1 -0
  145. package/lib/modules/annotation/components/toolbar/store.d.ts +40 -0
  146. package/lib/modules/annotation/components/toolbar/store.js +279 -0
  147. package/lib/modules/annotation/components/toolbar/style.css +55 -0
  148. package/lib/modules/annotation/components/toolbar/view.d.ts +2 -0
  149. package/lib/modules/annotation/components/toolbar/view.js +120 -0
  150. package/lib/modules/annotation/index.d.ts +36 -0
  151. package/lib/modules/annotation/index.js +168 -0
  152. package/lib/modules/annotation/store.d.ts +85 -0
  153. package/lib/modules/annotation/store.js +648 -0
  154. package/lib/modules/annotation/style.css +26 -0
  155. package/lib/modules/annotation/view.d.ts +2 -0
  156. package/lib/modules/annotation/view.js +32 -0
  157. package/lib/modules/audio-stream/index.js +4 -4
  158. package/lib/modules/chat/chat-room-store.js +3 -4
  159. package/lib/modules/chat/view.js +112 -100
  160. package/lib/modules/components/annotation-menu/index.d.ts +7 -0
  161. package/lib/modules/components/annotation-menu/index.js +119 -0
  162. package/lib/modules/components/leave-meeting/components/assign-host.js +26 -23
  163. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.d.ts +2 -0
  164. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +6 -3
  165. package/lib/modules/components/member-window/components/member-actions/index.js +0 -2
  166. package/lib/modules/components/member-window/components/member-actions/libs/index.js +0 -1
  167. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.d.ts +2 -1
  168. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +5 -1
  169. package/lib/modules/components/member-window/components/video-player/index.d.ts +1 -0
  170. package/lib/modules/components/member-window/index.css +1 -0
  171. package/lib/modules/components/member-window/index.d.ts +1 -1
  172. package/lib/modules/components/member-window/index.js +8 -6
  173. package/lib/modules/components/member-window/types.d.ts +2 -0
  174. package/lib/modules/components/security-menu/index.js +7 -6
  175. package/lib/modules/connection-gateway/components/phone/index.js +1 -1
  176. package/lib/modules/control-bar/components/annotation-button/index.d.ts +1 -0
  177. package/lib/modules/control-bar/components/annotation-button/index.js +59 -0
  178. package/lib/modules/control-bar/index.d.ts +6 -2
  179. package/lib/modules/control-bar/index.js +5 -2
  180. package/lib/modules/control-bar/store.d.ts +24 -8
  181. package/lib/modules/control-bar/store.js +116 -81
  182. package/lib/modules/control-bar/view.js +7 -3
  183. package/lib/modules/dialog/components/annotation-tool/index.d.ts +4 -0
  184. package/lib/modules/dialog/components/annotation-tool/index.js +53 -0
  185. package/lib/modules/dialog/components/chat/index.js +1 -1
  186. package/lib/modules/dialog/components/dialog-container/index.css +16 -0
  187. package/lib/modules/dialog/components/host-area-container/index.d.ts +12 -0
  188. package/lib/modules/dialog/components/host-area-container/index.js +214 -0
  189. package/lib/modules/dialog/components/participant/index.js +1 -1
  190. package/lib/modules/dialog/components/share-screen-selection/index.js +1 -2
  191. package/lib/modules/dialog/components/system-preference/index.js +1 -1
  192. package/lib/modules/dialog/components/video-window/index.js +1 -0
  193. package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +14 -0
  194. package/lib/modules/dialog/hooks/use-popover-watcher.js +112 -0
  195. package/lib/modules/dialog/hooks/useElectron.d.ts +1 -0
  196. package/lib/modules/dialog/hooks/useElectron.js +22 -90
  197. package/lib/modules/dialog/index.d.ts +2 -0
  198. package/lib/modules/dialog/index.js +2 -2
  199. package/lib/modules/dialog/store.d.ts +9 -2
  200. package/lib/modules/dialog/store.js +46 -6
  201. package/lib/modules/event-confirm/components/window/index.d.ts +7 -0
  202. package/lib/modules/event-confirm/components/window/index.js +188 -0
  203. package/lib/modules/event-confirm/index.d.ts +4 -4
  204. package/lib/modules/event-confirm/index.js +6 -4
  205. package/lib/modules/event-confirm/store.d.ts +4 -5
  206. package/lib/modules/event-confirm/store.js +40 -25
  207. package/lib/modules/event-confirm/view.js +23 -171
  208. package/lib/modules/event-sound/index.js +1 -1
  209. package/lib/modules/event-toast/store.js +5 -2
  210. package/lib/modules/invite/components/pstn-invite.js +0 -17
  211. package/lib/modules/layout/components/Aside.js +0 -1
  212. package/lib/modules/layout/components/CommonVideoRenderer.js +30 -16
  213. package/lib/modules/layout/index.d.ts +4 -0
  214. package/lib/modules/layout/index.js +2 -0
  215. package/lib/modules/layout/store.d.ts +14 -2
  216. package/lib/modules/layout/store.js +84 -46
  217. package/lib/modules/participant/components/participants/components/footer/components/footer/index.js +0 -2
  218. package/lib/modules/participant/index.d.ts +2 -0
  219. package/lib/modules/participant/index.js +2 -1
  220. package/lib/modules/participant/store.d.ts +5 -2
  221. package/lib/modules/participant/store.js +45 -28
  222. package/lib/modules/pc-audio-connect/store.js +2 -1
  223. package/lib/modules/setting/audio-settings/audio-settings.js +3 -14
  224. package/lib/modules/share-screen/components/selection/index.js +18 -42
  225. package/lib/modules/share-screen/index.d.ts +6 -2
  226. package/lib/modules/share-screen/index.js +4 -2
  227. package/lib/modules/share-screen/store.d.ts +38 -46
  228. package/lib/modules/share-screen/store.js +263 -693
  229. package/lib/modules/share-screen/view.js +2 -2
  230. package/lib/modules/state-bar/assets/fcr_grid_big.svg +1 -1
  231. package/lib/modules/state-bar/assets/fcr_listontop_big.svg +1 -1
  232. package/lib/modules/state-bar/index.d.ts +2 -0
  233. package/lib/modules/state-bar/index.js +1 -0
  234. package/lib/modules/state-bar/meeting-details.js +3 -9
  235. package/lib/modules/state-bar/store.d.ts +5 -1
  236. package/lib/modules/state-bar/store.js +9 -1
  237. package/lib/modules/state-bar/view.js +3 -2
  238. package/lib/modules/video-window/components/members/index.js +2 -1
  239. package/lib/modules/waiting-room-layout/store.js +1 -1
  240. package/lib/modules/whiteboard/components/control-bar/index.js +0 -2
  241. package/lib/modules/whiteboard/components/control-bar/store.d.ts +5 -1
  242. package/lib/modules/whiteboard/components/control-bar/store.js +8 -1
  243. package/lib/modules/whiteboard/components/scene-pagination.js +0 -2
  244. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/color.js +1 -2
  245. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/picker.js +16 -5
  246. package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +67 -12
  247. package/lib/modules/whiteboard/components/toolbar/components/expansion/index.js +22 -2
  248. package/lib/modules/whiteboard/components/toolbar/components/history.js +46 -14
  249. package/lib/modules/whiteboard/components/toolbar/components/item/index.js +3 -2
  250. package/lib/modules/whiteboard/components/toolbar/components/move-handle.js +1 -1
  251. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +58 -16
  252. package/lib/modules/whiteboard/components/toolbar/components/screen-capture-picker.js +15 -4
  253. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +45 -2
  254. package/lib/modules/whiteboard/components/toolbar/hooks/index.d.ts +14 -0
  255. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +235 -7
  256. package/lib/modules/whiteboard/components/toolbar/index.d.ts +1 -1
  257. package/lib/modules/whiteboard/components/toolbar/index.js +1 -1
  258. package/lib/modules/whiteboard/components/toolbar/store.d.ts +9 -2
  259. package/lib/modules/whiteboard/components/toolbar/store.js +30 -6
  260. package/lib/modules/whiteboard/components/toolbar/{ style.css → style.css} +1 -0
  261. package/lib/modules/whiteboard/index.d.ts +2 -0
  262. package/lib/modules/whiteboard/index.js +20 -20
  263. package/lib/modules/widget/sdk.js +0 -1
  264. package/lib/plugins/browser-runtime-plugin.js +10 -1
  265. package/lib/providers/annotation-provider.d.ts +77 -0
  266. package/lib/providers/annotation-provider.js +411 -0
  267. package/lib/providers/device-provider.js +4 -20
  268. package/lib/providers/interpreter-provider.d.ts +1 -0
  269. package/lib/providers/interpreter-provider.js +182 -154
  270. package/lib/providers/privilege-provider.d.ts +35 -6
  271. package/lib/providers/privilege-provider.js +105 -49
  272. package/lib/providers/renderer-provider.js +3 -7
  273. package/lib/providers/room-provider.d.ts +13 -1
  274. package/lib/providers/room-provider.js +21 -7
  275. package/lib/providers/screen-share-provider.d.ts +131 -34
  276. package/lib/providers/screen-share-provider.js +561 -173
  277. package/lib/providers/sharing-provider.d.ts +33 -0
  278. package/lib/{shared-data-source/screen-share-data-source.js → providers/sharing-provider.js} +87 -39
  279. package/lib/runtime.d.ts +6 -1
  280. package/lib/scenes/main-scene.d.ts +7 -2
  281. package/lib/scenes/main-scene.js +54 -25
  282. package/lib/scenes/waiting-scene.d.ts +6 -0
  283. package/lib/scenes/waiting-scene.js +15 -5
  284. package/lib/shared-data-source/meeting-time.js +2 -2
  285. package/lib/shared-data-source/member-data.d.ts +21 -5
  286. package/lib/shared-data-source/member-data.js +69 -17
  287. package/lib/shared-data-source/screen-share-data.d.ts +270 -0
  288. package/lib/shared-data-source/screen-share-data.js +389 -0
  289. package/lib/shared-data-source/security-data.d.ts +4 -1
  290. package/lib/shared-data-source/security-data.js +5 -2
  291. package/lib/shared-data-source/setting.js +6 -4
  292. package/lib/shared-data-source/video-window.d.ts +0 -1
  293. package/lib/shared-data-source/video-window.js +3 -10
  294. package/lib/type.d.ts +53 -0
  295. package/lib/ui-manager.d.ts +3 -2
  296. package/lib/ui-manager.js +6 -4
  297. package/lib/ui-scene.js +61 -48
  298. package/lib/utilities/constant.d.ts +8 -1
  299. package/lib/utilities/constant.js +7 -0
  300. package/lib/utilities/logger.d.ts +4 -0
  301. package/lib/utilities/logger.js +8 -1
  302. package/lib/utilities/renderer-event.d.ts +3 -0
  303. package/lib/utilities/renderer-event.js +14 -1
  304. package/lib/utilities/screen.js +2 -1
  305. package/lib/utilities/tools.d.ts +43 -3
  306. package/lib/utilities/tools.js +81 -17
  307. package/lib/waiting-room-control-manager.js +1 -1
  308. package/package.json +7 -7
  309. package/public/assets/cursors/fcr_whiteboard_input.ico +0 -0
  310. package/public/assets/cursors/fcr_whiteboard_pen.ico +0 -0
  311. package/public/assets/cursors/fcr_whiteboard_shape_-straightline.ico +0 -0
  312. package/public/assets/cursors/fcr_whiteboard_shape_arrow.ico +0 -0
  313. package/public/assets/cursors/fcr_whiteboard_shape_circle.ico +0 -0
  314. package/public/assets/cursors/fcr_whiteboard_shape_rectangle.ico +0 -0
  315. package/public/assets/cursors/fcr_whiteboard_shape_triangle.ico +0 -0
  316. package/public/assets/fcr_chat_reddot.svg +3 -3
  317. package/public/assets/fcr_grid_big.svg +1 -1
  318. package/public/assets/fcr_leave2.svg +14 -14
  319. package/public/assets/fcr_listontop_big.svg +1 -1
  320. package/public/assets/step-gradient.svg +1 -1
  321. package/public/fragment.html +10 -0
  322. package/public/index.html +3 -1
  323. package/lib/shared-data-source/screen-share-data-source.d.ts +0 -37
package/lib/ui-scene.js CHANGED
@@ -85,6 +85,7 @@ var _widgetProvider = require("./providers/widget-provider");
85
85
  var _decorator = require("agora-foundation/lib/decorator");
86
86
  var _logger = require("fcr-core/lib/utilities/logger");
87
87
  var _logger2 = require("./utilities/logger");
88
+ var _screenShareData = require("./shared-data-source/screen-share-data");
88
89
  var _store = _interopRequireDefault(require("./modules/setting/store"));
89
90
  var _monitorProvider = require("./providers/monitor-provider");
90
91
  var _uiResources = require("./utilities/ui-resources");
@@ -140,6 +141,7 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
140
141
  return (0, _createClass2["default"])(FcrUIDefaultScene, [{
141
142
  key: "exit",
142
143
  value: function exit() {
144
+ this._observable.notifyObservers('onExited', this._config.roomId, _type.FcrUIExitReason.LEAVE_ROOM);
143
145
  this._release();
144
146
  }
145
147
  }, {
@@ -170,6 +172,7 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
170
172
  this._eventProvider = new _eventProvider.FcrUIEventProviderImpl();
171
173
  this._messageProvider = new _messageProvider.FcrUIMessageProviderImpl();
172
174
  this._dialogProvider = new _dialogProvider.FcrUIDialogProviderImpl();
175
+ var connectionProvider = new _roomProvider.FcrUIConnectionProviderImpl(engine);
173
176
  this._sharedDevicePrivilegeDataSource = new _devicePrivilegeData.FcrUISharedDevicePrivilegeDataSourceImpl();
174
177
  this._deviceProvider = new _deviceProvider.FcrUIDeviceProviderImpl(this._eventProvider, engine.getDesktopMediaControl(), this._settingConfig.media, this._localStorageProvider);
175
178
  this._roomProvider = new _roomProvider.FcrUIRoomProviderImpl(this._eventProvider, this._config, engine, this._messageProvider);
@@ -189,6 +192,7 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
189
192
  roomProvider: this._roomProvider,
190
193
  dialogProvider: this._dialogProvider
191
194
  });
195
+ this._sharedScreenShareDataSource = new _screenShareData.FcrUIScreenShareSharedDataSourceImpl(connectionProvider, this._deviceProvider);
192
196
  var openDefaultCamera = (0, _parameters.isOpenDefaultCamera)(this._creatorConfig.parameters);
193
197
  var openDefaultMicrophone = (0, _parameters.isOpenDefaultMicrophone)(this._creatorConfig.parameters);
194
198
  if (openDefaultCamera) {
@@ -211,14 +215,31 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
211
215
  var sharedVideoWindowDataSource = this._sharedVideoWindowDataSource;
212
216
  var sharedDevicePrivilegeDataSource = this._sharedDevicePrivilegeDataSource;
213
217
  var widgetProvider = this._widgetProvider;
218
+ var sharedScreenShareDataSource = this._sharedScreenShareDataSource;
214
219
  var uiManager = this._uiManager;
215
220
  var dom = this._dom;
216
- this._addObservers(roomProvider, eventProvider, deviceProvider, engine, uiManager, sharedConfigDataSource, sharedSettingDataSource, sharedLayoutDataSource, sharedSpeakerSpotlightDataSource, sharedPinDataSource, dialogProvider, messageProvider, sharedVideoWindowDataSource, sharedDevicePrivilegeDataSource, widgetProvider);
221
+ this._addObservers(roomProvider, eventProvider, deviceProvider, engine, uiManager, sharedConfigDataSource, sharedSettingDataSource, sharedLayoutDataSource, sharedSpeakerSpotlightDataSource, sharedPinDataSource, dialogProvider, messageProvider, sharedVideoWindowDataSource, sharedDevicePrivilegeDataSource, widgetProvider, sharedScreenShareDataSource);
217
222
 
218
223
  // start render UI
219
224
 
220
225
  // const skipPretest = isSkipPretest(config.parameters);
221
226
  var skipPretest = true;
227
+ var renderSceneUI = function renderSceneUI(response) {
228
+ _this2._renderSceneUI(response, uiManager, eventProvider, deviceProvider, roomProvider, sharedConfigDataSource, sharedSettingDataSource, sharedLayoutDataSource, sharedSpeakerSpotlightDataSource, sharedPinDataSource, messageProvider, dialogProvider, sharedVideoWindowDataSource, sharedDevicePrivilegeDataSource, widgetProvider, sharedScreenShareDataSource);
229
+ };
230
+ var joinRoomCallback = function joinRoomCallback() {
231
+ _this2._initSettingStore({
232
+ engine: engine,
233
+ roomProvider: roomProvider,
234
+ eventProvider: eventProvider,
235
+ deviceProvider: deviceProvider,
236
+ sharedConfigDataSource: sharedConfigDataSource,
237
+ sharedLayoutDataSource: sharedLayoutDataSource,
238
+ messageProvider: messageProvider,
239
+ sharedSettingDataSource: sharedSettingDataSource,
240
+ dialogProvider: dialogProvider
241
+ });
242
+ };
222
243
  if (!skipPretest) {
223
244
  var joining = false;
224
245
  uiManager.renderDevicePretestUi(deviceProvider,
@@ -226,7 +247,7 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
226
247
  function () {
227
248
  if (joining) return;
228
249
  joining = true;
229
- _this2._joinRoom(engine, roomProvider, deviceProvider)["finally"](function () {
250
+ _this2._joinRoom(engine, roomProvider, deviceProvider, joinRoomCallback)["finally"](function () {
230
251
  joining = false;
231
252
  });
232
253
  },
@@ -235,7 +256,7 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
235
256
  _this2._observable.notifyObservers('onLaunchCancel', _this2._config.roomId);
236
257
  });
237
258
  } else {
238
- this._joinRoom(engine, roomProvider, deviceProvider);
259
+ this._joinRoom(engine, roomProvider, deviceProvider, joinRoomCallback);
239
260
  }
240
261
  }
241
262
  }, {
@@ -258,9 +279,8 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
258
279
  }
259
280
  }, {
260
281
  key: "_addObservers",
261
- value: function _addObservers(roomProvider, eventProvider, deviceProvider, engine, uiManager, sharedConfigDataSource, sharedSettingDataSource, sharedLayoutDataSource, sharedSpeakerSpotlightDataSource, sharedPinDataSource, dialogProvider, messageProvider, sharedVideoWindowDataSource, sharedDevicePrivilegeDataSource, widgetProvider) {
282
+ value: function _addObservers(roomProvider, eventProvider, deviceProvider, engine, uiManager, sharedConfigDataSource, sharedSettingDataSource, sharedLayoutDataSource, sharedSpeakerSpotlightDataSource, sharedPinDataSource, dialogProvider, messageProvider, sharedVideoWindowDataSource, sharedDevicePrivilegeDataSource, widgetProvider, sharedScreenShareSharedDataSource) {
262
283
  var _this3 = this;
263
- var dom = this._dom;
264
284
  var observable = this._observable;
265
285
  var sceneConfig = this._config;
266
286
  roomProvider.addObserver({
@@ -298,7 +318,7 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
298
318
  onJoinWaitingRoom: function onJoinWaitingRoom(roomControl, isWaitingRoomManaager) {
299
319
  if (_this3._dom && !isWaitingRoomManaager) {
300
320
  var _this3$_messageProvid;
301
- _this3._disposers.push(uiManager.renderWaitingSceneUI(eventProvider, deviceProvider, roomProvider, sharedConfigDataSource, dialogProvider, messageProvider, sharedLayoutDataSource, sharedSettingDataSource, sharedDevicePrivilegeDataSource, widgetProvider));
321
+ _this3._disposers.push(uiManager.renderWaitingSceneUI(eventProvider, deviceProvider, roomProvider, sharedConfigDataSource, dialogProvider, messageProvider, sharedLayoutDataSource, sharedSettingDataSource, sharedDevicePrivilegeDataSource, widgetProvider, sharedScreenShareSharedDataSource));
302
322
  (_this3$_messageProvid = _this3._messageProvider) === null || _this3$_messageProvid === void 0 || _this3$_messageProvid.showToast({
303
323
  message: (0, _i18n.transI18n)('fmt_waitingroom_attendie_overview_label_move_in_by_host'),
304
324
  type: 'error'
@@ -306,26 +326,30 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
306
326
  }
307
327
  },
308
328
  onRoomClosed: function onRoomClosed() {
309
- _dialog.FcrDialogApi.open({
310
- id: 'login-confirm-dialog-kick-out',
311
- dialogProps: {
312
- content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_comfirmDialog.LoginConfirmDialog, {
313
- title: (0, _i18n.transI18n)('fmt_toolbar_tips_leave_confirm_dialog_end_title'),
314
- desc: (0, _i18n.transI18n)('fmt_leave_tips_classover'),
315
- id: "login-confirm-dialog-kick-out",
316
- imgSrc: _leaveMeeting["default"],
317
- showImg: true,
318
- btnTxt: (0, _i18n.transI18n)('fmt_waitingroom_attendie_popup_button_gotit'),
319
- onConfirm: function onConfirm() {
320
- observable.notifyObservers('onExited', sceneConfig.roomId, _type.FcrUIExitReason.CLOSE_ROOM);
321
- }
322
- }),
323
- width: 320,
324
- closable: false,
325
- rootClassName: 'login-confirm-dialog',
326
- maskClosable: false
327
- }
328
- });
329
+ if (roomProvider.isSelfEndMeeting) {
330
+ observable.notifyObservers('onExited', sceneConfig.roomId, _type.FcrUIExitReason.CLOSE_ROOM);
331
+ } else {
332
+ _dialog.FcrDialogApi.open({
333
+ id: 'login-confirm-dialog-kick-out',
334
+ dialogProps: {
335
+ content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_comfirmDialog.LoginConfirmDialog, {
336
+ title: (0, _i18n.transI18n)('fmt_toolbar_tips_leave_confirm_dialog_end_title'),
337
+ desc: (0, _i18n.transI18n)('fmt_leave_tips_classover'),
338
+ id: "login-confirm-dialog-kick-out",
339
+ imgSrc: _leaveMeeting["default"],
340
+ showImg: true,
341
+ btnTxt: (0, _i18n.transI18n)('fmt_waitingroom_attendie_popup_button_gotit'),
342
+ onConfirm: function onConfirm() {
343
+ observable.notifyObservers('onExited', sceneConfig.roomId, _type.FcrUIExitReason.CLOSE_ROOM);
344
+ }
345
+ }),
346
+ width: 320,
347
+ closable: false,
348
+ rootClassName: 'login-confirm-dialog',
349
+ maskClosable: false
350
+ }
351
+ });
352
+ }
329
353
  },
330
354
  onExitRoom: function onExitRoom() {
331
355
  observable.notifyObservers('onExited', sceneConfig.roomId, _type.FcrUIExitReason.LEAVE_ROOM);
@@ -336,7 +360,7 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
336
360
  _this3._sharedPinDataSource = new _pinData.FcrUISharedPinDataSourceImpl(eventProvider, _this3._sharedVideoWindowDataSource);
337
361
  var sharedPinDataSource = _this3._sharedPinDataSource;
338
362
  var sharedVideoWindowDataSource = _this3._sharedVideoWindowDataSource;
339
- _this3._renderSceneUI(roomControl, uiManager, eventProvider, deviceProvider, roomProvider, sharedConfigDataSource, sharedSettingDataSource, sharedLayoutDataSource, sharedSpeakerSpotlightDataSource, sharedPinDataSource, messageProvider, dialogProvider, sharedVideoWindowDataSource, sharedDevicePrivilegeDataSource, widgetProvider);
363
+ _this3._renderSceneUI(roomControl, uiManager, eventProvider, deviceProvider, roomProvider, sharedConfigDataSource, sharedSettingDataSource, sharedLayoutDataSource, sharedSpeakerSpotlightDataSource, sharedPinDataSource, messageProvider, dialogProvider, sharedVideoWindowDataSource, sharedDevicePrivilegeDataSource, widgetProvider, sharedScreenShareSharedDataSource);
340
364
  }
341
365
  });
342
366
  engine.addObserver({
@@ -373,7 +397,7 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
373
397
  }, {
374
398
  key: "_joinRoom",
375
399
  value: function () {
376
- var _joinRoom2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(engine, roomControl, deviceProvider) {
400
+ var _joinRoom2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(engine, roomControl, deviceProvider, joinRoomCallback) {
377
401
  var _this4 = this;
378
402
  var p;
379
403
  return _regenerator["default"].wrap(function _callee2$(_context2) {
@@ -388,17 +412,7 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
388
412
  return _regenerator["default"].wrap(function _callee$(_context) {
389
413
  while (1) switch (_context.prev = _context.next) {
390
414
  case 0:
391
- _this4._initSettingStore({
392
- engine: _this4._engine,
393
- roomProvider: _this4._roomProvider,
394
- eventProvider: _this4._eventProvider,
395
- deviceProvider: _this4._deviceProvider,
396
- sharedConfigDataSource: _this4._sharedConfigDataSource,
397
- sharedLayoutDataSource: _this4._sharedLayoutDataSource,
398
- messageProvider: _this4._messageProvider,
399
- sharedSettingDataSource: _this4._sharedSettingDataSource,
400
- dialogProvider: _this4._dialogProvider
401
- });
415
+ joinRoomCallback();
402
416
  return _context.abrupt("return", response);
403
417
  case 2:
404
418
  case "end":
@@ -406,7 +420,7 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
406
420
  }
407
421
  }, _callee);
408
422
  }));
409
- return function (_x4) {
423
+ return function (_x5) {
410
424
  return _ref.apply(this, arguments);
411
425
  };
412
426
  }());
@@ -422,7 +436,7 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
422
436
  }
423
437
  }, _callee2);
424
438
  }));
425
- function _joinRoom(_x, _x2, _x3) {
439
+ function _joinRoom(_x, _x2, _x3, _x4) {
426
440
  return _joinRoom2.apply(this, arguments);
427
441
  }
428
442
  return _joinRoom;
@@ -430,13 +444,12 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
430
444
  }, {
431
445
  key: "_renderSceneUI",
432
446
  value: function () {
433
- var _renderSceneUI2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(roomControl, uiManager, eventProvider, deviceProvider, roomProvider, sharedConfigDataSource, sharedSettingDataSource, sharedLayoutDataSource, sharedSpeakerSpotlightDataSource, sharedPinDataSource, messageProvider, dialogProvider, sharedVideoWindowDataSource, sharedDevicePrivilegeDataSource, widgetProvider) {
447
+ var _renderSceneUI2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(roomControl, uiManager, eventProvider, deviceProvider, roomProvider, sharedConfigDataSource, sharedSettingDataSource, sharedLayoutDataSource, sharedSpeakerSpotlightDataSource, sharedPinDataSource, messageProvider, dialogProvider, sharedVideoWindowDataSource, sharedDevicePrivilegeDataSource, widgetProvider, sharedScreenShareDataSource) {
434
448
  var _roomControl$getRoomI;
435
- var dom, type;
449
+ var type;
436
450
  return _regenerator["default"].wrap(function _callee3$(_context3) {
437
451
  while (1) switch (_context3.prev = _context3.next) {
438
452
  case 0:
439
- dom = this._dom;
440
453
  type = (_roomControl$getRoomI = roomControl.getRoomInfo()) === null || _roomControl$getRoomI === void 0 ? void 0 : _roomControl$getRoomI.roomType;
441
454
  if (type === _type2.FcrRoomType.Mainroom) {
442
455
  if ((0, _parameters.isRobotPullingMode)(this._creatorConfig.parameters)) {
@@ -444,18 +457,18 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
444
457
  this._disposers.push(uiManager.renderPullingUi(roomControl));
445
458
  } else {
446
459
  this._setLocalMeetingTimeKey();
447
- this._disposers.push(uiManager.renderMainSceneUI(eventProvider, deviceProvider, roomProvider, sharedConfigDataSource, sharedSettingDataSource, sharedLayoutDataSource, sharedSpeakerSpotlightDataSource, sharedPinDataSource, dialogProvider, messageProvider, sharedVideoWindowDataSource, sharedDevicePrivilegeDataSource, widgetProvider));
460
+ this._disposers.push(uiManager.renderMainSceneUI(eventProvider, deviceProvider, roomProvider, sharedConfigDataSource, sharedSettingDataSource, sharedLayoutDataSource, sharedSpeakerSpotlightDataSource, sharedPinDataSource, dialogProvider, messageProvider, sharedVideoWindowDataSource, sharedDevicePrivilegeDataSource, widgetProvider, sharedScreenShareDataSource));
448
461
  }
449
462
  } else {
450
- this._disposers.push(uiManager.renderWaitingSceneUI(eventProvider, deviceProvider, roomProvider, sharedConfigDataSource, dialogProvider, messageProvider, sharedLayoutDataSource, sharedSettingDataSource, sharedDevicePrivilegeDataSource, widgetProvider));
463
+ this._disposers.push(uiManager.renderWaitingSceneUI(eventProvider, deviceProvider, roomProvider, sharedConfigDataSource, dialogProvider, messageProvider, sharedLayoutDataSource, sharedSettingDataSource, sharedDevicePrivilegeDataSource, widgetProvider, sharedScreenShareDataSource));
451
464
  }
452
- case 3:
465
+ case 2:
453
466
  case "end":
454
467
  return _context3.stop();
455
468
  }
456
469
  }, _callee3, this);
457
470
  }));
458
- function _renderSceneUI(_x5, _x6, _x7, _x8, _x9, _x10, _x11, _x12, _x13, _x14, _x15, _x16, _x17, _x18, _x19) {
471
+ function _renderSceneUI(_x6, _x7, _x8, _x9, _x10, _x11, _x12, _x13, _x14, _x15, _x16, _x17, _x18, _x19, _x20, _x21) {
459
472
  return _renderSceneUI2.apply(this, arguments);
460
473
  }
461
474
  return _renderSceneUI;
@@ -13,7 +13,12 @@ export declare enum FcrUIRendererEventAction {
13
13
  POWER_MONITOR_UNLOCK_SCREEN = "POWER_MONITOR_UNLOCK_SCREEN",
14
14
  CALL_CLOSE_MAIN_WINDOW = "CALL_CLOSE_MAIN_WINDOW",
15
15
  ENTER_FULL_SCREEN = "ENTER_FULL_SCREEN",
16
- LEAVE_FULL_SCREEN = "LEAVE_FULL_SCREEN"
16
+ LEAVE_FULL_SCREEN = "LEAVE_FULL_SCREEN",
17
+ SET_CURRENT_SHARE_SCREEN_BOUNDS = "SET_CURRENT_SHARE_SCREEN_BOUNDS",
18
+ SET_ANNOTATION_TO_SHOW = "SET_ANNOTATION_TO_SHOW",
19
+ SET_ANNOTATION_IGNORE = "SET_ANNOTATION_IGNORE",
20
+ SET_ANNOTATION_UNDO = "SET_ANNOTATION_UNDO",
21
+ SET_ANNOTATION_REDO = "SET_ANNOTATION_REDO"
17
22
  }
18
23
  export declare enum FcrUIParticipantType {
19
24
  MUTE_AUDIO = "MUTE_AUDIO",
@@ -144,6 +149,8 @@ export declare enum FcrUIDialogKey {
144
149
  WAITING_ROOM_OPERATION = "operation-waiting-room",
145
150
  WIDGET = "widget",
146
151
  RENAME = "rename",
152
+ ANNOTATION_TOOL = "annotation-tool",
153
+ ANNOTATION = "annotation",
147
154
  LEAVE_MEETING = "leave-meeting"
148
155
  }
149
156
  export declare enum FcrUIHighlightElement {
@@ -15,6 +15,11 @@ var FcrUIRendererEventAction = exports.FcrUIRendererEventAction = /*#__PURE__*/f
15
15
  FcrUIRendererEventAction["CALL_CLOSE_MAIN_WINDOW"] = "CALL_CLOSE_MAIN_WINDOW";
16
16
  FcrUIRendererEventAction["ENTER_FULL_SCREEN"] = "ENTER_FULL_SCREEN";
17
17
  FcrUIRendererEventAction["LEAVE_FULL_SCREEN"] = "LEAVE_FULL_SCREEN";
18
+ FcrUIRendererEventAction["SET_CURRENT_SHARE_SCREEN_BOUNDS"] = "SET_CURRENT_SHARE_SCREEN_BOUNDS";
19
+ FcrUIRendererEventAction["SET_ANNOTATION_TO_SHOW"] = "SET_ANNOTATION_TO_SHOW";
20
+ FcrUIRendererEventAction["SET_ANNOTATION_IGNORE"] = "SET_ANNOTATION_IGNORE";
21
+ FcrUIRendererEventAction["SET_ANNOTATION_UNDO"] = "SET_ANNOTATION_UNDO";
22
+ FcrUIRendererEventAction["SET_ANNOTATION_REDO"] = "SET_ANNOTATION_REDO";
18
23
  return FcrUIRendererEventAction;
19
24
  }({});
20
25
  var FcrUIParticipantType = exports.FcrUIParticipantType = /*#__PURE__*/function (FcrUIParticipantType) {
@@ -150,6 +155,8 @@ var FcrUIDialogKey = exports.FcrUIDialogKey = /*#__PURE__*/function (FcrUIDialog
150
155
  FcrUIDialogKey["WAITING_ROOM_OPERATION"] = "operation-waiting-room";
151
156
  FcrUIDialogKey["WIDGET"] = "widget";
152
157
  FcrUIDialogKey["RENAME"] = "rename";
158
+ FcrUIDialogKey["ANNOTATION_TOOL"] = "annotation-tool";
159
+ FcrUIDialogKey["ANNOTATION"] = "annotation";
153
160
  FcrUIDialogKey["LEAVE_MEETING"] = "leave-meeting";
154
161
  return FcrUIDialogKey;
155
162
  }({});
@@ -4,4 +4,8 @@ export declare const createLogger: (opts: {
4
4
  prefix: string;
5
5
  database?: boolean;
6
6
  }) => import("agora-foundation/lib/logger").Logger;
7
+ export declare const createFragmentLogger: (opts: {
8
+ prefix: string;
9
+ database?: boolean;
10
+ }) => import("agora-foundation/lib/logger").Logger;
7
11
  export declare const generateLogObserver: <T>(logger: ReturnType<typeof _getLogger>, callbackMethods: (keyof T)[]) => T;
@@ -4,7 +4,7 @@ require("core-js/modules/es.object.define-property.js");
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.getLogger = exports.generateLogObserver = exports.createLogger = void 0;
7
+ exports.getLogger = exports.generateLogObserver = exports.createLogger = exports.createFragmentLogger = void 0;
8
8
  require("core-js/modules/es.array.concat.js");
9
9
  require("core-js/modules/es.array.for-each.js");
10
10
  require("core-js/modules/es.object.to-string.js");
@@ -27,6 +27,13 @@ var createLogger = exports.createLogger = function createLogger(opts) {
27
27
  database: opts.database
28
28
  });
29
29
  };
30
+ var createFragmentLogger = exports.createFragmentLogger = function createFragmentLogger(opts) {
31
+ return (0, _logger.createLogger)({
32
+ label: 'fragments',
33
+ prefix: "".concat(opts.prefix, "@").concat((0, _misc.randomString)(5)),
34
+ database: opts.database
35
+ });
36
+ };
30
37
  var generateLogObserver = exports.generateLogObserver = function generateLogObserver(logger, callbackMethods) {
31
38
  var observer = {};
32
39
  callbackMethods.forEach(function (method) {
@@ -1,3 +1,5 @@
1
+ import { title as AnnotationTitle } from '../fragments/annotation/index';
2
+ import { title as AnnotationToolTitle } from '../modules/dialog/components/annotation-tool';
1
3
  type RendererEventListener = (event: RendererCustomEvent) => void;
2
4
  export declare const addEventListener: (listener: RendererEventListener) => void;
3
5
  export declare const removeEventListener: (listener: RendererEventListener) => void;
@@ -6,4 +8,5 @@ export declare const openLinkInDefaultBrowser: (url: string) => void;
6
8
  export declare const getBrowserWindowById: (id: number) => Electron.CrossProcessExports.BrowserWindow | undefined;
7
9
  export declare const getControlBarMediaSourceId: () => string | undefined;
8
10
  export declare const getVideoWindowMediaSourceId: () => string | undefined;
11
+ export declare const getAnnotationMediaSourceId: (title: typeof AnnotationTitle | typeof AnnotationToolTitle) => string | undefined;
9
12
  export {};
@@ -4,7 +4,7 @@ require("core-js/modules/es.object.define-property.js");
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.sendEvent = exports.removeEventListener = exports.openLinkInDefaultBrowser = exports.getVideoWindowMediaSourceId = exports.getControlBarMediaSourceId = exports.getBrowserWindowById = exports.addEventListener = void 0;
7
+ exports.sendEvent = exports.removeEventListener = exports.openLinkInDefaultBrowser = exports.getVideoWindowMediaSourceId = exports.getControlBarMediaSourceId = exports.getBrowserWindowById = exports.getAnnotationMediaSourceId = exports.addEventListener = void 0;
8
8
  require("core-js/modules/es.array.find.js");
9
9
  require("core-js/modules/es.array.for-each.js");
10
10
  require("core-js/modules/es.array.iterator.js");
@@ -101,4 +101,17 @@ var getVideoWindowMediaSourceId = exports.getVideoWindowMediaSourceId = function
101
101
  } else {
102
102
  console.error('failed to call getVideoWindowMediaSourceId, window.runtime is not available');
103
103
  }
104
+ };
105
+ var getAnnotationMediaSourceId = exports.getAnnotationMediaSourceId = function getAnnotationMediaSourceId(title) {
106
+ if (window.runtime) {
107
+ var mediaSourceList = window.runtime.getMediaSourceIdList();
108
+ var info = mediaSourceList.find(function (item) {
109
+ return item.title === title;
110
+ });
111
+ if (info) {
112
+ return info.mediaSourceId;
113
+ }
114
+ } else {
115
+ console.error('failed to call getMediaSourceId, window.runtime is not available');
116
+ }
104
117
  };
@@ -34,7 +34,8 @@ var enterFullScreen = exports.enterFullScreen = function enterFullScreen() {
34
34
  var exitFullScreen = exports.exitFullScreen = function exitFullScreen() {
35
35
  if (!isFullScreen()) return;
36
36
  if ((0, _env.isElectron)()) {
37
- window.runtime.browserWindow.setFullScreen(false);
37
+ var _window$runtime$brows;
38
+ (_window$runtime$brows = window.runtime.browserWindow) === null || _window$runtime$brows === void 0 || _window$runtime$brows.setFullScreen(false);
38
39
  } else {
39
40
  if (document.exitFullscreen) {
40
41
  document.exitFullscreen();
@@ -48,7 +48,7 @@ export declare function handleCheckMouseOver(params: {
48
48
  /**
49
49
  * 当前打开的 dialog key,如果是 control bar,会计算内部控制栏的边界信息,用于精确定位其位置
50
50
  */
51
- dialog?: FcrUIDialogKey.CONTROL_BAR | FcrUIDialogKey.CONFIRM;
51
+ dialog?: FcrUIDialogKey;
52
52
  }): NodeJS.Timeout | undefined;
53
53
  export type CurrentShareScreenWorkArea = {
54
54
  x: number;
@@ -62,9 +62,49 @@ export type CurrentShareScreenWorkArea = {
62
62
  export declare function getCurrentSharingWorkArea(params: {
63
63
  currentShareBounds: CurrentShareBounds;
64
64
  }): CurrentShareScreenWorkArea;
65
- export declare function followCorrectDisplay(dailogKey: FcrUIDialogKey | FcrUIDialogKey[], extraRefControlbarCondition?: boolean): {
66
- bounds: CurrentShareBounds;
65
+ export declare function followCorrectDisplay({ browserWindow, dialogKey, extraRefControlbarCondition, follow, alwaysFollowScreen, }: {
66
+ /**
67
+ * browserWindow 是 Electron 的窗口对象,如果传入,则直接设置 bounds,否则会根据 dialogKey 设置 bounds
68
+ */
69
+ browserWindow?: Electron.BrowserWindow;
70
+ /**
71
+ * 如果不使用 browserWindow ,则需要传入 dialogKey 设置 bounds,如果 browserWindow 和 dialogKey 都未传入,则抛出错误
72
+ */
73
+ dialogKey?: FcrUIDialogKey | FcrUIDialogKey[];
74
+ /**
75
+ * 始终 follow control bar 的位置,默认是 true
76
+ */
77
+ extraRefControlbarCondition?: boolean;
78
+ /**
79
+ * 根据屏幕或者应用主窗口居中显示,默认是 screen,如果需要跟随主窗口,则设置为 main-window,
80
+ * 在屏幕共享时,普通 dialog 窗口会以 controlbar 所在的屏幕为基准水平居中对齐
81
+ * 在非屏幕共享状态下,则会以主窗口为基准水平居中对齐
82
+ */
83
+ follow?: 'screen' | 'main-window';
84
+ /**
85
+ * 是否是全屏幕覆盖的透明窗口, 此设置主要针对 toast 和 confirm 弹窗
86
+ */
87
+ alwaysFollowScreen?: boolean;
88
+ }): {
89
+ nearDisplayBounds: CurrentShareBounds;
67
90
  nearDisplay: Electron.Display;
68
91
  } | undefined;
92
+ export declare function calcAnnotationAreaSize(
93
+ /**
94
+ * @param boardView {HTMLElement} 白板容器的 dom
95
+ */
96
+ boardView: HTMLElement,
97
+ /**
98
+ * @param width {number} 分享容器的宽度
99
+ */
100
+ width: number,
101
+ /**
102
+ * @param height {number} 分享容器的高度
103
+ */
104
+ height: number,
105
+ /**
106
+ * @param isProvider {boolean} 是否是发起端,发起端和接收端获取宽高的方式不同,所以要做出区分
107
+ */
108
+ isProvider?: boolean): void;
69
109
  export declare const getBrowserLanguage: () => "zh" | "en";
70
110
  export {};
@@ -5,7 +5,9 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.convertToFixedNumber = exports.PARTICIPANT_POSITION = exports.ASIDE_WIDTH = void 0;
8
+ exports.PARTICIPANT_POSITION = exports.ASIDE_WIDTH = void 0;
9
+ exports.calcAnnotationAreaSize = calcAnnotationAreaSize;
10
+ exports.convertToFixedNumber = void 0;
9
11
  exports.followCorrectDisplay = followCorrectDisplay;
10
12
  exports.getBrowserLanguage = void 0;
11
13
  exports.getCurrentSharingWorkArea = getCurrentSharingWorkArea;
@@ -14,6 +16,8 @@ exports.getLanguage = void 0;
14
16
  exports.handleCheckMouseOver = handleCheckMouseOver;
15
17
  exports.waitUntil = exports.uint8ArrayToImageData = exports.storage = exports.setLanguage = exports.renderMeetingName = exports.renderMeetingId = exports.matchVirtualSoundCardPattern = exports.isZipUrl = exports.isPngOrJpg = exports.isMp4 = exports.isMp3OrWav = void 0;
16
18
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
19
+ require("core-js/modules/es.error.cause.js");
20
+ require("core-js/modules/es.error.to-string.js");
17
21
  require("core-js/modules/es.array.concat.js");
18
22
  require("core-js/modules/es.array.for-each.js");
19
23
  require("core-js/modules/es.array.is-array.js");
@@ -304,7 +308,7 @@ function getCurrentSharingWorkArea(params) {
304
308
  var _window$screen = window.screen,
305
309
  availWidth = _window$screen.availWidth,
306
310
  availHeight = _window$screen.availHeight;
307
- var nearDisplay = window.runtime.screen.getDisplayNearestPoint(currentShareBounds);
311
+ var nearDisplay = (0, _env.isElectron)() ? window.runtime.screen.getDisplayNearestPoint(currentShareBounds) : null;
308
312
  var dataStruct = {
309
313
  bounds: {
310
314
  x: 0,
@@ -338,33 +342,93 @@ function getCurrentSharingWorkArea(params) {
338
342
  scaleFactor: scaleFactor
339
343
  };
340
344
  }
341
- function followCorrectDisplay(dailogKey) {
342
- var extraRefControlbarCondition = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
345
+ function followCorrectDisplay(_ref6) {
346
+ var browserWindow = _ref6.browserWindow,
347
+ dialogKey = _ref6.dialogKey,
348
+ _ref6$extraRefControl = _ref6.extraRefControlbarCondition,
349
+ extraRefControlbarCondition = _ref6$extraRefControl === void 0 ? true : _ref6$extraRefControl,
350
+ _ref6$follow = _ref6.follow,
351
+ follow = _ref6$follow === void 0 ? 'screen' : _ref6$follow,
352
+ _ref6$alwaysFollowScr = _ref6.alwaysFollowScreen,
353
+ alwaysFollowScreen = _ref6$alwaysFollowScr === void 0 ? false : _ref6$alwaysFollowScr;
343
354
  if (!(0, _env.isElectron)()) return;
344
- var objectDialog = Array.isArray(dailogKey) ? dailogKey.map(function (dialog) {
355
+ if (!browserWindow && !dialogKey) throw new Error('browserWindow or dialogKey is required');
356
+ var objectDialog = dialogKey ? Array.isArray(dialogKey) ? dialogKey.map(function (dialog) {
345
357
  return _dialogs.dialogWindows.get(dialog);
346
- }) : _dialogs.dialogWindows.get(dailogKey);
358
+ }) : _dialogs.dialogWindows.get(dialogKey) : browserWindow;
347
359
  var controlbar = _dialogs.dialogWindows.get(_constant.FcrUIDialogKey.CONTROL_BAR);
360
+ var mainAppWindowBounds = window.runtime.browserWindow.getBounds();
348
361
  // 按当前的窗口管理方式,在关闭 controlbar 的时候,controlbar 实际上是隐藏了自己,所以,依然能够通过 controlbar 访问到,所以需要判断是否是 visible 状态
349
362
  var followControlbar = controlbar && (extraRefControlbarCondition || controlbar.isVisible());
350
- // 屏幕抢占时,需要判断是否是抢占屏幕,决定是取 controlbar 的位置计算热区,还是走原有逻辑,此类条件通过 extraRefControlbarCondition 传入
351
- var nearestPoint = followControlbar ? controlbar === null || controlbar === void 0 ? void 0 : controlbar.getBounds() : window.runtime.browserWindow.getBounds();
363
+ // 屏幕抢占时,需要判断是否是抢占屏幕,决定是取 controlbar 所在屏幕计算热区,还是以主窗口所在屏幕计算热区,此类条件通过 extraRefControlbarCondition 传入
364
+ var nearestPoint = followControlbar ? controlbar === null || controlbar === void 0 ? void 0 : controlbar.getBounds() : mainAppWindowBounds;
352
365
  var nearDisplay = window.runtime.screen.getDisplayNearestPoint(nearestPoint);
353
- var nearDisplayBounds = nearDisplay.bounds;
354
- var bounds = {
355
- x: Math.floor(nearDisplayBounds.x),
356
- y: Math.floor(nearDisplayBounds.y),
357
- width: Math.floor(nearDisplayBounds.width),
358
- height: Math.floor(nearDisplayBounds.height)
366
+ var nearBounds = nearDisplay.bounds;
367
+ var nearDisplayBounds = {
368
+ x: Math.floor(nearBounds.x),
369
+ y: Math.floor(nearBounds.y),
370
+ width: Math.floor(nearBounds.width),
371
+ height: Math.floor(nearBounds.height)
372
+ };
373
+ var followBounds = function followBounds(theWindowBounds) {
374
+ var targetBounds = follow === 'screen' || extraRefControlbarCondition ? nearBounds : mainAppWindowBounds;
375
+ return alwaysFollowScreen ? nearDisplayBounds : {
376
+ x: Math.floor(targetBounds.x + (targetBounds.width - theWindowBounds.width) / 2),
377
+ y: Math.floor(targetBounds.y + (targetBounds.height - theWindowBounds.height) / 2)
378
+ };
359
379
  };
360
380
  Array.isArray(objectDialog) ? objectDialog.forEach(function (dialog) {
361
- return dialog === null || dialog === void 0 ? void 0 : dialog.setBounds(bounds);
362
- }) : objectDialog === null || objectDialog === void 0 ? void 0 : objectDialog.setBounds(bounds);
381
+ return dialog === null || dialog === void 0 ? void 0 : dialog.setBounds(followBounds(dialog.getBounds()));
382
+ }) : objectDialog === null || objectDialog === void 0 ? void 0 : objectDialog.setBounds(followBounds(objectDialog.getBounds()));
363
383
  return {
364
- bounds: bounds,
384
+ nearDisplayBounds: nearDisplayBounds,
365
385
  nearDisplay: nearDisplay
366
386
  };
367
387
  }
388
+ function calcAnnotationAreaSize(
389
+ /**
390
+ * @param boardView {HTMLElement} 白板容器的 dom
391
+ */
392
+ boardView,
393
+ /**
394
+ * @param width {number} 分享容器的宽度
395
+ */
396
+ width,
397
+ /**
398
+ * @param height {number} 分享容器的高度
399
+ */
400
+ height) {
401
+ var isProvider = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
402
+ /**
403
+ * 如果宽大于高, 则把 boardView 的高度设置为 100vh, 然后获取 boardView 最新的高度
404
+ * 用新的高度计算宽高比为 16:9 的比例下的宽度是否大于原宽度,如果大于等于原宽度,则把 boardView 的高度设置为当前高度
405
+ * 以新的高度计算出宽高比为 16:9 的宽度,设置为当前宽度
406
+ * 否则,把 boardView 的宽度设置为100vw,并重新获取 boardView 的最新宽度,用新的宽度计算宽高比为 16:9 的高度
407
+ * 并分别设置 boardView 的高度和宽度
408
+ * 如果宽小于高,则把 boardView 的高度设置为 100vh, 然后获取 boardView 最新的高度
409
+ * 用新的高度计算宽高比为 16:9 的比例下宽度是否大于宽度,如果大于等于宽度,则把 boardView 的尺寸设置为当前宽度和高度
410
+ * */
411
+ if (width > height) {
412
+ boardView.style.height = isProvider ? "100vh" : "".concat(boardView.getBoundingClientRect().height, "px");
413
+ var newHeight = boardView.offsetHeight;
414
+ var ratioWidth = newHeight / 9 * 16;
415
+ if (ratioWidth >= width) {
416
+ boardView.style.width = "".concat(ratioWidth, "px");
417
+ boardView.style.height = "".concat(newHeight, "px");
418
+ } else {
419
+ boardView.style.width = isProvider ? "100vw" : "".concat(width, "px");
420
+ var newWidth = boardView.offsetWidth;
421
+ boardView.style.width = "".concat(newWidth, "px");
422
+ boardView.style.height = "".concat(newWidth / 16 * 9, "px");
423
+ }
424
+ } else {
425
+ boardView.style.height = isProvider ? "100vh" : "".concat(boardView.getBoundingClientRect().height, "px");
426
+ var _newHeight = boardView.offsetHeight;
427
+ boardView.style.width = "".concat(_newHeight / 9 * 16, "px");
428
+ boardView.style.height = "".concat(_newHeight, "px");
429
+ }
430
+ console.log('annotation compute area size: ', boardView.style.width, '=====', boardView.style.height);
431
+ }
368
432
  var getBrowserLanguage = exports.getBrowserLanguage = function getBrowserLanguage() {
369
433
  var usrlang = navigator.language;
370
434
  if (usrlang.startsWith('zh')) {
@@ -46,7 +46,7 @@ var FcrUIWaitingRoomControlManager = exports["default"] = /*#__PURE__*/function
46
46
  (0, _defineProperty2["default"])(this, "_waitingRoomControl", null);
47
47
  (0, _defineProperty2["default"])(this, "_isJoining", false);
48
48
  (0, _defineProperty2["default"])(this, "_mainRoomUserObserver", {
49
- onUserInfoUpdated: function onUserInfoUpdated(roomId, event) {
49
+ onUserInfoUpdated: function onUserInfoUpdated(_roomId, event) {
50
50
  var isLocalUserInfoUpdated = event.modifiedUser.userId === _this._mainRoomControl.getUserControl().getLocalUser().userId;
51
51
 
52
52
  // 权限变更的时候
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fcr-ui-scene",
3
- "version": "3.6.0",
3
+ "version": "3.6.2",
4
4
  "main": "lib/index.js",
5
5
  "repository": "ssh://git@git.agoralab.co/aduc/fcr-ui-scene-desktop.git",
6
6
  "author": "agora.io",
@@ -21,14 +21,14 @@
21
21
  "@electron/remote": "2.0.1",
22
22
  "@react-spring/web": "^9.7.3",
23
23
  "@use-gesture/react": "^10.3.1",
24
- "agora-electron-sdk": "4.3.2-build.11-rc.1",
25
- "agora-foundation": "^3.6.0",
26
- "agora-ui-foundation": "^3.6.0",
24
+ "agora-electron-sdk": "4.3.2-build.145-rc.4",
25
+ "agora-foundation": "^3.6.2",
26
+ "agora-ui-foundation": "^3.6.2",
27
27
  "classnames": "^2.5.1",
28
28
  "core-js": "^3.33.3",
29
29
  "dayjs": "^1.10.4",
30
30
  "electron-screenshots": "^0.5.26",
31
- "fcr-core": "^3.6.0",
31
+ "fcr-core": "^3.6.2",
32
32
  "js-md5": "^0.8.3",
33
33
  "jszip": "^3.10.1",
34
34
  "lodash": "^4.17.21",
@@ -59,7 +59,7 @@
59
59
  "@types/react-dom": "^17.0.11",
60
60
  "@types/react-virtualized": "^9.21.30",
61
61
  "@types/tinycolor2": "^1.4.6",
62
- "agora-toolchain": "^3.6.0",
62
+ "agora-toolchain": "^3.6.2",
63
63
  "core-js": "^3.33.3",
64
64
  "electron": "22.3.27",
65
65
  "husky": "^9.0.11",
@@ -71,4 +71,4 @@
71
71
  "lint-staged": {
72
72
  "*.{ts,tsx,html,css}": "prettier --write"
73
73
  }
74
- }
74
+ }