fcr-ui-scene 3.7.5 → 3.7.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (401) hide show
  1. package/installer/icons/icon.png +0 -0
  2. package/installer/mac/entitlements.mac.plist +1 -5
  3. package/lib/creator/index.js +15 -7
  4. package/lib/creator/provider-initializer.browser.js +13 -4
  5. package/lib/creator/provider-initializer.electron.js +22 -10
  6. package/lib/creator.d.ts +36 -0
  7. package/lib/creator.js +465 -0
  8. package/lib/electron/bootstrap-sdk.js +90 -6
  9. package/lib/electron/injections.d.ts +1 -0
  10. package/lib/electron/injections.js +5 -1
  11. package/lib/electron/ipc/type.d.ts +1 -0
  12. package/lib/electron/ipc/type.js +1 -0
  13. package/lib/electron/preload.js +1 -0
  14. package/lib/electron/sdk-helper.d.ts +3 -0
  15. package/lib/electron/sdk-helper.js +53 -19
  16. package/lib/electron/struct.d.ts +7 -1
  17. package/lib/electron/struct.js +8 -1
  18. package/lib/electron/until.d.ts +7 -1
  19. package/lib/electron/until.js +11 -2
  20. package/lib/fragments/annotation/store.js +2 -0
  21. package/lib/modules/action-bar/components/item/index.js +1 -0
  22. package/lib/modules/action-bar/components/more/poppover-content.js +1 -1
  23. package/lib/modules/action-bar/components/screen-share/index.browser.js +4 -2
  24. package/lib/modules/action-bar/components/screen-share/index.electron.js +4 -2
  25. package/lib/modules/action-bar/components/screen-share/submenu.d.ts +5 -1
  26. package/lib/modules/action-bar/components/screen-share/submenu.js +12 -9
  27. package/lib/modules/action-bar/index.d.ts +55 -14
  28. package/lib/modules/action-bar/index.dev.js +94 -0
  29. package/lib/modules/action-bar/index.js +78 -32
  30. package/lib/modules/action-bar/store.d.ts +259 -0
  31. package/lib/modules/action-bar/store.js +1529 -0
  32. package/lib/modules/action-bar/types.d.ts +90 -0
  33. package/lib/modules/action-bar/types.js +6 -0
  34. package/lib/modules/action-bar/view.d.ts +1 -1
  35. package/lib/modules/action-bar/view.js +2 -2
  36. package/lib/modules/annotation/annotation-index.d.ts +2 -0
  37. package/lib/modules/annotation/annotation-index.js +80 -0
  38. package/lib/modules/annotation/annotation-toolbar-store.d.ts +75 -0
  39. package/lib/modules/annotation/annotation-toolbar-store.js +459 -0
  40. package/lib/modules/annotation/board-cursor.css +77 -0
  41. package/lib/modules/annotation/components/color-picker/components/color.d.ts +5 -0
  42. package/lib/modules/annotation/components/color-picker/components/color.js +38 -0
  43. package/lib/modules/annotation/components/color-picker/components/panel.d.ts +1 -0
  44. package/lib/modules/annotation/components/color-picker/components/panel.js +109 -0
  45. package/lib/modules/annotation/components/color-picker/components/picker.d.ts +1 -0
  46. package/lib/modules/annotation/components/color-picker/components/picker.js +75 -0
  47. package/lib/modules/annotation/components/color-picker/index.d.ts +2 -0
  48. package/lib/modules/annotation/components/color-picker/index.js +47 -0
  49. package/lib/modules/annotation/components/eraser-picker.d.ts +4 -0
  50. package/lib/modules/annotation/components/eraser-picker.js +144 -0
  51. package/lib/modules/annotation/components/expansion/index.d.ts +1 -0
  52. package/lib/modules/annotation/components/expansion/index.js +100 -0
  53. package/lib/modules/annotation/components/extra-tool-picker.d.ts +1 -0
  54. package/lib/modules/annotation/components/extra-tool-picker.js +62 -0
  55. package/lib/modules/annotation/components/history.d.ts +2 -0
  56. package/lib/modules/annotation/components/history.js +78 -0
  57. package/lib/modules/annotation/components/icons/fold-icon.d.ts +2 -0
  58. package/lib/modules/annotation/components/icons/fold-icon.js +41 -0
  59. package/lib/modules/annotation/components/icons/move-icon.d.ts +1 -0
  60. package/lib/modules/annotation/components/icons/move-icon.js +66 -0
  61. package/lib/modules/annotation/components/item/index.d.ts +1 -0
  62. package/lib/modules/annotation/components/item/index.js +43 -0
  63. package/lib/modules/annotation/components/move-handle.d.ts +5 -0
  64. package/lib/modules/annotation/components/move-handle.js +134 -0
  65. package/lib/modules/annotation/components/pen-picker.d.ts +4 -0
  66. package/lib/modules/annotation/components/pen-picker.js +155 -0
  67. package/lib/modules/annotation/components/screen-capture-picker.d.ts +4 -0
  68. package/lib/modules/annotation/components/screen-capture-picker.js +85 -0
  69. package/lib/modules/annotation/components/shape-picker.d.ts +4 -0
  70. package/lib/modules/annotation/components/shape-picker.js +210 -0
  71. package/lib/modules/annotation/hooks/index.d.ts +14 -0
  72. package/lib/modules/annotation/hooks/index.js +292 -0
  73. package/lib/modules/annotation/index.d.ts +45 -0
  74. package/lib/modules/annotation/index.js +168 -0
  75. package/lib/modules/annotation/store.d.ts +98 -0
  76. package/lib/modules/annotation/store.js +620 -0
  77. package/lib/modules/annotation/style.css +36 -0
  78. package/lib/modules/annotation/view.d.ts +3 -0
  79. package/lib/modules/annotation/view.js +44 -0
  80. package/lib/modules/audio-stream/index.js +4 -2
  81. package/lib/modules/chat/index.css +8 -0
  82. package/lib/modules/chat/view.js +7 -1
  83. package/lib/modules/components/control-bar/components/switch-theme/index.css +2 -0
  84. package/lib/modules/components/control-bar/components/switch-theme/index.js +5 -7
  85. package/lib/modules/components/control-bar/index.css +0 -2
  86. package/lib/modules/components/control-bar/index.d.ts +1 -0
  87. package/lib/modules/components/control-bar/index.js +51 -15
  88. package/lib/modules/components/device-control/store.d.ts +42 -0
  89. package/lib/modules/components/device-control/store.js +241 -0
  90. package/lib/modules/components/leave-meeting/main-scene/store.d.ts +3 -0
  91. package/lib/modules/components/leave-meeting/main-scene/store.js +12 -0
  92. package/lib/modules/components/leave-meeting/store.base.d.ts +4 -3
  93. package/lib/modules/components/leave-meeting/store.base.js +0 -10
  94. package/lib/modules/components/leave-meeting/store.d.ts +39 -0
  95. package/lib/modules/components/leave-meeting/store.js +270 -0
  96. package/lib/modules/components/leave-meeting/waiting-scene/store.d.ts +5 -1
  97. package/lib/modules/components/leave-meeting/waiting-scene/store.js +17 -3
  98. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +1 -2
  99. package/lib/modules/components/member-window/components/video-player/components/local-video-player-with-zoom.js +4 -3
  100. package/lib/modules/components/member-window/components/video-player/components/zoomable-container.js +18 -32
  101. package/lib/modules/components/toolbar/components/capture-tool/index.d.ts +0 -1
  102. package/lib/modules/components/toolbar/components/capture-tool/index.js +1 -2
  103. package/lib/modules/components/toolbar/components/vertical-frame/index.js +2 -2
  104. package/lib/modules/components/toolbar/hooks/use-resize-visible.js +45 -32
  105. package/lib/modules/components/toolbar/index.js +6 -24
  106. package/lib/modules/control-bar/components/annotation-button/index.d.ts +1 -0
  107. package/lib/modules/control-bar/components/annotation-button/index.js +72 -0
  108. package/lib/modules/control-bar/components/boundary-detector.d.ts +7 -5
  109. package/lib/modules/control-bar/components/boundary-detector.js +22 -2
  110. package/lib/modules/control-bar/components/cloud-recording-buttons.d.ts +3 -0
  111. package/lib/modules/control-bar/components/cloud-recording-buttons.js +68 -3
  112. package/lib/modules/control-bar/hooks.js +2 -1
  113. package/lib/modules/control-bar/store.d.ts +1 -0
  114. package/lib/modules/control-bar/store.js +21 -7
  115. package/lib/modules/control-bar/types.d.ts +5 -16
  116. package/lib/modules/control-bar/view.js +96 -28
  117. package/lib/modules/dialog/components/confirm/index.js +6 -24
  118. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +1 -0
  119. package/lib/modules/dialog/components/dialog-container/component/body.js +3 -2
  120. package/lib/modules/dialog/components/dialog-container/index.css +8 -1
  121. package/lib/modules/dialog/components/dialog-container/index.d.ts +1 -0
  122. package/lib/modules/dialog/components/dialog-container/index.js +4 -1
  123. package/lib/modules/dialog/components/normal-window/index.d.ts +1 -0
  124. package/lib/modules/dialog/components/normal-window/index.js +3 -1
  125. package/lib/modules/dialog/dialogs/chat/index.js +2 -1
  126. package/lib/modules/dialog/dialogs/control-bar-leave-meeting/index.js +0 -1
  127. package/lib/modules/dialog/dialogs/device-setting/index.d.ts +1 -0
  128. package/lib/modules/dialog/dialogs/device-setting/index.js +4 -2
  129. package/lib/modules/dialog/dialogs/end-meeting/index.d.ts +1 -0
  130. package/lib/modules/dialog/dialogs/end-meeting/index.js +2 -1
  131. package/lib/modules/dialog/dialogs/invite/index.d.ts +1 -0
  132. package/lib/modules/dialog/dialogs/invite/index.js +2 -1
  133. package/lib/modules/dialog/dialogs/mute-all/index.d.ts +1 -0
  134. package/lib/modules/dialog/dialogs/mute-all/index.js +2 -1
  135. package/lib/modules/dialog/dialogs/participant/index.js +9 -2
  136. package/lib/modules/dialog/dialogs/pre-setting/index.d.ts +3 -3
  137. package/lib/modules/dialog/dialogs/pre-setting/index.js +25 -20
  138. package/lib/modules/dialog/dialogs/share-screen-selection/index.js +1 -1
  139. package/lib/modules/dialog/dialogs/sub-window/index.js +1 -7
  140. package/lib/modules/dialog/dialogs/toast/index.d.ts +1 -1
  141. package/lib/modules/dialog/dialogs/toast/index.js +1 -1
  142. package/lib/modules/dialog/dialogs/video-window/index.d.ts +4 -1
  143. package/lib/modules/dialog/dialogs/video-window/index.js +5 -2
  144. package/lib/modules/dialog/dialogs/widget/electron.d.ts +6 -0
  145. package/lib/modules/dialog/dialogs/widget/electron.js +38 -0
  146. package/lib/modules/dialog/dialogs/widget/index.d.ts +2 -0
  147. package/lib/modules/dialog/dialogs/widget/index.js +11 -3
  148. package/lib/modules/dialog/hooks/use-popover-watcher.js +1 -3
  149. package/lib/modules/dialog/hooks/useElectron.d.ts +28 -0
  150. package/lib/modules/dialog/hooks/useElectron.js +277 -0
  151. package/lib/modules/dialog/index.css +6 -2
  152. package/lib/modules/dialog/level-config.d.ts +1 -0
  153. package/lib/modules/dialog/level-config.js +2 -1
  154. package/lib/modules/dialog/store.base.d.ts +2 -0
  155. package/lib/modules/dialog/store.browser.d.ts +2 -0
  156. package/lib/modules/dialog/store.browser.js +6 -1
  157. package/lib/modules/dialog/store.d.ts +135 -0
  158. package/lib/modules/dialog/store.electron.d.ts +9 -1
  159. package/lib/modules/dialog/store.electron.js +64 -4
  160. package/lib/modules/dialog/store.js +616 -0
  161. package/lib/modules/dialog/type.d.ts +3 -0
  162. package/lib/modules/event-confirm/components/window/index.d.ts +7 -0
  163. package/lib/modules/event-confirm/components/window/index.js +221 -0
  164. package/lib/modules/event-confirm/index.css +24 -0
  165. package/lib/modules/event-confirm/index.d.ts +27 -0
  166. package/lib/modules/event-confirm/index.js +76 -0
  167. package/lib/modules/event-confirm/store.d.ts +50 -0
  168. package/lib/modules/event-confirm/store.js +394 -0
  169. package/lib/modules/event-confirm/view.d.ts +2 -0
  170. package/lib/modules/event-confirm/view.js +55 -0
  171. package/lib/modules/event-toast/index.css +0 -1
  172. package/lib/modules/event-toast/index.js +1 -0
  173. package/lib/modules/event-toast/store.base.d.ts +2 -0
  174. package/lib/modules/event-toast/store.base.js +40 -21
  175. package/lib/modules/event-toast/store.d.ts +9 -5
  176. package/lib/modules/event-toast/store.electron.d.ts +2 -0
  177. package/lib/modules/event-toast/store.electron.js +19 -9
  178. package/lib/modules/event-toast/store.js +57 -39
  179. package/lib/modules/layout/components/CommonVideoRenderer.js +1 -0
  180. package/lib/modules/layout/store.d.ts +176 -0
  181. package/lib/modules/layout/store.electron.js +1 -1
  182. package/lib/modules/layout/store.js +1452 -0
  183. package/lib/modules/participant/components/confirm-input/index.js +1 -1
  184. package/lib/modules/participant/store.base.d.ts +30 -3
  185. package/lib/modules/participant/store.base.js +249 -96
  186. package/lib/modules/participant/store.browser.js +4 -3
  187. package/lib/modules/participant/store.d.ts +222 -0
  188. package/lib/modules/participant/store.electron.js +5 -3
  189. package/lib/modules/participant/store.js +1929 -0
  190. package/lib/modules/pc-audio-connect/index.d.ts +22 -0
  191. package/lib/modules/pc-audio-connect/index.js +67 -0
  192. package/lib/modules/pc-audio-connect/main-scene/store.js +1 -0
  193. package/lib/modules/pc-audio-connect/store.d.ts +46 -0
  194. package/lib/modules/pc-audio-connect/store.js +304 -0
  195. package/lib/modules/secondary-window/store.d.ts +1 -1
  196. package/lib/modules/secondary-window/store.js +14 -22
  197. package/lib/modules/secondary-window/view.js +10 -10
  198. package/lib/modules/setting/audio-settings/audio-settings.js +0 -17
  199. package/lib/modules/setting/dialog-wrapper.d.ts +2 -0
  200. package/lib/modules/setting/dialog-wrapper.js +110 -0
  201. package/lib/modules/setting/index.js +1 -1
  202. package/lib/modules/setting/state/index.js +1 -1
  203. package/lib/modules/setting/store.base.d.ts +5 -2
  204. package/lib/modules/setting/store.base.js +72 -26
  205. package/lib/modules/setting/store.d.ts +261 -0
  206. package/lib/modules/setting/store.js +1321 -0
  207. package/lib/modules/share-screen/components/selection/index.css +4 -0
  208. package/lib/modules/share-screen/store.base.js +17 -4
  209. package/lib/modules/share-screen/store.d.ts +148 -0
  210. package/lib/modules/share-screen/store.electron.js +5 -2
  211. package/lib/modules/share-screen/store.js +960 -0
  212. package/lib/modules/share-screen/types.d.ts +26 -0
  213. package/lib/modules/share-screen/types.js +6 -0
  214. package/lib/modules/state-bar/layout-config.js +6 -0
  215. package/lib/modules/state-bar/main-scene/store.base.d.ts +2 -0
  216. package/lib/modules/state-bar/main-scene/store.base.js +6 -0
  217. package/lib/modules/state-bar/store.d.ts +124 -0
  218. package/lib/modules/state-bar/store.js +664 -0
  219. package/lib/modules/video-window/index.css +6 -0
  220. package/lib/modules/video-window/popover-watcher.d.ts +5 -10
  221. package/lib/modules/video-window/popover-watcher.js +34 -31
  222. package/lib/modules/video-window/store.d.ts +32 -5
  223. package/lib/modules/video-window/store.js +156 -63
  224. package/lib/modules/video-window/view.js +50 -1
  225. package/lib/modules/whiteboard/components/progress/electron.d.ts +1 -0
  226. package/lib/modules/whiteboard/components/progress/electron.js +33 -0
  227. package/lib/modules/whiteboard/index.d.ts +1 -1
  228. package/lib/modules/whiteboard/index.js +1 -1
  229. package/lib/modules/whiteboard/store.d.ts +3 -0
  230. package/lib/modules/whiteboard/store.js +31 -2
  231. package/lib/modules/whiteboard/view.js +10 -1
  232. package/lib/modules/widget/sdk.js +1 -1
  233. package/lib/modules/widget/store.base.d.ts +1 -0
  234. package/lib/modules/widget/store.browser.d.ts +1 -0
  235. package/lib/modules/widget/store.browser.js +60 -4
  236. package/lib/modules/widget/store.d.ts +5 -8
  237. package/lib/modules/widget/store.electron.d.ts +1 -0
  238. package/lib/modules/widget/store.electron.js +59 -2
  239. package/lib/modules/widget/store.js +4 -47
  240. package/lib/modules/widget/type.d.ts +3 -2
  241. package/lib/modules/widget/view.js +9 -4
  242. package/lib/modules/widget/web-widget.d.ts +2 -1
  243. package/lib/modules/widget/web-widget.js +7 -5
  244. package/lib/object-manager.d.ts +2 -2
  245. package/lib/object-manager.js +1 -1
  246. package/lib/providers/annotation-provider.d.ts +124 -0
  247. package/lib/providers/annotation-provider.js +369 -0
  248. package/lib/providers/board-share/bar-control/base.d.ts +1 -1
  249. package/lib/providers/board-share/bar-control/base.js +37 -28
  250. package/lib/providers/board-share/bar-control/electron.d.ts +1 -1
  251. package/lib/providers/board-share/bar-control/electron.js +19 -16
  252. package/lib/providers/board-share/provider.base.d.ts +8 -1
  253. package/lib/providers/board-share/provider.base.js +12 -2
  254. package/lib/providers/board-share/provider.browser.d.ts +3 -0
  255. package/lib/providers/board-share/provider.browser.js +21 -3
  256. package/lib/providers/device-provider.d.ts +16 -2
  257. package/lib/providers/device-provider.js +53 -60
  258. package/lib/providers/dialog/provider.base.d.ts +1 -0
  259. package/lib/providers/dialog/provider.browser.d.ts +1 -0
  260. package/lib/providers/dialog/provider.browser.js +7 -2
  261. package/lib/providers/dialog/provider.electron.d.ts +4 -1
  262. package/lib/providers/dialog/provider.electron.js +94 -2
  263. package/lib/providers/dialog/type.d.ts +7 -0
  264. package/lib/providers/dialog-provider.d.ts +137 -0
  265. package/lib/providers/dialog-provider.js +194 -0
  266. package/lib/providers/message-provider.d.ts +69 -0
  267. package/lib/providers/message-provider.js +140 -0
  268. package/lib/providers/mouse-detect/provider.d.ts +9 -1
  269. package/lib/providers/mouse-detect/provider.js +119 -5
  270. package/lib/providers/mouse-detect/struct.d.ts +2 -1
  271. package/lib/providers/mouse-detect/struct.js +1 -0
  272. package/lib/providers/mouse-detect/type.d.ts +2 -0
  273. package/lib/providers/multi-display-provider.d.ts +3 -5
  274. package/lib/providers/multi-display-provider.js +0 -9
  275. package/lib/providers/renderer-provider.d.ts +5 -0
  276. package/lib/providers/renderer-provider.js +5 -0
  277. package/lib/providers/room-provider/room-provider.d.ts +4 -14
  278. package/lib/providers/room-provider/room-provider.js +28 -39
  279. package/lib/providers/room-provider.d.ts +194 -0
  280. package/lib/providers/room-provider.js +916 -0
  281. package/lib/providers/screen-share/provider.base.js +3 -11
  282. package/lib/providers/screen-share/provider.browser.js +23 -14
  283. package/lib/providers/screen-share/provider.electron.d.ts +1 -0
  284. package/lib/providers/screen-share/provider.electron.js +44 -17
  285. package/lib/providers/screen-share/strategy/browser.js +16 -13
  286. package/lib/providers/screen-share/strategy/electron.d.ts +2 -2
  287. package/lib/providers/screen-share/strategy/electron.js +15 -10
  288. package/lib/providers/screen-share/strategy/type.d.ts +6 -0
  289. package/lib/providers/screen-share/stream-state-sync.d.ts +3 -2
  290. package/lib/providers/screen-share/stream-state-sync.js +26 -16
  291. package/lib/providers/screen-share/struct.d.ts +9 -7
  292. package/lib/providers/screen-share/struct.js +11 -8
  293. package/lib/providers/screen-share/type.d.ts +7 -1
  294. package/lib/providers/screen-share-provider.d.ts +245 -0
  295. package/lib/providers/screen-share-provider.js +850 -0
  296. package/lib/providers/sharing-provider.d.ts +42 -0
  297. package/lib/providers/sharing-provider.js +228 -0
  298. package/lib/providers/user-setting-storage-provider.d.ts +21 -0
  299. package/lib/providers/user-setting-storage-provider.js +65 -0
  300. package/lib/providers/whiteboard-provider.d.ts +2 -4
  301. package/lib/providers/whiteboard-provider.js +4 -7
  302. package/lib/providers/widget-provider.d.ts +5 -3
  303. package/lib/providers/widget-provider.js +12 -18
  304. package/lib/providers/window/main-window.d.ts +0 -5
  305. package/lib/providers/window/main-window.js +3 -44
  306. package/lib/providers/window/renderer-window.d.ts +1 -0
  307. package/lib/providers/window/renderer-window.js +13 -2
  308. package/lib/runtime.d.ts +1 -0
  309. package/lib/runtime.js +2 -1
  310. package/lib/scenes/main-scene.js +5 -0
  311. package/lib/shared-context/board-context.d.ts +2 -0
  312. package/lib/shared-context/board-context.js +2 -0
  313. package/lib/shared-data/member-data.d.ts +0 -8
  314. package/lib/shared-data/member-data.js +26 -78
  315. package/lib/shared-data/widget-data.d.ts +13 -0
  316. package/lib/shared-data/widget-data.js +50 -0
  317. package/lib/shared-data-source/annotation-data.d.ts +17 -0
  318. package/lib/{modules/action-bar/store.base.js → shared-data-source/annotation-data.js} +34 -41
  319. package/lib/shared-data-source/app-list-data.d.ts +34 -0
  320. package/lib/shared-data-source/app-list-data.js +133 -0
  321. package/lib/shared-data-source/chat-data.d.ts +25 -0
  322. package/lib/shared-data-source/chat-data.js +139 -0
  323. package/lib/shared-data-source/config.d.ts +35 -0
  324. package/lib/shared-data-source/config.js +40 -0
  325. package/lib/shared-data-source/confirm-data.d.ts +44 -0
  326. package/lib/shared-data-source/confirm-data.js +201 -0
  327. package/lib/shared-data-source/device-privilege-data.d.ts +8 -0
  328. package/lib/shared-data-source/device-privilege-data.js +25 -0
  329. package/lib/shared-data-source/interpreter.d.ts +77 -0
  330. package/lib/shared-data-source/interpreter.js +247 -0
  331. package/lib/shared-data-source/layout-data.d.ts +31 -0
  332. package/lib/shared-data-source/layout-data.js +189 -0
  333. package/lib/shared-data-source/meeting-time.d.ts +90 -0
  334. package/lib/shared-data-source/meeting-time.js +416 -0
  335. package/lib/shared-data-source/member-data.d.ts +139 -0
  336. package/lib/shared-data-source/member-data.js +517 -0
  337. package/lib/shared-data-source/pin-data.d.ts +13 -0
  338. package/lib/{modules/action-bar/waiting-scene/store.js → shared-data-source/pin-data.js} +55 -35
  339. package/lib/shared-data-source/screen-share-data.d.ts +357 -0
  340. package/lib/shared-data-source/screen-share-data.js +513 -0
  341. package/lib/shared-data-source/security-data.d.ts +39 -0
  342. package/lib/shared-data-source/security-data.js +156 -0
  343. package/lib/shared-data-source/setting.d.ts +67 -0
  344. package/lib/shared-data-source/setting.js +220 -0
  345. package/lib/shared-data-source/speaker-spotlight.d.ts +5 -0
  346. package/lib/shared-data-source/speaker-spotlight.js +15 -0
  347. package/lib/shared-data-source/video-window.d.ts +165 -0
  348. package/lib/shared-data-source/video-window.js +1266 -0
  349. package/lib/shared-data-source/waiting-room.d.ts +46 -0
  350. package/lib/shared-data-source/waiting-room.js +222 -0
  351. package/lib/{shared-data → shared-data-source}/whiteboard-data.d.ts +2 -2
  352. package/lib/{shared-data → shared-data-source}/whiteboard-data.js +23 -17
  353. package/lib/translations/enUS.d.ts +0 -2
  354. package/lib/translations/enUS.js +4 -6
  355. package/lib/translations/zhCN.d.ts +0 -2
  356. package/lib/translations/zhCN.js +4 -6
  357. package/lib/type.d.ts +5 -0
  358. package/lib/ui-scene.d.ts +2 -4
  359. package/lib/ui-scene.js +31 -42
  360. package/lib/utilities/board-context.d.ts +4 -0
  361. package/lib/utilities/board-context.js +12 -0
  362. package/lib/utilities/constant.d.ts +3 -1
  363. package/lib/utilities/constant.js +5 -2
  364. package/lib/utilities/copyText.d.ts +2 -0
  365. package/lib/utilities/copyText.js +48 -0
  366. package/lib/utilities/default-config.d.ts +18 -0
  367. package/lib/utilities/default-config.js +19 -1
  368. package/lib/utilities/focus-helper.js +10 -3
  369. package/lib/utilities/logger.js +3 -1
  370. package/lib/utilities/renderer-event.d.ts +10 -0
  371. package/lib/utilities/renderer-event.js +95 -0
  372. package/lib/utilities/renderer.d.ts +1 -0
  373. package/lib/utilities/renderer.js +7 -1
  374. package/lib/utilities/screen-capture-permission.d.ts +2 -0
  375. package/lib/utilities/screen-capture-permission.js +24 -0
  376. package/lib/utilities/screen.d.ts +3 -0
  377. package/lib/utilities/screen.js +53 -0
  378. package/lib/utilities/video-track-render-context.d.ts +6 -0
  379. package/lib/utilities/video-track-render-context.js +9 -0
  380. package/lib/waiting-room-control-manager.d.ts +28 -0
  381. package/lib/waiting-room-control-manager.js +230 -0
  382. package/package.json +5 -5
  383. package/public/index.html +35 -4
  384. package/lib/modules/action-bar/store.base.d.ts +0 -15
  385. package/lib/modules/action-bar/waiting-scene/store.d.ts +0 -6
  386. package/lib/providers/board-share/bar-control.d.ts +0 -51
  387. package/lib/providers/board-share/bar-control.js +0 -390
  388. package/lib/providers/board-share/provider.d.ts +0 -66
  389. package/lib/providers/board-share/provider.js +0 -456
  390. package/lib/providers/screen-share/provider.d.ts +0 -69
  391. package/lib/providers/screen-share/provider.js +0 -615
  392. package/lib/providers/window/browser-window-proxy.js +0 -1
  393. package/lib/providers/window/ipc-protocol.d.ts +0 -0
  394. package/lib/providers/window/ipc-protocol.js +0 -1
  395. package/lib/providers/window/main-process-handler.d.ts +0 -0
  396. package/lib/providers/window/main-process-handler.js +0 -1
  397. package/lib/providers/window/main-process-integration.d.ts +0 -0
  398. package/lib/providers/window/main-process-integration.js +0 -1
  399. package/lib/utilities/ipc-protocol.d.ts +0 -91
  400. package/lib/utilities/ipc-protocol.js +0 -61
  401. /package/lib/{providers/window/browser-window-proxy.d.ts → modules/action-bar/index.dev.d.ts} +0 -0
