fcr-ui-scene 3.3.1 → 3.4.1

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 (681) hide show
  1. package/installer/icons/icon.png +0 -0
  2. package/lib/ scenes/base.d.ts +10 -0
  3. package/lib/ scenes/base.js +75 -0
  4. package/lib/ scenes/main-scene.d.ts +43 -0
  5. package/lib/ scenes/main-scene.js +368 -0
  6. package/lib/ scenes/waiting-scene.d.ts +31 -0
  7. package/lib/ scenes/waiting-scene.js +119 -0
  8. package/lib/common/device-store.d.ts +22 -13
  9. package/lib/common/device-store.js +350 -249
  10. package/lib/common/device-stream-store.d.ts +8 -14
  11. package/lib/common/device-stream-store.js +254 -116
  12. package/lib/common/event-store.d.ts +19 -10
  13. package/lib/common/event-store.js +28 -10
  14. package/lib/common/remote-renderer.d.ts +15 -0
  15. package/lib/common/remote-renderer.js +138 -0
  16. package/lib/common/room-store.d.ts +21 -18
  17. package/lib/common/room-store.js +54 -47
  18. package/lib/common/security-store.d.ts +38 -40
  19. package/lib/common/security-store.js +231 -394
  20. package/lib/common/type.d.ts +8 -0
  21. package/lib/common/type.js +6 -0
  22. package/lib/creator.d.ts +3 -1
  23. package/lib/creator.js +13 -1
  24. package/lib/electron/app.js +59 -0
  25. package/lib/electron/injections.d.ts +6 -4
  26. package/lib/electron/injections.js +138 -113
  27. package/lib/electron/logger.js +3 -1
  28. package/lib/electron/main.js +13 -1
  29. package/lib/electron/plugins/devtool-shortcut.d.ts +2 -0
  30. package/lib/electron/plugins/devtool-shortcut.js +19 -0
  31. package/lib/electron/preload.js +5 -3
  32. package/lib/error-fallback.css +62 -0
  33. package/lib/error-fallback.d.ts +2 -0
  34. package/lib/error-fallback.js +19 -0
  35. package/lib/fragments/control-bar/cloud-recording-buttons.js +1 -1
  36. package/lib/fragments/control-bar/control-bar-store.d.ts +11 -1
  37. package/lib/fragments/control-bar/control-bar-store.js +196 -111
  38. package/lib/fragments/control-bar/index.js +6 -0
  39. package/lib/fragments/control-bar/more-actions/index.js +1 -1
  40. package/lib/fragments/control-bar/security-content/index.css +65 -0
  41. package/lib/fragments/control-bar/security-content/index.js +66 -2
  42. package/lib/fragments/control-bar/share-state-nav/index.js +1 -1
  43. package/lib/fragments/control-bar/view.js +15 -6
  44. package/lib/fragments/live-streaming/store.d.ts +1 -1
  45. package/lib/fragments/live-streaming/store.js +1 -1
  46. package/lib/fragments/live-streaming/view.js +4 -2
  47. package/lib/fragments/share-screen-selection/selection-store.d.ts +1 -1
  48. package/lib/fragments/share-screen-selection/selection-store.js +1 -1
  49. package/lib/fragments/share-screen-selection/view.js +20 -20
  50. package/lib/fragments/toolbar/components/eraser-picker.js +1 -1
  51. package/lib/fragments/toolbar/components/pen-picker.js +1 -1
  52. package/lib/fragments/toolbar/components/shape-picker.js +1 -1
  53. package/lib/fragments/toolbar/components/transfer-position-icon/index.d.ts +11 -0
  54. package/lib/fragments/toolbar/components/transfer-position-icon/index.js +46 -0
  55. package/lib/fragments/toolbar/components/wrapper.js +1 -1
  56. package/lib/fragments/toolbar/hooks.js +1 -1
  57. package/lib/fragments/toolbar/store.d.ts +1 -1
  58. package/lib/hooks/meeting-time.d.ts +1 -1
  59. package/lib/modules/Interpreter/action/add-btn/index.css +4 -0
  60. package/lib/modules/Interpreter/action/add-btn/index.d.ts +11 -0
  61. package/lib/modules/Interpreter/action/add-btn/index.js +43 -0
  62. package/lib/modules/Interpreter/action/delete-btn/index.css +14 -0
  63. package/lib/modules/Interpreter/action/delete-btn/index.d.ts +6 -0
  64. package/lib/modules/Interpreter/action/delete-btn/index.js +38 -0
  65. package/lib/modules/Interpreter/action/edit-btn/index.css +3 -0
  66. package/lib/modules/Interpreter/action/edit-btn/index.d.ts +4 -0
  67. package/lib/modules/Interpreter/action/edit-btn/index.js +47 -0
  68. package/lib/modules/Interpreter/action/switch-btn/index.css +3 -0
  69. package/lib/modules/Interpreter/action/switch-btn/index.d.ts +3 -0
  70. package/lib/modules/Interpreter/action/switch-btn/index.js +52 -0
  71. package/lib/modules/Interpreter/add-button/index.js +6 -4
  72. package/lib/modules/Interpreter/constant.d.ts +23 -12
  73. package/lib/modules/Interpreter/constant.js +53 -13
  74. package/lib/modules/Interpreter/dialog-content/index.js +2 -2
  75. package/lib/modules/Interpreter/footer/components/interpreter-btn/index.js +10 -13
  76. package/lib/modules/Interpreter/footer/components/set-btn/index.js +8 -5
  77. package/lib/modules/Interpreter/footer/components/tooltip-wrapper/index.js +3 -1
  78. package/lib/modules/Interpreter/footer/index.css +6 -5
  79. package/lib/modules/Interpreter/footer/index.d.ts +4 -1
  80. package/lib/modules/Interpreter/footer/index.js +8 -17
  81. package/lib/modules/Interpreter/index.css +10 -3
  82. package/lib/modules/Interpreter/index.d.ts +2 -15
  83. package/lib/modules/Interpreter/index.js +9 -19
  84. package/lib/modules/Interpreter/interpreter-list/index.css +5 -18
  85. package/lib/modules/Interpreter/interpreter-list/index.d.ts +5 -1
  86. package/lib/modules/Interpreter/interpreter-list/index.js +15 -32
  87. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/index.css +23 -8
  88. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/index.d.ts +4 -1
  89. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/index.js +51 -13
  90. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_ar.png +0 -0
  91. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_cn.png +0 -0
  92. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_de.png +0 -0
  93. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_en.png +0 -0
  94. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_es.png +0 -0
  95. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_fr.png +0 -0
  96. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_hi.png +0 -0
  97. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_id.png +0 -0
  98. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_it.png +0 -0
  99. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_jp.png +0 -0
  100. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_ko.png +0 -0
  101. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_ms.png +0 -0
  102. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_pt.png +0 -0
  103. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_ru.png +0 -0
  104. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_th.png +0 -0
  105. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_tr.png +0 -0
  106. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_vi.png +0 -0
  107. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/index.d.ts +9 -4
  108. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/index.js +98 -39
  109. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/index.css +9 -4
  110. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/index.d.ts +1 -6
  111. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/index.js +74 -64
  112. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/option-Item.d.ts +6 -0
  113. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/option-Item.js +58 -0
  114. package/lib/modules/Interpreter/interpreter-list/interpreter-item/index.css +3 -5
  115. package/lib/modules/Interpreter/interpreter-list/interpreter-item/index.d.ts +1 -1
  116. package/lib/modules/Interpreter/interpreter-list/interpreter-item/index.js +7 -24
  117. package/lib/modules/Interpreter/store.d.ts +70 -41
  118. package/lib/modules/Interpreter/store.js +1033 -814
  119. package/lib/modules/Interpreter/tooltip-wrapper/index.d.ts +6 -0
  120. package/lib/modules/Interpreter/tooltip-wrapper/index.js +30 -0
  121. package/lib/modules/Interpreter/type.d.ts +41 -0
  122. package/lib/modules/Interpreter/type.js +20 -0
  123. package/lib/modules/Interpreter/utils.d.ts +12 -0
  124. package/lib/modules/Interpreter/utils.js +139 -0
  125. package/lib/modules/Interpreter/view.d.ts +0 -1
  126. package/lib/modules/Interpreter/view.js +48 -13
  127. package/lib/modules/action-bar/Interpreter/index.d.ts +1 -1
  128. package/lib/modules/action-bar/Interpreter/index.js +7 -10
  129. package/lib/modules/action-bar/action-bar-collapes-items.d.ts +4 -1
  130. package/lib/modules/action-bar/action-bar-collapes-items.js +39 -22
  131. package/lib/modules/action-bar/apps/app-item/index.css +35 -0
  132. package/lib/modules/action-bar/apps/app-item/index.d.ts +12 -0
  133. package/{dist/electron/bootstrap-sdk.js → lib/modules/action-bar/apps/app-item/index.js} +38 -33
  134. package/lib/modules/action-bar/apps/appitems.d.ts +4 -1
  135. package/lib/modules/action-bar/apps/appitems.js +30 -25
  136. package/lib/modules/action-bar/apps/index.css +5 -3
  137. package/lib/modules/action-bar/apps/index.js +13 -14
  138. package/lib/modules/action-bar/apps/useAppItemOptions.d.ts +9 -0
  139. package/lib/modules/action-bar/apps/useAppItemOptions.js +29 -0
  140. package/lib/modules/action-bar/apps/useBeautyBackground.d.ts +10 -0
  141. package/lib/modules/action-bar/apps/useBeautyBackground.js +34 -0
  142. package/lib/modules/action-bar/apps/useInterpreter.d.ts +14 -0
  143. package/lib/modules/action-bar/apps/useInterpreter.js +37 -0
  144. package/lib/modules/action-bar/apps/useLiveStreaming.d.ts +16 -0
  145. package/lib/modules/action-bar/apps/useLiveStreaming.js +41 -0
  146. package/lib/modules/action-bar/chat/index.js +3 -3
  147. package/lib/modules/action-bar/components/apps/app-item/index.css +35 -0
  148. package/lib/modules/action-bar/components/apps/app-item/index.d.ts +12 -0
  149. package/lib/modules/action-bar/components/apps/app-item/index.js +61 -0
  150. package/lib/modules/action-bar/components/apps/appitems.d.ts +5 -0
  151. package/{dist/electron/bootstrap-dev.js → lib/modules/action-bar/components/apps/appitems.js} +21 -27
  152. package/lib/modules/action-bar/components/apps/index.css +8 -0
  153. package/lib/modules/action-bar/components/apps/index.d.ts +4 -0
  154. package/lib/modules/action-bar/components/apps/index.js +57 -0
  155. package/lib/modules/action-bar/components/apps/useAppItemOptions.d.ts +9 -0
  156. package/lib/modules/action-bar/components/apps/useAppItemOptions.js +29 -0
  157. package/lib/modules/action-bar/components/apps/useBeautyBackground.d.ts +10 -0
  158. package/lib/modules/action-bar/components/apps/useBeautyBackground.js +36 -0
  159. package/lib/modules/action-bar/components/apps/useInterpreter.d.ts +14 -0
  160. package/lib/modules/action-bar/components/apps/useInterpreter.js +37 -0
  161. package/lib/modules/action-bar/components/apps/useLiveStreaming.d.ts +16 -0
  162. package/lib/modules/action-bar/components/apps/useLiveStreaming.js +41 -0
  163. package/lib/modules/action-bar/components/board/index.d.ts +4 -0
  164. package/lib/modules/action-bar/components/board/index.js +34 -0
  165. package/lib/modules/action-bar/components/breakout-room/index.d.ts +4 -0
  166. package/lib/modules/action-bar/components/breakout-room/index.js +32 -0
  167. package/lib/modules/action-bar/components/chat/index.css +80 -0
  168. package/lib/modules/action-bar/components/chat/index.d.ts +5 -0
  169. package/lib/modules/action-bar/components/chat/index.js +154 -0
  170. package/lib/modules/action-bar/components/device/index.css +162 -0
  171. package/lib/modules/action-bar/components/device/index.d.ts +8 -0
  172. package/lib/modules/action-bar/components/device/index.js +611 -0
  173. package/lib/modules/action-bar/components/interpreter/index.d.ts +6 -0
  174. package/lib/modules/action-bar/components/interpreter/index.js +41 -0
  175. package/lib/modules/action-bar/components/item.d.ts +27 -0
  176. package/lib/modules/action-bar/components/item.js +164 -0
  177. package/lib/modules/action-bar/components/leave/assign-host.d.ts +10 -0
  178. package/lib/modules/action-bar/components/leave/assign-host.js +64 -0
  179. package/lib/modules/action-bar/components/leave/index.css +126 -0
  180. package/lib/modules/action-bar/components/leave/index.d.ts +3 -0
  181. package/lib/modules/action-bar/components/leave/index.js +159 -0
  182. package/lib/modules/action-bar/components/leave/leave-meeting.d.ts +18 -0
  183. package/lib/modules/action-bar/components/leave/leave-meeting.js +153 -0
  184. package/lib/modules/action-bar/components/live-streaming/index.d.ts +4 -0
  185. package/lib/modules/action-bar/components/live-streaming/index.js +39 -0
  186. package/lib/modules/action-bar/components/more/index.css +114 -0
  187. package/lib/modules/action-bar/components/more/index.d.ts +5 -0
  188. package/lib/modules/action-bar/components/more/index.js +83 -0
  189. package/lib/modules/action-bar/components/more/poppover-content.d.ts +8 -0
  190. package/lib/modules/action-bar/components/more/poppover-content.js +400 -0
  191. package/lib/modules/action-bar/components/participants/index.css +21 -0
  192. package/lib/modules/action-bar/components/participants/index.d.ts +5 -0
  193. package/lib/modules/action-bar/components/participants/index.js +83 -0
  194. package/lib/modules/action-bar/components/record/index.css +39 -0
  195. package/lib/modules/action-bar/components/record/index.d.ts +5 -0
  196. package/lib/modules/action-bar/components/record/index.js +166 -0
  197. package/lib/modules/action-bar/components/record/stop-record-dialog.d.ts +5 -0
  198. package/lib/modules/action-bar/components/record/stop-record-dialog.js +48 -0
  199. package/lib/modules/action-bar/components/respond/index.d.ts +4 -0
  200. package/lib/modules/action-bar/components/respond/index.js +32 -0
  201. package/lib/modules/action-bar/components/screen-share/index.d.ts +4 -0
  202. package/lib/modules/action-bar/components/screen-share/index.js +106 -0
  203. package/lib/modules/action-bar/components/screen-share/submenu.d.ts +1 -0
  204. package/lib/modules/action-bar/components/screen-share/submenu.js +154 -0
  205. package/lib/modules/action-bar/components/security/index.d.ts +4 -0
  206. package/lib/modules/action-bar/components/security/index.js +58 -0
  207. package/lib/modules/action-bar/components/settings/index.d.ts +4 -0
  208. package/lib/modules/action-bar/components/settings/index.js +42 -0
  209. package/lib/modules/action-bar/device/index.js +22 -24
  210. package/lib/modules/action-bar/index.css +53 -4
  211. package/lib/modules/action-bar/index.d.ts +4 -18
  212. package/lib/modules/action-bar/index.dev.js +40 -16
  213. package/lib/modules/action-bar/index.js +25 -61
  214. package/lib/modules/action-bar/leave/assign-host.d.ts +1 -1
  215. package/lib/modules/action-bar/leave/index.css +10 -0
  216. package/lib/modules/action-bar/leave/index.js +66 -39
  217. package/lib/modules/action-bar/leave/leave-meeting.d.ts +3 -2
  218. package/lib/modules/action-bar/leave/leave-meeting.js +13 -4
  219. package/lib/modules/action-bar/live-streaming/index.js +3 -3
  220. package/lib/modules/action-bar/more/index.js +9 -6
  221. package/lib/modules/action-bar/more/poppover-content.js +33 -12
  222. package/lib/modules/action-bar/notification-bar/components/interpreter/index.css +58 -0
  223. package/lib/modules/action-bar/notification-bar/components/interpreter/index.d.ts +8 -0
  224. package/lib/modules/action-bar/notification-bar/components/interpreter/index.js +100 -0
  225. package/lib/modules/action-bar/notification-bar/components/virtual-image/index.css +56 -0
  226. package/lib/modules/action-bar/notification-bar/components/virtual-image/index.d.ts +5 -0
  227. package/lib/modules/action-bar/notification-bar/components/virtual-image/index.js +33 -0
  228. package/lib/modules/action-bar/notification-bar/dome.png +0 -0
  229. package/lib/modules/action-bar/notification-bar/fcr_translateswitch.png +0 -0
  230. package/lib/modules/action-bar/notification-bar/index.css +74 -0
  231. package/lib/modules/action-bar/notification-bar/index.d.ts +2 -0
  232. package/lib/modules/action-bar/notification-bar/index.js +99 -0
  233. package/lib/modules/action-bar/participants/index.js +2 -2
  234. package/lib/modules/action-bar/record/index.js +4 -4
  235. package/lib/modules/action-bar/screen-share/index.js +9 -4
  236. package/lib/modules/action-bar/screen-share/submenu.js +4 -4
  237. package/lib/modules/action-bar/security/drop-menu.js +49 -11
  238. package/lib/modules/action-bar/security/index.js +12 -6
  239. package/lib/modules/action-bar/settings/index.js +4 -4
  240. package/lib/modules/action-bar/smaller.js +5 -5
  241. package/lib/modules/action-bar/store.d.ts +54 -12
  242. package/lib/modules/action-bar/store.js +423 -211
  243. package/lib/modules/action-bar/switch-input-language-room/index.d.ts +1 -2
  244. package/lib/modules/action-bar/switch-input-language-room/index.js +134 -43
  245. package/lib/modules/action-bar/switch-output-language-room/drop-menu.js +3 -3
  246. package/lib/modules/action-bar/switch-output-language-room/guide-tooltip/index.d.ts +7 -1
  247. package/lib/modules/action-bar/switch-output-language-room/guide-tooltip/index.js +32 -19
  248. package/lib/modules/action-bar/switch-output-language-room/index.js +134 -69
  249. package/lib/modules/action-bar/switch-output-language-room/notification-bar/components/interpreter/index.css +12 -8
  250. package/lib/modules/action-bar/switch-output-language-room/notification-bar/components/interpreter/index.js +13 -7
  251. package/lib/modules/action-bar/switch-output-language-room/notification-bar/components/virtual-image/index.css +52 -4
  252. package/lib/modules/action-bar/switch-output-language-room/notification-bar/components/virtual-image/index.d.ts +1 -0
  253. package/lib/modules/action-bar/switch-output-language-room/notification-bar/components/virtual-image/index.js +12 -10
  254. package/lib/modules/action-bar/switch-output-language-room/notification-bar/dome.png +0 -0
  255. package/lib/modules/action-bar/switch-output-language-room/notification-bar/index.css +6 -3
  256. package/lib/modules/action-bar/switch-output-language-room/notification-bar/index.js +30 -13
  257. package/lib/modules/action-bar/trigger-input-language-room/fcr_translateswitch.png +0 -0
  258. package/lib/modules/action-bar/trigger-input-language-room/index.css +86 -0
  259. package/lib/modules/action-bar/trigger-input-language-room/index.d.ts +15 -0
  260. package/lib/modules/action-bar/trigger-input-language-room/index.js +220 -0
  261. package/lib/modules/action-bar/trigger-output-language-room/constant.d.ts +10 -0
  262. package/lib/modules/action-bar/trigger-output-language-room/constant.js +8 -0
  263. package/lib/modules/action-bar/trigger-output-language-room/guide-tooltip/index.css +22 -0
  264. package/lib/modules/action-bar/trigger-output-language-room/guide-tooltip/index.d.ts +14 -0
  265. package/lib/modules/action-bar/trigger-output-language-room/guide-tooltip/index.js +75 -0
  266. package/lib/modules/action-bar/trigger-output-language-room/index.d.ts +4 -0
  267. package/lib/modules/action-bar/trigger-output-language-room/index.js +98 -0
  268. package/lib/modules/action-bar/trigger-output-language-room/trigger-language-room.d.ts +5 -0
  269. package/lib/modules/action-bar/trigger-output-language-room/trigger-language-room.js +66 -0
  270. package/lib/modules/action-bar/trigger-output-language-room/trigger-main-room.d.ts +5 -0
  271. package/lib/modules/action-bar/trigger-output-language-room/trigger-main-room.js +36 -0
  272. package/lib/modules/action-bar/trigger-output-language-room/useChangeOutputRoomTool.d.ts +12 -0
  273. package/lib/modules/action-bar/trigger-output-language-room/useChangeOutputRoomTool.js +138 -0
  274. package/lib/modules/action-bar/view.js +26 -12
  275. package/lib/modules/audio-stream/index.d.ts +24 -14
  276. package/lib/modules/audio-stream/index.js +256 -57
  277. package/lib/modules/chat/chat-bar/index.css +6 -0
  278. package/lib/modules/chat/chat-bar/index.d.ts +3 -3
  279. package/lib/modules/chat/chat-bar/index.js +23 -23
  280. package/lib/modules/chat/chat-select/index.css +13 -3
  281. package/lib/modules/chat/chat-select/index.d.ts +1 -1
  282. package/lib/modules/chat/chat-select/index.js +18 -4
  283. package/lib/modules/chat/chat.js +20 -31
  284. package/lib/modules/chat/index.css +10 -0
  285. package/lib/modules/chat/index.d.ts +3 -11
  286. package/lib/modules/chat/index.dev.js +19 -4
  287. package/lib/modules/chat/index.js +19 -25
  288. package/lib/modules/chat/message-list.js +9 -3
  289. package/lib/modules/chat/store.d.ts +12 -6
  290. package/lib/modules/chat/store.js +109 -69
  291. package/lib/modules/components/device-control/components/audio-menu/index.d.ts +6 -0
  292. package/lib/modules/components/device-control/components/audio-menu/index.js +156 -0
  293. package/lib/modules/components/device-control/components/carmera/index.d.ts +3 -0
  294. package/lib/modules/components/device-control/components/carmera/index.js +111 -0
  295. package/lib/modules/components/device-control/components/microphone/index.d.ts +7 -0
  296. package/lib/modules/components/device-control/components/microphone/index.js +170 -0
  297. package/lib/modules/components/device-control/components/none-menu/index.d.ts +4 -0
  298. package/lib/modules/components/device-control/components/none-menu/index.js +68 -0
  299. package/lib/modules/components/device-control/components/phone-menu/index.d.ts +4 -0
  300. package/lib/modules/components/device-control/components/phone-menu/index.js +61 -0
  301. package/lib/modules/components/device-control/components/video-menu/index.d.ts +5 -0
  302. package/lib/modules/components/device-control/components/video-menu/index.js +111 -0
  303. package/lib/modules/components/device-control/hooks/index.d.ts +9 -0
  304. package/lib/modules/components/device-control/hooks/index.js +42 -0
  305. package/lib/modules/components/device-control/index.css +166 -0
  306. package/lib/modules/components/device-control/index.d.ts +3 -0
  307. package/lib/modules/components/device-control/index.js +21 -0
  308. package/lib/modules/components/device-control/store.d.ts +42 -0
  309. package/lib/modules/components/device-control/store.js +256 -0
  310. package/lib/modules/components/device-control/type.d.ts +6 -0
  311. package/lib/modules/components/device-control/type.js +13 -0
  312. package/lib/modules/components/dialog-container/component/body.d.ts +7 -0
  313. package/lib/modules/components/dialog-container/component/body.js +46 -0
  314. package/lib/modules/components/dialog-container/index.css +78 -0
  315. package/lib/modules/components/dialog-container/index.d.ts +11 -0
  316. package/lib/modules/components/dialog-container/index.js +110 -0
  317. package/lib/modules/components/member-window/index.css +419 -0
  318. package/lib/modules/components/member-window/index.d.ts +76 -0
  319. package/lib/modules/components/member-window/index.js +888 -0
  320. package/lib/modules/components/security-menu/index.css +44 -0
  321. package/lib/modules/components/security-menu/index.d.ts +5 -0
  322. package/lib/modules/components/security-menu/index.js +366 -0
  323. package/lib/modules/components/tab-frame/index.css +40 -0
  324. package/lib/modules/components/tab-frame/index.d.ts +12 -0
  325. package/lib/modules/components/tab-frame/index.js +57 -0
  326. package/lib/modules/components/toast/index.css +12 -0
  327. package/lib/modules/components/toast/index.d.ts +10 -0
  328. package/lib/modules/components/toast/index.js +66 -0
  329. package/lib/modules/components/toast/store.d.ts +17 -0
  330. package/lib/modules/components/toast/store.js +149 -0
  331. package/lib/modules/components/toast/view.d.ts +2 -0
  332. package/lib/modules/components/toast/view.js +35 -0
  333. package/lib/modules/connection-gateway/components/computer/index.css +1 -0
  334. package/lib/modules/connection-gateway/components/computer/index.js +6 -6
  335. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.css +1 -1
  336. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.d.ts +1 -1
  337. package/lib/modules/connection-gateway/components/phone/index.css +1 -1
  338. package/lib/modules/connection-gateway/components/phone/index.js +3 -2
  339. package/lib/modules/connection-gateway/components/tabs/index.js +2 -1
  340. package/lib/modules/connection-gateway/index.d.ts +2 -9
  341. package/lib/modules/connection-gateway/index.js +1 -1
  342. package/lib/modules/connection-gateway/store.d.ts +8 -20
  343. package/lib/modules/connection-gateway/store.js +87 -127
  344. package/lib/modules/connection-gateway/view.js +21 -4
  345. package/lib/modules/control-bar/components/cloud-recording-buttons.d.ts +1 -0
  346. package/lib/modules/control-bar/components/cloud-recording-buttons.js +67 -0
  347. package/lib/modules/control-bar/components/meeting-details/index.css +133 -0
  348. package/lib/modules/control-bar/components/meeting-details/index.d.ts +2 -0
  349. package/lib/modules/control-bar/components/meeting-details/index.js +251 -0
  350. package/lib/modules/control-bar/components/more-actions/index.css +72 -0
  351. package/lib/modules/control-bar/components/more-actions/index.d.ts +7 -0
  352. package/lib/modules/control-bar/components/more-actions/index.js +182 -0
  353. package/lib/modules/control-bar/components/share-state-nav/index.css +74 -0
  354. package/lib/modules/control-bar/components/share-state-nav/index.d.ts +10 -0
  355. package/lib/modules/control-bar/components/share-state-nav/index.js +116 -0
  356. package/lib/modules/control-bar/components/stop-live-streaming/index.d.ts +1 -0
  357. package/lib/modules/control-bar/components/stop-live-streaming/index.js +36 -0
  358. package/lib/modules/control-bar/components/stop-live-streaming/stop-button.d.ts +6 -0
  359. package/lib/modules/control-bar/components/stop-live-streaming/stop-button.js +35 -0
  360. package/lib/modules/control-bar/components/transfer-position-icon/index.d.ts +11 -0
  361. package/lib/modules/control-bar/components/transfer-position-icon/index.js +46 -0
  362. package/lib/modules/control-bar/index.css +341 -0
  363. package/lib/modules/control-bar/index.d.ts +15 -0
  364. package/lib/modules/control-bar/index.js +102 -0
  365. package/lib/modules/control-bar/store.d.ts +98 -0
  366. package/lib/modules/control-bar/store.js +899 -0
  367. package/lib/modules/control-bar/type.d.ts +10 -0
  368. package/lib/modules/control-bar/type.js +18 -0
  369. package/lib/modules/control-bar/view.d.ts +1 -0
  370. package/lib/modules/control-bar/view.js +358 -0
  371. package/lib/modules/device-pretest/assets/virtual-backdound-resources.d.ts +9 -0
  372. package/lib/modules/device-pretest/assets/virtual-backdound-resources.js +7 -1
  373. package/lib/modules/device-pretest/audio-preview/speaker-control.js +2 -2
  374. package/lib/modules/device-pretest/index.js +2 -2
  375. package/lib/modules/device-pretest/settings/beauty.d.ts +1 -1
  376. package/lib/modules/device-pretest/settings/video-settings-basic.js +2 -2
  377. package/lib/modules/device-pretest/settings/virtual-background-setting.js +1 -1
  378. package/lib/modules/device-pretest/store.d.ts +2 -1
  379. package/lib/modules/device-pretest/store.js +7 -7
  380. package/lib/modules/dialog/components/Interpreter/electron.js +21 -62
  381. package/lib/modules/dialog/components/Interpreter/index.js +14 -42
  382. package/lib/modules/dialog/components/chat/electron.d.ts +2 -2
  383. package/lib/modules/dialog/components/chat/electron.js +15 -49
  384. package/lib/modules/dialog/components/chat/index.d.ts +1 -4
  385. package/lib/modules/dialog/components/chat/index.js +38 -44
  386. package/lib/modules/dialog/components/confirm/electron.d.ts +1 -1
  387. package/lib/modules/dialog/components/confirm/electron.js +38 -70
  388. package/lib/modules/dialog/components/confirm/index.d.ts +1 -9
  389. package/lib/modules/dialog/components/confirm/index.js +33 -80
  390. package/lib/modules/dialog/components/connection-gateway/electron.d.ts +4 -1
  391. package/lib/modules/dialog/components/connection-gateway/electron.js +26 -55
  392. package/lib/modules/dialog/components/connection-gateway/index.d.ts +6 -2
  393. package/lib/modules/dialog/components/connection-gateway/index.js +17 -57
  394. package/lib/modules/dialog/components/control-bar/index.d.ts +7 -0
  395. package/lib/modules/dialog/components/control-bar/index.js +41 -0
  396. package/lib/modules/dialog/components/device-setting/electron.js +23 -64
  397. package/lib/modules/dialog/components/device-setting/index.js +14 -41
  398. package/lib/modules/dialog/components/invite/index.d.ts +3 -0
  399. package/lib/modules/dialog/components/invite/index.js +49 -0
  400. package/lib/modules/dialog/components/live-streaming/index.d.ts +4 -0
  401. package/lib/modules/dialog/components/live-streaming/index.js +53 -0
  402. package/lib/modules/dialog/components/operation-waiting-room/electron.js +28 -75
  403. package/lib/modules/dialog/components/operation-waiting-room/index.js +4 -4
  404. package/lib/modules/dialog/components/participant/electron.js +19 -81
  405. package/lib/modules/dialog/components/participant/index.js +41 -29
  406. package/lib/modules/dialog/components/remove-admit-waiting-room/electron.d.ts +8 -1
  407. package/lib/modules/dialog/components/remove-admit-waiting-room/electron.js +22 -78
  408. package/lib/modules/dialog/components/remove-admit-waiting-room/index.d.ts +1 -1
  409. package/lib/modules/dialog/components/remove-admit-waiting-room/index.js +7 -17
  410. package/lib/modules/dialog/components/share-screen-selection/index.js +28 -31
  411. package/lib/modules/dialog/components/switch-language-channels/electron.js +4 -4
  412. package/lib/modules/dialog/components/switch-language-channels/index.js +3 -3
  413. package/lib/modules/dialog/components/system-preference/bg1.png +0 -0
  414. package/lib/modules/dialog/components/system-preference/bg2.png +0 -0
  415. package/lib/modules/dialog/components/system-preference/electron.d.ts +5 -0
  416. package/lib/modules/dialog/components/system-preference/electron.js +39 -0
  417. package/lib/modules/dialog/components/system-preference/index.css +49 -0
  418. package/lib/modules/dialog/components/system-preference/index.d.ts +5 -0
  419. package/lib/modules/dialog/components/system-preference/index.js +139 -0
  420. package/lib/modules/dialog/components/toast/index.d.ts +3 -0
  421. package/lib/modules/dialog/components/toast/index.js +58 -0
  422. package/lib/modules/dialog/components/whiteboard/index.js +2 -2
  423. package/lib/modules/dialog/dialogs.d.ts +1 -5
  424. package/lib/modules/dialog/dialogs.js +24 -177
  425. package/lib/modules/dialog/hooks/useElectron.d.ts +32 -0
  426. package/lib/modules/dialog/hooks/useElectron.js +151 -0
  427. package/lib/modules/dialog/index.css +7 -4
  428. package/lib/modules/dialog/index.d.ts +3 -18
  429. package/lib/modules/dialog/index.js +9 -18
  430. package/lib/modules/dialog/store.d.ts +14 -48
  431. package/lib/modules/dialog/store.js +109 -258
  432. package/lib/modules/dialog/types/index.d.ts +59 -0
  433. package/lib/modules/dialog/view.js +2 -2
  434. package/lib/modules/event-confirm/index.css +12 -0
  435. package/lib/modules/event-confirm/index.d.ts +10 -0
  436. package/lib/modules/event-confirm/index.js +55 -0
  437. package/lib/modules/event-confirm/store.d.ts +18 -0
  438. package/lib/modules/event-confirm/store.js +172 -0
  439. package/lib/modules/event-confirm/view.d.ts +2 -0
  440. package/lib/modules/event-confirm/view.js +159 -0
  441. package/lib/modules/event-toast/index.css +16 -0
  442. package/lib/modules/event-toast/index.d.ts +1 -1
  443. package/lib/modules/event-toast/index.js +19 -3
  444. package/lib/modules/event-toast/store.d.ts +13 -0
  445. package/lib/modules/event-toast/store.js +114 -17
  446. package/lib/modules/event-toast/view.d.ts +4 -1
  447. package/lib/modules/event-toast/view.js +28 -4
  448. package/lib/modules/invite/index.d.ts +1 -1
  449. package/lib/modules/invite/index.js +13 -3
  450. package/lib/modules/invite/pstn-invite.js +6 -9
  451. package/lib/modules/invite/store.d.ts +24 -25
  452. package/lib/modules/invite/store.js +148 -147
  453. package/lib/modules/invite/view.d.ts +4 -0
  454. package/lib/modules/invite/view.js +18 -22
  455. package/lib/modules/invite/voip-invite.js +5 -6
  456. package/lib/modules/layout/components/Aside.js +14 -4
  457. package/lib/modules/layout/components/Carousel.js +16 -10
  458. package/lib/modules/layout/components/Gallery.js +25 -17
  459. package/lib/modules/layout/components/Layout.js +17 -9
  460. package/lib/modules/layout/components/index.css +17 -5
  461. package/lib/modules/layout/index.css +1 -0
  462. package/lib/modules/layout/index.d.ts +4 -2
  463. package/lib/modules/layout/index.dev.js +20 -10
  464. package/lib/modules/layout/index.js +26 -19
  465. package/lib/modules/layout/member-window/index.css +116 -18
  466. package/lib/modules/layout/member-window/index.d.ts +10 -3
  467. package/lib/modules/layout/member-window/index.js +218 -112
  468. package/lib/modules/layout/store.d.ts +21 -8
  469. package/lib/modules/layout/store.js +138 -72
  470. package/lib/modules/layout/type.d.ts +2 -2
  471. package/lib/modules/layout/video-window-datasource.d.ts +5 -3
  472. package/lib/modules/layout/video-window-datasource.js +72 -29
  473. package/lib/modules/live-streaming/index.d.ts +1 -2
  474. package/lib/modules/live-streaming/index.js +13 -29
  475. package/lib/modules/live-streaming/store.d.ts +3 -7
  476. package/lib/modules/live-streaming/store.js +7 -73
  477. package/lib/modules/live-streaming/view.js +3 -3
  478. package/lib/modules/notification/index.css +3 -1
  479. package/lib/modules/notification/index.js +13 -3
  480. package/lib/modules/notification/interpreter-status/index.css +5 -1
  481. package/lib/modules/notification/interpreter-status/index.js +4 -1
  482. package/lib/modules/notification/store.d.ts +1 -0
  483. package/lib/modules/notification/store.js +4 -2
  484. package/lib/modules/notification/view.js +2 -2
  485. package/lib/modules/offscreen-pulling/index.d.ts +19 -0
  486. package/lib/modules/offscreen-pulling/index.js +127 -0
  487. package/lib/modules/participant/attendee/index.css +4 -0
  488. package/lib/modules/participant/attendee/index.d.ts +14 -3
  489. package/lib/modules/participant/attendee/index.js +89 -34
  490. package/lib/modules/participant/attendee/participants-more-action.d.ts +18 -0
  491. package/lib/modules/participant/attendee/participants-more-action.js +278 -0
  492. package/lib/modules/participant/components/drop-menu/index.css +60 -0
  493. package/lib/modules/participant/components/drop-menu/index.d.ts +2 -0
  494. package/lib/modules/participant/components/drop-menu/index.js +189 -0
  495. package/lib/modules/participant/components/footer/buttons.d.ts +7 -0
  496. package/lib/modules/participant/components/footer/buttons.js +53 -0
  497. package/lib/modules/participant/components/footer/index.d.ts +4 -0
  498. package/lib/modules/participant/components/footer/index.js +37 -0
  499. package/lib/modules/participant/components/merge/index.d.ts +11 -0
  500. package/lib/modules/participant/components/merge/index.js +49 -0
  501. package/lib/modules/participant/components/mute-all/index.d.ts +9 -0
  502. package/lib/modules/participant/components/mute-all/index.js +78 -0
  503. package/lib/modules/participant/components/participants/index.d.ts +2 -0
  504. package/lib/modules/participant/components/participants/index.js +201 -0
  505. package/lib/modules/participant/components/rename/index.d.ts +4 -0
  506. package/lib/modules/participant/components/rename/index.js +45 -0
  507. package/lib/modules/participant/index.css +11 -0
  508. package/lib/modules/participant/index.d.ts +4 -17
  509. package/lib/modules/participant/index.dev.js +40 -23
  510. package/lib/modules/participant/index.js +13 -33
  511. package/lib/modules/participant/member-list-data-source.d.ts +1 -1
  512. package/lib/modules/participant/member-list-data-source.js +3 -3
  513. package/lib/modules/participant/store.d.ts +35 -37
  514. package/lib/modules/participant/store.js +456 -292
  515. package/lib/modules/participant/type.d.ts +1 -1
  516. package/lib/modules/participant/view.d.ts +0 -9
  517. package/lib/modules/participant/view.js +8 -346
  518. package/lib/modules/setting/audio-settings/audio-settings.js +23 -20
  519. package/lib/modules/setting/audio-settings/index.css +26 -1
  520. package/lib/modules/setting/dialog-wrapper.js +2 -2
  521. package/lib/modules/setting/general-settings/general-settings.js +2 -2
  522. package/lib/modules/setting/general-settings/index.css +1 -1
  523. package/lib/modules/setting/index.css +2 -1
  524. package/lib/modules/setting/index.d.ts +2 -14
  525. package/lib/modules/setting/index.dev.js +20 -11
  526. package/lib/modules/setting/index.js +7 -3
  527. package/lib/modules/setting/minutes-settings/minutes-settings.js +2 -2
  528. package/lib/modules/setting/state/index.js +3 -3
  529. package/lib/modules/setting/storage-settings/storage-settings.js +2 -2
  530. package/lib/modules/setting/store.d.ts +17 -27
  531. package/lib/modules/setting/store.js +129 -71
  532. package/lib/modules/setting/translate-settings/index.css +3 -1
  533. package/lib/modules/setting/translate-settings/translate-settings.js +2 -2
  534. package/lib/modules/setting/video-settings/index.css +5 -2
  535. package/lib/modules/setting/video-settings/video-settings-basic.js +2 -2
  536. package/lib/modules/setting/video-settings/video-settings.js +2 -11
  537. package/lib/modules/setting/view.js +1 -2
  538. package/lib/modules/share-screen/index.d.ts +1 -5
  539. package/lib/modules/share-screen/index.dev.js +23 -30
  540. package/lib/modules/share-screen/index.js +2 -99
  541. package/lib/modules/share-screen/selection/index.css +2 -0
  542. package/lib/modules/share-screen/selection/index.js +126 -129
  543. package/lib/modules/share-screen/share-state-bar/index.js +1 -1
  544. package/lib/modules/share-screen/store.d.ts +13 -47
  545. package/lib/modules/share-screen/store.js +450 -924
  546. package/lib/modules/share-screen/view.js +6 -19
  547. package/lib/modules/sound-effect/index.d.ts +43 -0
  548. package/lib/modules/sound-effect/index.js +294 -0
  549. package/lib/modules/sound-effect/sound-effect-player.d.ts +12 -0
  550. package/lib/modules/sound-effect/sound-effect-player.js +57 -0
  551. package/lib/modules/state-bar/index.css +16 -2
  552. package/lib/modules/state-bar/index.d.ts +3 -3
  553. package/lib/modules/state-bar/index.dev.js +1 -1
  554. package/lib/modules/state-bar/index.js +15 -28
  555. package/lib/modules/state-bar/layout-config.js +7 -8
  556. package/lib/modules/state-bar/live-streaming-state.js +10 -15
  557. package/lib/modules/state-bar/meeting-detail.css +32 -13
  558. package/lib/modules/state-bar/meeting-details.js +118 -58
  559. package/lib/modules/state-bar/meeting-network-state.css +1 -1
  560. package/lib/modules/state-bar/meeting-network-state.js +4 -4
  561. package/lib/modules/state-bar/meeting-time.js +2 -2
  562. package/lib/modules/state-bar/network-quality.js +2 -2
  563. package/lib/modules/state-bar/recording.js +9 -7
  564. package/lib/modules/state-bar/store.d.ts +9 -6
  565. package/lib/modules/state-bar/store.js +45 -41
  566. package/lib/modules/state-bar/view.js +42 -29
  567. package/lib/modules/video-window/deviceState/index.d.ts +2 -1
  568. package/lib/modules/video-window/deviceState/index.js +8 -8
  569. package/lib/modules/video-window/index.d.ts +4 -3
  570. package/lib/modules/video-window/index.js +23 -16
  571. package/lib/modules/video-window/members/index.js +14 -8
  572. package/lib/modules/video-window/speaking/index.js +2 -2
  573. package/lib/modules/video-window/store.d.ts +15 -6
  574. package/lib/modules/video-window/store.js +73 -20
  575. package/lib/modules/video-window/topControl/index.js +2 -2
  576. package/lib/modules/video-window/type.d.ts +0 -5
  577. package/lib/modules/video-window/type.js +1 -7
  578. package/lib/modules/video-window/view.js +2 -2
  579. package/lib/modules/waiting-room-layout/index.css +16 -4
  580. package/lib/modules/waiting-room-layout/index.d.ts +3 -1
  581. package/lib/modules/waiting-room-layout/index.js +22 -5
  582. package/lib/modules/waiting-room-layout/store.d.ts +5 -2
  583. package/lib/modules/waiting-room-layout/store.js +12 -5
  584. package/lib/modules/waiting-room-layout/view.js +43 -33
  585. package/lib/modules/whiteboard/app.js +2 -2
  586. package/lib/modules/whiteboard/components/control-bar/index.js +4 -6
  587. package/lib/modules/whiteboard/components/control-bar/store.d.ts +2 -2
  588. package/lib/modules/whiteboard/components/control-bar/store.js +1 -1
  589. package/lib/modules/whiteboard/components/loading/index.js +2 -2
  590. package/lib/modules/whiteboard/components/multi-window/index.js +2 -2
  591. package/lib/modules/whiteboard/components/progress/electron.js +3 -3
  592. package/lib/modules/whiteboard/components/switch-theme/index.css +1 -0
  593. package/lib/modules/whiteboard/components/switch-theme/index.js +19 -9
  594. package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +1 -1
  595. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +1 -1
  596. package/lib/modules/whiteboard/components/toolbar/store.d.ts +1 -1
  597. package/lib/modules/whiteboard/context.d.ts +1 -1
  598. package/lib/modules/whiteboard/context.js +2 -2
  599. package/lib/modules/whiteboard/index.d.ts +4 -20
  600. package/lib/modules/whiteboard/index.js +36 -79
  601. package/lib/modules/whiteboard/type.d.ts +1 -1
  602. package/lib/plugins/browser-runtime-plugin.js +24 -3
  603. package/lib/plugins/electron-rtc-plugin.js +3 -3
  604. package/lib/plugins/module-dev-plugin.d.ts +1 -1
  605. package/lib/plugins/module-dev-plugin.js +3 -3
  606. package/lib/plugins/rtm-plugin.js +3 -3
  607. package/lib/plugins/web-rtc-plugin.js +3 -3
  608. package/lib/providers/device-privilege-provider.d.ts +30 -0
  609. package/lib/providers/device-privilege-provider.js +386 -0
  610. package/lib/providers/device-provider.d.ts +246 -0
  611. package/lib/providers/device-provider.js +1741 -0
  612. package/lib/providers/device-stream-provider.d.ts +36 -0
  613. package/lib/providers/device-stream-provider.js +460 -0
  614. package/lib/providers/event-provider.d.ts +108 -0
  615. package/lib/providers/event-provider.js +288 -0
  616. package/lib/providers/interpreter-provider.d.ts +25 -0
  617. package/lib/providers/interpreter-provider.js +151 -0
  618. package/lib/providers/local-storage-provider.d.ts +8 -0
  619. package/lib/providers/local-storage-provider.js +31 -0
  620. package/lib/providers/monitor-provider.d.ts +15 -0
  621. package/lib/providers/monitor-provider.js +29 -0
  622. package/lib/providers/privilege-provider.d.ts +216 -0
  623. package/lib/providers/privilege-provider.js +966 -0
  624. package/lib/providers/renderer-provider.d.ts +43 -0
  625. package/lib/providers/renderer-provider.js +245 -0
  626. package/lib/providers/room-provider.d.ts +79 -0
  627. package/lib/providers/room-provider.js +439 -0
  628. package/lib/providers/session-provider.d.ts +26 -0
  629. package/lib/providers/session-provider.js +49 -0
  630. package/lib/runtime.d.ts +14 -4
  631. package/lib/scenes/base.d.ts +10 -0
  632. package/lib/scenes/base.js +75 -0
  633. package/lib/scenes/main-scene.d.ts +48 -0
  634. package/lib/scenes/main-scene.js +390 -0
  635. package/lib/scenes/waiting-scene.d.ts +31 -0
  636. package/lib/scenes/waiting-scene.js +129 -0
  637. package/lib/shared-data-source/config.d.ts +16 -0
  638. package/lib/shared-data-source/config.js +21 -0
  639. package/lib/translations/enUS.d.ts +267 -2
  640. package/lib/translations/enUS.js +373 -103
  641. package/lib/translations/zhCN.d.ts +267 -3
  642. package/lib/translations/zhCN.js +299 -30
  643. package/lib/type.d.ts +38 -4
  644. package/lib/type.js +4 -4
  645. package/lib/ui-manager.d.ts +11 -9
  646. package/lib/ui-manager.js +551 -683
  647. package/lib/ui-node.d.ts +25 -0
  648. package/lib/ui-node.js +156 -0
  649. package/lib/ui-scene.d.ts +3 -3
  650. package/lib/ui-scene.js +9 -22
  651. package/lib/utilities/constant.d.ts +45 -156
  652. package/lib/utilities/constant.js +43 -130
  653. package/lib/utilities/extract.d.ts +1 -1
  654. package/lib/utilities/parameters.d.ts +4 -0
  655. package/lib/utilities/parameters.js +19 -1
  656. package/lib/utilities/renderer.d.ts +2 -1
  657. package/lib/utilities/renderer.js +6 -3
  658. package/lib/utilities/screen-capture-permission.d.ts +1 -0
  659. package/lib/utilities/screen-capture-permission.js +16 -0
  660. package/lib/utilities/screen.js +32 -23
  661. package/lib/utilities/tools.d.ts +12 -1
  662. package/lib/utilities/tools.js +101 -4
  663. package/lib/utilities/ui-resources.d.ts +1 -0
  664. package/lib/utilities/ui-resources.js +5 -2
  665. package/lib/utilities/video-track-render-context.d.ts +2 -2
  666. package/package.json +14 -13
  667. package/public/assets/fcr_leave2.svg +58 -0
  668. package/public/assets/loading.gif +0 -0
  669. package/public/index.html +186 -10
  670. package/dist/electron/app.js +0 -148
  671. package/dist/electron/default-options.js +0 -25
  672. package/dist/electron/env.js +0 -13
  673. package/dist/electron/index.js +0 -20
  674. package/dist/electron/injections.js +0 -702
  675. package/dist/electron/logger.js +0 -66
  676. package/dist/electron/main.js +0 -67
  677. package/dist/electron/plugins/meeting-state.js +0 -39
  678. package/dist/electron/plugins/screenshot.js +0 -49
  679. package/dist/electron/preload.js +0 -36
  680. package/dist/electron/tools.js +0 -66
  681. package/dist/electron/window.js +0 -124
