fcr-ui-scene 3.1.1 → 3.3.0

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 (372) hide show
  1. package/installer/icons/favicon.ico +0 -0
  2. package/installer/icons/favicon.png +0 -0
  3. package/installer/mac/entitlements.mac.plist +16 -0
  4. package/lib/base.d.ts +0 -1
  5. package/lib/base.js +16 -0
  6. package/lib/common/device-store.d.ts +4 -5
  7. package/lib/common/device-store.js +178 -86
  8. package/lib/common/device-stream-store.d.ts +3 -2
  9. package/lib/common/device-stream-store.js +94 -72
  10. package/lib/common/event-store.d.ts +20 -3
  11. package/lib/common/event-store.js +43 -5
  12. package/lib/common/security-store.d.ts +16 -16
  13. package/lib/common/security-store.js +278 -124
  14. package/lib/electron/app.js +13 -5
  15. package/lib/electron/bootstrap-dev.d.ts +1 -0
  16. package/lib/electron/bootstrap-dev.js +51 -0
  17. package/lib/electron/bootstrap-sdk.d.ts +1 -0
  18. package/lib/electron/bootstrap-sdk.js +56 -0
  19. package/lib/electron/bootstrap.d.ts +1 -0
  20. package/lib/electron/bootstrap.js +56 -0
  21. package/lib/electron/default-options.js +1 -1
  22. package/lib/electron/dev.d.ts +1 -0
  23. package/lib/electron/dev.js +51 -0
  24. package/lib/electron/injections.d.ts +3 -4
  25. package/lib/electron/injections.js +46 -33
  26. package/lib/electron/logger.d.ts +6 -0
  27. package/lib/electron/logger.js +66 -0
  28. package/lib/electron/main.js +15 -11
  29. package/lib/electron/plugins/meeting-state.d.ts +2 -0
  30. package/lib/electron/plugins/meeting-state.js +39 -0
  31. package/lib/electron/preload.js +2 -1
  32. package/lib/electron/tools.js +9 -0
  33. package/lib/electron/window.d.ts +1 -1
  34. package/lib/electron/window.js +14 -2
  35. package/lib/fragments/control-bar/context.d.ts +0 -1
  36. package/lib/fragments/control-bar/control-bar-store.d.ts +34 -1
  37. package/lib/fragments/control-bar/control-bar-store.js +394 -81
  38. package/lib/fragments/control-bar/device/index.js +12 -3
  39. package/lib/fragments/control-bar/index.css +15 -10
  40. package/lib/fragments/control-bar/index.js +19 -1
  41. package/lib/fragments/control-bar/meeting-details/meeting-detail.css +109 -0
  42. package/lib/fragments/control-bar/meeting-details/meeting-details-portal.d.ts +3 -0
  43. package/lib/fragments/control-bar/meeting-details/meeting-details-portal.js +60 -0
  44. package/lib/fragments/control-bar/meeting-details/meeting-details.d.ts +2 -0
  45. package/lib/fragments/control-bar/meeting-details/meeting-details.js +179 -0
  46. package/lib/fragments/control-bar/more-actions/index.css +53 -0
  47. package/lib/fragments/control-bar/more-actions/index.js +77 -37
  48. package/lib/fragments/control-bar/security-content/index.css +10 -0
  49. package/lib/fragments/control-bar/security-content/index.js +43 -18
  50. package/lib/fragments/control-bar/view.js +8 -2
  51. package/lib/fragments/live-streaming/context.d.ts +0 -1
  52. package/lib/fragments/live-streaming/store.js +27 -17
  53. package/lib/fragments/share-screen-selection/context.d.ts +0 -1
  54. package/lib/fragments/share-screen-selection/selection-store.d.ts +0 -1
  55. package/lib/fragments/share-screen-selection/selection-store.js +34 -33
  56. package/lib/fragments/share-screen-selection/view.js +7 -0
  57. package/lib/fragments/toolbar/components/color-picker/components/color.js +2 -0
  58. package/lib/fragments/toolbar/components/color-picker/components/panel.js +4 -0
  59. package/lib/fragments/toolbar/components/color-picker/components/picker.js +2 -0
  60. package/lib/fragments/toolbar/components/color-picker/index.js +5 -1
  61. package/lib/fragments/toolbar/components/color-picker.js +3 -1
  62. package/lib/fragments/toolbar/components/eraser-picker.js +4 -13
  63. package/lib/fragments/toolbar/components/extension-toolbar-item.js +5 -0
  64. package/lib/fragments/toolbar/components/extra-tool-picker.js +4 -0
  65. package/lib/fragments/toolbar/components/pen-picker.js +2 -0
  66. package/lib/fragments/toolbar/components/screen-capture-picker.js +2 -0
  67. package/lib/fragments/toolbar/components/shape-picker.js +2 -0
  68. package/lib/fragments/toolbar/hooks.d.ts +1 -1
  69. package/lib/fragments/toolbar/hooks.js +13 -8
  70. package/lib/fragments/toolbar/store.d.ts +4 -4
  71. package/lib/fragments/toolbar/store.js +20 -2
  72. package/lib/fragments/toolbar/view.js +2 -0
  73. package/lib/global.d.ts +1 -0
  74. package/lib/hooks/meeting-time.d.ts +2 -2
  75. package/lib/login-confirm-dialog.d.ts +12 -0
  76. package/lib/login-confirm-dialog.js +80 -0
  77. package/lib/modules/action-bar/action-bar-collapes-items.js +14 -5
  78. package/lib/modules/action-bar/chat/index.js +6 -6
  79. package/lib/modules/action-bar/context.d.ts +0 -1
  80. package/lib/modules/action-bar/device/index.css +7 -2
  81. package/lib/modules/action-bar/device/index.d.ts +2 -2
  82. package/lib/modules/action-bar/device/index.js +6 -4
  83. package/lib/modules/action-bar/index.css +63 -12
  84. package/lib/modules/action-bar/index.d.ts +3 -2
  85. package/lib/modules/action-bar/index.dev.js +8 -7
  86. package/lib/modules/action-bar/index.js +21 -0
  87. package/lib/modules/action-bar/item-placement.d.ts +1 -2
  88. package/lib/modules/action-bar/item.js +5 -0
  89. package/lib/modules/action-bar/leave/assign-host.d.ts +3 -1
  90. package/lib/modules/action-bar/leave/assign-host.js +7 -7
  91. package/lib/modules/action-bar/leave/index.js +35 -7
  92. package/lib/modules/action-bar/leave/leave-meeting.d.ts +11 -1
  93. package/lib/modules/action-bar/leave/leave-meeting.js +25 -16
  94. package/lib/modules/action-bar/more/poppover-content.d.ts +0 -1
  95. package/lib/modules/action-bar/more/poppover-content.js +14 -4
  96. package/lib/modules/action-bar/participants/index.css +12 -0
  97. package/lib/modules/action-bar/participants/index.js +21 -14
  98. package/lib/modules/action-bar/screen-share/index.js +5 -1
  99. package/lib/modules/action-bar/screen-share/submenu.js +17 -22
  100. package/lib/modules/action-bar/security/drop-menu.js +124 -14
  101. package/lib/modules/action-bar/security/index.js +1 -1
  102. package/lib/modules/action-bar/settings/index.js +1 -1
  103. package/lib/modules/action-bar/store.d.ts +45 -21
  104. package/lib/modules/action-bar/store.js +544 -134
  105. package/lib/modules/action-bar/view.js +65 -42
  106. package/lib/modules/audio-stream/index.js +12 -6
  107. package/lib/modules/chat/chat-bar/index.js +46 -27
  108. package/lib/modules/chat/chat-select/index.css +19 -4
  109. package/lib/modules/chat/chat-select/index.d.ts +0 -1
  110. package/lib/modules/chat/chat-select/index.js +29 -3
  111. package/lib/modules/chat/chat.d.ts +2 -3
  112. package/lib/modules/chat/chat.js +210 -107
  113. package/lib/modules/chat/contex.d.ts +0 -1
  114. package/lib/modules/chat/demo-wrapper.d.ts +0 -1
  115. package/lib/modules/chat/index.css +49 -0
  116. package/lib/modules/chat/index.d.ts +3 -3
  117. package/lib/modules/chat/index.dev.js +4 -4
  118. package/lib/modules/chat/index.js +32 -11
  119. package/lib/modules/chat/message-list.js +81 -49
  120. package/lib/modules/chat/store.d.ts +50 -4
  121. package/lib/modules/chat/store.js +303 -124
  122. package/lib/modules/chat/util.js +1 -1
  123. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.js +2 -0
  124. package/lib/modules/connection-gateway/components/phone/index.js +2 -0
  125. package/lib/modules/connection-gateway/index.d.ts +3 -2
  126. package/lib/modules/connection-gateway/index.js +2 -0
  127. package/lib/modules/connection-gateway/store.d.ts +6 -4
  128. package/lib/modules/connection-gateway/store.js +46 -15
  129. package/lib/modules/device-pretest/audio-preview/microphone-detection.d.ts +1 -0
  130. package/lib/modules/device-pretest/audio-preview/microphone-detection.js +3 -2
  131. package/lib/modules/device-pretest/audio-preview/speaker-control.d.ts +0 -1
  132. package/lib/modules/device-pretest/audio-preview/speaker-control.js +1 -1
  133. package/lib/modules/device-pretest/context.d.ts +0 -1
  134. package/lib/modules/device-pretest/index.css +0 -4
  135. package/lib/modules/device-pretest/index.d.ts +0 -1
  136. package/lib/modules/device-pretest/index.js +2 -1
  137. package/lib/modules/device-pretest/settings/beauty.js +19 -6
  138. package/lib/modules/device-pretest/settings/video-effect.d.ts +0 -1
  139. package/lib/modules/device-pretest/settings/video-settings-basic.js +1 -0
  140. package/lib/modules/device-pretest/settings/virtual-background-setting.js +2 -0
  141. package/lib/modules/device-pretest/store.js +34 -19
  142. package/lib/modules/dialog/components/chat/electron.js +3 -2
  143. package/lib/modules/dialog/components/chat/index.js +1 -1
  144. package/lib/modules/dialog/components/confirm/electron.js +7 -5
  145. package/lib/modules/dialog/components/confirm/index.js +16 -2
  146. package/lib/modules/dialog/components/connection-gateway/electron.js +4 -2
  147. package/lib/modules/dialog/components/connection-gateway/index.css +0 -2
  148. package/lib/modules/dialog/components/device-setting/electron.d.ts +2 -0
  149. package/lib/modules/dialog/components/device-setting/electron.js +74 -0
  150. package/lib/modules/dialog/components/device-setting/index.css +26 -0
  151. package/lib/modules/dialog/components/device-setting/index.d.ts +4 -0
  152. package/lib/modules/dialog/components/device-setting/index.js +60 -0
  153. package/lib/modules/dialog/components/operation-waiting-room/electron.d.ts +5 -0
  154. package/lib/modules/dialog/components/operation-waiting-room/electron.js +89 -0
  155. package/lib/modules/dialog/components/operation-waiting-room/index.css +44 -0
  156. package/lib/modules/dialog/components/operation-waiting-room/index.d.ts +5 -0
  157. package/lib/modules/dialog/components/operation-waiting-room/index.js +156 -0
  158. package/lib/modules/dialog/components/participant/electron.js +8 -2
  159. package/lib/modules/dialog/components/remove-admit-waiting-room/electron.d.ts +5 -0
  160. package/lib/modules/dialog/components/remove-admit-waiting-room/electron.js +89 -0
  161. package/lib/modules/dialog/components/remove-admit-waiting-room/index.css +50 -0
  162. package/lib/modules/dialog/components/remove-admit-waiting-room/index.d.ts +5 -0
  163. package/lib/modules/dialog/components/remove-admit-waiting-room/index.js +90 -0
  164. package/lib/modules/dialog/components/share-screen-selection/index.js +1 -1
  165. package/lib/modules/dialog/components/whiteboard/index.js +2 -1
  166. package/lib/modules/dialog/context.d.ts +0 -1
  167. package/lib/modules/dialog/dialogs.d.ts +0 -2
  168. package/lib/modules/dialog/dialogs.js +62 -103
  169. package/lib/modules/dialog/index.css +7 -6
  170. package/lib/modules/dialog/index.d.ts +1 -1
  171. package/lib/modules/dialog/index.js +17 -0
  172. package/lib/modules/dialog/store.d.ts +6 -2
  173. package/lib/modules/dialog/store.js +52 -9
  174. package/lib/modules/dialog/view.js +2 -0
  175. package/lib/modules/event-notification/context.d.ts +2 -0
  176. package/lib/modules/event-notification/context.js +9 -0
  177. package/lib/modules/event-notification/index.css +58 -0
  178. package/lib/modules/event-notification/index.d.ts +13 -0
  179. package/lib/modules/event-notification/index.js +48 -0
  180. package/lib/modules/event-notification/store.d.ts +17 -0
  181. package/lib/modules/event-notification/store.js +133 -0
  182. package/lib/modules/event-notification/view.d.ts +5 -0
  183. package/lib/modules/event-notification/view.js +114 -0
  184. package/lib/modules/event-toast/context.d.ts +0 -1
  185. package/lib/modules/event-toast/store.js +16 -0
  186. package/lib/modules/invite/context.d.ts +0 -1
  187. package/lib/modules/invite/index.css +4 -4
  188. package/lib/modules/invite/index.d.ts +2 -2
  189. package/lib/modules/invite/pstn-invite.js +4 -1
  190. package/lib/modules/invite/store.d.ts +2 -2
  191. package/lib/modules/invite/store.js +27 -7
  192. package/lib/modules/invite/voip-invite.d.ts +0 -1
  193. package/lib/modules/invite/voip-invite.js +1 -1
  194. package/lib/modules/layout/components/Aside.d.ts +0 -1
  195. package/lib/modules/layout/components/Aside.js +4 -1
  196. package/lib/modules/layout/components/Carousel.js +6 -5
  197. package/lib/modules/layout/components/Gallery.js +16 -9
  198. package/lib/modules/layout/components/Layout.js +82 -57
  199. package/lib/modules/layout/components/index.css +42 -5
  200. package/lib/modules/layout/components/index.js +3 -0
  201. package/lib/modules/layout/context.d.ts +0 -1
  202. package/lib/modules/layout/index.css +30 -0
  203. package/lib/modules/layout/index.dev.js +11 -11
  204. package/lib/modules/layout/index.js +0 -6
  205. package/lib/modules/layout/member-window/index.css +5 -5
  206. package/lib/modules/layout/member-window/index.d.ts +7 -7
  207. package/lib/modules/layout/member-window/index.js +59 -13
  208. package/lib/modules/layout/store.d.ts +61 -50
  209. package/lib/modules/layout/store.js +517 -342
  210. package/lib/modules/layout/type.d.ts +2 -1
  211. package/lib/modules/layout/video-window-datasource.d.ts +14 -8
  212. package/lib/modules/layout/video-window-datasource.js +129 -78
  213. package/lib/modules/live-streaming/context.d.ts +0 -1
  214. package/lib/modules/live-streaming/index.d.ts +2 -2
  215. package/lib/modules/live-streaming/index.dev.js +5 -4
  216. package/lib/modules/live-streaming/store.d.ts +2 -2
  217. package/lib/modules/live-streaming/store.js +32 -11
  218. package/lib/modules/participant/attendee/index.d.ts +12 -3
  219. package/lib/modules/participant/attendee/index.js +142 -30
  220. package/lib/modules/participant/context.d.ts +0 -1
  221. package/lib/modules/participant/index.css +20 -0
  222. package/lib/modules/participant/index.d.ts +5 -2
  223. package/lib/modules/participant/index.dev.js +14 -12
  224. package/lib/modules/participant/index.js +27 -0
  225. package/lib/modules/participant/member-list-data-source.d.ts +3 -3
  226. package/lib/modules/participant/member-list-data-source.js +29 -3
  227. package/lib/modules/participant/room-control-drop-menu/index.css +37 -0
  228. package/lib/modules/participant/room-control-drop-menu/index.js +35 -1
  229. package/lib/modules/participant/store.d.ts +59 -34
  230. package/lib/modules/participant/store.js +541 -222
  231. package/lib/modules/participant/view.d.ts +6 -6
  232. package/lib/modules/participant/view.js +138 -34
  233. package/lib/modules/setting/audio-settings/audio-settings.js +16 -12
  234. package/lib/modules/setting/audio-settings/index.css +2 -2
  235. package/lib/modules/setting/context.d.ts +0 -1
  236. package/lib/modules/setting/general-settings/general-settings.js +2 -1
  237. package/lib/modules/setting/general-settings/index.css +2 -2
  238. package/lib/modules/setting/index.css +1 -5
  239. package/lib/modules/setting/index.d.ts +2 -2
  240. package/lib/modules/setting/index.dev.js +14 -12
  241. package/lib/modules/setting/index.js +16 -0
  242. package/lib/modules/setting/minutes-settings/index.css +65 -0
  243. package/lib/modules/setting/minutes-settings/minutes-settings.d.ts +4 -0
  244. package/lib/modules/setting/minutes-settings/minutes-settings.js +159 -0
  245. package/lib/modules/setting/state/index.css +0 -4
  246. package/lib/modules/setting/state/index.js +11 -1
  247. package/lib/modules/setting/storage-settings/storage-settings.js +1 -1
  248. package/lib/modules/setting/store.d.ts +7 -5
  249. package/lib/modules/setting/store.js +69 -46
  250. package/lib/modules/setting/translate-settings/index.css +45 -0
  251. package/lib/modules/setting/translate-settings/language-select.d.ts +12 -0
  252. package/lib/modules/setting/translate-settings/language-select.js +50 -0
  253. package/lib/modules/setting/translate-settings/translate-settings.d.ts +4 -0
  254. package/lib/modules/setting/translate-settings/translate-settings.js +139 -0
  255. package/lib/modules/setting/video-settings/index.css +15 -6
  256. package/lib/modules/setting/video-settings/video-settings-basic.js +3 -2
  257. package/lib/modules/setting/video-settings/video-settings.js +5 -1
  258. package/lib/modules/setting/view.js +34 -2
  259. package/lib/modules/share-screen/index.d.ts +4 -2
  260. package/lib/modules/share-screen/index.dev.js +17 -14
  261. package/lib/modules/share-screen/index.js +2 -0
  262. package/lib/modules/share-screen/selection/index.css +2 -0
  263. package/lib/modules/share-screen/selection/index.js +44 -6
  264. package/lib/modules/share-screen/share-state-bar/index.css +49 -11
  265. package/lib/modules/share-screen/share-state-bar/index.d.ts +0 -1
  266. package/lib/modules/share-screen/share-state-bar/index.js +51 -20
  267. package/lib/modules/share-screen/store.d.ts +23 -13
  268. package/lib/modules/share-screen/store.js +733 -606
  269. package/lib/modules/state-bar/context.d.ts +0 -1
  270. package/lib/modules/state-bar/index.css +2 -2
  271. package/lib/modules/state-bar/index.d.ts +2 -2
  272. package/lib/modules/state-bar/index.dev.js +12 -10
  273. package/lib/modules/state-bar/layout-config.js +2 -0
  274. package/lib/modules/state-bar/live-streaming-state.js +3 -0
  275. package/lib/modules/state-bar/meeting-detail.css +6 -4
  276. package/lib/modules/state-bar/meeting-details.js +29 -3
  277. package/lib/modules/state-bar/meeting-network-state.css +14 -3
  278. package/lib/modules/state-bar/meeting-network-state.js +10 -4
  279. package/lib/modules/state-bar/recording.js +9 -11
  280. package/lib/modules/state-bar/store.d.ts +7 -5
  281. package/lib/modules/state-bar/store.js +68 -8
  282. package/lib/modules/state-bar/view.js +4 -8
  283. package/lib/modules/video-window/context.d.ts +0 -1
  284. package/lib/modules/video-window/deviceState/index.d.ts +3 -3
  285. package/lib/modules/video-window/index.css +1 -0
  286. package/lib/modules/video-window/members/index.js +7 -4
  287. package/lib/modules/video-window/store.d.ts +5 -4
  288. package/lib/modules/video-window/store.js +49 -17
  289. package/lib/modules/video-window/topControl/index.js +7 -0
  290. package/lib/modules/video-window/view.js +2 -0
  291. package/lib/modules/waiting-room-layout/context.d.ts +2 -0
  292. package/lib/modules/waiting-room-layout/context.js +9 -0
  293. package/lib/modules/waiting-room-layout/index.css +71 -0
  294. package/lib/modules/waiting-room-layout/index.d.ts +8 -0
  295. package/lib/modules/waiting-room-layout/index.js +47 -0
  296. package/lib/modules/waiting-room-layout/store.d.ts +30 -0
  297. package/lib/modules/waiting-room-layout/store.js +189 -0
  298. package/lib/modules/waiting-room-layout/type.d.ts +0 -0
  299. package/lib/modules/waiting-room-layout/type.js +1 -0
  300. package/lib/modules/waiting-room-layout/view.d.ts +3 -0
  301. package/lib/modules/waiting-room-layout/view.js +67 -0
  302. package/lib/modules/whiteboard/app.js +2 -8
  303. package/lib/modules/whiteboard/components/control-bar/index.css +3 -0
  304. package/lib/modules/whiteboard/components/control-bar/store.d.ts +0 -1
  305. package/lib/modules/whiteboard/components/control-bar/store.js +29 -29
  306. package/lib/modules/whiteboard/components/loading/index.js +2 -2
  307. package/lib/modules/whiteboard/components/multi-window/index.js +8 -3
  308. package/lib/modules/whiteboard/components/pagination/store.d.ts +0 -1
  309. package/lib/modules/whiteboard/components/progress/electron.js +3 -2
  310. package/lib/modules/whiteboard/components/progress/style.css +4 -3
  311. package/lib/modules/whiteboard/components/switch-theme/index.css +4 -0
  312. package/lib/modules/whiteboard/components/switch-theme/index.d.ts +2 -1
  313. package/lib/modules/whiteboard/components/switch-theme/index.js +29 -17
  314. package/lib/modules/whiteboard/components/switch-theme/item.d.ts +1 -0
  315. package/lib/modules/whiteboard/components/switch-theme/item.js +11 -2
  316. package/lib/modules/whiteboard/components/switch-theme/libs.d.ts +2 -1
  317. package/lib/modules/whiteboard/components/switch-theme/libs.js +21 -20
  318. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/panel.js +2 -0
  319. package/lib/modules/whiteboard/components/toolbar/components/color-picker/index.js +3 -1
  320. package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +11 -9
  321. package/lib/modules/whiteboard/components/toolbar/components/extra-tool-picker.js +4 -0
  322. package/lib/modules/whiteboard/components/toolbar/components/move-handle.js +5 -0
  323. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +2 -0
  324. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +18 -12
  325. package/lib/modules/whiteboard/components/toolbar/hooks/index.d.ts +3 -3
  326. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +16 -11
  327. package/lib/modules/whiteboard/components/toolbar/index.js +9 -0
  328. package/lib/modules/whiteboard/components/toolbar/store.d.ts +8 -7
  329. package/lib/modules/whiteboard/components/toolbar/store.js +25 -4
  330. package/lib/modules/whiteboard/context.d.ts +7 -3
  331. package/lib/modules/whiteboard/context.js +6 -4
  332. package/lib/modules/whiteboard/index.d.ts +6 -8
  333. package/lib/modules/whiteboard/index.js +310 -255
  334. package/lib/modules/whiteboard/type.d.ts +4 -12
  335. package/lib/modules/whiteboard/type.js +6 -16
  336. package/lib/modules/whiteboard/utils.d.ts +1 -0
  337. package/lib/modules/whiteboard/utils.js +12 -1
  338. package/lib/plugins/browser-runtime-plugin.js +2 -1
  339. package/lib/plugins/module-dev-plugin.js +12 -10
  340. package/lib/plugins/multi-lang-plugin.d.ts +1 -5
  341. package/lib/plugins/multi-lang-plugin.js +2 -0
  342. package/lib/runtime.d.ts +3 -5
  343. package/lib/translations/enUS.d.ts +590 -0
  344. package/lib/translations/enUS.js +608 -6
  345. package/lib/translations/zhCN.d.ts +588 -0
  346. package/lib/translations/zhCN.js +604 -4
  347. package/lib/type.d.ts +6 -2
  348. package/lib/ui-manager.d.ts +7 -3
  349. package/lib/ui-manager.js +597 -143
  350. package/lib/ui-scene.d.ts +1 -0
  351. package/lib/ui-scene.js +32 -22
  352. package/lib/utilities/board-context.d.ts +0 -1
  353. package/lib/utilities/constant.d.ts +47 -5
  354. package/lib/utilities/constant.js +44 -1
  355. package/lib/utilities/copyText.js +1 -1
  356. package/lib/utilities/extract.js +26 -3
  357. package/lib/utilities/hooks.js +2 -0
  358. package/lib/utilities/parameters.js +2 -2
  359. package/lib/utilities/renderer-event.js +28 -0
  360. package/lib/utilities/renderer.d.ts +1 -0
  361. package/lib/utilities/renderer.js +15 -6
  362. package/lib/utilities/tools.js +5 -2
  363. package/lib/utilities/ui-resources.d.ts +2 -2
  364. package/lib/utilities/ui-resources.js +20 -3
  365. package/lib/utilities/video-track-render-context.d.ts +0 -1
  366. package/package.json +17 -16
  367. package/public/assets/fcr_defaultpage.png +0 -0
  368. package/public/assets/login_confirm.png +0 -0
  369. package/public/index.html +29 -11
  370. package/lib/modules/device-pretest/settings/index.css +0 -15
  371. package/lib/modules/participant/attendee/participants-more-action.d.ts +0 -18
  372. package/lib/modules/participant/attendee/participants-more-action.js +0 -275