@@ -0,0 +1,1929 @@
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["default"] = exports.StoreContext = 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.function.bind.js");
38
+ require("core-js/modules/es.map.js");
39
+ require("core-js/modules/es.object.to-string.js");
40
+ require("core-js/modules/es.set.js");
41
+ require("core-js/modules/es.string.includes.js");
42
+ require("core-js/modules/es.string.iterator.js");
43
+ require("core-js/modules/es.weak-map.js");
44
+ require("core-js/modules/esnext.iterator.constructor.js");
45
+ require("core-js/modules/esnext.iterator.filter.js");
46
+ require("core-js/modules/esnext.iterator.find.js");
47
+ require("core-js/modules/esnext.iterator.for-each.js");
48
+ require("core-js/modules/esnext.iterator.map.js");
49
+ require("core-js/modules/esnext.iterator.some.js");
50
+ require("core-js/modules/esnext.map.delete-all.js");
51
+ require("core-js/modules/esnext.map.emplace.js");
52
+ require("core-js/modules/esnext.map.every.js");
53
+ require("core-js/modules/esnext.map.filter.js");
54
+ require("core-js/modules/esnext.map.find.js");
55
+ require("core-js/modules/esnext.map.find-key.js");
56
+ require("core-js/modules/esnext.map.includes.js");
57
+ require("core-js/modules/esnext.map.key-of.js");
58
+ require("core-js/modules/esnext.map.map-keys.js");
59
+ require("core-js/modules/esnext.map.map-values.js");
60
+ require("core-js/modules/esnext.map.merge.js");
61
+ require("core-js/modules/esnext.map.reduce.js");
62
+ require("core-js/modules/esnext.map.some.js");
63
+ require("core-js/modules/esnext.map.update.js");
64
+ require("core-js/modules/esnext.set.add-all.js");
65
+ require("core-js/modules/esnext.set.delete-all.js");
66
+ require("core-js/modules/esnext.set.difference.v2.js");
67
+ require("core-js/modules/esnext.set.difference.js");
68
+ require("core-js/modules/esnext.set.every.js");
69
+ require("core-js/modules/esnext.set.filter.js");
70
+ require("core-js/modules/esnext.set.find.js");
71
+ require("core-js/modules/esnext.set.intersection.v2.js");
72
+ require("core-js/modules/esnext.set.intersection.js");
73
+ require("core-js/modules/esnext.set.is-disjoint-from.v2.js");
74
+ require("core-js/modules/esnext.set.is-disjoint-from.js");
75
+ require("core-js/modules/esnext.set.is-subset-of.v2.js");
76
+ require("core-js/modules/esnext.set.is-subset-of.js");
77
+ require("core-js/modules/esnext.set.is-superset-of.v2.js");
78
+ require("core-js/modules/esnext.set.is-superset-of.js");
79
+ require("core-js/modules/esnext.set.join.js");
80
+ require("core-js/modules/esnext.set.map.js");
81
+ require("core-js/modules/esnext.set.reduce.js");
82
+ require("core-js/modules/esnext.set.some.js");
83
+ require("core-js/modules/esnext.set.symmetric-difference.v2.js");
84
+ require("core-js/modules/esnext.set.symmetric-difference.js");
85
+ require("core-js/modules/esnext.set.union.v2.js");
86
+ require("core-js/modules/esnext.set.union.js");
87
+ require("core-js/modules/esnext.weak-map.delete-all.js");
88
+ require("core-js/modules/esnext.weak-map.emplace.js");
89
+ require("core-js/modules/web.dom-collections.for-each.js");
90
+ require("core-js/modules/web.dom-collections.iterator.js");
91
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
92
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
93
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
94
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
95
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
96
+ var _fcrCore = require("fcr-core");
97
+ var _type = require("fcr-core/lib/type");
98
+ var _attendee = require("agora-ui-foundation/lib/components/participants/attendee");
99
+ var _mobx = require("mobx");
100
+ var _constant = require("../../utilities/constant");
101
+ var _decorator = require("agora-foundation/lib/decorator");
102
+ var _mobxUtils = require("mobx-utils");
103
+ var _type2 = require("./type");
104
+ var _i18n = require("agora-ui-foundation/lib/i18n");
105
+ var _i18n2 = require("../../hooks/i18n");
106
+ var _type3 = require("fcr-core/lib/room-control/user-control/type");
107
+ var _react = require("react");
108
+ var _confirmInput = require("./components/confirm-input");
109
+ var _type4 = require("fcr-core/lib/room-control/privilege-control/type");
110
+ var _env = require("agora-foundation/lib/utilities/env");
111
+ var _type5 = require("../../type");
112
+ var _operateWaitingroomMember = require("./components/operate-waitingroom-member");
113
+ var _muteAll = require("./components/mute-all");
114
+ var _logger = require("../../utilities/logger");
115
+ var _jsxRuntime = require("react/jsx-runtime");
116
+ var _ParticipantStore;
117
+ var _initProto, _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, _openParticipantsWindowDecs, _setParticipantsWindowActiveDecs, _handlerSearchUserDecs, _closeRemoveAdmitWaitingRoomDialogDecs, _openRemoveAdmitWaitingRoomDialogDecs, _setAllowUnmuteDecs, _setAllowJoinWithMuteAudioDecs, _openMuteAllDialogDecs, _isHostSupportedDecs, _handlerUserActionDecs, _handleConfirmChangeNameDecs, _handleCancelChangeNameDecs, _closeChangeNameDialogDecs, _moveToWaitingRoomByUserIdsDecs, _removeWaitingRoomUserDecs, _kickOutWaitingRoomAllMemberDecs, _moveToMainRoomAllMemberDecs, _handlerRoomControlActionDecs, _handleEventDecs, _moveToMainRoomByUserIdsDecs, _handleActiveTabDecs, _kickOutUserDecs, _setAsAttendeeDecs, _onPeerSessionReceivedDecs, _getOutputLanguageDecs, _ref;
118
+ 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; }
119
+ 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; }
120
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
121
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
122
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
123
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
124
+ 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"); }
125
+ 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)]; } }; }
126
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
127
+ 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); }
128
+ 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; }
129
+ 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; }
130
+ /**
131
+ * seconds
132
+ */
133
+ var SESSION_DURATION = 30;
134
+ var _A = /*#__PURE__*/new WeakMap();
135
+ var _B = /*#__PURE__*/new WeakMap();
136
+ var _C = /*#__PURE__*/new WeakMap();
137
+ var _D = /*#__PURE__*/new WeakMap();
138
+ var _E = /*#__PURE__*/new WeakMap();
139
+ var _F = /*#__PURE__*/new WeakMap();
140
+ var _G = /*#__PURE__*/new WeakMap();
141
+ var _H = /*#__PURE__*/new WeakMap();
142
+ var _I = /*#__PURE__*/new WeakMap();
143
+ var _J = /*#__PURE__*/new WeakMap();
144
+ var _K = /*#__PURE__*/new WeakMap();
145
+ var _L = /*#__PURE__*/new WeakMap();
146
+ var _M = /*#__PURE__*/new WeakMap();
147
+ var _N = /*#__PURE__*/new WeakMap();
148
+ _ref = (_setCurrentModalDecs = [_mobx.action, _mobx.action.bound], _openParticipantsWindowDecs = [_mobx.action, _mobx.action.bound], _setParticipantsWindowActiveDecs = [_mobx.action, _mobx.action.bound], _handlerSearchUserDecs = [_mobx.action, _mobx.action.bound], _closeRemoveAdmitWaitingRoomDialogDecs = [_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], _isHostSupportedDecs = [_mobx.action, _mobx.action.bound], _handlerUserActionDecs = [_mobx.action, _mobx.action.bound], _handleConfirmChangeNameDecs = [_mobx.action, _mobx.action.bound], _handleCancelChangeNameDecs = [_mobx.action, _mobx.action.bound], _closeChangeNameDialogDecs = [_mobx.action, _mobx.action.bound], _moveToWaitingRoomByUserIdsDecs = [_mobx.action, _mobx.action.bound], _removeWaitingRoomUserDecs = [_mobx.action, _mobx.action.bound], _kickOutWaitingRoomAllMemberDecs = [_mobx.action, _mobx.action.bound], _moveToMainRoomAllMemberDecs = [_mobx.action, _mobx.action.bound], _handlerRoomControlActionDecs = [_mobx.action, _mobx.action.bound], _handleEventDecs = [_mobx.action, _mobx.action.bound], _moveToMainRoomByUserIdsDecs = [_mobx.action, _mobx.action.bound], _handleActiveTabDecs = [_mobx.action, _mobx.action.bound], _kickOutUserDecs = [_mobx.action, _mobx.action.bound], _setAsAttendeeDecs = [_mobx.action, _mobx.action.bound], _onPeerSessionReceivedDecs = [_mobx.action, _mobx.action.bound], _getOutputLanguageDecs = [_mobx.action, _mobx.action.bound], "logger");
149
+ var ParticipantStore = exports["default"] = /*#__PURE__*/function () {
150
+ function ParticipantStore(_ref2) {
151
+ var _this = this,
152
+ _this$_roomControl$ge,
153
+ _this$_roomStore;
154
+ var _roomControl = _ref2.roomControl,
155
+ securityStore = _ref2.securityStore,
156
+ uiEventStore = _ref2.uiEventStore,
157
+ deviceStore = _ref2.deviceStore,
158
+ deviceStreamStore = _ref2.deviceStreamStore,
159
+ roomStore = _ref2.roomStore,
160
+ sessionProvider = _ref2.sessionProvider,
161
+ sharedSpeakerSpotlightDataSource = _ref2.sharedSpeakerSpotlightDataSource,
162
+ sharedPinDataSource = _ref2.sharedPinDataSource,
163
+ sharedLayoutDataSource = _ref2.sharedLayoutDataSource,
164
+ sharedInterpreterDataSource = _ref2.sharedInterpreterDataSource,
165
+ sharedSettingDataSource = _ref2.sharedSettingDataSource,
166
+ sharedWaitingRoomDataSource = _ref2.sharedWaitingRoomDataSource,
167
+ chatProvider = _ref2.chatProvider,
168
+ sharedVideoWindowDataSource = _ref2.sharedVideoWindowDataSource,
169
+ sharedMemberDataSource = _ref2.sharedMemberDataSource,
170
+ sharedChatDataSource = _ref2.sharedChatDataSource,
171
+ dialogProvider = _ref2.dialogProvider,
172
+ abilityProvider = _ref2.abilityProvider,
173
+ messageProvider = _ref2.messageProvider,
174
+ sharedSecuritySharedDataSource = _ref2.sharedSecuritySharedDataSource,
175
+ sharedScreenShareSharedDataSource = _ref2.sharedScreenShareSharedDataSource,
176
+ multiDisplayProvider = _ref2.multiDisplayProvider;
177
+ (0, _classCallCheck2["default"])(this, ParticipantStore);
178
+ (0, _defineProperty2["default"])(this, _ref, (_initProto(this), (0, _logger.createLogger)({
179
+ prefix: 'ParticipantStore'
180
+ })));
181
+ (0, _defineProperty2["default"])(this, "_disposers", []);
182
+ (0, _defineProperty2["default"])(this, "_changeNameDialogKey", []);
183
+ (0, _defineProperty2["default"])(this, "_unmuteAudioTimestamp", new Map());
184
+ (0, _defineProperty2["default"])(this, "_unmuteVideoTimestamp", new Map());
185
+ (0, _defineProperty2["default"])(this, "_processedUserOpenDeviceRequests", new Set());
186
+ (0, _defineProperty2["default"])(this, "_peerSessionObserver", {
187
+ onPeerSessionReceived: this._onPeerSessionReceived.bind(this),
188
+ onPeerSessionAccepted: this._onPeerSessionAccepted.bind(this),
189
+ onPeerSessionRejected: this._onPeerSessionRejected.bind(this)
190
+ });
191
+ (0, _defineProperty2["default"])(this, "_roomStoreObserver", {
192
+ onJoinWaitingRoom: function onJoinWaitingRoom(roomControl) {
193
+ var room = roomControl;
194
+ _this._waitingRoomControl = room;
195
+ var waitingRoomUserControl = room.getUserControl();
196
+ _this._waitingRoomUserControl = waitingRoomUserControl;
197
+ },
198
+ onWaitingRoomManageCanceled: function onWaitingRoomManageCanceled() {
199
+ _this._waitingRoomControl = undefined;
200
+ _this._waitingRoomUserControl = undefined;
201
+ _this.handleActiveTab(_type5.FcrUIRoomType.MAIN_ROOM);
202
+ }
203
+ });
204
+ (0, _defineProperty2["default"])(this, "_privilegeControlObserver", {
205
+ onSecurityInfoUpdated: function onSecurityInfoUpdated(roomId, event) {
206
+ var _event$securityInfo$i;
207
+ if (((_event$securityInfo$i = event.securityInfo.info) === null || _event$securityInfo$i === void 0 ? void 0 : _event$securityInfo$i.action) === _type4.FcrSecurityAction.ChangeName) {
208
+ if (!event.securityInfo.enable) {
209
+ _this._closeChangeNameDialog();
210
+ }
211
+ }
212
+ }
213
+ });
214
+ (0, _defineProperty2["default"])(this, "_userObserver", {
215
+ onRemoteUsersJoined: this._handleRemoteUsersJoined.bind(this),
216
+ onUserPropertiesUpdated: this._handleUserPropertiesUpdated.bind(this),
217
+ onUserInfoUpdated: this._handleUserInfoUpdated.bind(this)
218
+ });
219
+ (0, _defineProperty2["default"])(this, "_eventObserver", {
220
+ onEvent: this._handleEvent
221
+ });
222
+ (0, _defineProperty2["default"])(this, "_whitebaordObderver", {
223
+ onActive: function onActive(ownerId, operatorUser) {
224
+ _this._sharedMemberDataSource.updateMemberListWithBoardState();
225
+ },
226
+ onInactive: function onInactive(reason, operatorUser) {
227
+ _this._sharedMemberDataSource.updateMemberListWithBoardState();
228
+ }
229
+ });
230
+ (0, _defineProperty2["default"])(this, "_operatorRenameUserId", '');
231
+ (0, _defineProperty2["default"])(this, "_operatorRenameUserName", '');
232
+ _classPrivateFieldInitSpec(this, _A, _init__mainList(this, []));
233
+ _classPrivateFieldInitSpec(this, _B, _init__isChecked(this, {}));
234
+ _classPrivateFieldInitSpec(this, _C, _init__participantsWindowActive(this, false));
235
+ _classPrivateFieldInitSpec(this, _D, _init_enableParticipantsJoinWithMute(this, false));
236
+ _classPrivateFieldInitSpec(this, _E, _init_searchText(this, ''));
237
+ _classPrivateFieldInitSpec(this, _F, _init_currentModal(this, 'modal'));
238
+ // @observable accessor spotlightStreamId: string = '';
239
+ // @observable accessor enableSpotlight: boolean = true;
240
+ _classPrivateFieldInitSpec(this, _G, _init_mergeConfirmDialog(this, false));
241
+ _classPrivateFieldInitSpec(this, _H, _init_mergeUserId(this, ''));
242
+ _classPrivateFieldInitSpec(this, _I, _init_activeTab(this, _type5.FcrUIRoomType.MAIN_ROOM));
243
+ _classPrivateFieldInitSpec(this, _J, _init_interpreterInputLanguageList(this, []));
244
+ _classPrivateFieldInitSpec(this, _K, _init_newName(this, ''));
245
+ _classPrivateFieldInitSpec(this, _L, _init_allowUnmute(this, false));
246
+ _classPrivateFieldInitSpec(this, _M, _init_joinWithMuteAudio(this, false));
247
+ _classPrivateFieldInitSpec(this, _N, _init_showBecomeHostButton(this, false));
248
+ (0, _defineProperty2["default"])(this, "allowedOperations", (0, _mobxUtils.computedFn)(function (userId, userRole) {
249
+ return _this.getAllowedOperations(userRole, userId === _this.localUser.userId);
250
+ }));
251
+ (0, _defineProperty2["default"])(this, "checkIsPin", (0, _mobxUtils.computedFn)(function (userId) {
252
+ var _this$userMap$get;
253
+ return !!((_this$userMap$get = _this.userMap.get(userId)) !== null && _this$userMap$get !== void 0 && _this$userMap$get.streams.some(function (stream) {
254
+ return _this.pinedStreamIds.includes(stream.streamId);
255
+ }));
256
+ }));
257
+ (0, _defineProperty2["default"])(this, "getAllowedOperations", (0, _mobxUtils.computedFn)(function (targetRole, isSelf) {
258
+ return _this._securityStore.getAllowedOperations(targetRole, isSelf);
259
+ }));
260
+ (0, _defineProperty2["default"])(this, "_formatUser", function (user) {
261
+ var userStreams = user.streams;
262
+ var hasShareScreen = userStreams.some(function (stream) {
263
+ return stream.videoSourceType === _fcrCore.FcrVideoSourceType.SCREEN;
264
+ });
265
+ var isSelf = user.userId === _this.localUser.userId;
266
+ var hasAudioPublishedAndStarted = function hasAudioPublishedAndStarted(stream) {
267
+ return (stream === null || stream === void 0 ? void 0 : stream.audioSourceState) === _fcrCore.FcrMediaSourceState.OPEN;
268
+ };
269
+ var hasVideoPublishedAndStarted = function hasVideoPublishedAndStarted(stream) {
270
+ return (stream === null || stream === void 0 ? void 0 : stream.videoSourceState) === _fcrCore.FcrMediaSourceState.OPEN;
271
+ };
272
+ var isHideMicroIcon = function isHideMicroIcon(stream) {
273
+ return !hasAudioPublishedAndStarted(stream) || (stream === null || stream === void 0 ? void 0 : stream.streamType) === _type.FcrStreamType.NONE || (stream === null || stream === void 0 ? void 0 : stream.streamType) === _type.FcrStreamType.VIDEO;
274
+ };
275
+ var hasAudio = false;
276
+ var hasVideo = false;
277
+ var hideAudioConnectIcon = false;
278
+ var audioDeviceType = 'none';
279
+ var videoDeviceType = 'none';
280
+ var userType = 'normal';
281
+ var getDefaultStream = function getDefaultStream() {
282
+ return userStreams.find(function (stream) {
283
+ return stream.videoSourceType === _fcrCore.FcrVideoSourceType.CAMERA;
284
+ });
285
+ };
286
+ var getPstnStream = function getPstnStream() {
287
+ return userStreams.find(function (_ref3) {
288
+ var connectorType = _ref3.connectorType;
289
+ return connectorType === _fcrCore.FcrRoomConnectorType.PSTN;
290
+ });
291
+ };
292
+ var getSipOrH323Stream = function getSipOrH323Stream() {
293
+ return userStreams.find(function (_ref4) {
294
+ var connectorType = _ref4.connectorType;
295
+ return [_fcrCore.FcrRoomConnectorType.SIP, _fcrCore.FcrRoomConnectorType.H323].includes(connectorType);
296
+ });
297
+ };
298
+ if (user.userInfo.connectorType === _fcrCore.FcrRoomConnectorType.NONE) {
299
+ var defaultStream = getDefaultStream();
300
+ var pstnStream = getPstnStream();
301
+ videoDeviceType = 'computer-cam';
302
+ hasVideo = isSelf ? _this._deviceStore.cameraEnabled : hasVideoPublishedAndStarted(defaultStream);
303
+ if (pstnStream) {
304
+ audioDeviceType = 'phone-mic';
305
+ hasAudio = pstnStream.audioSourceState === _fcrCore.FcrMediaSourceState.OPEN;
306
+ hideAudioConnectIcon = isHideMicroIcon(pstnStream);
307
+ } else {
308
+ audioDeviceType = 'computer-mic';
309
+ hasAudio = isSelf ? _this._deviceStore.microphoneEnabled : hasAudioPublishedAndStarted(defaultStream);
310
+ hideAudioConnectIcon = isHideMicroIcon(defaultStream);
311
+ }
312
+ } else if ([_fcrCore.FcrRoomConnectorType.SIP, _fcrCore.FcrRoomConnectorType.H323].includes(user.userInfo.connectorType)) {
313
+ var firstSipOrH323Stream = getSipOrH323Stream();
314
+ audioDeviceType = 'phone-mic';
315
+ videoDeviceType = 'computer-cam';
316
+ userType = 'meeting-system';
317
+ hasAudio = hasAudioPublishedAndStarted(firstSipOrH323Stream);
318
+ hasVideo = hasVideoPublishedAndStarted(firstSipOrH323Stream);
319
+ } else if (user.userInfo.connectorType === _fcrCore.FcrRoomConnectorType.PSTN) {
320
+ var _pstnStream = getPstnStream();
321
+ audioDeviceType = 'phone-mic';
322
+ userType = 'phone';
323
+ hasAudio = hasAudioPublishedAndStarted(_pstnStream);
324
+ hasVideo = false;
325
+ hideAudioConnectIcon = isHideMicroIcon(_pstnStream);
326
+ }
327
+ var isSpotlight = user.streams.some(function (stream) {
328
+ return stream.streamId === _this.spotlightStreamId;
329
+ });
330
+ return {
331
+ userId: user.userId,
332
+ userName: user.userInfo.userName,
333
+ isHost: user.userInfo.userRole === _type.FcrUserRole.HOST,
334
+ isMe: user.userId === _this.localUser.userId,
335
+ hasAudio: hasAudio,
336
+ hasVideo: hasVideo,
337
+ isScreenSharing: !!hasShareScreen,
338
+ audioDeviceType: audioDeviceType,
339
+ videoDeviceType: videoDeviceType,
340
+ userType: userType,
341
+ userRole: user.userInfo.userRole,
342
+ isSpotlight: isSpotlight,
343
+ isBoardActive: user.userInfo.isBoardActive,
344
+ allowedOperations: _this.allowedOperations(user.userId, user.userInfo.userRole),
345
+ isPin: _this.checkIsPin(user.userId),
346
+ hideAudioConnectIcon: false,
347
+ avatar: user.userInfo.avatar
348
+ };
349
+ });
350
+ this._roomControl = _roomControl;
351
+ this._chatProvider = chatProvider;
352
+ this._streamControl = _roomControl.getStreamControl();
353
+ this._peerSessionControl = sessionProvider;
354
+ this._userControl = _roomControl.getUserControl();
355
+ this._userControl.addObserver(this._userObserver);
356
+ this._sharedWaitingRoomDataSource = sharedWaitingRoomDataSource;
357
+ this._securityStore = securityStore;
358
+ this._uiEventStore = uiEventStore;
359
+ this._deviceStore = deviceStore;
360
+ this._deviceStreamStore = deviceStreamStore;
361
+ this._roomStore = roomStore;
362
+ this._sharedSpeakerSpotlightDataSource = sharedSpeakerSpotlightDataSource;
363
+ this._sharedPinDataSource = sharedPinDataSource;
364
+ this._sharedLayoutDataSource = sharedLayoutDataSource;
365
+ this._sharedSettingDataSource = sharedSettingDataSource;
366
+ this._sharedVideoWindowDataSource = sharedVideoWindowDataSource;
367
+ this._sharedChatDataSource = sharedChatDataSource;
368
+ this._sharedSecuritySharedDataSource = sharedSecuritySharedDataSource;
369
+ this._sharedScreenShareSharedDataSource = sharedScreenShareSharedDataSource;
370
+ this._multiDisplayProvider = multiDisplayProvider;
371
+ this.allowUnmute = this._securityStore.allowUnmuteSelfAudio();
372
+ this.joinWithMuteAudio = this._securityStore.allowJoinWithMuteAudio();
373
+ this._uiEventStore.addObserver(this._eventObserver);
374
+ this._peerSessionControl.addObserver(this._peerSessionObserver);
375
+ (_this$_roomControl$ge = this._roomControl.getSharingControl()) === null || _this$_roomControl$ge === void 0 || _this$_roomControl$ge.getBoardControl().addObserver(this._whitebaordObderver);
376
+ this._roomControl.getPrivilegeControl().addObserver(this._privilegeControlObserver);
377
+ (_this$_roomStore = this._roomStore) === null || _this$_roomStore === void 0 || _this$_roomStore.addObserver(this._roomStoreObserver);
378
+ this._sharedInterpreterDataSource = sharedInterpreterDataSource;
379
+ this._sharedMemberDataSource = sharedMemberDataSource;
380
+ this._abilityProvider = abilityProvider;
381
+ this._messageProvider = messageProvider;
382
+ this._getOutputLanguage();
383
+ this.showBecomeHostButton = !this._sharedMemberDataSource.memberList.some(function (user) {
384
+ return user.userInfo.userRole === _type.FcrUserRole.HOST;
385
+ });
386
+ this._dialogProvider = dialogProvider;
387
+ this._messageProvider = messageProvider;
388
+ this._checkCreatorInfo();
389
+ }
390
+ return (0, _createClass2["default"])(ParticipantStore, [{
391
+ key: "_mainList",
392
+ get: function get() {
393
+ return _classPrivateFieldGet(_A, this);
394
+ },
395
+ set: function set(v) {
396
+ _classPrivateFieldSet(_A, this, v);
397
+ }
398
+ }, {
399
+ key: "_isChecked",
400
+ get: function get() {
401
+ return _classPrivateFieldGet(_B, this);
402
+ },
403
+ set: function set(v) {
404
+ _classPrivateFieldSet(_B, this, v);
405
+ }
406
+ }, {
407
+ key: "_participantsWindowActive",
408
+ get: function get() {
409
+ return _classPrivateFieldGet(_C, this);
410
+ },
411
+ set: function set(v) {
412
+ _classPrivateFieldSet(_C, this, v);
413
+ }
414
+ }, {
415
+ key: "enableParticipantsJoinWithMute",
416
+ get: function get() {
417
+ return _classPrivateFieldGet(_D, this);
418
+ },
419
+ set: function set(v) {
420
+ _classPrivateFieldSet(_D, this, v);
421
+ }
422
+ }, {
423
+ key: "searchText",
424
+ get: function get() {
425
+ return _classPrivateFieldGet(_E, this);
426
+ },
427
+ set: function set(v) {
428
+ _classPrivateFieldSet(_E, this, v);
429
+ }
430
+ }, {
431
+ key: "currentModal",
432
+ get: function get() {
433
+ return _classPrivateFieldGet(_F, this);
434
+ },
435
+ set: function set(v) {
436
+ _classPrivateFieldSet(_F, this, v);
437
+ }
438
+ }, {
439
+ key: "mergeConfirmDialog",
440
+ get: function get() {
441
+ return _classPrivateFieldGet(_G, this);
442
+ },
443
+ set: function set(v) {
444
+ _classPrivateFieldSet(_G, this, v);
445
+ }
446
+ }, {
447
+ key: "mergeUserId",
448
+ get: function get() {
449
+ return _classPrivateFieldGet(_H, this);
450
+ },
451
+ set: function set(v) {
452
+ _classPrivateFieldSet(_H, this, v);
453
+ }
454
+ }, {
455
+ key: "activeTab",
456
+ get: function get() {
457
+ return _classPrivateFieldGet(_I, this);
458
+ },
459
+ set: function set(v) {
460
+ _classPrivateFieldSet(_I, this, v);
461
+ }
462
+ }, {
463
+ key: "interpreterInputLanguageList",
464
+ get: function get() {
465
+ return _classPrivateFieldGet(_J, this);
466
+ },
467
+ set: function set(v) {
468
+ _classPrivateFieldSet(_J, this, v);
469
+ }
470
+ }, {
471
+ key: "newName",
472
+ get: function get() {
473
+ return _classPrivateFieldGet(_K, this);
474
+ },
475
+ set: function set(v) {
476
+ _classPrivateFieldSet(_K, this, v);
477
+ }
478
+ }, {
479
+ key: "allowUnmute",
480
+ get: function get() {
481
+ return _classPrivateFieldGet(_L, this);
482
+ },
483
+ set: function set(v) {
484
+ _classPrivateFieldSet(_L, this, v);
485
+ }
486
+ }, {
487
+ key: "joinWithMuteAudio",
488
+ get: function get() {
489
+ return _classPrivateFieldGet(_M, this);
490
+ },
491
+ set: function set(v) {
492
+ _classPrivateFieldSet(_M, this, v);
493
+ }
494
+ }, {
495
+ key: "showBecomeHostButton",
496
+ get: function get() {
497
+ return _classPrivateFieldGet(_N, this);
498
+ },
499
+ set: function set(v) {
500
+ _classPrivateFieldSet(_N, this, v);
501
+ }
502
+ }, {
503
+ key: "operatorRenameUserName",
504
+ get: function get() {
505
+ return this._operatorRenameUserName;
506
+ }
507
+ }, {
508
+ key: "audioVolumeMap",
509
+ get: function get() {
510
+ return this._sharedMemberDataSource.audioVolumeMap;
511
+ }
512
+ }, {
513
+ key: "localUser",
514
+ get: function get() {
515
+ return this._sharedMemberDataSource.localUser;
516
+ }
517
+ }, {
518
+ key: "localUserRole",
519
+ get: function get() {
520
+ return this._sharedMemberDataSource.localUserRole;
521
+ }
522
+ }, {
523
+ key: "isLocalUserHost",
524
+ get: function get() {
525
+ return this._sharedMemberDataSource.isLocalUserHost;
526
+ }
527
+ }, {
528
+ key: "enableSpotlight",
529
+ get: function get() {
530
+ return this._sharedSettingDataSource.setting.spotlightEnabled;
531
+ }
532
+ }, {
533
+ key: "screenSharingOwner",
534
+ get: function get() {
535
+ return this._sharedScreenShareSharedDataSource.screenSharingOwner;
536
+ }
537
+ }, {
538
+ key: "userListSource",
539
+ get: function get() {
540
+ if (this.activeTab === _type5.FcrUIRoomType.MAIN_ROOM) {
541
+ return this._sharedMemberDataSource.memberList;
542
+ } else {
543
+ return this._sharedWaitingRoomDataSource.waitingRoomDataSource.list;
544
+ }
545
+ }
546
+ }, {
547
+ key: "spotlightStreamId",
548
+ get: function get() {
549
+ return this._sharedVideoWindowDataSource.spotlightStreamId;
550
+ }
551
+ }, {
552
+ key: "mergeUserInfo",
553
+ get: function get() {
554
+ var _this$userListSource$,
555
+ _this2 = this;
556
+ return (_this$userListSource$ = this.userListSource.find(function (user) {
557
+ return user.userId === _this2.mergeUserId;
558
+ })) === null || _this$userListSource$ === void 0 ? void 0 : _this$userListSource$.userInfo;
559
+ }
560
+ }, {
561
+ key: "userMap",
562
+ get: function get() {
563
+ var res = new Map();
564
+ this.userListSource.forEach(function (u) {
565
+ res.set(u.userId, u);
566
+ });
567
+ return res;
568
+ }
569
+ }, {
570
+ key: "allowUnmuteSelfAudio",
571
+ get: function get() {
572
+ return this.checkedStateMap.unmuteYourself;
573
+ }
574
+ }, {
575
+ key: "allowJoinWithMuteAudio",
576
+ get: function get() {
577
+ return this.checkedStateMap.enableJoinWithAudio;
578
+ }
579
+ }, {
580
+ key: "allowUnmuteSelfVideo",
581
+ get: function get() {
582
+ return this.checkedStateMap.startVideo;
583
+ }
584
+ }, {
585
+ key: "isLockRoomEnabled",
586
+ get: function get() {
587
+ return this.checkedStateMap.lockRoom;
588
+ }
589
+ }, {
590
+ key: "isWaitingRoomEnabled",
591
+ get: function get() {
592
+ return this._securityStore.isWaitingRoomEnabled();
593
+ }
594
+ }, {
595
+ key: "allowChangeSelfName",
596
+ get: function get() {
597
+ return this.checkedStateMap.rename;
598
+ }
599
+ }, {
600
+ key: "pinedStreamIds",
601
+ get: function get() {
602
+ return this._mainList.filter(function (i) {
603
+ return i.isPin;
604
+ }).map(function (i) {
605
+ return i.windowId;
606
+ });
607
+ }
608
+ }, {
609
+ key: "hasPinnedStream",
610
+ get: function get() {
611
+ return this._mainList.some(function (i) {
612
+ return i.isPin;
613
+ });
614
+ }
615
+ }, {
616
+ key: "userList",
617
+ get: function get() {
618
+ var _this3 = this;
619
+ var list = this.userListSource;
620
+ if (this.searchText.length) {
621
+ list = list.filter(function (user) {
622
+ return user.userInfo.userName.toLocaleLowerCase().includes(_this3.searchText.toLocaleLowerCase());
623
+ });
624
+ }
625
+ var uiDataList = list.map(function (user) {
626
+ return _this3._formatUser(user);
627
+ });
628
+ return uiDataList;
629
+ }
630
+ }, {
631
+ key: "localMicVolume",
632
+ get: function get() {
633
+ return this._deviceStore.microphoneVolumeLevel;
634
+ }
635
+ }, {
636
+ key: "hasRevokeHostPermission",
637
+ get: function get() {
638
+ return this._securityStore.hasRevokeHostPermission() && this.localUserRole !== _type.FcrUserRole.HOST;
639
+ }
640
+ }, {
641
+ key: "interpreterUserList",
642
+ get: function get() {
643
+ return this._sharedInterpreterDataSource.interpreterUserList;
644
+ }
645
+ }, {
646
+ key: "isInterpreterEnabled",
647
+ get: function get() {
648
+ return this._sharedInterpreterDataSource.isInterpreterEnabled;
649
+ }
650
+ }, {
651
+ key: "waitingRoomUserCount",
652
+ get: function get() {
653
+ return this._sharedWaitingRoomDataSource.totalWaitingRoomUser;
654
+ }
655
+ }, {
656
+ key: "isNewWaitingRoomUserEnter",
657
+ get: function get() {
658
+ return this._sharedWaitingRoomDataSource.unReadState;
659
+ }
660
+ }, {
661
+ key: "isLocalCameraInSecondaryWindow",
662
+ get: function get() {
663
+ return this._multiDisplayProvider.isLocalCameraInSecondaryWindow;
664
+ }
665
+ }, {
666
+ key: "isHostKeyEnabled",
667
+ get: function get() {
668
+ return this._roomControl.isHostKeyEnabled();
669
+ }
670
+ }, {
671
+ key: "hasInvite",
672
+ get: function get() {
673
+ return this._abilityProvider.isRoomDetailSupported();
674
+ }
675
+ }, {
676
+ key: "checkedStateMap",
677
+ get: function get() {
678
+ return this._sharedSecuritySharedDataSource.checkedStateMap;
679
+ }
680
+ }, {
681
+ key: "release",
682
+ value: function release() {
683
+ this._uiEventStore.removeObserver(this._eventObserver);
684
+ this._userControl.removeObserver(this._userObserver);
685
+ this._peerSessionControl.removeObserver(this._peerSessionObserver);
686
+ this._roomControl.getSharingControl().getBoardControl().removeObserver(this._whitebaordObderver);
687
+ this._roomControl.getPrivilegeControl().removeObserver(this._privilegeControlObserver);
688
+ this._roomStore.removeObserver(this._roomStoreObserver);
689
+ this._sharedWaitingRoomDataSource.release();
690
+ this._disposers.forEach(function (disposer) {
691
+ return disposer();
692
+ });
693
+ }
694
+ }, {
695
+ key: "hasMutePermission",
696
+ value: function hasMutePermission(targetRole) {
697
+ return this._securityStore.hasMutePermission(targetRole);
698
+ }
699
+ }, {
700
+ key: "hasWaitingRoomPermission",
701
+ value: function hasWaitingRoomPermission() {
702
+ return this._securityStore.isWaitingRoomEnabled() && this._securityStore.hasWaitingRoomPermission();
703
+ }
704
+ }, {
705
+ key: "hasUnmutePermission",
706
+ value: function hasUnmutePermission(targetRole) {
707
+ return this._securityStore.hasUnmutePermission(targetRole);
708
+ }
709
+ }, {
710
+ key: "hasRequestStartAudioPermission",
711
+ value: function hasRequestStartAudioPermission(targetRole) {
712
+ return this._securityStore.hasRequestStartAudioPermission(targetRole);
713
+ }
714
+ }, {
715
+ key: "setCurrentModal",
716
+ value: function setCurrentModal(modal) {
717
+ this.currentModal = modal;
718
+ }
719
+ }, {
720
+ key: "closeParticipantsAside",
721
+ value: function closeParticipantsAside() {
722
+ this._sharedLayoutDataSource.setAsideLayout({
723
+ participant: false
724
+ });
725
+ }
726
+ }, {
727
+ key: "openParticipantsWindow",
728
+ value: function openParticipantsWindow() {
729
+ window.runtime.setFragmentOptions('participant', {
730
+ frame: false,
731
+ titleBarStyle: 'hidden',
732
+ resizable: true,
733
+ maxHeight: 700,
734
+ maxWidth: 620,
735
+ maximizable: false,
736
+ fullscreen: false,
737
+ minHeight: 560,
738
+ minWidth: 320,
739
+ width: 320,
740
+ height: 560
741
+ }, {});
742
+ this.openDialog();
743
+ }
744
+ }, {
745
+ key: "closeParticipantsWindow",
746
+ value: function closeParticipantsWindow() {
747
+ if (this._dialogId) {
748
+ this._dialogProvider.closeDialog(this._dialogId);
749
+ }
750
+ }
751
+ }, {
752
+ key: "openDialog",
753
+ value: function openDialog() {
754
+ this._dialogId = this._dialogProvider.openDialog(_constant.FcrUIDialogKey.PARTICIPANT);
755
+ }
756
+ }, {
757
+ key: "openConfirmDialog",
758
+ value: function openConfirmDialog(params, id) {
759
+ var _this4 = this;
760
+ var dialogId = this._dialogProvider.openConfirmDialog(_objectSpread(_objectSpread({}, params), {}, {
761
+ onCancel: function onCancel() {
762
+ _this4._dialogProvider.closeConfirm(dialogId);
763
+ params.onCancel && params.onCancel();
764
+ },
765
+ onOk: function onOk() {
766
+ var _params$onOk;
767
+ _this4._dialogProvider.closeConfirm(dialogId);
768
+ (_params$onOk = params.onOk) === null || _params$onOk === void 0 || _params$onOk.call(params);
769
+ }
770
+ }));
771
+ return dialogId;
772
+ }
773
+ }, {
774
+ key: "setParticipantsWindowActive",
775
+ value: function setParticipantsWindowActive(active) {
776
+ var _this5 = this;
777
+ (0, _mobx.runInAction)(function () {
778
+ _this5._participantsWindowActive = active;
779
+ if (!active) {
780
+ _this5.setCurrentModal('modal');
781
+ }
782
+ });
783
+ }
784
+ }, {
785
+ key: "handlerSearchUser",
786
+ value: function handlerSearchUser(searchText) {
787
+ this.searchText = searchText;
788
+ }
789
+ }, {
790
+ key: "onInvite",
791
+ value: function onInvite() {
792
+ this._dialogProvider.openInviteDialog();
793
+ }
794
+ }, {
795
+ key: "setMergeConfirmDialog",
796
+ value: function setMergeConfirmDialog(visible) {
797
+ this.mergeConfirmDialog = visible;
798
+ }
799
+ }, {
800
+ key: "mergeConfirmDialogOk",
801
+ value: function mergeConfirmDialogOk(userId) {
802
+ var _this$userMap$get2;
803
+ this._streamControl.mergeAudioStream(userId);
804
+ this.setMergeConfirmDialog(false);
805
+ this._messageProvider.showToast({
806
+ message: (0, _i18n.transI18n)('fmt_PSTN_toast_merged', {
807
+ reason1: (_this$userMap$get2 = this.userMap.get(userId)) === null || _this$userMap$get2 === void 0 ? void 0 : _this$userMap$get2.userInfo.userName
808
+ }),
809
+ type: 'normal'
810
+ });
811
+ }
812
+ }, {
813
+ key: "removePin",
814
+ value: function removePin(userId) {
815
+ var streamId = this._getPinStreamIdFromUser(userId);
816
+ if (streamId) {
817
+ this._sharedPinDataSource.removePin(streamId);
818
+ }
819
+ }
820
+ }, {
821
+ key: "addPin",
822
+ value: function addPin(userId) {
823
+ var shouldHideMyVideo = this._sharedSettingDataSource.setting.shouldHideMyVideo;
824
+ if (shouldHideMyVideo && userId === this.localUser.userId) {
825
+ this._messageProvider.showToast({
826
+ type: 'error',
827
+ message: (0, _i18n.transI18n)('fmt_internalsetting_other_hide_my_window_pin_cancelled')
828
+ });
829
+ return;
830
+ }
831
+ var streamId = this._getPinStreamIdFromUser(userId);
832
+ if (streamId) {
833
+ this._sharedPinDataSource.addPin(streamId);
834
+ }
835
+ }
836
+ }, {
837
+ key: "closeRemoveAdmitWaitingRoomDialog",
838
+ value: function closeRemoveAdmitWaitingRoomDialog(dialogKey) {
839
+ this._dialogProvider.closeRemoveAdmitWaitingRoomDialog(dialogKey);
840
+ }
841
+ }, {
842
+ key: "openRemoveAdmitWaitingRoomDialog",
843
+ value: function openRemoveAdmitWaitingRoomDialog(params) {
844
+ var _this6 = this;
845
+ var buttonTextMap = {
846
+ removeAll: (0, _i18n.transI18n)('fmt_waitingroom_sidebar_button_removeall'),
847
+ admitAll: (0, _i18n.transI18n)('fmt_waitingroom_sidebar_button_admitall'),
848
+ remove: (0, _i18n.transI18n)('fmt_waitingroom_sidebar_popup_button_remove')
849
+ };
850
+ this._isChecked[params.type] = false;
851
+ var key = this.openConfirmDialog({
852
+ title: params.title,
853
+ alignCenter: true,
854
+ content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_operateWaitingroomMember.OperateWaitingRoomMemberDialog, {
855
+ type: params.type,
856
+ userId: params.userId,
857
+ tooltip: params.tooltip,
858
+ title: params.title,
859
+ onChecked: function onChecked(isChecked) {
860
+ _this6._isChecked[params.type] = isChecked;
861
+ }
862
+ }),
863
+ onOk: function onOk() {
864
+ if (params.type === 'remove') {
865
+ _this6.removeWaitingRoomUser(params.userId, _this6._isChecked[params.type] ? _type3.FcrUserKickedOutType.Forever : _type3.FcrUserKickedOutType.Once);
866
+ }
867
+ if (params.type === 'removeAll') {
868
+ _this6.kickOutWaitingRoomAllMember(_this6._isChecked[params.type] ? _type3.FcrUserKickedOutType.Forever : _type3.FcrUserKickedOutType.Once);
869
+ }
870
+ if (params.type === 'admitAll') {
871
+ _this6.moveToMainRoomAllMember();
872
+ }
873
+ _this6._dialogProvider.closeConfirm(key);
874
+ },
875
+ okText: buttonTextMap[params.type],
876
+ okButtonProps: {
877
+ styleType: params.type === 'remove' || params.type === 'removeAll' ? 'danger' : undefined
878
+ }
879
+ });
880
+ }
881
+ }, {
882
+ key: "setAllowUnmute",
883
+ value: function setAllowUnmute(checked) {
884
+ this.allowUnmute = checked;
885
+ }
886
+ }, {
887
+ key: "setAllowJoinWithMuteAudio",
888
+ value: function setAllowJoinWithMuteAudio(checked) {
889
+ this.joinWithMuteAudio = checked;
890
+ }
891
+ }, {
892
+ key: "openMuteAllDialog",
893
+ value: function openMuteAllDialog(params) {
894
+ var _this7 = this;
895
+ this.allowUnmute = this.allowUnmuteSelfAudio;
896
+ this.joinWithMuteAudio = this.allowJoinWithMuteAudio;
897
+ this.openConfirmDialog({
898
+ title: (0, _i18n.transI18n)('fmt_attendies_options_muteall'),
899
+ content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_muteAll.WrapperMuteAllDialog, {
900
+ store: this
901
+ }),
902
+ okButtonProps: {
903
+ styleType: 'danger',
904
+ shape: 'rounded'
905
+ },
906
+ cancelButtonProps: {
907
+ shape: 'rounded'
908
+ },
909
+ okText: (0, _i18n.transI18n)('fmt_attendies_button_muteall'),
910
+ cancelText: (0, _i18n.transI18n)('fmt_attendies_button_cancel'),
911
+ onOk: function onOk() {
912
+ _this7.handlerRoomControlAction(_constant.FcrUIRoomControlType.MUTE_ALL_AUDIO, {
913
+ allowUnmute: _this7.allowUnmute,
914
+ joinWithMuteAudio: _this7.joinWithMuteAudio
915
+ });
916
+ }
917
+ });
918
+ }
919
+ }, {
920
+ key: "isHostSupported",
921
+ value: function isHostSupported(userId) {
922
+ var _this$userMap$get3;
923
+ var user = (_this$userMap$get3 = this.userMap.get(userId)) === null || _this$userMap$get3 === void 0 ? void 0 : _this$userMap$get3.userInfo;
924
+ if (!(user !== null && user !== void 0 && user.platform)) return false;
925
+ return this._abilityProvider.isHostSupportedByPlatform(user.platform);
926
+ }
927
+ }, {
928
+ key: "handlerUserAction",
929
+ value: function handlerUserAction(action, userId) {
930
+ var _this8 = this;
931
+ switch (action) {
932
+ case _attendee.ParticipantActionType.MUTE_AUDIO:
933
+ this._muteUserAudio(userId);
934
+ break;
935
+ case _attendee.ParticipantActionType.UNMUTE_AUDIO:
936
+ this._unmuteUserAudio(userId);
937
+ break;
938
+ case _attendee.ParticipantActionType.MUTE_VIDEO:
939
+ this._muteUserVideo(userId);
940
+ break;
941
+ case _attendee.ParticipantActionType.UNMUTE_VIDEO:
942
+ this._unmuteUserVideo(userId);
943
+ break;
944
+ case _attendee.ParticipantActionType.PRIVATE_CHAT:
945
+ this._privateChat(userId);
946
+ break;
947
+ case _attendee.ParticipantActionType.KICK_OUT:
948
+ if (this.activeTab === _type5.FcrUIRoomType.MAIN_ROOM) {
949
+ this._kickOutUser(userId);
950
+ } else {
951
+ var _this$userMap$get4;
952
+ this.openRemoveAdmitWaitingRoomDialog({
953
+ userId: userId,
954
+ type: 'remove',
955
+ title: (0, _i18n.transI18n)('fmt_waitingroom_sidebar_popup_removeall'),
956
+ tooltip: (0, _i18n.transI18n)('fmt_waitingroom_sidebar_popup_label_remove', {
957
+ reason1: (_this$userMap$get4 = this.userMap.get(userId)) === null || _this$userMap$get4 === void 0 ? void 0 : _this$userMap$get4.userInfo.userName
958
+ }),
959
+ onChecked: function onChecked(isChecked) {
960
+ _this8._isChecked['remove'] = isChecked;
961
+ }
962
+ });
963
+ }
964
+ break;
965
+ case _attendee.ParticipantActionType.ADD_PIN:
966
+ this.addPin(userId);
967
+ break;
968
+ case _attendee.ParticipantActionType.REMOVE_PIN:
969
+ this.removePin(userId);
970
+ break;
971
+ case _attendee.ParticipantActionType.SET_AS_HOST:
972
+ var canSetHost = this.isHostSupported(userId);
973
+ if (canSetHost) {
974
+ this._setAsHost(userId);
975
+ } else {
976
+ var _user = this._userControl.getUser(userId);
977
+ this.logger.info("[participant][user-action][set-as-host] ability limit ! userId: ".concat(userId, ", platform: ").concat(_user === null || _user === void 0 ? void 0 : _user.platform));
978
+ this._messageProvider.showToast({
979
+ type: 'normal',
980
+ message: (0, _i18n.transI18n)('fmt_attendies_toast_cant_sethost')
981
+ });
982
+ }
983
+ break;
984
+ case _attendee.ParticipantActionType.RENAME:
985
+ break;
986
+ case _attendee.ParticipantActionType.SET_MAIN_SPEAKER:
987
+ this._uiEventStore.setMainSpeaker({
988
+ userId: userId
989
+ });
990
+ break;
991
+ case _attendee.ParticipantActionType.SET_AS_CO_HOST:
992
+ var canSetCoHost = this.isHostSupported(userId);
993
+ if (canSetCoHost) {
994
+ this._setAsCoHost(userId);
995
+ } else {
996
+ var _user2 = this._userControl.getUser(userId);
997
+ this.logger.info("[participant][user-action][set-as-cohost] ability limit ! userId: ".concat(userId, ", platform: ").concat(_user2 === null || _user2 === void 0 ? void 0 : _user2.platform));
998
+ this._messageProvider.showToast({
999
+ type: 'normal',
1000
+ message: (0, _i18n.transI18n)('fmt_attendies_toast_cant_setcohost')
1001
+ });
1002
+ }
1003
+ break;
1004
+ case _attendee.ParticipantActionType.SET_AS_ATTENDEE:
1005
+ this._setAsAttendee(userId);
1006
+ break;
1007
+ case _attendee.ParticipantActionType.MERGE_VIDEO:
1008
+ this.setMergeConfirmDialog(true);
1009
+ this.mergeUserId = userId;
1010
+ break;
1011
+ case _attendee.ParticipantActionType.PUT_IN_WAITING_ROOM:
1012
+ this._moveToWaitingRoomByUserIds(userId);
1013
+ break;
1014
+ case _attendee.ParticipantActionType.RENAME_IN_MEETING:
1015
+ this._openChangeNameDialog(userId);
1016
+ break;
1017
+ }
1018
+ }
1019
+ }, {
1020
+ key: "_getPinStreamIdFromUser",
1021
+ value: function _getPinStreamIdFromUser(userId) {
1022
+ var _streams$find;
1023
+ var user = this.userMap.get(userId);
1024
+ var isPSTN = (user === null || user === void 0 ? void 0 : user.userInfo.connectorType) === _fcrCore.FcrRoomConnectorType.PSTN;
1025
+ var streams = user === null || user === void 0 ? void 0 : user.streams;
1026
+ var streamId = streams === null || streams === void 0 || (_streams$find = streams.find(function (stream) {
1027
+ return stream.videoSourceType === _fcrCore.FcrVideoSourceType.CAMERA || isPSTN && stream.videoSourceType === _fcrCore.FcrVideoSourceType.NONE;
1028
+ })) === null || _streams$find === void 0 ? void 0 : _streams$find.streamId;
1029
+ return streamId;
1030
+ }
1031
+ }, {
1032
+ key: "_handleUserPropertiesUpdated",
1033
+ value: function _handleUserPropertiesUpdated() {
1034
+ this._getOutputLanguage();
1035
+ }
1036
+ }, {
1037
+ key: "_handleRemoteUsersJoined",
1038
+ value: function _handleRemoteUsersJoined(roomId, events) {
1039
+ if (events.some(function (user) {
1040
+ return user.userInfo.userRole === _type.FcrUserRole.HOST;
1041
+ })) {
1042
+ this.showBecomeHostButton = false;
1043
+ this._messageProvider.showToast({
1044
+ type: 'info',
1045
+ message: '主持人已进入会议'
1046
+ });
1047
+ }
1048
+ }
1049
+ }, {
1050
+ key: "_handleUserInfoUpdated",
1051
+ value: function _handleUserInfoUpdated(roomId, event) {
1052
+ if (event.reason === _type.FcrUserUpdatedReason.ROLE && event.modifiedUser.userRole === _type.FcrUserRole.HOST) {
1053
+ this.showBecomeHostButton = false;
1054
+ }
1055
+ }
1056
+ }, {
1057
+ key: "handleConfirmChangeName",
1058
+ value: function () {
1059
+ var _handleConfirmChangeName = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
1060
+ var _this9 = this;
1061
+ return _regenerator["default"].wrap(function (_context) {
1062
+ while (1) switch (_context.prev = _context.next) {
1063
+ case 0:
1064
+ _context.next = 1;
1065
+ return this._userControl.updateUserName(this._operatorRenameUserId, this.newName);
1066
+ case 1:
1067
+ (0, _mobx.runInAction)(function () {
1068
+ _this9._closeChangeNameDialog();
1069
+ _this9._messageProvider.showToast({
1070
+ type: 'normal',
1071
+ message: (0, _i18n.transI18n)('fmt_additional_tips_nickname_change_success')
1072
+ });
1073
+ });
1074
+ case 2:
1075
+ case "end":
1076
+ return _context.stop();
1077
+ }
1078
+ }, _callee, this);
1079
+ }));
1080
+ function handleConfirmChangeName() {
1081
+ return _handleConfirmChangeName.apply(this, arguments);
1082
+ }
1083
+ return handleConfirmChangeName;
1084
+ }()
1085
+ }, {
1086
+ key: "handleCancelChangeName",
1087
+ value: function handleCancelChangeName() {
1088
+ this._closeChangeNameDialog();
1089
+ }
1090
+ }, {
1091
+ key: "_openChangeNameDialog",
1092
+ value: function _openChangeNameDialog(userId) {
1093
+ var _this$userMap$get5;
1094
+ this._operatorRenameUserId = userId;
1095
+ this._operatorRenameUserName = ((_this$userMap$get5 = this.userMap.get(this._operatorRenameUserId)) === null || _this$userMap$get5 === void 0 ? void 0 : _this$userMap$get5.userInfo.userName) || '';
1096
+ var key = this._dialogProvider.openDialog(_constant.FcrUIDialogKey.RENAME, '');
1097
+ this._changeNameDialogKey.push(key);
1098
+ }
1099
+ }, {
1100
+ key: "_closeChangeNameDialog",
1101
+ value: function _closeChangeNameDialog() {
1102
+ var _this0 = this;
1103
+ if (this._changeNameDialogKey.length > 0) {
1104
+ this._changeNameDialogKey.forEach(function (key) {
1105
+ _this0._dialogProvider.closeConfirm(key);
1106
+ });
1107
+ this._changeNameDialogKey = [];
1108
+ }
1109
+ }
1110
+ }, {
1111
+ key: "_moveToWaitingRoomByUserIds",
1112
+ value: function () {
1113
+ var _moveToWaitingRoomByUserIds2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(userId) {
1114
+ var _this$userMap$get6;
1115
+ var username, _t;
1116
+ return _regenerator["default"].wrap(function (_context2) {
1117
+ while (1) switch (_context2.prev = _context2.next) {
1118
+ case 0:
1119
+ username = (_this$userMap$get6 = this.userMap.get(userId)) === null || _this$userMap$get6 === void 0 ? void 0 : _this$userMap$get6.userInfo.userName;
1120
+ _context2.prev = 1;
1121
+ _context2.next = 2;
1122
+ return this._roomControl.moveToWaitingRoomByUserIds([userId]);
1123
+ case 2:
1124
+ this._messageProvider.showToast({
1125
+ type: 'normal',
1126
+ message: (0, _i18n.transI18n)('fmt_waitingroom_put_in_success', {
1127
+ reason1: username
1128
+ })
1129
+ });
1130
+ _context2.next = 5;
1131
+ break;
1132
+ case 3:
1133
+ _context2.prev = 3;
1134
+ _t = _context2["catch"](1);
1135
+ if (!(_t instanceof _type.FcrError && _t.code === _constant.ErrorCode.FAILED_TO_MOVE_USER_TO_WAITING_ROOM)) {
1136
+ _context2.next = 4;
1137
+ break;
1138
+ }
1139
+ this._messageProvider.showToast({
1140
+ type: 'error',
1141
+ message: (0, _i18n.transI18n)('fmt_waitingroom_setting_popup_toast_unable_move_creator')
1142
+ });
1143
+ return _context2.abrupt("return");
1144
+ case 4:
1145
+ this._messageProvider.showToast({
1146
+ type: 'error',
1147
+ message: (0, _i18n.transI18n)('fmt_waitingroom_setting_popup_toast_move_in_failed')
1148
+ });
1149
+ case 5:
1150
+ case "end":
1151
+ return _context2.stop();
1152
+ }
1153
+ }, _callee2, this, [[1, 3]]);
1154
+ }));
1155
+ function _moveToWaitingRoomByUserIds(_x) {
1156
+ return _moveToWaitingRoomByUserIds2.apply(this, arguments);
1157
+ }
1158
+ return _moveToWaitingRoomByUserIds;
1159
+ }()
1160
+ }, {
1161
+ key: "removeWaitingRoomUser",
1162
+ value: function removeWaitingRoomUser(userId, type) {
1163
+ var _this$_waitingRoomUse;
1164
+ (_this$_waitingRoomUse = this._waitingRoomUserControl) === null || _this$_waitingRoomUse === void 0 || _this$_waitingRoomUse.kickOutByUserIds([userId], type);
1165
+ }
1166
+ }, {
1167
+ key: "kickOutWaitingRoomAllMember",
1168
+ value: function () {
1169
+ var _kickOutWaitingRoomAllMember = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(type) {
1170
+ var _this$_waitingRoomUse2;
1171
+ return _regenerator["default"].wrap(function (_context3) {
1172
+ while (1) switch (_context3.prev = _context3.next) {
1173
+ case 0:
1174
+ _context3.next = 1;
1175
+ return (_this$_waitingRoomUse2 = this._waitingRoomUserControl) === null || _this$_waitingRoomUse2 === void 0 ? void 0 : _this$_waitingRoomUse2.kickOutByUserRoles([_type.FcrUserRole.PARTICIPANT], type);
1176
+ case 1:
1177
+ this._messageProvider.showToast({
1178
+ type: 'normal',
1179
+ message: (0, _i18n.transI18n)('fmt_waitingroom_mobile_memberlist_tips_all_removed')
1180
+ });
1181
+ case 2:
1182
+ case "end":
1183
+ return _context3.stop();
1184
+ }
1185
+ }, _callee3, this);
1186
+ }));
1187
+ function kickOutWaitingRoomAllMember(_x2) {
1188
+ return _kickOutWaitingRoomAllMember.apply(this, arguments);
1189
+ }
1190
+ return kickOutWaitingRoomAllMember;
1191
+ }()
1192
+ }, {
1193
+ key: "moveToMainRoomAllMember",
1194
+ value: function () {
1195
+ var _moveToMainRoomAllMember = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4() {
1196
+ var _this$_waitingRoomCon;
1197
+ return _regenerator["default"].wrap(function (_context4) {
1198
+ while (1) switch (_context4.prev = _context4.next) {
1199
+ case 0:
1200
+ _context4.next = 1;
1201
+ return (_this$_waitingRoomCon = this._waitingRoomControl) === null || _this$_waitingRoomCon === void 0 ? void 0 : _this$_waitingRoomCon.moveToMainRoomByUserRoles([_type.FcrUserRole.PARTICIPANT]);
1202
+ case 1:
1203
+ this._messageProvider.showToast({
1204
+ type: 'normal',
1205
+ message: (0, _i18n.transI18n)('fmt_waitingroom_mobile_memberlist_tips_all_amitted')
1206
+ });
1207
+ case 2:
1208
+ case "end":
1209
+ return _context4.stop();
1210
+ }
1211
+ }, _callee4, this);
1212
+ }));
1213
+ function moveToMainRoomAllMember() {
1214
+ return _moveToMainRoomAllMember.apply(this, arguments);
1215
+ }
1216
+ return moveToMainRoomAllMember;
1217
+ }()
1218
+ }, {
1219
+ key: "getMicStreamVolume",
1220
+ value: function getMicStreamVolume(streamId) {
1221
+ return this.audioVolumeMap.get(streamId) || 0;
1222
+ }
1223
+ }, {
1224
+ key: "handlerRoomControlAction",
1225
+ value: function handlerRoomControlAction(action, data) {
1226
+ switch (action) {
1227
+ case _constant.FcrUIRoomControlType.MUTE_ALL_AUDIO:
1228
+ this._muteAllAudio(data.allowUnmute, data.joinWithMuteAudio);
1229
+ break;
1230
+ case _constant.FcrUIRoomControlType.UNMUTE_ALL_AUDIO:
1231
+ this._unmuteAllAudio();
1232
+ break;
1233
+ case _constant.FcrUIRoomControlType.ALLOW_ATTENDEE_TO_UNMUTE:
1234
+ this._enableSelfUnmute(data);
1235
+ break;
1236
+ case _constant.FcrUIRoomControlType.ALLOW_ATTENDEE_TO_OPEN_CAMERA:
1237
+ this._enableOpenVideo(data);
1238
+ break;
1239
+ case _constant.FcrUIRoomControlType.REVOKE_HOST:
1240
+ this._revokeHost();
1241
+ break;
1242
+ case _constant.FcrUIRoomControlType.PLAY_JOIN_LEAVE_SOUND:
1243
+ this._playJoinLeaveSound();
1244
+ break;
1245
+ case _constant.FcrUIRoomControlType.LOCK_ROOM:
1246
+ this._lockRoom(data);
1247
+ break;
1248
+ case _constant.FcrUIRoomControlType.RENAME:
1249
+ this._enableRename(data);
1250
+ break;
1251
+ case _constant.FcrUIRoomControlType.JOIN_WITH_MUTE_AUDIO:
1252
+ this.enableJoinWithMuteAudio(data);
1253
+ break;
1254
+ case _constant.FcrUIRoomControlType.ACTION_REVOKE_HOST_BY_TICKET:
1255
+ this._revokeHostByTicket();
1256
+ break;
1257
+ case _constant.FcrUIRoomControlType.ACTION_CHANGE_NAME:
1258
+ this._openChangeNameDialog(this.localUser.userId);
1259
+ break;
1260
+ }
1261
+ }
1262
+ }, {
1263
+ key: "_handleEvent",
1264
+ value: function _handleEvent(action, payload) {
1265
+ if (action === _constant.FcrUIAction.MAIN_LIST_CHANGED) {
1266
+ this._mainList = payload || [];
1267
+ }
1268
+ if (action === _constant.FcrUIAction.CUSTOM_SETTINGS_CHANGED) {
1269
+ var _ref5 = payload,
1270
+ spotlightEnabled = _ref5.spotlightEnabled;
1271
+ // this.enableSpotlight = spotlightEnabled;
1272
+ }
1273
+ if (action === _constant.FcrUIAction.CHANGE_PARTICIPANT_TAB) {
1274
+ this.handleActiveTab(payload);
1275
+ }
1276
+ if (action === _constant.FcrUIAction.PARTICIPANT_ACTION) {
1277
+ this.handlerUserAction(payload.action, payload.userId);
1278
+ }
1279
+ }
1280
+ }, {
1281
+ key: "moveToMainRoomByUserIds",
1282
+ value: function moveToMainRoomByUserIds(userId) {
1283
+ if (this._waitingRoomControl) {
1284
+ this._waitingRoomControl.moveToMainRoomByUserIds(userId);
1285
+ }
1286
+ }
1287
+ }, {
1288
+ key: "handleActiveTab",
1289
+ value: function handleActiveTab(tab) {
1290
+ this.activeTab = tab;
1291
+ // this._uiEventStore.sendEvent(FcrUIAction.CURRENT_PARTITIPANT_TAB, tab);
1292
+ if (this.activeTab === _type5.FcrUIRoomType.WAITING_ROOM) {
1293
+ this._sharedWaitingRoomDataSource.unReadState = false;
1294
+ }
1295
+ }
1296
+ }, {
1297
+ key: "_muteUserAudio",
1298
+ value:
1299
+ // user actions
1300
+ function _muteUserAudio(user) {
1301
+ var userStreams = this._streamControl.getStreamsByUserId(user);
1302
+ var hardStream = userStreams.find(function (stream) {
1303
+ return stream.connectorType !== _fcrCore.FcrRoomConnectorType.NONE;
1304
+ });
1305
+ var normalStream = userStreams.find(function (stream) {
1306
+ return stream.videoSourceType === _fcrCore.FcrVideoSourceType.CAMERA;
1307
+ });
1308
+ var isSelf = user === this.localUser.userId;
1309
+ if (isSelf) {
1310
+ this._deviceStreamStore.enableMicrophoneWithPreCheck(false);
1311
+ }
1312
+ var targetStream = hardStream !== null && hardStream !== void 0 ? hardStream : normalStream;
1313
+ if (targetStream) {
1314
+ this._streamControl.updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, targetStream.streamId, {
1315
+ audioPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOPRIVILEGE,
1316
+ videoPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION
1317
+ }));
1318
+ }
1319
+ }
1320
+ }, {
1321
+ key: "_unmuteUserAudio",
1322
+ value: function _unmuteUserAudio(userId) {
1323
+ var streamInfos = this._streamControl.getStreamsByUserId(userId);
1324
+ var hardStream = streamInfos.find(function (streamInfo) {
1325
+ return streamInfo.connectorType !== _fcrCore.FcrRoomConnectorType.NONE;
1326
+ });
1327
+ // const normalStream = streamInfos.find(streamInfo => streamInfo.videoSourceType === AgoraRteVideoSourceType.CAMERA);
1328
+ var isSelf = userId === this.localUser.userId;
1329
+ if (isSelf && !hardStream) {
1330
+ this._deviceStreamStore.enableMicrophoneWithPreCheck(true);
1331
+ return;
1332
+ }
1333
+ if (!hardStream) {
1334
+ var _this$_unmuteAudioTim;
1335
+ var now = Date.now();
1336
+ if (now - ((_this$_unmuteAudioTim = this._unmuteAudioTimestamp.get(userId)) !== null && _this$_unmuteAudioTim !== void 0 ? _this$_unmuteAudioTim : 0) <= SESSION_DURATION * 1000) {
1337
+ return;
1338
+ }
1339
+ this._unmuteAudioTimestamp.set(userId, now);
1340
+ this._peerSessionControl.startPeerSession({
1341
+ sessionKey: 'REQUEST_OPEN_MICROPHONE',
1342
+ receiverId: userId,
1343
+ duration: SESSION_DURATION,
1344
+ payload: {
1345
+ sender: this.localUser
1346
+ }
1347
+ });
1348
+ } else {
1349
+ this._streamControl.updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, hardStream.streamId, {
1350
+ audioPrivilege: _fcrCore.FcrStreamPrivilegeOperation.HAS_PRIVILEGE,
1351
+ videoPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION
1352
+ }));
1353
+ }
1354
+
1355
+ // if (streamInfos && streamInfos.length > 0) {
1356
+ // const streamInfo = streamInfos[0];
1357
+ // const isNotCommonClientConnectorType =
1358
+ // streamInfo.connectorType !== AgoraRteRoomConnectorType.NONE;
1359
+ // if (!isNotCommonClientConnectorType) {
1360
+ // const now = Date.now();
1361
+ // if (now - (this._unmuteAudioTimestamp.get(userId) ?? 0) <= SESSION_DURATION * 1000) {
1362
+ // return;
1363
+ // }
1364
+ // this._unmuteAudioTimestamp.set(userId, now);
1365
+ // this._peerSessionControl.startPeerSession({
1366
+ // sessionKey: 'REQUEST_OPEN_MICROPHONE',
1367
+ // receiverId: userId,
1368
+ // duration: SESSION_DURATION,
1369
+ // payload: {
1370
+ // sender: this.localUser,
1371
+ // },
1372
+ // });
1373
+ // } else {
1374
+ // this._streamControl.updatePublishPrivilegeOfStreams({
1375
+ // [streamInfo.streamId]: {
1376
+ // audioPrivilege: FcrStreamPrivilegeOperation.HAS_PRIVILEGE,
1377
+ // videoPrivilege: FcrStreamPrivilegeOperation.NOOPERATION,
1378
+ // },
1379
+ // });
1380
+ // }
1381
+ // }
1382
+ }
1383
+ }, {
1384
+ key: "_muteUserVideo",
1385
+ value: function _muteUserVideo(user) {
1386
+ var isSelf = user === this.localUser.userId;
1387
+ if (isSelf) {
1388
+ this._deviceStreamStore.enableCameraWithPreCheck(false);
1389
+ } else {
1390
+ var targetUsers = this._streamControl.getStreamsByUserId(user);
1391
+ var targetUser = targetUsers.find(function (user) {
1392
+ return user.videoSourceType === _fcrCore.FcrVideoSourceType.CAMERA;
1393
+ });
1394
+ if (!targetUser) {
1395
+ return;
1396
+ }
1397
+ this._streamControl.updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, targetUser.streamId, {
1398
+ audioPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION,
1399
+ videoPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOPRIVILEGE
1400
+ }));
1401
+ }
1402
+ }
1403
+
1404
+ // 请求对端打开视频
1405
+ }, {
1406
+ key: "_unmuteUserVideo",
1407
+ value: function _unmuteUserVideo(userId) {
1408
+ var isSelf = userId === this.localUser.userId;
1409
+ if (isSelf) {
1410
+ this._deviceStreamStore.enableCameraWithPreCheck(true);
1411
+ } else {
1412
+ var localUser = this.localUser;
1413
+ if (localUser.userId === userId) {
1414
+ this._deviceStreamStore.enableCameraWithPreCheck(true);
1415
+ } else {
1416
+ var _this$_unmuteVideoTim;
1417
+ var now = Date.now();
1418
+ if (now - ((_this$_unmuteVideoTim = this._unmuteVideoTimestamp.get(userId)) !== null && _this$_unmuteVideoTim !== void 0 ? _this$_unmuteVideoTim : 0) <= SESSION_DURATION * 1000) {
1419
+ return;
1420
+ }
1421
+ this._unmuteVideoTimestamp.set(userId, now);
1422
+ this._peerSessionControl.startPeerSession({
1423
+ sessionKey: _type2.FcrUISessionKey.REQUEST_OPEN_CAMERA,
1424
+ receiverId: userId,
1425
+ duration: SESSION_DURATION,
1426
+ payload: {
1427
+ sender: this.localUser
1428
+ }
1429
+ });
1430
+ }
1431
+ }
1432
+ }
1433
+ }, {
1434
+ key: "_privateChat",
1435
+ value: function _privateChat(userId) {
1436
+ var userData = this.userListSource.find(function (u) {
1437
+ return u.userId === userId;
1438
+ });
1439
+ if (userData) {
1440
+ var _this$screenSharingOw;
1441
+ var hasPermissionToSendPrivateMessage = this._securityStore.hasPermissionToSendPrivateMessage(userData.userInfo.userRole);
1442
+ if (!hasPermissionToSendPrivateMessage) {
1443
+ this._messageProvider.showToast({
1444
+ type: 'error',
1445
+ message: (0, _i18n.transI18n)('fmt_attendies_tips_chat_off')
1446
+ });
1447
+ return;
1448
+ }
1449
+ if (!this._securityStore.permitPrivateChat(userId)) {
1450
+ return;
1451
+ }
1452
+ this._chatProvider.setPrivateChatTargetUser(userData.userInfo, this.activeTab);
1453
+ if ((0, _env.isElectron)() && ((_this$screenSharingOw = this.screenSharingOwner) === null || _this$screenSharingOw === void 0 ? void 0 : _this$screenSharingOw.userId) === this.localUser.userId) {
1454
+ this._sharedLayoutDataSource.setParticipantsRenderAt('dialog');
1455
+ this._uiEventStore.openDialog(_constant.FcrUIDialogKey.CHAT);
1456
+ return;
1457
+ }
1458
+ if (this._sharedLayoutDataSource.chatRenderAt !== 'dialog') {
1459
+ this._sharedLayoutDataSource.setAsideLayout({
1460
+ chat: true
1461
+ });
1462
+ this._sharedChatDataSource.activeTab = this.activeTab;
1463
+ } else {
1464
+ this._uiEventStore.openDialog(_constant.FcrUIDialogKey.CHAT);
1465
+ }
1466
+ }
1467
+ }
1468
+ }, {
1469
+ key: "_kickOutUser",
1470
+ value: function _kickOutUser(userId) {
1471
+ var _this1 = this,
1472
+ _this$userMap$get7;
1473
+ var dialogId = this.openConfirmDialog({
1474
+ title: '',
1475
+ onCancel: function onCancel() {
1476
+ _this1._dialogProvider.closeConfirm(dialogId);
1477
+ },
1478
+ content: (0, _i18n.transI18n)('fmt_uimanager_tips_Remove', {
1479
+ reason2: (_this$userMap$get7 = this.userMap.get(userId)) === null || _this$userMap$get7 === void 0 ? void 0 : _this$userMap$get7.userInfo.userName
1480
+ }),
1481
+ onOk: function onOk() {
1482
+ _this1._userControl.kickOut(userId, _type3.FcrUserKickedOutType.Once);
1483
+ _this1._dialogProvider.closeConfirm(dialogId);
1484
+ },
1485
+ height: 160
1486
+ }, 'KICK_OUT');
1487
+ }
1488
+ }, {
1489
+ key: "_handleSetHostOrCoHost",
1490
+ value: function _handleSetHostOrCoHost(userId, type) {
1491
+ var _this$userMap$get8,
1492
+ _this10 = this;
1493
+ var username = (_this$userMap$get8 = this.userMap.get(userId)) === null || _this$userMap$get8 === void 0 ? void 0 : _this$userMap$get8.userInfo.userName;
1494
+ var targetRole = type === 'host' ? (0, _i18n.transI18n)('fmt_role_host') : (0, _i18n.transI18n)('fmt_role_cohost');
1495
+ var dialogId = this.openConfirmDialog({
1496
+ title: (0, _i18n.transI18n)('fmt_uimanager_labels_Setas', {
1497
+ reason1: targetRole
1498
+ }),
1499
+ onCancel: function onCancel() {
1500
+ _this10._dialogProvider.closeConfirm(dialogId);
1501
+ },
1502
+ content: (0, _i18n.transI18n)('fmt_uimanager_tips_designedas', {
1503
+ reason1: username,
1504
+ reason2: targetRole
1505
+ }),
1506
+ onOk: function () {
1507
+ var _onOk = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5() {
1508
+ var errCode, _t2;
1509
+ return _regenerator["default"].wrap(function (_context5) {
1510
+ while (1) switch (_context5.prev = _context5.next) {
1511
+ case 0:
1512
+ if (_this10.userMap.has(userId)) {
1513
+ _context5.next = 1;
1514
+ break;
1515
+ }
1516
+ _this10._messageProvider.showToast({
1517
+ type: 'error',
1518
+ message: (0, _i18n.transI18n)('fmt_uimanager_tips_userleaft')
1519
+ });
1520
+ return _context5.abrupt("return");
1521
+ case 1:
1522
+ _context5.prev = 1;
1523
+ _context5.next = 2;
1524
+ return _this10._userControl.updateRemoteUserRole(userId, type === 'host' ? _type.FcrUserRole.HOST : _type.FcrUserRole.COHOST);
1525
+ case 2:
1526
+ _context5.next = 4;
1527
+ break;
1528
+ case 3:
1529
+ _context5.prev = 3;
1530
+ _t2 = _context5["catch"](1);
1531
+ if (_t2 instanceof _type.FcrError) {
1532
+ errCode = _t2.code;
1533
+ if (errCode === _constant.ErrorCode.FAILED_TO_UPDATE_USER_ROLE_DUE_TO_PRIVILEGE) {
1534
+ _this10._messageProvider.showToast({
1535
+ type: 'error',
1536
+ message: (0, _i18n.transI18n)('fmt_attendies_button_revokehost_error')
1537
+ });
1538
+ } else if (errCode === _constant.ErrorCode.FAILED_TO_UPDATE_USER_ROLE_DUE_TO_LIMIT_REACHED) {
1539
+ _this10._messageProvider.showToast({
1540
+ type: 'error',
1541
+ message: (0, _i18n.transI18n)('fmt_attendies_toast_cohost_upper_limit')
1542
+ });
1543
+ }
1544
+ }
1545
+ _this10.logger.error(_t2);
1546
+ case 4:
1547
+ _this10._dialogProvider.closeConfirm(dialogId);
1548
+ case 5:
1549
+ case "end":
1550
+ return _context5.stop();
1551
+ }
1552
+ }, _callee5, null, [[1, 3]]);
1553
+ }));
1554
+ function onOk() {
1555
+ return _onOk.apply(this, arguments);
1556
+ }
1557
+ return onOk;
1558
+ }(),
1559
+ okText: (0, _i18n.transI18n)('fmt_uimanager_labels_Setas', {
1560
+ reason1: targetRole
1561
+ }),
1562
+ cancelText: (0, _i18n.transI18n)('fmt_security_buttons_cancel'),
1563
+ closable: false,
1564
+ alignCenter: true
1565
+ }, 'UPDATE_USER_ROLE');
1566
+ }
1567
+ }, {
1568
+ key: "_setAsHost",
1569
+ value: function _setAsHost(userId) {
1570
+ this._handleSetHostOrCoHost(userId, 'host');
1571
+ }
1572
+ }, {
1573
+ key: "_setAsCoHost",
1574
+ value: function _setAsCoHost(userId) {
1575
+ this._handleSetHostOrCoHost(userId, 'cohost');
1576
+ }
1577
+ }, {
1578
+ key: "_setAsAttendee",
1579
+ value: function _setAsAttendee(userId) {
1580
+ this._userControl.updateRemoteUserRole(userId, _type.FcrUserRole.PARTICIPANT);
1581
+ }
1582
+
1583
+ // room control actions
1584
+ }, {
1585
+ key: "_muteAllAudio",
1586
+ value: function _muteAllAudio(allowUnmute, JoinWithMuteAudio) {
1587
+ this._securityStore.setAllowJoinWithMuteAudio(JoinWithMuteAudio);
1588
+ this._securityStore.setAllowUnmuteSelfAudio(allowUnmute);
1589
+ this._securityStore.muteAll();
1590
+ this._messageProvider.showToast({
1591
+ message: (0, _i18n.transI18n)('fmt_uimanager_tips_allmuted'),
1592
+ type: 'normal'
1593
+ });
1594
+ this._sharedSecuritySharedDataSource.setCheckedStateMap(_objectSpread(_objectSpread({}, this.checkedStateMap), {
1595
+ enableJoinWithAudio: JoinWithMuteAudio,
1596
+ unmuteYourself: allowUnmute
1597
+ }));
1598
+ }
1599
+ }, {
1600
+ key: "_unmuteAllAudio",
1601
+ value: function _unmuteAllAudio() {
1602
+ this._securityStore.setAllowUnmuteSelfAudio(true);
1603
+ this._sharedSecuritySharedDataSource.setCheckedStateMap(_objectSpread(_objectSpread({}, this.checkedStateMap), {
1604
+ unmuteYourself: true
1605
+ }));
1606
+ }
1607
+
1608
+ //允许自我解除静音
1609
+ }, {
1610
+ key: "_enableSelfUnmute",
1611
+ value: function _enableSelfUnmute(enable) {
1612
+ this._securityStore.setAllowUnmuteSelfAudio(enable);
1613
+ this._sharedSecuritySharedDataSource.setCheckedStateMap(_objectSpread(_objectSpread({}, this.checkedStateMap), {
1614
+ unmuteYourself: enable
1615
+ }));
1616
+ }
1617
+ }, {
1618
+ key: "_enableOpenVideo",
1619
+ value: function _enableOpenVideo(enable) {
1620
+ this._securityStore.setAllowUnmuteSelfVideo(enable);
1621
+ this._sharedSecuritySharedDataSource.setCheckedStateMap(_objectSpread(_objectSpread({}, this.checkedStateMap), {
1622
+ startVideo: enable
1623
+ }));
1624
+ }
1625
+ }, {
1626
+ key: "_revokeHost",
1627
+ value: function _revokeHost() {
1628
+ if (!this._securityStore.hasRevokeHostPermission() || this.localUser.userRole === _type.FcrUserRole.HOST) {
1629
+ return;
1630
+ }
1631
+ this._userControl.revokeHost();
1632
+ }
1633
+ }, {
1634
+ key: "_playJoinLeaveSound",
1635
+ value: function _playJoinLeaveSound() {}
1636
+ }, {
1637
+ key: "_lockRoom",
1638
+ value: function _lockRoom(enable) {
1639
+ this._messageProvider.showToast({
1640
+ type: 'info',
1641
+ message: enable ? (0, _i18n.transI18n)('fmt_security_tips_lock_meeting_on') : (0, _i18n.transI18n)('fmt_security_tips_lock_meeting_off')
1642
+ });
1643
+ this._securityStore.setLockRoomEnabled(enable);
1644
+ this._sharedSecuritySharedDataSource.setCheckedStateMap(_objectSpread(_objectSpread({}, this.checkedStateMap), {
1645
+ lockRoom: enable
1646
+ }));
1647
+ }
1648
+ }, {
1649
+ key: "_enableRename",
1650
+ value: function _enableRename(enable) {
1651
+ this._securityStore.setAllowChangeSelfName(enable);
1652
+ this._sharedSecuritySharedDataSource.setCheckedStateMap(_objectSpread(_objectSpread({}, this.checkedStateMap), {
1653
+ rename: enable
1654
+ }));
1655
+ }
1656
+
1657
+ // 所有人加入会议时静音
1658
+ }, {
1659
+ key: "enableJoinWithMuteAudio",
1660
+ value: function enableJoinWithMuteAudio(enable) {
1661
+ this._securityStore.setAllowJoinWithMuteAudio(enable);
1662
+ this._sharedSecuritySharedDataSource.setCheckedStateMap(_objectSpread(_objectSpread({}, this.checkedStateMap), {
1663
+ enableJoinWithAudio: enable
1664
+ }));
1665
+ }
1666
+ }, {
1667
+ key: "_onPeerSessionReceived",
1668
+ value: function _onPeerSessionReceived(session) {
1669
+ var _this11 = this;
1670
+ this.logger.info('participant store onPeerSessionReceived');
1671
+ var recevieSessionId = session.sessionId;
1672
+ var userOpenDeviceInProcessed = this._processedUserOpenDeviceRequests.has(session.sessionId);
1673
+ this.logger.info('participant store onPeerSessionReceived userOpenDeviceInProcessed', userOpenDeviceInProcessed);
1674
+ if (recevieSessionId && userOpenDeviceInProcessed) {
1675
+ return;
1676
+ }
1677
+ this._processedUserOpenDeviceRequests.add(session.sessionId);
1678
+ var localUserUid = this.localUser.userId;
1679
+ if (!localUserUid) {
1680
+ return;
1681
+ }
1682
+ var localUser = this._streamControl.getStreamsByUserId(localUserUid).find(function (user) {
1683
+ return user.videoSourceType === _fcrCore.FcrVideoSourceType.CAMERA;
1684
+ });
1685
+ if (!localUser) {
1686
+ return;
1687
+ }
1688
+ var localUserHasAudio = this._deviceStore.microphoneEnabled;
1689
+ var localUserHasVideo = this._deviceStore.cameraEnabled;
1690
+ var sessionKey = session.sessionKey,
1691
+ payload = session.payload;
1692
+ if (sessionKey === _type2.FcrUISessionKey.REQUEST_OPEN_CAMERA) {
1693
+ this.logger.info('participant store onPeerSessionReceived handle REQUEST_OPEN_CAMERA', localUserHasVideo);
1694
+ if (localUserHasVideo) {
1695
+ this._peerSessionControl.acceptPeerSession(session);
1696
+ return;
1697
+ }
1698
+ var _ref6 = payload,
1699
+ sender = _ref6.sender;
1700
+ var dialogId = this.openConfirmDialog({
1701
+ height: 166,
1702
+ title: (0, _i18n.transI18n)('fmt_attendies_tips_apply_video_title', {
1703
+ reason1: (0, _i18n.transI18n)(_i18n2.userRoleI18nKey[sender.userRole])
1704
+ }),
1705
+ content: (0, _i18n.transI18n)('fmt_additional_tips_cameraturnon'),
1706
+ okText: (0, _i18n.transI18n)('fmt_additional_button_accept'),
1707
+ cancelText: (0, _i18n.transI18n)('fmt_additional_button_refuse'),
1708
+ closable: false,
1709
+ onOk: function onOk() {
1710
+ _this11._peerSessionControl.acceptPeerSession(session);
1711
+ _this11._deviceStreamStore.enableCameraWithPreCheck(true);
1712
+ _this11._dialogProvider.closeConfirm(dialogId);
1713
+ },
1714
+ onCancel: function onCancel() {
1715
+ _this11._peerSessionControl.rejectPeerSession(session);
1716
+ _this11._dialogProvider.closeConfirm(dialogId);
1717
+ }
1718
+ }, _type2.FcrUISessionKey.REQUEST_OPEN_CAMERA);
1719
+ return;
1720
+ }
1721
+ if (sessionKey === _type2.FcrUISessionKey.REQUEST_OPEN_MICROPHONE) {
1722
+ if (localUserHasAudio) {
1723
+ this._peerSessionControl.acceptPeerSession(session);
1724
+ return;
1725
+ }
1726
+ var _ref7 = payload,
1727
+ _sender = _ref7.sender;
1728
+ var _dialogId = this.openConfirmDialog({
1729
+ title: (0, _i18n.transI18n)('fmt_attendies_tips_apply_audio_title', {
1730
+ reason1: (0, _i18n.transI18n)(_i18n2.userRoleI18nKey[_sender.userRole])
1731
+ }),
1732
+ content: (0, _i18n.transI18n)('fmt_additional_tips_agreeturnon'),
1733
+ okText: (0, _i18n.transI18n)('fmt_device_label_audio_unmute'),
1734
+ cancelText: (0, _i18n.transI18n)('fmt_additional_options_Keepsilent'),
1735
+ closable: false,
1736
+ onOk: function onOk() {
1737
+ _this11._processedUserOpenDeviceRequests["delete"](session.sessionId);
1738
+ _this11._peerSessionControl.acceptPeerSession(session);
1739
+ _this11._deviceStreamStore.enableMicrophoneWithPreCheck(true);
1740
+ _this11._dialogProvider.closeConfirm(_dialogId);
1741
+ },
1742
+ onCancel: function onCancel() {
1743
+ _this11._processedUserOpenDeviceRequests["delete"](session.sessionId);
1744
+ _this11._peerSessionControl.rejectPeerSession(session);
1745
+ _this11._dialogProvider.closeConfirm(_dialogId);
1746
+ },
1747
+ height: 166
1748
+ }, _type2.FcrUISessionKey.REQUEST_OPEN_MICROPHONE);
1749
+ }
1750
+ }
1751
+ }, {
1752
+ key: "_onPeerSessionAccepted",
1753
+ value: function _onPeerSessionAccepted(session) {
1754
+ this._updateSessionTimestamp(session);
1755
+ }
1756
+ }, {
1757
+ key: "_onPeerSessionRejected",
1758
+ value: function _onPeerSessionRejected(session) {
1759
+ this._updateSessionTimestamp(session);
1760
+ }
1761
+ }, {
1762
+ key: "_updateSessionTimestamp",
1763
+ value: function _updateSessionTimestamp(session) {
1764
+ var responderId = session.responderId,
1765
+ sessionKey = session.sessionKey;
1766
+ switch (sessionKey) {
1767
+ case _type2.FcrUISessionKey.REQUEST_OPEN_CAMERA:
1768
+ this._unmuteVideoTimestamp["delete"](responderId);
1769
+ break;
1770
+ case _type2.FcrUISessionKey.REQUEST_OPEN_MICROPHONE:
1771
+ this._unmuteAudioTimestamp["delete"](responderId);
1772
+ break;
1773
+ }
1774
+ }
1775
+ }, {
1776
+ key: "_getOutputLanguage",
1777
+ value: function () {
1778
+ var _getOutputLanguage2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee6() {
1779
+ var _this12 = this;
1780
+ var interpreterInputLanguageList, index, user, language;
1781
+ return _regenerator["default"].wrap(function (_context6) {
1782
+ while (1) switch (_context6.prev = _context6.next) {
1783
+ case 0:
1784
+ interpreterInputLanguageList = [];
1785
+ for (index = 0; index < this.userList.length; index++) {
1786
+ user = this.userList[index];
1787
+ language = this._userControl.getUserPropertiesByKeyPath('interpreterLangCode', user.userId);
1788
+ if (language) {
1789
+ interpreterInputLanguageList.push({
1790
+ userId: user.userId,
1791
+ language: language
1792
+ });
1793
+ }
1794
+ }
1795
+ (0, _mobx.runInAction)(function () {
1796
+ _this12.interpreterInputLanguageList = interpreterInputLanguageList;
1797
+ });
1798
+ case 1:
1799
+ case "end":
1800
+ return _context6.stop();
1801
+ }
1802
+ }, _callee6, this);
1803
+ }));
1804
+ function _getOutputLanguage() {
1805
+ return _getOutputLanguage2.apply(this, arguments);
1806
+ }
1807
+ return _getOutputLanguage;
1808
+ }()
1809
+ }, {
1810
+ key: "_checkCreatorInfo",
1811
+ value: function _checkCreatorInfo() {
1812
+ var _this13 = this;
1813
+ var hasRevokeHostPermission = this._securityStore.hasRevokeHostPermission();
1814
+ var currentHost = this._sharedMemberDataSource.memberList.find(function (user) {
1815
+ return user.userInfo.userRole === _type.FcrUserRole.HOST;
1816
+ });
1817
+ if (hasRevokeHostPermission && currentHost && currentHost.userId !== this.localUser.userId) {
1818
+ this._dialogProvider.openDialog(_constant.FcrUIDialogKey.SYSTEM_PREFERENCE, '', {
1819
+ title: (0, _i18n.transI18n)('fmt_hostkey_window_title_reclaim_host'),
1820
+ desc: (0, _i18n.transI18n)('fmt_hostkey_window_content_reclaim_host', {
1821
+ reason1: "".concat(currentHost.userInfo.userName)
1822
+ }),
1823
+ img: 'host',
1824
+ height: 390,
1825
+ buttons: [{
1826
+ text: (0, _i18n.transI18n)('fmt_hostkey_window_button_reclaim_host'),
1827
+ withClose: true,
1828
+ styleType: 'success',
1829
+ onClick: function () {
1830
+ var _onClick = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee7() {
1831
+ return _regenerator["default"].wrap(function (_context7) {
1832
+ while (1) switch (_context7.prev = _context7.next) {
1833
+ case 0:
1834
+ _this13._revokeHost();
1835
+ case 1:
1836
+ case "end":
1837
+ return _context7.stop();
1838
+ }
1839
+ }, _callee7);
1840
+ }));
1841
+ function onClick() {
1842
+ return _onClick.apply(this, arguments);
1843
+ }
1844
+ return onClick;
1845
+ }()
1846
+ }, {
1847
+ text: [_type.FcrUserRole.HOST, _type.FcrUserRole.COHOST].includes(this._sharedMemberDataSource.localUserRole) ? (0, _i18n.transI18n)('fmt_hostkey_window_button_remain_cohost') : (0, _i18n.transI18n)('fmt_hostkey_window_button_remain_attendees'),
1848
+ withClose: true,
1849
+ onClick: function onClick() {}
1850
+ }]
1851
+ });
1852
+ }
1853
+ }
1854
+ }, {
1855
+ key: "_revokeHostByTicket",
1856
+ value: function _revokeHostByTicket() {
1857
+ var _this14 = this;
1858
+ var hostKey = '';
1859
+ var errMessage = {
1860
+ '732403104': (0, _i18n.transI18n)('fmt_hostkey_meetingroom_toast_unable_to_claim_host'),
1861
+ '732403105': (0, _i18n.transI18n)('fmt_hostkey_input_hostkey_tips_incorrect_key')
1862
+ };
1863
+ var dialogId = this._dialogProvider.openConfirmDialog({
1864
+ title: (0, _i18n.transI18n)('fmt_hostkey_input_hostkey_title_enter_key'),
1865
+ content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_confirmInput.FcrConfirmInput, {
1866
+ type: "number",
1867
+ placeholder: (0, _i18n.transI18n)('fmt_hostkey_input_hostkey_text_hint_enter_key'),
1868
+ onChange: function onChange(value) {
1869
+ hostKey = String(value);
1870
+ }
1871
+ }),
1872
+ alignCenter: true,
1873
+ closable: false,
1874
+ onOk: function () {
1875
+ var _onOk2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee8() {
1876
+ return _regenerator["default"].wrap(function (_context8) {
1877
+ while (1) switch (_context8.prev = _context8.next) {
1878
+ case 0:
1879
+ return _context8.abrupt("return", _this14._userControl.claimHost(hostKey).then(function (res) {
1880
+ _this14._messageProvider.showToast({
1881
+ type: 'normal',
1882
+ message: (0, _i18n.transI18n)('fmt_hostkey_meetingroom_toast_now_host')
1883
+ });
1884
+ _this14._dialogProvider.closeConfirm(dialogId);
1885
+ })["catch"](function (err) {
1886
+ if (err.code === '732403105') return {
1887
+ message: errMessage === null || errMessage === void 0 ? void 0 : errMessage["".concat(err.code)]
1888
+ };
1889
+ _this14._messageProvider.showToast({
1890
+ type: err.code === 0 ? 'normal' : 'error',
1891
+ message: 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
1892
+ });
1893
+ }));
1894
+ case 1:
1895
+ case "end":
1896
+ return _context8.stop();
1897
+ }
1898
+ }, _callee8);
1899
+ }));
1900
+ function onOk() {
1901
+ return _onOk2.apply(this, arguments);
1902
+ }
1903
+ return onOk;
1904
+ }(),
1905
+ onCancel: function onCancel() {
1906
+ _this14._dialogProvider.closeConfirm(dialogId);
1907
+ }
1908
+ });
1909
+ }
1910
+ }]);
1911
+ }();
1912
+ _ParticipantStore = ParticipantStore;
1913
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_ParticipantStore, [[_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, "audioVolumeMap"], [_mobx.computed, 3, "userListSource"], [_mobx.computed, 3, "spotlightStreamId"], [_mobx.computed, 3, "mergeUserInfo"], [_mobx.computed, 3, "userMap"], [_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"], [_openParticipantsWindowDecs, 18, "openParticipantsWindow"], [_setParticipantsWindowActiveDecs, 18, "setParticipantsWindowActive"], [_handlerSearchUserDecs, 18, "handlerSearchUser"], [_decorator.bound, 2, "onInvite"], [_decorator.bound, 2, "setMergeConfirmDialog"], [_decorator.bound, 2, "mergeConfirmDialogOk"], [_decorator.bound, 2, "removePin"], [_decorator.bound, 2, "addPin"], [_closeRemoveAdmitWaitingRoomDialogDecs, 18, "closeRemoveAdmitWaitingRoomDialog"], [_openRemoveAdmitWaitingRoomDialogDecs, 18, "openRemoveAdmitWaitingRoomDialog"], [_setAllowUnmuteDecs, 18, "setAllowUnmute"], [_setAllowJoinWithMuteAudioDecs, 18, "setAllowJoinWithMuteAudio"], [_openMuteAllDialogDecs, 18, "openMuteAllDialog"], [_isHostSupportedDecs, 18, "isHostSupported"], [_handlerUserActionDecs, 18, "handlerUserAction"], [_decorator.bound, 2, "_getPinStreamIdFromUser"], [_handleConfirmChangeNameDecs, 18, "handleConfirmChangeName"], [_handleCancelChangeNameDecs, 18, "handleCancelChangeName"], [_closeChangeNameDialogDecs, 18, "_closeChangeNameDialog"], [_moveToWaitingRoomByUserIdsDecs, 18, "_moveToWaitingRoomByUserIds"], [_removeWaitingRoomUserDecs, 18, "removeWaitingRoomUser"], [_kickOutWaitingRoomAllMemberDecs, 18, "kickOutWaitingRoomAllMember"], [_moveToMainRoomAllMemberDecs, 18, "moveToMainRoomAllMember"], [_decorator.bound, 2, "getMicStreamVolume"], [_handlerRoomControlActionDecs, 18, "handlerRoomControlAction"], [_handleEventDecs, 18, "_handleEvent"], [_moveToMainRoomByUserIdsDecs, 18, "moveToMainRoomByUserIds"], [_handleActiveTabDecs, 18, "handleActiveTab"], [_kickOutUserDecs, 18, "_kickOutUser"], [_setAsAttendeeDecs, 18, "_setAsAttendee"], [_onPeerSessionReceivedDecs, 18, "_onPeerSessionReceived"], [_getOutputLanguageDecs, 18, "_getOutputLanguage"]], []).e, 15);
1914
+ _init__mainList = _applyDecs$e[0];
1915
+ _init__isChecked = _applyDecs$e[1];
1916
+ _init__participantsWindowActive = _applyDecs$e[2];
1917
+ _init_enableParticipantsJoinWithMute = _applyDecs$e[3];
1918
+ _init_searchText = _applyDecs$e[4];
1919
+ _init_currentModal = _applyDecs$e[5];
1920
+ _init_mergeConfirmDialog = _applyDecs$e[6];
1921
+ _init_mergeUserId = _applyDecs$e[7];
1922
+ _init_activeTab = _applyDecs$e[8];
1923
+ _init_interpreterInputLanguageList = _applyDecs$e[9];
1924
+ _init_newName = _applyDecs$e[10];
1925
+ _init_allowUnmute = _applyDecs$e[11];
1926
+ _init_joinWithMuteAudio = _applyDecs$e[12];
1927
+ _init_showBecomeHostButton = _applyDecs$e[13];
1928
+ _initProto = _applyDecs$e[14];
1929
+ var StoreContext = exports.StoreContext = /*#__PURE__*/(0, _react.createContext)(null);