package/lib/ui-manager.js CHANGED
@@ -2,7 +2,6 @@
2
2
 
3
3
  require("core-js/modules/es.symbol.js");
4
4
  require("core-js/modules/es.array.filter.js");
5
- require("core-js/modules/es.array.push.js");
6
5
  require("core-js/modules/es.object.define-properties.js");
7
6
  require("core-js/modules/es.object.define-property.js");
8
7
  require("core-js/modules/es.object.get-own-property-descriptor.js");
@@ -18,22 +17,27 @@ exports.DefaultSceneUIManager = void 0;
18
17
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
19
18
  require("core-js/modules/es.array.concat.js");
20
19
  require("core-js/modules/es.array.for-each.js");
21
- require("core-js/modules/es.array.join.js");
20
+ require("core-js/modules/es.array.map.js");
21
+ require("core-js/modules/es.array.push.js");
22
22
  require("core-js/modules/es.object.to-string.js");
23
23
  require("core-js/modules/es.promise.js");
24
24
  require("core-js/modules/es.promise.finally.js");
25
25
  require("core-js/modules/esnext.async-iterator.for-each.js");
26
+ require("core-js/modules/esnext.async-iterator.map.js");
26
27
  require("core-js/modules/esnext.iterator.constructor.js");
27
28
  require("core-js/modules/esnext.iterator.for-each.js");
