fcr-ui-scene 3.7.5 → 3.7.7

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 (401) hide show
  1. package/installer/icons/icon.png +0 -0
  2. package/installer/mac/entitlements.mac.plist +1 -5
  3. package/lib/creator/index.js +15 -7
  4. package/lib/creator/provider-initializer.browser.js +13 -4
  5. package/lib/creator/provider-initializer.electron.js +22 -10
  6. package/lib/creator.d.ts +36 -0
  7. package/lib/creator.js +465 -0
  8. package/lib/electron/bootstrap-sdk.js +90 -6
  9. package/lib/electron/injections.d.ts +1 -0
  10. package/lib/electron/injections.js +5 -1
  11. package/lib/electron/ipc/type.d.ts +1 -0
  12. package/lib/electron/ipc/type.js +1 -0
  13. package/lib/electron/preload.js +1 -0
  14. package/lib/electron/sdk-helper.d.ts +3 -0
  15. package/lib/electron/sdk-helper.js +53 -19
  16. package/lib/electron/struct.d.ts +7 -1
  17. package/lib/electron/struct.js +8 -1
  18. package/lib/electron/until.d.ts +7 -1
  19. package/lib/electron/until.js +11 -2
  20. package/lib/fragments/annotation/store.js +2 -0
  21. package/lib/modules/action-bar/components/item/index.js +1 -0
  22. package/lib/modules/action-bar/components/more/poppover-content.js +1 -1
  23. package/lib/modules/action-bar/components/screen-share/index.browser.js +4 -2
  24. package/lib/modules/action-bar/components/screen-share/index.electron.js +4 -2
  25. package/lib/modules/action-bar/components/screen-share/submenu.d.ts +5 -1
  26. package/lib/modules/action-bar/components/screen-share/submenu.js +12 -9
  27. package/lib/modules/action-bar/index.d.ts +55 -14
  28. package/lib/modules/action-bar/index.dev.js +94 -0
  29. package/lib/modules/action-bar/index.js +78 -32
  30. package/lib/modules/action-bar/store.d.ts +259 -0
  31. package/lib/modules/action-bar/store.js +1529 -0
  32. package/lib/modules/action-bar/types.d.ts +90 -0
  33. package/lib/modules/action-bar/types.js +6 -0
  34. package/lib/modules/action-bar/view.d.ts +1 -1
  35. package/lib/modules/action-bar/view.js +2 -2
  36. package/lib/modules/annotation/annotation-index.d.ts +2 -0
  37. package/lib/modules/annotation/annotation-index.js +80 -0
  38. package/lib/modules/annotation/annotation-toolbar-store.d.ts +75 -0
  39. package/lib/modules/annotation/annotation-toolbar-store.js +459 -0
  40. package/lib/modules/annotation/board-cursor.css +77 -0
  41. package/lib/modules/annotation/components/color-picker/components/color.d.ts +5 -0
  42. package/lib/modules/annotation/components/color-picker/components/color.js +38 -0
  43. package/lib/modules/annotation/components/color-picker/components/panel.d.ts +1 -0
  44. package/lib/modules/annotation/components/color-picker/components/panel.js +109 -0
  45. package/lib/modules/annotation/components/color-picker/components/picker.d.ts +1 -0
  46. package/lib/modules/annotation/components/color-picker/components/picker.js +75 -0
  47. package/lib/modules/annotation/components/color-picker/index.d.ts +2 -0
  48. package/lib/modules/annotation/components/color-picker/index.js +47 -0
  49. package/lib/modules/annotation/components/eraser-picker.d.ts +4 -0
  50. package/lib/modules/annotation/components/eraser-picker.js +144 -0
  51. package/lib/modules/annotation/components/expansion/index.d.ts +1 -0
  52. package/lib/modules/annotation/components/expansion/index.js +100 -0
  53. package/lib/modules/annotation/components/extra-tool-picker.d.ts +1 -0
  54. package/lib/modules/annotation/components/extra-tool-picker.js +62 -0
  55. package/lib/modules/annotation/components/history.d.ts +2 -0
  56. package/lib/modules/annotation/components/history.js +78 -0
  57. package/lib/modules/annotation/components/icons/fold-icon.d.ts +2 -0
  58. package/lib/modules/annotation/components/icons/fold-icon.js +41 -0
  59. package/lib/modules/annotation/components/icons/move-icon.d.ts +1 -0
  60. package/lib/modules/annotation/components/icons/move-icon.js +66 -0
  61. package/lib/modules/annotation/components/item/index.d.ts +1 -0
  62. package/lib/modules/annotation/components/item/index.js +43 -0
  63. package/lib/modules/annotation/components/move-handle.d.ts +5 -0
  64. package/lib/modules/annotation/components/move-handle.js +134 -0
  65. package/lib/modules/annotation/components/pen-picker.d.ts +4 -0
  66. package/lib/modules/annotation/components/pen-picker.js +155 -0
  67. package/lib/modules/annotation/components/screen-capture-picker.d.ts +4 -0
  68. package/lib/modules/annotation/components/screen-capture-picker.js +85 -0
  69. package/lib/modules/annotation/components/shape-picker.d.ts +4 -0
  70. package/lib/modules/annotation/components/shape-picker.js +210 -0
  71. package/lib/modules/annotation/hooks/index.d.ts +14 -0
  72. package/lib/modules/annotation/hooks/index.js +292 -0
  73. package/lib/modules/annotation/index.d.ts +45 -0
  74. package/lib/modules/annotation/index.js +168 -0
  75. package/lib/modules/annotation/store.d.ts +98 -0
  76. package/lib/modules/annotation/store.js +620 -0
  77. package/lib/modules/annotation/style.css +36 -0
  78. package/lib/modules/annotation/view.d.ts +3 -0
  79. package/lib/modules/annotation/view.js +44 -0
  80. package/lib/modules/audio-stream/index.js +4 -2
  81. package/lib/modules/chat/index.css +8 -0
  82. package/lib/modules/chat/view.js +7 -1
  83. package/lib/modules/components/control-bar/components/switch-theme/index.css +2 -0
  84. package/lib/modules/components/control-bar/components/switch-theme/index.js +5 -7
  85. package/lib/modules/components/control-bar/index.css +0 -2
  86. package/lib/modules/components/control-bar/index.d.ts +1 -0
  87. package/lib/modules/components/control-bar/index.js +51 -15
  88. package/lib/modules/components/device-control/store.d.ts +42 -0
  89. package/lib/modules/components/device-control/store.js +241 -0
  90. package/lib/modules/components/leave-meeting/main-scene/store.d.ts +3 -0
  91. package/lib/modules/components/leave-meeting/main-scene/store.js +12 -0
  92. package/lib/modules/components/leave-meeting/store.base.d.ts +4 -3
  93. package/lib/modules/components/leave-meeting/store.base.js +0 -10
  94. package/lib/modules/components/leave-meeting/store.d.ts +39 -0
  95. package/lib/modules/components/leave-meeting/store.js +270 -0
  96. package/lib/modules/components/leave-meeting/waiting-scene/store.d.ts +5 -1
  97. package/lib/modules/components/leave-meeting/waiting-scene/store.js +17 -3
  98. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +1 -2
  99. package/lib/modules/components/member-window/components/video-player/components/local-video-player-with-zoom.js +4 -3
  100. package/lib/modules/components/member-window/components/video-player/components/zoomable-container.js +18 -32
  101. package/lib/modules/components/toolbar/components/capture-tool/index.d.ts +0 -1
  102. package/lib/modules/components/toolbar/components/capture-tool/index.js +1 -2
  103. package/lib/modules/components/toolbar/components/vertical-frame/index.js +2 -2
  104. package/lib/modules/components/toolbar/hooks/use-resize-visible.js +45 -32
  105. package/lib/modules/components/toolbar/index.js +6 -24
  106. package/lib/modules/control-bar/components/annotation-button/index.d.ts +1 -0
  107. package/lib/modules/control-bar/components/annotation-button/index.js +72 -0
  108. package/lib/modules/control-bar/components/boundary-detector.d.ts +7 -5
  109. package/lib/modules/control-bar/components/boundary-detector.js +22 -2
  110. package/lib/modules/control-bar/components/cloud-recording-buttons.d.ts +3 -0
  111. package/lib/modules/control-bar/components/cloud-recording-buttons.js +68 -3
  112. package/lib/modules/control-bar/hooks.js +2 -1
  113. package/lib/modules/control-bar/store.d.ts +1 -0
  114. package/lib/modules/control-bar/store.js +21 -7
  115. package/lib/modules/control-bar/types.d.ts +5 -16
  116. package/lib/modules/control-bar/view.js +96 -28
  117. package/lib/modules/dialog/components/confirm/index.js +6 -24
  118. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +1 -0
  119. package/lib/modules/dialog/components/dialog-container/component/body.js +3 -2
  120. package/lib/modules/dialog/components/dialog-container/index.css +8 -1
  121. package/lib/modules/dialog/components/dialog-container/index.d.ts +1 -0
  122. package/lib/modules/dialog/components/dialog-container/index.js +4 -1
  123. package/lib/modules/dialog/components/normal-window/index.d.ts +1 -0
  124. package/lib/modules/dialog/components/normal-window/index.js +3 -1
  125. package/lib/modules/dialog/dialogs/chat/index.js +2 -1
  126. package/lib/modules/dialog/dialogs/control-bar-leave-meeting/index.js +0 -1
  127. package/lib/modules/dialog/dialogs/device-setting/index.d.ts +1 -0
  128. package/lib/modules/dialog/dialogs/device-setting/index.js +4 -2
  129. package/lib/modules/dialog/dialogs/end-meeting/index.d.ts +1 -0
  130. package/lib/modules/dialog/dialogs/end-meeting/index.js +2 -1
  131. package/lib/modules/dialog/dialogs/invite/index.d.ts +1 -0
  132. package/lib/modules/dialog/dialogs/invite/index.js +2 -1
  133. package/lib/modules/dialog/dialogs/mute-all/index.d.ts +1 -0
  134. package/lib/modules/dialog/dialogs/mute-all/index.js +2 -1
  135. package/lib/modules/dialog/dialogs/participant/index.js +9 -2
  136. package/lib/modules/dialog/dialogs/pre-setting/index.d.ts +3 -3
  137. package/lib/modules/dialog/dialogs/pre-setting/index.js +25 -20
  138. package/lib/modules/dialog/dialogs/share-screen-selection/index.js +1 -1
  139. package/lib/modules/dialog/dialogs/sub-window/index.js +1 -7
  140. package/lib/modules/dialog/dialogs/toast/index.d.ts +1 -1
  141. package/lib/modules/dialog/dialogs/toast/index.js +1 -1
  142. package/lib/modules/dialog/dialogs/video-window/index.d.ts +4 -1
  143. package/lib/modules/dialog/dialogs/video-window/index.js +5 -2
  144. package/lib/modules/dialog/dialogs/widget/electron.d.ts +6 -0
  145. package/lib/modules/dialog/dialogs/widget/electron.js +38 -0
  146. package/lib/modules/dialog/dialogs/widget/index.d.ts +2 -0
  147. package/lib/modules/dialog/dialogs/widget/index.js +11 -3
  148. package/lib/modules/dialog/hooks/use-popover-watcher.js +1 -3
  149. package/lib/modules/dialog/hooks/useElectron.d.ts +28 -0
  150. package/lib/modules/dialog/hooks/useElectron.js +277 -0
  151. package/lib/modules/dialog/index.css +6 -2
  152. package/lib/modules/dialog/level-config.d.ts +1 -0
  153. package/lib/modules/dialog/level-config.js +2 -1
  154. package/lib/modules/dialog/store.base.d.ts +2 -0
  155. package/lib/modules/dialog/store.browser.d.ts +2 -0
  156. package/lib/modules/dialog/store.browser.js +6 -1
  157. package/lib/modules/dialog/store.d.ts +135 -0
  158. package/lib/modules/dialog/store.electron.d.ts +9 -1
  159. package/lib/modules/dialog/store.electron.js +64 -4
  160. package/lib/modules/dialog/store.js +616 -0
  161. package/lib/modules/dialog/type.d.ts +3 -0
  162. package/lib/modules/event-confirm/components/window/index.d.ts +7 -0
  163. package/lib/modules/event-confirm/components/window/index.js +221 -0
  164. package/lib/modules/event-confirm/index.css +24 -0
  165. package/lib/modules/event-confirm/index.d.ts +27 -0
  166. package/lib/modules/event-confirm/index.js +76 -0
  167. package/lib/modules/event-confirm/store.d.ts +50 -0
  168. package/lib/modules/event-confirm/store.js +394 -0
  169. package/lib/modules/event-confirm/view.d.ts +2 -0
  170. package/lib/modules/event-confirm/view.js +55 -0
  171. package/lib/modules/event-toast/index.css +0 -1
  172. package/lib/modules/event-toast/index.js +1 -0
  173. package/lib/modules/event-toast/store.base.d.ts +2 -0
  174. package/lib/modules/event-toast/store.base.js +40 -21
  175. package/lib/modules/event-toast/store.d.ts +9 -5
  176. package/lib/modules/event-toast/store.electron.d.ts +2 -0
  177. package/lib/modules/event-toast/store.electron.js +19 -9
  178. package/lib/modules/event-toast/store.js +57 -39
  179. package/lib/modules/layout/components/CommonVideoRenderer.js +1 -0
  180. package/lib/modules/layout/store.d.ts +176 -0
  181. package/lib/modules/layout/store.electron.js +1 -1
  182. package/lib/modules/layout/store.js +1452 -0
  183. package/lib/modules/participant/components/confirm-input/index.js +1 -1
  184. package/lib/modules/participant/store.base.d.ts +30 -3
  185. package/lib/modules/participant/store.base.js +249 -96
  186. package/lib/modules/participant/store.browser.js +4 -3
  187. package/lib/modules/participant/store.d.ts +222 -0
  188. package/lib/modules/participant/store.electron.js +5 -3
  189. package/lib/modules/participant/store.js +1929 -0
  190. package/lib/modules/pc-audio-connect/index.d.ts +22 -0
  191. package/lib/modules/pc-audio-connect/index.js +67 -0
  192. package/lib/modules/pc-audio-connect/main-scene/store.js +1 -0
  193. package/lib/modules/pc-audio-connect/store.d.ts +46 -0
  194. package/lib/modules/pc-audio-connect/store.js +304 -0
  195. package/lib/modules/secondary-window/store.d.ts +1 -1
  196. package/lib/modules/secondary-window/store.js +14 -22
  197. package/lib/modules/secondary-window/view.js +10 -10
  198. package/lib/modules/setting/audio-settings/audio-settings.js +0 -17
  199. package/lib/modules/setting/dialog-wrapper.d.ts +2 -0
  200. package/lib/modules/setting/dialog-wrapper.js +110 -0
  201. package/lib/modules/setting/index.js +1 -1
  202. package/lib/modules/setting/state/index.js +1 -1
  203. package/lib/modules/setting/store.base.d.ts +5 -2
  204. package/lib/modules/setting/store.base.js +72 -26
  205. package/lib/modules/setting/store.d.ts +261 -0
  206. package/lib/modules/setting/store.js +1321 -0
  207. package/lib/modules/share-screen/components/selection/index.css +4 -0
  208. package/lib/modules/share-screen/store.base.js +17 -4
  209. package/lib/modules/share-screen/store.d.ts +148 -0
  210. package/lib/modules/share-screen/store.electron.js +5 -2
  211. package/lib/modules/share-screen/store.js +960 -0
  212. package/lib/modules/share-screen/types.d.ts +26 -0
  213. package/lib/modules/share-screen/types.js +6 -0
  214. package/lib/modules/state-bar/layout-config.js +6 -0
  215. package/lib/modules/state-bar/main-scene/store.base.d.ts +2 -0
  216. package/lib/modules/state-bar/main-scene/store.base.js +6 -0
  217. package/lib/modules/state-bar/store.d.ts +124 -0
  218. package/lib/modules/state-bar/store.js +664 -0
  219. package/lib/modules/video-window/index.css +6 -0
  220. package/lib/modules/video-window/popover-watcher.d.ts +5 -10
  221. package/lib/modules/video-window/popover-watcher.js +34 -31
  222. package/lib/modules/video-window/store.d.ts +32 -5
  223. package/lib/modules/video-window/store.js +156 -63
  224. package/lib/modules/video-window/view.js +50 -1
  225. package/lib/modules/whiteboard/components/progress/electron.d.ts +1 -0
  226. package/lib/modules/whiteboard/components/progress/electron.js +33 -0
  227. package/lib/modules/whiteboard/index.d.ts +1 -1
  228. package/lib/modules/whiteboard/index.js +1 -1
  229. package/lib/modules/whiteboard/store.d.ts +3 -0
  230. package/lib/modules/whiteboard/store.js +31 -2
  231. package/lib/modules/whiteboard/view.js +10 -1
  232. package/lib/modules/widget/sdk.js +1 -1
  233. package/lib/modules/widget/store.base.d.ts +1 -0
  234. package/lib/modules/widget/store.browser.d.ts +1 -0
  235. package/lib/modules/widget/store.browser.js +60 -4
  236. package/lib/modules/widget/store.d.ts +5 -8
  237. package/lib/modules/widget/store.electron.d.ts +1 -0
  238. package/lib/modules/widget/store.electron.js +59 -2
  239. package/lib/modules/widget/store.js +4 -47
  240. package/lib/modules/widget/type.d.ts +3 -2
  241. package/lib/modules/widget/view.js +9 -4
  242. package/lib/modules/widget/web-widget.d.ts +2 -1
  243. package/lib/modules/widget/web-widget.js +7 -5
  244. package/lib/object-manager.d.ts +2 -2
  245. package/lib/object-manager.js +1 -1
  246. package/lib/providers/annotation-provider.d.ts +124 -0
  247. package/lib/providers/annotation-provider.js +369 -0
  248. package/lib/providers/board-share/bar-control/base.d.ts +1 -1
  249. package/lib/providers/board-share/bar-control/base.js +37 -28
  250. package/lib/providers/board-share/bar-control/electron.d.ts +1 -1
  251. package/lib/providers/board-share/bar-control/electron.js +19 -16
  252. package/lib/providers/board-share/provider.base.d.ts +8 -1
  253. package/lib/providers/board-share/provider.base.js +12 -2
  254. package/lib/providers/board-share/provider.browser.d.ts +3 -0
  255. package/lib/providers/board-share/provider.browser.js +21 -3
  256. package/lib/providers/device-provider.d.ts +16 -2
  257. package/lib/providers/device-provider.js +53 -60
  258. package/lib/providers/dialog/provider.base.d.ts +1 -0
  259. package/lib/providers/dialog/provider.browser.d.ts +1 -0
  260. package/lib/providers/dialog/provider.browser.js +7 -2
  261. package/lib/providers/dialog/provider.electron.d.ts +4 -1
  262. package/lib/providers/dialog/provider.electron.js +94 -2
  263. package/lib/providers/dialog/type.d.ts +7 -0
  264. package/lib/providers/dialog-provider.d.ts +137 -0
  265. package/lib/providers/dialog-provider.js +194 -0
  266. package/lib/providers/message-provider.d.ts +69 -0
  267. package/lib/providers/message-provider.js +140 -0
  268. package/lib/providers/mouse-detect/provider.d.ts +9 -1
  269. package/lib/providers/mouse-detect/provider.js +119 -5
  270. package/lib/providers/mouse-detect/struct.d.ts +2 -1
  271. package/lib/providers/mouse-detect/struct.js +1 -0
  272. package/lib/providers/mouse-detect/type.d.ts +2 -0
  273. package/lib/providers/multi-display-provider.d.ts +3 -5
  274. package/lib/providers/multi-display-provider.js +0 -9
  275. package/lib/providers/renderer-provider.d.ts +5 -0
  276. package/lib/providers/renderer-provider.js +5 -0
  277. package/lib/providers/room-provider/room-provider.d.ts +4 -14
  278. package/lib/providers/room-provider/room-provider.js +28 -39
  279. package/lib/providers/room-provider.d.ts +194 -0
  280. package/lib/providers/room-provider.js +916 -0
  281. package/lib/providers/screen-share/provider.base.js +3 -11
  282. package/lib/providers/screen-share/provider.browser.js +23 -14
  283. package/lib/providers/screen-share/provider.electron.d.ts +1 -0
  284. package/lib/providers/screen-share/provider.electron.js +44 -17
  285. package/lib/providers/screen-share/strategy/browser.js +16 -13
  286. package/lib/providers/screen-share/strategy/electron.d.ts +2 -2
  287. package/lib/providers/screen-share/strategy/electron.js +15 -10
  288. package/lib/providers/screen-share/strategy/type.d.ts +6 -0
  289. package/lib/providers/screen-share/stream-state-sync.d.ts +3 -2
  290. package/lib/providers/screen-share/stream-state-sync.js +26 -16
  291. package/lib/providers/screen-share/struct.d.ts +9 -7
  292. package/lib/providers/screen-share/struct.js +11 -8
  293. package/lib/providers/screen-share/type.d.ts +7 -1
  294. package/lib/providers/screen-share-provider.d.ts +245 -0
  295. package/lib/providers/screen-share-provider.js +850 -0
  296. package/lib/providers/sharing-provider.d.ts +42 -0
  297. package/lib/providers/sharing-provider.js +228 -0
  298. package/lib/providers/user-setting-storage-provider.d.ts +21 -0
  299. package/lib/providers/user-setting-storage-provider.js +65 -0
  300. package/lib/providers/whiteboard-provider.d.ts +2 -4
  301. package/lib/providers/whiteboard-provider.js +4 -7
  302. package/lib/providers/widget-provider.d.ts +5 -3
  303. package/lib/providers/widget-provider.js +12 -18
  304. package/lib/providers/window/main-window.d.ts +0 -5
  305. package/lib/providers/window/main-window.js +3 -44
  306. package/lib/providers/window/renderer-window.d.ts +1 -0
  307. package/lib/providers/window/renderer-window.js +13 -2
  308. package/lib/runtime.d.ts +1 -0
  309. package/lib/runtime.js +2 -1
  310. package/lib/scenes/main-scene.js +5 -0
  311. package/lib/shared-context/board-context.d.ts +2 -0
  312. package/lib/shared-context/board-context.js +2 -0
  313. package/lib/shared-data/member-data.d.ts +0 -8
  314. package/lib/shared-data/member-data.js +26 -78
  315. package/lib/shared-data/widget-data.d.ts +13 -0
  316. package/lib/shared-data/widget-data.js +50 -0
  317. package/lib/shared-data-source/annotation-data.d.ts +17 -0
  318. package/lib/{modules/action-bar/store.base.js → shared-data-source/annotation-data.js} +34 -41
  319. package/lib/shared-data-source/app-list-data.d.ts +34 -0
  320. package/lib/shared-data-source/app-list-data.js +133 -0
  321. package/lib/shared-data-source/chat-data.d.ts +25 -0
  322. package/lib/shared-data-source/chat-data.js +139 -0
  323. package/lib/shared-data-source/config.d.ts +35 -0
  324. package/lib/shared-data-source/config.js +40 -0
  325. package/lib/shared-data-source/confirm-data.d.ts +44 -0
  326. package/lib/shared-data-source/confirm-data.js +201 -0
  327. package/lib/shared-data-source/device-privilege-data.d.ts +8 -0
  328. package/lib/shared-data-source/device-privilege-data.js +25 -0
  329. package/lib/shared-data-source/interpreter.d.ts +77 -0
  330. package/lib/shared-data-source/interpreter.js +247 -0
  331. package/lib/shared-data-source/layout-data.d.ts +31 -0
  332. package/lib/shared-data-source/layout-data.js +189 -0
  333. package/lib/shared-data-source/meeting-time.d.ts +90 -0
  334. package/lib/shared-data-source/meeting-time.js +416 -0
  335. package/lib/shared-data-source/member-data.d.ts +139 -0
  336. package/lib/shared-data-source/member-data.js +517 -0
  337. package/lib/shared-data-source/pin-data.d.ts +13 -0
  338. package/lib/{modules/action-bar/waiting-scene/store.js → shared-data-source/pin-data.js} +55 -35
  339. package/lib/shared-data-source/screen-share-data.d.ts +357 -0
  340. package/lib/shared-data-source/screen-share-data.js +513 -0
  341. package/lib/shared-data-source/security-data.d.ts +39 -0
  342. package/lib/shared-data-source/security-data.js +156 -0
  343. package/lib/shared-data-source/setting.d.ts +67 -0
  344. package/lib/shared-data-source/setting.js +220 -0
  345. package/lib/shared-data-source/speaker-spotlight.d.ts +5 -0
  346. package/lib/shared-data-source/speaker-spotlight.js +15 -0
  347. package/lib/shared-data-source/video-window.d.ts +165 -0
  348. package/lib/shared-data-source/video-window.js +1266 -0
  349. package/lib/shared-data-source/waiting-room.d.ts +46 -0
  350. package/lib/shared-data-source/waiting-room.js +222 -0
  351. package/lib/{shared-data → shared-data-source}/whiteboard-data.d.ts +2 -2
  352. package/lib/{shared-data → shared-data-source}/whiteboard-data.js +23 -17
  353. package/lib/translations/enUS.d.ts +0 -2
  354. package/lib/translations/enUS.js +4 -6
  355. package/lib/translations/zhCN.d.ts +0 -2
  356. package/lib/translations/zhCN.js +4 -6
  357. package/lib/type.d.ts +5 -0
  358. package/lib/ui-scene.d.ts +2 -4
  359. package/lib/ui-scene.js +31 -42
  360. package/lib/utilities/board-context.d.ts +4 -0
  361. package/lib/utilities/board-context.js +12 -0
  362. package/lib/utilities/constant.d.ts +3 -1
  363. package/lib/utilities/constant.js +5 -2
  364. package/lib/utilities/copyText.d.ts +2 -0
  365. package/lib/utilities/copyText.js +48 -0
  366. package/lib/utilities/default-config.d.ts +18 -0
  367. package/lib/utilities/default-config.js +19 -1
  368. package/lib/utilities/focus-helper.js +10 -3
  369. package/lib/utilities/logger.js +3 -1
  370. package/lib/utilities/renderer-event.d.ts +10 -0
  371. package/lib/utilities/renderer-event.js +95 -0
  372. package/lib/utilities/renderer.d.ts +1 -0
  373. package/lib/utilities/renderer.js +7 -1
  374. package/lib/utilities/screen-capture-permission.d.ts +2 -0
  375. package/lib/utilities/screen-capture-permission.js +24 -0
  376. package/lib/utilities/screen.d.ts +3 -0
  377. package/lib/utilities/screen.js +53 -0
  378. package/lib/utilities/video-track-render-context.d.ts +6 -0
  379. package/lib/utilities/video-track-render-context.js +9 -0
  380. package/lib/waiting-room-control-manager.d.ts +28 -0
  381. package/lib/waiting-room-control-manager.js +230 -0
  382. package/package.json +5 -5
  383. package/public/index.html +35 -4
  384. package/lib/modules/action-bar/store.base.d.ts +0 -15
  385. package/lib/modules/action-bar/waiting-scene/store.d.ts +0 -6
  386. package/lib/providers/board-share/bar-control.d.ts +0 -51
  387. package/lib/providers/board-share/bar-control.js +0 -390
  388. package/lib/providers/board-share/provider.d.ts +0 -66
  389. package/lib/providers/board-share/provider.js +0 -456
  390. package/lib/providers/screen-share/provider.d.ts +0 -69
  391. package/lib/providers/screen-share/provider.js +0 -615
  392. package/lib/providers/window/browser-window-proxy.js +0 -1
  393. package/lib/providers/window/ipc-protocol.d.ts +0 -0
  394. package/lib/providers/window/ipc-protocol.js +0 -1
  395. package/lib/providers/window/main-process-handler.d.ts +0 -0
  396. package/lib/providers/window/main-process-handler.js +0 -1
  397. package/lib/providers/window/main-process-integration.d.ts +0 -0
  398. package/lib/providers/window/main-process-integration.js +0 -1
  399. package/lib/utilities/ipc-protocol.d.ts +0 -91
  400. package/lib/utilities/ipc-protocol.js +0 -61
  401. /package/lib/{providers/window/browser-window-proxy.d.ts → modules/action-bar/index.dev.d.ts} +0 -0