@@ -1,8 +1,8 @@
1
1
  import { FcrDesktopMediaControl } from 'agora-edu-core';
2
- import { FcrRoomControl } from 'agora-edu-core/lib/room-control';
3
2
  import { FcrSecurityStore } from './security-store';
4
3
  import { FcrDeviceStore } from './device-store';
5
4
  import { FcrUIEventStore } from './event-store';
5
+ import { FcrBaseRoomControl } from 'agora-edu-core/lib/room-control/type';
6
6
  export declare class FcrDeviceStreamStore {
7
7
  protected logger: import("agora-foundation/lib/logger").Logger;
8
8
  private _mediaControl;
@@ -19,13 +19,14 @@ export declare class FcrDeviceStreamStore {
19
19
  private get _canStartLocalAudio();
20
20
  constructor({ mediaControl, roomControl, securityStore, deviceStore, uiEventStore, }: {
21
21
  mediaControl: FcrDesktopMediaControl;
22
- roomControl: FcrRoomControl;
22
+ roomControl: FcrBaseRoomControl;
23
23
  securityStore: FcrSecurityStore;
24
24
  deviceStore: FcrDeviceStore;
25
25
  uiEventStore: FcrUIEventStore;
26
26
  });
27
27
  enableCameraWithStream(enable: boolean): Promise<void>;
28
28
  enableMicrophoneWithStream(enable: boolean, confirmAudioShareWhileMicOff?: boolean): Promise<void>;
29
+ private _setMicrophoneEnabled;
29
30
  release(): void;
30
31
  private _initLocalStream;
31
32
  private _handleCameraChanged;
@@ -17,6 +17,22 @@ require("core-js/modules/es.object.create.js");
17
17
  require("core-js/modules/es.object.define-property.js");
18
18
  require("core-js/modules/es.object.get-own-property-descriptor.js");
19
19
  require("core-js/modules/es.string.iterator.js");
20
+ require("core-js/modules/esnext.function.metadata.js");
21
+ require("core-js/modules/esnext.map.delete-all.js");
22
+ require("core-js/modules/esnext.map.emplace.js");
23
+ require("core-js/modules/esnext.map.every.js");
24
+ require("core-js/modules/esnext.map.filter.js");
25
+ require("core-js/modules/esnext.map.find.js");
26
+ require("core-js/modules/esnext.map.find-key.js");
27
+ require("core-js/modules/esnext.map.includes.js");
28
+ require("core-js/modules/esnext.map.key-of.js");
29
+ require("core-js/modules/esnext.map.map-keys.js");
30
+ require("core-js/modules/esnext.map.map-values.js");
31
+ require("core-js/modules/esnext.map.merge.js");
32
+ require("core-js/modules/esnext.map.reduce.js");
33
+ require("core-js/modules/esnext.map.some.js");
34
+ require("core-js/modules/esnext.map.update.js");
35
+ require("core-js/modules/esnext.symbol.metadata.js");
20
36
  require("core-js/modules/web.dom-collections.iterator.js");
21
37
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
22
38
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -27,17 +43,20 @@ exports.FcrDeviceStreamStore = void 0;
27
43
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
28
44
  require("core-js/modules/es.array.find.js");
29
45
  require("core-js/modules/es.object.to-string.js");
46
+ require("core-js/modules/esnext.async-iterator.find.js");
47
+ require("core-js/modules/esnext.iterator.constructor.js");
48
+ require("core-js/modules/esnext.iterator.find.js");
30
49
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
31
50
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
32
51
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
33
52
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
34
53
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
35
- var _type = require("agora-edu-core/lib/type");
54
+ var _agoraEduCore = require("agora-edu-core");
36
55
  var _decorator = require("agora-foundation/lib/decorator");
37
56
  var _mobx = require("mobx");
38
57
  var _toast = require("agora-ui-foundation/lib/components/toast");
39
- var _type2 = require("agora-rte-sdk/lib/core/scene/type");
40
- var _type3 = require("agora-rte-sdk/lib/core/rtc/type");
58
+ var _type = require("agora-rte-sdk/lib/core/scene/type");
59
+ var _type2 = require("agora-rte-sdk/lib/core/rtc/type");
41
60
  var _logger = require("agora-foundation/lib/logger");
42
61
  var _i18n = require("agora-ui-foundation/lib/i18n");
43
62
  var _rendererEvent = require("../utilities/renderer-event");
@@ -76,7 +95,7 @@ var FcrDeviceStreamStore = exports.FcrDeviceStreamStore = /*#__PURE__*/function
76
95
  onStreamsAdded: function onStreamsAdded(_, e) {
77
96
  var _e$find;
78
97
  var localCameraStream = (_e$find = e.find(function (event) {
79
- return event.modifiedStream.owner.userId === _this._localUser.userId && event.modifiedStream.videoSourceType === _type3.AgoraRtcVideoSourceType.CAMERA;
98
+ return event.modifiedStream.owner.userId === _this._localUser.userId && event.modifiedStream.videoSourceType === _type2.AgoraRtcVideoSourceType.CAMERA;
80
99
  })) === null || _e$find === void 0 ? void 0 : _e$find.modifiedStream;
81
100
  if (localCameraStream) {
82
101
  _this._bindLocalAudioStream();
@@ -86,10 +105,10 @@ var FcrDeviceStreamStore = exports.FcrDeviceStreamStore = /*#__PURE__*/function
86
105
  onStreamsUpdated: function onStreamsUpdated(_, e) {
87
106
  var _e$find2;
88
107
  var localCameraStream = (_e$find2 = e.find(function (event) {
89
- return event.modifiedStream.owner.userId === _this._localUser.userId && event.modifiedStream.videoSourceType === _type3.AgoraRtcVideoSourceType.CAMERA;
108
+ return event.modifiedStream.owner.userId === _this._localUser.userId && event.modifiedStream.videoSourceType === _type2.AgoraRtcVideoSourceType.CAMERA;
90
109
  })) === null || _e$find2 === void 0 ? void 0 : _e$find2.modifiedStream;
91
110
  if (localCameraStream) {
92
- if (localCameraStream.streamType === _type2.AgoraRteMediaStreamType.AUDIO || localCameraStream.streamType === _type2.AgoraRteMediaStreamType.NONE) {
111
+ if (localCameraStream.streamType === _type.AgoraRteMediaStreamType.AUDIO || localCameraStream.streamType === _type.AgoraRteMediaStreamType.NONE) {
93
112
  if (_this._deviceStore.cameraEnabled) {
94
113
  _this._deviceStore.setCameraEnabled(false);
95
114
  _toast.FcrToastApi.open({
@@ -100,7 +119,7 @@ var FcrDeviceStreamStore = exports.FcrDeviceStreamStore = /*#__PURE__*/function
100
119
  });
101
120
  }
102
121
  }
103
- if (localCameraStream.streamType === _type2.AgoraRteMediaStreamType.VIDEO || localCameraStream.streamType === _type2.AgoraRteMediaStreamType.NONE) {
122
+ if (localCameraStream.streamType === _type.AgoraRteMediaStreamType.VIDEO || localCameraStream.streamType === _type.AgoraRteMediaStreamType.NONE) {
104
123
  if (_this._deviceStore.microphoneEnabled) {
105
124
  _this._deviceStore.setMicrophoneEnabled(false);
106
125
  _toast.FcrToastApi.open({
@@ -135,7 +154,7 @@ var FcrDeviceStreamStore = exports.FcrDeviceStreamStore = /*#__PURE__*/function
135
154
  get: function get() {
136
155
  var localStreams = this._roomControl.getStreamControl().getStreamsByUserId(this._localUser.userId);
137
156
  return localStreams.find(function (stream) {
138
- return stream.videoSourceType === _type3.AgoraRtcVideoSourceType.CAMERA;
157
+ return stream.videoSourceType === _type2.AgoraRtcVideoSourceType.CAMERA;
139
158
  });
140
159
  }
141
160
  }, {
@@ -143,23 +162,23 @@ var FcrDeviceStreamStore = exports.FcrDeviceStreamStore = /*#__PURE__*/function
143
162
  get: function get() {
144
163
  var localStreams = this._roomControl.getStreamControl().getStreamsByUserId(this._localUser.userId);
145
164
  return localStreams.find(function (stream) {
146
- return stream.audioSourceType === _type3.AgoraRtcAudioSourceType.LOOPBACK;
165
+ return stream.audioSourceType === _type2.AgoraRtcAudioSourceType.LOOPBACK;
147
166
  });
148
167
  }
149
168
  }, {
150
169
  key: "_canStartLocalVideo",
151
170
  get: function get() {
152
- return this._securityStore.hasStartVideoPermission(_type.FcrPrivilegeUserRole.SELF);
171
+ return this._securityStore.hasStartVideoPermission(_agoraEduCore.FcrPrivilegeUserRole.SELF);
153
172
  }
154
173
  }, {
155
174
  key: "_canStartLocalAudio",
156
175
  get: function get() {
157
- return this._securityStore.hasUnmutePermission(_type.FcrPrivilegeUserRole.SELF);
176
+ return this._securityStore.hasUnmutePermission(_agoraEduCore.FcrPrivilegeUserRole.SELF);
158
177
  }
159
178
  }, {
160
179
  key: "enableCameraWithStream",
161
180
  value: function () {
162
- var _enableCameraWithStream = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(enable) {
181
+ var _enableCameraWithStream = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(enable) {
163
182
  return _regenerator["default"].wrap(function _callee$(_context) {
164
183
  while (1) switch (_context.prev = _context.next) {
165
184
  case 0:
@@ -185,14 +204,14 @@ var FcrDeviceStreamStore = exports.FcrDeviceStreamStore = /*#__PURE__*/function
185
204
  _context.next = 9;
186
205
  break;
187
206
  }
188
- if (!(this._localCameraStream.streamType === _type.FcrStreamType.NONE || this._localCameraStream.streamType === _type.FcrStreamType.AUDIO)) {
207
+ if (!(this._localCameraStream.streamType === _agoraEduCore.FcrStreamType.NONE || this._localCameraStream.streamType === _agoraEduCore.FcrStreamType.AUDIO)) {
189
208
  _context.next = 9;
190
209
  break;
191
210
  }
192
211
  _context.next = 9;
193
212
  return this._roomControl.getStreamControl().updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, this._localCameraStream.streamId, {
194
- videoPrivilege: _type.FcrStreamPrivilegeOperation.HAS_PRIVILEGE,
195
- audioPrivilege: _type.FcrStreamPrivilegeOperation.NOOPERATION
213
+ videoPrivilege: _agoraEduCore.FcrStreamPrivilegeOperation.HAS_PRIVILEGE,
214
+ audioPrivilege: _agoraEduCore.FcrStreamPrivilegeOperation.NOOPERATION
196
215
  }));
197
216
  case 9:
198
217
  this._deviceStore.setCameraEnabled(enable);
@@ -210,7 +229,7 @@ var FcrDeviceStreamStore = exports.FcrDeviceStreamStore = /*#__PURE__*/function
210
229
  }, {
211
230
  key: "enableMicrophoneWithStream",
212
231
  value: function () {
213
- var _enableMicrophoneWithStream = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(enable) {
232
+ var _enableMicrophoneWithStream = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(enable) {
214
233
  var _this2 = this;
215
234
  var confirmAudioShareWhileMicOff,
216
235
  dialogKey,
@@ -218,86 +237,89 @@ var FcrDeviceStreamStore = exports.FcrDeviceStreamStore = /*#__PURE__*/function
218
237
  return _regenerator["default"].wrap(function _callee2$(_context2) {
219
238
  while (1) switch (_context2.prev = _context2.next) {
220
239
  case 0:
221
- confirmAudioShareWhileMicOff = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : true;
222
- if (this._deviceStore.microphoneId) {
223
- _context2.next = 3;
224
- break;
225
- }
226
- return _context2.abrupt("return");
227
- case 3:
228
- if (!(enable && !this._canStartLocalAudio)) {
229
- _context2.next = 6;
230
- break;
231
- }
232
- _toast.FcrToastApi.open({
233
- toastProps: {
234
- type: 'warn',
235
- content: (0, _i18n.transI18n)('fmt_uimanager_tips_norightsaudio')
236
- }
237
- });
238
- return _context2.abrupt("return");
239
- case 6:
240
- if (!(confirmAudioShareWhileMicOff && !enable && this._localLoopbackStream)) {
241
- _context2.next = 9;
242
- break;
243
- }
244
- dialogKey = this._uiEventStore.openConfirmDialog({
240
+ confirmAudioShareWhileMicOff = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : false;
241
+ dialogKey = !enable && confirmAudioShareWhileMicOff && this._uiEventStore.openConfirmDialog({
245
242
  title: (0, _i18n.transI18n)('fmt_screenshare_tips_share_audio_micon'),
246
- content: (0, _i18n.transI18n)('fmt_screenshare_tips_sharing_audio_keep_on'),
247
- cancelText: (0, _i18n.transI18n)('fmt_screenshare_tips_sharing_audio_cancel'),
248
- okText: (0, _i18n.transI18n)('fmt_screenshare_tips_sharing_audio_confirm'),
249
- closable: false,
250
- cancelButtonProps: {
251
- type: 'primary',
252
- shape: 'rounded',
253
- styleType: 'danger'
254
- },
255
- okButtonProps: {
256
- type: 'primary',
257
- shape: 'rounded'
258
- },
259
- closeIcon: null,
243
+ content: (0, _i18n.transI18n)('fmt_screenshare_tips_share_audio_turnonmic'),
260
244
  onOk: function onOk() {
261
- _this2._uiEventStore.closeDialog(dialogKey);
245
+ _this2._setMicrophoneEnabled(true);
246
+ dialogKey && _this2._uiEventStore.closeDialog(dialogKey);
262
247
  },
263
248
  onCancel: function onCancel() {
264
- _this2.enableMicrophoneWithStream(false, false);
249
+ _this2._setMicrophoneEnabled(false);
265
250
  (0, _rendererEvent.sendEvent)({
266
251
  action: _constant.RendererEventAction.SET_SHARE_WITH_AUDIO_CONTROL_BAR,
267
252
  payload: {
268
253
  withAudio: false
269
254
  }
270
255
  });
271
- _this2._uiEventStore.closeDialog(dialogKey);
272
- }
256
+ dialogKey && _this2._uiEventStore.closeDialog(dialogKey);
257
+ },
258
+ okText: (0, _i18n.transI18n)('fmt_screenshare_button_confirm_shareaudio'),
259
+ cancelText: (0, _i18n.transI18n)('fmt_screenshare_button_giveup_shareaudio')
273
260
  });
261
+ if (!(!this._deviceStore.microphoneId || dialogKey)) {
262
+ _context2.next = 4;
263
+ break;
264
+ }
274
265
  return _context2.abrupt("return");
275
- case 9:
266
+ case 4:
267
+ this._setMicrophoneEnabled(enable);
268
+ case 5:
269
+ case "end":
270
+ return _context2.stop();
271
+ }
272
+ }, _callee2, this);
273
+ }));
274
+ function enableMicrophoneWithStream(_x2) {
275
+ return _enableMicrophoneWithStream.apply(this, arguments);
276
+ }
277
+ return enableMicrophoneWithStream;
278
+ }()
279
+ }, {
280
+ key: "_setMicrophoneEnabled",
281
+ value: function () {
282
+ var _setMicrophoneEnabled2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(enable) {
283
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
284
+ while (1) switch (_context3.prev = _context3.next) {
285
+ case 0:
286
+ if (!(enable && !this._canStartLocalAudio)) {
287
+ _context3.next = 3;
288
+ break;
289
+ }
290
+ _toast.FcrToastApi.open({
291
+ toastProps: {
292
+ type: 'warn',
293
+ content: (0, _i18n.transI18n)('fmt_uimanager_tips_norightsaudio')
294
+ }
295
+ });
296
+ return _context3.abrupt("return");
297
+ case 3:
276
298
  if (!(this._localCameraStream && enable)) {
277
- _context2.next = 13;
299
+ _context3.next = 7;
278
300
  break;
279
301
  }
280
- if (!(this._localCameraStream.streamType === _type.FcrStreamType.NONE || this._localCameraStream.streamType === _type.FcrStreamType.VIDEO)) {
281
- _context2.next = 13;
302
+ if (!(this._localCameraStream.streamType === _agoraEduCore.FcrStreamType.NONE || this._localCameraStream.streamType === _agoraEduCore.FcrStreamType.VIDEO)) {
303
+ _context3.next = 7;
282
304
  break;
283
305
  }
284
- _context2.next = 13;
306
+ _context3.next = 7;
285
307
  return this._roomControl.getStreamControl().updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, this._localCameraStream.streamId, {
286
- videoPrivilege: _type.FcrStreamPrivilegeOperation.NOOPERATION,
287
- audioPrivilege: _type.FcrStreamPrivilegeOperation.HAS_PRIVILEGE
308
+ videoPrivilege: _agoraEduCore.FcrStreamPrivilegeOperation.NOOPERATION,
309
+ audioPrivilege: _agoraEduCore.FcrStreamPrivilegeOperation.HAS_PRIVILEGE
288
310
  }));
289
- case 13:
311
+ case 7:
290
312
  this._deviceStore.setMicrophoneEnabled(enable);
291
- case 14:
313
+ case 8:
292
314
  case "end":
293
- return _context2.stop();
315
+ return _context3.stop();
294
316
  }
295
- }, _callee2, this);
317
+ }, _callee3, this);
296
318
  }));
297
- function enableMicrophoneWithStream(_x2) {
298
- return _enableMicrophoneWithStream.apply(this, arguments);
319
+ function _setMicrophoneEnabled(_x3) {
320
+ return _setMicrophoneEnabled2.apply(this, arguments);
299
321
  }
300
- return enableMicrophoneWithStream;
322
+ return _setMicrophoneEnabled;
301
323
  }()
302
324
  }, {
303
325
  key: "release",
@@ -1,12 +1,13 @@
1
- /// <reference types="react" />
2
1
  import { DialogKey, UIAction } from '../utilities/constant';
3
- import { FcrChatRoomReceiveBaseMessage, FcrUserInfo } from 'agora-edu-core/lib/type';
2
+ import { FcrUserInfo } from 'agora-edu-core/lib/type';
4
3
  import { DeviceSettingDialogConfig, CustomSetting } from '../modules/setting/store';
5
4
  import { FcrUIExitReason } from '../type';
6
5
  import { ToastSize } from 'agora-ui-foundation/lib/components/toast';
7
6
  import { FcrIconType } from 'agora-ui-foundation/lib/components/icon/type';
8
7
  import { ButtonType } from 'agora-ui-foundation/lib/components/button';
9
8
  import { ConfirmContentProps } from 'agora-ui-foundation/lib/components/confirm-content';
9
+ import { FcrChatRoomReceiveBaseMessage } from 'agora-edu-core/lib/room-control/chatroom-control/type';
10
+ import React from 'react';
10
11
  export interface FcrUIDialogParams {
11
12
  dialogKey: DialogKey;
12
13
  dialogId: string;
@@ -20,6 +21,16 @@ export interface FcrUIToastParams {
20
21
  size?: ToastSize;
21
22
  customRootClass?: string;
22
23
  }
24
+ export declare enum NotificationContentType {
25
+ WAITING_ROOM = "WAITING_ROOM"
26
+ }
27
+ export interface FcrNotificationParams {
28
+ duration?: number;
29
+ placement: 'top' | 'topLeft' | 'topRight' | 'bottom' | 'bottomLeft' | 'bottomRight';
30
+ type: NotificationContentType;
31
+ onOk?: () => void;
32
+ onClose?: () => void;
33
+ }
23
34
  export interface FcrUIConfirmDialogParams {
24
35
  title: string;
25
36
  content: React.ReactNode;
@@ -44,9 +55,11 @@ export interface FcrUIUpdateAsideParams {
44
55
  export interface FcrUINewChatMessagesParams {
45
56
  latestMessage: FcrChatRoomReceiveBaseMessage;
46
57
  count: number;
58
+ type: string;
47
59
  }
48
60
  export interface FcrUIToggleLayoutParams {
49
61
  layout: 'speaker' | 'gallery';
62
+ manual?: boolean;
50
63
  }
51
64
  export interface FcrUIToggleLayoutSizeParams {
52
65
  size: 16 | 25;
@@ -81,6 +94,8 @@ export declare class FcrUIEventStore {
81
94
  private _observable;
82
95
  sendEvent(action: UIAction, payload?: unknown): void;
83
96
  showToast(params: FcrUIToastParams): void;
97
+ showNotification(params: FcrNotificationParams): void;
98
+ closeNotification(key: NotificationContentType): void;
84
99
  showChatToast(params: FcrUIToastParams): void;
85
100
  openConfirmDialog(params: ConfirmContentProps & {
86
101
  height?: number;
@@ -105,8 +120,10 @@ export declare class FcrUIEventStore {
105
120
  stopLiveStreaming(): void;
106
121
  openInviteDialog(): void;
107
122
  closeInviteDialog(): void;
123
+ closeWaitingRoomDialog(): void;
124
+ closeRemoveAdmitWaitingRoomDialog(dialogKey: DialogKey): void;
108
125
  closeConfirmDialog(): void;
109
- exitRoom(reason: FcrUIExitReason): void;
126
+ exitRoom(reason: FcrUIExitReason, roomType: number): void;
110
127
  cloudRecording(action: FcrCloudRecordingParams['action']): void;
111
128
  notifySpotlightStreamChanged(params: FcrSpotlightStreamChangedParams): void;
112
129
  notifyCustomSettingsChanged(settings: CustomSetting): void;
@@ -10,12 +10,17 @@ require("core-js/modules/es.object.get-own-property-descriptor.js");
10
10
  require("core-js/modules/es.object.get-own-property-descriptors.js");
11
11
  require("core-js/modules/es.object.keys.js");
12
12
  require("core-js/modules/es.object.to-string.js");
13
+ require("core-js/modules/esnext.async-iterator.filter.js");
14
+ require("core-js/modules/esnext.async-iterator.for-each.js");
15
+ require("core-js/modules/esnext.iterator.constructor.js");
16
+ require("core-js/modules/esnext.iterator.filter.js");
17
+ require("core-js/modules/esnext.iterator.for-each.js");
13
18
  require("core-js/modules/web.dom-collections.for-each.js");
14
19
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
15
20
  Object.defineProperty(exports, "__esModule", {
16
21
  value: true
17
22
  });
18
- exports.FcrUIEventStore = void 0;
23
+ exports.NotificationContentType = exports.FcrUIEventStore = void 0;
19
24
  require("core-js/modules/es.array.concat.js");
20
25
  require("core-js/modules/es.date.now.js");
21
26
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
@@ -27,6 +32,10 @@ var _logger = require("agora-foundation/lib/logger");
27
32
  var _chat = require("../modules/chat");
28
33
  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; }
29
34
  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; }
35
+ var NotificationContentType = exports.NotificationContentType = /*#__PURE__*/function (NotificationContentType) {
36
+ NotificationContentType["WAITING_ROOM"] = "WAITING_ROOM";
37
+ return NotificationContentType;
38
+ }({});
30
39
  var FcrUIEventStore = exports.FcrUIEventStore = /*#__PURE__*/function () {
31
40
  function FcrUIEventStore() {
32
41
  (0, _classCallCheck2["default"])(this, FcrUIEventStore);
@@ -36,14 +45,32 @@ var FcrUIEventStore = exports.FcrUIEventStore = /*#__PURE__*/function () {
36
45
  return (0, _createClass2["default"])(FcrUIEventStore, [{
37
46
  key: "sendEvent",
38
47
  value: function sendEvent(action, payload) {
39
- this.logger.debug('[FcrUIEventStore] sendEvent', _constant.UIAction[action], payload);
40
- this._observable.notifyObservers('onEvent', action, payload);
48
+ var start = Date.now();
49
+ try {
50
+ this._observable.notifyObservers('onEvent', action, payload);
51
+ } finally {
52
+ var end = Date.now();
53
+ var time = end - start;
54
+ if (time >= 10) {
55
+ this.logger.warn("[FcrUIEventStore] sendEvent ".concat(_constant.UIAction[action], ", payload: ").concat(payload, ", handlers took: ").concat(end - start, "ms"));
56
+ }
57
+ }
41
58
  }
42
59
  }, {
43
60
  key: "showToast",
44
61
  value: function showToast(params) {
45
62
  this.sendEvent(_constant.UIAction.SHOW_TOAST, params);
46
63
  }
64
+ }, {
65
+ key: "showNotification",
66
+ value: function showNotification(params) {
67
+ this.sendEvent(_constant.UIAction.SHOW_NOTIFICATION, params);
68
+ }
69
+ }, {
70
+ key: "closeNotification",
71
+ value: function closeNotification(key) {
72
+ this.sendEvent(_constant.UIAction.COLSE_NOTIFICATION, key);
73
+ }
47
74
  }, {
48
75
  key: "showChatToast",
49
76
  value: function showChatToast(params) {
@@ -179,6 +206,16 @@ var FcrUIEventStore = exports.FcrUIEventStore = /*#__PURE__*/function () {
179
206
  value: function closeInviteDialog() {
180
207
  this.sendEvent(_constant.UIAction.CLOSE_INVITE_DIALOG);
181
208
  }
209
+ }, {
210
+ key: "closeWaitingRoomDialog",
211
+ value: function closeWaitingRoomDialog() {
212
+ this.sendEvent(_constant.UIAction.CLOSE_WAITING_ROOM_DIALOG);
213
+ }
214
+ }, {
215
+ key: "closeRemoveAdmitWaitingRoomDialog",
216
+ value: function closeRemoveAdmitWaitingRoomDialog(dialogKey) {
217
+ this.sendEvent(_constant.UIAction.CLOSE_REMOVE_ADMIT_WAITING_ROOM_DIALOG, dialogKey);
218
+ }
182
219
  }, {
183
220
  key: "closeConfirmDialog",
184
221
  value: function closeConfirmDialog() {
@@ -186,9 +223,10 @@ var FcrUIEventStore = exports.FcrUIEventStore = /*#__PURE__*/function () {
186
223
  }
187
224
  }, {
188
225
  key: "exitRoom",
189
- value: function exitRoom(reason) {
226
+ value: function exitRoom(reason, roomType) {
190
227
  this.sendEvent(_constant.UIAction.EXIT_ROOM, {
191
- reason: reason
228
+ reason: reason,
229
+ roomType: roomType
192
230
  });
193
231
  }
194
232
  }, {
@@ -1,9 +1,9 @@
1
1
  import { FcrPrivilegeControl, FcrStreamControl, FcrUserControl } from 'agora-edu-core';
2
- import { FcrRoomSessionControl } from 'agora-edu-core/lib/room-control/room-session';
3
- import { FcrPermissionAction, FcrPermissionInfo, FcrPrivilegeUserRole, FcrSecurityInfo, FcrSecuritySendChatPayload, FcrUserRole, FcrUserInfo } from 'agora-edu-core/lib/type';
2
+ import { FcrUserRole, FcrUserInfo, FcrLineType } from 'agora-edu-core/lib/type';
4
3
  import { FcrUIEventStore } from './event-store';
5
4
  import { FcrSharePermissionState } from 'agora-edu-core/lib/room-control/whiteboard-control/enums';
6
- import { FcrSharePermissionProps } from 'agora-edu-core/lib/type';
5
+ import { FcrRoomSessionControl } from 'agora-edu-core/lib/room-control/room-session/type';
6
+ import { FcrPermissionAction, FcrPermissionInfo, FcrPrivilegeUserRole, FcrSecurityInfo, FcrSecuritySendChatPayload } from 'agora-edu-core/lib/room-control/privilege-control/type';
7
7
  export type FcrSecuritySendChatOriginalPayload = {
8
8
  public: 0 | 1;
9
9
  private: {
@@ -20,8 +20,9 @@ export declare class FcrSecurityStore {
20
20
  private _uiEventStore;
21
21
  protected logger: import("agora-foundation/lib/logger").Logger;
22
22
  private _disposers;
23
+ private _prevWaterMarkEnable;
23
24
  accessor securityInfos: FcrSecurityInfo[];
24
- accessor permissionInfos: FcrPermissionInfo[];
25
+ accessor permissionInfos: FcrPermissionInfo[] | undefined;
25
26
  accessor privilegeOperator: FcrUserInfo | undefined;
26
27
  accessor boardOwnerUser: FcrUserInfo | undefined;
27
28
  constructor(_privilegeControl: FcrPrivilegeControl, _userControl: FcrUserControl, _streamControl: FcrStreamControl, _roomSessionControl: FcrRoomSessionControl, _uiEventStore: FcrUIEventStore);
@@ -29,6 +30,7 @@ export declare class FcrSecurityStore {
29
30
  get localUser(): FcrUserInfo;
30
31
  allowChangeSelfName: () => boolean;
31
32
  allowChat: () => boolean;
33
+ getWaterMarkContent: () => string;
32
34
  convertSendChatPayload: (payload: FcrSecuritySendChatOriginalPayload) => FcrSecuritySendChatPayload;
33
35
  allowedAllChat: () => boolean | undefined;
34
36
  allowedPublicChatAndDisallowedPrivateChat: () => boolean | undefined;
@@ -42,6 +44,8 @@ export declare class FcrSecurityStore {
42
44
  allowUnmuteSelfAudio: () => boolean;
43
45
  isLockRoomEnabled: () => boolean;
44
46
  isWaitingRoomEnabled: () => boolean;
47
+ isWaterMarkEnabled: () => boolean;
48
+ hasWaitingRoomPermission: (role?: FcrPrivilegeUserRole | FcrUserRole) => boolean;
45
49
  hasMutePermission: (targetRole: FcrPrivilegeUserRole | FcrUserRole) => boolean;
46
50
  hasUnmutePermission: (targetRole: FcrPrivilegeUserRole | FcrUserRole) => boolean;
47
51
  hasRequestStartAudioPermission: (targetRole: FcrPrivilegeUserRole | FcrUserRole) => boolean;
@@ -58,6 +62,7 @@ export declare class FcrSecurityStore {
58
62
  hasCallSplitPermission(): boolean;
59
63
  hasStartScreenSharePermission: () => boolean;
60
64
  hasChatSendPublicPermission: () => boolean;
65
+ hasChatSendPublicPermissionByTargetRole: (targetRole: FcrPrivilegeUserRole | FcrUserRole) => boolean;
61
66
  hasPermissionToSendPrivateMessage: (targetRole: FcrPrivilegeUserRole | FcrUserRole) => boolean;
62
67
  hasPermissionToControlAllowSendAll: () => boolean;
63
68
  hasPermissionToControlDisallowSendAll: () => boolean;
@@ -74,6 +79,8 @@ export declare class FcrSecurityStore {
74
79
  hasEnableJoinWithAudioPermission: () => boolean;
75
80
  hasEnableStartScreenSharePermission: () => boolean;
76
81
  hasLockRoomPermission: () => boolean;
82
+ hasWatermarkEnablePermission: () => boolean;
83
+ hasWatermarkDisablePermission: () => boolean;
77
84
  hasEndRoomPermission(): boolean;
78
85
  hasAssignHostBeforeLeavingPermission(role: FcrPrivilegeUserRole | FcrUserRole): boolean;
79
86
  hasStartBoardPermission(): boolean;
@@ -84,19 +91,11 @@ export declare class FcrSecurityStore {
84
91
  hasAllowWriteBoardPermission(): boolean;
85
92
  hasDisallowWriteBoardPermission(): boolean;
86
93
  hasAllowScreenShareAndBoardPermission(): boolean;
94
+ hasAllowWaterMarkPermission(): boolean;
95
+ isMulti: () => boolean;
87
96
  getAllowedOperations(targetUserRole: FcrUserRole, isSelf: boolean): string[];
88
- allowShare(enable: FcrSharePermissionState, payload?: Pick<FcrSharePermissionProps, 'screen'>): Promise<{
89
- msg: string;
90
- data: Record<string, FcrSharePermissionProps>;
91
- code: number;
92
- ts: number;
93
- }>;
94
- setAllowWriteBoard(state: FcrSharePermissionState, payload?: Pick<FcrSharePermissionProps, 'board'>): Promise<{
95
- msg: string;
96
- data: Record<string, FcrSharePermissionProps>;
97
- code: number;
98
- ts: number;
99
- }>;
97
+ allowShare(state: FcrSharePermissionState): Promise<void>;
98
+ setAllowWriteBoard(state: FcrSharePermissionState): Promise<void>;
100
99
  muteAll: () => void;
101
100
  unmuteAll: () => void;
102
101
  setLockRoomEnabled: (enable: boolean) => void;
@@ -120,4 +119,5 @@ export declare class FcrSecurityStore {
120
119
  private _handleProcessEvent;
121
120
  private _addReactions;
122
121
  private _removeReactions;
122
+ setAllowWaterMark(state: boolean, lineType?: FcrLineType): Promise<void>;
123
123
  }