29
+ require("core-js/modules/esnext.iterator.map.js");
28
30
  require("core-js/modules/web.dom-collections.for-each.js");
29
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
31
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
30
32
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
33
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
31
34
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
32
35
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
33
36
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
37
+ var _react = _interopRequireDefault(require("react"));
34
38
  var _reactDom = _interopRequireDefault(require("react-dom"));
35
39
  var _logger = require("agora-foundation/lib/logger");
36
- var _agoraEduCore = require("agora-edu-core");
40
+ var _fcrCore = require("fcr-core");
37
41
  var _deviceStore = require("./common/device-store");
38
42
  var _layout = require("./modules/layout");
39
43
  var _waitingRoomLayout = require("./modules/waiting-room-layout");
@@ -47,22 +51,18 @@ var _constant = require("./utilities/constant");
47
51
  var _participant = require("./modules/participant");
48
52
  var _connectionGateway = require("./modules/connection-gateway");
49
53
  var _dialogs = require("./modules/dialog/dialogs");
50
- var _confirm = require("./modules/dialog/components/confirm");
51
54
  var _eventToast = require("./modules/event-toast");
52
55
  var _stateBar = require("./modules/state-bar");
53
56
  var _audioStream = require("./modules/audio-stream");
57
+ var _soundEffect = require("./modules/sound-effect");
54
58
  var _shareScreen = require("./modules/share-screen");
