fcr-ui-scene 3.7.4-rc.1 → 3.7.5

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 (878) hide show
  1. package/installer/icons/icon.png +0 -0
  2. package/installer/mac/entitlements.mac.plist +5 -1
  3. package/lib/assets/mic-loading.gif +0 -0
  4. package/lib/base.d.ts +15 -6
  5. package/lib/base.js +139 -107
  6. package/lib/{creator.d.ts → creator/index.d.ts} +16 -12
  7. package/lib/{creator.js → creator/index.js} +279 -210
  8. package/lib/creator/provider-initializer.browser.d.ts +14 -0
  9. package/lib/creator/provider-initializer.browser.js +291 -0
  10. package/lib/creator/provider-initializer.electron.d.ts +14 -0
  11. package/lib/creator/provider-initializer.electron.js +327 -0
  12. package/lib/creator/type.d.ts +15 -0
  13. package/lib/electron/app.js +84 -48
  14. package/lib/electron/bootstrap-sdk.js +101 -12
  15. package/lib/electron/event-manager.d.ts +88 -0
  16. package/lib/electron/event-manager.js +242 -0
  17. package/lib/electron/injections.d.ts +13 -32
  18. package/lib/electron/injections.js +205 -328
  19. package/lib/electron/ipc/type.d.ts +1 -0
  20. package/lib/electron/ipc/type.js +1 -0
  21. package/lib/electron/ipc-protocol.d.ts +91 -0
  22. package/lib/electron/ipc-protocol.js +61 -0
  23. package/lib/electron/main.js +64 -86
  24. package/lib/electron/preload.d.ts +1 -1
  25. package/lib/electron/preload.js +17 -112
  26. package/lib/electron/sdk-helper.d.ts +1 -0
  27. package/lib/electron/sdk-helper.js +238 -0
  28. package/lib/electron/struct.d.ts +12 -0
  29. package/lib/electron/struct.js +21 -0
  30. package/lib/electron/until.d.ts +28 -0
  31. package/lib/electron/until.js +54 -0
  32. package/lib/electron/window-proxy/browser-window-proxy.d.ts +63 -0
  33. package/lib/electron/window-proxy/browser-window-proxy.js +728 -0
  34. package/lib/electron/window-proxy/main-process-handler.d.ts +45 -0
  35. package/lib/electron/window-proxy/main-process-handler.js +446 -0
  36. package/lib/electron/window.d.ts +0 -4
  37. package/lib/electron/window.js +10 -21
  38. package/lib/fragments/annotation/index.d.ts +1 -0
  39. package/lib/fragments/annotation/index.js +3 -1
  40. package/lib/fragments/annotation/store.d.ts +1 -0
  41. package/lib/fragments/annotation/store.js +43 -18
  42. package/lib/fragments/annotation/toolbar/store.d.ts +6 -6
  43. package/lib/fragments/annotation/toolbar/store.js +13 -41
  44. package/lib/fragments/annotation/toolbar/view.js +32 -37
  45. package/lib/fragments/annotation/view.d.ts +0 -1
  46. package/lib/fragments/annotation/view.js +11 -12
  47. package/lib/fragments/base.d.ts +3 -0
  48. package/lib/fragments/base.js +3 -1
  49. package/lib/fragments/whiteboard/index.d.ts +1 -1
  50. package/lib/fragments/whiteboard/index.js +3 -6
  51. package/lib/fragments/whiteboard/store.d.ts +1 -0
  52. package/lib/fragments/whiteboard/store.js +15 -8
  53. package/lib/global.css +22 -10
  54. package/lib/global.d.ts +19 -1
  55. package/lib/modules/action-bar/components/apps/index.js +1 -1
  56. package/lib/modules/action-bar/components/chat/index.js +1 -1
  57. package/lib/modules/action-bar/components/collapse/index.d.ts +1 -1
  58. package/lib/modules/action-bar/components/collapse/index.js +1 -3
  59. package/lib/modules/action-bar/components/confirm-leave-meeting/index.d.ts +3 -0
  60. package/lib/modules/action-bar/components/confirm-leave-meeting/index.js +78 -0
  61. package/lib/modules/action-bar/components/interpreter/index.d.ts +1 -1
  62. package/lib/modules/action-bar/components/interpreter/index.js +1 -1
  63. package/lib/modules/action-bar/components/item/index.d.ts +1 -1
  64. package/lib/modules/action-bar/components/leave/index.js +1 -1
  65. package/lib/modules/action-bar/components/live-streaming/index.js +1 -1
  66. package/lib/modules/action-bar/components/more/index.js +3 -9
  67. package/lib/modules/action-bar/components/more/poppover-content.d.ts +1 -1
  68. package/lib/modules/action-bar/components/more/poppover-content.js +12 -12
  69. package/lib/modules/action-bar/components/notification-bar/index.js +1 -1
  70. package/lib/modules/action-bar/components/participants/index.js +1 -1
  71. package/lib/modules/action-bar/components/placement/index.d.ts +1 -1
  72. package/lib/modules/action-bar/components/record/index.js +1 -1
  73. package/lib/modules/action-bar/components/record/popover.js +1 -1
  74. package/lib/modules/action-bar/components/record/stop-record-dialog.d.ts +1 -1
  75. package/lib/modules/action-bar/components/screen-share/index.browser.d.ts +4 -0
  76. package/lib/modules/action-bar/components/screen-share/index.browser.js +60 -0
  77. package/lib/modules/action-bar/components/screen-share/index.electron.d.ts +4 -0
  78. package/lib/modules/action-bar/components/screen-share/index.electron.js +70 -0
  79. package/lib/modules/action-bar/components/screen-share/index.js +3 -85
  80. package/lib/modules/action-bar/components/screen-share/submenu.js +52 -42
  81. package/lib/modules/action-bar/components/security/index.js +2 -14
  82. package/lib/modules/action-bar/components/settings/index.js +3 -3
  83. package/lib/modules/action-bar/components/smaller/index.js +1 -1
  84. package/lib/modules/action-bar/components/trigger-output-language/index.js +1 -1
  85. package/lib/modules/action-bar/components/trigger-subscribe-language/guide-tooltip/index.d.ts +1 -1
  86. package/lib/modules/action-bar/components/trigger-subscribe-language/index.js +2 -2
  87. package/lib/modules/action-bar/constants.d.ts +1 -0
  88. package/lib/modules/action-bar/constants.js +8 -0
  89. package/lib/modules/action-bar/index.d.ts +14 -55
  90. package/lib/modules/action-bar/index.js +32 -78
  91. package/lib/modules/action-bar/main-scene/index.d.ts +19 -0
  92. package/lib/modules/action-bar/main-scene/index.js +141 -0
  93. package/lib/modules/action-bar/{store.d.ts → main-scene/store.base.d.ts} +84 -108
  94. package/lib/modules/action-bar/{store.js → main-scene/store.base.js} +285 -288
  95. package/lib/modules/action-bar/main-scene/store.browser.d.ts +4 -0
  96. package/lib/modules/action-bar/main-scene/store.browser.js +111 -0
  97. package/lib/modules/action-bar/main-scene/store.electron.d.ts +10 -0
  98. package/lib/modules/action-bar/main-scene/store.electron.js +100 -0
  99. package/lib/modules/action-bar/main-scene/view.d.ts +4 -0
  100. package/lib/modules/action-bar/main-scene/view.js +111 -0
  101. package/lib/modules/action-bar/store.base.d.ts +15 -0
  102. package/lib/modules/action-bar/store.base.js +117 -0
  103. package/lib/modules/action-bar/{types.d.ts → type.d.ts} +9 -0
  104. package/lib/modules/action-bar/type.js +13 -0
  105. package/lib/modules/action-bar/view.d.ts +1 -1
  106. package/lib/modules/action-bar/view.js +2 -2
  107. package/lib/modules/action-bar/waiting-scene/index.d.ts +15 -0
  108. package/lib/modules/action-bar/waiting-scene/index.js +102 -0
  109. package/lib/modules/action-bar/waiting-scene/store.base.d.ts +9 -0
  110. package/lib/{shared-data-source/annotation-data.js → modules/action-bar/waiting-scene/store.base.js} +20 -35
  111. package/lib/modules/action-bar/waiting-scene/store.browser.d.ts +3 -0
  112. package/lib/modules/action-bar/waiting-scene/store.browser.js +25 -0
  113. package/lib/modules/action-bar/waiting-scene/store.d.ts +6 -0
  114. package/lib/modules/action-bar/waiting-scene/store.electron.d.ts +9 -0
  115. package/lib/modules/action-bar/waiting-scene/store.electron.js +45 -0
  116. package/lib/modules/action-bar/waiting-scene/store.js +91 -0
  117. package/lib/modules/action-bar/waiting-scene/view.d.ts +2 -0
  118. package/lib/modules/action-bar/waiting-scene/view.js +123 -0
  119. package/lib/modules/audio-stream/index.d.ts +3 -14
  120. package/lib/modules/audio-stream/index.js +17 -14
  121. package/lib/modules/chat/chat-room-store.d.ts +7 -20
  122. package/lib/modules/chat/chat-room-store.js +21 -20
  123. package/lib/modules/chat/components/message-list/index.js +1 -1
  124. package/lib/modules/chat/components/message-list/message-item/index.js +2 -2
  125. package/lib/modules/chat/index.d.ts +6 -22
  126. package/lib/modules/chat/index.dev.js +9 -9
  127. package/lib/modules/chat/index.js +52 -108
  128. package/lib/modules/chat/store.d.ts +16 -30
  129. package/lib/modules/chat/store.js +138 -53
  130. package/lib/modules/chat/types.d.ts +19 -2
  131. package/lib/modules/chat/view.js +3 -3
  132. package/lib/modules/components/annotation-menu/index.js +1 -6
  133. package/lib/modules/components/control-bar/components/switch-theme/index.js +2 -2
  134. package/lib/modules/components/control-bar/index.css +19 -5
  135. package/lib/modules/components/control-bar/index.d.ts +18 -11
  136. package/lib/modules/components/control-bar/index.js +77 -22
  137. package/lib/modules/components/device-control/components/audio-menu/index.js +4 -4
  138. package/lib/modules/components/device-control/components/carmera/index.js +16 -16
  139. package/lib/modules/components/device-control/components/microphone/index.d.ts +3 -2
  140. package/lib/modules/components/device-control/components/microphone/index.js +44 -28
  141. package/lib/modules/components/device-control/components/none-menu/index.js +4 -4
  142. package/lib/modules/components/device-control/components/phone-menu/index.js +4 -4
  143. package/lib/modules/components/device-control/components/video-menu/index.js +4 -4
  144. package/lib/modules/components/device-control/main-scene/store.d.ts +9 -0
  145. package/lib/modules/components/device-control/main-scene/store.js +94 -0
  146. package/lib/modules/components/device-control/{store.d.ts → store.base.d.ts} +12 -15
  147. package/lib/modules/components/device-control/{store.js → store.base.js} +39 -33
  148. package/lib/modules/components/device-control/type.d.ts +4 -0
  149. package/lib/modules/components/device-control/waiting-scene/store.d.ts +5 -0
  150. package/lib/modules/components/device-control/waiting-scene/store.js +90 -0
  151. package/lib/modules/components/leave-meeting/components/assign-host.d.ts +1 -1
  152. package/lib/modules/components/leave-meeting/index.js +7 -11
  153. package/lib/modules/components/leave-meeting/main-scene/store.d.ts +11 -0
  154. package/lib/modules/components/leave-meeting/main-scene/store.js +101 -0
  155. package/lib/modules/components/leave-meeting/store.base.d.ts +35 -0
  156. package/lib/modules/components/leave-meeting/{store.js → store.base.js} +47 -42
  157. package/lib/modules/components/leave-meeting/type.d.ts +4 -0
  158. package/lib/modules/components/leave-meeting/type.js +6 -0
  159. package/lib/modules/components/leave-meeting/waiting-scene/store.d.ts +9 -0
  160. package/lib/modules/components/leave-meeting/waiting-scene/store.js +90 -0
  161. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +4 -4
  162. package/lib/modules/components/member-window/components/member-actions/index.js +2 -0
  163. package/lib/modules/components/member-window/components/member-actions/libs/index.js +12 -14
  164. package/lib/modules/components/member-window/components/member-actions/provider.d.ts +1 -0
  165. package/lib/modules/components/member-window/components/member-actions/provider.js +14 -3
  166. package/lib/modules/components/member-window/components/member-actions/store.d.ts +17 -5
  167. package/lib/modules/components/member-window/components/member-actions/store.js +28 -10
  168. package/lib/modules/components/member-window/components/video-player/components/local-video-player-with-zoom.js +4 -5
  169. package/lib/modules/components/member-window/components/video-player/components/remote-video-player-with-zoom.js +1 -1
  170. package/lib/modules/components/member-window/types.d.ts +1 -0
  171. package/lib/modules/components/security-menu/index.d.ts +1 -9
  172. package/lib/modules/components/security-menu/index.js +42 -39
  173. package/lib/modules/components/security-menu/store.d.ts +47 -0
  174. package/lib/modules/components/security-menu/store.js +332 -0
  175. package/lib/modules/components/security-menu/type.d.ts +4 -0
  176. package/lib/modules/components/security-menu/type.js +6 -0
  177. package/lib/modules/components/tab-frame/index.js +6 -21
  178. package/lib/modules/components/toolbar/components/capture-tool/index.d.ts +1 -0
  179. package/lib/modules/components/toolbar/components/capture-tool/index.js +3 -4
  180. package/lib/modules/components/toolbar/components/color-tool/index.d.ts +2 -1
  181. package/lib/modules/components/toolbar/components/graphic-tool/index.js +0 -2
  182. package/lib/modules/components/toolbar/components/multiple-color-tool/index.d.ts +2 -1
  183. package/lib/modules/components/toolbar/components/multiple-color-tool/index.js +1 -1
  184. package/lib/modules/components/toolbar/components/vertical-frame/index.js +9 -5
  185. package/lib/modules/components/toolbar/hooks/use-resize-visible.js +2 -2
  186. package/lib/modules/components/toolbar/index.d.ts +3 -1
  187. package/lib/modules/components/toolbar/index.js +5 -3
  188. package/lib/modules/connection-gateway/index.d.ts +3 -18
  189. package/lib/modules/connection-gateway/index.js +25 -28
  190. package/lib/modules/connection-gateway/store.d.ts +4 -20
  191. package/lib/modules/connection-gateway/store.js +19 -21
  192. package/lib/modules/connection-gateway/types.d.ts +4 -0
  193. package/lib/modules/control-bar/components/boundary-detector.d.ts +6 -0
  194. package/lib/modules/control-bar/components/boundary-detector.js +36 -0
  195. package/lib/modules/control-bar/components/carmera/index.d.ts +1 -0
  196. package/lib/modules/control-bar/components/carmera/index.js +147 -0
  197. package/lib/modules/control-bar/components/meeting-details/index.js +7 -17
  198. package/lib/modules/control-bar/components/microphone/index.d.ts +6 -0
  199. package/lib/modules/control-bar/components/microphone/index.js +233 -0
  200. package/lib/modules/control-bar/components/more-actions/index.d.ts +1 -1
  201. package/lib/modules/control-bar/components/more-actions/index.js +22 -59
  202. package/lib/modules/control-bar/components/share-audio/index.d.ts +0 -2
  203. package/lib/modules/control-bar/components/share-audio/index.js +6 -24
  204. package/lib/modules/control-bar/components/share-state-nav/index.d.ts +1 -1
  205. package/lib/modules/control-bar/components/share-state-nav/index.js +9 -5
  206. package/lib/modules/control-bar/components/transfer-position-icon/index.d.ts +1 -1
  207. package/lib/modules/control-bar/context.d.ts +5 -0
  208. package/lib/modules/control-bar/context.js +12 -0
  209. package/lib/modules/control-bar/enums.d.ts +3 -1
  210. package/lib/modules/control-bar/enums.js +2 -0
  211. package/lib/modules/control-bar/hooks.d.ts +3 -0
  212. package/lib/modules/control-bar/hooks.js +35 -0
  213. package/lib/modules/control-bar/index.d.ts +21 -49
  214. package/lib/modules/control-bar/index.dev.js +40 -0
  215. package/lib/modules/control-bar/index.js +99 -45
  216. package/lib/modules/control-bar/reactor.d.ts +2 -0
  217. package/lib/modules/control-bar/reactor.js +8 -0
  218. package/lib/modules/control-bar/store.d.ts +57 -117
  219. package/lib/modules/control-bar/store.js +351 -456
  220. package/lib/modules/control-bar/type.d.ts +43 -0
  221. package/lib/modules/control-bar/type.js +6 -0
  222. package/lib/modules/control-bar/types.d.ts +16 -5
  223. package/lib/modules/control-bar/view.d.ts +1 -5
  224. package/lib/modules/control-bar/view.js +558 -463
  225. package/lib/modules/device-pretest/audio-preview/microphone-detection.js +1 -1
  226. package/lib/modules/device-pretest/audio-preview/speaker-control.js +3 -0
  227. package/lib/modules/device-pretest/audio-preview/speaker-detection.js +1 -1
  228. package/lib/modules/device-pretest/index.d.ts +0 -1
  229. package/lib/modules/device-pretest/index.js +3 -4
  230. package/lib/modules/device-pretest/settings/beauty.d.ts +1 -1
  231. package/lib/modules/device-pretest/settings/beauty.js +3 -3
  232. package/lib/modules/device-pretest/settings/video-effect.js +1 -1
  233. package/lib/modules/device-pretest/settings/video-settings-basic.js +1 -1
  234. package/lib/modules/device-pretest/settings/virtual-background-setting.js +1 -1
  235. package/lib/modules/device-pretest/store.d.ts +3 -2
  236. package/lib/modules/dialog/components/confirm/index.d.ts +5 -0
  237. package/lib/modules/dialog/components/confirm/index.js +180 -0
  238. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +10 -8
  239. package/lib/modules/dialog/components/dialog-container/component/body.js +40 -26
  240. package/lib/modules/dialog/components/dialog-container/index.css +3 -0
  241. package/lib/modules/dialog/components/dialog-container/index.d.ts +5 -7
  242. package/lib/modules/dialog/components/dialog-container/index.js +42 -62
  243. package/lib/modules/dialog/components/host-area-container/index.d.ts +1 -1
  244. package/lib/modules/dialog/components/host-area-container/index.js +142 -200
  245. package/lib/modules/dialog/components/normal-window/index.d.ts +17 -14
  246. package/lib/modules/dialog/components/normal-window/index.js +40 -57
  247. package/lib/modules/dialog/dialogs/annotation-tool/index.d.ts +6 -3
  248. package/lib/modules/dialog/dialogs/annotation-tool/index.js +18 -19
  249. package/lib/modules/dialog/dialogs/chat/components/actions.d.ts +3 -1
  250. package/lib/modules/dialog/dialogs/chat/components/actions.js +17 -7
  251. package/lib/modules/dialog/dialogs/chat/index.d.ts +27 -4
  252. package/lib/modules/dialog/dialogs/chat/index.js +51 -30
  253. package/lib/modules/dialog/dialogs/confirm/index.css +24 -0
  254. package/lib/modules/dialog/dialogs/confirm/index.d.ts +22 -1
  255. package/lib/modules/dialog/dialogs/confirm/index.js +49 -33
  256. package/lib/modules/dialog/dialogs/confirm-leave-meeting/index.d.ts +18 -6
  257. package/lib/modules/dialog/dialogs/confirm-leave-meeting/index.js +25 -43
  258. package/lib/modules/dialog/dialogs/connection-gateway/index.d.ts +24 -8
  259. package/lib/modules/dialog/dialogs/connection-gateway/index.js +36 -43
  260. package/lib/modules/dialog/dialogs/connection-gateway/tabs.js +17 -15
  261. package/lib/modules/dialog/dialogs/control-bar/index.d.ts +21 -8
  262. package/lib/modules/dialog/dialogs/control-bar/index.js +19 -114
  263. package/lib/modules/dialog/dialogs/control-bar-leave-meeting/index.d.ts +19 -0
  264. package/lib/modules/dialog/dialogs/control-bar-leave-meeting/index.js +41 -0
  265. package/lib/modules/dialog/dialogs/device-setting/index.d.ts +15 -1
  266. package/lib/modules/dialog/dialogs/device-setting/index.js +27 -27
  267. package/lib/modules/dialog/dialogs/end-meeting/index.d.ts +10 -10
  268. package/lib/modules/dialog/dialogs/end-meeting/index.js +35 -26
  269. package/lib/modules/dialog/dialogs/interpreter/index.d.ts +18 -3
  270. package/lib/modules/dialog/dialogs/interpreter/index.js +33 -31
  271. package/lib/modules/dialog/dialogs/invite/index.d.ts +21 -1
  272. package/lib/modules/dialog/dialogs/invite/index.js +42 -43
  273. package/lib/modules/dialog/dialogs/live-streaming/index.d.ts +12 -1
  274. package/lib/modules/dialog/dialogs/live-streaming/index.js +23 -22
  275. package/lib/modules/dialog/dialogs/mute-all/index.css +20 -0
  276. package/lib/modules/dialog/dialogs/mute-all/index.d.ts +19 -0
  277. package/lib/modules/dialog/dialogs/mute-all/index.js +48 -0
  278. package/lib/modules/dialog/dialogs/participant/components/actions.d.ts +3 -1
  279. package/lib/modules/dialog/dialogs/participant/components/actions.js +6 -8
  280. package/lib/modules/dialog/dialogs/participant/components/title.d.ts +6 -1
  281. package/lib/modules/dialog/dialogs/participant/components/title.js +4 -7
  282. package/lib/modules/dialog/dialogs/participant/index.d.ts +26 -2
  283. package/lib/modules/dialog/dialogs/participant/index.js +41 -41
  284. package/lib/modules/dialog/dialogs/pre-setting/index.d.ts +3 -3
  285. package/lib/modules/dialog/dialogs/pre-setting/index.js +20 -25
  286. package/lib/modules/dialog/dialogs/rename/index.d.ts +18 -3
  287. package/lib/modules/dialog/dialogs/rename/index.js +29 -14
  288. package/lib/modules/dialog/dialogs/sample-dialog/index.d.ts +21 -0
  289. package/lib/modules/dialog/dialogs/sample-dialog/index.js +55 -0
  290. package/lib/modules/dialog/dialogs/share-screen-selection/index.d.ts +19 -4
  291. package/lib/modules/dialog/dialogs/share-screen-selection/index.js +40 -33
  292. package/lib/modules/dialog/dialogs/sub-window/index.d.ts +21 -1
  293. package/lib/modules/dialog/dialogs/sub-window/index.js +33 -91
  294. package/lib/modules/dialog/dialogs/system-preference/electron.js +15 -16
  295. package/lib/modules/dialog/dialogs/system-preference/index.css +2 -2
  296. package/lib/modules/dialog/dialogs/system-preference/index.d.ts +32 -5
  297. package/lib/modules/dialog/dialogs/system-preference/index.js +55 -46
  298. package/lib/modules/dialog/dialogs/toast/index.d.ts +21 -3
  299. package/lib/modules/dialog/dialogs/toast/index.js +17 -40
  300. package/lib/modules/dialog/dialogs/video-window/index.d.ts +26 -2
  301. package/lib/modules/dialog/dialogs/video-window/index.js +47 -261
  302. package/lib/modules/dialog/dialogs/whiteboard/index.d.ts +23 -4
  303. package/lib/modules/dialog/dialogs/whiteboard/index.js +58 -64
  304. package/lib/modules/dialog/dialogs/widget/index.d.ts +16 -6
  305. package/lib/modules/dialog/dialogs/widget/index.js +26 -28
  306. package/lib/modules/dialog/hooks/use-popover-watcher.js +3 -1
  307. package/lib/modules/dialog/index.css +4 -1
  308. package/lib/modules/dialog/index.d.ts +5 -46
  309. package/lib/modules/dialog/index.js +29 -74
  310. package/lib/modules/dialog/level-config.d.ts +10 -11
  311. package/lib/modules/dialog/level-config.js +11 -15
  312. package/lib/modules/dialog/store.base.d.ts +44 -0
  313. package/lib/modules/dialog/store.base.js +279 -0
  314. package/lib/modules/dialog/store.browser.d.ts +16 -0
  315. package/lib/modules/dialog/store.browser.js +136 -0
  316. package/lib/modules/dialog/store.electron.d.ts +28 -0
  317. package/lib/modules/dialog/store.electron.js +239 -0
  318. package/lib/modules/dialog/type.d.ts +13 -11
  319. package/lib/modules/dialog/view.d.ts +1 -1
  320. package/lib/modules/dialog/view.js +10 -12
  321. package/lib/modules/event-sound/index.d.ts +3 -37
  322. package/lib/modules/event-sound/index.js +18 -273
  323. package/lib/modules/event-sound/store.d.ts +36 -0
  324. package/lib/modules/event-sound/store.js +283 -0
  325. package/lib/modules/event-sound/type.d.ts +4 -0
  326. package/lib/modules/event-sound/type.js +6 -0
  327. package/lib/modules/event-toast/index.d.ts +5 -6
  328. package/lib/modules/event-toast/index.js +40 -24
  329. package/lib/modules/event-toast/store.base.d.ts +18 -0
  330. package/lib/modules/event-toast/store.base.js +180 -0
  331. package/lib/modules/event-toast/store.browser.d.ts +4 -0
  332. package/lib/modules/event-toast/store.browser.js +30 -0
  333. package/lib/modules/event-toast/store.d.ts +5 -9
  334. package/lib/modules/event-toast/store.electron.d.ts +15 -0
  335. package/lib/modules/event-toast/store.electron.js +134 -0
  336. package/lib/modules/event-toast/store.js +39 -57
  337. package/lib/modules/event-toast/type.d.ts +10 -0
  338. package/lib/modules/event-toast/type.js +6 -0
  339. package/lib/modules/event-toast/view.js +13 -9
  340. package/lib/modules/interpreter/index.css +4 -0
  341. package/lib/modules/interpreter/index.d.ts +3 -15
  342. package/lib/modules/interpreter/index.js +18 -16
  343. package/lib/modules/interpreter/store.d.ts +10 -16
  344. package/lib/modules/interpreter/store.js +20 -49
  345. package/lib/modules/interpreter/type.d.ts +3 -15
  346. package/lib/modules/interpreter/view.d.ts +1 -0
  347. package/lib/modules/interpreter/view.js +4 -19
  348. package/lib/modules/invite/components/pstn-invite.js +2 -2
  349. package/lib/modules/invite/index.d.ts +3 -10
  350. package/lib/modules/invite/index.js +25 -12
  351. package/lib/modules/invite/store.d.ts +17 -30
  352. package/lib/modules/invite/store.js +65 -79
  353. package/lib/modules/invite/types.d.ts +5 -1
  354. package/lib/modules/layout/components/Aside.js +1 -1
  355. package/lib/modules/layout/components/Carousel.js +1 -1
  356. package/lib/modules/layout/components/CommonVideoRenderer.js +40 -5
  357. package/lib/modules/layout/components/Gallery.js +1 -1
  358. package/lib/modules/layout/components/who-is-speaking.js +1 -1
  359. package/lib/modules/layout/index.d.ts +3 -39
  360. package/lib/modules/layout/index.dev.js +8 -8
  361. package/lib/modules/layout/index.js +32 -45
  362. package/lib/modules/layout/{store.d.ts → store.base.d.ts} +31 -24
  363. package/lib/modules/layout/{store.js → store.base.js} +65 -137
  364. package/lib/modules/layout/store.browser.d.ts +11 -0
  365. package/lib/modules/layout/store.browser.js +56 -0
  366. package/lib/modules/layout/store.electron.d.ts +16 -0
  367. package/lib/modules/layout/store.electron.js +177 -0
  368. package/lib/modules/layout/type.d.ts +3 -39
  369. package/lib/modules/layout/view.js +1 -1
  370. package/lib/modules/live-streaming/index.d.ts +2 -15
  371. package/lib/modules/live-streaming/index.dev.js +3 -3
  372. package/lib/modules/live-streaming/index.js +25 -12
  373. package/lib/modules/live-streaming/store.d.ts +6 -18
  374. package/lib/modules/live-streaming/store.js +22 -26
  375. package/lib/modules/live-streaming/type.d.ts +4 -0
  376. package/lib/modules/live-streaming/type.js +6 -0
  377. package/lib/modules/notification/index.d.ts +3 -7
  378. package/lib/modules/notification/index.js +26 -16
  379. package/lib/modules/notification/store.d.ts +11 -6
  380. package/lib/modules/notification/store.js +51 -11
  381. package/lib/modules/notification/type.d.ts +4 -0
  382. package/lib/modules/notification/type.js +6 -0
  383. package/lib/modules/notification/view.d.ts +6 -6
  384. package/lib/modules/notification/view.js +23 -32
  385. package/lib/modules/offscreen-pulling/index.js +1 -1
  386. package/lib/modules/participant/components/confirm-input/index.js +4 -3
  387. package/lib/modules/participant/components/mute-all/index.d.ts +1 -4
  388. package/lib/modules/participant/components/mute-all/index.js +32 -11
  389. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.js +1 -1
  390. package/lib/modules/participant/components/participants/components/footer/components/footer/index.js +3 -2
  391. package/lib/modules/participant/components/participants/components/footer/index.js +5 -3
  392. package/lib/modules/participant/components/participants/components/merge/index.d.ts +1 -2
  393. package/lib/modules/participant/components/participants/components/merge/index.js +1 -3
  394. package/lib/modules/participant/components/participants/components/render-tab/index.js +1 -1
  395. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/interpreter-tag/index.js +1 -1
  396. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/microphone-indicator/index.js +1 -1
  397. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.js +1 -1
  398. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.js +1 -1
  399. package/lib/modules/participant/components/participants/components/render-user/components/user-action/index.js +5 -4
  400. package/lib/modules/participant/components/participants/index.js +17 -37
  401. package/lib/modules/participant/components/participants/types.d.ts +1 -0
  402. package/lib/modules/participant/index.css +4 -0
  403. package/lib/modules/participant/index.d.ts +6 -47
  404. package/lib/modules/participant/index.dev.js +9 -9
  405. package/lib/modules/participant/index.js +60 -56
  406. package/lib/modules/participant/member-list-data-source.d.ts +2 -1
  407. package/lib/modules/participant/member-list-data-source.js +14 -14
  408. package/lib/modules/participant/store.base.d.ts +407 -0
  409. package/lib/modules/participant/store.base.js +2212 -0
  410. package/lib/modules/participant/store.browser.d.ts +9 -0
  411. package/lib/modules/participant/store.browser.js +122 -0
  412. package/lib/modules/participant/store.electron.d.ts +13 -0
  413. package/lib/modules/participant/store.electron.js +128 -0
  414. package/lib/modules/participant/struct.d.ts +49 -0
  415. package/lib/modules/participant/struct.js +60 -0
  416. package/lib/modules/participant/type.d.ts +5 -22
  417. package/lib/modules/participant/type.js +1 -25
  418. package/lib/modules/participant/view.js +1 -1
  419. package/lib/modules/pc-audio-connect/main-scene/index.d.ts +14 -0
  420. package/lib/modules/pc-audio-connect/{index.js → main-scene/index.js} +38 -19
  421. package/lib/modules/pc-audio-connect/main-scene/store.d.ts +33 -0
  422. package/lib/modules/pc-audio-connect/main-scene/store.js +312 -0
  423. package/lib/modules/pc-audio-connect/types.d.ts +4 -0
  424. package/lib/modules/pc-audio-connect/types.js +6 -1
  425. package/lib/modules/pc-audio-connect/view.js +2 -1
  426. package/lib/modules/pc-audio-connect/waiting-scene/index.d.ts +10 -0
  427. package/lib/modules/pc-audio-connect/waiting-scene/index.js +69 -0
  428. package/lib/modules/pc-audio-connect/waiting-scene/store.d.ts +30 -0
  429. package/lib/modules/pc-audio-connect/{store.js → waiting-scene/store.js} +38 -47
  430. package/lib/modules/phone-audio-connect/index.d.ts +2 -10
  431. package/lib/modules/phone-audio-connect/index.js +16 -9
  432. package/lib/modules/phone-audio-connect/store.d.ts +2 -11
  433. package/lib/modules/phone-audio-connect/store.js +12 -13
  434. package/lib/modules/phone-audio-connect/types.d.ts +4 -0
  435. package/lib/modules/secondary-window/index.d.ts +8 -29
  436. package/lib/modules/secondary-window/index.js +51 -9
  437. package/lib/modules/secondary-window/store.d.ts +26 -24
  438. package/lib/modules/secondary-window/store.js +166 -64
  439. package/lib/modules/secondary-window/type.d.ts +4 -0
  440. package/lib/modules/secondary-window/view.js +105 -72
  441. package/lib/modules/setting/audio-settings/audio-settings.js +8 -2
  442. package/lib/modules/setting/general-settings/general-settings.js +16 -11
  443. package/lib/modules/setting/index.d.ts +8 -27
  444. package/lib/modules/setting/index.dev.js +10 -10
  445. package/lib/modules/setting/index.js +57 -30
  446. package/lib/modules/setting/minutes-settings/minutes-settings.js +1 -1
  447. package/lib/modules/setting/state/index.js +2 -2
  448. package/lib/modules/setting/storage-settings/storage-settings.js +3 -14
  449. package/lib/modules/setting/{store.d.ts → store.base.d.ts} +28 -91
  450. package/lib/modules/setting/{store.js → store.base.js} +244 -266
  451. package/lib/modules/setting/store.browser.d.ts +7 -0
  452. package/lib/modules/setting/store.browser.js +55 -0
  453. package/lib/modules/setting/store.electron.d.ts +9 -0
  454. package/lib/modules/setting/store.electron.js +69 -0
  455. package/lib/modules/setting/translate-settings/translate-settings.js +2 -2
  456. package/lib/modules/setting/type.d.ts +69 -0
  457. package/lib/modules/setting/type.js +26 -0
  458. package/lib/modules/setting/video-settings/video-settings-basic.js +2 -2
  459. package/lib/modules/setting/video-settings/video-settings.d.ts +0 -2
  460. package/lib/modules/setting/video-settings/video-settings.js +9 -10
  461. package/lib/modules/setting/view.d.ts +0 -8
  462. package/lib/modules/setting/view.js +12 -27
  463. package/lib/modules/share-screen/components/control-bar/index.js +87 -81
  464. package/lib/modules/share-screen/components/selection/index.css +2 -3
  465. package/lib/modules/share-screen/components/selection/index.js +178 -202
  466. package/lib/modules/share-screen/index.d.ts +16 -30
  467. package/lib/modules/share-screen/index.dev.js +11 -11
  468. package/lib/modules/share-screen/index.js +47 -35
  469. package/lib/modules/share-screen/store.base.d.ts +49 -0
  470. package/lib/modules/share-screen/store.base.js +455 -0
  471. package/lib/modules/share-screen/store.browser.d.ts +9 -0
  472. package/lib/modules/share-screen/store.browser.js +43 -0
  473. package/lib/modules/share-screen/store.electron.d.ts +25 -0
  474. package/lib/modules/share-screen/store.electron.js +265 -0
  475. package/lib/modules/share-screen/type.d.ts +40 -0
  476. package/lib/modules/share-screen/type.js +13 -0
  477. package/lib/modules/share-screen/view.js +5 -6
  478. package/lib/modules/state-bar/index.d.ts +6 -35
  479. package/lib/modules/state-bar/index.dev.js +7 -7
  480. package/lib/modules/state-bar/index.js +18 -48
  481. package/lib/modules/state-bar/layout-config.js +5 -4
  482. package/lib/modules/state-bar/live-streaming-state.js +6 -5
  483. package/lib/modules/state-bar/main-scene/index.d.ts +5 -0
  484. package/lib/modules/state-bar/main-scene/index.js +47 -0
  485. package/lib/modules/state-bar/main-scene/store.base.d.ts +23 -0
  486. package/lib/modules/state-bar/main-scene/store.base.js +132 -0
  487. package/lib/modules/state-bar/main-scene/store.browser.d.ts +4 -0
  488. package/lib/modules/state-bar/main-scene/store.browser.js +86 -0
  489. package/lib/modules/state-bar/main-scene/store.electron.d.ts +13 -0
  490. package/lib/modules/state-bar/main-scene/store.electron.js +113 -0
  491. package/lib/modules/state-bar/meeting-details.js +20 -36
  492. package/lib/modules/state-bar/meeting-network-state.js +3 -3
  493. package/lib/modules/state-bar/meeting-time.js +1 -1
  494. package/lib/modules/state-bar/network-quality.js +1 -1
  495. package/lib/modules/state-bar/recording.js +7 -6
  496. package/lib/modules/state-bar/store.base.d.ts +82 -0
  497. package/lib/modules/state-bar/store.base.electron.d.ts +15 -0
  498. package/lib/modules/state-bar/store.base.electron.js +110 -0
  499. package/lib/modules/state-bar/{store.js → store.base.js} +140 -208
  500. package/lib/modules/state-bar/type.d.ts +5 -0
  501. package/lib/modules/state-bar/type.js +6 -0
  502. package/lib/modules/state-bar/view.js +36 -38
  503. package/lib/modules/state-bar/waiting-scene/index.d.ts +5 -0
  504. package/lib/modules/state-bar/waiting-scene/index.js +47 -0
  505. package/lib/modules/state-bar/waiting-scene/store.base.d.ts +11 -0
  506. package/lib/modules/state-bar/waiting-scene/store.base.js +50 -0
  507. package/lib/modules/state-bar/waiting-scene/store.browser.d.ts +4 -0
  508. package/lib/modules/state-bar/waiting-scene/store.browser.js +86 -0
  509. package/lib/modules/state-bar/waiting-scene/store.electron.d.ts +12 -0
  510. package/lib/modules/state-bar/waiting-scene/store.electron.js +105 -0
  511. package/lib/modules/video-window/components/members/index.js +3 -5
  512. package/lib/modules/video-window/index.d.ts +6 -38
  513. package/lib/modules/video-window/index.js +46 -56
  514. package/lib/modules/video-window/popover-watcher.d.ts +17 -0
  515. package/lib/modules/video-window/popover-watcher.js +70 -0
  516. package/lib/modules/video-window/store.d.ts +21 -21
  517. package/lib/modules/video-window/store.js +133 -137
  518. package/lib/modules/video-window/type.d.ts +3 -27
  519. package/lib/modules/video-window/view.js +9 -7
  520. package/lib/modules/waiting-room-layout/index.d.ts +3 -9
  521. package/lib/modules/waiting-room-layout/index.js +28 -21
  522. package/lib/modules/waiting-room-layout/store.d.ts +4 -10
  523. package/lib/modules/waiting-room-layout/store.js +10 -7
  524. package/lib/modules/whiteboard/components/control-bar/store.d.ts +6 -14
  525. package/lib/modules/whiteboard/components/control-bar/store.js +29 -31
  526. package/lib/modules/whiteboard/components/loading/index.d.ts +7 -1
  527. package/lib/modules/whiteboard/components/loading/index.js +6 -9
  528. package/lib/modules/whiteboard/components/multi-window/index.js +1 -1
  529. package/lib/modules/whiteboard/components/toolbar/store.d.ts +1 -6
  530. package/lib/modules/whiteboard/components/toolbar/store.js +4 -13
  531. package/lib/modules/whiteboard/index.d.ts +3 -91
  532. package/lib/modules/whiteboard/index.js +23 -812
  533. package/lib/modules/whiteboard/libs/theme.d.ts +4 -0
  534. package/lib/modules/whiteboard/libs/theme.js +31 -0
  535. package/lib/modules/whiteboard/store.browser.d.ts +5 -0
  536. package/lib/modules/whiteboard/store.browser.js +28 -0
  537. package/lib/modules/whiteboard/store.d.ts +64 -0
  538. package/lib/modules/whiteboard/store.electron.d.ts +10 -0
  539. package/lib/modules/whiteboard/store.electron.js +135 -0
  540. package/lib/modules/whiteboard/store.js +422 -0
  541. package/lib/modules/whiteboard/style.css +2 -12
  542. package/lib/modules/whiteboard/type.d.ts +4 -0
  543. package/lib/modules/whiteboard/view.js +87 -42
  544. package/lib/modules/widget/index.css +7 -15
  545. package/lib/modules/widget/index.d.ts +3 -3
  546. package/lib/modules/widget/index.js +22 -14
  547. package/lib/modules/widget/sdk.js +1 -1
  548. package/lib/modules/widget/store.base.d.ts +14 -0
  549. package/lib/modules/widget/store.base.js +30 -0
  550. package/lib/modules/widget/store.browser.d.ts +5 -0
  551. package/lib/modules/widget/store.browser.js +25 -0
  552. package/lib/modules/widget/store.d.ts +8 -5
  553. package/lib/modules/widget/store.electron.d.ts +11 -0
  554. package/lib/modules/widget/store.electron.js +72 -0
  555. package/lib/modules/widget/store.js +47 -4
  556. package/lib/modules/widget/type.d.ts +7 -7
  557. package/lib/modules/widget/view.d.ts +1 -0
  558. package/lib/modules/widget/view.js +17 -16
  559. package/lib/modules/widget/web-widget.d.ts +4 -4
  560. package/lib/modules/widget/web-widget.js +30 -40
  561. package/lib/object-manager.d.ts +78 -4
  562. package/lib/object-manager.js +134 -10
  563. package/lib/plugins/browser-runtime-plugin.js +1 -110
  564. package/lib/plugins/css-preset-plugin.js +0 -2
  565. package/lib/plugins/module-dev-plugin.js +62 -81
  566. package/lib/providers/ability-provider.d.ts +9 -1
  567. package/lib/providers/ability-provider.js +51 -49
  568. package/lib/providers/annotation/provider.d.ts +15 -0
  569. package/lib/providers/annotation/provider.js +69 -0
  570. package/lib/providers/annotation/type.d.ts +60 -0
  571. package/lib/providers/annotation/type.js +6 -0
  572. package/lib/providers/app-list-provider.d.ts +8 -6
  573. package/lib/providers/app-list-provider.js +17 -15
  574. package/lib/providers/board-share/bar-control/base.d.ts +47 -0
  575. package/lib/providers/board-share/bar-control/base.js +306 -0
  576. package/lib/providers/board-share/bar-control/browser.d.ts +10 -0
  577. package/lib/providers/board-share/bar-control/browser.js +42 -0
  578. package/lib/providers/board-share/bar-control/electron.d.ts +29 -0
  579. package/lib/providers/board-share/bar-control/electron.js +202 -0
  580. package/lib/providers/board-share/bar-control.d.ts +51 -0
  581. package/lib/providers/board-share/bar-control.js +390 -0
  582. package/lib/providers/board-share/provider.base.d.ts +56 -0
  583. package/lib/providers/board-share/provider.base.js +384 -0
  584. package/lib/providers/board-share/provider.browser.d.ts +15 -0
  585. package/lib/providers/board-share/provider.browser.js +136 -0
  586. package/lib/providers/board-share/provider.d.ts +66 -0
  587. package/lib/providers/board-share/provider.electron.d.ts +22 -0
  588. package/lib/providers/board-share/provider.electron.js +163 -0
  589. package/lib/providers/board-share/provider.js +456 -0
  590. package/lib/providers/board-share/struct.d.ts +14 -0
  591. package/lib/providers/board-share/struct.js +23 -0
  592. package/lib/providers/board-share/type.d.ts +161 -0
  593. package/lib/providers/board-share/type.js +6 -0
  594. package/lib/providers/chat-provider.d.ts +8 -2
  595. package/lib/providers/chat-provider.js +26 -12
  596. package/lib/providers/device-privilege-provider.d.ts +3 -2
  597. package/lib/providers/device-privilege-provider.js +1 -3
  598. package/lib/providers/device-provider.d.ts +25 -8
  599. package/lib/providers/device-provider.js +234 -128
  600. package/lib/providers/device-stream-provider.d.ts +6 -6
  601. package/lib/providers/device-stream-provider.js +31 -36
  602. package/lib/providers/dialog/provider.base.d.ts +42 -0
  603. package/lib/providers/dialog/provider.base.js +289 -0
  604. package/lib/providers/dialog/provider.browser.d.ts +15 -0
  605. package/lib/{modules/annotation/index.js → providers/dialog/provider.browser.js} +84 -90
  606. package/lib/providers/dialog/provider.electron.d.ts +13 -0
  607. package/lib/providers/dialog/provider.electron.js +177 -0
  608. package/lib/providers/dialog/type.d.ts +161 -0
  609. package/lib/providers/dialog/type.js +15 -0
  610. package/lib/providers/event-provider.d.ts +3 -67
  611. package/lib/providers/event-provider.js +4 -229
  612. package/lib/providers/facility/provider.base.d.ts +31 -0
  613. package/lib/providers/facility/provider.base.js +159 -0
  614. package/lib/providers/facility/provider.browser.d.ts +14 -0
  615. package/lib/providers/facility/provider.browser.js +75 -0
  616. package/lib/providers/facility/provider.electron.d.ts +17 -0
  617. package/lib/providers/facility/provider.electron.js +91 -0
  618. package/lib/providers/facility/struct.d.ts +5 -0
  619. package/lib/providers/facility/struct.js +13 -0
  620. package/lib/providers/facility/type.d.ts +36 -0
  621. package/lib/providers/facility/type.js +6 -0
  622. package/lib/providers/interpreter-provider.d.ts +4 -3
  623. package/lib/providers/interpreter-provider.js +2 -4
  624. package/lib/providers/local-storage-provider.d.ts +8 -1
  625. package/lib/providers/local-storage-provider.js +4 -3
  626. package/lib/providers/message/provider.d.ts +14 -0
  627. package/lib/providers/{message-provider.js → message/provider.js} +16 -52
  628. package/lib/providers/message/struct.d.ts +4 -0
  629. package/lib/providers/message/struct.js +12 -0
  630. package/lib/providers/{message-provider.d.ts → message/type.d.ts} +9 -27
  631. package/lib/providers/message/type.js +6 -0
  632. package/lib/providers/monitor-provider.d.ts +3 -1
  633. package/lib/providers/monitor-provider.js +4 -3
  634. package/lib/providers/mouse-detect/provider.d.ts +21 -0
  635. package/lib/providers/mouse-detect/provider.js +205 -0
  636. package/lib/providers/mouse-detect/struct.d.ts +3 -0
  637. package/lib/providers/mouse-detect/struct.js +11 -0
  638. package/lib/providers/mouse-detect/type.d.ts +12 -0
  639. package/lib/providers/mouse-detect/type.js +6 -0
  640. package/lib/providers/multi-display-provider.d.ts +27 -19
  641. package/lib/providers/multi-display-provider.js +127 -101
  642. package/lib/providers/phone-audio-provider.d.ts +3 -2
  643. package/lib/providers/phone-audio-provider.js +16 -16
  644. package/lib/providers/privilege-provider.d.ts +2 -1
  645. package/lib/providers/privilege-provider.js +9 -9
  646. package/lib/providers/renderer-provider.d.ts +20 -10
  647. package/lib/providers/renderer-provider.js +91 -31
  648. package/lib/providers/{room-provider.d.ts → room-provider/room-provider.d.ts} +18 -47
  649. package/lib/providers/{room-provider.js → room-provider/room-provider.js} +29 -197
  650. package/lib/{waiting-room-control-manager.d.ts → providers/room-provider/waiting-room-control-manager.d.ts} +1 -1
  651. package/lib/{waiting-room-control-manager.js → providers/room-provider/waiting-room-control-manager.js} +1 -1
  652. package/lib/providers/screen-share/provider.base.d.ts +95 -0
  653. package/lib/providers/screen-share/provider.base.js +533 -0
  654. package/lib/providers/screen-share/provider.browser.d.ts +19 -0
  655. package/lib/providers/screen-share/provider.browser.js +292 -0
  656. package/lib/providers/screen-share/provider.d.ts +69 -0
  657. package/lib/providers/screen-share/provider.electron.d.ts +17 -0
  658. package/lib/providers/screen-share/provider.electron.js +425 -0
  659. package/lib/providers/screen-share/provider.js +615 -0
  660. package/lib/providers/screen-share/strategy/browser.d.ts +22 -0
  661. package/lib/providers/screen-share/strategy/browser.js +263 -0
  662. package/lib/providers/screen-share/strategy/electron.d.ts +22 -0
  663. package/lib/providers/screen-share/strategy/electron.js +289 -0
  664. package/lib/providers/screen-share/strategy/type.d.ts +33 -0
  665. package/lib/providers/screen-share/strategy/type.js +39 -0
  666. package/lib/providers/screen-share/stream-state-sync.d.ts +17 -0
  667. package/lib/providers/screen-share/stream-state-sync.js +214 -0
  668. package/lib/providers/screen-share/struct.d.ts +44 -0
  669. package/lib/providers/screen-share/struct.js +53 -0
  670. package/lib/providers/screen-share/type.d.ts +164 -0
  671. package/lib/providers/screen-share/type.js +6 -0
  672. package/lib/providers/session-provider.d.ts +3 -1
  673. package/lib/providers/session-provider.js +4 -3
  674. package/lib/providers/setting-storage/provider.base.d.ts +9 -0
  675. package/lib/providers/setting-storage/provider.base.js +14 -0
  676. package/lib/providers/setting-storage/provider.browser.d.ts +7 -0
  677. package/lib/providers/{user-setting-storage-provider.js → setting-storage/provider.browser.js} +23 -24
  678. package/lib/providers/setting-storage/provider.electron.d.ts +10 -0
  679. package/lib/providers/setting-storage/provider.electron.js +62 -0
  680. package/lib/providers/setting-storage/type.d.ts +18 -0
  681. package/lib/providers/setting-storage/type.js +6 -0
  682. package/lib/providers/whiteboard-provider.d.ts +4 -2
  683. package/lib/providers/whiteboard-provider.js +7 -4
  684. package/lib/providers/widget-provider.d.ts +9 -3
  685. package/lib/providers/widget-provider.js +11 -11
  686. package/lib/providers/window/browser-window-proxy.js +1 -0
  687. package/lib/providers/window/ipc-protocol.d.ts +0 -0
  688. package/lib/providers/window/ipc-protocol.js +1 -0
  689. package/lib/providers/window/main-process-handler.d.ts +0 -0
  690. package/lib/providers/window/main-process-handler.js +1 -0
  691. package/lib/providers/window/main-process-integration.d.ts +0 -0
  692. package/lib/providers/window/main-process-integration.js +1 -0
  693. package/lib/providers/window/main-window.d.ts +51 -0
  694. package/lib/providers/window/main-window.js +303 -0
  695. package/lib/providers/window/provider.d.ts +27 -0
  696. package/lib/providers/window/provider.js +164 -0
  697. package/lib/providers/window/renderer-window.d.ts +77 -0
  698. package/lib/providers/window/renderer-window.js +509 -0
  699. package/lib/providers/window/type.d.ts +122 -0
  700. package/lib/providers/window/type.js +6 -0
  701. package/lib/runtime.d.ts +84 -82
  702. package/lib/runtime.js +6 -0
  703. package/lib/scenes/main-scene.d.ts +4 -110
  704. package/lib/scenes/main-scene.js +435 -545
  705. package/lib/scenes/type.d.ts +7 -0
  706. package/lib/scenes/type.js +6 -0
  707. package/lib/scenes/waiting-scene.d.ts +2 -76
  708. package/lib/scenes/waiting-scene.js +58 -165
  709. package/lib/schema.d.ts +2 -2
  710. package/lib/shared-context/dialog-context.d.ts +13 -0
  711. package/lib/shared-context/dialog-context.js +10 -0
  712. package/lib/{utilities → shared-context}/video-track-render-context.js +1 -1
  713. package/lib/{shared-data-source → shared-data}/app-list-data.d.ts +6 -4
  714. package/lib/{shared-data-source → shared-data}/app-list-data.js +7 -4
  715. package/lib/{shared-data-source → shared-data}/chat-data.d.ts +4 -2
  716. package/lib/{shared-data-source → shared-data}/chat-data.js +11 -8
  717. package/lib/{shared-data-source → shared-data}/config.d.ts +8 -3
  718. package/lib/{shared-data-source → shared-data}/config.js +9 -3
  719. package/lib/{shared-data-source → shared-data}/confirm-data.d.ts +10 -9
  720. package/lib/{shared-data-source → shared-data}/confirm-data.js +10 -9
  721. package/lib/{shared-data-source → shared-data}/device-privilege-data.d.ts +3 -1
  722. package/lib/{shared-data-source → shared-data}/device-privilege-data.js +4 -3
  723. package/lib/{shared-data-source → shared-data}/interpreter.d.ts +5 -5
  724. package/lib/{shared-data-source → shared-data}/interpreter.js +16 -21
  725. package/lib/{shared-data-source → shared-data}/layout-data.d.ts +3 -1
  726. package/lib/{shared-data-source → shared-data}/layout-data.js +12 -9
  727. package/lib/{shared-data-source → shared-data}/meeting-time.d.ts +2 -6
  728. package/lib/{shared-data-source → shared-data}/meeting-time.js +12 -12
  729. package/lib/{shared-data-source → shared-data}/member-data.d.ts +8 -9
  730. package/lib/{shared-data-source → shared-data}/member-data.js +53 -29
  731. package/lib/{shared-data-source → shared-data}/pin-data.d.ts +6 -4
  732. package/lib/{shared-data-source → shared-data}/pin-data.js +14 -11
  733. package/lib/shared-data/screen-share/index.d.ts +26 -0
  734. package/lib/shared-data/screen-share/index.js +211 -0
  735. package/lib/shared-data/screen-share/type.d.ts +42 -0
  736. package/lib/shared-data/screen-share/type.js +6 -0
  737. package/lib/{shared-data-source → shared-data}/security-data.d.ts +5 -5
  738. package/lib/{shared-data-source → shared-data}/security-data.js +13 -13
  739. package/lib/{shared-data-source → shared-data}/setting.d.ts +5 -3
  740. package/lib/{shared-data-source → shared-data}/setting.js +8 -5
  741. package/lib/shared-data/speaker-spotlight.d.ts +7 -0
  742. package/lib/{shared-data-source → shared-data}/speaker-spotlight.js +10 -6
  743. package/lib/{shared-data-source → shared-data}/video-window.d.ts +3 -2
  744. package/lib/{shared-data-source → shared-data}/video-window.js +4 -3
  745. package/lib/{shared-data-source → shared-data}/waiting-room.d.ts +5 -5
  746. package/lib/{shared-data-source → shared-data}/waiting-room.js +10 -10
  747. package/lib/{shared-data-source → shared-data}/whiteboard-data.d.ts +2 -2
  748. package/lib/{shared-data-source → shared-data}/whiteboard-data.js +17 -23
  749. package/lib/translations/enUS.d.ts +16 -1
  750. package/lib/translations/enUS.js +22 -7
  751. package/lib/translations/zhCN.d.ts +16 -1
  752. package/lib/translations/zhCN.js +22 -7
  753. package/lib/type.d.ts +65 -79
  754. package/lib/type.js +16 -4
  755. package/lib/ui-manager.d.ts +6 -6
  756. package/lib/ui-manager.js +38 -10
  757. package/lib/ui-scene.d.ts +11 -39
  758. package/lib/ui-scene.js +161 -214
  759. package/lib/utilities/{screen.d.ts → browser-api.d.ts} +1 -0
  760. package/lib/utilities/{copyText.js → browser-api.js} +36 -1
  761. package/lib/utilities/constant.d.ts +65 -73
  762. package/lib/utilities/constant.js +66 -72
  763. package/lib/utilities/default-config.d.ts +14 -1
  764. package/lib/utilities/default-config.js +15 -1
  765. package/lib/utilities/dialog-utils.d.ts +8 -12
  766. package/lib/utilities/dialog-utils.js +63 -74
  767. package/lib/utilities/focus-helper.d.ts +2 -0
  768. package/lib/utilities/focus-helper.js +19 -0
  769. package/lib/utilities/ipc-protocol.d.ts +91 -0
  770. package/lib/utilities/ipc-protocol.js +61 -0
  771. package/lib/utilities/logger.js +7 -1
  772. package/lib/utilities/meeting-detail.d.ts +10 -1
  773. package/lib/utilities/meeting-detail.js +25 -3
  774. package/lib/utilities/platform.d.ts +1 -0
  775. package/lib/utilities/platform.js +4 -1
  776. package/lib/utilities/renderer.d.ts +74 -17
  777. package/lib/utilities/renderer.js +412 -78
  778. package/package.json +6 -6
  779. package/public/index.html +38 -19
  780. package/lib/modules/action-bar/index.dev.js +0 -94
  781. package/lib/modules/annotation/annotation-index.d.ts +0 -2
  782. package/lib/modules/annotation/annotation-index.js +0 -80
  783. package/lib/modules/annotation/annotation-toolbar-store.d.ts +0 -75
  784. package/lib/modules/annotation/annotation-toolbar-store.js +0 -459
  785. package/lib/modules/annotation/board-cursor.css +0 -77
  786. package/lib/modules/annotation/components/color-picker/components/color.d.ts +0 -5
  787. package/lib/modules/annotation/components/color-picker/components/color.js +0 -38
  788. package/lib/modules/annotation/components/color-picker/components/panel.d.ts +0 -1
  789. package/lib/modules/annotation/components/color-picker/components/panel.js +0 -109
  790. package/lib/modules/annotation/components/color-picker/components/picker.d.ts +0 -1
  791. package/lib/modules/annotation/components/color-picker/components/picker.js +0 -75
  792. package/lib/modules/annotation/components/color-picker/index.d.ts +0 -2
  793. package/lib/modules/annotation/components/color-picker/index.js +0 -47
  794. package/lib/modules/annotation/components/eraser-picker.d.ts +0 -4
  795. package/lib/modules/annotation/components/eraser-picker.js +0 -144
  796. package/lib/modules/annotation/components/expansion/index.js +0 -100
  797. package/lib/modules/annotation/components/extra-tool-picker.d.ts +0 -1
  798. package/lib/modules/annotation/components/extra-tool-picker.js +0 -62
  799. package/lib/modules/annotation/components/history.d.ts +0 -2
  800. package/lib/modules/annotation/components/history.js +0 -78
  801. package/lib/modules/annotation/components/icons/fold-icon.d.ts +0 -2
  802. package/lib/modules/annotation/components/icons/fold-icon.js +0 -41
  803. package/lib/modules/annotation/components/icons/move-icon.d.ts +0 -1
  804. package/lib/modules/annotation/components/icons/move-icon.js +0 -66
  805. package/lib/modules/annotation/components/item/index.d.ts +0 -1
  806. package/lib/modules/annotation/components/item/index.js +0 -43
  807. package/lib/modules/annotation/components/move-handle.d.ts +0 -5
  808. package/lib/modules/annotation/components/move-handle.js +0 -134
  809. package/lib/modules/annotation/components/pen-picker.d.ts +0 -4
  810. package/lib/modules/annotation/components/pen-picker.js +0 -155
  811. package/lib/modules/annotation/components/screen-capture-picker.d.ts +0 -4
  812. package/lib/modules/annotation/components/screen-capture-picker.js +0 -85
  813. package/lib/modules/annotation/components/shape-picker.d.ts +0 -4
  814. package/lib/modules/annotation/components/shape-picker.js +0 -210
  815. package/lib/modules/annotation/hooks/index.d.ts +0 -14
  816. package/lib/modules/annotation/hooks/index.js +0 -292
  817. package/lib/modules/annotation/index.d.ts +0 -45
  818. package/lib/modules/annotation/store.d.ts +0 -98
  819. package/lib/modules/annotation/store.js +0 -620
  820. package/lib/modules/annotation/style.css +0 -36
  821. package/lib/modules/annotation/view.d.ts +0 -3
  822. package/lib/modules/annotation/view.js +0 -44
  823. package/lib/modules/components/leave-meeting/store.d.ts +0 -39
  824. package/lib/modules/control-bar/components/annotation-button/index.d.ts +0 -1
  825. package/lib/modules/control-bar/components/annotation-button/index.js +0 -72
  826. package/lib/modules/dialog/dialogs/widget/electron.d.ts +0 -6
  827. package/lib/modules/dialog/dialogs/widget/electron.js +0 -38
  828. package/lib/modules/dialog/hooks/useElectron.d.ts +0 -28
  829. package/lib/modules/dialog/hooks/useElectron.js +0 -277
  830. package/lib/modules/dialog/store.d.ts +0 -135
  831. package/lib/modules/dialog/store.js +0 -616
  832. package/lib/modules/event-confirm/components/window/index.d.ts +0 -7
  833. package/lib/modules/event-confirm/components/window/index.js +0 -221
  834. package/lib/modules/event-confirm/index.d.ts +0 -27
  835. package/lib/modules/event-confirm/index.js +0 -76
  836. package/lib/modules/event-confirm/store.d.ts +0 -50
  837. package/lib/modules/event-confirm/store.js +0 -394
  838. package/lib/modules/event-confirm/view.d.ts +0 -2
  839. package/lib/modules/event-confirm/view.js +0 -55
  840. package/lib/modules/participant/store.d.ts +0 -222
  841. package/lib/modules/participant/store.js +0 -1929
  842. package/lib/modules/pc-audio-connect/index.d.ts +0 -22
  843. package/lib/modules/pc-audio-connect/store.d.ts +0 -46
  844. package/lib/modules/setting/dialog-wrapper.d.ts +0 -2
  845. package/lib/modules/setting/dialog-wrapper.js +0 -110
  846. package/lib/modules/share-screen/store.d.ts +0 -148
  847. package/lib/modules/share-screen/store.js +0 -950
  848. package/lib/modules/share-screen/types.d.ts +0 -26
  849. package/lib/modules/state-bar/store.d.ts +0 -124
  850. package/lib/modules/whiteboard/components/progress/electron.d.ts +0 -1
  851. package/lib/modules/whiteboard/components/progress/electron.js +0 -33
  852. package/lib/providers/annotation-provider.d.ts +0 -124
  853. package/lib/providers/annotation-provider.js +0 -369
  854. package/lib/providers/dialog-provider.d.ts +0 -137
  855. package/lib/providers/dialog-provider.js +0 -194
  856. package/lib/providers/screen-share-provider.d.ts +0 -246
  857. package/lib/providers/screen-share-provider.js +0 -850
  858. package/lib/providers/sharing-provider.d.ts +0 -42
  859. package/lib/providers/sharing-provider.js +0 -228
  860. package/lib/providers/user-setting-storage-provider.d.ts +0 -21
  861. package/lib/shared-data-source/annotation-data.d.ts +0 -17
  862. package/lib/shared-data-source/screen-share-data.d.ts +0 -364
  863. package/lib/shared-data-source/screen-share-data.js +0 -520
  864. package/lib/shared-data-source/speaker-spotlight.d.ts +0 -5
  865. package/lib/utilities/copyText.d.ts +0 -2
  866. package/lib/utilities/renderer-event.d.ts +0 -10
  867. package/lib/utilities/renderer-event.js +0 -95
  868. package/lib/utilities/screen-capture-permission.d.ts +0 -2
  869. package/lib/utilities/screen-capture-permission.js +0 -24
  870. package/lib/utilities/screen.js +0 -53
  871. /package/lib/{modules/action-bar/types.js → creator/type.js} +0 -0
  872. /package/lib/modules/{share-screen/types.js → components/device-control/type.js} +0 -0
  873. /package/lib/modules/{annotation/components/expansion/index.d.ts → control-bar/index.dev.d.ts} +0 -0
  874. /package/lib/modules/{event-confirm → dialog/components/confirm}/index.css +0 -0
  875. /package/lib/{modules/action-bar/index.dev.d.ts → providers/window/browser-window-proxy.d.ts} +0 -0
  876. /package/lib/{utilities → shared-context}/board-context.d.ts +0 -0
  877. /package/lib/{utilities → shared-context}/board-context.js +0 -0
  878. /package/lib/{utilities → shared-context}/video-track-render-context.d.ts +0 -0
