fcr-ui-scene 3.4.1 → 3.4.3

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 (657) hide show
  1. package/lib/base.d.ts +40 -5
  2. package/lib/base.js +234 -22
  3. package/lib/common/device-store.d.ts +3 -2
  4. package/lib/common/device-store.js +174 -194
  5. package/lib/common/device-stream-store.d.ts +27 -7
  6. package/lib/common/device-stream-store.js +190 -176
  7. package/lib/common/event-store.d.ts +4 -13
  8. package/lib/common/event-store.js +7 -18
  9. package/lib/common/room-store.js +6 -6
  10. package/lib/common/security-store.d.ts +19 -9
  11. package/lib/common/security-store.js +27 -39
  12. package/lib/creator.d.ts +1 -1
  13. package/lib/creator.js +4 -9
  14. package/lib/electron/app.js +5 -4
  15. package/lib/electron/bootstrap-dev.js +0 -9
  16. package/lib/electron/bootstrap-sdk.js +10 -2
  17. package/lib/electron/injections.d.ts +2 -0
  18. package/lib/electron/injections.js +17 -7
  19. package/lib/electron/logger.d.ts +0 -4
  20. package/lib/electron/logger.js +2 -5
  21. package/lib/electron/main.js +1 -1
  22. package/lib/electron/plugins/devtool-shortcut.js +10 -1
  23. package/lib/electron/plugins/meeting-state.js +1 -1
  24. package/lib/electron/preload.js +3 -1
  25. package/lib/electron/tools.js +0 -4
  26. package/lib/electron/window.js +0 -2
  27. package/lib/fragments/control-bar/control-bar-store.d.ts +1 -0
  28. package/lib/fragments/control-bar/control-bar-store.js +9 -4
  29. package/lib/fragments/control-bar/meeting-details/meeting-detail.css +31 -12
  30. package/lib/fragments/control-bar/meeting-details/meeting-details.js +117 -16
  31. package/lib/global.css +5 -0
  32. package/lib/index.d.ts +1 -0
  33. package/lib/index.js +7 -4
  34. package/lib/login-confirm-dialog.d.ts +1 -0
  35. package/lib/login-confirm-dialog.js +7 -2
  36. package/lib/modules/action-bar/action-bar-collapes-items.d.ts +1 -1
  37. package/lib/modules/action-bar/action-bar-collapes-items.js +11 -11
  38. package/lib/modules/action-bar/apps/useInterpreter.js +2 -4
  39. package/lib/modules/action-bar/components/apps/app-item/index.css +1 -2
  40. package/lib/modules/action-bar/components/apps/app-item/index.d.ts +1 -10
  41. package/lib/modules/action-bar/components/apps/app-item/index.js +0 -2
  42. package/lib/modules/action-bar/components/apps/appitems.d.ts +1 -3
  43. package/lib/modules/action-bar/components/apps/appitems.js +2 -5
  44. package/lib/modules/action-bar/components/apps/index.css +2 -2
  45. package/lib/modules/action-bar/components/apps/index.js +2 -3
  46. package/lib/modules/action-bar/components/apps/useAppItemOptions.js +0 -1
  47. package/lib/modules/action-bar/components/collapse/index.d.ts +8 -0
  48. package/lib/modules/action-bar/components/collapse/index.js +218 -0
  49. package/lib/modules/action-bar/components/interpreter/index.d.ts +1 -5
  50. package/lib/modules/action-bar/components/item/index.d.ts +9 -0
  51. package/lib/modules/action-bar/components/{item.js → item/index.js} +2 -4
  52. package/lib/modules/action-bar/components/leave/assign-host.d.ts +1 -8
  53. package/lib/modules/action-bar/components/leave/assign-host.js +1 -1
  54. package/lib/modules/action-bar/components/leave/index.js +9 -26
  55. package/lib/modules/action-bar/components/leave/leave-meeting.d.ts +1 -16
  56. package/lib/modules/action-bar/components/more/index.js +13 -9
  57. package/lib/modules/action-bar/components/more/poppover-content.d.ts +1 -4
  58. package/lib/modules/action-bar/components/more/poppover-content.js +28 -9
  59. package/lib/modules/action-bar/{notification-bar → components/notification-bar}/components/interpreter/index.js +2 -1
  60. package/lib/modules/action-bar/{notification-bar → components/notification-bar}/components/virtual-image/index.js +1 -1
  61. package/lib/modules/action-bar/{notification-bar → components/notification-bar}/index.js +1 -3
  62. package/lib/modules/action-bar/components/participants/index.js +2 -2
  63. package/lib/modules/action-bar/components/placement/index.d.ts +4 -0
  64. package/lib/modules/action-bar/components/placement/index.js +18 -0
  65. package/lib/modules/action-bar/components/record/stop-record-dialog.d.ts +1 -3
  66. package/lib/modules/action-bar/components/screen-share/submenu.js +25 -2
  67. package/lib/modules/action-bar/components/security/index.js +3 -1
  68. package/lib/modules/action-bar/components/smaller/index.d.ts +1 -0
  69. package/lib/modules/action-bar/components/smaller/index.js +52 -0
  70. package/lib/modules/action-bar/components/trigger-output-language/index.d.ts +2 -0
  71. package/lib/modules/action-bar/components/trigger-output-language/index.js +231 -0
  72. package/lib/modules/action-bar/components/trigger-subscribe-language/guide-tooltip/index.d.ts +3 -0
  73. package/lib/modules/action-bar/{trigger-output-language-room → components/trigger-subscribe-language}/guide-tooltip/index.js +14 -19
  74. package/lib/modules/action-bar/components/trigger-subscribe-language/index.d.ts +5 -0
  75. package/lib/modules/action-bar/components/trigger-subscribe-language/index.js +206 -0
  76. package/lib/modules/action-bar/device/index.js +3 -1
  77. package/lib/modules/action-bar/enums.d.ts +23 -0
  78. package/lib/modules/action-bar/enums.js +35 -0
  79. package/lib/modules/action-bar/index.d.ts +36 -6
  80. package/lib/modules/action-bar/index.dev.d.ts +0 -1
  81. package/lib/modules/action-bar/index.dev.js +94 -121
  82. package/lib/modules/action-bar/index.js +46 -18
  83. package/lib/modules/action-bar/more/index.js +3 -6
  84. package/lib/modules/action-bar/screen-share/index.js +0 -5
  85. package/lib/modules/action-bar/security/index.js +1 -1
  86. package/lib/modules/action-bar/smaller.js +2 -2
  87. package/lib/modules/action-bar/store.d.ts +84 -98
  88. package/lib/modules/action-bar/store.js +567 -713
  89. package/lib/modules/action-bar/switch-output-language-room/index.js +8 -2
  90. package/lib/modules/action-bar/types.d.ts +94 -0
  91. package/lib/modules/action-bar/view.d.ts +1 -2
  92. package/lib/modules/action-bar/view.js +11 -11
  93. package/lib/modules/audio-stream/index.d.ts +22 -10
  94. package/lib/modules/audio-stream/index.js +78 -85
  95. package/lib/modules/chat/chat-bar/index.css +0 -5
  96. package/lib/modules/chat/chat-bar/index.js +14 -16
  97. package/lib/modules/chat/chat-room-store.d.ts +135 -0
  98. package/lib/modules/chat/chat-room-store.js +950 -0
  99. package/lib/modules/chat/chat-select/index.css +3 -6
  100. package/lib/modules/chat/chat-select/index.js +1 -15
  101. package/lib/modules/chat/chat.js +6 -7
  102. package/lib/modules/chat/components/chat-action/index.d.ts +1 -0
  103. package/lib/modules/chat/components/chat-action/index.js +28 -0
  104. package/lib/modules/chat/components/chat-bar/index.css +85 -0
  105. package/lib/modules/chat/components/chat-bar/index.d.ts +3 -0
  106. package/lib/modules/chat/components/chat-bar/index.js +143 -0
  107. package/lib/modules/chat/components/chat-select/index.css +185 -0
  108. package/lib/modules/chat/components/chat-select/index.d.ts +3 -0
  109. package/lib/modules/chat/components/chat-select/index.js +234 -0
  110. package/lib/modules/chat/components/message-list/index.d.ts +4 -0
  111. package/lib/modules/chat/components/message-list/index.js +648 -0
  112. package/lib/modules/chat/index.d.ts +13 -5
  113. package/lib/modules/chat/index.dev.d.ts +0 -1
  114. package/lib/modules/chat/index.dev.js +71 -72
  115. package/lib/modules/chat/index.js +45 -22
  116. package/lib/modules/chat/message-list.js +1 -4
  117. package/lib/modules/chat/mock.d.ts +1 -1
  118. package/lib/modules/chat/store.d.ts +17 -162
  119. package/lib/modules/chat/store.js +95 -964
  120. package/lib/modules/chat/types.d.ts +70 -0
  121. package/lib/modules/chat/types.js +17 -0
  122. package/lib/modules/chat/view.d.ts +10 -0
  123. package/lib/modules/chat/view.js +368 -0
  124. package/lib/modules/components/device-control/components/audio-menu/index.js +4 -3
  125. package/lib/modules/components/device-control/components/microphone/index.js +7 -7
  126. package/lib/modules/components/device-control/components/video-menu/index.js +2 -1
  127. package/lib/modules/components/device-control/store.d.ts +11 -12
  128. package/lib/modules/components/device-control/store.js +46 -50
  129. package/lib/modules/components/leave-meeting/components/assign-host.d.ts +3 -0
  130. package/lib/modules/components/leave-meeting/components/assign-host.js +70 -0
  131. package/lib/modules/components/leave-meeting/components/index.css +125 -0
  132. package/lib/modules/components/leave-meeting/index.d.ts +4 -0
  133. package/lib/modules/components/leave-meeting/index.js +147 -0
  134. package/lib/modules/components/leave-meeting/store.d.ts +31 -0
  135. package/lib/modules/components/leave-meeting/store.js +290 -0
  136. package/lib/modules/components/member-window/index.d.ts +1 -1
  137. package/lib/modules/components/member-window/index.js +12 -10
  138. package/lib/modules/components/security-menu/index.d.ts +2 -0
  139. package/lib/modules/components/security-menu/index.js +35 -39
  140. package/lib/modules/components/tab-frame/index.d.ts +2 -2
  141. package/lib/modules/components/tab-frame/index.js +24 -7
  142. package/lib/modules/connection-gateway/components/computer/index.js +4 -4
  143. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.d.ts +1 -1
  144. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.js +2 -1
  145. package/lib/modules/connection-gateway/components/phone/index.js +4 -3
  146. package/lib/modules/connection-gateway/enums.d.ts +4 -0
  147. package/lib/modules/connection-gateway/enums.js +12 -0
  148. package/lib/modules/connection-gateway/index.d.ts +13 -4
  149. package/lib/modules/connection-gateway/index.js +25 -15
  150. package/lib/modules/connection-gateway/store.d.ts +22 -18
  151. package/lib/modules/connection-gateway/store.js +60 -40
  152. package/lib/modules/connection-gateway/types.d.ts +4 -0
  153. package/lib/modules/connection-gateway/types.js +6 -0
  154. package/lib/modules/connection-gateway/view.js +2 -2
  155. package/lib/modules/control-bar/components/meeting-details/index.js +25 -28
  156. package/lib/modules/control-bar/components/more-actions/index.css +18 -0
  157. package/lib/modules/control-bar/components/more-actions/index.d.ts +1 -5
  158. package/lib/modules/control-bar/components/more-actions/index.js +48 -11
  159. package/lib/modules/control-bar/components/share-state-nav/index.d.ts +1 -7
  160. package/lib/modules/control-bar/components/share-state-nav/index.js +2 -1
  161. package/lib/modules/control-bar/components/stop-live-streaming/stop-button.d.ts +1 -1
  162. package/lib/modules/control-bar/components/stop-live-streaming/stop-button.js +2 -2
  163. package/lib/modules/control-bar/components/transfer-position-icon/index.d.ts +1 -10
  164. package/lib/modules/control-bar/components/transfer-position-icon/index.js +7 -12
  165. package/lib/modules/control-bar/enums.d.ts +21 -0
  166. package/lib/modules/control-bar/enums.js +31 -0
  167. package/lib/modules/control-bar/index.d.ts +30 -7
  168. package/lib/modules/control-bar/index.js +46 -29
  169. package/lib/modules/control-bar/store.d.ts +38 -26
  170. package/lib/modules/control-bar/store.js +172 -286
  171. package/lib/modules/control-bar/types.d.ts +20 -0
  172. package/lib/modules/control-bar/types.js +6 -0
  173. package/lib/modules/control-bar/view.js +68 -36
  174. package/lib/modules/device-pretest/index.js +4 -4
  175. package/lib/modules/device-pretest/settings/beauty.js +2 -1
  176. package/lib/modules/device-pretest/settings/video-settings-basic.js +1 -1
  177. package/lib/modules/device-pretest/settings/virtual-background-setting.js +2 -1
  178. package/lib/modules/device-pretest/store.d.ts +8 -9
  179. package/lib/modules/device-pretest/store.js +51 -37
  180. package/lib/modules/dialog/components/chat/electron.d.ts +1 -1
  181. package/lib/modules/dialog/components/chat/electron.js +19 -10
  182. package/lib/modules/dialog/components/chat/index.js +2 -2
  183. package/lib/modules/dialog/components/confirm/index.js +1 -1
  184. package/lib/modules/dialog/components/connection-gateway/electron.d.ts +1 -1
  185. package/lib/modules/dialog/components/connection-gateway/electron.js +8 -10
  186. package/lib/modules/dialog/components/connection-gateway/index.d.ts +3 -1
  187. package/lib/modules/dialog/components/connection-gateway/index.js +20 -7
  188. package/lib/modules/dialog/components/connection-gateway/tabs.d.ts +6 -0
  189. package/lib/modules/dialog/components/connection-gateway/tabs.js +44 -0
  190. package/lib/modules/dialog/components/control-bar/index.d.ts +5 -1
  191. package/lib/modules/dialog/components/control-bar/index.js +122 -9
  192. package/lib/modules/dialog/components/device-setting/electron.js +6 -2
  193. package/lib/modules/dialog/components/device-setting/index.js +2 -2
  194. package/lib/modules/dialog/components/dialog-container/component/body.js +75 -0
  195. package/lib/modules/{components → dialog/components}/dialog-container/index.css +6 -3
  196. package/lib/modules/{components → dialog/components}/dialog-container/index.d.ts +7 -2
  197. package/lib/modules/{components → dialog/components}/dialog-container/index.js +27 -25
  198. package/lib/modules/dialog/components/interpreter/electron.js +37 -0
  199. package/lib/modules/dialog/components/{Interpreter → interpreter}/index.js +2 -2
  200. package/lib/modules/dialog/components/invite/index.js +32 -7
  201. package/lib/modules/dialog/components/live-streaming/index.js +9 -5
  202. package/lib/modules/dialog/components/participant/electron.js +11 -5
  203. package/lib/modules/dialog/components/participant/index.js +4 -3
  204. package/lib/modules/dialog/components/remove-admit-waiting-room/electron.js +6 -3
  205. package/lib/modules/dialog/components/remove-admit-waiting-room/index.d.ts +1 -1
  206. package/lib/modules/dialog/components/remove-admit-waiting-room/index.js +14 -4
  207. package/lib/modules/dialog/components/share-screen-selection/index.js +9 -5
  208. package/lib/modules/dialog/components/system-preference/electron.js +1 -1
  209. package/lib/modules/dialog/components/system-preference/index.js +0 -2
  210. package/lib/modules/dialog/components/toast/index.js +1 -1
  211. package/lib/modules/dialog/components/video-window/index.d.ts +2 -0
  212. package/lib/modules/dialog/components/video-window/index.js +148 -0
  213. package/lib/modules/dialog/components/whiteboard/index.js +2 -2
  214. package/lib/modules/dialog/dialogs.d.ts +2 -5
  215. package/lib/modules/dialog/dialogs.js +2 -157
  216. package/lib/modules/dialog/hooks/useElectron.d.ts +3 -25
  217. package/lib/modules/dialog/hooks/useElectron.js +90 -36
  218. package/lib/modules/dialog/index.d.ts +30 -4
  219. package/lib/modules/dialog/index.js +61 -7
  220. package/lib/modules/dialog/store.d.ts +46 -12
  221. package/lib/modules/dialog/store.js +121 -68
  222. package/lib/modules/dialog/types/index.d.ts +14 -3
  223. package/lib/modules/dialog/view.js +2 -1
  224. package/lib/modules/event-confirm/index.css +1 -1
  225. package/lib/modules/event-confirm/index.d.ts +13 -6
  226. package/lib/modules/event-confirm/index.js +28 -11
  227. package/lib/modules/event-confirm/store.d.ts +9 -3
  228. package/lib/modules/event-confirm/store.js +16 -10
  229. package/lib/modules/event-confirm/view.js +7 -6
  230. package/lib/modules/event-toast/index.d.ts +7 -6
  231. package/lib/modules/event-toast/index.js +19 -8
  232. package/lib/modules/event-toast/store.d.ts +8 -3
  233. package/lib/modules/event-toast/store.js +15 -8
  234. package/lib/modules/event-toast/view.js +2 -1
  235. package/lib/modules/{Interpreter → interpreter}/action/delete-btn/index.d.ts +2 -2
  236. package/lib/modules/{Interpreter → interpreter}/action/edit-btn/index.js +2 -2
  237. package/lib/modules/{Interpreter → interpreter}/action/switch-btn/index.js +5 -5
  238. package/lib/modules/{Interpreter → interpreter}/constant.d.ts +0 -4
  239. package/lib/modules/{Interpreter → interpreter}/constant.js +3 -45
  240. package/lib/modules/{Interpreter → interpreter}/dialog-content/index.d.ts +2 -2
  241. package/lib/modules/{Interpreter → interpreter}/dialog-content/index.js +4 -4
  242. package/lib/modules/interpreter/index.d.ts +15 -0
  243. package/lib/modules/{Interpreter → interpreter}/index.js +23 -8
  244. package/lib/modules/{Interpreter → interpreter}/interpreter-list/index.js +2 -2
  245. package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/index.d.ts +2 -2
  246. package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/index.js +5 -8
  247. package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/index.js +0 -2
  248. package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-user/index.d.ts +2 -2
  249. package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-user/index.js +14 -18
  250. package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/index.d.ts +2 -2
  251. package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/index.js +2 -2
  252. package/lib/modules/interpreter/store.d.ts +50 -0
  253. package/lib/modules/interpreter/store.js +584 -0
  254. package/lib/modules/interpreter/type.d.ts +24 -0
  255. package/lib/modules/interpreter/type.js +12 -0
  256. package/lib/modules/{Interpreter → interpreter}/utils.d.ts +1 -5
  257. package/lib/modules/interpreter/utils.js +80 -0
  258. package/lib/modules/{Interpreter → interpreter}/view.js +19 -3
  259. package/lib/modules/invite/components/error-tips.d.ts +4 -0
  260. package/lib/modules/invite/components/error-tips.js +18 -0
  261. package/lib/modules/invite/components/pstn-invite.d.ts +2 -0
  262. package/lib/modules/invite/components/pstn-invite.js +288 -0
  263. package/lib/modules/invite/components/voip-invite.d.ts +1 -0
  264. package/lib/modules/invite/components/voip-invite.js +276 -0
  265. package/lib/modules/invite/enums.d.ts +22 -0
  266. package/lib/modules/invite/enums.js +34 -0
  267. package/lib/modules/invite/index.d.ts +7 -8
  268. package/lib/modules/invite/index.js +17 -15
  269. package/lib/modules/invite/store.d.ts +13 -26
  270. package/lib/modules/invite/store.js +62 -26
  271. package/lib/modules/invite/types.d.ts +14 -0
  272. package/lib/modules/invite/types.js +6 -0
  273. package/lib/modules/invite/view.d.ts +0 -4
  274. package/lib/modules/invite/view.js +7 -11
  275. package/lib/modules/invite/voip-invite.js +3 -3
  276. package/lib/modules/layout/components/Aside.js +34 -17
  277. package/lib/modules/layout/components/Carousel.js +3 -2
  278. package/lib/modules/layout/components/Gallery.js +3 -3
  279. package/lib/modules/layout/components/Layout.js +4 -7
  280. package/lib/modules/layout/components/index.d.ts +1 -1
  281. package/lib/modules/layout/components/index.js +4 -5
  282. package/lib/modules/layout/components/who-is-speaking.d.ts +2 -0
  283. package/lib/modules/layout/components/who-is-speaking.js +60 -0
  284. package/lib/modules/layout/index.d.ts +26 -4
  285. package/lib/modules/layout/index.dev.d.ts +0 -1
  286. package/lib/modules/layout/index.dev.js +312 -386
  287. package/lib/modules/layout/index.js +25 -10
  288. package/lib/modules/layout/member-window/index.css +9 -22
  289. package/lib/modules/layout/member-window/index.d.ts +1 -1
  290. package/lib/modules/layout/member-window/index.js +26 -27
  291. package/lib/modules/layout/store.d.ts +61 -71
  292. package/lib/modules/layout/store.js +311 -576
  293. package/lib/modules/layout/type.js +2 -0
  294. package/lib/modules/layout/video-window-datasource.js +0 -4
  295. package/lib/modules/layout/view.d.ts +2 -0
  296. package/lib/modules/layout/view.js +127 -2
  297. package/lib/modules/live-streaming/index.d.ts +15 -7
  298. package/lib/modules/live-streaming/index.dev.js +13 -13
  299. package/lib/modules/live-streaming/index.js +20 -15
  300. package/lib/modules/live-streaming/store.d.ts +21 -14
  301. package/lib/modules/live-streaming/store.js +83 -144
  302. package/lib/modules/live-streaming/view.js +2 -2
  303. package/lib/modules/notification/index.d.ts +9 -11
  304. package/lib/modules/notification/index.js +21 -14
  305. package/lib/modules/notification/interpreter-status/index.js +3 -3
  306. package/lib/modules/notification/store.d.ts +5 -11
  307. package/lib/modules/notification/store.js +12 -62
  308. package/lib/modules/notification/view.d.ts +5 -3
  309. package/lib/modules/notification/view.js +8 -5
  310. package/lib/modules/offscreen-pulling/index.js +1 -2
  311. package/lib/modules/participant/attendee/index.css +51 -0
  312. package/lib/modules/participant/attendee/index.d.ts +5 -8
  313. package/lib/modules/participant/attendee/index.js +15 -64
  314. package/lib/modules/participant/components/attendee/components/microphone-indicator/index.d.ts +6 -0
  315. package/lib/modules/participant/components/attendee/components/microphone-indicator/index.js +28 -0
  316. package/lib/modules/participant/components/attendee/components/user-avatar/index.d.ts +7 -0
  317. package/lib/modules/participant/components/attendee/components/user-avatar/index.js +39 -0
  318. package/lib/modules/participant/components/attendee/index.css +69 -0
  319. package/lib/modules/participant/components/attendee/index.d.ts +4 -0
  320. package/lib/modules/participant/components/attendee/index.js +334 -0
  321. package/lib/modules/participant/components/can-moveable/index.d.ts +1 -0
  322. package/lib/modules/participant/components/can-moveable/index.js +68 -0
  323. package/lib/modules/participant/components/drop-menu/index.js +8 -11
  324. package/lib/modules/participant/components/footer/buttons.d.ts +2 -3
  325. package/lib/modules/participant/components/footer/buttons.js +2 -3
  326. package/lib/modules/participant/components/footer/index.js +2 -2
  327. package/lib/modules/participant/components/mute-all/index.d.ts +3 -4
  328. package/lib/modules/participant/components/mute-all/index.js +31 -44
  329. package/lib/modules/participant/components/operate-waitingroom-member/index.d.ts +2 -0
  330. package/lib/modules/participant/components/operate-waitingroom-member/index.js +48 -0
  331. package/lib/modules/participant/components/participants/index.js +27 -51
  332. package/lib/modules/participant/components/user-action/index.d.ts +17 -0
  333. package/lib/modules/participant/components/user-action/index.js +167 -0
  334. package/lib/modules/participant/index.d.ts +34 -7
  335. package/lib/modules/participant/index.dev.d.ts +0 -1
  336. package/lib/modules/participant/index.dev.js +87 -116
  337. package/lib/modules/participant/index.js +39 -15
  338. package/lib/modules/participant/member-list-data-source.d.ts +4 -1
  339. package/lib/modules/participant/member-list-data-source.js +57 -33
  340. package/lib/modules/participant/store.d.ts +58 -25
  341. package/lib/modules/participant/store.js +321 -303
  342. package/lib/modules/participant/type.d.ts +45 -1
  343. package/lib/modules/participant/type.js +15 -1
  344. package/lib/modules/pc-audio-connect/index.css +12 -0
  345. package/lib/modules/pc-audio-connect/index.d.ts +22 -0
  346. package/lib/modules/pc-audio-connect/index.js +68 -0
  347. package/lib/modules/pc-audio-connect/store.d.ts +46 -0
  348. package/lib/modules/pc-audio-connect/store.js +300 -0
  349. package/lib/modules/pc-audio-connect/types.d.ts +0 -0
  350. package/lib/modules/pc-audio-connect/types.js +1 -0
  351. package/lib/modules/pc-audio-connect/view.d.ts +3 -0
  352. package/lib/modules/pc-audio-connect/view.js +66 -0
  353. package/lib/modules/phone-audio-connect/components/callinfo/index.css +36 -0
  354. package/lib/modules/phone-audio-connect/components/callinfo/index.d.ts +10 -0
  355. package/lib/modules/phone-audio-connect/components/callinfo/index.js +78 -0
  356. package/lib/modules/phone-audio-connect/components/calling/index.css +72 -0
  357. package/lib/modules/phone-audio-connect/components/calling/index.d.ts +7 -0
  358. package/lib/modules/phone-audio-connect/components/calling/index.js +58 -0
  359. package/lib/modules/phone-audio-connect/components/remeber/index.css +10 -0
  360. package/lib/modules/phone-audio-connect/components/remeber/index.d.ts +5 -0
  361. package/lib/modules/phone-audio-connect/components/remeber/index.js +24 -0
  362. package/lib/modules/phone-audio-connect/components/useing/index.css +46 -0
  363. package/lib/modules/phone-audio-connect/components/useing/index.d.ts +3 -0
  364. package/lib/modules/phone-audio-connect/components/useing/index.js +36 -0
  365. package/lib/modules/phone-audio-connect/enums.d.ts +4 -0
  366. package/lib/modules/phone-audio-connect/enums.js +12 -0
  367. package/lib/modules/phone-audio-connect/index.css +56 -0
  368. package/lib/modules/phone-audio-connect/index.d.ts +16 -0
  369. package/lib/modules/phone-audio-connect/index.js +63 -0
  370. package/lib/modules/phone-audio-connect/store.d.ts +46 -0
  371. package/lib/modules/phone-audio-connect/store.js +317 -0
  372. package/lib/modules/phone-audio-connect/types.d.ts +4 -0
  373. package/lib/modules/phone-audio-connect/types.js +6 -0
  374. package/lib/modules/phone-audio-connect/view.d.ts +3 -0
  375. package/lib/modules/phone-audio-connect/view.js +185 -0
  376. package/lib/modules/setting/audio-settings/audio-settings.js +6 -6
  377. package/lib/modules/setting/index.d.ts +25 -5
  378. package/lib/modules/setting/index.dev.d.ts +0 -1
  379. package/lib/modules/setting/index.dev.js +120 -81
  380. package/lib/modules/setting/index.js +35 -9
  381. package/lib/modules/setting/minutes-settings/minutes-settings.js +3 -2
  382. package/lib/modules/setting/state/index.js +3 -7
  383. package/lib/modules/setting/store.d.ts +48 -14
  384. package/lib/modules/setting/store.js +105 -118
  385. package/lib/modules/setting/translate-settings/translate-settings.js +4 -4
  386. package/lib/modules/setting/video-settings/video-settings-basic.js +19 -22
  387. package/lib/modules/setting/view.js +6 -35
  388. package/lib/modules/share-screen/components/selection/index.css +70 -0
  389. package/lib/modules/share-screen/components/selection/index.d.ts +2 -0
  390. package/lib/modules/share-screen/components/selection/index.js +267 -0
  391. package/lib/modules/share-screen/components/share-state-bar/index.css +76 -0
  392. package/lib/modules/share-screen/components/share-state-bar/index.d.ts +4 -0
  393. package/lib/modules/share-screen/components/share-state-bar/index.js +98 -0
  394. package/lib/modules/share-screen/index.d.ts +15 -18
  395. package/lib/modules/share-screen/index.dev.d.ts +0 -1
  396. package/lib/modules/share-screen/index.dev.js +90 -91
  397. package/lib/modules/share-screen/index.js +22 -22
  398. package/lib/modules/share-screen/selection/index.css +0 -2
  399. package/lib/modules/share-screen/selection/index.js +97 -83
  400. package/lib/modules/share-screen/store.d.ts +36 -32
  401. package/lib/modules/share-screen/store.js +249 -222
  402. package/lib/modules/share-screen/types.d.ts +27 -0
  403. package/lib/modules/share-screen/types.js +6 -0
  404. package/lib/modules/share-screen/view.js +1 -1
  405. package/lib/modules/sound-effect/index.d.ts +9 -4
  406. package/lib/modules/sound-effect/index.js +72 -41
  407. package/lib/modules/sound-effect/sound-effect-player.js +1 -1
  408. package/lib/modules/state-bar/index.d.ts +16 -13
  409. package/lib/modules/state-bar/index.dev.d.ts +0 -1
  410. package/lib/modules/state-bar/index.dev.js +78 -83
  411. package/lib/modules/state-bar/index.js +23 -7
  412. package/lib/modules/state-bar/layout-config.js +2 -1
  413. package/lib/modules/state-bar/live-streaming-state.js +0 -1
  414. package/lib/modules/state-bar/meeting-details.js +31 -24
  415. package/lib/modules/state-bar/meeting-network-state.js +1 -1
  416. package/lib/modules/state-bar/store.d.ts +20 -10
  417. package/lib/modules/state-bar/store.js +84 -88
  418. package/lib/modules/state-bar/view.js +2 -2
  419. package/lib/modules/video-window/deviceState/index.d.ts +2 -2
  420. package/lib/modules/video-window/deviceState/index.js +4 -6
  421. package/lib/modules/video-window/index.css +1 -4
  422. package/lib/modules/video-window/index.d.ts +33 -6
  423. package/lib/modules/video-window/index.js +63 -15
  424. package/lib/modules/video-window/members/index.css +1 -0
  425. package/lib/modules/video-window/members/index.js +27 -12
  426. package/lib/modules/video-window/store.d.ts +58 -27
  427. package/lib/modules/video-window/store.js +166 -165
  428. package/lib/modules/video-window/topControl/index.js +0 -2
  429. package/lib/modules/waiting-room-layout/index.d.ts +11 -4
  430. package/lib/modules/waiting-room-layout/index.js +26 -13
  431. package/lib/modules/waiting-room-layout/store.d.ts +6 -3
  432. package/lib/modules/waiting-room-layout/store.js +17 -15
  433. package/lib/modules/whiteboard/components/control-bar/store.d.ts +4 -4
  434. package/lib/modules/whiteboard/components/control-bar/store.js +8 -8
  435. package/lib/modules/whiteboard/components/switch-theme/index.js +0 -2
  436. package/lib/modules/whiteboard/components/switch-theme/item.js +2 -1
  437. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/panel.js +2 -1
  438. package/lib/modules/whiteboard/components/toolbar/components/color-picker/index.js +2 -1
  439. package/lib/modules/whiteboard/components/toolbar/components/extra-tool-picker.js +1 -1
  440. package/lib/modules/whiteboard/components/toolbar/components/move-handle.js +0 -2
  441. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +2 -1
  442. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +2 -1
  443. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +0 -2
  444. package/lib/modules/whiteboard/components/toolbar/index.js +1 -4
  445. package/lib/modules/whiteboard/index.d.ts +20 -14
  446. package/lib/modules/whiteboard/index.js +250 -227
  447. package/lib/modules/whiteboard/view.d.ts +2 -0
  448. package/lib/modules/whiteboard/view.js +49 -0
  449. package/lib/plugins/browser-runtime-plugin.js +5 -1
  450. package/lib/providers/chat-provider.d.ts +71 -0
  451. package/lib/providers/chat-provider.js +91 -0
  452. package/lib/providers/device-privilege-provider.d.ts +52 -6
  453. package/lib/providers/device-privilege-provider.js +212 -185
  454. package/lib/providers/device-provider.d.ts +203 -45
  455. package/lib/providers/device-provider.js +486 -403
  456. package/lib/providers/device-stream-provider.d.ts +12 -13
  457. package/lib/providers/device-stream-provider.js +86 -194
  458. package/lib/providers/dialog-provider.d.ts +135 -0
  459. package/lib/providers/dialog-provider.js +202 -0
  460. package/lib/providers/event-provider.d.ts +1 -21
  461. package/lib/providers/event-provider.js +19 -59
  462. package/lib/providers/interpreter-provider.d.ts +218 -7
  463. package/lib/providers/interpreter-provider.js +1069 -81
  464. package/lib/providers/local-storage-provider.d.ts +9 -0
  465. package/lib/providers/message-provider.d.ts +69 -0
  466. package/lib/providers/message-provider.js +96 -0
  467. package/lib/providers/monitor-provider.d.ts +5 -0
  468. package/lib/providers/phone-audio-provider.d.ts +131 -0
  469. package/lib/providers/phone-audio-provider.js +512 -0
  470. package/lib/providers/privilege-provider.d.ts +325 -12
  471. package/lib/providers/privilege-provider.js +111 -299
  472. package/lib/providers/renderer-provider.d.ts +46 -4
  473. package/lib/providers/renderer-provider.js +57 -61
  474. package/lib/providers/room-provider.d.ts +113 -6
  475. package/lib/providers/room-provider.js +665 -88
  476. package/lib/providers/screen-share-provider.d.ts +65 -0
  477. package/lib/providers/screen-share-provider.js +237 -0
  478. package/lib/providers/session-provider.d.ts +30 -0
  479. package/lib/runtime.d.ts +2 -0
  480. package/lib/scenes/main-scene.d.ts +41 -3
  481. package/lib/scenes/main-scene.js +407 -248
  482. package/lib/scenes/waiting-scene.d.ts +34 -4
  483. package/lib/scenes/waiting-scene.js +163 -56
  484. package/lib/shared-data-source/chat-data.d.ts +14 -0
  485. package/lib/{common/remote-renderer.js → shared-data-source/chat-data.js} +67 -77
  486. package/lib/shared-data-source/device-privilege-data.d.ts +8 -0
  487. package/lib/shared-data-source/device-privilege-data.js +25 -0
  488. package/lib/shared-data-source/interpreter.d.ts +63 -0
  489. package/lib/shared-data-source/interpreter.js +246 -0
  490. package/lib/shared-data-source/layout-data.d.ts +29 -0
  491. package/lib/shared-data-source/layout-data.js +178 -0
  492. package/lib/shared-data-source/pin-data.d.ts +9 -0
  493. package/lib/shared-data-source/pin-data.js +24 -0
  494. package/lib/shared-data-source/setting.d.ts +32 -0
  495. package/lib/shared-data-source/setting.js +151 -0
  496. package/lib/shared-data-source/speaker-spotlight.d.ts +5 -0
  497. package/lib/shared-data-source/speaker-spotlight.js +15 -0
  498. package/lib/shared-data-source/video-window.d.ts +161 -0
  499. package/lib/shared-data-source/video-window.js +1198 -0
  500. package/lib/shared-data-source/waiting-room.d.ts +19 -0
  501. package/lib/shared-data-source/waiting-room.js +157 -0
  502. package/lib/translations/enUS.d.ts +48 -17
  503. package/lib/translations/enUS.js +67 -35
  504. package/lib/translations/zhCN.d.ts +48 -17
  505. package/lib/translations/zhCN.js +68 -36
  506. package/lib/type.d.ts +270 -25
  507. package/lib/type.js +81 -2
  508. package/lib/ui-manager.d.ts +20 -16
  509. package/lib/ui-manager.js +59 -795
  510. package/lib/ui-scene.d.ts +6 -1
  511. package/lib/ui-scene.js +371 -43
  512. package/lib/utilities/constant.d.ts +63 -86
  513. package/lib/utilities/constant.js +158 -175
  514. package/lib/utilities/copyText.js +8 -7
  515. package/lib/utilities/meeting-detail.d.ts +2 -0
  516. package/lib/utilities/meeting-detail.js +39 -0
  517. package/lib/utilities/privilege.d.ts +4 -0
  518. package/lib/utilities/privilege.js +29 -0
  519. package/lib/utilities/renderer-event.js +0 -2
  520. package/lib/utilities/renderer.js +0 -1
  521. package/lib/utilities/setting-config-storage.d.ts +12 -0
  522. package/lib/utilities/setting-config-storage.js +100 -0
  523. package/lib/utilities/tools.d.ts +35 -3
  524. package/lib/utilities/tools.js +103 -4
  525. package/lib/utilities/video-track-render-context.d.ts +3 -4
  526. package/lib/utilities/video-track-render-context.js +1 -1
  527. package/package.json +10 -5
  528. package/public/assets/full-screen-error-boundary-img.png +0 -0
  529. package/public/assets/leave-meeting.png +0 -0
  530. package/public/index.html +24 -14
  531. package/lib/ scenes/base.d.ts +0 -10
  532. package/lib/ scenes/base.js +0 -75
  533. package/lib/ scenes/main-scene.d.ts +0 -43
  534. package/lib/ scenes/main-scene.js +0 -368
  535. package/lib/ scenes/waiting-scene.d.ts +0 -31
  536. package/lib/ scenes/waiting-scene.js +0 -119
  537. package/lib/common/remote-renderer.d.ts +0 -15
  538. package/lib/common/type.d.ts +0 -8
  539. package/lib/electron/bootstrap.d.ts +0 -1
  540. package/lib/electron/bootstrap.js +0 -56
  541. package/lib/electron/dev.d.ts +0 -1
  542. package/lib/electron/dev.js +0 -51
  543. package/lib/error-fallback.css +0 -62
  544. package/lib/error-fallback.d.ts +0 -2
  545. package/lib/error-fallback.js +0 -19
  546. package/lib/modules/Interpreter/context.d.ts +0 -2
  547. package/lib/modules/Interpreter/context.js +0 -9
  548. package/lib/modules/Interpreter/index.d.ts +0 -8
  549. package/lib/modules/Interpreter/store.d.ts +0 -111
  550. package/lib/modules/Interpreter/store.js +0 -1601
  551. package/lib/modules/Interpreter/type.d.ts +0 -41
  552. package/lib/modules/Interpreter/type.js +0 -20
  553. package/lib/modules/Interpreter/utils.js +0 -139
  554. package/lib/modules/action-bar/components/device/index.css +0 -162
  555. package/lib/modules/action-bar/components/device/index.d.ts +0 -8
  556. package/lib/modules/action-bar/components/device/index.js +0 -611
  557. package/lib/modules/action-bar/components/item.d.ts +0 -27
  558. package/lib/modules/action-bar/trigger-input-language-room/index.d.ts +0 -15
  559. package/lib/modules/action-bar/trigger-input-language-room/index.js +0 -220
  560. package/lib/modules/action-bar/trigger-output-language-room/constant.d.ts +0 -10
  561. package/lib/modules/action-bar/trigger-output-language-room/constant.js +0 -8
  562. package/lib/modules/action-bar/trigger-output-language-room/guide-tooltip/index.d.ts +0 -14
  563. package/lib/modules/action-bar/trigger-output-language-room/index.d.ts +0 -4
  564. package/lib/modules/action-bar/trigger-output-language-room/index.js +0 -98
  565. package/lib/modules/action-bar/trigger-output-language-room/trigger-language-room.d.ts +0 -5
  566. package/lib/modules/action-bar/trigger-output-language-room/trigger-language-room.js +0 -66
  567. package/lib/modules/action-bar/trigger-output-language-room/trigger-main-room.d.ts +0 -5
  568. package/lib/modules/action-bar/trigger-output-language-room/trigger-main-room.js +0 -36
  569. package/lib/modules/action-bar/trigger-output-language-room/useChangeOutputRoomTool.d.ts +0 -12
  570. package/lib/modules/action-bar/trigger-output-language-room/useChangeOutputRoomTool.js +0 -138
  571. package/lib/modules/components/dialog-container/component/body.js +0 -46
  572. package/lib/modules/dialog/components/Interpreter/electron.js +0 -31
  573. package/lib/modules/dialog/components/Interpreter/user-queue/index.css +0 -36
  574. package/lib/modules/dialog/components/Interpreter/user-queue/index.d.ts +0 -3
  575. package/lib/modules/dialog/components/Interpreter/user-queue/index.js +0 -47
  576. package/lib/modules/notification/context.d.ts +0 -2
  577. package/lib/modules/notification/context.js +0 -9
  578. package/lib/modules/participant/attendee/participants-more-action.d.ts +0 -18
  579. package/lib/modules/participant/attendee/participants-more-action.js +0 -278
  580. package/lib/scenes/base.d.ts +0 -10
  581. package/lib/scenes/base.js +0 -75
  582. package/lib/ui-node.d.ts +0 -25
  583. package/lib/ui-node.js +0 -156
  584. /package/lib/modules/action-bar/{notification-bar → components/notification-bar/assets}/dome.png +0 -0
  585. /package/lib/modules/action-bar/{notification-bar → components/notification-bar/assets}/fcr_translateswitch.png +0 -0
  586. /package/lib/modules/action-bar/{notification-bar → components/notification-bar}/components/interpreter/index.css +0 -0
  587. /package/lib/modules/action-bar/{notification-bar → components/notification-bar}/components/interpreter/index.d.ts +0 -0
  588. /package/lib/modules/action-bar/{notification-bar → components/notification-bar}/components/virtual-image/index.css +0 -0
  589. /package/lib/modules/action-bar/{notification-bar → components/notification-bar}/components/virtual-image/index.d.ts +0 -0
  590. /package/lib/modules/action-bar/{notification-bar → components/notification-bar}/index.css +0 -0
  591. /package/lib/modules/action-bar/{notification-bar → components/notification-bar}/index.d.ts +0 -0
  592. /package/lib/modules/action-bar/{trigger-input-language-room → components/trigger-output-language}/fcr_translateswitch.png +0 -0
  593. /package/lib/modules/action-bar/{trigger-input-language-room → components/trigger-output-language}/index.css +0 -0
  594. /package/lib/modules/action-bar/{trigger-output-language-room → components/trigger-subscribe-language}/guide-tooltip/index.css +0 -0
  595. /package/lib/modules/action-bar/{Interpreter → interpreter}/index.d.ts +0 -0
  596. /package/lib/modules/action-bar/{Interpreter → interpreter}/index.js +0 -0
  597. /package/lib/{common/type.js → modules/action-bar/types.js} +0 -0
  598. /package/lib/modules/{components → dialog/components}/dialog-container/component/body.d.ts +0 -0
  599. /package/lib/modules/dialog/components/{Interpreter → interpreter}/electron.d.ts +0 -0
  600. /package/lib/modules/dialog/components/{Interpreter → interpreter}/index.css +0 -0
  601. /package/lib/modules/dialog/components/{Interpreter → interpreter}/index.d.ts +0 -0
  602. /package/lib/modules/{Interpreter → interpreter}/action/add-btn/index.css +0 -0
  603. /package/lib/modules/{Interpreter → interpreter}/action/add-btn/index.d.ts +0 -0
  604. /package/lib/modules/{Interpreter → interpreter}/action/add-btn/index.js +0 -0
  605. /package/lib/modules/{Interpreter → interpreter}/action/delete-btn/index.css +0 -0
  606. /package/lib/modules/{Interpreter → interpreter}/action/delete-btn/index.js +0 -0
  607. /package/lib/modules/{Interpreter → interpreter}/action/edit-btn/index.css +0 -0
  608. /package/lib/modules/{Interpreter → interpreter}/action/edit-btn/index.d.ts +0 -0
  609. /package/lib/modules/{Interpreter → interpreter}/action/switch-btn/index.css +0 -0
  610. /package/lib/modules/{Interpreter → interpreter}/action/switch-btn/index.d.ts +0 -0
  611. /package/lib/modules/{Interpreter → interpreter}/add-button/index.css +0 -0
  612. /package/lib/modules/{Interpreter → interpreter}/add-button/index.d.ts +0 -0
  613. /package/lib/modules/{Interpreter → interpreter}/add-button/index.js +0 -0
  614. /package/lib/modules/{Interpreter → interpreter}/config.d.ts +0 -0
  615. /package/lib/modules/{Interpreter → interpreter}/config.js +0 -0
  616. /package/lib/modules/{Interpreter → interpreter}/dialog-content/index.css +0 -0
  617. /package/lib/modules/{Interpreter → interpreter}/footer/components/interpreter-btn/index.d.ts +0 -0
  618. /package/lib/modules/{Interpreter → interpreter}/footer/components/interpreter-btn/index.js +0 -0
  619. /package/lib/modules/{Interpreter → interpreter}/footer/components/set-btn/index.d.ts +0 -0
  620. /package/lib/modules/{Interpreter → interpreter}/footer/components/set-btn/index.js +0 -0
  621. /package/lib/modules/{Interpreter → interpreter}/footer/components/tooltip-wrapper/index.d.ts +0 -0
  622. /package/lib/modules/{Interpreter → interpreter}/footer/components/tooltip-wrapper/index.js +0 -0
  623. /package/lib/modules/{Interpreter → interpreter}/footer/index.css +0 -0
  624. /package/lib/modules/{Interpreter → interpreter}/footer/index.d.ts +0 -0
  625. /package/lib/modules/{Interpreter → interpreter}/footer/index.js +0 -0
  626. /package/lib/modules/{Interpreter → interpreter}/index.css +0 -0
  627. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/index.css +0 -0
  628. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/index.d.ts +0 -0
  629. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/index.css +0 -0
  630. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_ar.png +0 -0
  631. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_cn.png +0 -0
  632. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_de.png +0 -0
  633. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_en.png +0 -0
  634. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_es.png +0 -0
  635. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_fr.png +0 -0
  636. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_hi.png +0 -0
  637. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_id.png +0 -0
  638. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_it.png +0 -0
  639. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_jp.png +0 -0
  640. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_ko.png +0 -0
  641. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_ms.png +0 -0
  642. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_pt.png +0 -0
  643. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_ru.png +0 -0
  644. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_th.png +0 -0
  645. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_tr.png +0 -0
  646. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_vi.png +0 -0
  647. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/index.d.ts +0 -0
  648. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-user/index.css +0 -0
  649. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-user/option-Item.d.ts +0 -0
  650. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-user/option-Item.js +0 -0
  651. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/index.css +0 -0
  652. /package/lib/modules/{Interpreter → interpreter}/loading-wrapper/index.css +0 -0
  653. /package/lib/modules/{Interpreter → interpreter}/loading-wrapper/index.d.ts +0 -0
  654. /package/lib/modules/{Interpreter → interpreter}/loading-wrapper/index.js +0 -0
  655. /package/lib/modules/{Interpreter → interpreter}/tooltip-wrapper/index.d.ts +0 -0
  656. /package/lib/modules/{Interpreter → interpreter}/tooltip-wrapper/index.js +0 -0
  657. /package/lib/modules/{Interpreter → interpreter}/view.d.ts +0 -0