55
59
  var _videoWindow = require("./modules/video-window");
56
- var _type2 = require("agora-edu-core/lib/type");
60
+ var _type2 = require("fcr-core/lib/type");
57
61
  var _liveStreaming = require("./modules/live-streaming");
58
62
  var _invite = require("./modules/invite");
59
63
  var _connectionGateway2 = require("./modules/dialog/components/connection-gateway");
60
- var _confirmContent = require("agora-ui-foundation/lib/components/confirm-content");
61
- var _type3 = require("agora-rte-sdk/lib/core/rtc/type");
62
- var _type4 = require("agora-rte-sdk/lib/core/scene/type");
63
- var _type5 = require("agora-rte-sdk/lib/type");
64
64
  var _devicePretest = require("./modules/device-pretest");
65
- var _context9 = require("./modules/device-pretest/context");
65
+ var _store = require("./modules/device-pretest/store");
66
66
  var _whiteboard = require("./modules/whiteboard");
67
67
  var _whiteboard2 = require("./modules/dialog/components/whiteboard");
68
68
  var _participant2 = require("./modules/dialog/components/participant");
@@ -72,66 +72,175 @@ var _setting = require("./modules/setting");
72
72
  var _deviceStreamStore = require("./common/device-stream-store");
73
73
  var _uiResources = require("./utilities/ui-resources");
74
74
  var _i18n = require("agora-ui-foundation/lib/i18n");
75
- var _store = require("./modules/device-pretest/store");
76
75
  var _videoTrackRenderContext = require("./utilities/video-track-render-context");
77
76
  var _shareScreenSelection = require("./modules/dialog/components/share-screen-selection");
78
77
  var _parameters = require("./utilities/parameters");
79
78
  var _deviceSetting = _interopRequireDefault(require("./modules/dialog/components/device-setting"));
80
79
  var _loginConfirmDialog = require("./login-confirm-dialog");
81
80
  var _dialog2 = require("agora-ui-foundation/lib/components/dialog");
82
- var _type6 = require("agora-edu-core/lib/room-control/type");
83
- var _type7 = require("agora-edu-core/lib/room-control/privilege-control/type");
84
- var _operationWaitingRoom = require("./modules/dialog/components/operation-waiting-room");
85
- var _eventNotification = require("./modules/event-notification");
81
+ var _type3 = require("fcr-core/lib/room-control/type");
82
+ var _interpreter = require("./modules/interpreter");
83
+ var _interpreter2 = _interopRequireDefault(require("./modules/dialog/components/interpreter"));
84
+ var _notification = require("./modules/notification");
86
85
  var _removeAdmitWaitingRoom = require("./modules/dialog/components/remove-admit-waiting-room");
87
- var _lodash = require("lodash");
86
+ var _roomStore = require("./common/room-store");
87
+ var _offscreenPulling = require("./modules/offscreen-pulling");
88
+ var _controlBar = require("./modules/control-bar");
89
+ var _controlBar2 = require("./modules/dialog/components/control-bar");
90
+ var _systemPreference = require("./modules/dialog/components/system-preference");
91
+ var _liveStreaming2 = require("./modules/dialog/components/live-streaming");
92
+ var _invite2 = require("./modules/dialog/components/invite");
93
+ var _remoteRenderer = require("./common/remote-renderer");
94
+ var _eventConfirm = require("./modules/event-confirm");
95
+ var _reactErrorBoundary = require("react-error-boundary");
96
+ var _errorFallback = require("./error-fallback");
97
+ var _misc = require("agora-foundation/lib/utilities/misc");
88
98
  var _jsxRuntime = require("react/jsx-runtime");
89
99
  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; }
90
100
  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; }
91
101
  var DefaultSceneUIManager = exports.DefaultSceneUIManager = /*#__PURE__*/function () {
92
- // @internal
93
-
94
- function DefaultSceneUIManager(_sceneConfig, _coreConfig, _engine, _observable) {
95
- var _this$_sceneConfig$re;
102
+ function DefaultSceneUIManager(_sceneConfig, _coreConfig, _engine, _observable, _settingConfig) {
103
+ var _this = this,
104
+ _this$_sceneConfig$re;
96
105
  (0, _classCallCheck2["default"])(this, DefaultSceneUIManager);
97
106
  // @internal
98
107
  (0, _defineProperty2["default"])(this, "logger", (0, _logger.getLogger)());
99
108
  // @internal
100
- (0, _defineProperty2["default"])(this, "_eventObserver", {});
101
- // @internal
102
- (0, _defineProperty2["default"])(this, "_engineObserver", {});
103
- // @internal
104
- (0, _defineProperty2["default"])(this, "_userObserver", {});
105
- // @internal
106
- (0, _defineProperty2["default"])(this, "_waitingRoomUserObserver", {});
107
- // @internal
108
- (0, _defineProperty2["default"])(this, "_roomObserver", {});
109
- // @internal
110
109
  (0, _defineProperty2["default"])(this, "_disposers", []);
111
110
  this._sceneConfig = _sceneConfig;
112
111
  this._coreConfig = _coreConfig;
113
112
  this._engine = _engine;
114
113
  this._observable = _observable;
114
+ this._settingConfig = _settingConfig;
115
115
  this._uiEventStore = new _eventStore.FcrUIEventStore();
116
- this._deviceStore = new _deviceStore.FcrDeviceStore(_sceneConfig.userName, this._engine.getDesktopMediaControl());
117
- var _ref = (_this$_sceneConfig$re = this._sceneConfig.resource) !== null && _this$_sceneConfig$re !== void 0 ? _this$_sceneConfig$re : {
116
+ this._deviceStore = new _deviceStore.FcrDeviceStore(_engine.getDesktopMediaControl(), this._uiEventStore);
117
+ this._roomStore = new _roomStore.FcrRoomStore(this._uiEventStore, this._deviceStore, _sceneConfig, _engine);
118
+ this._roomStore.addObserver({
119
+ onJoinMainRoom: function onJoinMainRoom(ticket) {
120
+ _dialog2.FcrDialogApi.open({
121
+ id: 'login-confirm-dialog-move-mainroom',
122
+ dialogProps: {
123
+ content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_loginConfirmDialog.LoginConfirmDialog, {
124
+ title: (0, _i18n.transI18n)('fmt_waitingroom_mobile_notice_popup_label_about_join'),
125
+ desc: (0, _i18n.transI18n)('fmt_waitingroom_mobile_notice_popup_label_quick_join'),
126
+ id: "login-confirm-dialog-move-mainroom",
127
+ btnTxt: (0, _i18n.transI18n)('fmt_waitingroom_mobile_notice_popup_button_join_now_no_count'),
128
+ isShowCoutDown: true,
129
+ showImg: false,
130
+ onConfirm: /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
131
+ return _regenerator["default"].wrap(function _callee$(_context) {
132
+ while (1) switch (_context.prev = _context.next) {
133
+ case 0:
134
+ _this._roomStore.handleJoinMainRoom(_this._sceneConfig.roomId, ticket).then(function (roomControl) {
135
+ if (_this._dom) {
136
+ _this.logger.info('render main room ui');
137
+ _this._disposers.push(_this._renderRoomUi(_this._dom, roomControl));
138
+ }
139
+ });
140
+ case 1:
141
+ case "end":
142
+ return _context.stop();
143
+ }
144
+ }, _callee);
145
+ }))
146
+ }),
147
+ width: 360,
148
+ closable: false,
149
+ rootClassName: 'login-confirm-dialog'
150
+ }
151
+ });
152
+ },
153
+ onJoinMainRoomFailed: function onJoinMainRoomFailed(error) {
154
+ if (error.code === '730403100') {
155
+ _dialog2.FcrDialogApi.open({
156
+ id: 'login-confirm-dialog-error',
157
+ dialogProps: {
158
+ content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_loginConfirmDialog.LoginConfirmDialog, {
159
+ desc: (0, _i18n.transI18n)('fmt_waitingroom_attendie_popup_label_removed'),
160
+ id: "login-confirm-dialog-error",
161
+ btnTxt: (0, _i18n.transI18n)('fmt_waitingroom_attendie_popup_button_gotit')
162
+ }),
163
+ width: 360,
164
+ closable: false,
165
+ rootClassName: 'login-confirm-dialog'
166
+ }
167
+ });
168
+ }
169
+ },
170
+ onLeaveMainRoom: function onLeaveMainRoom() {
171
+ _this._disposeRoomControl();
172
+ },
173
+ onLeaveWaitingRoom: function onLeaveWaitingRoom() {
174
+ _this._disposeRoomControl();
175
+ },
176
+ onWaitingRoomLocalUserKickedOut: function onWaitingRoomLocalUserKickedOut(roomId) {
177
+ _dialog2.FcrDialogApi.open({
178
+ id: 'login-confirm-dialog-kick-out',
179
+ dialogProps: {
180
+ content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_loginConfirmDialog.LoginConfirmDialog, {
181
+ title: (0, _i18n.transI18n)('fmt_popup_button_leavemeeting'),
182
+ desc: (0, _i18n.transI18n)('fmt_leave_tips_removetip'),
183
+ id: "login-confirm-dialog-kick-out",
184
+ btnTxt: (0, _i18n.transI18n)('fmt_waitingroom_attendie_popup_button_gotit'),
185
+ onConfirm: function onConfirm() {
186
+ _this._observable.notifyObservers('onExited', roomId, _type.FcrUIExitReason.KICKED_OUT);
187
+ }
188
+ }),
189
+ width: 360,
190
+ closable: false,
191
+ rootClassName: 'login-confirm-dialog',
192
+ maskClosable: false
193
+ }
194
+ });
195
+ },
196
+ onMainRoomLocalUserKickedOut: function onMainRoomLocalUserKickedOut(roomId) {
197
+ _dialog2.FcrDialogApi.open({
198
+ id: 'login-confirm-dialog-kick-out',
199
+ dialogProps: {
200
+ content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_loginConfirmDialog.LoginConfirmDialog, {
201
+ title: (0, _i18n.transI18n)('fmt_popup_button_leavemeeting'),
202
+ desc: (0, _i18n.transI18n)('fmt_leave_tips_removetip'),
203
+ btnTxt: (0, _i18n.transI18n)('fmt_waitingroom_attendie_popup_button_gotit'),
204
+ id: "login-confirm-dialog-kick-out",
205
+ onConfirm: function onConfirm() {
206
+ _this._observable.notifyObservers('onExited', roomId, _type.FcrUIExitReason.KICKED_OUT);
207
+ }
208
+ }),
209
+ width: 360,
210
+ closable: false,
211
+ rootClassName: 'login-confirm-dialog',
212
+ maskClosable: false
213
+ }
214
+ });
215
+ },
216
+ onJoinWaitingRoom: function onJoinWaitingRoom(roomControl, isWaitingRoomManaager) {
217
+ if (_this._dom && !isWaitingRoomManaager) {
218
+ _this._disposers.push(_this._renderWaitingRoomUi(_this._dom, roomControl));
219
+ }
220
+ }
221
+ });
222
+ var _ref2 = (_this$_sceneConfig$re = this._sceneConfig.resource) !== null && _this$_sceneConfig$re !== void 0 ? _this$_sceneConfig$re : {
118
223
  virtualBackgroundImages: [],
119
- virtualBackgroundVideos: []
224
+ virtualBackgroundVideos: [],
225
+ soundEffectAudios: []
120
226
  },
121
- _ref$virtualBackgroun = _ref.virtualBackgroundImages,
122
- virtualBackgroundImages = _ref$virtualBackgroun === void 0 ? [] : _ref$virtualBackgroun,
123
- _ref$virtualBackgroun2 = _ref.virtualBackgroundVideos,
124
- virtualBackgroundVideos = _ref$virtualBackgroun2 === void 0 ? [] : _ref$virtualBackgroun2;
227
+ _ref2$virtualBackgrou = _ref2.virtualBackgroundImages,
228
+ virtualBackgroundImages = _ref2$virtualBackgrou === void 0 ? [] : _ref2$virtualBackgrou,
229
+ _ref2$virtualBackgrou2 = _ref2.virtualBackgroundVideos,
230
+ virtualBackgroundVideos = _ref2$virtualBackgrou2 === void 0 ? [] : _ref2$virtualBackgrou2,
231
+ _ref2$soundEffectAudi = _ref2.soundEffectAudios,
232
+ soundEffectAudios = _ref2$soundEffectAudi === void 0 ? [] : _ref2$soundEffectAudi;
125
233
  var uiResources = {
126
234
  virtualBackgroundImages: [].concat((0, _toConsumableArray2["default"])(_uiResources.BUILTIN_VIRTUAL_BACKGROUND_IMAGE_URL_LIST), (0, _toConsumableArray2["default"])(virtualBackgroundImages)),
127
- virtualBackgroundVideos: [].concat((0, _toConsumableArray2["default"])(_uiResources.BUILTIN_VIRTUAL_BACKGROUND_VIDEO_URL_LIST), (0, _toConsumableArray2["default"])(virtualBackgroundVideos))
235
+ virtualBackgroundVideos: [].concat((0, _toConsumableArray2["default"])(_uiResources.BUILTIN_VIRTUAL_BACKGROUND_VIDEO_URL_LIST), (0, _toConsumableArray2["default"])(virtualBackgroundVideos)),
236
+ soundEffectAudios: [].concat((0, _toConsumableArray2["default"])(_uiResources.BUILTIN_SOUND_EFFECT_URL_LIST), (0, _toConsumableArray2["default"])(soundEffectAudios))
128
237
  };
