fcr-ui-scene 3.4.5 → 3.5.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 (421) hide show
  1. package/lib/base.js +4 -1
  2. package/lib/creator.d.ts +4 -1
  3. package/lib/creator.js +66 -3
  4. package/lib/electron/app.js +0 -3
  5. package/lib/electron/bootstrap-dev.js +2 -0
  6. package/lib/electron/bootstrap-sdk.js +2 -0
  7. package/lib/electron/main.js +14 -3
  8. package/lib/electron/plugins/devtool-shortcut.js +5 -0
  9. package/lib/electron/plugins/screenshot.js +4 -1
  10. package/lib/modules/action-bar/components/apps/app-item/index.css +3 -3
  11. package/lib/modules/action-bar/components/apps/app-item/index.js +35 -24
  12. package/lib/modules/action-bar/components/apps/app-list.d.ts +3 -0
  13. package/lib/modules/action-bar/components/apps/app-list.js +45 -0
  14. package/lib/modules/action-bar/components/apps/index.css +1 -0
  15. package/lib/modules/action-bar/components/apps/index.js +7 -4
  16. package/lib/modules/action-bar/components/apps/useAppItemOptions.d.ts +10 -2
  17. package/lib/modules/action-bar/components/apps/useAppItemOptions.js +10 -6
  18. package/lib/modules/action-bar/components/apps/useBeautyBackground.d.ts +1 -1
  19. package/lib/modules/action-bar/components/apps/useBeautyBackground.js +2 -2
  20. package/lib/modules/action-bar/components/apps/useInterpreter.d.ts +1 -1
  21. package/lib/modules/action-bar/components/apps/useInterpreter.js +6 -6
  22. package/lib/modules/action-bar/components/apps/useLiveStreaming.d.ts +1 -1
  23. package/lib/modules/action-bar/components/apps/useLiveStreaming.js +2 -2
  24. package/lib/modules/action-bar/components/apps/useWidgetList.d.ts +10 -0
  25. package/lib/modules/action-bar/components/apps/useWidgetList.js +38 -0
  26. package/lib/modules/action-bar/components/chat/index.css +8 -0
  27. package/lib/modules/action-bar/components/chat/index.js +2 -1
  28. package/lib/modules/action-bar/components/collapse/index.d.ts +8 -6
  29. package/lib/modules/action-bar/components/collapse/index.js +60 -74
  30. package/lib/modules/action-bar/components/interpreter/index.js +3 -3
  31. package/lib/modules/action-bar/components/item/index.js +1 -1
  32. package/lib/modules/action-bar/components/more/index.js +13 -7
  33. package/lib/modules/action-bar/components/notification-bar/index.d.ts +1 -1
  34. package/lib/modules/action-bar/components/notification-bar/index.js +13 -6
  35. package/lib/modules/action-bar/components/participants/index.js +1 -1
  36. package/lib/modules/action-bar/components/screen-share/index.js +1 -1
  37. package/lib/modules/action-bar/components/screen-share/submenu.js +55 -18
  38. package/lib/modules/action-bar/components/security/index.js +8 -2
  39. package/lib/modules/action-bar/components/trigger-output-language/index.js +68 -55
  40. package/lib/modules/action-bar/components/trigger-subscribe-language/index.js +35 -18
  41. package/lib/modules/action-bar/index.css +8 -0
  42. package/lib/modules/action-bar/index.d.ts +8 -0
  43. package/lib/modules/action-bar/index.js +6 -3
  44. package/lib/modules/action-bar/store.d.ts +37 -22
  45. package/lib/modules/action-bar/store.js +275 -375
  46. package/lib/modules/action-bar/types.d.ts +8 -13
  47. package/lib/modules/action-bar/view.js +3 -8
  48. package/lib/modules/audio-stream/index.d.ts +6 -1
  49. package/lib/modules/audio-stream/index.js +77 -11
  50. package/lib/modules/chat/chat-room-store.d.ts +4 -7
  51. package/lib/modules/chat/chat-room-store.js +39 -62
  52. package/lib/modules/chat/components/chat-action/index.js +2 -2
  53. package/lib/modules/chat/components/chat-bar/index.css +4 -0
  54. package/lib/modules/chat/components/chat-bar/index.d.ts +1 -1
  55. package/lib/modules/chat/components/chat-bar/index.js +18 -16
  56. package/lib/modules/chat/components/chat-select/index.js +16 -147
  57. package/lib/modules/chat/components/chat-select/select-input/index.d.ts +7 -0
  58. package/lib/modules/chat/components/chat-select/select-input/index.js +35 -0
  59. package/lib/modules/chat/components/chat-select/select-item/index.d.ts +12 -0
  60. package/lib/modules/chat/components/chat-select/select-item/index.js +153 -0
  61. package/lib/modules/chat/components/chat-tabs/index.d.ts +2 -0
  62. package/lib/modules/chat/components/chat-tabs/index.js +61 -0
  63. package/lib/modules/chat/components/message-list/chat-empty/index.d.ts +2 -0
  64. package/lib/modules/chat/components/message-list/chat-empty/index.js +26 -0
  65. package/lib/modules/chat/components/message-list/history-unread-message-button/index.d.ts +7 -0
  66. package/lib/modules/chat/components/message-list/history-unread-message-button/index.js +55 -0
  67. package/lib/modules/chat/components/message-list/index.d.ts +1 -1
  68. package/lib/modules/chat/components/message-list/index.js +55 -359
  69. package/lib/modules/chat/components/message-list/message-item/index.d.ts +15 -0
  70. package/lib/modules/chat/components/message-list/message-item/index.js +309 -0
  71. package/lib/modules/chat/components/message-list/scroll-bottom-button/index.d.ts +9 -0
  72. package/lib/modules/chat/components/message-list/scroll-bottom-button/index.js +67 -0
  73. package/lib/modules/chat/index.css +9 -0
  74. package/lib/modules/chat/index.d.ts +6 -0
  75. package/lib/modules/chat/index.js +4 -1
  76. package/lib/modules/chat/store.d.ts +17 -7
  77. package/lib/modules/chat/store.js +75 -72
  78. package/lib/modules/chat/types.d.ts +7 -7
  79. package/lib/modules/chat/types.js +2 -1
  80. package/lib/modules/chat/view.js +22 -102
  81. package/lib/modules/components/device-control/store.d.ts +4 -3
  82. package/lib/modules/components/device-control/store.js +13 -24
  83. package/lib/modules/components/leave-meeting/components/assign-host.js +17 -2
  84. package/lib/modules/components/leave-meeting/index.js +8 -7
  85. package/lib/modules/components/leave-meeting/store.d.ts +15 -7
  86. package/lib/modules/components/leave-meeting/store.js +116 -95
  87. package/lib/modules/components/member-window/components/member-actions/components/audio-control.d.ts +6 -0
  88. package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +36 -0
  89. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.d.ts +40 -0
  90. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +170 -0
  91. package/lib/modules/components/member-window/components/member-actions/components/icon-status.d.ts +11 -0
  92. package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +105 -0
  93. package/lib/modules/components/member-window/components/member-actions/components/layout/index.d.ts +9 -0
  94. package/lib/modules/components/member-window/components/member-actions/components/layout/index.js +42 -0
  95. package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +11 -0
  96. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +157 -0
  97. package/lib/modules/components/member-window/components/member-actions/components/share-status.d.ts +2 -0
  98. package/lib/modules/components/member-window/components/member-actions/components/share-status.js +34 -0
  99. package/lib/modules/components/member-window/components/member-actions/components/user-info.d.ts +16 -0
  100. package/lib/modules/components/member-window/components/member-actions/components/user-info.js +130 -0
  101. package/lib/modules/components/member-window/components/member-actions/components/user-tag.d.ts +12 -0
  102. package/lib/modules/components/member-window/components/member-actions/components/user-tag.js +57 -0
  103. package/lib/modules/components/member-window/components/member-actions/index.d.ts +3 -0
  104. package/lib/modules/components/member-window/components/member-actions/index.js +122 -0
  105. package/lib/modules/components/member-window/components/member-actions/libs/index.d.ts +2 -0
  106. package/lib/modules/components/member-window/components/member-actions/libs/index.js +24 -0
  107. package/lib/modules/components/member-window/components/member-actions/provider.d.ts +21 -0
  108. package/lib/modules/components/member-window/components/member-actions/provider.js +77 -0
  109. package/lib/modules/components/member-window/components/member-actions/store.d.ts +48 -0
  110. package/lib/modules/components/member-window/components/member-actions/store.js +307 -0
  111. package/lib/modules/components/member-window/components/member-board.d.ts +2 -0
  112. package/lib/modules/components/member-window/components/member-board.js +63 -0
  113. package/lib/modules/components/member-window/components/mic-volume.d.ts +2 -0
  114. package/lib/modules/components/member-window/components/mic-volume.js +23 -0
  115. package/lib/modules/components/member-window/components/video-player/components/local-video-player.d.ts +4 -0
  116. package/lib/modules/components/member-window/components/video-player/components/local-video-player.js +40 -0
  117. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.d.ts +8 -0
  118. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +62 -0
  119. package/lib/modules/components/member-window/components/video-player/index.d.ts +9 -0
  120. package/lib/modules/components/member-window/components/video-player/index.js +38 -0
  121. package/lib/modules/components/member-window/index.css +22 -2
  122. package/lib/modules/components/member-window/index.d.ts +10 -75
  123. package/lib/modules/components/member-window/index.js +20 -738
  124. package/lib/modules/components/member-window/types.d.ts +79 -0
  125. package/lib/modules/components/member-window/types.js +6 -0
  126. package/lib/modules/components/security-menu/index.css +0 -2
  127. package/lib/modules/components/security-menu/index.d.ts +5 -1
  128. package/lib/modules/components/security-menu/index.js +37 -59
  129. package/lib/modules/connection-gateway/index.d.ts +6 -0
  130. package/lib/modules/connection-gateway/index.js +4 -1
  131. package/lib/modules/connection-gateway/store.d.ts +12 -3
  132. package/lib/modules/connection-gateway/store.js +29 -27
  133. package/lib/modules/control-bar/components/meeting-details/index.js +11 -17
  134. package/lib/modules/control-bar/components/more-actions/index.js +5 -4
  135. package/lib/modules/control-bar/components/share-state-nav/index.js +22 -10
  136. package/lib/modules/control-bar/index.css +1 -2
  137. package/lib/modules/control-bar/index.d.ts +14 -0
  138. package/lib/modules/control-bar/index.js +10 -4
  139. package/lib/modules/control-bar/store.d.ts +40 -20
  140. package/lib/modules/control-bar/store.js +156 -191
  141. package/lib/modules/control-bar/view.js +65 -25
  142. package/lib/modules/device-pretest/audio-preview/microphone-detection.js +1 -1
  143. package/lib/modules/dialog/components/control-bar/index.d.ts +1 -1
  144. package/lib/modules/dialog/components/control-bar/index.js +43 -43
  145. package/lib/modules/dialog/components/device-setting/index.js +2 -1
  146. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +1 -0
  147. package/lib/modules/dialog/components/dialog-container/component/body.js +3 -2
  148. package/lib/modules/dialog/components/dialog-container/index.d.ts +2 -0
  149. package/lib/modules/dialog/components/dialog-container/index.js +19 -13
  150. package/lib/modules/dialog/components/live-streaming/index.js +4 -2
  151. package/lib/modules/dialog/components/participant/index.js +2 -2
  152. package/lib/modules/dialog/components/share-screen-selection/index.js +3 -1
  153. package/lib/modules/dialog/components/system-preference/assets/bg1.png +0 -0
  154. package/lib/modules/dialog/components/system-preference/assets/bg2.png +0 -0
  155. package/lib/modules/dialog/components/system-preference/assets/fcr_png_host.png +0 -0
  156. package/lib/modules/dialog/components/system-preference/electron.js +6 -6
  157. package/lib/modules/dialog/components/system-preference/index.css +3 -0
  158. package/lib/modules/dialog/components/system-preference/index.d.ts +17 -2
  159. package/lib/modules/dialog/components/system-preference/index.js +47 -55
  160. package/lib/modules/dialog/components/video-window/index.d.ts +1 -1
  161. package/lib/modules/dialog/components/video-window/index.js +216 -101
  162. package/lib/modules/dialog/components/widget/electron.d.ts +5 -0
  163. package/lib/modules/dialog/components/widget/electron.js +37 -0
  164. package/lib/modules/dialog/components/widget/index.d.ts +6 -0
  165. package/lib/modules/dialog/components/widget/index.js +43 -0
  166. package/lib/modules/dialog/hooks/useElectron.d.ts +7 -0
  167. package/lib/modules/dialog/hooks/useElectron.js +226 -28
  168. package/lib/modules/dialog/index.css +1 -11
  169. package/lib/modules/dialog/index.d.ts +9 -6
  170. package/lib/modules/dialog/index.js +12 -12
  171. package/lib/modules/dialog/store.d.ts +26 -10
  172. package/lib/modules/dialog/store.js +151 -82
  173. package/lib/modules/dialog/type.d.ts +84 -0
  174. package/lib/modules/dialog/type.js +6 -0
  175. package/lib/modules/dialog/view.d.ts +1 -4
  176. package/lib/modules/dialog/view.js +12 -9
  177. package/lib/modules/event-confirm/index.css +11 -0
  178. package/lib/modules/event-confirm/index.d.ts +6 -0
  179. package/lib/modules/event-confirm/index.js +3 -2
  180. package/lib/modules/event-confirm/store.d.ts +10 -4
  181. package/lib/modules/event-confirm/store.js +91 -32
  182. package/lib/modules/event-confirm/view.js +63 -24
  183. package/lib/modules/event-toast/store.js +4 -2
  184. package/lib/modules/interpreter/action/edit-btn/index.js +5 -5
  185. package/lib/modules/interpreter/action/switch-btn/index.js +7 -7
  186. package/lib/modules/interpreter/index.d.ts +5 -1
  187. package/lib/modules/interpreter/index.js +4 -2
  188. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/index.js +3 -3
  189. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/index.js +6 -5
  190. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/option-Item.js +2 -2
  191. package/lib/modules/interpreter/interpreter-list/interpreter-item/index.js +2 -2
  192. package/lib/modules/interpreter/store.d.ts +8 -5
  193. package/lib/modules/interpreter/store.js +90 -39
  194. package/lib/modules/interpreter/type.d.ts +5 -1
  195. package/lib/modules/interpreter/utils.d.ts +0 -1
  196. package/lib/modules/interpreter/utils.js +2 -23
  197. package/lib/modules/interpreter/view.js +2 -6
  198. package/lib/modules/invite/index.d.ts +4 -0
  199. package/lib/modules/invite/index.js +3 -1
  200. package/lib/modules/invite/store.d.ts +11 -2
  201. package/lib/modules/invite/store.js +27 -4
  202. package/lib/modules/layout/components/Aside.js +1 -1
  203. package/lib/modules/layout/components/Carousel.js +36 -14
  204. package/lib/modules/layout/components/Gallery.js +33 -11
  205. package/lib/modules/layout/index.css +2 -2
  206. package/lib/modules/layout/index.d.ts +6 -0
  207. package/lib/modules/layout/index.js +4 -1
  208. package/lib/modules/layout/store.d.ts +23 -10
  209. package/lib/modules/layout/store.js +185 -163
  210. package/lib/modules/layout/type.d.ts +2 -0
  211. package/lib/modules/live-streaming/index.d.ts +2 -0
  212. package/lib/modules/live-streaming/index.js +2 -2
  213. package/lib/modules/live-streaming/store.d.ts +4 -8
  214. package/lib/modules/live-streaming/store.js +9 -19
  215. package/lib/modules/notification/index.css +17 -0
  216. package/lib/modules/notification/store.js +4 -2
  217. package/lib/modules/notification/view.js +7 -2
  218. package/lib/modules/offscreen-pulling/index.d.ts +1 -0
  219. package/lib/modules/offscreen-pulling/index.js +4 -0
  220. package/lib/modules/participant/components/confirm-input/index.d.ts +6 -0
  221. package/lib/modules/participant/components/confirm-input/index.js +50 -0
  222. package/lib/modules/participant/components/mute-all/index.d.ts +3 -7
  223. package/lib/modules/participant/components/mute-all/index.js +21 -33
  224. package/lib/modules/participant/components/participants/components/footer/components/buttons.d.ts +6 -0
  225. package/lib/modules/participant/components/participants/components/footer/components/buttons.js +52 -0
  226. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.css +60 -0
  227. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.d.ts +2 -0
  228. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.js +166 -0
  229. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/util.d.ts +5 -0
  230. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/util.js +28 -0
  231. package/lib/modules/participant/components/participants/components/footer/components/footer/index.css +13 -0
  232. package/lib/modules/participant/components/participants/components/footer/components/footer/index.d.ts +5 -0
  233. package/lib/modules/participant/components/participants/components/footer/components/footer/index.js +242 -0
  234. package/lib/modules/participant/components/participants/components/footer/index.d.ts +5 -0
  235. package/lib/modules/participant/components/participants/components/footer/index.js +48 -0
  236. package/lib/modules/participant/components/participants/components/merge/index.d.ts +11 -0
  237. package/lib/modules/participant/components/participants/components/merge/index.js +49 -0
  238. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.css +191 -0
  239. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.d.ts +4 -0
  240. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +204 -0
  241. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.css +49 -0
  242. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.d.ts +5 -0
  243. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +219 -0
  244. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.d.ts +5 -0
  245. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.js +70 -0
  246. package/lib/modules/participant/components/participants/components/participants/index.css +104 -0
  247. package/lib/modules/participant/components/participants/components/participants/index.d.ts +3 -0
  248. package/lib/modules/participant/components/participants/components/participants/index.js +110 -0
  249. package/lib/modules/participant/components/participants/components/render-tab/index.d.ts +2 -0
  250. package/lib/modules/participant/components/participants/components/render-tab/index.js +49 -0
  251. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/interpreter-tag/index.d.ts +3 -0
  252. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/interpreter-tag/index.js +48 -0
  253. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/microphone-indicator/index.d.ts +6 -0
  254. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/microphone-indicator/index.js +28 -0
  255. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/user-avatar/index.d.ts +7 -0
  256. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/user-avatar/index.js +39 -0
  257. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.css +69 -0
  258. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.d.ts +5 -0
  259. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.js +135 -0
  260. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/audio-button/index.d.ts +7 -0
  261. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/audio-button/index.js +31 -0
  262. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.d.ts +12 -0
  263. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.js +82 -0
  264. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-to-mainroom-button/index.d.ts +4 -0
  265. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-to-mainroom-button/index.js +26 -0
  266. package/lib/modules/participant/components/participants/components/render-user/components/user-action/index.d.ts +2 -0
  267. package/lib/modules/participant/components/participants/components/render-user/components/user-action/index.js +75 -0
  268. package/lib/modules/participant/components/participants/components/render-user/index.d.ts +5 -0
  269. package/lib/modules/participant/components/participants/components/render-user/index.js +21 -0
  270. package/lib/modules/participant/components/participants/index.js +18 -112
  271. package/lib/modules/participant/components/participants/types.d.ts +96 -0
  272. package/lib/modules/participant/components/participants/types.js +37 -0
  273. package/lib/modules/participant/index.css +3 -0
  274. package/lib/modules/participant/index.d.ts +12 -0
  275. package/lib/modules/participant/index.js +7 -1
  276. package/lib/modules/participant/member-list-data-source.d.ts +2 -2
  277. package/lib/modules/participant/member-list-data-source.js +11 -17
  278. package/lib/modules/participant/store.d.ts +44 -37
  279. package/lib/modules/participant/store.js +527 -536
  280. package/lib/modules/participant/type.d.ts +2 -9
  281. package/lib/modules/pc-audio-connect/store.d.ts +1 -1
  282. package/lib/modules/pc-audio-connect/store.js +9 -6
  283. package/lib/modules/setting/audio-settings/audio-settings.js +5 -4
  284. package/lib/modules/setting/audio-settings/index.css +11 -2
  285. package/lib/modules/setting/config.js +1 -1
  286. package/lib/modules/setting/store.d.ts +1 -0
  287. package/lib/modules/setting/store.js +20 -2
  288. package/lib/modules/setting/video-settings/index.css +12 -17
  289. package/lib/modules/setting/video-settings/video-settings-basic.js +40 -44
  290. package/lib/modules/share-screen/components/selection/index.js +70 -80
  291. package/lib/modules/share-screen/index.d.ts +6 -1
  292. package/lib/modules/share-screen/index.js +4 -1
  293. package/lib/modules/share-screen/store.d.ts +37 -33
  294. package/lib/modules/share-screen/store.js +330 -438
  295. package/lib/modules/sound-effect/sound-effect-player.d.ts +0 -4
  296. package/lib/modules/sound-effect/sound-effect-player.js +4 -4
  297. package/lib/modules/state-bar/index.css +2 -15
  298. package/lib/modules/state-bar/index.d.ts +10 -0
  299. package/lib/modules/state-bar/index.js +6 -1
  300. package/lib/modules/state-bar/live-streaming-state.js +0 -17
  301. package/lib/modules/state-bar/meeting-details.js +12 -24
  302. package/lib/modules/state-bar/meeting-time.js +5 -10
  303. package/lib/modules/state-bar/store.d.ts +31 -8
  304. package/lib/modules/state-bar/store.js +146 -100
  305. package/lib/modules/state-bar/view.js +63 -32
  306. package/lib/modules/video-window/components/deviceState/index.d.ts +7 -0
  307. package/lib/modules/video-window/components/deviceState/index.js +75 -0
  308. package/lib/modules/video-window/components/members/index.css +51 -0
  309. package/lib/modules/video-window/components/members/index.d.ts +2 -0
  310. package/lib/modules/video-window/components/members/index.js +131 -0
  311. package/lib/modules/video-window/components/speaking/index.css +86 -0
  312. package/lib/modules/video-window/components/speaking/index.d.ts +3 -0
  313. package/lib/modules/video-window/components/speaking/index.js +48 -0
  314. package/lib/modules/video-window/components/topControl/index.css +35 -0
  315. package/lib/modules/video-window/components/topControl/index.d.ts +3 -0
  316. package/lib/modules/video-window/components/topControl/index.js +79 -0
  317. package/lib/modules/video-window/index.d.ts +7 -0
  318. package/lib/modules/video-window/index.js +14 -20
  319. package/lib/modules/video-window/store.d.ts +19 -88
  320. package/lib/modules/video-window/store.js +98 -365
  321. package/lib/modules/video-window/type.d.ts +40 -4
  322. package/lib/modules/video-window/type.js +4 -4
  323. package/lib/modules/video-window/view.js +11 -23
  324. package/lib/modules/whiteboard/index.d.ts +1 -0
  325. package/lib/modules/whiteboard/index.js +7 -4
  326. package/lib/modules/widget/index.css +17 -0
  327. package/lib/modules/widget/index.d.ts +10 -0
  328. package/lib/modules/widget/index.js +114 -0
  329. package/lib/modules/widget/sdk.d.ts +30 -0
  330. package/lib/modules/widget/sdk.js +224 -0
  331. package/lib/modules/widget/store.d.ts +14 -0
  332. package/lib/modules/widget/store.js +28 -0
  333. package/lib/modules/widget/type.d.ts +156 -0
  334. package/lib/modules/widget/type.js +6 -0
  335. package/lib/modules/widget/view.d.ts +2 -0
  336. package/lib/modules/widget/view.js +47 -0
  337. package/lib/modules/widget/web-widget.d.ts +29 -0
  338. package/lib/modules/widget/web-widget.js +234 -0
  339. package/lib/providers/ability-provider.d.ts +24 -0
  340. package/lib/providers/ability-provider.js +38 -0
  341. package/lib/providers/chat-provider.d.ts +16 -9
  342. package/lib/providers/chat-provider.js +76 -8
  343. package/lib/providers/device-privilege-provider.d.ts +5 -1
  344. package/lib/providers/device-privilege-provider.js +21 -1
  345. package/lib/providers/device-provider.js +5 -2
  346. package/lib/providers/device-stream-provider.d.ts +15 -3
  347. package/lib/providers/device-stream-provider.js +118 -34
  348. package/lib/providers/dialog-provider.d.ts +9 -8
  349. package/lib/providers/dialog-provider.js +8 -4
  350. package/lib/providers/event-provider.js +4 -2
  351. package/lib/providers/interpreter-provider.d.ts +7 -26
  352. package/lib/providers/interpreter-provider.js +473 -706
  353. package/lib/providers/local-storage-provider.d.ts +6 -1
  354. package/lib/providers/local-storage-provider.js +15 -2
  355. package/lib/providers/message-provider.js +4 -2
  356. package/lib/providers/phone-audio-provider.js +24 -18
  357. package/lib/providers/privilege-provider.d.ts +13 -12
  358. package/lib/providers/privilege-provider.js +19 -11
  359. package/lib/providers/renderer-provider.d.ts +5 -0
  360. package/lib/providers/renderer-provider.js +8 -1
  361. package/lib/providers/room-provider.d.ts +7 -17
  362. package/lib/providers/room-provider.js +113 -161
  363. package/lib/providers/screen-share-provider.d.ts +19 -0
  364. package/lib/providers/screen-share-provider.js +102 -10
  365. package/lib/providers/widget-provider.d.ts +52 -0
  366. package/lib/providers/widget-provider.js +171 -0
  367. package/lib/scenes/main-scene.d.ts +11 -0
  368. package/lib/scenes/main-scene.js +60 -33
  369. package/lib/scenes/waiting-scene.d.ts +9 -0
  370. package/lib/scenes/waiting-scene.js +27 -26
  371. package/lib/schema.d.ts +114 -0
  372. package/lib/schema.js +77 -0
  373. package/lib/shared-data-source/chat-data.d.ts +11 -0
  374. package/lib/shared-data-source/chat-data.js +17 -6
  375. package/lib/shared-data-source/interpreter.d.ts +34 -21
  376. package/lib/shared-data-source/interpreter.js +104 -103
  377. package/lib/shared-data-source/meeting-time.d.ts +68 -0
  378. package/lib/shared-data-source/meeting-time.js +299 -0
  379. package/lib/shared-data-source/member-data.d.ts +126 -0
  380. package/lib/shared-data-source/member-data.js +451 -0
  381. package/lib/shared-data-source/pin-data.d.ts +8 -4
  382. package/lib/shared-data-source/pin-data.js +92 -4
  383. package/lib/shared-data-source/security-data.d.ts +35 -0
  384. package/lib/shared-data-source/security-data.js +156 -0
  385. package/lib/shared-data-source/setting.d.ts +3 -1
  386. package/lib/shared-data-source/setting.js +12 -1
  387. package/lib/shared-data-source/video-window.d.ts +7 -8
  388. package/lib/shared-data-source/video-window.js +97 -94
  389. package/lib/shared-data-source/waiting-room.d.ts +29 -2
  390. package/lib/shared-data-source/waiting-room.js +103 -39
  391. package/lib/translations/enUS.d.ts +25 -12
  392. package/lib/translations/enUS.js +47 -68
  393. package/lib/translations/zhCN.d.ts +26 -12
  394. package/lib/translations/zhCN.js +63 -83
  395. package/lib/type.d.ts +64 -48
  396. package/lib/type.js +14 -1
  397. package/lib/ui-manager.d.ts +3 -2
  398. package/lib/ui-manager.js +8 -7
  399. package/lib/ui-scene.d.ts +7 -1
  400. package/lib/ui-scene.js +187 -97
  401. package/lib/utilities/constant.d.ts +7 -3
  402. package/lib/utilities/constant.js +4 -0
  403. package/lib/utilities/default-config.d.ts +5 -1
  404. package/lib/utilities/default-config.js +28 -2
  405. package/lib/utilities/logger.d.ts +8 -0
  406. package/lib/utilities/logger.js +42 -0
  407. package/lib/utilities/meeting-detail.js +11 -10
  408. package/lib/utilities/parameters.d.ts +4 -0
  409. package/lib/utilities/parameters.js +13 -1
  410. package/lib/utilities/renderer.d.ts +1 -0
  411. package/lib/utilities/renderer.js +4 -1
  412. package/lib/utilities/tools.d.ts +7 -6
  413. package/lib/utilities/tools.js +2 -6
  414. package/lib/utilities/validate-params.d.ts +2 -0
  415. package/lib/utilities/validate-params.js +16 -0
  416. package/lib/waiting-room-control-manager.d.ts +28 -0
  417. package/lib/waiting-room-control-manager.js +212 -0
  418. package/lib/widget-sdk.d.ts +2 -0
  419. package/lib/widget-sdk.js +13 -0
  420. package/package.json +7 -6
  421. package/public/index.html +12 -6
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = exports.StoreContext = void 0;
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+ var _react = require("react");
12
+ var WebWidgetStore = exports["default"] = /*#__PURE__*/function () {
13
+ function WebWidgetStore(_ref) {
14
+ var widgetProvider = _ref.widgetProvider;
15
+ (0, _classCallCheck2["default"])(this, WebWidgetStore);
16
+ this._widgetProvider = widgetProvider;
17
+ }
18
+ return (0, _createClass2["default"])(WebWidgetStore, [{
19
+ key: "openedWidgets",
20
+ get: function get() {
21
+ return this._widgetProvider.openedWidgets;
22
+ }
23
+ }, {
24
+ key: "release",
25
+ value: function release() {}
26
+ }]);
27
+ }(); // #endregion
28
+ var StoreContext = exports.StoreContext = /*#__PURE__*/(0, _react.createContext)(null);
@@ -0,0 +1,156 @@
1
+ import type { FcrRoomInfo, FcrRoomSchedule, FcrRoomState, FcrUserInfo } from 'fcr-core/lib/type';
2
+ import type { FcrUserJoinedEvent, FcrUserLeftEvent, FcrUserPageParams, FcrUserPageResponse, FcrUserUpdatedEvent } from 'fcr-core/lib/room-control/user-control/type';
3
+ import type { FcrUIWebWidgetConfig } from '../../type';
4
+ type MethodNames<T> = {
5
+ [K in keyof T]: T[K] extends Function ? K : never;
6
+ }[keyof T];
7
+ export type FcrUIWebWidgetMethodName = MethodNames<FcrUIBaseWidget>;
8
+ export type ID = string;
9
+ export interface PopupSize {
10
+ width: number;
11
+ height: number;
12
+ }
13
+ export type FcrRegisteredWidgetConfigs = Map<ID, FcrUIWebWidgetConfig>;
14
+ export interface FcrUIWidgetSDK {
15
+ /**
16
+ * 获取房间信息
17
+ */
18
+ getRoomInfo(): Promise<FcrRoomInfo>;
19
+ /**
20
+ * 获取房间行程信息(如开始时间、持续时长等)
21
+ */
22
+ getRoomSchedule(): Promise<FcrRoomSchedule>;
23
+ /**
24
+ * 获取当前房间状态
25
+ */
26
+ getRoomState(): Promise<FcrRoomState>;
27
+ /**
28
+ * 获取本地用户信息
29
+ */
30
+ getLocalUser(): Promise<FcrUserInfo>;
31
+ /**
32
+ * 获取远端用户列表
33
+ */
34
+ getUserList(): Promise<FcrUserInfo[]>;
35
+ /**
36
+ * 获取房间内用户总数
37
+ */
38
+ getAllUserCount(): Promise<number>;
39
+ /**
40
+ * 添加观察者,用来接收 Widget 事件回调
41
+ * @param observer 实现 FcrUIWidgetObserver 的对象
42
+ */
43
+ addObserver(observer: FcrUIWidgetObserver): void;
44
+ /**
45
+ * 移除之前添加的观察者
46
+ * @param observer 要移除的观察者
47
+ */
48
+ removeObserver(observer: FcrUIWidgetObserver): void;
49
+ }
50
+ export interface FcrUIWidgetObserver {
51
+ /**
52
+ * 房间状态更新回调
53
+ * @param state 最新的房间状态
54
+ * @returns
55
+ */
56
+ onRoomStateUpdated(roomId: string, state: FcrRoomState): void;
57
+ /**
58
+ * 远端用户加入房间回调
59
+ * @param events 事件数组
60
+ */
61
+ onRemoteUsersJoined(roomId: string, events: FcrUserJoinedEvent[]): void;
62
+ /**
63
+ * 远端用户离开房间回调
64
+ * @param events 事件数组
65
+ */
66
+ onRemoteUsersLeft(roomId: string, events: FcrUserLeftEvent[]): void;
67
+ /**
68
+ * Callback to receive the user updated event.
69
+ * @param event
70
+ */
71
+ onUserInfoUpdated(roomId: string, event: FcrUserUpdatedEvent): void;
72
+ /**
73
+ * 房间内所有用户总数更新回调
74
+ * @param count 当前的用户数量
75
+ */
76
+ onAllUserCountUpdated?(roomId: string, count: number): void;
77
+ }
78
+ export interface FcrUIBaseWidget {
79
+ /**
80
+ * 获取房间信息
81
+ */
82
+ getRoomInfo(): FcrRoomInfo | undefined;
83
+ /**
84
+ * 获取房间行程信息(如开始时间、持续时长等)
85
+ */
86
+ getRoomSchedule(): FcrRoomSchedule | undefined;
87
+ /**
88
+ * 获取当前房间状态
89
+ */
90
+ getRoomState(): FcrRoomState;
91
+ /**
92
+ * 获取本地用户信息
93
+ */
94
+ getLocalUser(): FcrUserInfo;
95
+ /**
96
+ * 获取远端用户列表
97
+ */
98
+ getUserList(): Readonly<FcrUserInfo[]>;
99
+ /**
100
+ * 获取房间内用户总数
101
+ */
102
+ getAllUserCount(): number;
103
+ /**
104
+ * Fetches the list of users.
105
+ * @param params
106
+ */
107
+ fetchUserList(params: FcrUserPageParams): Promise<FcrUserPageResponse>;
108
+ /**
109
+ * 添加观察者,用来接收 Widget 事件回调
110
+ * @param observer 实现 FcrUIWidgetObserver 的对象
111
+ */
112
+ addObserver(observer: FcrUIWidgetObserver): void;
113
+ /**
114
+ * 移除之前添加的观察者
115
+ * @param observer 要移除的观察者
116
+ */
117
+ removeObserver(observer: FcrUIWidgetObserver): void;
118
+ }
119
+ export interface FcrUIWebWidget extends FcrUIBaseWidget {
120
+ /**
121
+ * 保存承载widget试图的webview引用
122
+ */
123
+ webview: HTMLIFrameElement | null;
124
+ /**
125
+ * 实例化widget
126
+ * 创建webview并注入FcrUIBaseWidget中的方法或者回调,命名空间FcrJSBridge
127
+ * webview加载FcrUIWebWidgetConfig.url
128
+ * @param FcrUIWebWidgetConfig webWidget配置
129
+ */
130
+ init(config: FcrUIWebWidgetConfig, window: Window): void;
131
+ /**
132
+ * 刷新webview
133
+ */
134
+ reload(): void;
135
+ /**
136
+ *销毁widget
137
+ */
138
+ release(): void;
139
+ }
140
+ export type ApiRequest = {
141
+ action: 'apiRequest';
142
+ callId: number;
143
+ method: string;
144
+ parameters: [];
145
+ };
146
+ export type ApiResponse = {
147
+ action: 'apiResponse';
148
+ callId: number;
149
+ method: string;
150
+ returnValue: unknown;
151
+ };
152
+ export type Callback = {
153
+ action: 'callback';
154
+ payload: object;
155
+ };
156
+ export {};
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
@@ -0,0 +1,2 @@
1
+ import { FC } from 'react';
2
+ export declare const WebWidgetView: FC;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.WebWidgetView = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _react = require("react");
11
+ var _mobxReact = require("mobx-react");
12
+ var _store = require("./store");
13
+ var _loadingWrapper = require("../interpreter/loading-wrapper");
14
+ var _useElectron = require("../dialog/hooks/useElectron");
15
+ var _env = require("agora-foundation/lib/utilities/env");
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ var WebWidgetView = exports.WebWidgetView = (0, _mobxReact.observer)(function () {
18
+ var _widgetConfig$popupSi, _widgetConfig$popupSi2;
19
+ var _useContext = (0, _react.useContext)(_store.StoreContext),
20
+ widgetConfig = _useContext.widgetConfig,
21
+ store = _useContext.store;
22
+ var webWidget = store.openedWidgets.get(widgetConfig.id);
23
+ var dialogInstanceContext = (0, _react.useContext)(_useElectron.DialogInstanceContext);
24
+ var _useState = (0, _react.useState)(true),
25
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
26
+ loading = _useState2[0],
27
+ setLoading = _useState2[1];
28
+ (0, _react.useEffect)(function () {
29
+ if (webWidget) {
30
+ webWidget.init(widgetConfig, (0, _env.isElectron)() ? dialogInstanceContext.newRendererWindow : window);
31
+ if (webWidget.webview) {
32
+ webWidget.webview.onload = function () {
33
+ setLoading(false);
34
+ };
35
+ }
36
+ }
37
+ }, [widgetConfig]);
38
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_loadingWrapper.LoadingWrapper, {
39
+ loading: loading,
40
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("iframe", {
41
+ id: widgetConfig.id,
42
+ src: widgetConfig.url,
43
+ width: (_widgetConfig$popupSi = widgetConfig.popupSize) === null || _widgetConfig$popupSi === void 0 ? void 0 : _widgetConfig$popupSi.width,
44
+ height: (_widgetConfig$popupSi2 = widgetConfig.popupSize) === null || _widgetConfig$popupSi2 === void 0 ? void 0 : _widgetConfig$popupSi2.height
45
+ })
46
+ });
47
+ });
@@ -0,0 +1,29 @@
1
+ import { FcrBaseRoomControl } from 'fcr-core';
2
+ import { FcrUIWebWidgetConfig } from '../../type';
3
+ import { FcrUIWebWidget } from './type';
4
+ import { FcrUserPageParams } from 'fcr-core/lib/room-control/user-control/type';
5
+ import { FcrRoomState, FcrRoomInfo } from 'fcr-core/lib/type';
6
+ export declare class FcrUIWebWidgetImpl implements FcrUIWebWidget {
7
+ protected logger: import("agora-foundation/lib/logger").Logger;
8
+ private _userControl;
9
+ private _roomControl;
10
+ private _currentWindow;
11
+ private _userControlObserver;
12
+ private _roomControlObserver;
13
+ accessor webview: HTMLIFrameElement | null;
14
+ constructor(roomControl: FcrBaseRoomControl);
15
+ init(config: FcrUIWebWidgetConfig, currentWindow: Window): void;
16
+ reload(): void;
17
+ release(): void;
18
+ getRoomInfo(): FcrRoomInfo | undefined;
19
+ getRoomSchedule(): import("fcr-core/lib/type").FcrRoomSchedule | undefined;
20
+ getRoomState(): FcrRoomState;
21
+ getLocalUser(): import("fcr-core/lib/type").FcrUserInfo;
22
+ getUserList(): readonly import("fcr-core/lib/type").FcrUserInfo[];
23
+ getAllUserCount(): number;
24
+ fetchUserList(params: FcrUserPageParams): Promise<import("fcr-core/lib/imports").AgoraRteUserPageResponse>;
25
+ addObserver(): void;
26
+ removeObserver(): void;
27
+ private _handleApiResponse;
28
+ private _handleCallback;
29
+ }
@@ -0,0 +1,234 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.symbol.description.js");
5
+ require("core-js/modules/es.symbol.to-primitive.js");
6
+ require("core-js/modules/es.error.cause.js");
7
+ require("core-js/modules/es.error.to-string.js");
8
+ require("core-js/modules/es.array.is-array.js");
9
+ require("core-js/modules/es.array.push.js");
10
+ require("core-js/modules/es.date.to-primitive.js");
11
+ require("core-js/modules/es.function.bind.js");
12
+ require("core-js/modules/es.function.name.js");
13
+ require("core-js/modules/es.map.js");
14
+ require("core-js/modules/es.number.constructor.js");
15
+ require("core-js/modules/es.object.create.js");
16
+ require("core-js/modules/es.object.define-property.js");
17
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
18
+ require("core-js/modules/esnext.function.metadata.js");
19
+ require("core-js/modules/esnext.map.delete-all.js");
20
+ require("core-js/modules/esnext.map.emplace.js");
21
+ require("core-js/modules/esnext.map.every.js");
22
+ require("core-js/modules/esnext.map.filter.js");
23
+ require("core-js/modules/esnext.map.find.js");
24
+ require("core-js/modules/esnext.map.find-key.js");
25
+ require("core-js/modules/esnext.map.includes.js");
26
+ require("core-js/modules/esnext.map.key-of.js");
27
+ require("core-js/modules/esnext.map.map-keys.js");
28
+ require("core-js/modules/esnext.map.map-values.js");
29
+ require("core-js/modules/esnext.map.merge.js");
30
+ require("core-js/modules/esnext.map.reduce.js");
31
+ require("core-js/modules/esnext.map.some.js");
32
+ require("core-js/modules/esnext.map.update.js");
33
+ require("core-js/modules/esnext.symbol.metadata.js");
34
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
35
+ var _typeof = require("@babel/runtime/helpers/typeof");
36
+ Object.defineProperty(exports, "__esModule", {
37
+ value: true
38
+ });
39
+ exports.FcrUIWebWidgetImpl = void 0;
40
+ require("core-js/modules/es.array.iterator.js");
41
+ require("core-js/modules/es.object.to-string.js");
42
+ require("core-js/modules/es.string.iterator.js");
43
+ require("core-js/modules/es.weak-map.js");
44
+ require("core-js/modules/esnext.weak-map.delete-all.js");
45
+ require("core-js/modules/esnext.weak-map.emplace.js");
46
+ require("core-js/modules/web.dom-collections.iterator.js");
47
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
48
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
49
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
50
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
51
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
52
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
53
+ var _log = require("agora-foundation/lib/decorator/log");
54
+ var _decorator = require("agora-foundation/lib/decorator");
55
+ var _logger = require("../../utilities/logger");
56
+ var _mobx = require("mobx");
57
+ var _FcrUIWebWidgetImpl;
58
+ var _initProto, _init_webview;
59
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
60
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
61
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
62
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
63
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
64
+ function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function set(e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O["static"] = l, O["private"] = f, f ? 2 === o ? k = function k(e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function k(e) { return e[n]; }, (o < 2 || 4 === o) && (F = function F(e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == _typeof(P) && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol["for"]("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol["for"]("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function s(t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
65
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
66
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
67
+ function _setFunctionName(e, t, n) { "symbol" == _typeof(t) && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
68
+ function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? _typeof(e) : "null")); return e; }
69
+ var _A = /*#__PURE__*/new WeakMap();
70
+ var FcrUIWebWidgetImpl = exports.FcrUIWebWidgetImpl = /*#__PURE__*/function () {
71
+ function FcrUIWebWidgetImpl(roomControl) {
72
+ var _this = this;
73
+ (0, _classCallCheck2["default"])(this, FcrUIWebWidgetImpl);
74
+ (0, _defineProperty2["default"])(this, "logger", (_initProto(this), (0, _logger.createLogger)({
75
+ prefix: 'FcrUIWebWidget'
76
+ })));
77
+ (0, _defineProperty2["default"])(this, "_userControlObserver", {
78
+ onRemoteUsersJoined: function onRemoteUsersJoined(roomId, events) {
79
+ _this._handleCallback('onRemoteUsersJoined', [roomId, events]);
80
+ },
81
+ onRemoteUsersLeft: function onRemoteUsersLeft(roomId, events) {
82
+ _this._handleCallback('onRemoteUsersLeft', [roomId, events]);
83
+ },
84
+ onUserInfoUpdated: function onUserInfoUpdated(roomId, event) {
85
+ _this._handleCallback('onUserInfoUpdated', [roomId, event]);
86
+ },
87
+ onAllUserCountUpdated: function onAllUserCountUpdated(roomId, count) {
88
+ _this._handleCallback('onAllUserCountUpdated', [roomId, count]);
89
+ }
90
+ });
91
+ (0, _defineProperty2["default"])(this, "_roomControlObserver", {
92
+ onRoomStateUpdated: function onRoomStateUpdated(roomId, state) {
93
+ _this._handleCallback('onRoomStateUpdated', [roomId, state]);
94
+ }
95
+ });
96
+ _classPrivateFieldInitSpec(this, _A, _init_webview(this, null));
97
+ this._roomControl = roomControl;
98
+ this._userControl = this._roomControl.getUserControl();
99
+ this.addObserver();
100
+ this._currentWindow = window;
101
+ }
102
+ return (0, _createClass2["default"])(FcrUIWebWidgetImpl, [{
103
+ key: "webview",
104
+ get: function get() {
105
+ return _classPrivateFieldGet(_A, this);
106
+ },
107
+ set: function set(v) {
108
+ _classPrivateFieldSet(_A, this, v);
109
+ }
110
+ }, {
111
+ key: "init",
112
+ value: function init(config, currentWindow) {
113
+ this._currentWindow = currentWindow;
114
+ this._currentWindow.addEventListener('message', this._handleApiResponse);
115
+ // window.addEventListener('message',()=>{
116
+ // this.logger.debug("currentWindow addEventListeneraddEventListener");
117
+ // });
118
+ this.webview = this._currentWindow.document.getElementById(config.id);
119
+ }
120
+ }, {
121
+ key: "reload",
122
+ value: function reload() {}
123
+ }, {
124
+ key: "release",
125
+ value: function release() {
126
+ this.webview = null;
127
+ this._currentWindow.removeEventListener('message', this._handleApiResponse);
128
+ this.removeObserver();
129
+ }
130
+ }, {
131
+ key: "getRoomInfo",
132
+ value: function getRoomInfo() {
133
+ return this._roomControl.getRoomInfo();
134
+ }
135
+ }, {
136
+ key: "getRoomSchedule",
137
+ value: function getRoomSchedule() {
138
+ return this._roomControl.getRoomSchedule();
139
+ }
140
+ }, {
141
+ key: "getRoomState",
142
+ value: function getRoomState() {
143
+ return this._roomControl.getRoomState();
144
+ }
145
+ }, {
146
+ key: "getLocalUser",
147
+ value: function getLocalUser() {
148
+ return this._userControl.getLocalUser();
149
+ }
150
+ }, {
151
+ key: "getUserList",
152
+ value: function getUserList() {
153
+ return this._userControl.getUserList();
154
+ }
155
+ }, {
156
+ key: "getAllUserCount",
157
+ value: function getAllUserCount() {
158
+ return this._userControl.getAllUserCount();
159
+ }
160
+ }, {
161
+ key: "fetchUserList",
162
+ value: function () {
163
+ var _fetchUserList = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(params) {
164
+ return _regenerator["default"].wrap(function _callee$(_context) {
165
+ while (1) switch (_context.prev = _context.next) {
166
+ case 0:
167
+ return _context.abrupt("return", this._userControl.fetchUserList(params));
168
+ case 1:
169
+ case "end":
170
+ return _context.stop();
171
+ }
172
+ }, _callee, this);
173
+ }));
174
+ function fetchUserList(_x) {
175
+ return _fetchUserList.apply(this, arguments);
176
+ }
177
+ return fetchUserList;
178
+ }()
179
+ }, {
180
+ key: "addObserver",
181
+ value: function addObserver() {
182
+ this._roomControl.addObserver(this._roomControlObserver);
183
+ this._userControl.addObserver(this._userControlObserver);
184
+ }
185
+ }, {
186
+ key: "removeObserver",
187
+ value: function removeObserver() {
188
+ this._roomControl.removeObserver(this._roomControlObserver);
189
+ this._userControl.removeObserver(this._userControlObserver);
190
+ }
191
+ }, {
192
+ key: "_handleApiResponse",
193
+ value: function _handleApiResponse(event) {
194
+ // if (event.origin !== webWidget.webview?.url) return;
195
+ if (event.data) {
196
+ var _event$data = event.data,
197
+ action = _event$data.action,
198
+ callId = _event$data.callId,
199
+ method = _event$data.method,
200
+ parameters = _event$data.parameters;
201
+ if (action === 'apiRequest') {
202
+ var _this$webview;
203
+ var returnValue = this[method](parameters[0]);
204
+ var params = {
205
+ action: 'apiResponse',
206
+ callId: callId,
207
+ method: method,
208
+ returnValue: returnValue
209
+ };
210
+ (_this$webview = this.webview) === null || _this$webview === void 0 || (_this$webview = _this$webview.contentWindow) === null || _this$webview === void 0 || _this$webview.postMessage(params, '*');
211
+ this.logger.debug('_handleApiResponse: ', params);
212
+ }
213
+ }
214
+ }
215
+ }, {
216
+ key: "_handleCallback",
217
+ value: function _handleCallback(method, payload) {
218
+ var _this$webview2;
219
+ var params = {
220
+ action: 'callback',
221
+ method: method,
222
+ payload: payload
223
+ };
224
+ (_this$webview2 = this.webview) === null || _this$webview2 === void 0 || (_this$webview2 = _this$webview2.contentWindow) === null || _this$webview2 === void 0 || _this$webview2.postMessage(params, '*');
225
+ this.logger.debug('_handleApiResponse: ', params);
226
+ }
227
+ }]);
228
+ }();
229
+ _FcrUIWebWidgetImpl = FcrUIWebWidgetImpl;
230
+ var _applyDecs$e = _applyDecs(_FcrUIWebWidgetImpl, [[_mobx.observable, 1, "webview"], [[_decorator.bound, _log.trace], 2, "init"], [[_decorator.bound, _log.trace], 2, "reload"], [[_decorator.bound, _log.trace], 2, "release"], [[_decorator.bound, _log.trace], 2, "getRoomInfo"], [[_decorator.bound, _log.trace], 2, "getRoomSchedule"], [[_decorator.bound, _log.trace], 2, "getRoomState"], [[_decorator.bound, _log.trace], 2, "getLocalUser"], [[_decorator.bound, _log.trace], 2, "getUserList"], [[_decorator.bound, _log.trace], 2, "getAllUserCount"], [[_decorator.bound, _log.trace], 2, "fetchUserList"], [[_decorator.bound, _log.trace], 2, "_handleApiResponse"], [[_decorator.bound, _log.trace], 2, "_handleCallback"]], []).e;
231
+ var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e, 2);
232
+ _init_webview = _applyDecs$e2[0];
233
+ _initProto = _applyDecs$e2[1];
234
+ _applyDecs$e;
@@ -0,0 +1,24 @@
1
+ import { FcrAbilityControl } from 'fcr-core/lib/room-control/ability-control/type';
2
+ import { FcrPlatform } from 'fcr-core/lib/type';
3
+ export interface FcrUIAbilityProvider {
4
+ isRoomDetailSupported(): boolean;
5
+ /**
6
+ * 判断指定平台是否支持设置主持人
7
+ * @param platform 目标平台
8
+ */
9
+ isHostSupportedByPlatform(platform: FcrPlatform): boolean;
10
+ }
11
+ export declare class FcrUIAbilityProviderImpl implements FcrUIAbilityProvider {
12
+ private _abilityControl;
13
+ protected logger: import("agora-foundation/lib/logger").Logger;
14
+ constructor(_abilityControl: FcrAbilityControl);
15
+ /**
16
+ * 检查当前平台是否支持指定能力
17
+ */
18
+ isRoomDetailSupported: () => boolean;
19
+ /**
20
+ * 检查指定平台是否支持特定能力
21
+ * @param platform 目标平台
22
+ */
23
+ isHostSupportedByPlatform: (platform: FcrPlatform) => boolean;
24
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.FcrUIAbilityProviderImpl = void 0;
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
+ var _type = require("fcr-core/lib/room-control/ability-control/type");
13
+ var _base = require("../base");
14
+ var _logger = require("../utilities/logger");
15
+ var FcrUIAbilityProviderImpl = exports.FcrUIAbilityProviderImpl = /*#__PURE__*/(0, _createClass2["default"])(function FcrUIAbilityProviderImpl(_abilityControl) {
16
+ var _this = this;
17
+ (0, _classCallCheck2["default"])(this, FcrUIAbilityProviderImpl);
18
+ (0, _defineProperty2["default"])(this, "logger", (0, _logger.createLogger)({
19
+ prefix: 'FcrUIAbilityProviderImpl'
20
+ }));
21
+ /**
22
+ * 检查当前平台是否支持指定能力
23
+ */
24
+ (0, _defineProperty2["default"])(this, "isRoomDetailSupported", function () {
25
+ var result = _this._abilityControl.isAbilitySupported(_type.FcrAbility.RoomDetail);
26
+ return result;
27
+ });
28
+ /**
29
+ * 检查指定平台是否支持特定能力
30
+ * @param platform 目标平台
31
+ */
32
+ (0, _defineProperty2["default"])(this, "isHostSupportedByPlatform", function (platform) {
33
+ var result = _this._abilityControl.isPlatformAbilitySupported(platform, _type.FcrAbility.RoleHost);
34
+ return result;
35
+ });
36
+ this._abilityControl = _abilityControl;
37
+ });
38
+ (0, _base.registerDependency)('abilityProvider');
@@ -1,11 +1,12 @@
1
- import { FcrChatRoomConnectionState, FcrChatRoomReceiveImageMessage, FcrChatRoomReceiveTextMessage } from 'fcr-core/lib/room-control/chatroom-control/type';
2
- import { FcrBaseRoomControl, FcrRoomType } from 'fcr-core/lib/room-control/type';
1
+ import { FcrChatRoomConnectionState, FcrChatRoomReceivedImageMessage, FcrChatRoomReceivedTextMessage } from 'fcr-core/lib/room-control/chatroom-control/type';
2
+ import { FcrBaseRoomControl } from 'fcr-core/lib/room-control/type';
3
3
  import { FcrUserInfo } from 'fcr-core/lib/type';
4
4
  import { FcrUIRoomProvider } from './room-provider';
5
- export type FcrChatRoomReceiveMessage = FcrChatRoomReceiveTextMessage | FcrChatRoomReceiveImageMessage;
5
+ import { FcrUIRoomType } from '../type';
6
+ export type FcrChatRoomReceiveMessage = FcrChatRoomReceivedImageMessage | FcrChatRoomReceivedTextMessage;
6
7
  export type FcrUILatestMessageInfo = {
7
8
  notifyMsgs: FcrChatRoomReceiveMessage[];
8
- currentRoomType: FcrRoomType;
9
+ currentRoomType: FcrUIRoomType;
9
10
  };
10
11
  export interface FcrUIChatProviderObserver {
11
12
  /**
@@ -14,7 +15,7 @@ export interface FcrUIChatProviderObserver {
14
15
  * @param roomType
15
16
  * @returns
16
17
  */
17
- onPrivateChatTargetUserUpdated?: (user: FcrUserInfo, roomType: FcrRoomType) => void;
18
+ onPrivateChatTargetUserUpdated?: (user: FcrUserInfo, roomType: FcrUIRoomType) => void;
18
19
  /**
19
20
  * 收到新的聊天消息
20
21
  * @param roomId
@@ -22,7 +23,7 @@ export interface FcrUIChatProviderObserver {
22
23
  * @param roomType
23
24
  * @returns
24
25
  */
25
- onNewChatMessageReceived?: (roomId: string, newMessage: FcrChatRoomReceiveMessage, roomType: FcrRoomType) => void;
26
+ onNewChatMessageReceived?: (roomId: string, newMessage: FcrChatRoomReceiveMessage, roomType: FcrUIRoomType) => void;
26
27
  /**
27
28
  * 聊天室连接状态变更
28
29
  * @param roomId
@@ -30,7 +31,7 @@ export interface FcrUIChatProviderObserver {
30
31
  * @param roomType
31
32
  * @returns
32
33
  */
33
- onChatRoomConnectionStateUpdated?: (roomId: string, state: FcrChatRoomConnectionState, roomType: FcrRoomType) => void;
34
+ onChatRoomConnectionStateUpdated?: (roomId: string, state: FcrChatRoomConnectionState, roomType: FcrUIRoomType) => void;
34
35
  /**
35
36
  * 未读消息更新
36
37
  * @param unReadMessageList
@@ -44,12 +45,17 @@ export interface FcrUIChatProvider {
44
45
  */
45
46
  get latestsMessageInfo(): FcrUILatestMessageInfo;
46
47
  set latestsMessageInfo(info: FcrUILatestMessageInfo);
48
+ /**
49
+ * 获取聊天室状态
50
+ * @returns 聊天室状态
51
+ */
52
+ get chatConnectionState(): FcrChatRoomConnectionState;
47
53
  /**
48
54
  * 设置私聊用户
49
55
  * @param user
50
56
  * @param roomType
51
57
  */
52
- setPrivateChatTargetUser(user: FcrUserInfo, roomType: FcrRoomType): void;
58
+ setPrivateChatTargetUser(user: FcrUserInfo, roomType: FcrUIRoomType): void;
53
59
  addObserver(observer: FcrUIChatProviderObserver): void;
54
60
  removeObserver(observer: FcrUIChatProviderObserver): void;
55
61
  }
@@ -57,11 +63,12 @@ export declare class FcrUIChatProviderImpl implements FcrUIChatProvider {
57
63
  private _observable;
58
64
  private _latestsMessageInfo;
59
65
  private _chatRoomObserver;
66
+ accessor chatConnectionState: FcrChatRoomConnectionState;
60
67
  private _waitingChatRoomObserver;
61
68
  constructor(_currentRoomControl: FcrBaseRoomControl, _roomProvider: FcrUIRoomProvider);
62
69
  get latestsMessageInfo(): FcrUILatestMessageInfo;
63
70
  set latestsMessageInfo(info: FcrUILatestMessageInfo);
64
- setPrivateChatTargetUser(user: FcrUserInfo, roomType: FcrRoomType): void;
71
+ setPrivateChatTargetUser(user: FcrUserInfo, roomType: FcrUIRoomType): void;
65
72
  private _handleTextMessageReceived;
66
73
  private _handleConnectionUpdated;
67
74
  private _handleWaitingRoomTextMessageReceived;