@@ -0,0 +1,1198 @@
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.iterator.js");
6
+ require("core-js/modules/es.symbol.to-primitive.js");
7
+ require("core-js/modules/es.error.cause.js");
8
+ require("core-js/modules/es.error.to-string.js");
9
+ require("core-js/modules/es.array.from.js");
10
+ require("core-js/modules/es.array.is-array.js");
11
+ require("core-js/modules/es.array.slice.js");
12
+ require("core-js/modules/es.date.to-primitive.js");
13
+ require("core-js/modules/es.date.to-string.js");
14
+ require("core-js/modules/es.function.name.js");
15
+ require("core-js/modules/es.number.constructor.js");
16
+ require("core-js/modules/es.object.create.js");
17
+ require("core-js/modules/es.object.define-property.js");
18
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
19
+ require("core-js/modules/es.regexp.exec.js");
20
+ require("core-js/modules/es.regexp.test.js");
21
+ require("core-js/modules/es.regexp.to-string.js");
22
+ require("core-js/modules/esnext.function.metadata.js");
23
+ require("core-js/modules/esnext.symbol.metadata.js");
24
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
25
+ var _typeof = require("@babel/runtime/helpers/typeof");
26
+ Object.defineProperty(exports, "__esModule", {
27
+ value: true
28
+ });
29
+ exports.FcrUIVideoWindowDataSourceImpl = exports.FcrUIVideoWindowDataImpl = exports.FcrUISpeakerSpotlightPool = void 0;
30
+ require("core-js/modules/es.array.filter.js");
31
+ require("core-js/modules/es.array.find.js");
32
+ require("core-js/modules/es.array.find-index.js");
33
+ require("core-js/modules/es.array.find-last-index.js");
34
+ require("core-js/modules/es.array.for-each.js");
35
+ require("core-js/modules/es.array.iterator.js");
36
+ require("core-js/modules/es.array.push.js");
37
+ require("core-js/modules/es.array.some.js");
38
+ require("core-js/modules/es.array.sort.js");
39
+ require("core-js/modules/es.array.splice.js");
40
+ require("core-js/modules/es.array.unshift.js");
41
+ require("core-js/modules/es.date.now.js");
42
+ require("core-js/modules/es.function.bind.js");
43
+ require("core-js/modules/es.map.js");
44
+ require("core-js/modules/es.object.assign.js");
45
+ require("core-js/modules/es.object.to-string.js");
46
+ require("core-js/modules/es.string.iterator.js");
47
+ require("core-js/modules/es.weak-map.js");
48
+ require("core-js/modules/esnext.iterator.constructor.js");
49
+ require("core-js/modules/esnext.iterator.filter.js");
50
+ require("core-js/modules/esnext.iterator.find.js");
51
+ require("core-js/modules/esnext.iterator.for-each.js");
52
+ require("core-js/modules/esnext.iterator.some.js");
53
+ require("core-js/modules/esnext.map.delete-all.js");
54
+ require("core-js/modules/esnext.map.emplace.js");
55
+ require("core-js/modules/esnext.map.every.js");
56
+ require("core-js/modules/esnext.map.filter.js");
57
+ require("core-js/modules/esnext.map.find.js");
58
+ require("core-js/modules/esnext.map.find-key.js");
59
+ require("core-js/modules/esnext.map.includes.js");
60
+ require("core-js/modules/esnext.map.key-of.js");
61
+ require("core-js/modules/esnext.map.map-keys.js");
62
+ require("core-js/modules/esnext.map.map-values.js");
63
+ require("core-js/modules/esnext.map.merge.js");
64
+ require("core-js/modules/esnext.map.reduce.js");
65
+ require("core-js/modules/esnext.map.some.js");
66
+ require("core-js/modules/esnext.map.update.js");
67
+ require("core-js/modules/esnext.weak-map.delete-all.js");
68
+ require("core-js/modules/esnext.weak-map.emplace.js");
69
+ require("core-js/modules/web.dom-collections.for-each.js");
70
+ require("core-js/modules/web.dom-collections.iterator.js");
71
+ require("core-js/modules/web.timers.js");
72
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
73
+ var _readOnlyError2 = _interopRequireDefault(require("@babel/runtime/helpers/readOnlyError"));
74
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
75
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
76
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
77
+ var _observable = require("agora-foundation/lib/utilities/observable");
78
+ var _type = require("./../type");
79
+ var _mobx = require("mobx");
80
+ var _type2 = require("fcr-core/lib/type");
81
+ var _fcrCore = require("fcr-core");
82
+ var _base = require("../base");
83
+ var _i18n = require("agora-ui-foundation/lib/i18n");
84
+ var _FcrUIVideoWindowDataImpl, _FcrUIVideoWindowDataSourceImpl;
85
+ var _initProto, _init__videoStream, _init__audioStream, _init__spotlightEnabled, _init__isSpeakerSpotlight, _init__boardCanEdit, _init_isPin, _init_hasScreenSharing, _setVideoStreamDecs, _setVideoStreamOwnerInfoDecs, _setAudioStreamDecs, _setAudioStreamOwnerInfoDecs, _setPinDecs, _setSpotlightEnabledDecs, _setSpeakerSpotlightDecs, _setHasScreenSharingDecs, _setBoardCanEditDecs, _ref, _initProto2, _init_spotlightEnabled, _init_layoutType, _init_manualLayout, _init_pinLimitedCount, _init_mainListLimitedCount, _init_foldListLimitedCount, _init_mainList, _init_foldList, _init_spotlightStreamId, _setSpotlightEnabledDecs2, _setLayoutDecs, _onSpotlightRemovedDecs, _resetListDecs, _addBoardDecs, _updateBoardDecs, _removeBoardDecs, _mergePstnStreamOrInsertNewDataDecs, _addDecs, _updateDecs, _deleteDecs, _addPinDecs, _addPinToastDecs, _removePinToastDecs, _updateSpeakerSpotlightPositionDecs, _removePinDecs, _setSpeakerSpotlightDecs2, _toggleMainStreamDecs, _insertBeginningByPriorityDecs, _insertEndByPriorityDecs, _findInsertBeginningIndexDecs, _findInsertEndIndexDecs, _insertBoardDecs, _insertNewDataDecs, _ref3;
86
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
87
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
88
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
89
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
90
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
91
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
92
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
93
+ 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"); }
94
+ 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)]; } }; }
95
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
96
+ 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); }
97
+ 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; }
98
+ 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; }
99
+ var _A = /*#__PURE__*/new WeakMap();
100
+ var _B = /*#__PURE__*/new WeakMap();
101
+ var _C = /*#__PURE__*/new WeakMap();
102
+ var _D = /*#__PURE__*/new WeakMap();
103
+ var _E = /*#__PURE__*/new WeakMap();
104
+ var _F = /*#__PURE__*/new WeakMap();
105
+ var _G = /*#__PURE__*/new WeakMap();
106
+ _ref = (_setVideoStreamDecs = [_mobx.action, _mobx.action.bound], _setVideoStreamOwnerInfoDecs = [_mobx.action, _mobx.action.bound], _setAudioStreamDecs = [_mobx.action, _mobx.action.bound], _setAudioStreamOwnerInfoDecs = [_mobx.action, _mobx.action.bound], _setPinDecs = [_mobx.action, _mobx.action.bound], _setSpotlightEnabledDecs = [_mobx.action, _mobx.action.bound], _setSpeakerSpotlightDecs = [_mobx.action, _mobx.action.bound], _setHasScreenSharingDecs = [_mobx.action, _mobx.action.bound], _setBoardCanEditDecs = [_mobx.action, _mobx.action.bound], "_boardUserInfo");
107
+ var FcrUIVideoWindowDataImpl = exports.FcrUIVideoWindowDataImpl = /*#__PURE__*/function () {
108
+ function FcrUIVideoWindowDataImpl(type, _ref2, _placement, _isMySelf) {
109
+ var videoStream = _ref2.videoStream,
110
+ audioStream = _ref2.audioStream,
111
+ boardUserInfo = _ref2.boardUserInfo;
112
+ var layoutType = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : _type.FcrUIVideoWindowLayoutType.Gallery;
113
+ var spotlightEnabled = arguments.length > 5 ? arguments[5] : undefined;
114
+ var canEdit = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
115
+ (0, _classCallCheck2["default"])(this, FcrUIVideoWindowDataImpl);
116
+ (0, _defineProperty2["default"])(this, _ref, void _initProto(this));
117
+ (0, _defineProperty2["default"])(this, "_layoutType", _type.FcrUIVideoWindowLayoutType.Gallery);
118
+ _classPrivateFieldInitSpec(this, _A, _init__videoStream(this));
119
+ _classPrivateFieldInitSpec(this, _B, _init__audioStream(this));
120
+ _classPrivateFieldInitSpec(this, _C, _init__spotlightEnabled(this, true));
121
+ _classPrivateFieldInitSpec(this, _D, _init__isSpeakerSpotlight(this, false));
122
+ _classPrivateFieldInitSpec(this, _E, _init__boardCanEdit(this, false));
123
+ (0, _defineProperty2["default"])(this, "needToSort", false);
124
+ _classPrivateFieldInitSpec(this, _F, _init_isPin(this, false));
125
+ _classPrivateFieldInitSpec(this, _G, _init_hasScreenSharing(this, false));
126
+ this._placement = _placement;
127
+ this._isMySelf = _isMySelf;
128
+ this.type = type;
129
+ this.setVideoStream(videoStream);
130
+ this.setAudioStream(audioStream);
131
+ this.setLayoutType(layoutType);
132
+ this.setSpotlightEnabled(spotlightEnabled);
133
+ this._boardUserInfo = boardUserInfo;
134
+ this._boardCanEdit = canEdit;
135
+ }
136
+ return (0, _createClass2["default"])(FcrUIVideoWindowDataImpl, [{
137
+ key: "_videoStream",
138
+ get: function get() {
139
+ return _classPrivateFieldGet(_A, this);
140
+ },
141
+ set: function set(v) {
142
+ _classPrivateFieldSet(_A, this, v);
143
+ }
144
+ }, {
145
+ key: "_audioStream",
146
+ get: function get() {
147
+ return _classPrivateFieldGet(_B, this);
148
+ },
149
+ set: function set(v) {
150
+ _classPrivateFieldSet(_B, this, v);
151
+ }
152
+ }, {
153
+ key: "_spotlightEnabled",
154
+ get: function get() {
155
+ return _classPrivateFieldGet(_C, this);
156
+ },
157
+ set: function set(v) {
158
+ _classPrivateFieldSet(_C, this, v);
159
+ }
160
+ }, {
161
+ key: "_isSpeakerSpotlight",
162
+ get: function get() {
163
+ return _classPrivateFieldGet(_D, this);
164
+ },
165
+ set: function set(v) {
166
+ _classPrivateFieldSet(_D, this, v);
167
+ }
168
+ }, {
169
+ key: "_boardCanEdit",
170
+ get: function get() {
171
+ return _classPrivateFieldGet(_E, this);
172
+ },
173
+ set: function set(v) {
174
+ _classPrivateFieldSet(_E, this, v);
175
+ }
176
+ }, {
177
+ key: "isPin",
178
+ get: function get() {
179
+ return _classPrivateFieldGet(_F, this);
180
+ },
181
+ set: function set(v) {
182
+ _classPrivateFieldSet(_F, this, v);
183
+ }
184
+ }, {
185
+ key: "hasScreenSharing",
186
+ get: function get() {
187
+ return _classPrivateFieldGet(_G, this);
188
+ },
189
+ set: function set(v) {
190
+ _classPrivateFieldSet(_G, this, v);
191
+ }
192
+ }, {
193
+ key: "isSpeakerSpotlight",
194
+ get: function get() {
195
+ return this._isSpeakerSpotlight && this._spotlightEnabled;
196
+ }
197
+ }, {
198
+ key: "windowId",
199
+ get: function get() {
200
+ return this.type === _type.FcrUIWindowType.BOARD ? 'boardId' : this.videoStreamId || this.audioStreamId || '';
201
+ }
202
+ }, {
203
+ key: "videoStreamId",
204
+ get: function get() {
205
+ var _this$_videoStream;
206
+ return (_this$_videoStream = this._videoStream) === null || _this$_videoStream === void 0 ? void 0 : _this$_videoStream.streamId;
207
+ }
208
+ }, {
209
+ key: "audioStreamId",
210
+ get: function get() {
211
+ var _this$_audioStream;
212
+ return (_this$_audioStream = this._audioStream) === null || _this$_audioStream === void 0 ? void 0 : _this$_audioStream.streamId;
213
+ }
214
+ }, {
215
+ key: "audioStreamConnectorType",
216
+ get: function get() {
217
+ var _this$_audioStream2;
218
+ return ((_this$_audioStream2 = this._audioStream) === null || _this$_audioStream2 === void 0 ? void 0 : _this$_audioStream2.connectorType) || _fcrCore.FcrRoomConnectorType.NONE;
219
+ }
220
+ }, {
221
+ key: "videoStreamConnectorType",
222
+ get: function get() {
223
+ var _this$_videoStream2;
224
+ return ((_this$_videoStream2 = this._videoStream) === null || _this$_videoStream2 === void 0 ? void 0 : _this$_videoStream2.connectorType) || _fcrCore.FcrRoomConnectorType.NONE;
225
+ }
226
+
227
+ // @computed
228
+ // get hasMicrophoneAudioStream() {
229
+ // if (this.audioStreamConnectorType === FcrRoomConnectorType.NONE) {
230
+ // return (
231
+ // this._videoStream?.audioSourceState === FcrMediaSourceState.OPEN &&
232
+ // (this._videoStream.streamType === FcrStreamType.BOTH ||
233
+ // this._videoStream.streamType === FcrStreamType.AUDIO)
234
+ // );
235
+ // } else {
236
+ // return true;
237
+ // }
238
+ // }
239
+ }, {
240
+ key: "hasMicrophoneAudioStream",
241
+ get: function get() {
242
+ if (this.audioStreamConnectorType === _fcrCore.FcrRoomConnectorType.NONE) {
243
+ var _this$_videoStream3;
244
+ return ((_this$_videoStream3 = this._videoStream) === null || _this$_videoStream3 === void 0 ? void 0 : _this$_videoStream3.audioSourceState) === _fcrCore.FcrMediaSourceState.OPEN;
245
+ } else {
246
+ return true;
247
+ }
248
+ }
249
+ }, {
250
+ key: "phoneMicEnabled",
251
+ get: function get() {
252
+ if (this.audioStreamConnectorType === _fcrCore.FcrRoomConnectorType.PSTN) {
253
+ var _this$_audioStream3, _this$_videoStream4;
254
+ return ((_this$_audioStream3 = this._audioStream) === null || _this$_audioStream3 === void 0 ? void 0 : _this$_audioStream3.audioSourceState) === _fcrCore.FcrMediaSourceState.OPEN || ((_this$_videoStream4 = this._videoStream) === null || _this$_videoStream4 === void 0 ? void 0 : _this$_videoStream4.streamType) === _fcrCore.FcrStreamType.BOTH;
255
+ } else {
256
+ return false;
257
+ }
258
+ }
259
+ }, {
260
+ key: "hasVideoStream",
261
+ get: function get() {
262
+ var _this$_videoStream5, _this$_videoStream6, _this$_videoStream7;
263
+ return ((_this$_videoStream5 = this._videoStream) === null || _this$_videoStream5 === void 0 ? void 0 : _this$_videoStream5.videoSourceState) === _fcrCore.FcrMediaSourceState.OPEN && (((_this$_videoStream6 = this._videoStream) === null || _this$_videoStream6 === void 0 ? void 0 : _this$_videoStream6.streamType) === _fcrCore.FcrStreamType.BOTH || ((_this$_videoStream7 = this._videoStream) === null || _this$_videoStream7 === void 0 ? void 0 : _this$_videoStream7.streamType) === _fcrCore.FcrStreamType.VIDEO);
264
+ }
265
+ }, {
266
+ key: "hasLoopbackAudioStream",
267
+ get: function get() {
268
+ var _this$_videoStream8;
269
+ return ((_this$_videoStream8 = this._videoStream) === null || _this$_videoStream8 === void 0 ? void 0 : _this$_videoStream8.audioSourceType) === _fcrCore.FcrAudioSourceType.LOOPBACK;
270
+ }
271
+ }, {
272
+ key: "userId",
273
+ get: function get() {
274
+ var _this$_videoStream9, _this$_audioStream4, _this$_boardUserInfo;
275
+ return ((_this$_videoStream9 = this._videoStream) === null || _this$_videoStream9 === void 0 ? void 0 : _this$_videoStream9.owner.userId) || ((_this$_audioStream4 = this._audioStream) === null || _this$_audioStream4 === void 0 ? void 0 : _this$_audioStream4.owner.userId) || ((_this$_boardUserInfo = this._boardUserInfo) === null || _this$_boardUserInfo === void 0 ? void 0 : _this$_boardUserInfo.userId) || '';
276
+ }
277
+ }, {
278
+ key: "userName",
279
+ get: function get() {
280
+ var _this$_videoStream10, _this$_audioStream5, _this$_boardUserInfo2;
281
+ return ((_this$_videoStream10 = this._videoStream) === null || _this$_videoStream10 === void 0 ? void 0 : _this$_videoStream10.owner.userName) || ((_this$_audioStream5 = this._audioStream) === null || _this$_audioStream5 === void 0 ? void 0 : _this$_audioStream5.owner.userName) || ((_this$_boardUserInfo2 = this._boardUserInfo) === null || _this$_boardUserInfo2 === void 0 ? void 0 : _this$_boardUserInfo2.userName) || '';
282
+ }
283
+ }, {
284
+ key: "ownerRoleType",
285
+ get: function get() {
286
+ var _this$_videoStream11, _this$_audioStream6, _this$_boardUserInfo3;
287
+ return ((_this$_videoStream11 = this._videoStream) === null || _this$_videoStream11 === void 0 ? void 0 : _this$_videoStream11.owner.userRole) || ((_this$_audioStream6 = this._audioStream) === null || _this$_audioStream6 === void 0 ? void 0 : _this$_audioStream6.owner.userRole) || ((_this$_boardUserInfo3 = this._boardUserInfo) === null || _this$_boardUserInfo3 === void 0 ? void 0 : _this$_boardUserInfo3.userRole) || _type2.FcrUserRole.AUDIENCE;
288
+ }
289
+ }, {
290
+ key: "videoSourceType",
291
+ get: function get() {
292
+ var _this$_videoStream12;
293
+ return ((_this$_videoStream12 = this._videoStream) === null || _this$_videoStream12 === void 0 ? void 0 : _this$_videoStream12.videoSourceType) || _fcrCore.FcrVideoSourceType.CAMERA;
294
+ }
295
+ }, {
296
+ key: "isMySelf",
297
+ get: function get() {
298
+ return this._isMySelf;
299
+ }
300
+ }, {
301
+ key: "sortingPriority",
302
+ get: function get() {
303
+ if (this._placement === 'main-list') {
304
+ var _this$_videoStream13;
305
+ if (this.type === _type.FcrUIWindowType.BOARD && this._boardCanEdit) {
306
+ return _type.FcrUIVideoWindowMainSortingPriority.HIGHEST;
307
+ }
308
+ if (this.isPin || ((_this$_videoStream13 = this._videoStream) === null || _this$_videoStream13 === void 0 ? void 0 : _this$_videoStream13.videoSourceType) === _fcrCore.FcrVideoSourceType.SCREEN || this.type === _type.FcrUIWindowType.BOARD) {
309
+ return _type.FcrUIVideoWindowMainSortingPriority.FOCUS;
310
+ }
311
+ if (this.isSpeakerSpotlight && this._layoutType === _type.FcrUIVideoWindowLayoutType.Speaker) {
312
+ return _type.FcrUIVideoWindowMainSortingPriority.SPEAKER_SPOTLIGHT;
313
+ }
314
+ if (this.hasScreenSharing) {
315
+ return _type.FcrUIVideoWindowMainSortingPriority.SCREEN_SHARING_OWNER;
316
+ }
317
+ if (this.ownerRoleType === _type2.FcrUserRole.HOST) {
318
+ return _type.FcrUIVideoWindowMainSortingPriority.HOST;
319
+ }
320
+ if (this.isMySelf) {
321
+ return _type.FcrUIVideoWindowMainSortingPriority.MYSELF;
322
+ }
323
+ if (this.ownerRoleType === _type2.FcrUserRole.COHOST) {
324
+ return _type.FcrUIVideoWindowMainSortingPriority.CO_HOST;
325
+ }
326
+ if (this.hasMicrophoneAudioStream && this.hasVideoStream) {
327
+ return _type.FcrUIVideoWindowMainSortingPriority.BOTH_OPEN;
328
+ }
329
+ if (this.hasVideoStream) {
330
+ return _type.FcrUIVideoWindowMainSortingPriority.CAMERA_OPEN;
331
+ }
332
+ if (this.hasMicrophoneAudioStream) {
333
+ return _type.FcrUIVideoWindowMainSortingPriority.MICROPHONE_OPEN;
334
+ }
335
+ } else {
336
+ var _this$_videoStream14;
337
+ if (this.isSpeakerSpotlight) {
338
+ return _type.FcrUIVideoWindowFoldSortingPriority.FOCUS;
339
+ }
340
+ if (this.isPin) {
341
+ return _type.FcrUIVideoWindowFoldSortingPriority.PIN;
342
+ }
343
+ if (((_this$_videoStream14 = this._videoStream) === null || _this$_videoStream14 === void 0 ? void 0 : _this$_videoStream14.videoSourceType) === _fcrCore.FcrVideoSourceType.SCREEN) {
344
+ return _type.FcrUIVideoWindowFoldSortingPriority.SCREEN_SHARING_STREAM;
345
+ }
346
+ if (this.hasScreenSharing) {
347
+ return _type.FcrUIVideoWindowFoldSortingPriority.SCREEN_SHARING_OWNER;
348
+ }
349
+ if (this.ownerRoleType === _type2.FcrUserRole.HOST) {
350
+ return _type.FcrUIVideoWindowFoldSortingPriority.HOST;
351
+ }
352
+ if (this.isMySelf) {
353
+ return _type.FcrUIVideoWindowFoldSortingPriority.MYSELF;
354
+ }
355
+ if (this.ownerRoleType === _type2.FcrUserRole.COHOST) {
356
+ return _type.FcrUIVideoWindowFoldSortingPriority.CO_HOST;
357
+ }
358
+ if (this.hasMicrophoneAudioStream && this.hasVideoStream) {
359
+ return _type.FcrUIVideoWindowFoldSortingPriority.BOTH_OPEN;
360
+ }
361
+ if (this.hasVideoStream) {
362
+ return _type.FcrUIVideoWindowFoldSortingPriority.CAMERA_OPEN;
363
+ }
364
+ if (this.hasMicrophoneAudioStream) {
365
+ return _type.FcrUIVideoWindowFoldSortingPriority.MICROPHONE_OPEN;
366
+ }
367
+ }
368
+ return _type.FcrUIVideoWindowMainSortingPriority.NONE;
369
+ }
370
+ }, {
371
+ key: "setLayoutType",
372
+ value: function setLayoutType(layoutType) {
373
+ this._layoutType = layoutType;
374
+ }
375
+ }, {
376
+ key: "setVideoStream",
377
+ value: function setVideoStream(videoStream) {
378
+ this._videoStream = videoStream;
379
+ }
380
+ }, {
381
+ key: "setVideoStreamOwnerInfo",
382
+ value: function setVideoStreamOwnerInfo(userInfo) {
383
+ if (this._videoStream) {
384
+ this._videoStream.owner = userInfo;
385
+ }
386
+ }
387
+ }, {
388
+ key: "setAudioStream",
389
+ value: function setAudioStream(audioStream) {
390
+ this._audioStream = audioStream;
391
+ }
392
+ }, {
393
+ key: "setAudioStreamOwnerInfo",
394
+ value: function setAudioStreamOwnerInfo(userInfo) {
395
+ if (this._audioStream) {
396
+ this._audioStream.owner = userInfo;
397
+ }
398
+ }
399
+ }, {
400
+ key: "setPin",
401
+ value: function setPin(pin) {
402
+ this.isPin = pin;
403
+ }
404
+ }, {
405
+ key: "setSpotlightEnabled",
406
+ value: function setSpotlightEnabled(enabled) {
407
+ this._spotlightEnabled = enabled;
408
+ }
409
+ }, {
410
+ key: "setSpeakerSpotlight",
411
+ value: function setSpeakerSpotlight(speakerSpotlight) {
412
+ this._isSpeakerSpotlight = speakerSpotlight;
413
+ }
414
+ }, {
415
+ key: "setHasScreenSharing",
416
+ value: function setHasScreenSharing(screenSharing) {
417
+ this.hasScreenSharing = screenSharing;
418
+ }
419
+ }, {
420
+ key: "setBoardCanEdit",
421
+ value: function setBoardCanEdit(canEdit) {
422
+ this._boardCanEdit = canEdit;
423
+ }
424
+ }]);
425
+ }();
426
+ _FcrUIVideoWindowDataImpl = FcrUIVideoWindowDataImpl;
427
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIVideoWindowDataImpl, [[_mobx.observable, 1, "_videoStream"], [_mobx.observable, 1, "_audioStream"], [_mobx.observable, 1, "_spotlightEnabled"], [_mobx.observable, 1, "_isSpeakerSpotlight"], [_mobx.observable, 1, "_boardCanEdit"], [_mobx.observable, 1, "isPin"], [_mobx.observable, 1, "hasScreenSharing"], [_mobx.computed, 3, "isSpeakerSpotlight"], [_mobx.computed, 3, "windowId"], [_mobx.computed, 3, "videoStreamId"], [_mobx.computed, 3, "audioStreamId"], [_mobx.computed, 3, "audioStreamConnectorType"], [_mobx.computed, 3, "videoStreamConnectorType"], [_mobx.computed, 3, "hasMicrophoneAudioStream"], [_mobx.computed, 3, "phoneMicEnabled"], [_mobx.computed, 3, "hasVideoStream"], [_mobx.computed, 3, "hasLoopbackAudioStream"], [_mobx.computed, 3, "userId"], [_mobx.computed, 3, "userName"], [_mobx.computed, 3, "ownerRoleType"], [_mobx.computed, 3, "videoSourceType"], [_mobx.computed, 3, "sortingPriority"], [_setVideoStreamDecs, 18, "setVideoStream"], [_setVideoStreamOwnerInfoDecs, 18, "setVideoStreamOwnerInfo"], [_setAudioStreamDecs, 18, "setAudioStream"], [_setAudioStreamOwnerInfoDecs, 18, "setAudioStreamOwnerInfo"], [_setPinDecs, 18, "setPin"], [_setSpotlightEnabledDecs, 18, "setSpotlightEnabled"], [_setSpeakerSpotlightDecs, 18, "setSpeakerSpotlight"], [_setHasScreenSharingDecs, 18, "setHasScreenSharing"], [_setBoardCanEditDecs, 18, "setBoardCanEdit"]], []).e, 8);
428
+ _init__videoStream = _applyDecs$e[0];
429
+ _init__audioStream = _applyDecs$e[1];
430
+ _init__spotlightEnabled = _applyDecs$e[2];
431
+ _init__isSpeakerSpotlight = _applyDecs$e[3];
432
+ _init__boardCanEdit = _applyDecs$e[4];
433
+ _init_isPin = _applyDecs$e[5];
434
+ _init_hasScreenSharing = _applyDecs$e[6];
435
+ _initProto = _applyDecs$e[7];
436
+ var _A2 = /*#__PURE__*/new WeakMap();
437
+ var _B2 = /*#__PURE__*/new WeakMap();
438
+ var _C2 = /*#__PURE__*/new WeakMap();
439
+ var _D2 = /*#__PURE__*/new WeakMap();
440
+ var _E2 = /*#__PURE__*/new WeakMap();
441
+ var _F2 = /*#__PURE__*/new WeakMap();
442
+ var _G2 = /*#__PURE__*/new WeakMap();
443
+ var _H = /*#__PURE__*/new WeakMap();
444
+ var _I = /*#__PURE__*/new WeakMap();
445
+ _ref3 = (_setSpotlightEnabledDecs2 = [_mobx.action, _mobx.action.bound], _setLayoutDecs = [_mobx.action, _mobx.action.bound], _onSpotlightRemovedDecs = [_mobx.action, _mobx.action.bound], _resetListDecs = [_mobx.action, _mobx.action.bound], _addBoardDecs = [_mobx.action, _mobx.action.bound], _updateBoardDecs = [_mobx.action, _mobx.action.bound], _removeBoardDecs = [_mobx.action, _mobx.action.bound], _mergePstnStreamOrInsertNewDataDecs = [_mobx.action, _mobx.action.bound], _addDecs = [_mobx.action, _mobx.action.bound], _updateDecs = [_mobx.action, _mobx.action.bound], _deleteDecs = [_mobx.action, _mobx.action.bound], _addPinDecs = [_mobx.action, _mobx.action.bound], _addPinToastDecs = [_mobx.action, _mobx.action.bound], _removePinToastDecs = [_mobx.action, _mobx.action.bound], _updateSpeakerSpotlightPositionDecs = [_mobx.action, _mobx.action.bound], _removePinDecs = [_mobx.action, _mobx.action.bound], _setSpeakerSpotlightDecs2 = [_mobx.action, _mobx.action.bound], _toggleMainStreamDecs = [_mobx.action, _mobx.action.bound], _insertBeginningByPriorityDecs = [_mobx.action, _mobx.action.bound], _insertEndByPriorityDecs = [_mobx.action, _mobx.action.bound], _findInsertBeginningIndexDecs = [_mobx.action, _mobx.action.bound], _findInsertEndIndexDecs = [_mobx.action, _mobx.action.bound], _insertBoardDecs = [_mobx.action, _mobx.action.bound], _insertNewDataDecs = [_mobx.action, _mobx.action.bound], "_observer");
446
+ var FcrUIVideoWindowDataSourceImpl = exports.FcrUIVideoWindowDataSourceImpl = /*#__PURE__*/function () {
447
+ function FcrUIVideoWindowDataSourceImpl(_sharedSettingDataSource, _eventProvider) {
448
+ (0, _classCallCheck2["default"])(this, FcrUIVideoWindowDataSourceImpl);
449
+ (0, _defineProperty2["default"])(this, _ref3, (_initProto2(this), new _observable.AgoraObservable()));
450
+ (0, _defineProperty2["default"])(this, "_spotlightPool", new FcrUISpeakerSpotlightPool());
451
+ _classPrivateFieldInitSpec(this, _A2, _init_spotlightEnabled(this, true));
452
+ _classPrivateFieldInitSpec(this, _B2, _init_layoutType(this, _type.FcrUIVideoWindowLayoutType.Gallery));
453
+ _classPrivateFieldInitSpec(this, _C2, _init_manualLayout(this, undefined));
454
+ _classPrivateFieldInitSpec(this, _D2, _init_pinLimitedCount(this, 1));
455
+ _classPrivateFieldInitSpec(this, _E2, _init_mainListLimitedCount(this, 255));
456
+ _classPrivateFieldInitSpec(this, _F2, _init_foldListLimitedCount(this, 255));
457
+ _classPrivateFieldInitSpec(this, _G2, _init_mainList(this, []));
458
+ _classPrivateFieldInitSpec(this, _H, _init_foldList(this, []));
459
+ _classPrivateFieldInitSpec(this, _I, _init_spotlightStreamId(this, ''));
460
+ this._sharedSettingDataSource = _sharedSettingDataSource;
461
+ this._eventProvider = _eventProvider;
462
+ this._spotlightPool.addObserver({
463
+ onRemoved: this.onSpotlightRemoved
464
+ });
465
+ }
466
+ return (0, _createClass2["default"])(FcrUIVideoWindowDataSourceImpl, [{
467
+ key: "spotlightEnabled",
468
+ get: function get() {
469
+ return _classPrivateFieldGet(_A2, this);
470
+ },
471
+ set: function set(v) {
472
+ _classPrivateFieldSet(_A2, this, v);
473
+ }
474
+ }, {
475
+ key: "layoutType",
476
+ get: function get() {
477
+ return _classPrivateFieldGet(_B2, this);
478
+ },
479
+ set: function set(v) {
480
+ _classPrivateFieldSet(_B2, this, v);
481
+ }
482
+ }, {
483
+ key: "manualLayout",
484
+ get: function get() {
485
+ return _classPrivateFieldGet(_C2, this);
486
+ },
487
+ set: function set(v) {
488
+ _classPrivateFieldSet(_C2, this, v);
489
+ }
490
+ }, {
491
+ key: "pinLimitedCount",
492
+ get: function get() {
493
+ return _classPrivateFieldGet(_D2, this);
494
+ },
495
+ set: function set(v) {
496
+ _classPrivateFieldSet(_D2, this, v);
497
+ }
498
+ }, {
499
+ key: "mainListLimitedCount",
500
+ get: function get() {
501
+ return _classPrivateFieldGet(_E2, this);
502
+ },
503
+ set: function set(v) {
504
+ _classPrivateFieldSet(_E2, this, v);
505
+ }
506
+ }, {
507
+ key: "foldListLimitedCount",
508
+ get: function get() {
509
+ return _classPrivateFieldGet(_F2, this);
510
+ },
511
+ set: function set(v) {
512
+ _classPrivateFieldSet(_F2, this, v);
513
+ }
514
+ }, {
515
+ key: "mainList",
516
+ get: function get() {
517
+ return _classPrivateFieldGet(_G2, this);
518
+ },
519
+ set: function set(v) {
520
+ _classPrivateFieldSet(_G2, this, v);
521
+ }
522
+ }, {
523
+ key: "foldList",
524
+ get: function get() {
525
+ return _classPrivateFieldGet(_H, this);
526
+ },
527
+ set: function set(v) {
528
+ _classPrivateFieldSet(_H, this, v);
529
+ }
530
+ }, {
531
+ key: "spotlightStreamId",
532
+ get: function get() {
533
+ return _classPrivateFieldGet(_I, this);
534
+ },
535
+ set: function set(v) {
536
+ _classPrivateFieldSet(_I, this, v);
537
+ }
538
+ }, {
539
+ key: "shouldHideNonVideoParticipants",
540
+ get: function get() {
541
+ return this._sharedSettingDataSource.setting.shouldHideNonVideoParticipants || false;
542
+ }
543
+ }, {
544
+ key: "layoutMainList",
545
+ get: function get() {
546
+ var _this = this;
547
+ var sourceList = this.mainList.filter(function (i) {
548
+ return !i.isMySelf || i.videoSourceType !== _fcrCore.FcrVideoSourceType.SCREEN;
549
+ });
550
+ var existHasVideoStreamUser = sourceList.some(function (i) {
551
+ return i.hasVideoStream;
552
+ });
553
+ return this.shouldHideNonVideoParticipants ? sourceList.filter(function (i) {
554
+ var visible = i.isMySelf && !existHasVideoStreamUser || i.hasVideoStream || i.videoSourceType === _fcrCore.FcrVideoSourceType.SCREEN || i.type === _type.FcrUIWindowType.BOARD;
555
+ if (!visible && i.isPin) {
556
+ _this.removePinToast(i.windowId, (0, _i18n.transI18n)('fmt_internalsetting_other_hide_no_video_pin_cancelled'));
557
+ }
558
+ return visible;
559
+ }) : sourceList;
560
+ }
561
+ }, {
562
+ key: "setSpotlightEnabled",
563
+ value: function setSpotlightEnabled(enabled) {
564
+ var _this2 = this;
565
+ var currentSpeakerSpotlightIndex_mainList = this._findCurrentSpeakerSpotlight(this.mainList);
566
+ var currentSpeakerSpotlightIndex_foldList = this._findCurrentSpeakerSpotlight(this.foldList);
567
+ this.spotlightEnabled = enabled;
568
+ this.mainList.forEach(function (item) {
569
+ item.setSpotlightEnabled(enabled);
570
+ });
571
+ this.foldList.forEach(function (item) {
572
+ item.setSpotlightEnabled(enabled);
573
+ });
574
+ this._spotlightPool.streams.forEach(function (_ts, streamId) {
575
+ _this2.setSpeakerSpotlight(streamId);
576
+ });
577
+ // update speaker spotlight position
578
+ this._updateSpeakerSpotlightPosition(currentSpeakerSpotlightIndex_mainList, this.mainList, this.mainListLimitedCount, 'main-list');
579
+ this._updateSpeakerSpotlightPosition(currentSpeakerSpotlightIndex_foldList, this.foldList, this.foldListLimitedCount, 'fold-list');
580
+ }
581
+ }, {
582
+ key: "setLayout",
583
+ value: function setLayout(layout, manual) {
584
+ if (manual) {
585
+ this.manualLayout = layout;
586
+ }
587
+ if (this.layoutType === _type.FcrUIVideoWindowLayoutType.Gallery && layout === _type.FcrUIVideoWindowLayoutType.Speaker && this.mainList.length < 2 || this.layoutType === layout) {
588
+ return;
589
+ }
590
+ this.layoutType = layout;
591
+ this._observer.notifyObservers('onLayoutUpdated', layout);
592
+ this.mainList.forEach(function (item) {
593
+ item.setLayoutType(layout);
594
+ });
595
+ this.foldList.forEach(function (item) {
596
+ item.setLayoutType(layout);
597
+ });
598
+ if (layout === _type.FcrUIVideoWindowLayoutType.Gallery) {
599
+ this.resetList();
600
+ }
601
+ }
602
+ }, {
603
+ key: "onSpotlightRemoved",
604
+ value: function onSpotlightRemoved(streamId) {
605
+ var _this3 = this;
606
+ var removeSpotlight = function removeSpotlight(streamId, list, limitCount) {
607
+ var index = _this3._findItemIndexWithWindowId(streamId, list);
608
+ if (index !== -1) {
609
+ var item = list[index];
610
+ if (item) {
611
+ item.setSpeakerSpotlight(false);
612
+ if (_this3.layoutType === _type.FcrUIVideoWindowLayoutType.Speaker) {
613
+ item.needToSort = true;
614
+ }
615
+ }
616
+ }
617
+ };
618
+ removeSpotlight(streamId, this.mainList, this.mainListLimitedCount);
619
+ removeSpotlight(streamId, this.foldList, this.foldListLimitedCount);
620
+ this.spotlightStreamId = '';
621
+ this._observer.notifyObservers('onSpotlightRemoved', streamId);
622
+ }
623
+ }, {
624
+ key: "resetList",
625
+ value: function resetList() {
626
+ this.mainList = this.mainList.sort(function (a, b) {
627
+ return b.sortingPriority - a.sortingPriority;
628
+ });
629
+ this.foldList = this.foldList.sort(function (a, b) {
630
+ return b.sortingPriority - a.sortingPriority;
631
+ });
632
+ this._observer.notifyObservers('onMainListUpdated', -1);
633
+ this._observer.notifyObservers('onFoldListUpdated', -1);
634
+ }
635
+ }, {
636
+ key: "addBoard",
637
+ value: function addBoard(userInfo, isMySelf, canEdit) {
638
+ this._insertBoard(userInfo, this.mainList, this.mainListLimitedCount, isMySelf, 'main-list', canEdit);
639
+ this._syncHasScreenSharing(true, userInfo.userId, this.mainList, this.mainListLimitedCount, 'main-list');
640
+ this._syncHasScreenSharing(true, userInfo.userId, this.foldList, this.foldListLimitedCount, 'fold-list');
641
+ }
642
+ }, {
643
+ key: "updateBoard",
644
+ value: function updateBoard(canEdit) {
645
+ var windowData = this.mainList.find(function (item) {
646
+ return item.type === _type.FcrUIWindowType.BOARD;
647
+ });
648
+ windowData === null || windowData === void 0 || windowData.setBoardCanEdit(canEdit);
649
+ var insertIndex = this._insertByPriority(windowData, this.mainList, this.mainListLimitedCount);
650
+ this._observer.notifyObservers('onMainListUpdated', insertIndex);
651
+ }
652
+ }, {
653
+ key: "removeBoard",
654
+ value: function removeBoard() {
655
+ var boardIndex = this.mainList.findIndex(function (i) {
656
+ return i.type === _type.FcrUIWindowType.BOARD;
657
+ });
658
+ if (boardIndex !== -1) {
659
+ var board = this.mainList[boardIndex];
660
+ this.mainList.splice(boardIndex, 1);
661
+ this._syncHasScreenSharing(false, board.userId, this.mainList, this.mainListLimitedCount, 'main-list');
662
+ this._syncHasScreenSharing(false, board.userId, this.foldList, this.foldListLimitedCount, 'fold-list');
663
+ }
664
+ }
665
+ }, {
666
+ key: "_mergePstnStreamOrInsertNewData",
667
+ value: function _mergePstnStreamOrInsertNewData(stream, list, limitCount, isMySelf, placement) {
668
+ var existedUserPstnStream = list.find(function (item) {
669
+ return item.userId === stream.owner.userId && item.audioStreamConnectorType === _fcrCore.FcrRoomConnectorType.PSTN;
670
+ });
671
+ if (existedUserPstnStream) {
672
+ existedUserPstnStream.setVideoStream(stream);
673
+ } else {
674
+ this._insertNewData(stream, list, limitCount, isMySelf, placement);
675
+ }
676
+ }
677
+ }, {
678
+ key: "add",
679
+ value: function add(stream, isMySelf) {
680
+ var _this4 = this;
681
+ var streamCopy = this.copyStreamInfo(stream);
682
+ if (streamCopy.connectorType === _fcrCore.FcrRoomConnectorType.PSTN) {
683
+ var handlePSTNStreamAdded = function handlePSTNStreamAdded(stream, list, limitCount, isMySelf, placement) {
684
+ var existedUserStream = list.find(function (item) {
685
+ return item.userId === stream.owner.userId && item.videoSourceType === _fcrCore.FcrVideoSourceType.CAMERA;
686
+ });
687
+ if (existedUserStream) {
688
+ existedUserStream.setAudioStream(stream);
689
+ } else {
690
+ _this4._insertNewData(stream, list, limitCount, isMySelf, placement);
691
+ }
692
+ };
693
+ handlePSTNStreamAdded(streamCopy, this.mainList, this.mainListLimitedCount, isMySelf, 'main-list');
694
+ handlePSTNStreamAdded(streamCopy, this.foldList, this.foldListLimitedCount, isMySelf, 'fold-list');
695
+ } else {
696
+ this._mergePstnStreamOrInsertNewData(streamCopy, this.mainList, this.mainListLimitedCount, isMySelf, 'main-list');
697
+ this._mergePstnStreamOrInsertNewData(streamCopy, this.foldList, this.foldListLimitedCount, isMySelf, 'fold-list');
698
+ }
699
+ if (streamCopy.videoSourceType === _fcrCore.FcrVideoSourceType.SCREEN) {
700
+ this._syncHasScreenSharing(true, streamCopy.owner.userId, this.mainList, this.mainListLimitedCount, 'main-list');
701
+ this._syncHasScreenSharing(true, streamCopy.owner.userId, this.foldList, this.foldListLimitedCount, 'fold-list');
702
+ }
703
+ }
704
+ }, {
705
+ key: "update",
706
+ value: function update(param) {
707
+ var _this5 = this;
708
+ var handleStreamInfoUpdated = function handleStreamInfoUpdated(stream, list, limitCount, placement) {
709
+ var existedUserStream = list[_this5._findItemIndexWithWindowId(stream.streamId, list)];
710
+ if (existedUserStream) {
711
+ var oldSortingPriority = existedUserStream.sortingPriority;
712
+ if (param.connectorType === _fcrCore.FcrRoomConnectorType.PSTN) {
713
+ existedUserStream.setAudioStream(stream);
714
+ } else {
715
+ existedUserStream.setVideoStream(stream);
716
+ }
717
+ var newSortingPriority = existedUserStream.sortingPriority;
718
+ if (oldSortingPriority !== newSortingPriority) {
719
+ var index = _this5._insertByPriority(existedUserStream, list, limitCount);
720
+ _this5._observer.notifyObservers(placement === 'main-list' ? 'onMainListUpdated' : 'onFoldListUpdated', index);
721
+ }
722
+ }
723
+ };
724
+ var handleUserInfoUpdated = function handleUserInfoUpdated(user, list, limitCount, placement) {
725
+ var modifiedItems = [];
726
+ list.forEach(function (item) {
727
+ if (item.userId === user.userId) {
728
+ var oldSortingPriority = item.sortingPriority;
729
+ item.setVideoStreamOwnerInfo(user);
730
+ item.setAudioStreamOwnerInfo(user);
731
+ var newSortingPriority = item.sortingPriority;
732
+ if (oldSortingPriority !== newSortingPriority) {
733
+ modifiedItems.push(item);
734
+ }
735
+ }
736
+ });
737
+ modifiedItems.forEach(function (item) {
738
+ var index = _this5._insertByPriority(item, list, limitCount);
739
+ _this5._observer.notifyObservers(placement === 'main-list' ? 'onMainListUpdated' : 'onFoldListUpdated', index);
740
+ });
741
+ };
742
+ if ('streamId' in param) {
743
+ var streamCopy = this.copyStreamInfo(param);
744
+ handleStreamInfoUpdated(streamCopy, this.mainList, this.mainListLimitedCount, 'main-list');
745
+ handleStreamInfoUpdated(streamCopy, this.foldList, this.foldListLimitedCount, 'fold-list');
746
+ } else {
747
+ handleUserInfoUpdated(param, this.mainList, this.mainListLimitedCount, 'main-list');
748
+ handleUserInfoUpdated(param, this.foldList, this.foldListLimitedCount, 'fold-list');
749
+ }
750
+ }
751
+ }, {
752
+ key: "delete",
753
+ value: function _delete(stream) {
754
+ var _this6 = this;
755
+ var streamCopy = this.copyStreamInfo(stream);
756
+ var handlePSTNStreamDeleted = function handlePSTNStreamDeleted(stream, list, placement) {
757
+ var index = _this6._findItemIndexWithAudioStreamId(stream.streamId, list);
758
+ var existedUserStream = list[index];
759
+ if (existedUserStream) {
760
+ if (existedUserStream.videoStreamId) {
761
+ existedUserStream.setAudioStream(undefined);
762
+ _this6._observer.notifyObservers(placement === 'main-list' ? 'onMainListUpdated' : 'onFoldListUpdated', index);
763
+ } else {
764
+ list.splice(index, 1);
765
+ _this6._observer.notifyObservers(placement === 'main-list' ? 'onMainListRemoved' : 'onFoldListRemoved', index);
766
+ }
767
+ }
768
+ };
769
+ if (stream.connectorType === _fcrCore.FcrRoomConnectorType.PSTN) {
770
+ handlePSTNStreamDeleted(streamCopy, this.mainList, 'main-list');
771
+ handlePSTNStreamDeleted(streamCopy, this.foldList, 'fold-list');
772
+ } else {
773
+ var handleVideoStreamDeleted = function handleVideoStreamDeleted(streamId, list, placement) {
774
+ var existStreamIndex = list.findIndex(function (item) {
775
+ return item.videoStreamId === streamId;
776
+ });
777
+ if (existStreamIndex === -1) {
778
+ return;
779
+ }
780
+ list.splice(existStreamIndex, 1);
781
+ _this6._observer.notifyObservers(placement === 'main-list' ? 'onMainListRemoved' : 'onFoldListRemoved', existStreamIndex);
782
+ };
783
+ handleVideoStreamDeleted(streamCopy.streamId, this.mainList, 'main-list');
784
+ handleVideoStreamDeleted(streamCopy.streamId, this.foldList, 'fold-list');
785
+ }
786
+ // if it is the last screen share stream of the user, remove the screen sharing flag
787
+
788
+ if (stream.videoSourceType === _fcrCore.FcrVideoSourceType.SCREEN) {
789
+ this._syncHasScreenSharing(false, streamCopy.owner.userId, this.mainList, this.mainListLimitedCount, 'main-list');
790
+ this._syncHasScreenSharing(false, streamCopy.owner.userId, this.foldList, this.foldListLimitedCount, 'fold-list');
791
+ }
792
+ }
793
+ }, {
794
+ key: "addPin",
795
+ value: function addPin(streamId) {
796
+ var _this7 = this;
797
+ var handlePin = function handlePin(streamId, list, limitCount, placement) {
798
+ var existedUserStreamIndex = _this7._findItemIndexWithWindowId(streamId, list);
799
+ var existedUserStream = list[existedUserStreamIndex];
800
+ if (!existedUserStream || existedUserStream !== null && existedUserStream !== void 0 && existedUserStream.isPin) {
801
+ return false;
802
+ }
803
+ var currentPinStreams = list.filter(function (item) {
804
+ return item.isPin;
805
+ });
806
+ if (currentPinStreams.length >= _this7.pinLimitedCount) {
807
+ var lastPinStream = currentPinStreams[currentPinStreams.length - 1];
808
+ var _streamId = lastPinStream.videoStreamId || lastPinStream.audioStreamId;
809
+ if (_streamId) {
810
+ _this7.removePin(_streamId);
811
+ }
812
+ }
813
+ existedUserStream.setPin(true);
814
+ _this7._insertBeginningByPriority(existedUserStream, list, limitCount);
815
+ _this7._observer.notifyObservers(placement === 'main-list' ? 'onMainListUpdated' : 'onFoldListUpdated', existedUserStreamIndex);
816
+ return true;
817
+ };
818
+ var success = handlePin(streamId, this.mainList, this.mainListLimitedCount, 'main-list');
819
+ handlePin(streamId, this.foldList, this.foldListLimitedCount, 'fold-list');
820
+ return success;
821
+ }
822
+ }, {
823
+ key: "addPinToast",
824
+ value: function addPinToast(streamId) {
825
+ if (this.shouldHideNonVideoParticipants) {
826
+ var _stream = this.layoutMainList.find(function (u) {
827
+ return u.windowId === streamId;
828
+ });
829
+ if (!(_stream !== null && _stream !== void 0 && _stream.hasVideoStream)) {
830
+ this._eventProvider.showToast({
831
+ type: 'error',
832
+ message: (0, _i18n.transI18n)('fmt_internalsetting_other_hide_no_video_pin_cancelled')
833
+ });
834
+ return;
835
+ }
836
+ }
837
+ var success = this.addPin(streamId);
838
+ if (success) {
839
+ this._eventProvider.showToast({
840
+ type: 'normal',
841
+ message: (0, _i18n.transI18n)('fmt_settings_tips_screenlocked')
842
+ });
843
+ if (this.layoutType === _type.FcrUIVideoWindowLayoutType.Gallery) {
844
+ this.setLayout(_type.FcrUIVideoWindowLayoutType.Speaker);
845
+ }
846
+ }
847
+ }
848
+ }, {
849
+ key: "removePinToast",
850
+ value: function removePinToast(streamId) {
851
+ var toastText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : (0, _i18n.transI18n)('fmt_settings_tips_screenunlock');
852
+ this.removePin(streamId);
853
+ this._eventProvider.showToast({
854
+ type: 'normal',
855
+ message: toastText
856
+ });
857
+ }
858
+ }, {
859
+ key: "_updateSpeakerSpotlightPosition",
860
+ value: function _updateSpeakerSpotlightPosition(index, list, limitCount, placement) {
861
+ var existedUserStream = list[index];
862
+ if (!existedUserStream) {
863
+ return;
864
+ }
865
+ this._insertByPriority(existedUserStream, list, limitCount);
866
+ this._observer.notifyObservers(placement === 'main-list' ? 'onMainListUpdated' : 'onFoldListUpdated', index);
867
+ }
868
+ }, {
869
+ key: "removePin",
870
+ value: function removePin(streamId) {
871
+ var _this8 = this;
872
+ var handleRemovePin = function handleRemovePin(streamId, list, limitCount, placement) {
873
+ var existedUserStreamIndex = _this8._findItemIndexWithWindowId(streamId, list);
874
+ var existedUserStream = list[existedUserStreamIndex];
875
+ if (!(existedUserStream !== null && existedUserStream !== void 0 && existedUserStream.isPin)) {
876
+ return;
877
+ }
878
+ existedUserStream.setPin(false);
879
+ _this8._insertByPriority(existedUserStream, list, limitCount);
880
+ _this8._observer.notifyObservers(placement === 'main-list' ? 'onMainListUpdated' : 'onFoldListUpdated', existedUserStreamIndex);
881
+ return true;
882
+ };
883
+ var removePinMainRes = handleRemovePin(streamId, this.mainList, this.mainListLimitedCount, 'main-list');
884
+ var removePinFoldRes = handleRemovePin(streamId, this.foldList, this.foldListLimitedCount, 'fold-list');
885
+ return removePinMainRes && removePinFoldRes;
886
+ }
887
+ }, {
888
+ key: "setSpeakerSpotlight",
889
+ value: function setSpeakerSpotlight(streamId) {
890
+ var _this9 = this;
891
+ var checkStreamExist = function checkStreamExist(streamId) {
892
+ return _this9._findItemIndexWithWindowId(streamId, _this9.mainList) !== -1 && _this9._findItemIndexWithWindowId(streamId, _this9.foldList) !== -1;
893
+ };
894
+ if (!checkStreamExist(streamId)) return;
895
+ var isRefreshSpotlight = this._spotlightPool.streams.has(streamId);
896
+ var success = this._spotlightPool.add(streamId);
897
+ if (!success || isRefreshSpotlight) {
898
+ return;
899
+ }
900
+ var setSpeakerSpotlight = function setSpeakerSpotlight(streamId, list, limitCount, placement) {
901
+ var existedUserStreamIndex = _this9._findItemIndexWithWindowId(streamId, list);
902
+ var existedUserStream = list[existedUserStreamIndex];
903
+ if (existedUserStream) {
904
+ existedUserStream.setSpeakerSpotlight(true);
905
+ }
906
+ if (_this9.layoutType === _type.FcrUIVideoWindowLayoutType.Speaker || list === _this9.foldList) {
907
+ var isSpeakerSpotlightSortingPriority = existedUserStream.sortingPriority === (placement === 'main-list' ? _type.FcrUIVideoWindowMainSortingPriority.SPEAKER_SPOTLIGHT : _type.FcrUIVideoWindowFoldSortingPriority.FOCUS);
908
+ if (isSpeakerSpotlightSortingPriority) {
909
+ _this9._insertBeginningByPriority(existedUserStream, list, limitCount);
910
+ }
911
+ }
912
+ list.forEach(function (item) {
913
+ if (item.needToSort) {
914
+ _this9._insertByPriority(item, list, limitCount);
915
+ }
916
+ });
917
+ _this9._observer.notifyObservers(placement === 'main-list' ? 'onMainListUpdated' : 'onFoldListUpdated', existedUserStreamIndex);
918
+ };
919
+ setSpeakerSpotlight(streamId, this.mainList, this.mainListLimitedCount, 'main-list');
920
+ setSpeakerSpotlight(streamId, this.foldList, this.foldListLimitedCount, 'fold-list');
921
+ this._observer.notifyObservers('onSpotlightAdded', streamId);
922
+ this.spotlightStreamId = streamId;
923
+ }
924
+ }, {
925
+ key: "toggleMainStream",
926
+ value: function toggleMainStream(windowId) {
927
+ var streamIndex = this._findItemIndexWithWindowId(windowId, this.mainList);
928
+ if (streamIndex === -1) {
929
+ return false;
930
+ }
931
+ var streamData = this.mainList[streamIndex];
932
+ // bring the stream to the start of the list
933
+ this.mainList.splice(streamIndex, 1);
934
+ this.mainList.unshift(streamData);
935
+ this._observer.notifyObservers('onMainListUpdated', streamIndex);
936
+ return true;
937
+ }
938
+ }, {
939
+ key: "clearSpeakerSpotlight",
940
+ value: function clearSpeakerSpotlight() {
941
+ this._spotlightPool.clear();
942
+ }
943
+ }, {
944
+ key: "addObserver",
945
+ value: function addObserver(observer) {
946
+ this._observer.addObserver(observer);
947
+ }
948
+ }, {
949
+ key: "removeObserver",
950
+ value: function removeObserver(observer) {
951
+ this._observer.removeObserver(observer);
952
+ }
953
+ }, {
954
+ key: "copyStreamInfo",
955
+ value: function copyStreamInfo(stream) {
956
+ var streamCopy = Object.assign({}, stream);
957
+ return streamCopy;
958
+ }
959
+ }, {
960
+ key: "_syncHasScreenSharing",
961
+ value: function _syncHasScreenSharing(enable, userId, list, limitCount, placement) {
962
+ var _this10 = this;
963
+ if (enable) {
964
+ list.forEach(function (item, index) {
965
+ if (item.userId === userId) {
966
+ var itemIndex = index;
967
+ var originalPriority = item.sortingPriority;
968
+ item.setHasScreenSharing(enable);
969
+ if (item.sortingPriority !== originalPriority) {
970
+ itemIndex = _this10._insertByPriority(item, list, limitCount);
971
+ }
972
+ _this10._observer.notifyObservers(placement === 'main-list' ? 'onMainListUpdated' : 'onFoldListUpdated', itemIndex);
973
+ }
974
+ });
975
+ } else {
976
+ var remainingShare = list.some(function (item) {
977
+ return item.userId === userId && (item.type === _type.FcrUIWindowType.BOARD || item.videoSourceType === _fcrCore.FcrVideoSourceType.SCREEN);
978
+ });
979
+ if (!remainingShare) {
980
+ list.forEach(function (item) {
981
+ if (item.userId === userId) {
982
+ item.setHasScreenSharing(enable);
983
+ var index = _this10._insertByPriority(item, list, limitCount);
984
+ _this10._observer.notifyObservers(placement === 'main-list' ? 'onMainListUpdated' : 'onFoldListUpdated', index);
985
+ }
986
+ });
987
+ }
988
+ }
989
+ }
990
+ }, {
991
+ key: "_insertByPriority",
992
+ value: function _insertByPriority(data, list, limitCount) {
993
+ var insertIndex = -1;
994
+ if (data.sortingPriority >= _type.FcrUIVideoWindowMainSortingPriority.FOCUS) {
995
+ insertIndex = this._insertBeginningByPriority(data, list, limitCount);
996
+ } else {
997
+ insertIndex = this._insertEndByPriority(data, list, limitCount);
998
+ }
999
+ return insertIndex;
1000
+ }
1001
+ }, {
1002
+ key: "_insertBeginningByPriority",
1003
+ value: function _insertBeginningByPriority(data, list, limitedCount) {
1004
+ var currentIndex = this._findItemIndexWithWindowId(data.windowId, list);
1005
+ if (currentIndex !== -1) {
1006
+ list.splice(currentIndex, 1);
1007
+ }
1008
+ var index = this._findInsertBeginningIndex(data.sortingPriority, list);
1009
+ list.splice(index, 0, data);
1010
+ if (list.length > limitedCount) {
1011
+ list.splice(limitedCount);
1012
+ }
1013
+ data.needToSort = false;
1014
+ return index;
1015
+ }
1016
+ }, {
1017
+ key: "_insertEndByPriority",
1018
+ value: function _insertEndByPriority(data, list, limitedCount) {
1019
+ var currentIndex = this._findItemIndexWithWindowId(data.windowId, list);
1020
+ if (currentIndex !== -1) {
1021
+ list.splice(currentIndex, 1);
1022
+ }
1023
+ var index = this._findInsertEndIndex(data.sortingPriority, list);
1024
+ list.splice(index, 0, data);
1025
+ if (list.length > limitedCount) {
1026
+ list.splice(limitedCount);
1027
+ }
1028
+ data.needToSort = false;
1029
+ return index;
1030
+ }
1031
+ }, {
1032
+ key: "_findInsertBeginningIndex",
1033
+ value: function _findInsertBeginningIndex(priority, list) {
1034
+ // list is sorted by priority
1035
+ var index = list.findIndex(function (item) {
1036
+ return item.sortingPriority <= priority;
1037
+ });
1038
+ if (index === -1) {
1039
+ return list.length;
1040
+ } else {
1041
+ return index;
1042
+ }
1043
+ }
1044
+ }, {
1045
+ key: "_findInsertEndIndex",
1046
+ value: function _findInsertEndIndex(priority, list) {
1047
+ // list is sorted by priority
1048
+ var index = list.findLastIndex(function (item) {
1049
+ return item.sortingPriority >= priority;
1050
+ });
1051
+ if (index === -1) {
1052
+ return 0;
1053
+ } else {
1054
+ return index + 1;
1055
+ }
1056
+ }
1057
+ }, {
1058
+ key: "_findCurrentSpeakerSpotlight",
1059
+ value: function _findCurrentSpeakerSpotlight(list) {
1060
+ return list.findIndex(function (item) {
1061
+ return item.isSpeakerSpotlight;
1062
+ });
1063
+ }
1064
+ }, {
1065
+ key: "_findItemIndexWithWindowId",
1066
+ value: function _findItemIndexWithWindowId(windowId, list) {
1067
+ return list.findIndex(function (item) {
1068
+ return item.windowId === windowId;
1069
+ });
1070
+ }
1071
+ }, {
1072
+ key: "_findItemIndexWithUserId",
1073
+ value: function _findItemIndexWithUserId(userId, list) {
1074
+ return list.findIndex(function (item) {
1075
+ return item.userId === userId;
1076
+ });
1077
+ }
1078
+ }, {
1079
+ key: "_findItemIndexWithAudioStreamId",
1080
+ value: function _findItemIndexWithAudioStreamId(audioStreamId, list) {
1081
+ return list.findIndex(function (item) {
1082
+ return item.audioStreamId === audioStreamId;
1083
+ });
1084
+ }
1085
+ }, {
1086
+ key: "_insertBoard",
1087
+ value: function _insertBoard(userInfo, list, limitCount, isMySelf, placement) {
1088
+ var canEdit = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
1089
+ var windowData = new FcrUIVideoWindowDataImpl(_type.FcrUIWindowType.BOARD, {
1090
+ boardUserInfo: userInfo
1091
+ }, placement, isMySelf, this.layoutType, this.spotlightEnabled, canEdit);
1092
+ var insertIndex = this._insertByPriority(windowData, list, limitCount);
1093
+ this._observer.notifyObservers(placement === 'main-list' ? 'onMainListAdded' : 'onFoldListAdded', insertIndex);
1094
+ }
1095
+ }, {
1096
+ key: "_insertNewData",
1097
+ value: function _insertNewData(stream, list, limitCount, isMySelf, placement) {
1098
+ var videoWindowData = new FcrUIVideoWindowDataImpl(_type.FcrUIWindowType.VIDEO, stream.connectorType === _fcrCore.FcrRoomConnectorType.PSTN ? {
1099
+ audioStream: stream
1100
+ } : {
1101
+ videoStream: stream
1102
+ }, placement, isMySelf, this.layoutType, this.spotlightEnabled);
1103
+ var insertIndex = this._insertByPriority(videoWindowData, list, limitCount);
1104
+ this._observer.notifyObservers(placement === 'main-list' ? 'onMainListAdded' : 'onFoldListAdded', insertIndex);
1105
+ }
1106
+ }]);
1107
+ }();
1108
+ _FcrUIVideoWindowDataSourceImpl = FcrUIVideoWindowDataSourceImpl;
1109
+ var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIVideoWindowDataSourceImpl, [[_mobx.observable, 1, "spotlightEnabled"], [_mobx.observable, 1, "layoutType"], [_mobx.observable, 1, "manualLayout"], [_mobx.observable, 1, "pinLimitedCount"], [_mobx.observable, 1, "mainListLimitedCount"], [_mobx.observable, 1, "foldListLimitedCount"], [_mobx.observable, 1, "mainList"], [_mobx.observable, 1, "foldList"], [_mobx.observable, 1, "spotlightStreamId"], [_mobx.computed, 3, "shouldHideNonVideoParticipants"], [_mobx.computed, 3, "layoutMainList"], [_setSpotlightEnabledDecs2, 18, "setSpotlightEnabled"], [_setLayoutDecs, 18, "setLayout"], [_onSpotlightRemovedDecs, 18, "onSpotlightRemoved"], [_resetListDecs, 18, "resetList"], [_addBoardDecs, 18, "addBoard"], [_updateBoardDecs, 18, "updateBoard"], [_removeBoardDecs, 18, "removeBoard"], [_mergePstnStreamOrInsertNewDataDecs, 18, "_mergePstnStreamOrInsertNewData"], [_addDecs, 18, "add"], [_updateDecs, 18, "update"], [_deleteDecs, 18, "delete"], [_addPinDecs, 18, "addPin"], [_addPinToastDecs, 18, "addPinToast"], [_removePinToastDecs, 18, "removePinToast"], [_updateSpeakerSpotlightPositionDecs, 18, "_updateSpeakerSpotlightPosition"], [_removePinDecs, 18, "removePin"], [_setSpeakerSpotlightDecs2, 18, "setSpeakerSpotlight"], [_toggleMainStreamDecs, 18, "toggleMainStream"], [_insertBeginningByPriorityDecs, 18, "_insertBeginningByPriority"], [_insertEndByPriorityDecs, 18, "_insertEndByPriority"], [_findInsertBeginningIndexDecs, 18, "_findInsertBeginningIndex"], [_findInsertEndIndexDecs, 18, "_findInsertEndIndex"], [_insertBoardDecs, 18, "_insertBoard"], [_insertNewDataDecs, 18, "_insertNewData"]], []).e, 10);
1110
+ _init_spotlightEnabled = _applyDecs$e2[0];
1111
+ _init_layoutType = _applyDecs$e2[1];
1112
+ _init_manualLayout = _applyDecs$e2[2];
1113
+ _init_pinLimitedCount = _applyDecs$e2[3];
1114
+ _init_mainListLimitedCount = _applyDecs$e2[4];
1115
+ _init_foldListLimitedCount = _applyDecs$e2[5];
1116
+ _init_mainList = _applyDecs$e2[6];
1117
+ _init_foldList = _applyDecs$e2[7];
1118
+ _init_spotlightStreamId = _applyDecs$e2[8];
1119
+ _initProto2 = _applyDecs$e2[9];
1120
+ var FcrUISpeakerSpotlightPool = exports.FcrUISpeakerSpotlightPool = /*#__PURE__*/function () {
1121
+ function FcrUISpeakerSpotlightPool() {
1122
+ (0, _classCallCheck2["default"])(this, FcrUISpeakerSpotlightPool);
1123
+ (0, _defineProperty2["default"])(this, "streams", new Map());
1124
+ (0, _defineProperty2["default"])(this, "limitCount", 1);
1125
+ (0, _defineProperty2["default"])(this, "duration", 2);
1126
+ (0, _defineProperty2["default"])(this, "_timer", null);
1127
+ (0, _defineProperty2["default"])(this, "_observer", new _observable.AgoraObservable());
1128
+ this._scan = this._scan.bind(this);
1129
+ }
1130
+ return (0, _createClass2["default"])(FcrUISpeakerSpotlightPool, [{
1131
+ key: "add",
1132
+ value: function add(streamId) {
1133
+ if (this.streams.size >= this.limitCount && !this.streams.has(streamId)) {
1134
+ return false;
1135
+ }
1136
+ this.streams.set(streamId, Date.now());
1137
+ this._scan();
1138
+ return true;
1139
+ }
1140
+ }, {
1141
+ key: "_scan",
1142
+ value: function _scan() {
1143
+ var _this11 = this;
1144
+ if (this._timer) {
1145
+ window.clearInterval(this._timer);
1146
+ this._timer = null;
1147
+ }
1148
+ this._timer = window.setInterval(function () {
1149
+ var now = Date.now();
1150
+ var _iterator = _createForOfIteratorHelper(_this11.streams),
1151
+ _step;
1152
+ try {
1153
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
1154
+ var _step$value = (0, _slicedToArray2["default"])(_step.value, 2),
1155
+ _streamId2 = _step$value[0],
1156
+ time = _step$value[1];
1157
+ if (now - time - _this11.duration * 1000 >= 0) {
1158
+ _this11.streams["delete"](_streamId2);
1159
+ _this11._observer.notifyObservers('onRemoved', _streamId2);
1160
+ }
1161
+ }
1162
+ } catch (err) {
1163
+ _iterator.e(err);
1164
+ } finally {
1165
+ _iterator.f();
1166
+ }
1167
+ if (_this11.streams.size === 0) {
1168
+ _this11._timer && window.clearInterval(_this11._timer);
1169
+ _this11._timer = null;
1170
+ }
1171
+ }, 1000);
1172
+ }
1173
+ }, {
1174
+ key: "clear",
1175
+ value: function clear() {
1176
+ var _this12 = this;
1177
+ this.streams.forEach(function (_, streamId) {
1178
+ _this12._observer.notifyObservers('onRemoved', streamId);
1179
+ });
1180
+ this.streams.clear();
1181
+ if (this._timer) {
1182
+ window.clearInterval(this._timer);
1183
+ this._timer = null;
1184
+ }
1185
+ }
1186
+ }, {
1187
+ key: "addObserver",
1188
+ value: function addObserver(observer) {
1189
+ this._observer.addObserver(observer);
1190
+ }
1191
+ }, {
1192
+ key: "removeObserver",
1193
+ value: function removeObserver(observer) {
1194
+ this._observer.removeObserver(observer);
1195
+ }
1196
+ }]);
1197
+ }();
1198
+ (0, _base.registerDependency)('sharedVideoWindowDataSource');