129
238
  this._deviceStore.downloadUiResources(uiResources);
130
239
  }
131
240
  return (0, _createClass2["default"])(DefaultSceneUIManager, [{
132
241
  key: "render",
133
242
  value: function render(dom) {
134
- var _this = this;
243
+ var _this2 = this;
135
244
  this._dom = dom;
136
245
  if (!this._dom) {
137
246
  this.logger.error('Scene UI cannot be rendered as dom is not exist');
@@ -141,37 +250,50 @@ var DefaultSceneUIManager = exports.DefaultSceneUIManager = /*#__PURE__*/functio
141
250
  var openDefaultCamera = (0, _parameters.isOpenDefaultCamera)(this._coreConfig.parameters);
142
251
  var openDefaultMicrophone = (0, _parameters.isOpenDefaultMicrophone)(this._coreConfig.parameters);
143
252
  if (openDefaultCamera) {
144
- this._deviceStore.openFirstCamera();
253
+ this._settingConfig.media.cameraExpectedOff = false;
145
254
  }
146
255
  if (openDefaultMicrophone) {
147
- this._deviceStore.openFirstMicrophone();
256
+ this._settingConfig.media.autoConnectAudio = true;
257
+ this._settingConfig.media.microphoneExpectedOff = false;
148
258
  }
149
259
  var joinRoom = /*#__PURE__*/function () {
150
- var _ref2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
151
- return _regenerator["default"].wrap(function _callee$(_context) {
152
- while (1) switch (_context.prev = _context.next) {
260
+ var _ref3 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
261
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
262
+ while (1) switch (_context2.prev = _context2.next) {
153
263
  case 0:
154
- return _context.abrupt("return", _this._engine.login().then(function () {
155
- return _this._handleJoinRoom();
156
- }).then(function (type) {
157
- if (type === _type6.FcrRoomType.Mainroom) {
158
- _this._renderRoomUi(dom);
264
+ return _context2.abrupt("return", _this2._engine.login().then(function () {
265
+ return _this2._roomStore.handleJoinRoom(_this2._sceneConfig.roomId);
266
+ }).then(function (_ref4) {
267
+ var _ref5 = (0, _slicedToArray2["default"])(_ref4, 2),
268
+ type = _ref5[0],
269
+ roomControl = _ref5[1];
270
+ if (type === _type3.FcrRoomType.Mainroom) {
271
+ if ((0, _parameters.isRobotPullingMode)(_this2._coreConfig.parameters)) {
272
+ _this2.logger.info('Offscreen pulling mode enabled');
273
+ _this2._disposers.push(_this2._renderPullingUi(dom, roomControl));
274
+ } else {
275
+ _this2._disposers.push(_this2._renderRoomUi(dom, roomControl));
276
+ }
159
277
  } else {
160
- _this._renderWaitingRoomUi(dom);
278
+ _this2._disposers.push(_this2._renderWaitingRoomUi(dom, roomControl));
161
279
  }
162
280
  }).then(function () {
163
- _this._observable.notifyObservers('onLaunchSuccess', _this._sceneConfig.roomId);
281
+ return _this2._deviceStore.init();
282
+ }).then(function () {
283
+ return _this2._runSettingConfig();
284
+ }).then(function () {
285
+ _this2._observable.notifyObservers('onLaunchSuccess', _this2._sceneConfig.roomId);
164
286
  })["catch"](function (e) {
165
- _this._observable.notifyObservers('onLaunchFailure', _this._sceneConfig.roomId, e);
287
+ _this2._observable.notifyObservers('onLaunchFailure', _this2._sceneConfig.roomId, e);
166
288
  }));
167
289
  case 1:
168
290
  case "end":
169
- return _context.stop();
291
+ return _context2.stop();
170
292
  }
171
- }, _callee);
293
+ }, _callee2);
172
294
  }));
173
295
  return function joinRoom() {
174
- return _ref2.apply(this, arguments);
296
+ return _ref3.apply(this, arguments);
175
297
  };
176
298
  }();
177
299
  if (!skipPretest) {
@@ -187,7 +309,7 @@ var DefaultSceneUIManager = exports.DefaultSceneUIManager = /*#__PURE__*/functio
187
309
  },
188
310
  // on exit
189
311
  function () {
190
- _this._observable.notifyObservers('onLaunchCancel', _this._sceneConfig.roomId);
312
+ _this2._observable.notifyObservers('onLaunchCancel', _this2._sceneConfig.roomId);
191
313
  });
192
314
  } else {
193
315
  joinRoom();
@@ -196,77 +318,24 @@ var DefaultSceneUIManager = exports.DefaultSceneUIManager = /*#__PURE__*/functio
196
318
  }, {
197
319
  key: "destroy",
198
320
  value: function destroy() {
199
- var _this$_actionBarUIMod, _this$_chatModule, _this$_layoutModule, _this$_participantsMo, _this$_dialogModule, _this$_settingUIModul, _this$_eventToastUIMo, _this$_stateBarUIModu, _this$_audioStreamUIM, _this$_shareScreenMod, _this$_videoWindowMod, _this$_liveStreamingU, _this$_inviteUIModule, _this$_connectionGate, _this$_whiteBoradUIMo, _this$_securityStore, _this$_deviceStreamSt;
200
321
  if (this._dom) {
201
322
  _reactDom["default"].unmountComponentAtNode(this._dom);
202
323
  this._dom = undefined;
203
324
  }
204
- (_this$_actionBarUIMod = this._actionBarUIModule) === null || _this$_actionBarUIMod === void 0 || _this$_actionBarUIMod.release();
205
- (_this$_chatModule = this._chatModule) === null || _this$_chatModule === void 0 || _this$_chatModule.release();
206
- (_this$_layoutModule = this._layoutModule) === null || _this$_layoutModule === void 0 || _this$_layoutModule.release();
207
- (_this$_participantsMo = this._participantsModule) === null || _this$_participantsMo === void 0 || _this$_participantsMo.release();
208
- (_this$_dialogModule = this._dialogModule) === null || _this$_dialogModule === void 0 || _this$_dialogModule.release();
209
- (_this$_settingUIModul = this._settingUIModule) === null || _this$_settingUIModul === void 0 || _this$_settingUIModul.release();
210
- (_this$_eventToastUIMo = this._eventToastUIModule) === null || _this$_eventToastUIMo === void 0 || _this$_eventToastUIMo.release();
211
- (_this$_stateBarUIModu = this._stateBarUIModule) === null || _this$_stateBarUIModu === void 0 || _this$_stateBarUIModu.release();
212
- (_this$_audioStreamUIM = this._audioStreamUIModule) === null || _this$_audioStreamUIM === void 0 || _this$_audioStreamUIM.release();
213
- (_this$_shareScreenMod = this._shareScreenModule) === null || _this$_shareScreenMod === void 0 || _this$_shareScreenMod.release();
214
- (_this$_videoWindowMod = this._videoWindowModule) === null || _this$_videoWindowMod === void 0 || _this$_videoWindowMod.release();
215
- (_this$_liveStreamingU = this._liveStreamingUIModule) === null || _this$_liveStreamingU === void 0 || _this$_liveStreamingU.release();
216
- (_this$_inviteUIModule = this._inviteUIModule) === null || _this$_inviteUIModule === void 0 || _this$_inviteUIModule.release();
217
- (_this$_connectionGate = this._connectionGatewayUIModule) === null || _this$_connectionGate === void 0 || _this$_connectionGate.release();
218
- (_this$_whiteBoradUIMo = this._whiteBoradUIModule) === null || _this$_whiteBoradUIMo === void 0 || _this$_whiteBoradUIMo.release();
219
- (_this$_securityStore = this._securityStore) === null || _this$_securityStore === void 0 || _this$_securityStore.release();
220
- (_this$_deviceStreamSt = this._deviceStreamStore) === null || _this$_deviceStreamSt === void 0 || _this$_deviceStreamSt.release();
325
+ this._disposeRoomControl();
221
326
  this._deviceStore.release();
222
327
  this._uiEventStore.release();
328
+ this._roomStore.release();
329
+ this._engine.logout();
330
+ }
331
+ }, {
332
+ key: "_disposeRoomControl",
333
+ value: function _disposeRoomControl() {
223
334
  this._disposers.forEach(function (dispose) {
224
335
  return dispose();
225
336
  });
337
+ this._disposers = [];
226
338
  }
227
- }, {
228
- key: "_handleJoinRoom",
229
- value: function () {
230
- var _handleJoinRoom2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
231
- var _this2 = this;
232
- return _regenerator["default"].wrap(function _callee2$(_context2) {
233
- while (1) switch (_context2.prev = _context2.next) {
234
- case 0:
235
- return _context2.abrupt("return", this._createRoomControl(this._sceneConfig.roomId).then(function (room) {
236
- var _room$getRoomInfo;
237
- if (((_room$getRoomInfo = room.getRoomInfo()) === null || _room$getRoomInfo === void 0 ? void 0 : _room$getRoomInfo.roomType) === _type6.FcrRoomType.Mainroom) {
238
- _this2._mainRoomControl = room;
239
- _this2._mainRoomControl.addObserver(_this2._roomObserver);
240
- // 如果已经有等候室管理员权限 再次创建房间
241
- _this2._judgeWaitingRoomPremissionAndCreateRoomControl();
242
- // @ts-ignore
243
- window.__mainRoom_control = room;
244
- return _type6.FcrRoomType.Mainroom;
245
- } else {
246
- _this2._waitingRoomControl = room;
247
- _this2._waitingRoomControl.addObserver(_this2._roomObserver);
248
- // @ts-ignore
249
- window.__waitingRoom_control = room;
250
- room.sendRoomMessage({
251
- messageKey: _type2.RoomMessageKey.USER_WAITING_ROOM_JOINED
252
- }, false);
253
- return _type6.FcrRoomType.Waitingroom;
254
- }
255
- })["catch"](function (e) {
256
- _this2._observable.notifyObservers('onLaunchFailure', _this2._sceneConfig.roomId, e);
257
- throw e;
258
- }));
259
- case 1:
260
- case "end":
261
- return _context2.stop();
262
- }
263
- }, _callee2, this);
264
- }));
265
- function _handleJoinRoom() {
266
- return _handleJoinRoom2.apply(this, arguments);
267
- }
268
- return _handleJoinRoom;
269
- }()
270
339
  }, {
271
340
  key: "_renderDevicePretestUi",
272
341
  value: function _renderDevicePretestUi(dom, onJoin, _onExit) {
@@ -275,7 +344,7 @@ var DefaultSceneUIManager = exports.DefaultSceneUIManager = /*#__PURE__*/functio
275
344
  var pretestStore = new _store.FcrPretestStore({
276
345
  deviceStore: store
277
346
  });
278
- _reactDom["default"].render(/*#__PURE__*/(0, _jsxRuntime.jsx)(_context9.PretestStoreContext.Provider, {
347
+ _reactDom["default"].render(/*#__PURE__*/(0, _jsxRuntime.jsx)(_store.PretestStoreContext.Provider, {
279
348
  value: pretestStore,
280
349
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
281
350
  style: {
@@ -304,706 +373,505 @@ var DefaultSceneUIManager = exports.DefaultSceneUIManager = /*#__PURE__*/functio
304
373
  }), dom);
305
374
  }
306
375
  }, {
307
- key: "_renderRoomUi",
308
- value: function _renderRoomUi(dom) {
376
+ key: "_runSettingConfig",
377
+ value: function () {
378
+ var _runSettingConfig2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
379
+ var media, _media;
380
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
381
+ while (1) switch (_context3.prev = _context3.next) {
382
+ case 0:
383
+ this.logger.info('run setting config: ', (0, _misc.jsonstring)(this._settingConfig));
384
+ media = this._settingConfig.media; // 1. 音频连接
385
+ if (!media.autoConnectAudio) {
386
+ _context3.next = 9;
387
+ break;
388
+ }
389
+ _context3.next = 5;
390
+ return this._deviceStore.joinAudioByComputer();
391
+ case 5:
392
+ _media = this._settingConfig.media; // 音频输入
393
+ // 判断 FcrUISharedSettingConfig.media.microphoneExpectedOff
394
+ if (!_media.microphoneExpectedOff) {
395
+ // 当为 false 时,结合 1.0 ActionBar#1.0ActionBar-%E6%93%8D%E4%BD%9C%E8%AE%BE%E5%A4%87 的逻辑判断是否开启麦克风
396
+ if (this._deviceStreamStore) {
397
+ this._deviceStreamStore.enableMicrophoneWithStream(true);
398
+ }
399
+ }
400
+ _context3.next = 10;
401
+ break;
402
+ case 9:
403
+ // 弹出是否链接音频的弹窗
404
+ this._uiEventStore.openDialog(_constant.DialogKey.CONNECTION_GATEWAY, '', {
405
+ type: 'computer'
406
+ });
407
+ case 10:
408
+ // 2.摄像头
409
+ if (!media.cameraExpectedOff) {
410
+ // 设备开启逻辑与之前一致,1.0 ActionBar#1.0ActionBar-%E6%93%8D%E4%BD%9C%E8%AE%BE%E5%A4%8
411
+
412
+ if (this._deviceStreamStore) {
413
+ this._deviceStreamStore.enableCameraWithStream(true);
414
+ }
415
+ }
416
+ case 11:
417
+ case "end":
418
+ return _context3.stop();
419
+ }
420
+ }, _callee3, this);
421
+ }));
422
+ function _runSettingConfig() {
423
+ return _runSettingConfig2.apply(this, arguments);
424
+ }
425
+ return _runSettingConfig;
426
+ }()
427
+ }, {
428
+ key: "_renderWithErrorBoundary",
429
+ value: function _renderWithErrorBoundary(layoutComponent, spaceName) {
309
430
  var _this4 = this;
431
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactErrorBoundary.ErrorBoundary, {
432
+ FallbackComponent: _errorFallback.ErrorFallback,
433
+ onError: function onError(error, info) {
434
+ return _this4._logError(error, info, spaceName);
435
+ },
436
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
437
+ style: {
438
+ width: '100vw',
439
+ height: '100vh'
440
+ },
441
+ children: layoutComponent
442
+ })
443
+ });
444
+ }
445
+ }, {
446
+ key: "_logError",
447
+ value: function _logError(error, info, space) {
448
+ var errorMessage = "[DefaultSceneUIManager]: ErrorBoundary wrap ".concat(space, " error:");
449
+ var componentStackMessage = "componentStack: ".concat(info.componentStack);
450
+ this.logger.error("".concat(errorMessage, "\n") + " Error: ".concat(error.message, "\n") + " Stack: ".concat(error.stack, "\n") + " ".concat(componentStackMessage));
451
+ }
452
+ }, {
453
+ key: "_renderLayers",
454
+ value: function _renderLayers(layers) {
455
+ return layers.map(function (el, i) {
456
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react["default"].Fragment, {
457
+ children: el
458
+ }, i);
459
+ });
460
+ }
461
+ }, {
462
+ key: "_renderPullingUi",
463
+ value: function _renderPullingUi(dom, roomControl) {
464
+ var coreConfig = this._coreConfig;
465
+ var offscreenPullingUIModule = new _offscreenPulling.OffscreenPullingUIModule({
466
+ streamControl: roomControl.getStreamControl(),
467
+ userControl: roomControl.getUserControl(),
468
+ pullingCount: (0, _parameters.getRobotPullingCount)(coreConfig.parameters),
469
+ pullingStreamType: (0, _parameters.getRobotPullingStreamType)(coreConfig.parameters)
470
+ });
471
+ _reactDom["default"].render(/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
472
+ children: "Offscreen pulling mode"
473
+ }), dom);
474
+ return function () {
475
+ _reactDom["default"].unmountComponentAtNode(dom);
476
+ roomControl.leave();
477
+ offscreenPullingUIModule.release();
478
+ };
479
+ }
480
+ }, {
481
+ key: "_renderRoomUi",
482
+ value: function _renderRoomUi(dom, roomControl) {
310
483
  /**
311
484
  * Common Stores
312
485
  */
313
486
  var deviceStore = this._deviceStore;
314
487
  var uiEventStore = this._uiEventStore;
315
- if (!this._mainRoomControl) {
316
- this.logger.error('Cannot render room ui without mainroom control');
317
- return;
318
- }
319
- var securityStore = new _securityStore.FcrSecurityStore(this._mainRoomControl.getPrivilegeControl(), this._mainRoomControl.getUserControl(), this._mainRoomControl.getStreamControl(), this._mainRoomControl.getRoomSessionControl(), uiEventStore);
320
- this._securityStore = securityStore;
321
- var deviceStreamStore = new _deviceStreamStore.FcrDeviceStreamStore({
322
- mediaControl: this._engine.getDesktopMediaControl(),
323
- roomControl: this._mainRoomControl,
324
- securityStore: securityStore,
325
- deviceStore: deviceStore,
326
- uiEventStore: uiEventStore
327
- });
328
- this._deviceStreamStore = deviceStreamStore;
329
- this._chatModule = new _chat.ChatUIModule({
330
- roomControl: this._mainRoomControl,
331
- uiEventStore: uiEventStore,
332
- securityStore: securityStore
333
- });
334
- this._actionBarUIModule = new _actionBar.FcrActionBarUIModule({
335
- roomControl: this._mainRoomControl,
336
- userControl: this._mainRoomControl.getUserControl(),
488
+ var roomStore = this._roomStore;
489
+ var engine = this._engine;
490
+ var sceneConfig = this._sceneConfig;
491
+ var coreConfig = this._coreConfig;
492
+ var observable = this._observable;
493
+ var streamControl = roomControl.getStreamControl();
494
+ var userControl = roomControl.getUserControl();
495
+ var privilegeControl = roomControl.getPrivilegeControl();
496
+ var interpreterControl = roomControl.getInterpreterControl();
497
+ var chatRoomControl = roomControl.getChatRoomControl();
498
+ var whiteboardControl = roomControl.getBoardControl();
499
+ var remoteVideoRenderManager = new _remoteRenderer.FcrRemoteVideoRenderManager(streamControl);
500
+ var securityStore = new _securityStore.FcrSecurityStore(privilegeControl, userControl, streamControl, uiEventStore, interpreterControl);
501
+ var baseConfig = {
502
+ mediaControl: engine.getDesktopMediaControl(),
503
+ streamControl: streamControl,
504
+ userControl: userControl,
505
+ privilegeControl: privilegeControl,
506
+ interpreterControl: interpreterControl,
507
+ chatRoomControl: chatRoomControl,
508
+ whiteboardControl: whiteboardControl,
509
+ roomStore: roomStore,
337
510
  uiEventStore: uiEventStore,
338
511
  securityStore: securityStore,
339
- streamControl: this._mainRoomControl.getStreamControl(),
340
512
  deviceStore: deviceStore,
341
- deviceStreamStore: deviceStreamStore,
342
- mediaControl: this._engine.getDesktopMediaControl()
343
- });
344
- this._audioStreamUIModule = new _audioStream.AudioStreamUIModule({
345
- streamControl: this._mainRoomControl.getStreamControl(),
346
- userControl: this._mainRoomControl.getUserControl(),
513
+ roomControl: roomControl,
514
+ engine: engine,
515
+ remoteVideoRenderManager: remoteVideoRenderManager,
516
+ config: sceneConfig,
517
+ parameters: coreConfig.parameters
518
+ };
519
+ var deviceStreamStore = new _deviceStreamStore.FcrDeviceStreamStore(baseConfig);
520
+ var storeConfig = _objectSpread(_objectSpread({}, baseConfig), {}, {
347
521
  deviceStreamStore: deviceStreamStore
348
522
  });
349
- this._dialogModule = new _dialog.DialogUIModule({
350
- uiEventStore: uiEventStore,
351
- userInfo: this._mainRoomControl.getUserControl().getLocalUser(),
352
- securityStore: securityStore,
353
- userControl: this._mainRoomControl.getUserControl(),
354
- chatRoomControl: this._mainRoomControl.getChatRoomControl(),
355
- deviceStore: deviceStore,
356
- streamControl: this._mainRoomControl.getStreamControl()
357
- });
358
- this._settingUIModule = new _setting.SettingUIModule({
359
- mediaControl: this._engine.getDesktopMediaControl(),
360
- config: this._sceneConfig,
361
- uiEventStore: uiEventStore,
362
- deviceStore: deviceStore,
363
- monitorControl: this._engine.getMonitorControl(),
364
- streamControl: this._mainRoomControl.getStreamControl(),
365
- roomControl: this._mainRoomControl
366
- });
367
- this._stateBarUIModule = new _stateBar.StateBarUIModule({
368
- roomControl: this._mainRoomControl,
369
- uiEventStore: uiEventStore,
370
- securityStore: securityStore,
371
- config: this._sceneConfig
372
- });
373
- this._eventToastUIModule = new _eventToast.EventToastUIModule({
523
+ this._deviceStreamStore = deviceStreamStore;
524
+ var chatModule = new _chat.ChatUIModule(storeConfig);
525
+ var audioStreamUIModule = new _audioStream.AudioStreamUIModule(storeConfig);
526
+ var soundEffectUIModule = new _soundEffect.SoundEffectUIModule(storeConfig);
527
+ var dialogModule = new _dialog.DialogUIModule(storeConfig);
528
+ var settingUIModule = new _setting.SettingUIModule(storeConfig);
529
+ var interpreterUIModule = new _interpreter.InterpreterUIModule(storeConfig);
530
+ var stateBarUIModule = new _stateBar.StateBarUIModule(storeConfig);
531
+ var participantsModule = new _participant.ParticipantUIModule(storeConfig);
532
+ var shareScreenModule = new _shareScreen.ShareScreenUIModule(storeConfig);
533
+ var videoWindowModule = new _videoWindow.VideoWindowUIModule(storeConfig);
534
+ var whiteBoradUIModule = new _whiteboard.FcrWhiteboardUIModule(storeConfig);
535
+ var connectionGatewayUIModule = new _connectionGateway.ConnectionGatewayUIModule(storeConfig);
536
+ var actionBarUIModule = new _actionBar.FcrActionBarUIModule(storeConfig);
537
+ var controlbarUIModule = new _controlBar.ControlBarUIModule(storeConfig);
538
+ var layoutModule = new _layout.LayoutUIModule(storeConfig);
539
+ var eventToastUIModule = new _eventToast.EventToastUIModule({
374
540
  uiEventStore: uiEventStore
375
541
  });
376
- this._eventNotificationUIModule = new _eventNotification.EventNotificationUIModule({
377
- uiEventStore: uiEventStore,
378
- privilegeControl: this._mainRoomControl.getPrivilegeControl()
379
- });
380
- this._participantsModule = new _participant.ParticipantUIModule({
381
- roomControl: this._mainRoomControl,
382
- engine: this._engine,
383
- peerSessionControl: this._engine.getPeerSessionControl(),
384
- securityStore: securityStore,
385
- uiEventStore: uiEventStore,
386
- deviceStore: deviceStore,
387
- deviceStreamStore: deviceStreamStore
388
- });
389
- this._shareScreenModule = new _shareScreen.ShareScreenUIModule({
390
- roomControl: this._mainRoomControl,
391
- mediaControl: this._engine.getDesktopMediaControl(),
392
- deviceStore: deviceStore,
393
- deviceStreamStore: deviceStreamStore,
394
- securityStore: securityStore,
395
- uiEventStore: uiEventStore,
396
- config: this._sceneConfig
397
- });
398
- this._liveStreamingUIModule = new _liveStreaming.LiveStreamingUIModule({
399
- roomControl: this._mainRoomControl,
542
+ var eventConfirmUIModule = new _eventConfirm.EventConfirmUIModule({
400
543
  uiEventStore: uiEventStore
401
544
  });
402
- this._videoWindowModule = new _videoWindow.VideoWindowUIModule({
545
+ var eventNotificationUIModule = new _notification.NotificationUIModule({
403
546
  uiEventStore: uiEventStore,
404
- mediaControl: this._engine.getDesktopMediaControl(),
405
- userControl: this._mainRoomControl.getUserControl(),
406
- streamControl: this._mainRoomControl.getStreamControl(),
407
- securityStore: securityStore,
408
- deviceStore: deviceStore,
409
- deviceStreamStore: deviceStreamStore
410
- });
411
- this._connectionGatewayUIModule = new _connectionGateway.ConnectionGatewayUIModule({
412
- roomControl: this._mainRoomControl,
413
- uiEventStore: uiEventStore,
414
- deviceStore: this._deviceStore,
415
- mediaControl: this._engine.getDesktopMediaControl()
547
+ privilegeControl: privilegeControl,
548
+ roomStore: roomStore
416
549
  });
417
- this._inviteUIModule = new _invite.InviteUIModule({
418
- roomControl: this._mainRoomControl,
550
+ var liveStreamingUIModule = new _liveStreaming.LiveStreamingUIModule({
551
+ roomControl: roomControl,
419
552
  uiEventStore: uiEventStore
420
553
  });
421
- this._whiteBoradUIModule = new _whiteboard.FcrWhiteboardUIModule({
422
- roomControl: this._mainRoomControl,
423
- uiEventStore: uiEventStore,
424
- userControl: this._mainRoomControl.getUserControl(),
425
- whiteboardControl: this._mainRoomControl.getBoardControl(),
426
- streamControl: this._mainRoomControl.getStreamControl(),
427
- securityStore: securityStore
554
+ var inviteUIModule = new _invite.InviteUIModule({
555
+ roomControl: roomControl,
556
+ uiEventStore: uiEventStore
428
557
  });
429
- this._dialogModule.addDialogs([{
558
+ dialogModule.addDialogs([{
430
559
  key: _constant.DialogKey.DEVICE_SETTINGS,
431
560
  component: function component() {
432
- var _this4$_settingUIModu;
433
561
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_deviceSetting["default"], {
434
- children: (_this4$_settingUIModu = _this4._settingUIModule) === null || _this4$_settingUIModu === void 0 ? void 0 : _this4$_settingUIModu.getComponent()
562
+ children: settingUIModule.getComponent()
435
563
  }, "DeviceSettingDialog");
436
564
  }
565
+ }, {
566
+ key: _constant.DialogKey.INTERPRETER,
567
+ component: function component(params) {
568
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_interpreter2["default"], {
569
+ children: interpreterUIModule.getComponent()
570
+ }, "InterpreterDialog");
571
+ }
437
572
  }, {
438
573
  key: _constant.DialogKey.PARTICIPANT,
439
574
  component: function component() {
440
- var _this4$_participantsM;
441
575
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_participant2.ParticipantDialog, {
442
- children: (_this4$_participantsM = _this4._participantsModule) === null || _this4$_participantsM === void 0 ? void 0 : _this4$_participantsM.getComponent()
576
+ children: participantsModule.getComponent()
443
577
  }, "ParticipantDialog");
444
578
  }
445
579
  }, {
446
580
  key: _constant.DialogKey.LIVE_STREAMING,
447
581
  component: function component() {
448
- var _this4$_liveStreaming;
449
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_dialogs.LiveStreamingDialog, {
450
- title: "Push the meeting to the specified live platform",
451
- children: (_this4$_liveStreaming = _this4._liveStreamingUIModule) === null || _this4$_liveStreaming === void 0 ? void 0 : _this4$_liveStreaming.getComponent()
452
- }, "LiveStreamingDialog");
582
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_liveStreaming2.LiveStreamingDialog, {
583
+ title: (0, _i18n.transI18n)('fmt_live_label_push_platform'),
584
+ children: liveStreamingUIModule === null || liveStreamingUIModule === void 0 ? void 0 : liveStreamingUIModule.getComponent()
585
+ }, "LiveStreamingDialog-".concat(Math.random()));
453
586
  }
454
587
  }, {
455
588
  key: _constant.DialogKey.INVITE,
456
589
  component: function component() {
457
- var _this4$_inviteUIModul;
458
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_dialogs.InviteDialog, {
459
- children: (_this4$_inviteUIModul = _this4._inviteUIModule) === null || _this4$_inviteUIModul === void 0 ? void 0 : _this4$_inviteUIModul.getComponent()
590
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_invite2.InviteDialog, {
591
+ children: inviteUIModule.getComponent()
460
592
  }, "InviteDialog");
461
593
  }
462
594
  }, {
463
595
  key: _constant.DialogKey.CHAT,
464
596
  component: function component() {
465
- var _this4$_chatModule, _this4$_chatModule2;
466
597
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_chat2.ChatDialog, {
467
- chatAction: (_this4$_chatModule = _this4._chatModule) === null || _this4$_chatModule === void 0 ? void 0 : _this4$_chatModule.getActionsComponent(),
468
- children: (_this4$_chatModule2 = _this4._chatModule) === null || _this4$_chatModule2 === void 0 ? void 0 : _this4$_chatModule2.getComponent({
598
+ chatAction: chatModule.getActionsComponent(),
599
+ children: chatModule.getComponent({
469
600
  singling: true
470
601
  })
471
602
  }, "ChatDialog");
472
603
  }
473
- }, {
474
- key: _constant.DialogKey.CONFIRM,
475
- component: function component(params) {
476
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_confirm.ConfirmDialog, {
477
- dialogType: (0, _env.isElectron)() ? 'electron' : 'browser',
478
- params: params,
479
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_confirmContent.ConfirmContent, _objectSpread({
480
- width: params === null || params === void 0 ? void 0 : params.width,
481
- title: (params === null || params === void 0 ? void 0 : params.title) || '',
482
- icon: params === null || params === void 0 ? void 0 : params.icon,
483
- content: (params === null || params === void 0 ? void 0 : params.content) || '',
484
- onOk: (params === null || params === void 0 ? void 0 : params.onOk) || function () {},
485
- onCancel: (params === null || params === void 0 ? void 0 : params.onCancel) || function () {}
486
- }, params))
487
- }, "ConfirmDialog");
488
- }
489
604
  }, {
490
605
  key: _constant.DialogKey.VIDEO_WINDOW,
491
606
  component: function component() {
492
- var _this4$_videoWindowMo;
493
607
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_dialogs.VideoWindowDialog, {
494
- children: (_this4$_videoWindowMo = _this4._videoWindowModule) === null || _this4$_videoWindowMo === void 0 ? void 0 : _this4$_videoWindowMo.getComponent()
608
+ children: videoWindowModule.getComponent()
495
609
  }, "VideoWindowDialog");
496
610
  }
497
611
  }, {
498
612
  key: _constant.DialogKey.CONNECTION_GATEWAY,
499
- component: function component() {
500
- var _this4$_connectionGat;
613
+ component: function component(params) {
501
614
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_connectionGateway2.ConnectionGatewayDialog, {
502
- children: (_this4$_connectionGat = _this4._connectionGatewayUIModule) === null || _this4$_connectionGat === void 0 ? void 0 : _this4$_connectionGat.getComponent()
615
+ params: params,
616
+ children: connectionGatewayUIModule.getComponent()
503
617
  }, "ConnectionGatewayDialog");
504
618
  }
505
619
  }, {
506
620
  key: _constant.DialogKey.WHITEBOARD,
507
621
  component: function component() {
508
- return _this4._whiteBoradUIModule ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_whiteboard2.WhiteboardElectronDialog, {
509
- module: _this4._whiteBoradUIModule
510
- }, "WhiteboardDialog") : /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {});
622
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_whiteboard2.WhiteboardElectronDialog, {
623
+ module: whiteBoradUIModule
624
+ }, "WhiteboardDialog");
511
625
  }
512
626
  }, {
513
627
  key: _constant.DialogKey.SHARE_SCREEN,
514
628
  component: function component(params) {
515
- var _this4$_shareScreenMo;
516
629
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_shareScreenSelection.ShareScreenSelectronDialog, {
517
630
  params: params,
518
- children: (_this4$_shareScreenMo = _this4._shareScreenModule) === null || _this4$_shareScreenMo === void 0 ? void 0 : _this4$_shareScreenMo.getSelectionComponent()
631
+ children: shareScreenModule.getSelectionComponent()
519
632
  }, "ShareScreenSelection");
520
633
  }
521
634
  }, {
522
635
  key: _constant.DialogKey.CONTROL_BAR,
523
- component: function component() {
524
- var _this4$_shareScreenMo2;
525
- return (_this4$_shareScreenMo2 = _this4._shareScreenModule) === null || _this4$_shareScreenMo2 === void 0 ? void 0 : _this4$_shareScreenMo2.getComponent();
526
- }
527
- }, {
528
- key: _constant.DialogKey.WAITING_ROOM,
529
636
  component: function component(params) {
530
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_operationWaitingRoom.OperationWaitingRoomDialog, {
637
+ return (0, _env.isElectron)() ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_controlBar2.ControlBarDialog, {
638
+ module: controlbarUIModule,
531
639
  params: params
532
- }, 'WaitingRoom');
640
+ }, "ControlBar") : shareScreenModule.getComponent();
533
641
  }
534
642
  }, {
535
643
  key: _constant.DialogKey.WAITING_ROOM_SINGLE_REMOVE,
536
644
  component: function component(params) {
537
- var _this4$_participantsM2;
538
645
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_removeAdmitWaitingRoom.RemoveAdmitWaitingRoomDialog, {
539
646
  params: params,
540
- children: (_this4$_participantsM2 = _this4._participantsModule) === null || _this4$_participantsM2 === void 0 ? void 0 : _this4$_participantsM2.getWaitingRoomDialog(params)
647
+ children: participantsModule.getWaitingRoomDialog(params)
541
648
  }, 'WaitingRoomSingleRemove');
542
649
  }
543
650
  }, {
544
651
  key: _constant.DialogKey.WAITING_ROOM_ALL_REMOVE,
545
652
  component: function component(params) {
546
- var _this4$_participantsM3;
547
653
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_removeAdmitWaitingRoom.RemoveAdmitWaitingRoomDialog, {
548
654
  params: params,
549
- children: (_this4$_participantsM3 = _this4._participantsModule) === null || _this4$_participantsM3 === void 0 ? void 0 : _this4$_participantsM3.getWaitingRoomDialog(params)
655
+ children: participantsModule.getWaitingRoomDialog(params)
550
656
  }, 'WaitingRoomAllRemove');
551
657
  }
552
658
  }, {
553
659
  key: _constant.DialogKey.WAITING_ROOM_ALL_ADMIT,
554
660
  component: function component(params) {
555
- var _this4$_participantsM4;
556
661
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_removeAdmitWaitingRoom.RemoveAdmitWaitingRoomDialog, {
557
662
  params: params,
558
- children: (_this4$_participantsM4 = _this4._participantsModule) === null || _this4$_participantsM4 === void 0 ? void 0 : _this4$_participantsM4.getWaitingRoomDialog(params)
663
+ children: participantsModule === null || participantsModule === void 0 ? void 0 : participantsModule.getWaitingRoomDialog(params)
559
664
  }, 'WaitingRoomAllAdmit');
560
665
  }
666
+ }, {
667
+ key: _constant.DialogKey.SYSTEM_PREFERENCE,
668
+ component: function component(params) {
669
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_systemPreference.SystemPreferenceDialog, {
670
+ params: params
671
+ }, "SystemPreference");
672
+ }
561
673
  }]);