@@ -0,0 +1,960 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.symbol.description.js");
5
+ require("core-js/modules/es.symbol.to-primitive.js");
6
+ require("core-js/modules/es.error.cause.js");
7
+ require("core-js/modules/es.error.to-string.js");
8
+ require("core-js/modules/es.array.is-array.js");
9
+ require("core-js/modules/es.date.to-primitive.js");
10
+ require("core-js/modules/es.function.name.js");
11
+ require("core-js/modules/es.map.js");
12
+ require("core-js/modules/es.number.constructor.js");
13
+ require("core-js/modules/es.object.create.js");
14
+ require("core-js/modules/es.object.define-property.js");
15
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
16
+ require("core-js/modules/esnext.function.metadata.js");
17
+ require("core-js/modules/esnext.map.delete-all.js");
18
+ require("core-js/modules/esnext.map.emplace.js");
19
+ require("core-js/modules/esnext.map.every.js");
20
+ require("core-js/modules/esnext.map.filter.js");
21
+ require("core-js/modules/esnext.map.find.js");
22
+ require("core-js/modules/esnext.map.find-key.js");
23
+ require("core-js/modules/esnext.map.includes.js");
24
+ require("core-js/modules/esnext.map.key-of.js");
25
+ require("core-js/modules/esnext.map.map-keys.js");
26
+ require("core-js/modules/esnext.map.map-values.js");
27
+ require("core-js/modules/esnext.map.merge.js");
28
+ require("core-js/modules/esnext.map.reduce.js");
29
+ require("core-js/modules/esnext.map.some.js");
30
+ require("core-js/modules/esnext.map.update.js");
31
+ require("core-js/modules/esnext.symbol.metadata.js");
32
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
33
+ var _typeof = require("@babel/runtime/helpers/typeof");
34
+ Object.defineProperty(exports, "__esModule", {
35
+ value: true
36
+ });
37
+ exports["default"] = exports.StoreContext = void 0;
38
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
39
+ require("core-js/modules/es.array.concat.js");
40
+ require("core-js/modules/es.array.filter.js");
41
+ require("core-js/modules/es.array.find.js");
42
+ require("core-js/modules/es.array.for-each.js");
43
+ require("core-js/modules/es.array.includes.js");
44
+ require("core-js/modules/es.array.iterator.js");
45
+ require("core-js/modules/es.array.map.js");
46
+ require("core-js/modules/es.array.push.js");
47
+ require("core-js/modules/es.date.to-json.js");
48
+ require("core-js/modules/es.function.bind.js");
49
+ require("core-js/modules/es.json.stringify.js");
50
+ require("core-js/modules/es.object.keys.js");
51
+ require("core-js/modules/es.object.to-string.js");
52
+ require("core-js/modules/es.promise.js");
53
+ require("core-js/modules/es.string.iterator.js");
54
+ require("core-js/modules/es.string.starts-with.js");
55
+ require("core-js/modules/es.weak-map.js");
56
+ require("core-js/modules/esnext.iterator.constructor.js");
57
+ require("core-js/modules/esnext.iterator.filter.js");
58
+ require("core-js/modules/esnext.iterator.find.js");
59
+ require("core-js/modules/esnext.iterator.for-each.js");
60
+ require("core-js/modules/esnext.iterator.map.js");
61
+ require("core-js/modules/esnext.weak-map.delete-all.js");
62
+ require("core-js/modules/esnext.weak-map.emplace.js");
63
+ require("core-js/modules/web.dom-collections.for-each.js");
64
+ require("core-js/modules/web.dom-collections.iterator.js");
65
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
66
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
67
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
68
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
69
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
70
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
71
+ var _fcrCore = require("fcr-core");
72
+ var _type = require("fcr-core/lib/type");
73
+ var _env = require("agora-foundation/lib/utilities/env");
74
+ var _shareAudio = require("agora-ui-foundation/lib/components/room-screen-share-state-bar/share-audio");
75
+ var _mobx = require("mobx");
76
+ var _i18n = require("agora-ui-foundation/lib/i18n");
77
+ var _decorator = require("agora-foundation/lib/decorator");
78
+ var _react = require("react");
79
+ var _type2 = require("agora-ui-foundation/lib/components/icon/type");
80
+ var _renderer = require("../../utilities/renderer");
81
+ var _screenCapturePermission = require("../../utilities/screen-capture-permission");
82
+ var _constant = require("../../utilities/constant");
83
+ var _logger = require("../../utilities/logger");
84
+ var _parameters = require("../../utilities/parameters");
85
+ var _imports = require("fcr-core/lib/imports");
86
+ var _ShareScreenStore;
87
+ var _initProto, _init_boardOwnerUser, _handleChooseScreenDecs, _init_handleChooseScreen, _setShareWithAudioStateDecs, _zoomInDecs, _zoomOutDecs, _fullContainerDecs, _setOriginScalcDecs, _setShareAudioProcessingChannelDecs, _openRelaunchTipsDialogDecs, _startRenderSharePreviewDecs, _stopRenderSharePreviewDecs, _handleStopShareDecs, _handleStopShareByExitRoomDecs, _handleStartShareDecs, _openShareScreenSelectionDecs, _closeShareScreenSelectionDecs, _openVideoWindowDialogDecs, _closeControlBarDecs, _closeVideoWindowDialogDecs, _handleReplaceScreenDecs, _initControlbarDecs, _toggleShareWithScenarioTypeDecs, _ref;
88
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
89
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
90
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
91
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
92
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
93
+ function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function set(e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O["static"] = l, O["private"] = f, f ? 2 === o ? k = function k(e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function k(e) { return e[n]; }, (o < 2 || 4 === o) && (F = function F(e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == _typeof(P) && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol["for"]("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol["for"]("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function s(t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
94
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
95
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
96
+ function _setFunctionName(e, t, n) { "symbol" == _typeof(t) && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
97
+ function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? _typeof(e) : "null")); return e; }
98
+ var _A = /*#__PURE__*/new WeakMap();
99
+ _ref = (_handleChooseScreenDecs = [_mobx.action, _mobx.action.bound], _setShareWithAudioStateDecs = [_mobx.action, _mobx.action.bound], _zoomInDecs = [_mobx.action, _mobx.action.bound], _zoomOutDecs = [_mobx.action, _mobx.action.bound], _fullContainerDecs = [_mobx.action, _mobx.action.bound], _setOriginScalcDecs = [_mobx.action, _mobx.action.bound], _setShareAudioProcessingChannelDecs = [_mobx.action, _mobx.action.bound], _openRelaunchTipsDialogDecs = [_mobx.action, _mobx.action.bound], _startRenderSharePreviewDecs = [_mobx.action, _mobx.action.bound], _stopRenderSharePreviewDecs = [_mobx.action, _mobx.action.bound], _handleStopShareDecs = [_mobx.action, _mobx.action.bound], _handleStopShareByExitRoomDecs = [_mobx.action, _mobx.action.bound], _handleStartShareDecs = [_mobx.action, _mobx.action.bound], _openShareScreenSelectionDecs = [_mobx.action, _mobx.action.bound], _closeShareScreenSelectionDecs = [_mobx.action, _mobx.action.bound], _openVideoWindowDialogDecs = [_mobx.action, _mobx.action.bound], _closeControlBarDecs = [_mobx.action, _mobx.action.bound], _closeVideoWindowDialogDecs = [_mobx.action, _mobx.action.bound], _handleReplaceScreenDecs = [_mobx.action, _mobx.action.bound], _initControlbarDecs = [_mobx.action, _mobx.action.bound], _toggleShareWithScenarioTypeDecs = [_mobx.action, _mobx.action.bound], "logger");
100
+ var ShareScreenStore = exports["default"] = /*#__PURE__*/function () {
101
+ function ShareScreenStore(_ref2) {
102
+ var _this = this;
103
+ var roomControl = _ref2.roomControl,
104
+ deviceProvider = _ref2.deviceProvider,
105
+ privilegeProvider = _ref2.privilegeProvider,
106
+ messageProvider = _ref2.messageProvider,
107
+ dialogProvider = _ref2.dialogProvider,
108
+ eventProvider = _ref2.eventProvider,
109
+ sharedMemberDataSource = _ref2.sharedMemberDataSource,
110
+ roomProvider = _ref2.roomProvider,
111
+ sharedConfigDataSource = _ref2.sharedConfigDataSource,
112
+ screenShareProvider = _ref2.screenShareProvider,
113
+ annotationProvider = _ref2.annotationProvider,
114
+ sharedScreenShareSharedDataSource = _ref2.sharedScreenShareSharedDataSource,
115
+ abilityProvider = _ref2.abilityProvider,
116
+ sharedAnnotationDataSource = _ref2.sharedAnnotationDataSource,
117
+ multiDisplayProvider = _ref2.multiDisplayProvider;
118
+ (0, _classCallCheck2["default"])(this, ShareScreenStore);
119
+ (0, _defineProperty2["default"])(this, _ref, (_initProto(this), (0, _logger.createLogger)({
120
+ prefix: 'ShareScreenStore'
121
+ })));
122
+ (0, _defineProperty2["default"])(this, "_disposers", []);
123
+ (0, _defineProperty2["default"])(this, "_isOnline", true);
124
+ (0, _defineProperty2["default"])(this, "_windowList", []);
125
+ (0, _defineProperty2["default"])(this, "_displayList", []);
126
+ (0, _defineProperty2["default"])(this, "_cardChooseBounds", {
127
+ x: 0,
128
+ y: 0,
129
+ width: 0,
130
+ height: 0
131
+ });
132
+ (0, _defineProperty2["default"])(this, "_roomObserver", {
133
+ // 房间关闭时,需要停止共享屏幕
134
+ onRoomClosed: this.handleStopShare,
135
+ // 被移出主房间房间时,需要停止共享屏幕
136
+ onLeaveMainRoom: this.handleStopShare,
137
+ // 离开房间时,需要停止共享屏幕
138
+ onExitRoom: this.handleStopShareByExitRoom
139
+ });
140
+ (0, _defineProperty2["default"])(this, "_uiEventObserver", {
141
+ onEvent: this._onUiEvent.bind(this)
142
+ });
143
+ (0, _defineProperty2["default"])(this, "_screenCaptureStateObserver", {
144
+ onScreenCaptureStopped: this._handleOnScreenCaptureStopped.bind(this),
145
+ onScreenShareReplaceBegin: this._handleOnScreenShareReplaceBegin.bind(this),
146
+ onScreenCaptureStarted: this._handleOnScreenCaptureStarted.bind(this),
147
+ onScreenShareSeize: this._handleOnScreenShareSeize.bind(this)
148
+ });
149
+ (0, _defineProperty2["default"])(this, "_boardObserver", {
150
+ onActive: function onActive(ownerId) {
151
+ _this.handleStopShare();
152
+ _this._closeShareScreenComps();
153
+ _this._closeShareScreenSelection();
154
+ _this.boardOwnerUser = _this._userControl.getUser(ownerId);
155
+ },
156
+ onInactive: function onInactive(reason) {
157
+ _this.boardOwnerUser = undefined;
158
+ }
159
+ });
160
+ (0, _defineProperty2["default"])(this, "_shareSelectionDialogId", '');
161
+ (0, _defineProperty2["default"])(this, "_controlBarDialogId", '');
162
+ (0, _defineProperty2["default"])(this, "_videoWindowDialogId", '');
163
+ _classPrivateFieldInitSpec(this, _A, _init_boardOwnerUser(this, undefined));
164
+ (0, _defineProperty2["default"])(this, "handleChooseScreen", _init_handleChooseScreen(this, function (id) {
165
+ var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _type.FcrScreenCaptureType.WINDOW;
166
+ _this._sharedScreenShareSharedDataSource.setCurrentSelection(id, type);
167
+ }));
168
+ this._deviceProvider = deviceProvider;
169
+ this._messageProvider = messageProvider;
170
+ this._dialogProvider = dialogProvider;
171
+ this._eventProvider = eventProvider;
172
+ this._securityStore = privilegeProvider;
173
+ this._roomProvider = roomProvider;
174
+ this._sharedMemberDataSource = sharedMemberDataSource;
175
+ this._screenShareProvider = screenShareProvider;
176
+ this._annotationProvider = annotationProvider;
177
+ this._sharedScreenShareSharedDataSource = sharedScreenShareSharedDataSource;
178
+ this._abilityProvider = abilityProvider;
179
+ this._sharedAnnotationDataSource = sharedAnnotationDataSource;
180
+ roomControl.getStreamControl();
181
+ this._userControl = roomControl.getUserControl();
182
+ this._boardControl = roomControl.getSharingControl().getBoardControl();
183
+ this._streamControl = roomControl.getStreamControl();
184
+ this._roomProvider.addObserver(this._roomObserver);
185
+ this._eventProvider.addObserver(this._uiEventObserver);
186
+ this._boardControl.addObserver(this._boardObserver);
187
+ this._screenShareProvider.addObserver(this._screenCaptureStateObserver);
188
+ this._addEventListeners();
189
+ if ((0, _parameters.getStartScreenSharing)(sharedConfigDataSource.creatorConfig.parameters)) {
190
+ var display = window.runtime.screen.getAllDisplays()[0];
191
+ this.handleStartShare(String(display.id), _type.FcrScreenCaptureType.SCREEN, false, _shareAudio.AudioProcessingChannel.MONO, display.bounds);
192
+ }
193
+ this._disposers.push((0, _mobx.reaction)(function () {
194
+ return _this._securityStore.hasStartScreenSharePermission();
195
+ }, function (screenSharePremission) {
196
+ if (!screenSharePremission) {
197
+ if (_this.isHost) return;
198
+ _this._messageProvider.showToast({
199
+ type: 'error',
200
+ message: (0, _i18n.transI18n)('fmt_screenshare_tips_hostprohibitssharing'),
201
+ duration: 3000
202
+ });
203
+ }
204
+ }), (0, _mobx.reaction)(function () {
205
+ return _this.connectionState;
206
+ }, function (val) {
207
+ var needCloseState = val === _fcrCore.FcrConnectionState.ABORTED || val === _fcrCore.FcrConnectionState.DISCONNECTED;
208
+ _this.logger.info("[screen-share]: connection state changed to ".concat(val, ", need close state: ").concat(needCloseState));
209
+ if (needCloseState) {
210
+ _this.handleStopShare();
211
+ }
212
+ }));
213
+ if ((0, _env.isElectron)()) {
214
+ window.runtime.browserWindow.addListener('show', this._handleBrowserShow);
215
+ window.runtime.browserWindow.addListener('hide', this._hendleBrowserHide);
216
+ }
217
+ }
218
+ return (0, _createClass2["default"])(ShareScreenStore, [{
219
+ key: "_handleOnScreenCaptureStopped",
220
+ value: function _handleOnScreenCaptureStopped() {
221
+ this.handleStopShare();
222
+ }
223
+ }, {
224
+ key: "_handleOnScreenCaptureStarted",
225
+ value: function _handleOnScreenCaptureStarted() {
226
+ this.prepareShareScreen();
227
+ }
228
+ }, {
229
+ key: "_hasScreenSharePermission",
230
+ value: function _hasScreenSharePermission() {
231
+ if (!this._securityStore.hasStartScreenSharePermission()) {
232
+ this._showToast((0, _i18n.transI18n)('fmt_screenshare_cohost_can_not_share_remind'), 'error');
233
+ return false;
234
+ }
235
+ return true;
236
+ }
237
+ }, {
238
+ key: "boardOwnerUser",
239
+ get: function get() {
240
+ return _classPrivateFieldGet(_A, this);
241
+ },
242
+ set: function set(v) {
243
+ _classPrivateFieldSet(_A, this, v);
244
+ }
245
+ }, {
246
+ key: "cardChooseBounds",
247
+ get: function get() {
248
+ return this._cardChooseBounds;
249
+ }
250
+ }, {
251
+ key: "currentShareStreamId",
252
+ get: function get() {
253
+ return this._sharedScreenShareSharedDataSource.currentShareStreamId;
254
+ }
255
+ }, {
256
+ key: "screenTrack",
257
+ get: function get() {
258
+ return this._sharedScreenShareSharedDataSource.screenTrack;
259
+ }
260
+ }, {
261
+ key: "currentShareType",
262
+ get: function get() {
263
+ return this._sharedScreenShareSharedDataSource.currentShareType;
264
+ }
265
+ }, {
266
+ key: "isCurrentOriginal",
267
+ get: function get() {
268
+ return this._sharedScreenShareSharedDataSource.isCurrentOriginal;
269
+ }
270
+ }, {
271
+ key: "localUser",
272
+ get: function get() {
273
+ return this._sharedMemberDataSource.localUser;
274
+ }
275
+ }, {
276
+ key: "localUserRole",
277
+ get: function get() {
278
+ return this._sharedMemberDataSource.localUserRole;
279
+ }
280
+ }, {
281
+ key: "isHost",
282
+ get: function get() {
283
+ return this._sharedMemberDataSource.isLocalUserHost;
284
+ }
285
+ }, {
286
+ key: "supportEnumScreen",
287
+ get: function get() {
288
+ return this._deviceProvider.isCapabilitySupported(_fcrCore.FcrCapability.SCREEN_ENUMERATE);
289
+ }
290
+ }, {
291
+ key: "appWindowList",
292
+ get: function get() {
293
+ return this._sharedScreenShareSharedDataSource.appWindowList;
294
+ }
295
+ }, {
296
+ key: "displayList",
297
+ get: function get() {
298
+ return this._sharedScreenShareSharedDataSource.displayList;
299
+ }
300
+ }, {
301
+ key: "connectionState",
302
+ get: function get() {
303
+ return this._sharedScreenShareSharedDataSource.connectionState;
304
+ }
305
+ }, {
306
+ key: "localUserScreenSharingState",
307
+ get: function get() {
308
+ return this._sharedScreenShareSharedDataSource.localUserScreenSharingState;
309
+ }
310
+ }, {
311
+ key: "applicationCaptureSources",
312
+ get: function get() {
313
+ return this._sharedScreenShareSharedDataSource.applicationCaptureSources;
314
+ }
315
+ }, {
316
+ key: "screenCaptureSources",
317
+ get: function get() {
318
+ return this._sharedScreenShareSharedDataSource.screenCaptureSources;
319
+ }
320
+ }, {
321
+ key: "currentShareAudioProcessingChannel",
322
+ get: function get() {
323
+ return this._sharedScreenShareSharedDataSource.currentShareAudioProcessingChannel;
324
+ }
325
+ }, {
326
+ key: "currentSelectionId",
327
+ get: function get() {
328
+ return this._sharedScreenShareSharedDataSource.currentSelectionId;
329
+ }
330
+ }, {
331
+ key: "currentSelectionType",
332
+ get: function get() {
333
+ return this._sharedScreenShareSharedDataSource.currentSelectionType;
334
+ }
335
+ }, {
336
+ key: "shareWithAudio",
337
+ get: function get() {
338
+ return this._sharedScreenShareSharedDataSource.shareWithAudio;
339
+ }
340
+ }, {
341
+ key: "currentSelectionBounds",
342
+ get: function get() {
343
+ return this._sharedScreenShareSharedDataSource.currentSelectionBounds;
344
+ }
345
+ }, {
346
+ key: "shareLock",
347
+ get: function get() {
348
+ return this._screenShareProvider.shareLock;
349
+ }
350
+ }, {
351
+ key: "currentShareId",
352
+ get: function get() {
353
+ return this._sharedScreenShareSharedDataSource.currentShareId;
354
+ }
355
+ }, {
356
+ key: "annotationHasStart",
357
+ get: function get() {
358
+ return this._sharedAnnotationDataSource.annotationHasStart;
359
+ }
360
+ }, {
361
+ key: "allowAnnotationWrite",
362
+ get: function get() {
363
+ return this._annotationProvider.allowAnnotationWrite;
364
+ }
365
+ }, {
366
+ key: "screenShareWindowData",
367
+ get: function get() {
368
+ return this._annotationProvider.screenShareWindowData;
369
+ }
370
+ }, {
371
+ key: "isZoomMaxmum",
372
+ get: function get() {
373
+ return this._sharedScreenShareSharedDataSource.isZoomMaxmum;
374
+ }
375
+ }, {
376
+ key: "isZoomMinimum",
377
+ get: function get() {
378
+ return this._sharedScreenShareSharedDataSource.isZoomMinimum;
379
+ }
380
+ }, {
381
+ key: "isAspectRatioPreserved",
382
+ get: function get() {
383
+ return this._screenShareProvider.isAspectRatioPreserved;
384
+ }
385
+ }, {
386
+ key: "isCurrentScreenShareInSmoothType",
387
+ get: function get() {
388
+ return this._sharedScreenShareSharedDataSource.isCurrentScreenShareInSmoothType;
389
+ }
390
+ }, {
391
+ key: "_screenShareInfoForLog",
392
+ get: function get() {
393
+ return "Screen Share Info : ".concat(JSON.stringify({
394
+ isSharingScreen: this.localUserScreenSharingState,
395
+ currentShareId: this.currentShareId,
396
+ currentShareType: this.currentShareType,
397
+ currentShareBounds: this.currentSelectionBounds
398
+ }));
399
+ }
400
+ }, {
401
+ key: "allowAnnotationSelfWriteState",
402
+ get: function get() {
403
+ return this._annotationProvider.allowAnnotationSelfWrite;
404
+ }
405
+ }, {
406
+ key: "isShowToolbar",
407
+ get: function get() {
408
+ return this._annotationProvider.isShowToolbar;
409
+ }
410
+ }, {
411
+ key: "isAnnotationSupported",
412
+ get: function get() {
413
+ return this._abilityProvider.isAnnotationSupported();
414
+ }
415
+ }, {
416
+ key: "toggleIsShowToolbar",
417
+ value: function toggleIsShowToolbar() {
418
+ if (this.allowAnnotationSelfWriteState) {
419
+ this._annotationProvider.setIsShowToolbar(!this.isShowToolbar);
420
+ }
421
+ }
422
+ }, {
423
+ key: "setShareWithAudioState",
424
+ value: function setShareWithAudioState(withAudio) {
425
+ this._sharedScreenShareSharedDataSource.setShareWithAudio(withAudio);
426
+ }
427
+ }, {
428
+ key: "zoomIn",
429
+ value: function zoomIn() {
430
+ this._screenShareProvider.zoomIn();
431
+ }
432
+ }, {
433
+ key: "zoomOut",
434
+ value: function zoomOut() {
435
+ this._screenShareProvider.zoomOut();
436
+ }
437
+ }, {
438
+ key: "fullContainer",
439
+ value: function fullContainer() {
440
+ this._screenShareProvider.fullContainer();
441
+ }
442
+ }, {
443
+ key: "setOriginScalc",
444
+ value: function setOriginScalc() {
445
+ this._screenShareProvider.setOriginScalc();
446
+ }
447
+ }, {
448
+ key: "setShareAudioProcessingChannel",
449
+ value: function setShareAudioProcessingChannel(currentShareAudioProcessingChannel) {
450
+ this._sharedScreenShareSharedDataSource.setCurrentShareAudioProcessingChannel(currentShareAudioProcessingChannel);
451
+ }
452
+ }, {
453
+ key: "setCardChooseBounds",
454
+ value: function setCardChooseBounds(bounds) {
455
+ this._cardChooseBounds = bounds;
456
+ }
457
+ }, {
458
+ key: "handlerBoardShareStop",
459
+ value: function handlerBoardShareStop() {
460
+ this._eventProvider.sendEvent(_constant.FcrUIAction.CLOSE_WHITEBOARD);
461
+ }
462
+ }, {
463
+ key: "release",
464
+ value: function release() {
465
+ this._disposers.forEach(function (disposer) {
466
+ return disposer();
467
+ });
468
+ this._disposers = [];
469
+ this._closeShareScreenComps();
470
+ this._eventProvider.removeObserver(this._uiEventObserver);
471
+ // this.screenTrack?.removeObserver(this._observer);
472
+ this._screenShareProvider.removeObserver(this._screenCaptureStateObserver);
473
+ this._screenShareProvider.release();
474
+ this._boardControl.removeObserver(this._boardObserver);
475
+ this._roomProvider.removeObserver(this._roomObserver);
476
+ this._removeEventListeners();
477
+ if ((0, _env.isElectron)()) {
478
+ window.runtime.browserWindow.removeListener('show', this._handleBrowserShow);
479
+ window.runtime.browserWindow.removeListener('hide', this._hendleBrowserHide);
480
+ }
481
+ }
482
+ }, {
483
+ key: "openRelaunchTipsDialog",
484
+ value: function openRelaunchTipsDialog() {
485
+ var _this2 = this;
486
+ var dialogId = this._dialogProvider.openConfirmDialog({
487
+ content: (0, _i18n.transI18n)('fmt_driver_installation_v_sound_card'),
488
+ onOk: function onOk() {
489
+ dialogId && _this2._dialogProvider.closeConfirm(dialogId);
490
+ (0, _renderer.restartApp)();
491
+ },
492
+ onCancel: function onCancel() {
493
+ dialogId && _this2._dialogProvider.closeConfirm(dialogId);
494
+ },
495
+ okText: (0, _i18n.transI18n)('fmt_premeeting_setting_mobile_popup_button_restart'),
496
+ cancelText: (0, _i18n.transI18n)('fmt_waitingroom_attendie_popup_button_gotit'),
497
+ title: ''
498
+ });
499
+ }
500
+ }, {
501
+ key: "startRenderSharePreview",
502
+ value: function startRenderSharePreview(dom) {
503
+ this._screenShareProvider.startRenderSharePreview(dom);
504
+ }
505
+ }, {
506
+ key: "stopRenderSharePreview",
507
+ value: function stopRenderSharePreview(screenTrack) {
508
+ this._screenShareProvider.stopRenderSharePreview(screenTrack);
509
+ }
510
+ }, {
511
+ key: "handleStopShare",
512
+ value: function handleStopShare() {
513
+ this._closeShareScreenComps();
514
+ this._screenShareProvider.stopShareScreen();
515
+ }
516
+ }, {
517
+ key: "handleStopShareByExitRoom",
518
+ value: function handleStopShareByExitRoom() {
519
+ this._closeShareScreenComps();
520
+ this._screenShareProvider.stopShareScreenByExitRoom();
521
+ }
522
+ }, {
523
+ key: "participantShareCanWeAnnotation",
524
+ value: function participantShareCanWeAnnotation() {
525
+ var streams = this._streamControl.getStreams();
526
+ var _notSupportPlatform = [_type.FcrPlatform.WEB_DESKTOP, _type.FcrPlatform.WEB_MOBILE, _type.FcrPlatform.IOS];
527
+ var streamLists = Object.keys(streams).map(function (key) {
528
+ return streams[key];
529
+ });
530
+ var screenShareStreams = streamLists.map(function (streamList) {
531
+ return streamList.find(function (streamInfo) {
532
+ return streamInfo.videoSourceType === _fcrCore.FcrVideoSourceType.SCREEN;
533
+ });
534
+ }).filter(Boolean);
535
+ if (screenShareStreams.length > 0) {
536
+ var screenShareOwnerInfo = screenShareStreams[0];
537
+ var _participantPlatform = screenShareOwnerInfo === null || screenShareOwnerInfo === void 0 ? void 0 : screenShareOwnerInfo.owner.platform;
538
+ this.logger.info("[Annotation] current share participant platform: ".concat(_participantPlatform));
539
+ if (typeof _participantPlatform !== 'undefined' && !_notSupportPlatform.includes(_participantPlatform)) {
540
+ return true;
541
+ } else {
542
+ return false;
543
+ }
544
+ }
545
+ return false;
546
+ }
547
+ }, {
548
+ key: "prepareShareScreen",
549
+ value: function () {
550
+ var _prepareShareScreen = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
551
+ var _this3 = this;
552
+ var dialogId;
553
+ return _regenerator["default"].wrap(function (_context2) {
554
+ while (1) switch (_context2.prev = _context2.next) {
555
+ case 0:
556
+ if ((0, _screenCapturePermission.hasScreenCapturePermission)()) {
557
+ _context2.next = 1;
558
+ break;
559
+ }
560
+ dialogId = this._dialogProvider.openConfirmDialog({
561
+ title: (0, _i18n.transI18n)('fmt_screenshare_options_allowshare'),
562
+ content: (0, _i18n.transI18n)('fmt_screenshare_tips_notavailable'),
563
+ okText: (0, _i18n.transI18n)('fmt_group_popup_creat_next_sidpop_label_setting'),
564
+ cancelText: (0, _i18n.transI18n)('fmt_group_popup_creat_next_sidpop_button_help_ignore'),
565
+ onCancel: function onCancel() {
566
+ _this3._dialogProvider.closeConfirm(dialogId);
567
+ },
568
+ onOk: function () {
569
+ var _onOk = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
570
+ return _regenerator["default"].wrap(function (_context) {
571
+ while (1) switch (_context.prev = _context.next) {
572
+ case 0:
573
+ // 检查权限
574
+ // corner case: 拒绝过权限后,将应用从系统中移除,打开设置后无法找到app,需要重新检查
575
+ // 所以无论是否拒绝过权限,直接checkMediaPermission一次
576
+ window.runtime.checkMediaPermission('sharing');
577
+ if ((0, _screenCapturePermission.hasDeniedScreenCapturePermission)()) {
578
+ window.runtime.openSystemPreferences('sharing');
579
+ }
580
+ _this3._dialogProvider.closeConfirm(dialogId);
581
+ case 1:
582
+ case "end":
583
+ return _context.stop();
584
+ }
585
+ }, _callee);
586
+ }));
587
+ function onOk() {
588
+ return _onOk.apply(this, arguments);
589
+ }
590
+ return onOk;
591
+ }(),
592
+ closable: false
593
+ });
594
+ return _context2.abrupt("return");
595
+ case 1:
596
+ this.supportEnumScreen && this._openShareScreenSelection();
597
+ !(0, _env.isElectron)() && this.handleStartShare(this.currentSelectionId, _type.FcrScreenCaptureType.SCREEN, true, _shareAudio.AudioProcessingChannel.MONO, this.currentSelectionBounds);
598
+ case 2:
599
+ case "end":
600
+ return _context2.stop();
601
+ }
602
+ }, _callee2, this);
603
+ }));
604
+ function prepareShareScreen() {
605
+ return _prepareShareScreen.apply(this, arguments);
606
+ }
607
+ return prepareShareScreen;
608
+ }()
609
+ }, {
610
+ key: "handleStartShare",
611
+ value: function () {
612
+ var _handleStartShare = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(id, type, withAudio) {
613
+ var audioProcessingChannel,
614
+ bounds,
615
+ electronBounds,
616
+ needToReplaceMyself,
617
+ validShareStart,
618
+ _args3 = arguments,
619
+ _t;
620
+ return _regenerator["default"].wrap(function (_context3) {
621
+ while (1) switch (_context3.prev = _context3.next) {
622
+ case 0:
623
+ audioProcessingChannel = _args3.length > 3 && _args3[3] !== undefined ? _args3[3] : _shareAudio.AudioProcessingChannel.MONO;
624
+ bounds = _args3.length > 4 ? _args3[4] : undefined;
625
+ if (!(this.connectionState !== _fcrCore.FcrConnectionState.CONNECTED || !this._isOnline)) {
626
+ _context3.next = 1;
627
+ break;
628
+ }
629
+ this._showToast((0, _i18n.transI18n)('fmt_screenshare_toast_network_error_unable_start_screen_share'), 'error');
630
+ return _context3.abrupt("return", Promise.reject(false));
631
+ case 1:
632
+ if ((0, _env.isElectron)()) this._closeShareScreenSelection();
633
+ if (!id.startsWith('whiteboard-')) {
634
+ _context3.next = 3;
635
+ break;
636
+ }
637
+ if (!(!this._securityStore.hasStartBoardPermission() && !this.isHost)) {
638
+ _context3.next = 2;
639
+ break;
640
+ }
641
+ return _context3.abrupt("return", this._showToast((0, _i18n.transI18n)('fmt_screenshare_tips_hostprohibits'), 'error'));
642
+ case 2:
643
+ this._eventProvider.sendEvent(_constant.FcrUIAction.OPEN_WHITEBOARD);
644
+ return _context3.abrupt("return");
645
+ case 3:
646
+ electronBounds = (0, _env.isElectron)() ? window.runtime.screen.getDisplayNearestPoint(bounds) : null;
647
+ this._sharedScreenShareSharedDataSource.setCurrentSelectionBounds((electronBounds === null || electronBounds === void 0 ? void 0 : electronBounds.bounds) || bounds);
648
+ this.logger.info("[screen-share][handleStartShare]: currentShareInfo: ".concat(JSON.stringify({
649
+ id: id,
650
+ type: type,
651
+ bounds: bounds
652
+ })));
653
+ this._annotationProvider.setCurrentShareInfo({
654
+ id: id,
655
+ type: type,
656
+ bounds: bounds
657
+ });
658
+ this._annotationProvider.setBoundsToAnnotationWindow({
659
+ id: id,
660
+ type: type,
661
+ bounds: bounds
662
+ });
663
+ needToReplaceMyself = this.localUserScreenSharingState === _fcrCore.FcrMediaSourceState.OPEN;
664
+ this.logger.info("[screen-share][handleStartShare]: needToReplaceMyself - ".concat(needToReplaceMyself));
665
+ if (!needToReplaceMyself) {
666
+ _context3.next = 4;
667
+ break;
668
+ }
669
+ this._handleReplaceScreen(id, type, withAudio, audioProcessingChannel, bounds);
670
+ return _context3.abrupt("return");
671
+ case 4:
672
+ _context3.next = 5;
673
+ return this._validateShareStart(id, type);
674
+ case 5:
675
+ validShareStart = _context3.sent;
676
+ this.logger.info("[screen-share][handleStartShare]: validShareStart: ".concat(validShareStart));
677
+ if (!(!this._hasScreenSharePermission() || !validShareStart)) {
678
+ _context3.next = 6;
679
+ break;
680
+ }
681
+ return _context3.abrupt("return");
682
+ case 6:
683
+ if (!this.shareLock) {
684
+ _context3.next = 7;
685
+ break;
686
+ }
687
+ return _context3.abrupt("return", this._showToast((0, _i18n.transI18n)('fmt_screenshare_tips_enablecollection'), 'error'));
688
+ case 7:
689
+ // 初始化 controlbar 并隐藏, controlbar 不能在 startShareScreen 之后初始化,否则获取不到窗口信息,在屏幕共享时无法排除
690
+ this._initControlbar();
691
+ this._sharedScreenShareSharedDataSource.setCurrentShareIdInfos(id, type, bounds);
692
+ _context3.prev = 8;
693
+ _context3.next = 9;
694
+ return this._screenShareProvider.startShareScreen(id, type, withAudio, false);
695
+ case 9:
696
+ _context3.next = 11;
697
+ break;
698
+ case 10:
699
+ _context3.prev = 10;
700
+ _t = _context3["catch"](8);
701
+ this.logger.error('failed to start share screen:', _t);
702
+ this._closeShareScreenComps();
703
+ case 11:
704
+ case "end":
705
+ return _context3.stop();
706
+ }
707
+ }, _callee3, this, [[8, 10]]);
708
+ }));
709
+ function handleStartShare(_x, _x2, _x3) {
710
+ return _handleStartShare.apply(this, arguments);
711
+ }
712
+ return handleStartShare;
713
+ }()
714
+ }, {
715
+ key: "_openShareScreenSelection",
716
+ value: function () {
717
+ var _openShareScreenSelection2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4() {
718
+ var _this4 = this;
719
+ var windowList, displayList;
720
+ return _regenerator["default"].wrap(function (_context4) {
721
+ while (1) switch (_context4.prev = _context4.next) {
722
+ case 0:
723
+ this._shareSelectionDialogId = this._dialogProvider.openDialog(_constant.FcrUIDialogKey.SHARE_SCREEN, 'screen-selection');
724
+ _context4.next = 1;
725
+ return this.appWindowList;
726
+ case 1:
727
+ windowList = _context4.sent.filter(function (item) {
728
+ return !['AgoraHighLighter', 'Toast', 'Confirm', 'Annotation tool bar', 'Annotation', 'Video Window', 'Control Bar', window.runtime.browserWindow.getTitle() // 主窗口和副窗口 title 一致,副窗口也需要排除在可选择列表中
729
+ ].includes(item.title) || item.isCurrent;
730
+ });
731
+ _context4.next = 2;
732
+ return this.displayList;
733
+ case 2:
734
+ displayList = _context4.sent;
735
+ this._windowList = windowList;
736
+ this._displayList = displayList;
737
+ (0, _mobx.runInAction)(function () {
738
+ _this4._sharedScreenShareSharedDataSource.setApplicationCaptureSources(windowList.filter(function (item) {
739
+ return !item.isCurrent;
740
+ }));
741
+ _this4._sharedScreenShareSharedDataSource.setScreenCaptureSources([{
742
+ title: (0, _i18n.transI18n)('fmt_share_options_whiteboard'),
743
+ id: "whiteboard-".concat(displayList[0].id),
744
+ image: _type2.FcrIconType.FCR_WHITEBOARD2
745
+ }].concat((0, _toConsumableArray2["default"])(displayList)));
746
+ });
747
+ case 3:
748
+ case "end":
749
+ return _context4.stop();
750
+ }
751
+ }, _callee4, this);
752
+ }));
753
+ function _openShareScreenSelection() {
754
+ return _openShareScreenSelection2.apply(this, arguments);
755
+ }
756
+ return _openShareScreenSelection;
757
+ }()
758
+ }, {
759
+ key: "_closeShareScreenSelection",
760
+ value: function _closeShareScreenSelection() {
761
+ this._dialogProvider.closeDialog(this._shareSelectionDialogId);
762
+ this._shareSelectionDialogId = '';
763
+ }
764
+ }, {
765
+ key: "_openVideoWindowDialog",
766
+ value: function _openVideoWindowDialog() {
767
+ this._videoWindowDialogId = this._dialogProvider.openDialog(_constant.FcrUIDialogKey.VIDEO_WINDOW);
768
+ }
769
+ }, {
770
+ key: "_closeControlBar",
771
+ value: function _closeControlBar() {
772
+ if (!this._controlBarDialogId) return;
773
+ this._dialogProvider.closeDialog(this._controlBarDialogId);
774
+ this._controlBarDialogId = '';
775
+ }
776
+ }, {
777
+ key: "_closeVideoWindowDialog",
778
+ value: function _closeVideoWindowDialog() {
779
+ this._dialogProvider.closeDialog(this._videoWindowDialogId);
780
+ this._videoWindowDialogId = '';
781
+ this._eventProvider.sendEvent(_constant.FcrUIAction.CLOSE_VIDEO_WINDOW);
782
+ }
783
+ }, {
784
+ key: "_handleOnScreenShareReplaceBegin",
785
+ value: function _handleOnScreenShareReplaceBegin(id, type, bounds) {
786
+ this._annotationProvider.setCurrentShareInfo({
787
+ id: id,
788
+ type: type,
789
+ bounds: bounds
790
+ });
791
+ this._annotationProvider.setBoundsToAnnotationWindow({
792
+ id: id,
793
+ type: type,
794
+ bounds: bounds
795
+ });
796
+ }
797
+ }, {
798
+ key: "_handleReplaceScreen",
799
+ value: function _handleReplaceScreen(id, type, withAudio) {
800
+ var audioProcessingChannel = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : _shareAudio.AudioProcessingChannel.MONO;
801
+ var bounds = arguments.length > 4 ? arguments[4] : undefined;
802
+ this._screenShareProvider.replaceScreenShare(id, type, withAudio, bounds);
803
+ }
804
+ }, {
805
+ key: "_closeShareScreenComps",
806
+ value: function _closeShareScreenComps() {
807
+ if ((0, _env.isElectron)()) {
808
+ this._closeControlBar();
809
+ this._closeVideoWindowDialog();
810
+ this._annotationProvider.closeAnnotationWindow();
811
+ window.runtime.browserWindow.show();
812
+ }
813
+ }
814
+ }, {
815
+ key: "_addEventListeners",
816
+ value: function _addEventListeners() {
817
+ window.addEventListener('online', this._handleOnline);
818
+ window.addEventListener('offline', this._handleOffline);
819
+ }
820
+ }, {
821
+ key: "_removeEventListeners",
822
+ value: function _removeEventListeners() {
823
+ window.removeEventListener('online', this._handleOnline);
824
+ window.removeEventListener('offline', this._handleOffline);
825
+ }
826
+ }, {
827
+ key: "_handleOnline",
828
+ value: function _handleOnline() {
829
+ this._isOnline = true;
830
+ this.logger.info('ononline');
831
+ }
832
+ }, {
833
+ key: "_handleOffline",
834
+ value: function _handleOffline() {
835
+ this._isOnline = false;
836
+ this.logger.info('onoffline');
837
+ }
838
+ }, {
839
+ key: "_onUiEvent",
840
+ value: function _onUiEvent(event, params) {
841
+ switch (event) {
842
+ case _constant.FcrUIAction.OPEN_TOP_VIDEO_WINDOW:
843
+ this._openVideoWindowDialog();
844
+ break;
845
+ case _constant.FcrUIAction.CLOSE_TOP_VIDEO_WINDOW:
846
+ this._closeVideoWindowDialog();
847
+ break;
848
+ }
849
+ }
850
+ }, {
851
+ key: "_showToast",
852
+ value: function _showToast(message, type) {
853
+ var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 3000;
854
+ this._messageProvider.showToast({
855
+ type: type,
856
+ message: message,
857
+ duration: duration
858
+ });
859
+ }
860
+ }, {
861
+ key: "_validateWindow",
862
+ value: function _validateWindow(id) {
863
+ var window = this._windowList.filter(function (item) {
864
+ return item.title !== 'AgoraHighLighter' && item.title !== 'Development HTML';
865
+ }).find(function (item) {
866
+ return item.id === id;
867
+ });
868
+ if (!window) {
869
+ this._showToast((0, _i18n.transI18n)('fmt_screenshare_tips_faild_reselect'), 'error');
870
+ return false;
871
+ }
872
+ return true;
873
+ }
874
+ }, {
875
+ key: "_validateDisplay",
876
+ value: function _validateDisplay(id) {
877
+ var displayList = this._displayList.find(function (item) {
878
+ return item.id === id;
879
+ });
880
+ if (!displayList) {
881
+ this._showToast((0, _i18n.transI18n)('fmt_screenshare_tips_faild_screenselect'), 'error');
882
+ return false;
883
+ }
884
+ return true;
885
+ }
886
+ }, {
887
+ key: "_validateShareStart",
888
+ value: function () {
889
+ var _validateShareStart2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5(id, type) {
890
+ return _regenerator["default"].wrap(function (_context5) {
891
+ while (1) switch (_context5.prev = _context5.next) {
892
+ case 0:
893
+ if (!this.supportEnumScreen) {
894
+ _context5.next = 2;
895
+ break;
896
+ }
897
+ if (!(type === _type.FcrScreenCaptureType.WINDOW && !this._validateWindow(id))) {
898
+ _context5.next = 1;
899
+ break;
900
+ }
901
+ return _context5.abrupt("return", false);
902
+ case 1:
903
+ if (!(type === _type.FcrScreenCaptureType.SCREEN && !this._validateDisplay(id))) {
904
+ _context5.next = 2;
905
+ break;
906
+ }
907
+ return _context5.abrupt("return", false);
908
+ case 2:
909
+ return _context5.abrupt("return", true);
910
+ case 3:
911
+ case "end":
912
+ return _context5.stop();
913
+ }
914
+ }, _callee5, this);
915
+ }));
916
+ function _validateShareStart(_x4, _x5) {
917
+ return _validateShareStart2.apply(this, arguments);
918
+ }
919
+ return _validateShareStart;
920
+ }()
921
+ }, {
922
+ key: "_initControlbar",
923
+ value: function _initControlbar() {
924
+ this._controlBarDialogId = this._dialogProvider.openDialog(_constant.FcrUIDialogKey.CONTROL_BAR, _constant.FcrUIDialogKey.CONTROL_BAR);
925
+ }
926
+ }, {
927
+ key: "_handleBrowserShow",
928
+ value: function _handleBrowserShow() {
929
+ this.logger.info("[screen-share]: browser window show, current sharing info: ".concat(this._screenShareInfoForLog));
930
+ }
931
+ }, {
932
+ key: "_hendleBrowserHide",
933
+ value: function _hendleBrowserHide() {
934
+ this.logger.info("[screen-share]: browser window hide, current sharing info: ".concat(this._screenShareInfoForLog));
935
+ }
936
+ }, {
937
+ key: "_handleOnScreenShareSeize",
938
+ value: function _handleOnScreenShareSeize() {
939
+ // 统一在此处理我被抢占的后续逻辑
940
+ this._annotationProvider.closeAnnotationWindow();
941
+ }
942
+ }, {
943
+ key: "handleToggleScreenShareWithAudio",
944
+ value: function handleToggleScreenShareWithAudio(withAudio) {
945
+ this._sharedScreenShareSharedDataSource.setShareWithAudio(withAudio);
946
+ }
947
+ }, {
948
+ key: "toggleShareWithScenarioType",
949
+ value: function toggleShareWithScenarioType(isCurrentSmoothType) {
950
+ var targetType = isCurrentSmoothType ? _imports.FcrScreenScenarioType.SMOOTH : _imports.FcrScreenScenarioType.CLEARITY;
951
+ this._sharedScreenShareSharedDataSource.setScreenShareScenarioType(targetType);
952
+ }
953
+ }]);
954
+ }();
955
+ _ShareScreenStore = ShareScreenStore;
956
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_ShareScreenStore, [[_mobx.observable, 1, "boardOwnerUser"], [_decorator.bound, 2, "toggleIsShowToolbar"], [_setShareWithAudioStateDecs, 18, "setShareWithAudioState"], [_zoomInDecs, 18, "zoomIn"], [_zoomOutDecs, 18, "zoomOut"], [_fullContainerDecs, 18, "fullContainer"], [_setOriginScalcDecs, 18, "setOriginScalc"], [_setShareAudioProcessingChannelDecs, 18, "setShareAudioProcessingChannel"], [_decorator.bound, 2, "setCardChooseBounds"], [_decorator.bound, 2, "handlerBoardShareStop"], [_decorator.bound, 2, "release"], [_openRelaunchTipsDialogDecs, 18, "openRelaunchTipsDialog"], [_startRenderSharePreviewDecs, 18, "startRenderSharePreview"], [_stopRenderSharePreviewDecs, 18, "stopRenderSharePreview"], [_handleStopShareDecs, 18, "handleStopShare"], [_handleStopShareByExitRoomDecs, 18, "handleStopShareByExitRoom"], [_decorator.bound, 2, "participantShareCanWeAnnotation"], [_handleStartShareDecs, 18, "handleStartShare"], [_openShareScreenSelectionDecs, 18, "_openShareScreenSelection"], [_closeShareScreenSelectionDecs, 18, "_closeShareScreenSelection"], [_openVideoWindowDialogDecs, 18, "_openVideoWindowDialog"], [_closeControlBarDecs, 18, "_closeControlBar"], [_closeVideoWindowDialogDecs, 18, "_closeVideoWindowDialog"], [_handleReplaceScreenDecs, 18, "_handleReplaceScreen"], [_decorator.bound, 2, "_handleOnline"], [_decorator.bound, 2, "_handleOffline"], [_initControlbarDecs, 18, "_initControlbar"], [_decorator.bound, 2, "_handleBrowserShow"], [_decorator.bound, 2, "_hendleBrowserHide"], [_decorator.bound, 2, "_handleOnScreenShareSeize"], [_decorator.bound, 2, "handleToggleScreenShareWithAudio"], [_toggleShareWithScenarioTypeDecs, 18, "toggleShareWithScenarioType"], [_handleChooseScreenDecs, 16, "handleChooseScreen"]], []).e, 3);
957
+ _init_boardOwnerUser = _applyDecs$e[0];
958
+ _init_handleChooseScreen = _applyDecs$e[1];
959
+ _initProto = _applyDecs$e[2];
960
+ var StoreContext = exports.StoreContext = /*#__PURE__*/(0, _react.createContext)(null);