@@ -0,0 +1,2212 @@
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.number.constructor.js");
12
+ require("core-js/modules/es.object.create.js");
13
+ require("core-js/modules/es.object.define-properties.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/es.object.get-own-property-descriptors.js");
17
+ require("core-js/modules/es.object.keys.js");
18
+ require("core-js/modules/esnext.function.metadata.js");
19
+ require("core-js/modules/esnext.symbol.metadata.js");
20
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
21
+ var _typeof = require("@babel/runtime/helpers/typeof");
22
+ Object.defineProperty(exports, "__esModule", {
23
+ value: true
24
+ });
25
+ exports.StoreContext = exports.ParticipantStoreBase = void 0;
26
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
27
+ require("core-js/modules/es.array.concat.js");
28
+ require("core-js/modules/es.array.filter.js");
29
+ require("core-js/modules/es.array.find.js");
30
+ require("core-js/modules/es.array.for-each.js");
31
+ require("core-js/modules/es.array.includes.js");
32
+ require("core-js/modules/es.array.iterator.js");
33
+ require("core-js/modules/es.array.map.js");
34
+ require("core-js/modules/es.array.push.js");
35
+ require("core-js/modules/es.array.some.js");
36
+ require("core-js/modules/es.date.now.js");
37
+ require("core-js/modules/es.date.to-json.js");
38
+ require("core-js/modules/es.function.bind.js");
39
+ require("core-js/modules/es.json.stringify.js");
40
+ require("core-js/modules/es.map.js");
41
+ require("core-js/modules/es.object.to-string.js");
42
+ require("core-js/modules/es.set.js");
43
+ require("core-js/modules/es.string.includes.js");
44
+ require("core-js/modules/es.string.iterator.js");
45
+ require("core-js/modules/es.weak-map.js");
46
+ require("core-js/modules/esnext.iterator.constructor.js");
47
+ require("core-js/modules/esnext.iterator.filter.js");
48
+ require("core-js/modules/esnext.iterator.find.js");
49
+ require("core-js/modules/esnext.iterator.for-each.js");
50
+ require("core-js/modules/esnext.iterator.map.js");
51
+ require("core-js/modules/esnext.iterator.some.js");
52
+ require("core-js/modules/esnext.map.delete-all.js");
53
+ require("core-js/modules/esnext.map.emplace.js");
54
+ require("core-js/modules/esnext.map.every.js");
55
+ require("core-js/modules/esnext.map.filter.js");
56
+ require("core-js/modules/esnext.map.find.js");
57
+ require("core-js/modules/esnext.map.find-key.js");
58
+ require("core-js/modules/esnext.map.includes.js");
59
+ require("core-js/modules/esnext.map.key-of.js");
60
+ require("core-js/modules/esnext.map.map-keys.js");
61
+ require("core-js/modules/esnext.map.map-values.js");
62
+ require("core-js/modules/esnext.map.merge.js");
63
+ require("core-js/modules/esnext.map.reduce.js");
64
+ require("core-js/modules/esnext.map.some.js");
65
+ require("core-js/modules/esnext.map.update.js");
66
+ require("core-js/modules/esnext.set.add-all.js");
67
+ require("core-js/modules/esnext.set.delete-all.js");
68
+ require("core-js/modules/esnext.set.difference.v2.js");
69
+ require("core-js/modules/esnext.set.difference.js");
70
+ require("core-js/modules/esnext.set.every.js");
71
+ require("core-js/modules/esnext.set.filter.js");
72
+ require("core-js/modules/esnext.set.find.js");
73
+ require("core-js/modules/esnext.set.intersection.v2.js");
74
+ require("core-js/modules/esnext.set.intersection.js");
75
+ require("core-js/modules/esnext.set.is-disjoint-from.v2.js");
76
+ require("core-js/modules/esnext.set.is-disjoint-from.js");
77
+ require("core-js/modules/esnext.set.is-subset-of.v2.js");
78
+ require("core-js/modules/esnext.set.is-subset-of.js");
79
+ require("core-js/modules/esnext.set.is-superset-of.v2.js");
80
+ require("core-js/modules/esnext.set.is-superset-of.js");
81
+ require("core-js/modules/esnext.set.join.js");
82
+ require("core-js/modules/esnext.set.map.js");
83
+ require("core-js/modules/esnext.set.reduce.js");
84
+ require("core-js/modules/esnext.set.some.js");
85
+ require("core-js/modules/esnext.set.symmetric-difference.v2.js");
86
+ require("core-js/modules/esnext.set.symmetric-difference.js");
87
+ require("core-js/modules/esnext.set.union.v2.js");
88
+ require("core-js/modules/esnext.set.union.js");
89
+ require("core-js/modules/esnext.weak-map.delete-all.js");
90
+ require("core-js/modules/esnext.weak-map.emplace.js");
91
+ require("core-js/modules/web.dom-collections.for-each.js");
92
+ require("core-js/modules/web.dom-collections.iterator.js");
93
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
94
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
95
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
96
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
97
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
98
+ var _fcrCore = require("fcr-core");
99
+ var _type = require("fcr-core/lib/type");
100
+ var _error = require("fcr-core/lib/utilities/error");
101
+ var _attendee = require("agora-ui-foundation/lib/components/participants/attendee");
102
+ var _mobx = require("mobx");
103
+ var _constant = require("../../utilities/constant");
104
+ var _decorator = require("agora-foundation/lib/decorator");
105
+ var _mobxUtils = require("mobx-utils");
106
+ var _type2 = require("./type");
107
+ var _i18n = require("agora-ui-foundation/lib/i18n");
108
+ var _type3 = require("fcr-core/lib/room-control/user-control/type");
109
+ var _type4 = require("fcr-core/lib/room-control/privilege-control/type");
110
+ var _type5 = require("../../type");
111
+ var _logger = require("../../utilities/logger");
112
+ var _objectManager = require("../../object-manager");
113
+ var _react = require("react");
114
+ var _operateWaitingroomMember = require("./components/operate-waitingroom-member");
115
+ var _confirmInput = require("./components/confirm-input");
116
+ var _struct = require("./struct");
117
+ var _i18n2 = require("../../hooks/i18n");
118
+ var _jsxRuntime = require("react/jsx-runtime");
119
+ var _ParticipantStoreBase;
120
+ var _initProto, _init__operatorRenameUserName, _init__mainList, _init__isChecked, _init__participantsWindowActive, _init_enableParticipantsJoinWithMute, _init_searchText, _init_currentModal, _init_mergeConfirmDialog, _init_mergeUserId, _init_activeTab, _init_interpreterInputLanguageList, _init_newName, _init_allowUnmute, _init_joinWithMuteAudio, _init_showBecomeHostButton, _setCurrentModalDecs, _setParticipantsWindowActiveDecs, _handlerSearchUserDecs, _openRemoveAdmitWaitingRoomDialogDecs, _setAllowUnmuteDecs, _setAllowJoinWithMuteAudioDecs, _openMuteAllDialogDecs, _handlerRoomControlActionDecs, _moveToMainRoomByUserIdsDecs, _kickOutWaitingRoomAllMemberDecs, _moveToMainRoomAllMemberDecs, _removeWaitingRoomUserDecs, _handleConfirmChangeNameDecs, _handleCancelChangeNameDecs, _closeChangeNameDialogDecs, _getOutputLanguageDecs, _handlerUserActionDecs, _handleActiveTabDecs, _moveToWaitingRoomByUserIdDecs, _kickOutUserDecs, _onPeerSessionReceivedDecs, _ref;
121
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
122
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
123
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
124
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
125
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
126
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
127
+ 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"); }
128
+ 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)]; } }; }
129
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
130
+ 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); }
131
+ 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; }
132
+ 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; }
133
+ var _A = /*#__PURE__*/new WeakMap();
134
+ var _B = /*#__PURE__*/new WeakMap();
135
+ var _C = /*#__PURE__*/new WeakMap();
136
+ var _D = /*#__PURE__*/new WeakMap();
137
+ var _E = /*#__PURE__*/new WeakMap();
138
+ var _F = /*#__PURE__*/new WeakMap();
139
+ var _G = /*#__PURE__*/new WeakMap();
140
+ var _H = /*#__PURE__*/new WeakMap();
141
+ var _I = /*#__PURE__*/new WeakMap();
142
+ var _J = /*#__PURE__*/new WeakMap();
143
+ var _K = /*#__PURE__*/new WeakMap();
144
+ var _L = /*#__PURE__*/new WeakMap();
145
+ var _M = /*#__PURE__*/new WeakMap();
146
+ var _N = /*#__PURE__*/new WeakMap();
147
+ var _O = /*#__PURE__*/new WeakMap();
148
+ _ref = (_setCurrentModalDecs = [_mobx.action, _mobx.action.bound], _setParticipantsWindowActiveDecs = [_mobx.action, _mobx.action.bound], _handlerSearchUserDecs = [_mobx.action, _mobx.action.bound], _openRemoveAdmitWaitingRoomDialogDecs = [_mobx.action, _mobx.action.bound], _setAllowUnmuteDecs = [_mobx.action, _mobx.action.bound], _setAllowJoinWithMuteAudioDecs = [_mobx.action, _mobx.action.bound], _openMuteAllDialogDecs = [_mobx.action, _mobx.action.bound], _handlerRoomControlActionDecs = [_mobx.action, _mobx.action.bound], _moveToMainRoomByUserIdsDecs = [_mobx.action, _mobx.action.bound], _kickOutWaitingRoomAllMemberDecs = [_mobx.action, _mobx.action.bound], _moveToMainRoomAllMemberDecs = [_mobx.action, _mobx.action.bound], _removeWaitingRoomUserDecs = [_mobx.action, _mobx.action.bound], _handleConfirmChangeNameDecs = [_mobx.action, _mobx.action.bound], _handleCancelChangeNameDecs = [_mobx.action, _mobx.action.bound], _closeChangeNameDialogDecs = [_mobx.action, _mobx.action.bound], _getOutputLanguageDecs = [_mobx.action, _mobx.action.bound], _handlerUserActionDecs = [_mobx.action, _mobx.action.bound], _handleActiveTabDecs = [_mobx.action, _mobx.action.bound], _moveToWaitingRoomByUserIdDecs = [_mobx.action, _mobx.action.bound], _kickOutUserDecs = [_mobx.action, _mobx.action.bound], _onPeerSessionReceivedDecs = [_mobx.action, _mobx.action.bound], "logger");
149
+ var ParticipantStoreBase = exports.ParticipantStoreBase = /*#__PURE__*/function () {
150
+ // #endregion
151
+
152
+ function ParticipantStoreBase(_ref2) {
153
+ var _this = this;
154
+ var objectManager = _ref2.objectManager;
155
+ (0, _classCallCheck2["default"])(this, ParticipantStoreBase);
156
+ (0, _defineProperty2["default"])(this, _ref, (_initProto(this), (0, _logger.createLogger)({
157
+ prefix: 'ParticipantStore'
158
+ })));
159
+ (0, _defineProperty2["default"])(this, "_disposers", []);
160
+ (0, _defineProperty2["default"])(this, "_unmuteAudioTimestamp", new Map());
161
+ (0, _defineProperty2["default"])(this, "_unmuteVideoTimestamp", new Map());
162
+ (0, _defineProperty2["default"])(this, "_processedUserOpenDeviceRequests", new Set());
163
+ (0, _defineProperty2["default"])(this, "_peerSessionObserver", {
164
+ onPeerSessionReceived: this._onPeerSessionReceived,
165
+ onPeerSessionAccepted: this._onPeerSessionAccepted,
166
+ onPeerSessionRejected: this._onPeerSessionRejected
167
+ });
168
+ (0, _defineProperty2["default"])(this, "_roomStoreObserver", {
169
+ onJoinWaitingRoom: function onJoinWaitingRoom(roomControl) {
170
+ var room = roomControl;
171
+ _this._waitingRoomControl = room;
172
+ var waitingRoomUserControl = room.getUserControl();
173
+ _this._waitingRoomUserControl = waitingRoomUserControl;
174
+ },
175
+ onWaitingRoomManageCanceled: function onWaitingRoomManageCanceled() {
176
+ _this._waitingRoomControl = undefined;
177
+ _this._waitingRoomUserControl = undefined;
178
+ _this.handleActiveTab(_type5.FcrUIRoomType.MAIN_ROOM);
179
+ }
180
+ });
181
+ (0, _defineProperty2["default"])(this, "_privilegeControlObserver", {
182
+ onSecurityInfoUpdated: function onSecurityInfoUpdated(roomId, event) {
183
+ var _event$securityInfo$i;
184
+ if (((_event$securityInfo$i = event.securityInfo.info) === null || _event$securityInfo$i === void 0 ? void 0 : _event$securityInfo$i.action) === _type4.FcrSecurityAction.ChangeName) {
185
+ if (!event.securityInfo.enable) {
186
+ _this._closeChangeNameDialog();
187
+ }
188
+ }
189
+ }
190
+ });
191
+ (0, _defineProperty2["default"])(this, "_userObserver", {
192
+ onRemoteUsersJoined: this._handleRemoteUsersJoined.bind(this),
193
+ onUserPropertiesUpdated: this._handleUserPropertiesUpdated.bind(this),
194
+ onUserInfoUpdated: this._handleUserInfoUpdated.bind(this)
195
+ });
196
+ (0, _defineProperty2["default"])(this, "_whitebaordObderver", {
197
+ onActive: function onActive(ownerId, operatorUser) {
198
+ _this._sharedMemberDataSource.updateMemberListWithBoardState();
199
+ },
200
+ onInactive: function onInactive(reason, operatorUser) {
201
+ _this._sharedMemberDataSource.updateMemberListWithBoardState();
202
+ }
203
+ });
204
+ (0, _defineProperty2["default"])(this, "_operatorRenameUserId", '');
205
+ _classPrivateFieldInitSpec(this, _A, _init__operatorRenameUserName(this, ''));
206
+ _classPrivateFieldInitSpec(this, _B, _init__mainList(this, []));
207
+ _classPrivateFieldInitSpec(this, _C, _init__isChecked(this, {}));
208
+ _classPrivateFieldInitSpec(this, _D, _init__participantsWindowActive(this, false));
209
+ _classPrivateFieldInitSpec(this, _E, _init_enableParticipantsJoinWithMute(this, false));
210
+ _classPrivateFieldInitSpec(this, _F, _init_searchText(this, ''));
211
+ _classPrivateFieldInitSpec(this, _G, _init_currentModal(this, 'modal'));
212
+ _classPrivateFieldInitSpec(this, _H, _init_mergeConfirmDialog(this, false));
213
+ _classPrivateFieldInitSpec(this, _I, _init_mergeUserId(this, ''));
214
+ _classPrivateFieldInitSpec(this, _J, _init_activeTab(this, _type5.FcrUIRoomType.MAIN_ROOM));
215
+ _classPrivateFieldInitSpec(this, _K, _init_interpreterInputLanguageList(this, []));
216
+ _classPrivateFieldInitSpec(this, _L, _init_newName(this, ''));
217
+ _classPrivateFieldInitSpec(this, _M, _init_allowUnmute(this, false));
218
+ _classPrivateFieldInitSpec(this, _N, _init_joinWithMuteAudio(this, false));
219
+ _classPrivateFieldInitSpec(this, _O, _init_showBecomeHostButton(this, false));
220
+ (0, _defineProperty2["default"])(this, "allowedOperations", (0, _mobxUtils.computedFn)(function (userId, userRole) {
221
+ return _this.getAllowedOperations(userRole, userId === _this.localUser.userId);
222
+ }));
223
+ (0, _defineProperty2["default"])(this, "checkIsPin", (0, _mobxUtils.computedFn)(function (userId) {
224
+ var _this$userMap$get;
225
+ return !!((_this$userMap$get = _this.userMap.get(userId)) !== null && _this$userMap$get !== void 0 && _this$userMap$get.streams.some(function (stream) {
226
+ return _this.pinedStreamIds.includes(stream.streamId);
227
+ }));
228
+ }));
229
+ (0, _defineProperty2["default"])(this, "getAllowedOperations", (0, _mobxUtils.computedFn)(function (targetRole, isSelf) {
230
+ return _this._privilegeProvider.getAllowedOperations(targetRole, isSelf);
231
+ }));
232
+ /**
233
+ * 格式化用户数据为UI显示格式
234
+ * @param user 原始用户数据
235
+ * @returns 格式化后的用户数据
236
+ */
237
+ (0, _defineProperty2["default"])(this, "_formatUser", function (user) {
238
+ try {
239
+ // 参数验证
240
+ if (!user || !user.userId || !user.userInfo) {
241
+ _this.logger.warn('Invalid user data provided to _formatUser:', user);
242
+ return _this._getDefaultUserData();
243
+ }
244
+ var _user$streams = user.streams,
245
+ userStreams = _user$streams === void 0 ? [] : _user$streams;
246
+ var isSelf = user.userId === _this.localUser.userId;
247
+
248
+ // 获取基础信息
249
+ var baseInfo = _this._getUserBaseInfo(user, isSelf);
250
+
251
+ // 根据连接器类型处理设备信息
252
+ var deviceInfo = _this._getUserDeviceInfo(user, userStreams, isSelf);
253
+
254
+ // 获取流状态信息
255
+ var streamInfo = _this._getUserStreamInfo(user, userStreams);
256
+
257
+ // 组合所有信息
258
+ return _objectSpread(_objectSpread(_objectSpread({}, baseInfo), deviceInfo), streamInfo);
259
+ } catch (error) {
260
+ _this.logger.error('Error formatting user data:', error, 'user:', user);
261
+ return _this._getDefaultUserData();
262
+ }
263
+ });
264
+ // Get all required objects from objectManager
265
+ this._roomStore = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_ROOM_PROVIDER);
266
+ this._roomControl = this._roomStore.currentRoomControl;
267
+ this._streamControl = this._roomControl.getStreamControl();
268
+ this._userControl = this._roomControl.getUserControl();
269
+ this._chatProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_CHAT_PROVIDER);
270
+ this._privilegeProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_PRIVILEGE_PROVIDER);
271
+ this._deviceStore = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_DEVICE_PROVIDER);
272
+ this._deviceStreamStore = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_DEVICE_STREAM_PROVIDER);
273
+ this._dialogProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_DIALOG_PROVIDER);
274
+ this._messageProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_MESSAGE_PROVIDER);
275
+ this._abilityProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_ABILITY_PROVIDER);
276
+ this._eventProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_EVENT_PROVIDER);
277
+ this._screenShareProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_SCREEN_SHARE_PROVIDER);
278
+
279
+ // Get shared data sources
280
+ this._sharedPinDataSource = objectManager.getObject(_objectManager.FcrUIObjectKeys.S_SHARED_PIN_DATA_SOURCE);
281
+ this._sharedLayoutDataSource = objectManager.getObject(_objectManager.FcrUIObjectKeys.S_SHARED_LAYOUT_DATA_SOURCE);
282
+ this._sharedVideoWindowDataSource = objectManager.getObject(_objectManager.FcrUIObjectKeys.S_SHARED_VIDEO_WINDOW_DATA_SOURCE);
283
+ this._sharedWaitingRoomDataSource = objectManager.getObject(_objectManager.FcrUIObjectKeys.S_SHARED_WAITING_ROOM_DATA_SOURCE);
284
+ this._sharedInterpreterDataSource = objectManager.getObject(_objectManager.FcrUIObjectKeys.S_SHARED_INTERPRETER_DATA_SOURCE);
285
+ this._sharedMemberDataSource = objectManager.getObject(_objectManager.FcrUIObjectKeys.S_SHARED_MEMBER_DATA_SOURCE);
286
+ this._sharedChatDataSource = objectManager.getObject(_objectManager.FcrUIObjectKeys.S_SHARED_CHAT_DATA_SOURCE);
287
+ this._sharedSettingDataSource = objectManager.getObject(_objectManager.FcrUIObjectKeys.S_SHARED_SETTING_DATA_SOURCE);
288
+ this._sharedSecurityDataSource = objectManager.getObject(_objectManager.FcrUIObjectKeys.S_SHARED_SECURITY_DATA_SOURCE);
289
+
290
+ // Try to get session provider if available
291
+ try {
292
+ this._peerSessionControl = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_SESSION_PROVIDER);
293
+ } catch (e) {
294
+ // Session provider may not be available in all contexts
295
+ this._peerSessionControl = undefined;
296
+ }
297
+ this._userControl.addObserver(this._userObserver);
298
+ this._peerSessionControl.addObserver(this._peerSessionObserver);
299
+ this._roomControl.getSharingControl().getBoardControl().addObserver(this._whitebaordObderver);
300
+ this._roomControl.getPrivilegeControl().addObserver(this._privilegeControlObserver);
301
+ this._roomStore.addObserver(this._roomStoreObserver);
302
+ this._eventProvider.addObserver({
303
+ onEvent: this._handleEvent
304
+ });
305
+ this.allowUnmute = this._privilegeProvider.allowUnmuteSelfAudio();
306
+ this.joinWithMuteAudio = this._privilegeProvider.allowJoinWithMuteAudio();
307
+ this._getOutputLanguage();
308
+ this.showBecomeHostButton = !this._sharedMemberDataSource.memberList.some(function (user) {
309
+ return user.userInfo.userRole === _type.FcrUserRole.HOST;
310
+ });
311
+
312
+ // 设置等候室用户数量监听
313
+ this._setupWaitingRoomUserCountListener();
314
+ }
315
+ return (0, _createClass2["default"])(ParticipantStoreBase, [{
316
+ key: "_operatorRenameUserName",
317
+ get: function get() {
318
+ return _classPrivateFieldGet(_A, this);
319
+ },
320
+ set: function set(v) {
321
+ _classPrivateFieldSet(_A, this, v);
322
+ }
323
+ }, {
324
+ key: "_mainList",
325
+ get: function get() {
326
+ return _classPrivateFieldGet(_B, this);
327
+ },
328
+ set: function set(v) {
329
+ _classPrivateFieldSet(_B, this, v);
330
+ }
331
+ }, {
332
+ key: "_isChecked",
333
+ get: function get() {
334
+ return _classPrivateFieldGet(_C, this);
335
+ },
336
+ set: function set(v) {
337
+ _classPrivateFieldSet(_C, this, v);
338
+ }
339
+ }, {
340
+ key: "_participantsWindowActive",
341
+ get: function get() {
342
+ return _classPrivateFieldGet(_D, this);
343
+ },
344
+ set: function set(v) {
345
+ _classPrivateFieldSet(_D, this, v);
346
+ }
347
+ }, {
348
+ key: "enableParticipantsJoinWithMute",
349
+ get: function get() {
350
+ return _classPrivateFieldGet(_E, this);
351
+ },
352
+ set: function set(v) {
353
+ _classPrivateFieldSet(_E, this, v);
354
+ }
355
+ }, {
356
+ key: "searchText",
357
+ get: function get() {
358
+ return _classPrivateFieldGet(_F, this);
359
+ },
360
+ set: function set(v) {
361
+ _classPrivateFieldSet(_F, this, v);
362
+ }
363
+ }, {
364
+ key: "currentModal",
365
+ get: function get() {
366
+ return _classPrivateFieldGet(_G, this);
367
+ },
368
+ set: function set(v) {
369
+ _classPrivateFieldSet(_G, this, v);
370
+ }
371
+ }, {
372
+ key: "mergeConfirmDialog",
373
+ get: function get() {
374
+ return _classPrivateFieldGet(_H, this);
375
+ },
376
+ set: function set(v) {
377
+ _classPrivateFieldSet(_H, this, v);
378
+ }
379
+ }, {
380
+ key: "mergeUserId",
381
+ get: function get() {
382
+ return _classPrivateFieldGet(_I, this);
383
+ },
384
+ set: function set(v) {
385
+ _classPrivateFieldSet(_I, this, v);
386
+ }
387
+ }, {
388
+ key: "activeTab",
389
+ get: function get() {
390
+ return _classPrivateFieldGet(_J, this);
391
+ },
392
+ set: function set(v) {
393
+ _classPrivateFieldSet(_J, this, v);
394
+ }
395
+ }, {
396
+ key: "interpreterInputLanguageList",
397
+ get: function get() {
398
+ return _classPrivateFieldGet(_K, this);
399
+ },
400
+ set: function set(v) {
401
+ _classPrivateFieldSet(_K, this, v);
402
+ }
403
+ }, {
404
+ key: "newName",
405
+ get: function get() {
406
+ return _classPrivateFieldGet(_L, this);
407
+ },
408
+ set: function set(v) {
409
+ _classPrivateFieldSet(_L, this, v);
410
+ }
411
+ }, {
412
+ key: "allowUnmute",
413
+ get: function get() {
414
+ return _classPrivateFieldGet(_M, this);
415
+ },
416
+ set: function set(v) {
417
+ _classPrivateFieldSet(_M, this, v);
418
+ }
419
+ }, {
420
+ key: "joinWithMuteAudio",
421
+ get: function get() {
422
+ return _classPrivateFieldGet(_N, this);
423
+ },
424
+ set: function set(v) {
425
+ _classPrivateFieldSet(_N, this, v);
426
+ }
427
+ }, {
428
+ key: "showBecomeHostButton",
429
+ get: // #region getters
430
+ function get() {
431
+ return _classPrivateFieldGet(_O, this);
432
+ },
433
+ set: function set(v) {
434
+ _classPrivateFieldSet(_O, this, v);
435
+ }
436
+ }, {
437
+ key: "operatorRenameUserName",
438
+ get: function get() {
439
+ return this._operatorRenameUserName;
440
+ }
441
+ }, {
442
+ key: "audioVolumeMap",
443
+ get: function get() {
444
+ return this._sharedMemberDataSource.audioVolumeMap;
445
+ }
446
+ }, {
447
+ key: "localUser",
448
+ get: function get() {
449
+ return this._sharedMemberDataSource.localUser;
450
+ }
451
+ }, {
452
+ key: "localUserRole",
453
+ get: function get() {
454
+ return this._sharedMemberDataSource.localUserRole;
455
+ }
456
+ }, {
457
+ key: "isLocalUserHost",
458
+ get: function get() {
459
+ return this._sharedMemberDataSource.isLocalUserHost;
460
+ }
461
+ }, {
462
+ key: "enableSpotlight",
463
+ get: function get() {
464
+ return this._sharedSettingDataSource.setting.spotlightEnabled;
465
+ }
466
+ }, {
467
+ key: "userListSource",
468
+ get: function get() {
469
+ if (this.activeTab === _type5.FcrUIRoomType.MAIN_ROOM) {
470
+ return this._sharedMemberDataSource.memberList;
471
+ } else {
472
+ return this._sharedWaitingRoomDataSource.waitingRoomDataSource.list;
473
+ }
474
+ }
475
+ }, {
476
+ key: "spotlightStreamId",
477
+ get: function get() {
478
+ return this._sharedVideoWindowDataSource.spotlightStreamId;
479
+ }
480
+ }, {
481
+ key: "mergeUserInfo",
482
+ get: function get() {
483
+ var _this$userListSource$,
484
+ _this2 = this;
485
+ return (_this$userListSource$ = this.userListSource.find(function (user) {
486
+ return user.userId === _this2.mergeUserId;
487
+ })) === null || _this$userListSource$ === void 0 ? void 0 : _this$userListSource$.userInfo;
488
+ }
489
+ }, {
490
+ key: "userMap",
491
+ get: function get() {
492
+ var res = new Map();
493
+ this.userListSource.forEach(function (u) {
494
+ res.set(u.userId, u);
495
+ });
496
+ return res;
497
+ }
498
+ }, {
499
+ key: "userCount",
500
+ get: function get() {
501
+ return this.userList.length;
502
+ }
503
+ }, {
504
+ key: "allowUnmuteSelfAudio",
505
+ get: function get() {
506
+ return this.checkedStateMap.unmuteYourself;
507
+ }
508
+ }, {
509
+ key: "allowJoinWithMuteAudio",
510
+ get: function get() {
511
+ return this.checkedStateMap.enableJoinWithAudio;
512
+ }
513
+ }, {
514
+ key: "allowUnmuteSelfVideo",
515
+ get: function get() {
516
+ return this.checkedStateMap.startVideo;
517
+ }
518
+ }, {
519
+ key: "isLockRoomEnabled",
520
+ get: function get() {
521
+ return this.checkedStateMap.lockRoom;
522
+ }
523
+ }, {
524
+ key: "isWaitingRoomEnabled",
525
+ get: function get() {
526
+ return this._privilegeProvider.isWaitingRoomEnabled();
527
+ }
528
+ }, {
529
+ key: "allowChangeSelfName",
530
+ get: function get() {
531
+ return this.checkedStateMap.rename;
532
+ }
533
+ }, {
534
+ key: "pinedStreamIds",
535
+ get: function get() {
536
+ return this._mainList.filter(function (i) {
537
+ return i.isPin;
538
+ }).map(function (i) {
539
+ return i.windowId;
540
+ });
541
+ }
542
+ }, {
543
+ key: "hasPinnedStream",
544
+ get: function get() {
545
+ return this._mainList.some(function (i) {
546
+ return i.isPin;
547
+ });
548
+ }
549
+ }, {
550
+ key: "userList",
551
+ get: function get() {
552
+ var _this3 = this;
553
+ var list = this.userListSource;
554
+ if (this.searchText.length) {
555
+ list = list.filter(function (user) {
556
+ return user.userInfo.userName.toLocaleLowerCase().includes(_this3.searchText.toLocaleLowerCase());
557
+ });
558
+ }
559
+ var uiDataList = list.map(function (user) {
560
+ return _this3._formatUser(user);
561
+ });
562
+ return uiDataList;
563
+ }
564
+ }, {
565
+ key: "isLocalScreenSharing",
566
+ get: function get() {
567
+ return this._screenShareProvider.isLocalUserScreenSharing;
568
+ }
569
+ }, {
570
+ key: "localMicVolume",
571
+ get: function get() {
572
+ return this._deviceStore.microphoneVolumeLevel;
573
+ }
574
+ }, {
575
+ key: "hasRevokeHostPermission",
576
+ get: function get() {
577
+ return this._privilegeProvider.hasRevokeHostPermission() && this.localUserRole !== _type.FcrUserRole.HOST;
578
+ }
579
+ }, {
580
+ key: "interpreterUserList",
581
+ get: function get() {
582
+ return this._sharedInterpreterDataSource.interpreterUserList;
583
+ }
584
+ }, {
585
+ key: "isInterpreterEnabled",
586
+ get: function get() {
587
+ return this._sharedInterpreterDataSource.isInterpreterEnabled;
588
+ }
589
+ }, {
590
+ key: "waitingRoomUserCount",
591
+ get: function get() {
592
+ return this._sharedWaitingRoomDataSource.totalWaitingRoomUser;
593
+ }
594
+ }, {
595
+ key: "isNewWaitingRoomUserEnter",
596
+ get: function get() {
597
+ return this._sharedWaitingRoomDataSource.unReadState;
598
+ }
599
+ }, {
600
+ key: "isHostKeyEnabled",
601
+ get: function get() {
602
+ return this._roomControl.isHostKeyEnabled();
603
+ }
604
+ }, {
605
+ key: "hasInvite",
606
+ get: function get() {
607
+ return this._abilityProvider.isRoomDetailSupported();
608
+ }
609
+ }, {
610
+ key: "checkedStateMap",
611
+ get: function get() {
612
+ return this._sharedSecurityDataSource.checkedStateMap;
613
+ }
614
+ }, {
615
+ key: "release",
616
+ value: function release() {
617
+ this._userControl.removeObserver(this._userObserver);
618
+ this._peerSessionControl.removeObserver(this._peerSessionObserver);
619
+ this._roomControl.getSharingControl().getBoardControl().removeObserver(this._whitebaordObderver);
620
+ this._roomControl.getPrivilegeControl().removeObserver(this._privilegeControlObserver);
621
+ this._roomStore.removeObserver(this._roomStoreObserver);
622
+ this._eventProvider.removeObserver({
623
+ onEvent: this._handleEvent
624
+ });
625
+ this._disposers.forEach(function (disposer) {
626
+ return disposer();
627
+ });
628
+ }
629
+ }, {
630
+ key: "hasMutePermission",
631
+ value: function hasMutePermission(targetRole) {
632
+ return this._privilegeProvider.hasMutePermission(targetRole);
633
+ }
634
+ }, {
635
+ key: "hasWaitingRoomPermission",
636
+ value: function hasWaitingRoomPermission() {
637
+ return this._privilegeProvider.isWaitingRoomEnabled() && this._privilegeProvider.hasWaitingRoomPermission();
638
+ }
639
+ }, {
640
+ key: "hasUnmutePermission",
641
+ value: function hasUnmutePermission(targetRole) {
642
+ return this._privilegeProvider.hasUnmutePermission(targetRole);
643
+ }
644
+ }, {
645
+ key: "hasRequestStartAudioPermission",
646
+ value: function hasRequestStartAudioPermission(targetRole) {
647
+ return this._privilegeProvider.hasRequestStartAudioPermission(targetRole);
648
+ }
649
+ }, {
650
+ key: "setCurrentModal",
651
+ value: function setCurrentModal(modal) {
652
+ this.currentModal = modal;
653
+ }
654
+ }, {
655
+ key: "closeParticipantsAside",
656
+ value: function closeParticipantsAside() {
657
+ this.setLayoutAsideLayout({
658
+ participant: false
659
+ });
660
+ }
661
+ }, {
662
+ key: "setParticipantsRenderAt",
663
+ value: function setParticipantsRenderAt(renderPosition) {
664
+ this._sharedLayoutDataSource.setParticipantsRenderAt(renderPosition);
665
+ }
666
+ }, {
667
+ key: "setLayoutAsideLayout",
668
+ value: function setLayoutAsideLayout(params) {
669
+ this._sharedLayoutDataSource.setAsideLayout(params);
670
+ }
671
+ }, {
672
+ key: "getLayoutChatRenderAt",
673
+ get: function get() {
674
+ return this._sharedLayoutDataSource.chatRenderAt;
675
+ }
676
+
677
+ // TODO: 这里超级奇怪,传入的变量名是activeTab,但是实际上是roomType
678
+ // 看上去像是有个bug
679
+ }, {
680
+ key: "setChatActiveTab",
681
+ value: function setChatActiveTab(activeTab) {
682
+ console.log('cjtest setChatActiveTab', activeTab);
683
+ this._sharedChatDataSource.activeTab = activeTab;
684
+ }
685
+ }, {
686
+ key: "closeParticipantsWindow",
687
+ value: function closeParticipantsWindow() {
688
+ this.closeDialog(_constant.FcrUIDialogKey.PARTICIPANT);
689
+ }
690
+ }, {
691
+ key: "openDialog",
692
+ value: function openDialog(key) {
693
+ this._openDialog(key);
694
+ }
695
+ }, {
696
+ key: "closeDialog",
697
+ value: function closeDialog(key) {
698
+ this._dialogProvider.closeDialog(key);
699
+ }
700
+ }, {
701
+ key: "openConfirmDialog",
702
+ value: function openConfirmDialog(params, key) {
703
+ var _this4 = this;
704
+ var dialogId = this._dialogProvider.openConfirmDialog(_objectSpread(_objectSpread({}, params), {}, {
705
+ key: key,
706
+ onCancel: function onCancel() {
707
+ _this4.closeConfirmDialog(dialogId);
708
+ params.onCancel && params.onCancel();
709
+ },
710
+ onOk: function onOk() {
711
+ _this4.closeConfirmDialog(dialogId);
712
+ params.onOk && params.onOk();
713
+ }
714
+ }));
715
+ this.logger.info("open Confirm Dialog: ".concat(JSON.stringify(params), ",dialogId: ").concat(dialogId));
716
+ return dialogId;
717
+ }
718
+ }, {
719
+ key: "closeConfirmDialog",
720
+ value: function closeConfirmDialog(id) {
721
+ this._dialogProvider.closeConfirmDialog(id);
722
+ }
723
+ }, {
724
+ key: "setParticipantsWindowActive",
725
+ value: function setParticipantsWindowActive(active) {
726
+ var _this5 = this;
727
+ (0, _mobx.runInAction)(function () {
728
+ _this5._participantsWindowActive = active;
729
+ if (!active) {
730
+ _this5.setCurrentModal('modal');
731
+ }
732
+ });
733
+ }
734
+ }, {
735
+ key: "handlerSearchUser",
736
+ value: function handlerSearchUser(searchText) {
737
+ this.searchText = searchText;
738
+ }
739
+ }, {
740
+ key: "onInvite",
741
+ value: function onInvite() {
742
+ this._openDialog(_constant.FcrUIDialogKey.INVITE);
743
+ }
744
+ }, {
745
+ key: "setMergeConfirmDialog",
746
+ value: function setMergeConfirmDialog(visible) {
747
+ this.mergeConfirmDialog = visible;
748
+ }
749
+ }, {
750
+ key: "mergeConfirmDialogOk",
751
+ value: function mergeConfirmDialogOk(userId) {
752
+ var _this$userMap$get2;
753
+ this._streamControl.mergeAudioStream(userId);
754
+ this.setMergeConfirmDialog(false);
755
+ this._showToast((0, _i18n.transI18n)('fmt_PSTN_toast_merged', {
756
+ reason1: (_this$userMap$get2 = this.userMap.get(userId)) === null || _this$userMap$get2 === void 0 ? void 0 : _this$userMap$get2.userInfo.userName
757
+ }));
758
+ }
759
+ }, {
760
+ key: "openRemoveAdmitWaitingRoomDialog",
761
+ value: function openRemoveAdmitWaitingRoomDialog(params) {
762
+ var _this6 = this;
763
+ var buttonTextMap = {
764
+ removeAll: (0, _i18n.transI18n)('fmt_waitingroom_sidebar_button_removeall'),
765
+ admitAll: (0, _i18n.transI18n)('fmt_waitingroom_sidebar_button_admitall'),
766
+ remove: (0, _i18n.transI18n)('fmt_waitingroom_sidebar_popup_button_remove')
767
+ };
768
+ this._isChecked[params.type] = false;
769
+ var dialogId = this.openConfirmDialog({
770
+ title: params.title,
771
+ alignCenter: true,
772
+ content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_operateWaitingroomMember.OperateWaitingRoomMemberDialog, {
773
+ type: params.type,
774
+ userId: params.userId,
775
+ tooltip: params.tooltip,
776
+ title: params.title,
777
+ onChecked: function onChecked(isChecked) {
778
+ _this6._isChecked[params.type] = isChecked;
779
+ }
780
+ }),
781
+ onOk: function onOk() {
782
+ if (params.type === 'remove') {
783
+ _this6.removeWaitingRoomUser(params.userId, _this6._isChecked[params.type] ? _type3.FcrUserKickedOutType.Forever : _type3.FcrUserKickedOutType.Once);
784
+ }
785
+ if (params.type === 'removeAll') {
786
+ _this6.kickOutWaitingRoomAllMember(_this6._isChecked[params.type] ? _type3.FcrUserKickedOutType.Forever : _type3.FcrUserKickedOutType.Once);
787
+ }
788
+ if (params.type === 'admitAll') {
789
+ _this6.moveToMainRoomAllMember();
790
+ }
791
+ _this6.closeConfirmDialog(dialogId);
792
+ },
793
+ okText: buttonTextMap[params.type],
794
+ okButtonProps: {
795
+ styleType: params.type === 'remove' || params.type === 'removeAll' ? 'danger' : undefined
796
+ }
797
+ });
798
+ }
799
+ }, {
800
+ key: "setAllowUnmute",
801
+ value: function setAllowUnmute(checked) {
802
+ this.allowUnmute = checked;
803
+ }
804
+ }, {
805
+ key: "setAllowJoinWithMuteAudio",
806
+ value: function setAllowJoinWithMuteAudio(checked) {
807
+ this.joinWithMuteAudio = checked;
808
+ }
809
+ }, {
810
+ key: "openMuteAllDialog",
811
+ value: function openMuteAllDialog() {
812
+ this.allowUnmute = this.allowUnmuteSelfAudio;
813
+ this.joinWithMuteAudio = this.allowJoinWithMuteAudio;
814
+ this._dialogProvider.openDialog(_constant.FcrUIDialogKey.MUTE_ALL);
815
+ }
816
+ }, {
817
+ key: "handlerRoomControlAction",
818
+ value: function handlerRoomControlAction(action, data) {
819
+ console.log('handlerRoomControlAction', action, data);
820
+ switch (action) {
821
+ case _constant.FcrUIRoomControlType.MUTE_ALL_AUDIO:
822
+ this._muteAllAudio(data.allowUnmute, data.joinWithMuteAudio);
823
+ break;
824
+ case _constant.FcrUIRoomControlType.UNMUTE_ALL_AUDIO:
825
+ this._unmuteAllAudio();
826
+ break;
827
+ case _constant.FcrUIRoomControlType.ALLOW_ATTENDEE_TO_UNMUTE:
828
+ this._enableSelfUnmute(data);
829
+ break;
830
+ case _constant.FcrUIRoomControlType.ALLOW_ATTENDEE_TO_OPEN_CAMERA:
831
+ this._enableOpenVideo(data);
832
+ break;
833
+ case _constant.FcrUIRoomControlType.REVOKE_HOST:
834
+ this._revokeHost();
835
+ break;
836
+ case _constant.FcrUIRoomControlType.LOCK_ROOM:
837
+ this._lockRoom(data);
838
+ break;
839
+ case _constant.FcrUIRoomControlType.RENAME:
840
+ this._enableRename(data);
841
+ break;
842
+ case _constant.FcrUIRoomControlType.JOIN_WITH_MUTE_AUDIO:
843
+ this.enableJoinWithMuteAudio(data);
844
+ break;
845
+ case _constant.FcrUIRoomControlType.ACTION_REVOKE_HOST_BY_TICKET:
846
+ this._revokeHostByTicket();
847
+ break;
848
+ case _constant.FcrUIRoomControlType.ACTION_CHANGE_NAME:
849
+ this._openChangeNameDialog(this.localUser.userId);
850
+ break;
851
+ }
852
+ }
853
+ }, {
854
+ key: "moveParticipantFromDialogToAside",
855
+ value: function moveParticipantFromDialogToAside() {
856
+ this.closeParticipantsWindow();
857
+ this.setParticipantsRenderAt('aside');
858
+ this.setLayoutAsideLayout({
859
+ participant: true
860
+ });
861
+ }
862
+ }, {
863
+ key: "_revokeHostByTicket",
864
+ value: function _revokeHostByTicket() {
865
+ var _this7 = this;
866
+ var hostKey = '';
867
+ var errMessage = {
868
+ '732403104': (0, _i18n.transI18n)('fmt_hostkey_meetingroom_toast_unable_to_claim_host'),
869
+ '732403105': (0, _i18n.transI18n)('fmt_hostkey_input_hostkey_tips_incorrect_key')
870
+ };
871
+ var dialogId = this.openConfirmDialog({
872
+ title: (0, _i18n.transI18n)('fmt_hostkey_input_hostkey_title_enter_key'),
873
+ content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_confirmInput.FcrConfirmInput, {
874
+ type: "number",
875
+ placeholder: (0, _i18n.transI18n)('fmt_hostkey_input_hostkey_text_hint_enter_key'),
876
+ onChange: function onChange(value) {
877
+ hostKey = String(value);
878
+ }
879
+ }),
880
+ alignCenter: true,
881
+ closable: false,
882
+ onOk: function () {
883
+ var _onOk = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
884
+ return _regenerator["default"].wrap(function (_context) {
885
+ while (1) switch (_context.prev = _context.next) {
886
+ case 0:
887
+ return _context.abrupt("return", _this7._userControl.claimHost(hostKey).then(function (res) {
888
+ _this7._showToast((0, _i18n.transI18n)('fmt_hostkey_meetingroom_toast_now_host'));
889
+ })["catch"](function (err) {
890
+ if (err.code === '732403105') return {
891
+ message: errMessage === null || errMessage === void 0 ? void 0 : errMessage["".concat(err.code)]
892
+ };
893
+ _this7._showToast(err.code === 0 ? (0, _i18n.transI18n)('fmt_hostkey_meetingroom_toast_now_host') : (errMessage === null || errMessage === void 0 ? void 0 : errMessage["".concat(err.code)]) || err.message, err.code === 0 ? 'normal' : 'error');
894
+ }));
895
+ case 1:
896
+ case "end":
897
+ return _context.stop();
898
+ }
899
+ }, _callee);
900
+ }));
901
+ function onOk() {
902
+ return _onOk.apply(this, arguments);
903
+ }
904
+ return onOk;
905
+ }(),
906
+ onCancel: function onCancel() {
907
+ _this7.closeConfirmDialog(dialogId);
908
+ }
909
+ });
910
+ }
911
+
912
+ // room control actions
913
+ }, {
914
+ key: "_muteAllAudio",
915
+ value: function _muteAllAudio(allowUnmute, JoinWithMuteAudio) {
916
+ var _this8 = this;
917
+ // 使用 runInAction 将所有状态更新包装在一个事务中,避免多次渲染
918
+ (0, _mobx.runInAction)(function () {
919
+ _this8._privilegeProvider.setAllowJoinWithMuteAudio(JoinWithMuteAudio);
920
+ _this8._privilegeProvider.setAllowUnmuteSelfAudio(allowUnmute);
921
+ _this8._privilegeProvider.muteAll();
922
+ _this8._sharedSecurityDataSource.setCheckedStateMap(_objectSpread(_objectSpread({}, _this8.checkedStateMap), {
923
+ enableJoinWithAudio: JoinWithMuteAudio,
924
+ unmuteYourself: allowUnmute
925
+ }));
926
+ });
927
+ this._showToast((0, _i18n.transI18n)('fmt_uimanager_tips_allmuted'));
928
+ }
929
+ }, {
930
+ key: "_unmuteAllAudio",
931
+ value: function _unmuteAllAudio() {
932
+ var _this9 = this;
933
+ this._setPrivilegeAndUpdateUI(function () {
934
+ return _this9._privilegeProvider.setAllowUnmuteSelfAudio(true);
935
+ }, {
936
+ unmuteYourself: true
937
+ });
938
+ }
939
+
940
+ //允许自我解除静音
941
+ }, {
942
+ key: "_enableSelfUnmute",
943
+ value: function _enableSelfUnmute(enable) {
944
+ var _this0 = this;
945
+ this._setPrivilegeAndUpdateUI(function () {
946
+ return _this0._privilegeProvider.setAllowUnmuteSelfAudio(enable);
947
+ }, {
948
+ unmuteYourself: enable
949
+ });
950
+ }
951
+ }, {
952
+ key: "_enableOpenVideo",
953
+ value: function _enableOpenVideo(enable) {
954
+ var _this1 = this;
955
+ this._setPrivilegeAndUpdateUI(function () {
956
+ return _this1._privilegeProvider.setAllowUnmuteSelfVideo(enable);
957
+ }, {
958
+ startVideo: enable
959
+ });
960
+ }
961
+ }, {
962
+ key: "_revokeHost",
963
+ value: function _revokeHost() {
964
+ if (!this._privilegeProvider.hasRevokeHostPermission() || this.localUser.userRole === _type.FcrUserRole.HOST) {
965
+ return;
966
+ }
967
+ this._userControl.revokeHost();
968
+ }
969
+ }, {
970
+ key: "_lockRoom",
971
+ value: function _lockRoom(enable) {
972
+ var _this10 = this;
973
+ this._showToast(enable ? (0, _i18n.transI18n)('fmt_security_tips_lock_meeting_on') : (0, _i18n.transI18n)('fmt_security_tips_lock_meeting_off'), 'info');
974
+ this._setPrivilegeAndUpdateUI(function () {
975
+ return _this10._privilegeProvider.setLockRoomEnabled(enable);
976
+ }, {
977
+ lockRoom: enable
978
+ });
979
+ }
980
+ }, {
981
+ key: "_enableRename",
982
+ value: function _enableRename(enable) {
983
+ var _this11 = this;
984
+ this._setPrivilegeAndUpdateUI(function () {
985
+ return _this11._privilegeProvider.setAllowChangeSelfName(enable);
986
+ }, {
987
+ rename: enable
988
+ });
989
+ }
990
+
991
+ // 所有人加入会议时静音
992
+ }, {
993
+ key: "enableJoinWithMuteAudio",
994
+ value: function enableJoinWithMuteAudio(enable) {
995
+ var _this12 = this;
996
+ this._setPrivilegeAndUpdateUI(function () {
997
+ return _this12._privilegeProvider.setAllowJoinWithMuteAudio(enable);
998
+ }, {
999
+ enableJoinWithAudio: enable
1000
+ });
1001
+ }
1002
+ }, {
1003
+ key: "moveToMainRoomByUserIds",
1004
+ value: function moveToMainRoomByUserIds(userId) {
1005
+ if (this._waitingRoomControl) {
1006
+ this._waitingRoomControl.moveToMainRoomByUserIds(userId);
1007
+ }
1008
+ }
1009
+ }, {
1010
+ key: "kickOutWaitingRoomAllMember",
1011
+ value: function () {
1012
+ var _kickOutWaitingRoomAllMember = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(type) {
1013
+ var _this$_waitingRoomUse;
1014
+ return _regenerator["default"].wrap(function (_context2) {
1015
+ while (1) switch (_context2.prev = _context2.next) {
1016
+ case 0:
1017
+ _context2.next = 1;
1018
+ return (_this$_waitingRoomUse = this._waitingRoomUserControl) === null || _this$_waitingRoomUse === void 0 ? void 0 : _this$_waitingRoomUse.kickOutByUserRoles([_type.FcrUserRole.PARTICIPANT], type);
1019
+ case 1:
1020
+ this._showToast((0, _i18n.transI18n)('fmt_waitingroom_mobile_memberlist_tips_all_removed'));
1021
+ case 2:
1022
+ case "end":
1023
+ return _context2.stop();
1024
+ }
1025
+ }, _callee2, this);
1026
+ }));
1027
+ function kickOutWaitingRoomAllMember(_x) {
1028
+ return _kickOutWaitingRoomAllMember.apply(this, arguments);
1029
+ }
1030
+ return kickOutWaitingRoomAllMember;
1031
+ }()
1032
+ }, {
1033
+ key: "moveToMainRoomAllMember",
1034
+ value: function () {
1035
+ var _moveToMainRoomAllMember = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
1036
+ var _this$_waitingRoomCon;
1037
+ return _regenerator["default"].wrap(function (_context3) {
1038
+ while (1) switch (_context3.prev = _context3.next) {
1039
+ case 0:
1040
+ _context3.next = 1;
1041
+ return (_this$_waitingRoomCon = this._waitingRoomControl) === null || _this$_waitingRoomCon === void 0 ? void 0 : _this$_waitingRoomCon.moveToMainRoomByUserRoles([_type.FcrUserRole.PARTICIPANT]);
1042
+ case 1:
1043
+ this._showToast((0, _i18n.transI18n)('fmt_waitingroom_mobile_memberlist_tips_all_amitted'));
1044
+ case 2:
1045
+ case "end":
1046
+ return _context3.stop();
1047
+ }
1048
+ }, _callee3, this);
1049
+ }));
1050
+ function moveToMainRoomAllMember() {
1051
+ return _moveToMainRoomAllMember.apply(this, arguments);
1052
+ }
1053
+ return moveToMainRoomAllMember;
1054
+ }()
1055
+ }, {
1056
+ key: "removeWaitingRoomUser",
1057
+ value: function removeWaitingRoomUser(userId, type) {
1058
+ var _this$_waitingRoomUse2;
1059
+ (_this$_waitingRoomUse2 = this._waitingRoomUserControl) === null || _this$_waitingRoomUse2 === void 0 || _this$_waitingRoomUse2.kickOutByUserIds([userId], type);
1060
+ }
1061
+ }, {
1062
+ key: "removePin",
1063
+ value: function removePin(userId) {
1064
+ var streamId = this._getPinStreamIdFromUser(userId);
1065
+ if (streamId) {
1066
+ this._sharedPinDataSource.removePin(streamId);
1067
+ }
1068
+ }
1069
+ }, {
1070
+ key: "addPin",
1071
+ value: function addPin(userId) {
1072
+ var shouldHideMyVideo = this._sharedSettingDataSource.setting.shouldHideMyVideo;
1073
+ if (shouldHideMyVideo && userId === this.localUser.userId) {
1074
+ this._showToast((0, _i18n.transI18n)('fmt_internalsetting_other_hide_my_window_pin_cancelled'), 'error');
1075
+ return;
1076
+ }
1077
+ var streamId = this._getPinStreamIdFromUser(userId);
1078
+ if (streamId) {
1079
+ this._sharedPinDataSource.addPin(streamId);
1080
+ }
1081
+ }
1082
+ }, {
1083
+ key: "_getPinStreamIdFromUser",
1084
+ value: function _getPinStreamIdFromUser(userId) {
1085
+ var _streams$find;
1086
+ var user = this.userMap.get(userId);
1087
+ var isPSTN = (user === null || user === void 0 ? void 0 : user.userInfo.connectorType) === _fcrCore.FcrRoomConnectorType.PSTN;
1088
+ var streams = user === null || user === void 0 ? void 0 : user.streams;
1089
+ var streamId = streams === null || streams === void 0 || (_streams$find = streams.find(function (stream) {
1090
+ return stream.videoSourceType === _fcrCore.FcrVideoSourceType.CAMERA || isPSTN && stream.videoSourceType === _fcrCore.FcrVideoSourceType.NONE;
1091
+ })) === null || _streams$find === void 0 ? void 0 : _streams$find.streamId;
1092
+ return streamId;
1093
+ }
1094
+ }, {
1095
+ key: "_getDefaultUserData",
1096
+ value:
1097
+ /**
1098
+ * 获取默认用户数据(用于错误处理)
1099
+ * @returns 默认用户数据
1100
+ */
1101
+ function _getDefaultUserData() {
1102
+ return {
1103
+ userId: '',
1104
+ userName: '',
1105
+ isHost: false,
1106
+ isMe: false,
1107
+ hasAudio: false,
1108
+ hasVideo: false,
1109
+ isScreenSharing: false,
1110
+ audioDeviceType: _struct.USER_FORMAT_CONFIG.DEVICE_TYPES.AUDIO.NONE,
1111
+ videoDeviceType: _struct.USER_FORMAT_CONFIG.DEVICE_TYPES.VIDEO.NONE,
1112
+ userType: _struct.USER_FORMAT_CONFIG.USER_TYPES.NORMAL,
1113
+ userRole: _type.FcrUserRole.PARTICIPANT,
1114
+ isSpotlight: false,
1115
+ isBoardActive: false,
1116
+ allowedOperations: [],
1117
+ isPin: false,
1118
+ hideAudioConnectIcon: false,
1119
+ avatar: ''
1120
+ };
1121
+ }
1122
+
1123
+ /**
1124
+ * 获取用户基础信息
1125
+ * @param user 用户数据
1126
+ * @param isSelf 是否为当前用户
1127
+ * @returns 基础信息对象
1128
+ */
1129
+ }, {
1130
+ key: "_getUserBaseInfo",
1131
+ value: function _getUserBaseInfo(user, isSelf) {
1132
+ return {
1133
+ userId: user.userId,
1134
+ userName: user.userInfo.userName,
1135
+ isHost: user.userInfo.userRole === _type.FcrUserRole.HOST,
1136
+ isMe: isSelf,
1137
+ userRole: user.userInfo.userRole,
1138
+ isBoardActive: user.userInfo.isBoardActive,
1139
+ avatar: user.userInfo.avatar,
1140
+ allowedOperations: this.allowedOperations(user.userId, user.userInfo.userRole),
1141
+ isPin: this.checkIsPin(user.userId),
1142
+ hideAudioConnectIcon: false
1143
+ };
1144
+ }
1145
+
1146
+ /**
1147
+ * 获取用户设备信息
1148
+ * @param user 用户数据
1149
+ * @param userStreams 用户流数据
1150
+ * @param isSelf 是否为当前用户
1151
+ * @returns 设备信息对象
1152
+ */
1153
+ }, {
1154
+ key: "_getUserDeviceInfo",
1155
+ value: function _getUserDeviceInfo(user, userStreams, isSelf) {
1156
+ var connectorType = user.userInfo.connectorType;
1157
+ switch (connectorType) {
1158
+ case _fcrCore.FcrRoomConnectorType.NONE:
1159
+ return this._getNormalUserDeviceInfo(userStreams, isSelf);
1160
+ case _fcrCore.FcrRoomConnectorType.PSTN:
1161
+ return this._getPstnUserDeviceInfo(userStreams);
1162
+ case _fcrCore.FcrRoomConnectorType.SIP:
1163
+ case _fcrCore.FcrRoomConnectorType.H323:
1164
+ return this._getSipOrH323UserDeviceInfo(userStreams);
1165
+ default:
1166
+ return this._getDefaultDeviceInfo();
1167
+ }
1168
+ }
1169
+
1170
+ /**
1171
+ * 获取普通用户(电脑客户端)的设备信息
1172
+ * @param userStreams 用户流数据
1173
+ * @param isSelf 是否为当前用户
1174
+ * @returns 设备信息对象
1175
+ */
1176
+ }, {
1177
+ key: "_getNormalUserDeviceInfo",
1178
+ value: function _getNormalUserDeviceInfo(userStreams, isSelf) {
1179
+ var defaultStream = this._findStreamByVideoSourceType(userStreams, _fcrCore.FcrVideoSourceType.CAMERA);
1180
+ var pstnStream = this._findStreamByConnectorType(userStreams, _fcrCore.FcrRoomConnectorType.PSTN);
1181
+ var hasVideo = isSelf ? this._deviceStore.cameraEnabled : this._hasVideoPublishedAndStarted(defaultStream);
1182
+ if (pstnStream) {
1183
+ // 有PSTN流,使用电话麦克风
1184
+ return {
1185
+ audioDeviceType: _struct.USER_FORMAT_CONFIG.DEVICE_TYPES.AUDIO.PHONE_MIC,
1186
+ videoDeviceType: _struct.USER_FORMAT_CONFIG.DEVICE_TYPES.VIDEO.COMPUTER_CAM,
1187
+ userType: _struct.USER_FORMAT_CONFIG.USER_TYPES.NORMAL,
1188
+ hasAudio: pstnStream.audioSourceState === _fcrCore.FcrMediaSourceState.OPEN,
1189
+ hasVideo: hasVideo
1190
+ };
1191
+ } else {
1192
+ // 普通电脑客户端
1193
+ return {
1194
+ audioDeviceType: _struct.USER_FORMAT_CONFIG.DEVICE_TYPES.AUDIO.COMPUTER_MIC,
1195
+ videoDeviceType: _struct.USER_FORMAT_CONFIG.DEVICE_TYPES.VIDEO.COMPUTER_CAM,
1196
+ userType: _struct.USER_FORMAT_CONFIG.USER_TYPES.NORMAL,
1197
+ hasAudio: isSelf ? this._deviceStore.microphoneEnabled : this._hasAudioPublishedAndStarted(defaultStream),
1198
+ hasVideo: hasVideo
1199
+ };
1200
+ }
1201
+ }
1202
+
1203
+ /**
1204
+ * 获取PSTN电话用户的设备信息
1205
+ * @param userStreams 用户流数据
1206
+ * @returns 设备信息对象
1207
+ */
1208
+ }, {
1209
+ key: "_getPstnUserDeviceInfo",
1210
+ value: function _getPstnUserDeviceInfo(userStreams) {
1211
+ var pstnStream = this._findStreamByConnectorType(userStreams, _fcrCore.FcrRoomConnectorType.PSTN);
1212
+ return {
1213
+ audioDeviceType: _struct.USER_FORMAT_CONFIG.DEVICE_TYPES.AUDIO.PHONE_MIC,
1214
+ videoDeviceType: _struct.USER_FORMAT_CONFIG.DEVICE_TYPES.VIDEO.NONE,
1215
+ userType: _struct.USER_FORMAT_CONFIG.USER_TYPES.PHONE,
1216
+ hasAudio: this._hasAudioPublishedAndStarted(pstnStream),
1217
+ hasVideo: false
1218
+ };
1219
+ }
1220
+
1221
+ /**
1222
+ * 获取SIP/H323会议系统用户的设备信息
1223
+ * @param userStreams 用户流数据
1224
+ * @returns 设备信息对象
1225
+ */
1226
+ }, {
1227
+ key: "_getSipOrH323UserDeviceInfo",
1228
+ value: function _getSipOrH323UserDeviceInfo(userStreams) {
1229
+ var sipOrH323Stream = this._findSipOrH323Stream(userStreams);
1230
+ return {
1231
+ audioDeviceType: _struct.USER_FORMAT_CONFIG.DEVICE_TYPES.AUDIO.PHONE_MIC,
1232
+ videoDeviceType: _struct.USER_FORMAT_CONFIG.DEVICE_TYPES.VIDEO.COMPUTER_CAM,
1233
+ userType: _struct.USER_FORMAT_CONFIG.USER_TYPES.MEETING_SYSTEM,
1234
+ hasAudio: this._hasAudioPublishedAndStarted(sipOrH323Stream),
1235
+ hasVideo: this._hasVideoPublishedAndStarted(sipOrH323Stream)
1236
+ };
1237
+ }
1238
+
1239
+ /**
1240
+ * 获取默认设备信息
1241
+ * @returns 默认设备信息对象
1242
+ */
1243
+ }, {
1244
+ key: "_getDefaultDeviceInfo",
1245
+ value: function _getDefaultDeviceInfo() {
1246
+ return {
1247
+ audioDeviceType: _struct.USER_FORMAT_CONFIG.DEVICE_TYPES.AUDIO.NONE,
1248
+ videoDeviceType: _struct.USER_FORMAT_CONFIG.DEVICE_TYPES.VIDEO.NONE,
1249
+ userType: _struct.USER_FORMAT_CONFIG.USER_TYPES.NORMAL,
1250
+ hasAudio: false,
1251
+ hasVideo: false
1252
+ };
1253
+ }
1254
+
1255
+ /**
1256
+ * 获取用户流状态信息
1257
+ * @param user 用户数据
1258
+ * @param userStreams 用户流数据
1259
+ * @returns 流状态信息对象
1260
+ */
1261
+ }, {
1262
+ key: "_getUserStreamInfo",
1263
+ value: function _getUserStreamInfo(user, userStreams) {
1264
+ var _this13 = this;
1265
+ var hasShareScreen = userStreams.some(function (stream) {
1266
+ return stream.videoSourceType === _fcrCore.FcrVideoSourceType.SCREEN;
1267
+ });
1268
+ var isSpotlight = userStreams.some(function (stream) {
1269
+ return stream.streamId === _this13.spotlightStreamId;
1270
+ });
1271
+ return {
1272
+ isScreenSharing: !!hasShareScreen,
1273
+ isSpotlight: isSpotlight
1274
+ };
1275
+ }
1276
+
1277
+ /**
1278
+ * 根据视频源类型查找流
1279
+ * @param userStreams 用户流数组
1280
+ * @param videoSourceType 视频源类型
1281
+ * @returns 找到的流或undefined
1282
+ */
1283
+ }, {
1284
+ key: "_findStreamByVideoSourceType",
1285
+ value: function _findStreamByVideoSourceType(userStreams, videoSourceType) {
1286
+ return userStreams.find(function (stream) {
1287
+ return stream.videoSourceType === videoSourceType;
1288
+ });
1289
+ }
1290
+
1291
+ /**
1292
+ * 根据连接器类型查找流
1293
+ * @param userStreams 用户流数组
1294
+ * @param connectorType 连接器类型
1295
+ * @returns 找到的流或undefined
1296
+ */
1297
+ }, {
1298
+ key: "_findStreamByConnectorType",
1299
+ value: function _findStreamByConnectorType(userStreams, connectorType) {
1300
+ return userStreams.find(function (stream) {
1301
+ return stream.connectorType === connectorType;
1302
+ });
1303
+ }
1304
+
1305
+ /**
1306
+ * 查找SIP或H323流
1307
+ * @param userStreams 用户流数组
1308
+ * @returns 找到的流或undefined
1309
+ */
1310
+ }, {
1311
+ key: "_findSipOrH323Stream",
1312
+ value: function _findSipOrH323Stream(userStreams) {
1313
+ return userStreams.find(function (stream) {
1314
+ return [_fcrCore.FcrRoomConnectorType.SIP, _fcrCore.FcrRoomConnectorType.H323].includes(stream.connectorType);
1315
+ });
1316
+ }
1317
+
1318
+ /**
1319
+ * 检查流是否有音频发布并已启动
1320
+ * @param stream 流信息
1321
+ * @returns 是否有音频发布并已启动
1322
+ */
1323
+ }, {
1324
+ key: "_hasAudioPublishedAndStarted",
1325
+ value: function _hasAudioPublishedAndStarted(stream) {
1326
+ return (stream === null || stream === void 0 ? void 0 : stream.audioSourceState) === _fcrCore.FcrMediaSourceState.OPEN;
1327
+ }
1328
+
1329
+ /**
1330
+ * 检查流是否有视频发布并已启动
1331
+ * @param stream 流信息
1332
+ * @returns 是否有视频发布并已启动
1333
+ */
1334
+ }, {
1335
+ key: "_hasVideoPublishedAndStarted",
1336
+ value: function _hasVideoPublishedAndStarted(stream) {
1337
+ return (stream === null || stream === void 0 ? void 0 : stream.videoSourceState) === _fcrCore.FcrMediaSourceState.OPEN;
1338
+ }
1339
+
1340
+ // [其他所有私有方法的实现...]
1341
+ }, {
1342
+ key: "_handleRemoteUsersJoined",
1343
+ value: function _handleRemoteUsersJoined(roomId, events) {
1344
+ if (events.some(function (user) {
1345
+ return user.userInfo.userRole === _type.FcrUserRole.HOST;
1346
+ })) {
1347
+ this.showBecomeHostButton = false;
1348
+ this._showToast('主持人已进入会议', 'info');
1349
+ }
1350
+ }
1351
+ }, {
1352
+ key: "_handleUserInfoUpdated",
1353
+ value: function _handleUserInfoUpdated(roomId, event) {
1354
+ if (event.reason === _type.FcrUserUpdatedReason.ROLE && event.modifiedUser.userRole === _type.FcrUserRole.HOST) {
1355
+ this.showBecomeHostButton = false;
1356
+ }
1357
+ }
1358
+ }, {
1359
+ key: "_handleUserPropertiesUpdated",
1360
+ value: function _handleUserPropertiesUpdated() {
1361
+ this._getOutputLanguage();
1362
+ }
1363
+ }, {
1364
+ key: "handleConfirmChangeName",
1365
+ value: function () {
1366
+ var _handleConfirmChangeName = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4() {
1367
+ var _this14 = this;
1368
+ return _regenerator["default"].wrap(function (_context4) {
1369
+ while (1) switch (_context4.prev = _context4.next) {
1370
+ case 0:
1371
+ _context4.next = 1;
1372
+ return this._userControl.updateUserName(this._operatorRenameUserId, this.newName);
1373
+ case 1:
1374
+ (0, _mobx.runInAction)(function () {
1375
+ _this14._closeChangeNameDialog();
1376
+ _this14._showToast((0, _i18n.transI18n)('fmt_additional_tips_nickname_change_success'));
1377
+ });
1378
+ case 2:
1379
+ case "end":
1380
+ return _context4.stop();
1381
+ }
1382
+ }, _callee4, this);
1383
+ }));
1384
+ function handleConfirmChangeName() {
1385
+ return _handleConfirmChangeName.apply(this, arguments);
1386
+ }
1387
+ return handleConfirmChangeName;
1388
+ }()
1389
+ }, {
1390
+ key: "handleCancelChangeName",
1391
+ value: function handleCancelChangeName() {
1392
+ this._closeChangeNameDialog();
1393
+ }
1394
+ }, {
1395
+ key: "_closeChangeNameDialog",
1396
+ value: function _closeChangeNameDialog() {
1397
+ this._dialogProvider.closeDialog(_constant.FcrUIDialogKey.RENAME);
1398
+ }
1399
+ }, {
1400
+ key: "_getOutputLanguage",
1401
+ value: function () {
1402
+ var _getOutputLanguage2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5() {
1403
+ var _this15 = this;
1404
+ var interpreterInputLanguageList, index, user, language;
1405
+ return _regenerator["default"].wrap(function (_context5) {
1406
+ while (1) switch (_context5.prev = _context5.next) {
1407
+ case 0:
1408
+ interpreterInputLanguageList = [];
1409
+ for (index = 0; index < this.userList.length; index++) {
1410
+ user = this.userList[index];
1411
+ language = this._userControl.getUserPropertiesByKeyPath('interpreterLangCode', user.userId);
1412
+ if (language) {
1413
+ interpreterInputLanguageList.push({
1414
+ userId: user.userId,
1415
+ language: language
1416
+ });
1417
+ }
1418
+ }
1419
+ (0, _mobx.runInAction)(function () {
1420
+ _this15.interpreterInputLanguageList = interpreterInputLanguageList;
1421
+ });
1422
+ case 1:
1423
+ case "end":
1424
+ return _context5.stop();
1425
+ }
1426
+ }, _callee5, this);
1427
+ }));
1428
+ function _getOutputLanguage() {
1429
+ return _getOutputLanguage2.apply(this, arguments);
1430
+ }
1431
+ return _getOutputLanguage;
1432
+ }()
1433
+ }, {
1434
+ key: "handlerUserAction",
1435
+ value: function handlerUserAction(action, userId) {
1436
+ this.logger.info("handler User Action: ".concat(action, ", target userId: ").concat(userId));
1437
+ switch (action) {
1438
+ case _attendee.ParticipantActionType.MUTE_AUDIO:
1439
+ this._muteUserAudio(userId);
1440
+ break;
1441
+ case _attendee.ParticipantActionType.UNMUTE_AUDIO:
1442
+ this._unmuteUserAudio(userId);
1443
+ break;
1444
+ case _attendee.ParticipantActionType.MUTE_VIDEO:
1445
+ this._muteUserVideo(userId);
1446
+ break;
1447
+ case _attendee.ParticipantActionType.UNMUTE_VIDEO:
1448
+ this._unmuteUserVideo(userId);
1449
+ break;
1450
+ case _attendee.ParticipantActionType.PRIVATE_CHAT:
1451
+ this._privateChat(userId);
1452
+ break;
1453
+ case _attendee.ParticipantActionType.KICK_OUT:
1454
+ this._kickOutUser(userId);
1455
+ break;
1456
+ case _attendee.ParticipantActionType.ADD_PIN:
1457
+ this.addPin(userId);
1458
+ break;
1459
+ case _attendee.ParticipantActionType.REMOVE_PIN:
1460
+ this.removePin(userId);
1461
+ break;
1462
+ case _attendee.ParticipantActionType.SET_AS_HOST:
1463
+ this._setAsHost(userId);
1464
+ break;
1465
+ case _attendee.ParticipantActionType.SET_AS_CO_HOST:
1466
+ this._setAsCoHost(userId);
1467
+ break;
1468
+ case _attendee.ParticipantActionType.SET_AS_ATTENDEE:
1469
+ this._setAsAttendee(userId);
1470
+ break;
1471
+ case _attendee.ParticipantActionType.RENAME_IN_MEETING:
1472
+ this._openChangeNameDialog(userId);
1473
+ break;
1474
+ case _attendee.ParticipantActionType.PUT_IN_WAITING_ROOM:
1475
+ this._moveToWaitingRoomByUserId(userId);
1476
+ break;
1477
+ }
1478
+ }
1479
+ }, {
1480
+ key: "handleActiveTab",
1481
+ value: function handleActiveTab(tab) {
1482
+ this.activeTab = tab;
1483
+ if (this.activeTab === _type5.FcrUIRoomType.WAITING_ROOM) {
1484
+ this._sharedWaitingRoomDataSource.unReadState = false;
1485
+ }
1486
+ }
1487
+
1488
+ // [所有其他方法的完整实现...]
1489
+
1490
+ /**
1491
+ * 检查是否在会话持续时间内,避免重复发送请求
1492
+ * @param userId 用户ID
1493
+ * @param timestampMap 时间戳映射表
1494
+ * @returns 如果在持续时间内返回true,否则返回false
1495
+ */
1496
+ }, {
1497
+ key: "_isWithinSessionDuration",
1498
+ value: function _isWithinSessionDuration(userId, timestampMap) {
1499
+ var _timestampMap$get;
1500
+ var now = Date.now();
1501
+ return now - ((_timestampMap$get = timestampMap.get(userId)) !== null && _timestampMap$get !== void 0 ? _timestampMap$get : 0) <= _constant.SESSION_DURATION * 1000;
1502
+ }
1503
+
1504
+ /**
1505
+ * 设置权限并更新UI状态
1506
+ * 设置权限后需要同步更新UI状态
1507
+ * @param setPrivilege 设置权限的函数
1508
+ * @param uiState 要更新的UI状态
1509
+ */
1510
+ }, {
1511
+ key: "_setPrivilegeAndUpdateUI",
1512
+ value: function _setPrivilegeAndUpdateUI(setPrivilege, uiState) {
1513
+ setPrivilege();
1514
+ this._sharedSecurityDataSource.setCheckedStateMap(_objectSpread(_objectSpread({}, this.checkedStateMap), uiState));
1515
+ }
1516
+
1517
+ /**
1518
+ * 显示toast消息的辅助方法
1519
+ * @param message 消息内容
1520
+ * @param type 消息类型,默认为'normal'
1521
+ */
1522
+ }, {
1523
+ key: "_showToast",
1524
+ value: function _showToast(message) {
1525
+ var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'normal';
1526
+ this._messageProvider.showToast({
1527
+ message: message,
1528
+ type: type
1529
+ });
1530
+ }
1531
+
1532
+ /**
1533
+ * 打开对话框的辅助方法
1534
+ * @param dialogKey 对话框键值
1535
+ */
1536
+ }, {
1537
+ key: "_openDialog",
1538
+ value: function _openDialog(dialogKey, params) {
1539
+ this._dialogProvider.openDialog(dialogKey, params);
1540
+ }
1541
+
1542
+ /**
1543
+ * 更新流发布权限的辅助方法
1544
+ * @param streamId 流ID
1545
+ * @param audioPrivilege 音频权限
1546
+ * @param videoPrivilege 视频权限
1547
+ */
1548
+ }, {
1549
+ key: "_updateStreamPrivilege",
1550
+ value: function _updateStreamPrivilege(streamId, audioPrivilege, videoPrivilege) {
1551
+ this._streamControl.updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, streamId, {
1552
+ audioPrivilege: audioPrivilege,
1553
+ videoPrivilege: videoPrivilege
1554
+ }));
1555
+ }
1556
+
1557
+ /**
1558
+ * 获取用户的目标音频流
1559
+ * @param userId 用户ID
1560
+ * @returns 目标流信息,包含硬件设备流和普通客户端流
1561
+ */
1562
+ }, {
1563
+ key: "_getUserTargetAudioStreams",
1564
+ value: function _getUserTargetAudioStreams(userId) {
1565
+ var userStreams = this._streamControl.getStreamsByUserId(userId);
1566
+
1567
+ // 查找硬件设备流(PSTN电话、SIP、H323等外部设备连接)
1568
+ var hardwareDeviceStream = userStreams.find(function (stream) {
1569
+ return stream.connectorType !== _fcrCore.FcrRoomConnectorType.NONE;
1570
+ });
1571
+
1572
+ // 查找普通客户端流(来自电脑摄像头/麦克风的流)
1573
+ var normalClientStream = userStreams.find(function (stream) {
1574
+ return stream.videoSourceType === _fcrCore.FcrVideoSourceType.CAMERA;
1575
+ });
1576
+ return {
1577
+ hardwareDeviceStream: hardwareDeviceStream,
1578
+ normalClientStream: normalClientStream,
1579
+ isLocalUser: userId === this.localUser.userId
1580
+ };
1581
+ }
1582
+
1583
+ /**
1584
+ * 静音指定用户的音频
1585
+ * @param userId 用户ID
1586
+ */
1587
+ }, {
1588
+ key: "_muteUserAudio",
1589
+ value: function _muteUserAudio(userId) {
1590
+ var _this$_getUserTargetA = this._getUserTargetAudioStreams(userId),
1591
+ hardwareDeviceStream = _this$_getUserTargetA.hardwareDeviceStream,
1592
+ normalClientStream = _this$_getUserTargetA.normalClientStream,
1593
+ isLocalUser = _this$_getUserTargetA.isLocalUser;
1594
+
1595
+ // 如果是本地用户,需要先禁用本地麦克风设备
1596
+ if (isLocalUser) {
1597
+ this._deviceStreamStore.enableMicrophoneWithPreCheck(false);
1598
+ }
1599
+
1600
+ // 优先选择硬件设备流,如果没有则选择普通客户端流
1601
+ var targetStream = hardwareDeviceStream !== null && hardwareDeviceStream !== void 0 ? hardwareDeviceStream : normalClientStream;
1602
+
1603
+ // 如果找到目标流,则更新流的发布权限来静音
1604
+ if (targetStream) {
1605
+ this._updateStreamPrivilege(targetStream.streamId, _type.FcrStreamPrivilegeOperation.NOPRIVILEGE,
1606
+ // 移除音频发布权限(静音)
1607
+ _type.FcrStreamPrivilegeOperation.NOOPERATION // 视频权限保持不变
1608
+ );
1609
+ }
1610
+ }
1611
+
1612
+ /**
1613
+ * 取消静音指定用户的音频
1614
+ * @param userId 用户ID
1615
+ */
1616
+ }, {
1617
+ key: "_unmuteUserAudio",
1618
+ value: function _unmuteUserAudio(userId) {
1619
+ var _this$_getUserTargetA2 = this._getUserTargetAudioStreams(userId),
1620
+ hardwareDeviceStream = _this$_getUserTargetA2.hardwareDeviceStream,
1621
+ isLocalUser = _this$_getUserTargetA2.isLocalUser;
1622
+
1623
+ // 如果是硬件设备流,直接更新流的发布权限来取消静音
1624
+ if (hardwareDeviceStream) {
1625
+ this._updateStreamPrivilege(hardwareDeviceStream.streamId, _type.FcrStreamPrivilegeOperation.HAS_PRIVILEGE, _type.FcrStreamPrivilegeOperation.NOOPERATION);
1626
+ return;
1627
+ }
1628
+
1629
+ // 如果是本地用户,直接启用本地麦克风(上面硬件已经处理了,所以从这里往后都不是硬件设备了)
1630
+ if (isLocalUser) {
1631
+ this._deviceStreamStore.enableMicrophoneWithPreCheck(true);
1632
+ return;
1633
+ }
1634
+ // 邀请对端开启麦克风
1635
+ // 检查是否在会话持续时间内,避免重复发送请求
1636
+ if (this._isWithinSessionDuration(userId, this._unmuteAudioTimestamp)) {
1637
+ return;
1638
+ }
1639
+ this._unmuteAudioTimestamp.set(userId, Date.now());
1640
+ this._peerSessionControl.startPeerSession({
1641
+ sessionKey: _type2.FcrUISessionKey.REQUEST_OPEN_MICROPHONE,
1642
+ receiverId: userId,
1643
+ duration: _constant.SESSION_DURATION,
1644
+ payload: {
1645
+ sender: this.localUser
1646
+ }
1647
+ });
1648
+ }
1649
+
1650
+ /**
1651
+ * 静音指定用户的视频
1652
+ * @param userId 用户ID
1653
+ */
1654
+ }, {
1655
+ key: "_muteUserVideo",
1656
+ value: function _muteUserVideo(userId) {
1657
+ var isSelf = userId === this.localUser.userId;
1658
+ if (isSelf) {
1659
+ this._deviceStreamStore.enableCameraWithPreCheck(false);
1660
+ return;
1661
+ }
1662
+ var targetUsers = this._streamControl.getStreamsByUserId(userId);
1663
+ var targetUser = targetUsers.find(function (stream) {
1664
+ return stream.videoSourceType === _fcrCore.FcrVideoSourceType.CAMERA;
1665
+ });
1666
+ if (!targetUser) {
1667
+ return;
1668
+ }
1669
+ this._updateStreamPrivilege(targetUser.streamId, _type.FcrStreamPrivilegeOperation.NOOPERATION, _type.FcrStreamPrivilegeOperation.NOPRIVILEGE);
1670
+ }
1671
+ }, {
1672
+ key: "_unmuteUserVideo",
1673
+ value: function _unmuteUserVideo(userId) {
1674
+ var isSelf = userId === this.localUser.userId;
1675
+ if (isSelf) {
1676
+ this._deviceStreamStore.enableCameraWithPreCheck(true);
1677
+ return;
1678
+ }
1679
+ if (this._isWithinSessionDuration(userId, this._unmuteVideoTimestamp)) {
1680
+ return;
1681
+ }
1682
+ this._unmuteVideoTimestamp.set(userId, Date.now());
1683
+ this._peerSessionControl.startPeerSession({
1684
+ sessionKey: _type2.FcrUISessionKey.REQUEST_OPEN_CAMERA,
1685
+ receiverId: userId,
1686
+ duration: _constant.SESSION_DURATION,
1687
+ payload: {
1688
+ sender: this.localUser
1689
+ }
1690
+ });
1691
+ }
1692
+ }, {
1693
+ key: "_privateChat",
1694
+ value: function _privateChat(userId) {
1695
+ var userData = this.userListSource.find(function (u) {
1696
+ return u.userId === userId;
1697
+ });
1698
+ if (userData) {
1699
+ var hasPermissionToSendPrivateMessage = this._privilegeProvider.hasPermissionToSendPrivateMessage(userData.userInfo.userRole);
1700
+ if (!hasPermissionToSendPrivateMessage) {
1701
+ this._showToast((0, _i18n.transI18n)('fmt_attendies_tips_chat_off'), 'error');
1702
+ return;
1703
+ }
1704
+ if (!this._privilegeProvider.permitPrivateChat(userId)) {
1705
+ return;
1706
+ }
1707
+ this._chatProvider.setPrivateChatTargetUser(userData.userInfo, this.activeTab);
1708
+ // TODO:
1709
+ // if (isElectron() && this.screenSharingOwner?.userId === this.localUser.userId) {
1710
+ // this._sharedLayoutDataSource.setParticipantsRenderAt('dialog');
1711
+ // this._dialogProvider.openDialog(FcrUIDialogKey.CHAT);
1712
+ // return;
1713
+ // }
1714
+ // 打开私聊对话框
1715
+ var res = this.openChatWindow();
1716
+ if (res) {
1717
+ return;
1718
+ }
1719
+ if (this._sharedLayoutDataSource.chatRenderAt !== 'dialog') {
1720
+ this._sharedLayoutDataSource.setAsideLayout({
1721
+ chat: true
1722
+ });
1723
+ this._sharedChatDataSource.activeTab = this.activeTab;
1724
+ } else {
1725
+ this._openDialog(_constant.FcrUIDialogKey.CHAT);
1726
+ }
1727
+ }
1728
+ }
1729
+ }, {
1730
+ key: "_setAsHost",
1731
+ value: function _setAsHost(userId) {
1732
+ this._userControl.updateRemoteUserRole(userId, _type.FcrUserRole.HOST);
1733
+ }
1734
+ }, {
1735
+ key: "_setAsCoHost",
1736
+ value: function _setAsCoHost(userId) {
1737
+ this._userControl.updateRemoteUserRole(userId, _type.FcrUserRole.COHOST);
1738
+ }
1739
+ }, {
1740
+ key: "_setAsAttendee",
1741
+ value: function _setAsAttendee(userId) {
1742
+ this._userControl.updateRemoteUserRole(userId, _type.FcrUserRole.PARTICIPANT);
1743
+ }
1744
+
1745
+ /**
1746
+ * 将指定用户移动到等待房间
1747
+ * @param userId 要移动的用户ID
1748
+ */
1749
+ }, {
1750
+ key: "_moveToWaitingRoomByUserId",
1751
+ value: (function () {
1752
+ var _moveToWaitingRoomByUserId2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee6(userId) {
1753
+ var username, _t;
1754
+ return _regenerator["default"].wrap(function (_context6) {
1755
+ while (1) switch (_context6.prev = _context6.next) {
1756
+ case 0:
1757
+ if (!(!userId || typeof userId !== 'string')) {
1758
+ _context6.next = 1;
1759
+ break;
1760
+ }
1761
+ this.logger.warn('Invalid userId provided to _moveToWaitingRoomByUserId:', userId);
1762
+ return _context6.abrupt("return");
1763
+ case 1:
1764
+ if (this._isUserExists(userId)) {
1765
+ _context6.next = 2;
1766
+ break;
1767
+ }
1768
+ this.logger.warn('User not found for move to waiting room operation:', userId);
1769
+ return _context6.abrupt("return");
1770
+ case 2:
1771
+ username = this._getUserNameById(userId);
1772
+ _context6.prev = 3;
1773
+ this.logger.info('Moving user to waiting room:', {
1774
+ userId: userId,
1775
+ username: username
1776
+ });
1777
+ _context6.next = 4;
1778
+ return this._roomControl.moveToWaitingRoomByUserIds([userId]);
1779
+ case 4:
1780
+ this._showToast((0, _i18n.transI18n)('fmt_waitingroom_put_in_success', {
1781
+ reason1: username
1782
+ }), 'normal');
1783
+ this.logger.info('Successfully moved user to waiting room:', {
1784
+ userId: userId,
1785
+ username: username
1786
+ });
1787
+ _context6.next = 7;
1788
+ break;
1789
+ case 5:
1790
+ _context6.prev = 5;
1791
+ _t = _context6["catch"](3);
1792
+ this.logger.error('Failed to move user to waiting room:', {
1793
+ userId: userId,
1794
+ username: username,
1795
+ error: _t
1796
+ });
1797
+ if (!(_t instanceof _error.FcrError && _t.code === _constant.ErrorCode.FAILED_TO_MOVE_USER_TO_WAITING_ROOM)) {
1798
+ _context6.next = 6;
1799
+ break;
1800
+ }
1801
+ this._showToast((0, _i18n.transI18n)('fmt_waitingroom_setting_popup_toast_unable_move_creator'), 'error');
1802
+ return _context6.abrupt("return");
1803
+ case 6:
1804
+ this._showToast((0, _i18n.transI18n)('fmt_waitingroom_setting_popup_toast_move_in_failed'), 'error');
1805
+ case 7:
1806
+ case "end":
1807
+ return _context6.stop();
1808
+ }
1809
+ }, _callee6, this, [[3, 5]]);
1810
+ }));
1811
+ function _moveToWaitingRoomByUserId(_x2) {
1812
+ return _moveToWaitingRoomByUserId2.apply(this, arguments);
1813
+ }
1814
+ return _moveToWaitingRoomByUserId;
1815
+ }()
1816
+ /**
1817
+ * 踢出用户的主入口方法
1818
+ * 根据当前房间类型选择相应的处理逻辑
1819
+ * @param userId 要踢出的用户ID
1820
+ */
1821
+ )
1822
+ }, {
1823
+ key: "_kickOutUser",
1824
+ value: function _kickOutUser(userId) {
1825
+ // 参数验证
1826
+ if (!userId || typeof userId !== 'string') {
1827
+ this.logger.warn('Invalid userId provided to _kickOutUser:', userId);
1828
+ return;
1829
+ }
1830
+
1831
+ // 检查用户是否存在
1832
+ if (!this._isUserExists(userId)) {
1833
+ this.logger.warn('User not found for kick out operation:', userId);
1834
+ return;
1835
+ }
1836
+ var isMainRoom = this.activeTab === _type5.FcrUIRoomType.MAIN_ROOM;
1837
+ if (isMainRoom) {
1838
+ this._kickOutUserFromMainRoom(userId);
1839
+ } else {
1840
+ this._kickOutUserFromWaitingRoom(userId);
1841
+ }
1842
+ }
1843
+
1844
+ /**
1845
+ * 从主房间踢出用户
1846
+ * @param userId 用户ID
1847
+ */
1848
+ }, {
1849
+ key: "_kickOutUserFromMainRoom",
1850
+ value: function _kickOutUserFromMainRoom(userId) {
1851
+ var userName = this._getUserNameById(userId);
1852
+ var dialogConfig = this._createMainRoomKickOutDialogConfig(userId, userName);
1853
+ this.openConfirmDialog(dialogConfig, _struct.KICK_OUT_DIALOG_CONFIG.MAIN_ROOM.DIALOG_ID);
1854
+ }
1855
+
1856
+ /**
1857
+ * 从等待房间踢出用户
1858
+ * @param userId 用户ID
1859
+ */
1860
+ }, {
1861
+ key: "_kickOutUserFromWaitingRoom",
1862
+ value: function _kickOutUserFromWaitingRoom(userId) {
1863
+ var userName = this._getUserNameById(userId);
1864
+ var dialogConfig = this._createWaitingRoomKickOutDialogConfig(userId, userName);
1865
+ this.openRemoveAdmitWaitingRoomDialog(dialogConfig);
1866
+ }
1867
+
1868
+ /**
1869
+ * 检查用户是否存在
1870
+ * @param userId 用户ID
1871
+ * @returns 用户是否存在
1872
+ */
1873
+ }, {
1874
+ key: "_isUserExists",
1875
+ value: function _isUserExists(userId) {
1876
+ return this.userMap.has(userId);
1877
+ }
1878
+
1879
+ /**
1880
+ * 根据用户ID获取用户名
1881
+ * @param userId 用户ID
1882
+ * @returns 用户名,如果找不到则返回空字符串
1883
+ */
1884
+ }, {
1885
+ key: "_getUserNameById",
1886
+ value: function _getUserNameById(userId) {
1887
+ var _this$userMap$get3;
1888
+ return ((_this$userMap$get3 = this.userMap.get(userId)) === null || _this$userMap$get3 === void 0 ? void 0 : _this$userMap$get3.userInfo.userName) || '';
1889
+ }
1890
+
1891
+ /**
1892
+ * 创建主房间踢出用户的对话框配置
1893
+ * @param userId 用户ID
1894
+ * @param userName 用户名
1895
+ * @returns 对话框配置对象
1896
+ */
1897
+ }, {
1898
+ key: "_createMainRoomKickOutDialogConfig",
1899
+ value: function _createMainRoomKickOutDialogConfig(userId, userName) {
1900
+ var _this16 = this;
1901
+ return {
1902
+ title: '',
1903
+ content: (0, _i18n.transI18n)('fmt_uimanager_tips_Remove', {
1904
+ reason2: userName
1905
+ }),
1906
+ onOk: function onOk() {
1907
+ _this16._executeKickOut(userId, _type3.FcrUserKickedOutType.Once);
1908
+ },
1909
+ alignCenter: true,
1910
+ height: _struct.KICK_OUT_DIALOG_CONFIG.MAIN_ROOM.HEIGHT
1911
+ };
1912
+ }
1913
+
1914
+ /**
1915
+ * 创建等待房间踢出用户的对话框配置
1916
+ * @param userId 用户ID
1917
+ * @param userName 用户名
1918
+ * @returns 对话框配置对象
1919
+ */
1920
+ }, {
1921
+ key: "_createWaitingRoomKickOutDialogConfig",
1922
+ value: function _createWaitingRoomKickOutDialogConfig(userId, userName) {
1923
+ var _this17 = this;
1924
+ return {
1925
+ userId: userId,
1926
+ type: _struct.KICK_OUT_DIALOG_CONFIG.WAITING_ROOM.TYPE,
1927
+ title: (0, _i18n.transI18n)('fmt_waitingroom_sidebar_popup_removeall'),
1928
+ tooltip: (0, _i18n.transI18n)('fmt_waitingroom_sidebar_popup_label_remove', {
1929
+ reason1: userName
1930
+ }),
1931
+ onChecked: function onChecked(isChecked) {
1932
+ _this17._isChecked[_struct.KICK_OUT_DIALOG_CONFIG.WAITING_ROOM.TYPE] = isChecked;
1933
+ }
1934
+ };
1935
+ }
1936
+
1937
+ /**
1938
+ * 执行踢出用户操作
1939
+ * @param userId 用户ID
1940
+ * @param kickOutType 踢出类型
1941
+ */
1942
+ }, {
1943
+ key: "_executeKickOut",
1944
+ value: function _executeKickOut(userId, kickOutType) {
1945
+ try {
1946
+ this._userControl.kickOut(userId, kickOutType);
1947
+ this.logger.info('Successfully initiated kick out for user:', userId, 'type:', kickOutType);
1948
+ } catch (error) {
1949
+ this.logger.error('Failed to kick out user:', userId, 'error:', error);
1950
+ }
1951
+ }
1952
+ }, {
1953
+ key: "_onPeerSessionReceived",
1954
+ value: function _onPeerSessionReceived(session) {
1955
+ this.logger.info('participant store onPeerSessionReceived', {
1956
+ sessionId: session.sessionId
1957
+ });
1958
+
1959
+ // 检查是否已经处理过此会话
1960
+ if (this._isSessionAlreadyProcessed(session.sessionId)) {
1961
+ this.logger.info('Session already processed, skipping', {
1962
+ sessionId: session.sessionId
1963
+ });
1964
+ return;
1965
+ }
1966
+
1967
+ // 验证本地用户信息
1968
+ if (!this._validateLocalUser()) {
1969
+ this.logger.warn('Local user validation failed');
1970
+ return;
1971
+ }
1972
+
1973
+ // 标记会话为已处理
1974
+ this._processedUserOpenDeviceRequests.add(session.sessionId);
1975
+
1976
+ // 根据会话类型处理请求
1977
+ this._handleDeviceRequest(session);
1978
+ }
1979
+ }, {
1980
+ key: "_onPeerSessionAccepted",
1981
+ value: function _onPeerSessionAccepted(session) {
1982
+ this._updateSessionTimestamp(session);
1983
+ }
1984
+ }, {
1985
+ key: "_onPeerSessionRejected",
1986
+ value: function _onPeerSessionRejected(session) {
1987
+ this._updateSessionTimestamp(session);
1988
+ }
1989
+ }, {
1990
+ key: "_updateSessionTimestamp",
1991
+ value: function _updateSessionTimestamp(session) {
1992
+ var responderId = session.responderId,
1993
+ sessionKey = session.sessionKey;
1994
+ switch (sessionKey) {
1995
+ case _type2.FcrUISessionKey.REQUEST_OPEN_CAMERA:
1996
+ this._unmuteVideoTimestamp["delete"](responderId);
1997
+ break;
1998
+ case _type2.FcrUISessionKey.REQUEST_OPEN_MICROPHONE:
1999
+ this._unmuteAudioTimestamp["delete"](responderId);
2000
+ break;
2001
+ }
2002
+ }
2003
+
2004
+ /**
2005
+ * 设置等候室用户数量监听器
2006
+ * 当等候室用户数量为0时 tab自动切换回主房间
2007
+ */
2008
+ }, {
2009
+ key: "_setupWaitingRoomUserCountListener",
2010
+ value: function _setupWaitingRoomUserCountListener() {
2011
+ var _this18 = this;
2012
+ this._disposers.push((0, _mobx.reaction)(function () {
2013
+ return _this18.waitingRoomUserCount;
2014
+ }, function (userCount) {
2015
+ if (userCount === 0 && _this18.activeTab === _type5.FcrUIRoomType.WAITING_ROOM) {
2016
+ _this18.handleActiveTab(_type5.FcrUIRoomType.MAIN_ROOM);
2017
+ }
2018
+ }));
2019
+ }
2020
+
2021
+ /**
2022
+ * 检查会话是否已经被处理过
2023
+ * @param sessionId 会话ID
2024
+ * @returns 是否已处理
2025
+ */
2026
+ }, {
2027
+ key: "_isSessionAlreadyProcessed",
2028
+ value: function _isSessionAlreadyProcessed(sessionId) {
2029
+ return this._processedUserOpenDeviceRequests.has(sessionId);
2030
+ }
2031
+
2032
+ /**
2033
+ * 验证本地用户信息
2034
+ * @returns 验证是否通过
2035
+ */
2036
+ }, {
2037
+ key: "_validateLocalUser",
2038
+ value: function _validateLocalUser() {
2039
+ var localUserUid = this.localUser.userId;
2040
+ if (!localUserUid) {
2041
+ this.logger.warn('Local user ID not found');
2042
+ return false;
2043
+ }
2044
+ var localUserStream = this._streamControl.getStreamsByUserId(localUserUid).find(function (user) {
2045
+ return user.videoSourceType === _fcrCore.FcrVideoSourceType.CAMERA;
2046
+ });
2047
+ if (!localUserStream) {
2048
+ this.logger.warn('Local user stream not found');
2049
+ return false;
2050
+ }
2051
+ return true;
2052
+ }
2053
+
2054
+ /**
2055
+ * 处理设备请求
2056
+ * @param session 对等会话
2057
+ */
2058
+ }, {
2059
+ key: "_handleDeviceRequest",
2060
+ value: function _handleDeviceRequest(session) {
2061
+ var sessionKey = session.sessionKey,
2062
+ payload = session.payload;
2063
+ var sender = payload.sender;
2064
+ switch (sessionKey) {
2065
+ case _type2.FcrUISessionKey.REQUEST_OPEN_CAMERA:
2066
+ this._handleCameraRequest(session, sender);
2067
+ break;
2068
+ case _type2.FcrUISessionKey.REQUEST_OPEN_MICROPHONE:
2069
+ this._handleMicrophoneRequest(session, sender);
2070
+ break;
2071
+ default:
2072
+ this.logger.warn('Unknown session key', {
2073
+ sessionKey: sessionKey
2074
+ });
2075
+ }
2076
+ }
2077
+
2078
+ /**
2079
+ * 处理摄像头开启请求
2080
+ * @param session 对等会话
2081
+ * @param sender 发送者信息
2082
+ */
2083
+ }, {
2084
+ key: "_handleCameraRequest",
2085
+ value: function _handleCameraRequest(session, sender) {
2086
+ var localUserHasVideo = this._deviceStore.cameraEnabled;
2087
+ this.logger.info('Handling camera request', {
2088
+ sessionId: session.sessionId,
2089
+ localUserHasVideo: localUserHasVideo
2090
+ });
2091
+
2092
+ // 如果本地用户已经开启摄像头,直接接受请求
2093
+ if (localUserHasVideo) {
2094
+ this._peerSessionControl.acceptPeerSession(session);
2095
+ return;
2096
+ }
2097
+
2098
+ // 显示确认对话框
2099
+ this._showCameraRequestDialog(session, sender);
2100
+ }
2101
+
2102
+ /**
2103
+ * 处理麦克风开启请求
2104
+ * @param session 对等会话
2105
+ * @param sender 发送者信息
2106
+ */
2107
+ }, {
2108
+ key: "_handleMicrophoneRequest",
2109
+ value: function _handleMicrophoneRequest(session, sender) {
2110
+ var localUserHasAudio = this._deviceStore.microphoneEnabled;
2111
+ this.logger.info('Handling microphone request', {
2112
+ sessionId: session.sessionId,
2113
+ localUserHasAudio: localUserHasAudio
2114
+ });
2115
+
2116
+ // 如果本地用户已经开启麦克风,直接接受请求
2117
+ if (localUserHasAudio) {
2118
+ this._peerSessionControl.acceptPeerSession(session);
2119
+ return;
2120
+ }
2121
+
2122
+ // 显示确认对话框
2123
+ this._showMicrophoneRequestDialog(session, sender);
2124
+ }
2125
+
2126
+ /**
2127
+ * 显示摄像头请求确认对话框
2128
+ * @param session 对等会话
2129
+ * @param sender 发送者信息
2130
+ */
2131
+ }, {
2132
+ key: "_showCameraRequestDialog",
2133
+ value: function _showCameraRequestDialog(session, sender) {
2134
+ var _this19 = this;
2135
+ this.openConfirmDialog({
2136
+ height: 166,
2137
+ title: (0, _i18n.transI18n)('fmt_attendies_tips_apply_video_title', {
2138
+ reason1: (0, _i18n.transI18n)(_i18n2.userRoleI18nKey[sender.userRole])
2139
+ }),
2140
+ content: (0, _i18n.transI18n)('fmt_additional_tips_cameraturnon'),
2141
+ okText: (0, _i18n.transI18n)('fmt_additional_button_accept'),
2142
+ cancelText: (0, _i18n.transI18n)('fmt_additional_button_refuse'),
2143
+ closable: false,
2144
+ onOk: function onOk() {
2145
+ _this19._peerSessionControl.acceptPeerSession(session);
2146
+ _this19._deviceStreamStore.enableCameraWithPreCheck(true);
2147
+ },
2148
+ onCancel: function onCancel() {
2149
+ _this19._peerSessionControl.rejectPeerSession(session);
2150
+ }
2151
+ }, _type2.FcrUISessionKey.REQUEST_OPEN_CAMERA);
2152
+ }
2153
+
2154
+ /**
2155
+ * 显示麦克风请求确认对话框
2156
+ * @param session 对等会话
2157
+ * @param sender 发送者信息
2158
+ */
2159
+ }, {
2160
+ key: "_showMicrophoneRequestDialog",
2161
+ value: function _showMicrophoneRequestDialog(session, sender) {
2162
+ var _this20 = this;
2163
+ this.openConfirmDialog({
2164
+ title: (0, _i18n.transI18n)('fmt_attendies_tips_apply_audio_title', {
2165
+ reason1: (0, _i18n.transI18n)(_i18n2.userRoleI18nKey[sender.userRole])
2166
+ }),
2167
+ content: (0, _i18n.transI18n)('fmt_additional_tips_agreeturnon'),
2168
+ okText: (0, _i18n.transI18n)('fmt_device_label_audio_unmute'),
2169
+ cancelText: (0, _i18n.transI18n)('fmt_additional_options_Keepsilent'),
2170
+ closable: false,
2171
+ onOk: function onOk() {
2172
+ _this20._processedUserOpenDeviceRequests["delete"](session.sessionId);
2173
+ _this20._peerSessionControl.acceptPeerSession(session);
2174
+ _this20._deviceStreamStore.enableMicrophoneWithPreCheck(true);
2175
+ },
2176
+ onCancel: function onCancel() {
2177
+ _this20._processedUserOpenDeviceRequests["delete"](session.sessionId);
2178
+ _this20._peerSessionControl.rejectPeerSession(session);
2179
+ },
2180
+ height: 166
2181
+ }, _type2.FcrUISessionKey.REQUEST_OPEN_MICROPHONE);
2182
+ }
2183
+ }, {
2184
+ key: "_handleEvent",
2185
+ value: function _handleEvent(event, payload) {
2186
+ switch (event) {
2187
+ case _constant.FcrUIAction.PARTICIPANT_ACTION:
2188
+ this.handlerUserAction(payload.action, payload.userId);
2189
+ break;
2190
+ }
2191
+ }
2192
+ }]);
2193
+ }();
2194
+ _ParticipantStoreBase = ParticipantStoreBase;
2195
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_ParticipantStoreBase, [[_mobx.observable, 1, "_operatorRenameUserName"], [_mobx.observable, 1, "_mainList"], [_mobx.observable, 1, "_isChecked"], [_mobx.observable, 1, "_participantsWindowActive"], [_mobx.observable, 1, "enableParticipantsJoinWithMute"], [_mobx.observable, 1, "searchText"], [_mobx.observable, 1, "currentModal"], [_mobx.observable, 1, "mergeConfirmDialog"], [_mobx.observable, 1, "mergeUserId"], [_mobx.observable, 1, "activeTab"], [_mobx.observable, 1, "interpreterInputLanguageList"], [_mobx.observable, 1, "newName"], [_mobx.observable, 1, "allowUnmute"], [_mobx.observable, 1, "joinWithMuteAudio"], [_mobx.observable, 1, "showBecomeHostButton"], [_mobx.computed, 3, "operatorRenameUserName"], [_mobx.computed, 3, "audioVolumeMap"], [_mobx.computed, 3, "userListSource"], [_mobx.computed, 3, "spotlightStreamId"], [_mobx.computed, 3, "mergeUserInfo"], [_mobx.computed, 3, "userMap"], [_mobx.computed, 3, "userCount"], [_mobx.computed, 3, "pinedStreamIds"], [_mobx.computed, 3, "hasPinnedStream"], [_mobx.computed, 3, "userList"], [_mobx.computed, 3, "localMicVolume"], [_mobx.computed, 3, "hasRevokeHostPermission"], [_mobx.computed, 3, "waitingRoomUserCount"], [_mobx.computed, 3, "isNewWaitingRoomUserEnter"], [_decorator.bound, 2, "hasMutePermission"], [_decorator.bound, 2, "hasWaitingRoomPermission"], [_decorator.bound, 2, "hasUnmutePermission"], [_decorator.bound, 2, "hasRequestStartAudioPermission"], [_setCurrentModalDecs, 18, "setCurrentModal"], [_decorator.bound, 2, "closeParticipantsAside"], [_decorator.bound, 2, "closeDialog"], [_setParticipantsWindowActiveDecs, 18, "setParticipantsWindowActive"], [_handlerSearchUserDecs, 18, "handlerSearchUser"], [_decorator.bound, 2, "onInvite"], [_decorator.bound, 2, "setMergeConfirmDialog"], [_decorator.bound, 2, "mergeConfirmDialogOk"], [_openRemoveAdmitWaitingRoomDialogDecs, 18, "openRemoveAdmitWaitingRoomDialog"], [_setAllowUnmuteDecs, 18, "setAllowUnmute"], [_setAllowJoinWithMuteAudioDecs, 18, "setAllowJoinWithMuteAudio"], [_openMuteAllDialogDecs, 18, "openMuteAllDialog"], [_handlerRoomControlActionDecs, 18, "handlerRoomControlAction"], [_decorator.bound, 2, "moveParticipantFromDialogToAside"], [_moveToMainRoomByUserIdsDecs, 18, "moveToMainRoomByUserIds"], [_kickOutWaitingRoomAllMemberDecs, 18, "kickOutWaitingRoomAllMember"], [_moveToMainRoomAllMemberDecs, 18, "moveToMainRoomAllMember"], [_removeWaitingRoomUserDecs, 18, "removeWaitingRoomUser"], [_decorator.bound, 2, "removePin"], [_decorator.bound, 2, "addPin"], [_decorator.bound, 2, "_getPinStreamIdFromUser"], [_handleConfirmChangeNameDecs, 18, "handleConfirmChangeName"], [_handleCancelChangeNameDecs, 18, "handleCancelChangeName"], [_closeChangeNameDialogDecs, 18, "_closeChangeNameDialog"], [_getOutputLanguageDecs, 18, "_getOutputLanguage"], [_handlerUserActionDecs, 18, "handlerUserAction"], [_handleActiveTabDecs, 18, "handleActiveTab"], [_moveToWaitingRoomByUserIdDecs, 18, "_moveToWaitingRoomByUserId"], [_kickOutUserDecs, 18, "_kickOutUser"], [_onPeerSessionReceivedDecs, 18, "_onPeerSessionReceived"], [_decorator.bound, 2, "_onPeerSessionAccepted"], [_decorator.bound, 2, "_onPeerSessionRejected"], [_decorator.bound, 2, "_handleEvent"]], []).e, 16);
2196
+ _init__operatorRenameUserName = _applyDecs$e[0];
2197
+ _init__mainList = _applyDecs$e[1];
2198
+ _init__isChecked = _applyDecs$e[2];
2199
+ _init__participantsWindowActive = _applyDecs$e[3];
2200
+ _init_enableParticipantsJoinWithMute = _applyDecs$e[4];
2201
+ _init_searchText = _applyDecs$e[5];
2202
+ _init_currentModal = _applyDecs$e[6];
2203
+ _init_mergeConfirmDialog = _applyDecs$e[7];
2204
+ _init_mergeUserId = _applyDecs$e[8];
2205
+ _init_activeTab = _applyDecs$e[9];
2206
+ _init_interpreterInputLanguageList = _applyDecs$e[10];
2207
+ _init_newName = _applyDecs$e[11];
2208
+ _init_allowUnmute = _applyDecs$e[12];
2209
+ _init_joinWithMuteAudio = _applyDecs$e[13];
2210
+ _init_showBecomeHostButton = _applyDecs$e[14];
2211
+ _initProto = _applyDecs$e[15];
2212
+ var StoreContext = exports.StoreContext = /*#__PURE__*/(0, _react.createContext)(null);