562
- this._layoutModule = new _layout.LayoutUIModule({
563
- deviceStore: this._deviceStore,
564
- uiEventStore: uiEventStore,
565
- mediaControl: this._engine.getDesktopMediaControl(),
566
- userControl: this._mainRoomControl.getUserControl(),
567
- streamControl: this._mainRoomControl.getStreamControl(),
568
- securityStore: securityStore,
569
- chatRoomControl: this._mainRoomControl.getChatRoomControl(),
570
- whiteBoardControl: this._mainRoomControl.getBoardControl(),
571
- privilegeControl: this._mainRoomControl.getPrivilegeControl(),
572
- roomControl: this._mainRoomControl
573
- });
574
- var layoutComponent = this._layoutModule.getComponent({
575
- chat: this._chatModule.getComponent(),
576
- chatAction: this._chatModule.getActionsComponent(),
577
- participant: this._participantsModule.getComponent(),
578
- actionBar: this._actionBarUIModule.getComponent(),
579
- stateBar: this._stateBarUIModule.getComponent(),
580
- layers: [this._dialogModule.getComponent(), this._eventToastUIModule.getComponent(), this._eventNotificationUIModule.getComponent()],
581
- whiteboard: this._whiteBoradUIModule.getComponent()
674
+ var layoutComponent = layoutModule.getComponent({
675
+ chat: chatModule.getComponent(),
676
+ chatAction: chatModule.getActionsComponent(),
677
+ participant: participantsModule.getComponent(),
678
+ actionBar: actionBarUIModule.getComponent(),
679
+ stateBar: stateBarUIModule.getComponent(),
680
+ layers: this._renderLayers([dialogModule.getComponent(), eventToastUIModule.getComponent('local'), eventNotificationUIModule.getComponent()]),
681
+ whiteboard: whiteBoradUIModule.getComponent(),
682
+ globalToast: eventToastUIModule.getComponent('global'),
683
+ confirm: eventConfirmUIModule.getComponent()
582
684
  });
583
- this._eventObserver = {
685
+ var eventObserver = {
584
686
  onEvent: function onEvent(action, payload) {
585
687
  if (action === _constant.UIAction.EXIT_ROOM) {
586
- _this4._observable.notifyObservers('onExited', _this4._sceneConfig.roomId, payload.reason, _this4._mainRoomControl);
688
+ observable.notifyObservers('onExited', sceneConfig.roomId, payload.reason);
587
689
  }
588
690
  }
589
691
  };
590
- this._engineObserver = {
692
+ var engineObserver = {
591
693
  onConnectionStateUpdated: function onConnectionStateUpdated(state) {
592
- if (state === _agoraEduCore.FcrConnectionState.ABORTED) {
593
- _this4._observable.notifyObservers('onExited', _this4._sceneConfig.roomId, _type.FcrUIExitReason.ABORTED);
694
+ if (state === _fcrCore.FcrConnectionState.ABORTED) {
695
+ observable.notifyObservers('onExited', sceneConfig.roomId, _type.FcrUIExitReason.ABORTED);
594
696
  }
595
- if (state === _agoraEduCore.FcrConnectionState.CONNECTED) {
697
+ if (state === _fcrCore.FcrConnectionState.CONNECTED) {
596
698
  uiEventStore.sendEvent(_constant.UIAction.ENGINE_RECONNECTED);
597
699
  }
598
700
  }
599
701
  };
600
- this._userObserver = {
601
- onLocalUserKickedOut: function onLocalUserKickedOut(roomId) {
602
- _dialog2.FcrDialogApi.open({
603
- id: 'login-confirm-dialog-kick-out',
604
- dialogProps: {
605
- content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_loginConfirmDialog.LoginConfirmDialog, {
606
- title: (0, _i18n.transI18n)('fmt_popup_button_leavemeeting'),
607
- desc: (0, _i18n.transI18n)('fmt_leave_tips_removetip'),
608
- btnTxt: (0, _i18n.transI18n)('fmt_waitingroom_attendie_popup_button_gotit'),
609
- id: "login-confirm-dialog-kick-out",
610
- onConfirm: function onConfirm() {
611
- _this4._observable.notifyObservers('onExited', roomId, _type.FcrUIExitReason.KICKED_OUT);
612
- }
613
- }),
614
- width: 360,
615
- closable: false,
616
- rootClassName: 'login-confirm-dialog'
617
- }
618
- });
619
- },
620
- onUserInfoUpdated: function onUserInfoUpdated(roomId, event) {
621
- // 权限变更的时候
622
- if (_this4._mainRoomControl && event.modifiedUser.userId === _this4._mainRoomControl.getUserControl().getLocalUser().userId) {
623
- _this4._sceneConfig.userRole = event.modifiedUser.userRole;
624
- _this4._judgeWaitingRoomPremissionAndCreateRoomControl();
625
- }
626
- }
627
- };
628
- this._roomObserver = {
629
- onLocalUserMovedToWaitingRoom: function () {
630
- var _onLocalUserMovedToWaitingRoom = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(roomId, event) {
631
- var _this4$_mainRoomContr, info, enable, room;
632
- return _regenerator["default"].wrap(function _callee3$(_context3) {
633
- while (1) switch (_context3.prev = _context3.next) {
634
- case 0:
635
- if (!_this4._mainRoomControl) {
636
- _context3.next = 14;
637
- break;
638
- }
639
- _this4$_mainRoomContr = _this4._mainRoomControl.getPrivilegeControl().getSecurityInfo(_type7.FcrSecurityAction.WaitingRoom), info = _this4$_mainRoomContr.info, enable = _this4$_mainRoomContr.enable;
640
- _context3.next = 4;
641
- return _this4._mainRoomControl.leave();
642
- case 4:
643
- _this4._mainRoomControl.removeObserver(_this4._roomObserver);
644
- if (!info) {
645
- _context3.next = 14;
646
- break;
647
- }
648
- _context3.next = 8;
649
- return _this4._createRoomControl(info.payload.roomUuid);
650
- case 8:
651
- room = _context3.sent;
652
- _this4._waitingRoomControl = room;
653
- // @ts-ignore
654
- window.__waitingRoom_control = room;
655
- _reactDom["default"].unmountComponentAtNode(dom);
656
- _this4._uiEventStore.showToast({
657
- type: 'error',
658
- message: (0, _i18n.transI18n)('fmt_waitingroom_attendie_overview_label__toast_move_to_waitingroom')
659
- });
660
- _this4._renderWaitingRoomUi(dom);
661
- case 14:
662
- case "end":
663
- return _context3.stop();
664
- }
665
- }, _callee3);
666
- }));
667
- function onLocalUserMovedToWaitingRoom(_x, _x2) {
668
- return _onLocalUserMovedToWaitingRoom.apply(this, arguments);
669
- }
670
- return onLocalUserMovedToWaitingRoom;
671
- }(),
702
+ var roomObserver = {
672
703
  onRoomStateUpdated: function onRoomStateUpdated(roomId, state) {
673
704
  if (state === _type2.FcrRoomState.Closed) {
674
- _this4._observable.notifyObservers('onExited', roomId, _type.FcrUIExitReason.CLOSE_ROOM);
705
+ observable.notifyObservers('onExited', roomId, _type.FcrUIExitReason.CLOSE_ROOM);
675
706
  }
676
707
  }
677
708
  };
678
- uiEventStore.addObserver(this._eventObserver);
679
- this._engine.addObserver(this._engineObserver);
680
- this._mainRoomControl.addObserver(this._roomObserver);
681
- this._mainRoomControl.getUserControl().addObserver(this._userObserver);
709
+ uiEventStore.addObserver(eventObserver);
710
+ engine.addObserver(engineObserver);
711
+ roomControl.addObserver(roomObserver);
682
712
  _reactDom["default"].render(/*#__PURE__*/(0, _jsxRuntime.jsx)(_videoTrackRenderContext.FcrVideoTrackRenderContext.Provider, {
683
713
  value: {
684
- deviceStore: this._deviceStore,
685
- streamControl: this._mainRoomControl.getStreamControl()
714
+ deviceStore: deviceStore,
715
+ remoteVideoRenderManager: remoteVideoRenderManager
686
716
  },
687
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
717
+ children: this._renderWithErrorBoundary(/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
688
718
  style: {
689
719
  width: '100vw',
690
720
  height: '100vh'
691
721
  },
692
722
  children: layoutComponent
693
- })
723
+ }), 'mainroom')
694
724
  }), dom);
725
+
726
+ // return disposer
727
+ return function () {
728
+ _reactDom["default"].unmountComponentAtNode(dom);
729
+ roomControl.leave();
730
+
731
+ // ...
732
+ remoteVideoRenderManager.release();
733
+ deviceStreamStore.release();
734
+ actionBarUIModule.release();
735
+ chatModule.release();
736
+ layoutModule.release();
737
+ participantsModule.release();
738
+ dialogModule.release();
739
+ settingUIModule.release();
740
+ interpreterUIModule.release();
741
+ eventToastUIModule.release();
742
+ stateBarUIModule.release();
743
+ audioStreamUIModule.release();
744
+ soundEffectUIModule.release();
745
+ shareScreenModule.release();
746
+ videoWindowModule.release();
747
+ liveStreamingUIModule.release();
748
+ inviteUIModule.release();
749
+ connectionGatewayUIModule.release();
750
+ whiteBoradUIModule.release();
751
+ securityStore.release();
752
+ eventNotificationUIModule.release();
753
+ };
695
754
  }
696
755
  }, {
697
756
  key: "_renderWaitingRoomUi",
698
- value: function _renderWaitingRoomUi(dom) {
757
+ value: function _renderWaitingRoomUi(dom, roomControl) {
699
758
  var _this5 = this;
759
+ /**
760
+ * Common Stores
761
+ */
700
762
  var deviceStore = this._deviceStore;
701
- if (this._waitingRoomControl) {
702
- this._waitingRoomLayoutModule = new _waitingRoomLayout.WaitingRoomLayout({
703
- deviceStore: deviceStore,
704
- userControl: this._waitingRoomControl.getUserControl()
705
- });
706
- var uiEventStore = this._uiEventStore;
707
- this._eventObserver = {
708
- onEvent: function onEvent(action, payload) {
709
- if (action === _constant.UIAction.EXIT_ROOM) {
710
- _this5._observable.notifyObservers('onExited', _this5._sceneConfig.roomId, payload.reason, _this5._waitingRoomControl);
711
- }
712
- }
713
- };
714
- uiEventStore.addObserver(this._eventObserver);
715
- var securityStore = new _securityStore.FcrSecurityStore(this._waitingRoomControl.getPrivilegeControl(), this._waitingRoomControl.getUserControl(), this._waitingRoomControl.getStreamControl(), this._waitingRoomControl.getRoomSessionControl(), uiEventStore);
716
- var deviceStreamStore = new _deviceStreamStore.FcrDeviceStreamStore({
717
- mediaControl: this._engine.getDesktopMediaControl(),
718
- roomControl: this._waitingRoomControl,
719
- securityStore: securityStore,
720
- deviceStore: deviceStore,
721
- uiEventStore: uiEventStore
722
- });
723
- this._stateBarUIModule = new _stateBar.StateBarUIModule({
724
- roomControl: this._waitingRoomControl,
725
- uiEventStore: uiEventStore,
726
- securityStore: securityStore,
727
- config: this._sceneConfig
728
- });
729
- this._actionBarUIModule = new _actionBar.FcrActionBarUIModule({
730
- roomControl: this._waitingRoomControl,
731
- userControl: this._waitingRoomControl.getUserControl(),
732
- uiEventStore: uiEventStore,
733
- securityStore: securityStore,
734
- streamControl: this._waitingRoomControl.getStreamControl(),
735
- deviceStore: deviceStore,
736
- deviceStreamStore: deviceStreamStore,
737
- mediaControl: this._engine.getDesktopMediaControl()
738
- });
739
- this._chatModule = new _chat.ChatUIModule({
740
- roomControl: this._waitingRoomControl,
741
- uiEventStore: uiEventStore,
742
- securityStore: securityStore
743
- });
744
- var layoutComponent = this._waitingRoomLayoutModule.getComponent({
745
- chat: this._chatModule.getComponent(),
746
- stateBar: this._stateBarUIModule.getComponent(),
747
- actionBar: this._actionBarUIModule.getComponent()
748
- });
749
- this._roomObserver = {
750
- onLocalUserMovedToMainRoom: function () {
751
- var _onLocalUserMovedToMainRoom = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5(roomId, event) {
752
- return _regenerator["default"].wrap(function _callee5$(_context5) {
753
- while (1) switch (_context5.prev = _context5.next) {
754
- case 0:
755
- _dialog2.FcrDialogApi.open({
756
- id: 'login-confirm-dialog-move-mainroom',
757
- dialogProps: {
758
- content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_loginConfirmDialog.LoginConfirmDialog, {
759
- title: (0, _i18n.transI18n)('fmt_waitingroom_mobile_notice_popup_label_about_join'),
760
- desc: (0, _i18n.transI18n)('fmt_waitingroom_mobile_notice_popup_label_quick_join'),
761
- id: "login-confirm-dialog-move-mainroom",
762
- btnTxt: (0, _i18n.transI18n)('fmt_waitingroom_mobile_notice_popup_button_join_now_no_count'),
763
- isShowCoutDown: true,
764
- showImg: false,
765
- onConfirm: /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4() {
766
- var room;
767
- return _regenerator["default"].wrap(function _callee4$(_context4) {
768
- while (1) switch (_context4.prev = _context4.next) {
769
- case 0:
770
- if (!_this5._waitingRoomControl) {
771
- _context4.next = 10;
772
- break;
773
- }
774
- _context4.next = 3;
775
- return _this5._waitingRoomControl.leave();
776
- case 3:
777
- room = _this5._engine.createMainRoomControl(roomId.split('-')[0]);
778
- _context4.next = 6;
779
- return room.joinWithTicket(_objectSpread(_objectSpread({}, _this5._getJoinRoomOption()), {}, {
780
- ticket: (0, _lodash.get)(event.changedProperties, 'security.ticket')
781
- }));
782
- case 6:
783
- _this5._mainRoomControl = room;
784
- // @ts-ignore
785
- window.__mainRoom_control = room;
786
- _reactDom["default"].unmountComponentAtNode(dom);
787
- _this5._renderRoomUi(dom);
788
- case 10:
789
- case "end":
790
- return _context4.stop();
791
- }
792
- }, _callee4);
793
- }))
794
- }),
795
- width: 360,
796
- closable: false,
797
- rootClassName: 'login-confirm-dialog'
798
- }
799
- });
800
- case 1:
801
- case "end":
802
- return _context5.stop();
803
- }
804
- }, _callee5);
805
- }));
806
- function onLocalUserMovedToMainRoom(_x3, _x4) {
807
- return _onLocalUserMovedToMainRoom.apply(this, arguments);
808
- }
809
- return onLocalUserMovedToMainRoom;
810
- }(),
811
- onRoomStateUpdated: function onRoomStateUpdated(roomId, state) {
812
- if (state === _type2.FcrRoomState.Closed) {
813
- _this5._observable.notifyObservers('onExited', roomId, _type.FcrUIExitReason.CLOSE_ROOM);
814
- }
763
+ var uiEventStore = this._uiEventStore;
764
+ var roomStore = this._roomStore;
765
+ var engine = this._engine;
766
+ var sceneConfig = this._sceneConfig;
767
+ var coreConfig = this._coreConfig;
768
+ var observable = this._observable;
769
+ var userControl = roomControl.getUserControl();
770
+ var mediaControl = engine.getDesktopMediaControl();
771
+ var streamControl = roomControl.getStreamControl();
772
+ var privilegeControl = roomControl.getPrivilegeControl();
773
+ var chatRoomControl = roomControl.getChatRoomControl();
774
+ var remoteVideoRenderManager = new _remoteRenderer.FcrRemoteVideoRenderManager(streamControl);
775
+ var waitingRoomLayoutModule = new _waitingRoomLayout.WaitingRoomLayout({
776
+ deviceStore: deviceStore,
777
+ userControl: userControl
778
+ });
779
+ var eventToastUIModule = new _eventToast.EventToastUIModule({
780
+ uiEventStore: uiEventStore
781
+ });
782
+ var eventObserver = {
783
+ onEvent: function onEvent(action, payload) {
784
+ if (action === _constant.UIAction.EXIT_ROOM) {
785
+ observable.notifyObservers('onExited', sceneConfig.roomId, payload.reason);
815
786
  }
816
- };
817
- this._waitingRoomUserObserver = {
818
- onLocalUserKickedOut: function onLocalUserKickedOut(roomId) {
819
- _dialog2.FcrDialogApi.open({
820
- id: 'login-confirm-dialog-kick-out',
821
- dialogProps: {
822
- content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_loginConfirmDialog.LoginConfirmDialog, {
823
- title: (0, _i18n.transI18n)('fmt_popup_button_leavemeeting'),
824
- desc: (0, _i18n.transI18n)('fmt_leave_tips_removetip'),
825
- id: "login-confirm-dialog-kick-out",
826
- btnTxt: (0, _i18n.transI18n)('fmt_waitingroom_attendie_popup_button_gotit'),
827
- onConfirm: function onConfirm() {
828
- _this5._observable.notifyObservers('onExited', roomId, _type.FcrUIExitReason.KICKED_OUT);
829
- }
830
- }),
831
- width: 360,
832
- closable: false,
833
- rootClassName: 'login-confirm-dialog'
834
- }
835
- });
787
+ }
788
+ };
789
+ uiEventStore.addObserver(eventObserver);
790
+ var securityStore = new _securityStore.FcrSecurityStore(privilegeControl, userControl, streamControl, uiEventStore);
791
+ var baseConfig = {
792
+ mediaControl: mediaControl,
793
+ streamControl: streamControl,
794
+ userControl: userControl,
795
+ privilegeControl: privilegeControl,
796
+ chatRoomControl: chatRoomControl,
797
+ roomStore: roomStore,
798
+ uiEventStore: uiEventStore,
799
+ securityStore: securityStore,
800
+ deviceStore: deviceStore,
801
+ roomControl: roomControl,
802
+ engine: engine,
803
+ remoteVideoRenderManager: remoteVideoRenderManager,
804
+ config: sceneConfig,
805
+ parameters: coreConfig.parameters
806
+ };
807
+ var deviceStreamStore = new _deviceStreamStore.FcrDeviceStreamStore(baseConfig);
808
+ var storeConfig = _objectSpread(_objectSpread({}, baseConfig), {}, {
809
+ deviceStreamStore: deviceStreamStore
810
+ });
811
+ this._deviceStreamStore = deviceStreamStore;
812
+ var connectionGatewayUIModule = new _connectionGateway.ConnectionGatewayUIModule(storeConfig);
813
+ var stateBarUIModule = new _stateBar.StateBarUIModule(storeConfig);
814
+ var actionBarUIModule = new _actionBar.FcrActionBarUIModule(storeConfig);
815
+ var chatModule = new _chat.ChatUIModule(storeConfig);
816
+ var settingUIModule = new _setting.SettingUIModule(storeConfig);
817
+ var dialogModule = new _dialog.DialogUIModule(storeConfig);
818
+ dialogModule.addDialogs([{
819
+ key: _constant.DialogKey.DEVICE_SETTINGS,
820
+ component: function component() {
821
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_deviceSetting["default"], {
822
+ children: settingUIModule.getComponent()
823
+ }, "DeviceSettingDialog");
824
+ }
825
+ }, {
826
+ key: _constant.DialogKey.CONNECTION_GATEWAY,
827
+ component: function component(params) {
828
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_connectionGateway2.ConnectionGatewayDialog, {
829
+ params: params,
830
+ children: connectionGatewayUIModule.getComponent()
831
+ }, "ConnectionGatewayDialog");
832
+ }
833
+ }]);
834
+ var layoutComponent = waitingRoomLayoutModule.getComponent({
835
+ chat: chatModule.getComponent(),
836
+ stateBar: stateBarUIModule.getComponent(),
837
+ actionBar: actionBarUIModule.getComponent(),
838
+ layers: this._renderLayers([dialogModule.getComponent()]),
839
+ globalToast: eventToastUIModule.getComponent('global')
840
+ });
841
+ var roomObserver = {
842
+ onRoomStateUpdated: function onRoomStateUpdated(roomId, state) {
843
+ if (state === _type2.FcrRoomState.Closed) {
844
+ observable.notifyObservers('onExited', roomId, _type.FcrUIExitReason.CLOSE_ROOM);
836
845
  }
837
- };
838
- this._waitingRoomControl.addObserver(this._roomObserver);
839
- this._waitingRoomControl.getUserControl().addObserver(this._waitingRoomUserObserver);
840
- _reactDom["default"].render(/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
846
+ }
847
+ };
848
+ roomControl.addObserver(roomObserver);
849
+ _reactDom["default"].render(/*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
850
+ children: this._renderWithErrorBoundary(/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
841
851
  style: {
842
852
  width: '100vw',
843
853
  height: '100vh'
844
854
  },
845
855
  children: layoutComponent
846
- }), dom);
847
- }
848
- }
849
- }, {
850
- key: "_getJoinRoomOption",
851
- value: function _getJoinRoomOption() {
852
- var config = this._sceneConfig;
853
- var streams = [{
854
- videoSourceState: this._deviceStore.cameraEnabled ? _type3.AgoraRtcMediaSourceState.STARTED : _type3.AgoraRtcMediaSourceState.STOPPED,
855
- audioSourceState: this._deviceStore.microphoneEnabled ? _type3.AgoraRtcMediaSourceState.STARTED : _type3.AgoraRtcMediaSourceState.STOPPED,
856
- videoSourceId: this._deviceStore.currentDeviceId.cameraDeviceId,
857
- audioSourceId: this._deviceStore.currentDeviceId.microphoneDeviceId,
858
- streamName: 'default',
859
- streamType: _type4.AgoraRteMediaStreamType.BOTH,
860
- videoSourceType: _type5.AgoraRteVideoSourceType.CAMERA,
861
- audioSourceType: _type5.AgoraRteAudioSourceType.MICROPHONE
862
- }];
863
- if (config.userRole === _type2.FcrUserRole.ROBOT) {
864
- streams = [];
865
- }
866
- return {
867
- userName: config.userName,
868
- userRole: config.userRole,
869
- userProperties: config.userProperties,
870
- streamLatency: _agoraEduCore.FcrStreamLatencyLevel.ULTRA_LOW,
871
- createStreamConfigs: streams,
872
- roomToken: config.roomToken,
873
- password: config.password
856
+ }), 'waitingroom')
857
+ }), dom);
858
+
859
+ // return disposer
860
+ return function () {
861
+ _reactDom["default"].unmountComponentAtNode(dom);
862
+ roomControl.leave();
863
+ _this5.logger.info('unmount waiting room and leave room');
864
+ // ...
865
+ remoteVideoRenderManager.release();
866
+ waitingRoomLayoutModule.release();
867
+ securityStore.release();
868
+ deviceStreamStore.release();
869
+ dialogModule.release();
870
+ settingUIModule.release();
871
+ stateBarUIModule.release();
872
+ actionBarUIModule.release();
873
+ chatModule.release();
874
874
  };
875
875
  }
876
- }, {
877
- key: "_createRoomControl",
878
- value: function () {
879
- var _createRoomControl2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee7(roomId) {
880
- var _this6 = this;
881
- return _regenerator["default"].wrap(function _callee7$(_context7) {
882
- while (1) switch (_context7.prev = _context7.next) {
883
- case 0:
884
- return _context7.abrupt("return", new Promise(/*#__PURE__*/function () {
885
- var _ref4 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee6(resolve, reject) {
886
- var engine, room;
887
- return _regenerator["default"].wrap(function _callee6$(_context6) {
888
- while (1) switch (_context6.prev = _context6.next) {
889
- case 0:
890
- engine = _this6._engine;
891
- if (engine) {
892
- _context6.next = 3;
893
- break;
894
- }
895
- return _context6.abrupt("return");
896
- case 3:
897
- _context6.prev = 3;
898
- _context6.next = 6;
899
- return engine.createRoomControlAndJoin(roomId, _this6._getJoinRoomOption());
900
- case 6:
901
- room = _context6.sent;
902
- resolve(room);
903
- _context6.next = 14;
904
- break;
905
- case 10:
906
- _context6.prev = 10;
907
- _context6.t0 = _context6["catch"](3);
908
- if (_context6.t0.code === '730403100') {
909
- _dialog2.FcrDialogApi.open({
910
- id: 'login-confirm-dialog-error',
911
- dialogProps: {
912
- content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_loginConfirmDialog.LoginConfirmDialog, {
913
- desc: (0, _i18n.transI18n)('fmt_waitingroom_attendie_popup_label_removed'),
914
- id: "login-confirm-dialog-error",
915
- btnTxt: (0, _i18n.transI18n)('fmt_waitingroom_attendie_popup_button_gotit')
916
- }),
917
- width: 360,
918
- closable: false,
919
- rootClassName: 'login-confirm-dialog'
920
- }
921
- });
922
- }
923
- reject(_context6.t0);
924
- case 14:
925
- case "end":
926
- return _context6.stop();
927
- }
928
- }, _callee6, null, [[3, 10]]);
929
- }));
930
- return function (_x6, _x7) {
931
- return _ref4.apply(this, arguments);
932
- };
933
- }()));
934
- case 1:
935
- case "end":
936
- return _context7.stop();
937
- }
938
- }, _callee7);
939
- }));
940
- function _createRoomControl(_x5) {
941
- return _createRoomControl2.apply(this, arguments);
942
- }
943
- return _createRoomControl;
944
- }()
945
- }, {
946
- key: "_judgeWaitingRoomPremissionAndCreateRoomControl",
947
- value: function () {
948
- var _judgeWaitingRoomPremissionAndCreateRoomControl2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee8() {
949
- var _this$_mainRoomContro, info, isWaitingRoomManager, waitingRoomId, room, securityStore;
950
- return _regenerator["default"].wrap(function _callee8$(_context8) {
951
- while (1) switch (_context8.prev = _context8.next) {
952
- case 0:
953
- if (this._mainRoomControl) {
954
- _context8.next = 2;
955
- break;
956
- }
957
- return _context8.abrupt("return");
958
- case 2:
959
- _this$_mainRoomContro = this._mainRoomControl.getPrivilegeControl().getSecurityInfo(_type7.FcrSecurityAction.WaitingRoom), info = _this$_mainRoomContro.info;
960
- isWaitingRoomManager = this._mainRoomControl.getPrivilegeControl().getLocalUserPermissionInfo(_type7.FcrPermissionAction.WaitingRoomOpen).enable;
961
- if (!isWaitingRoomManager) {
962
- _context8.next = 16;
963
- break;
964
- }
965
- if (!info) {
966
- _context8.next = 14;
967
- break;
968
- }
969
- waitingRoomId = info.payload.roomUuid;
970
- room = this._engine.createWaitingRoomControl(waitingRoomId);
971
- _context8.next = 10;
972
- return room.join(this._getJoinRoomOption());
973
- case 10:
974
- this._waitingRoomControl = room;
975
- // @ts-ignore
976
- window.__waitingRoom_control = room;
977
- securityStore = new _securityStore.FcrSecurityStore(this._waitingRoomControl.getPrivilegeControl(), this._waitingRoomControl.getUserControl(), this._waitingRoomControl.getStreamControl(), this._waitingRoomControl.getRoomSessionControl(), this._uiEventStore);
978
- this._uiEventStore.sendEvent(_constant.UIAction.WAITING_ROOM_CREATED, {
979
- room: room,
980
- securityStore: securityStore
981
- });
982
- case 14:
983
- _context8.next = 17;
984
- break;
985
- case 16:
986
- this._destroyWaitingRoom();
987
- case 17:
988
- case "end":
989
- return _context8.stop();
990
- }
991
- }, _callee8, this);
992
- }));
993
- function _judgeWaitingRoomPremissionAndCreateRoomControl() {
994
- return _judgeWaitingRoomPremissionAndCreateRoomControl2.apply(this, arguments);
995
- }
996
- return _judgeWaitingRoomPremissionAndCreateRoomControl;
997
- }()
998
- }, {
999
- key: "_destroyWaitingRoom",
1000
- value: function _destroyWaitingRoom() {
1001
- var _this$_waitingRoomCon;
1002
- (_this$_waitingRoomCon = this._waitingRoomControl) === null || _this$_waitingRoomCon === void 0 || _this$_waitingRoomCon.leave();
1003
- this._waitingRoomControl = undefined;
1004
- this._uiEventStore.sendEvent(_constant.UIAction.WAITING_ROOM_DESTROYED);
1005
- // @ts-ignore
1006
- window.__waitingRoom_control = undefined;
1007
- }
1008
876
  }]);
1009
877
  }();