fcr-ui-scene-mobile 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. package/lib/assets/ground_glass_bg.png +0 -0
  2. package/lib/base.d.ts +11 -0
  3. package/lib/base.js +39 -0
  4. package/lib/common/device-store.d.ts +86 -0
  5. package/lib/common/device-store.js +642 -0
  6. package/lib/common/device-stream-store.d.ts +26 -0
  7. package/lib/common/device-stream-store.js +298 -0
  8. package/lib/common/event-store.d.ts +124 -0
  9. package/lib/common/event-store.js +249 -0
  10. package/lib/common/global-context.d.ts +11 -0
  11. package/lib/common/global-context.js +9 -0
  12. package/lib/common/member-list-data-source.d.ts +28 -0
  13. package/lib/common/member-list-data-source.js +305 -0
  14. package/lib/common/participant-store.d.ts +195 -0
  15. package/lib/common/participant-store.js +1577 -0
  16. package/lib/common/security-store.d.ts +119 -0
  17. package/lib/common/security-store.js +948 -0
  18. package/lib/common/setting-store.d.ts +181 -0
  19. package/lib/common/setting-store.js +797 -0
  20. package/lib/common/type.d.ts +73 -0
  21. package/lib/common/type.js +22 -0
  22. package/lib/config/default-config.d.ts +32 -0
  23. package/lib/config/default-config.js +39 -0
  24. package/lib/config/setting-config.d.ts +16 -0
  25. package/lib/config/setting-config.js +17 -0
  26. package/lib/creator.d.ts +10 -0
  27. package/lib/creator.js +49 -0
  28. package/lib/global.d.ts +8 -0
  29. package/lib/hooks/meeting-time.d.ts +15 -0
  30. package/lib/hooks/meeting-time.js +92 -0
  31. package/lib/hooks/useIsNodePresent.d.ts +4 -0
  32. package/lib/hooks/useIsNodePresent.js +53 -0
  33. package/lib/hooks/useOnRefMount.d.ts +2 -0
  34. package/lib/hooks/useOnRefMount.js +27 -0
  35. package/lib/index.d.ts +6 -0
  36. package/lib/index.js +50 -0
  37. package/lib/mobile-global.css +28 -0
  38. package/lib/modules/action-bar/bottom-icons.d.ts +17 -0
  39. package/lib/modules/action-bar/bottom-icons.js +160 -0
  40. package/lib/modules/action-bar/context.d.ts +2 -0
  41. package/lib/modules/action-bar/context.js +9 -0
  42. package/lib/modules/action-bar/index.css +33 -0
  43. package/lib/modules/action-bar/index.d.ts +27 -0
  44. package/lib/modules/action-bar/index.js +46 -0
  45. package/lib/modules/action-bar/member-list-popup/attendee/index.css +130 -0
  46. package/lib/modules/action-bar/member-list-popup/attendee/index.d.ts +19 -0
  47. package/lib/modules/action-bar/member-list-popup/attendee/index.js +252 -0
  48. package/lib/modules/action-bar/member-list-popup/attendee/list.d.ts +1 -0
  49. package/lib/modules/action-bar/member-list-popup/attendee/list.js +82 -0
  50. package/lib/modules/action-bar/member-list-popup/index.css +35 -0
  51. package/lib/modules/action-bar/member-list-popup/index.d.ts +7 -0
  52. package/lib/modules/action-bar/member-list-popup/index.js +40 -0
  53. package/lib/modules/action-bar/member-list-popup/participant-more-actions/index.css +0 -0
  54. package/lib/modules/action-bar/member-list-popup/participant-more-actions/index.d.ts +12 -0
  55. package/lib/modules/action-bar/member-list-popup/participant-more-actions/index.js +58 -0
  56. package/lib/modules/action-bar/more-popup/index.css +71 -0
  57. package/lib/modules/action-bar/more-popup/index.d.ts +2 -0
  58. package/lib/modules/action-bar/more-popup/index.js +126 -0
  59. package/lib/modules/action-bar/store.d.ts +196 -0
  60. package/lib/modules/action-bar/store.js +1425 -0
  61. package/lib/modules/action-bar/type.d.ts +6 -0
  62. package/lib/modules/action-bar/type.js +13 -0
  63. package/lib/modules/action-bar/view.d.ts +2 -0
  64. package/lib/modules/action-bar/view.js +75 -0
  65. package/lib/modules/audio-stream/ index.d.ts +19 -0
  66. package/lib/modules/audio-stream/ index.js +109 -0
  67. package/lib/modules/audio-stream/index.d.ts +25 -0
  68. package/lib/modules/audio-stream/index.js +135 -0
  69. package/lib/modules/chat/chat-bar/index.css +97 -0
  70. package/lib/modules/chat/chat-bar/index.d.ts +12 -0
  71. package/lib/modules/chat/chat-bar/index.js +129 -0
  72. package/lib/modules/chat/chat-notification/index.css +71 -0
  73. package/lib/modules/chat/chat-notification/index.d.ts +3 -0
  74. package/lib/modules/chat/chat-notification/index.js +75 -0
  75. package/lib/modules/chat/chat-select/index.css +183 -0
  76. package/lib/modules/chat/chat-select/index.d.ts +12 -0
  77. package/lib/modules/chat/chat-select/index.js +223 -0
  78. package/lib/modules/chat/contex.d.ts +2 -0
  79. package/lib/modules/chat/contex.js +9 -0
  80. package/lib/modules/chat/demo-wrapper.d.ts +1 -0
  81. package/lib/modules/chat/demo-wrapper.js +42 -0
  82. package/lib/modules/chat/index.css +108 -0
  83. package/lib/modules/chat/index.d.ts +28 -0
  84. package/lib/modules/chat/index.dev.d.ts +1 -0
  85. package/lib/modules/chat/index.dev.js +58 -0
  86. package/lib/modules/chat/index.js +208 -0
  87. package/lib/modules/chat/message-list.d.ts +22 -0
  88. package/lib/modules/chat/message-list.js +617 -0
  89. package/lib/modules/chat/mock.d.ts +2 -0
  90. package/lib/modules/chat/mock.js +283 -0
  91. package/lib/modules/chat/store.d.ts +183 -0
  92. package/lib/modules/chat/store.js +1101 -0
  93. package/lib/modules/chat/util.d.ts +6 -0
  94. package/lib/modules/chat/util.js +69 -0
  95. package/lib/modules/chat/view.d.ts +11 -0
  96. package/lib/modules/chat/view.js +414 -0
  97. package/lib/modules/layout/bottom-drawer/index.css +34 -0
  98. package/lib/modules/layout/bottom-drawer/index.d.ts +3 -0
  99. package/lib/modules/layout/bottom-drawer/index.js +129 -0
  100. package/lib/modules/layout/components/Layout.d.ts +1 -0
  101. package/lib/modules/layout/components/Layout.js +98 -0
  102. package/lib/modules/layout/components/equip-request-popup/index.css +30 -0
  103. package/lib/modules/layout/components/equip-request-popup/index.d.ts +3 -0
  104. package/lib/modules/layout/components/equip-request-popup/index.js +78 -0
  105. package/lib/modules/layout/components/index.css +78 -0
  106. package/lib/modules/layout/components/index.d.ts +2 -0
  107. package/lib/modules/layout/components/index.js +25 -0
  108. package/lib/modules/layout/context.d.ts +2 -0
  109. package/lib/modules/layout/context.js +9 -0
  110. package/lib/modules/layout/drawer-header/index.css +27 -0
  111. package/lib/modules/layout/drawer-header/index.d.ts +10 -0
  112. package/lib/modules/layout/drawer-header/index.js +54 -0
  113. package/lib/modules/layout/index.css +22 -0
  114. package/lib/modules/layout/index.d.ts +8 -0
  115. package/lib/modules/layout/index.js +47 -0
  116. package/lib/modules/layout/store.d.ts +59 -0
  117. package/lib/modules/layout/store.js +379 -0
  118. package/lib/modules/layout/type.d.ts +65 -0
  119. package/lib/modules/layout/type.js +52 -0
  120. package/lib/modules/layout/view.d.ts +2 -0
  121. package/lib/modules/layout/view.js +10 -0
  122. package/lib/modules/member-layout/context.d.ts +2 -0
  123. package/lib/modules/member-layout/context.js +9 -0
  124. package/lib/modules/member-layout/data.d.ts +2 -0
  125. package/lib/modules/member-layout/data.js +304 -0
  126. package/lib/modules/member-layout/grid/index.css +98 -0
  127. package/lib/modules/member-layout/grid/index.d.ts +21 -0
  128. package/lib/modules/member-layout/grid/index.js +316 -0
  129. package/lib/modules/member-layout/index.css +88 -0
  130. package/lib/modules/member-layout/index.d.ts +8 -0
  131. package/lib/modules/member-layout/index.js +45 -0
  132. package/lib/modules/member-layout/share-toast/index.css +30 -0
  133. package/lib/modules/member-layout/share-toast/index.d.ts +5 -0
  134. package/lib/modules/member-layout/share-toast/index.js +43 -0
  135. package/lib/modules/member-layout/speaker/index.css +30 -0
  136. package/lib/modules/member-layout/speaker/index.d.ts +9 -0
  137. package/lib/modules/member-layout/speaker/index.js +28 -0
  138. package/lib/modules/member-layout/store.d.ts +70 -0
  139. package/lib/modules/member-layout/store.js +479 -0
  140. package/lib/modules/member-layout/user/index.css +121 -0
  141. package/lib/modules/member-layout/user/index.d.ts +34 -0
  142. package/lib/modules/member-layout/user/index.js +355 -0
  143. package/lib/modules/member-layout/user/types.d.ts +16 -0
  144. package/lib/modules/member-layout/user/types.js +6 -0
  145. package/lib/modules/member-layout/view.d.ts +2 -0
  146. package/lib/modules/member-layout/view.js +225 -0
  147. package/lib/modules/state-bar/context.d.ts +2 -0
  148. package/lib/modules/state-bar/context.js +9 -0
  149. package/lib/modules/state-bar/index.css +79 -0
  150. package/lib/modules/state-bar/index.d.ts +17 -0
  151. package/lib/modules/state-bar/index.js +55 -0
  152. package/lib/modules/state-bar/leaving-room/index.css +14 -0
  153. package/lib/modules/state-bar/leaving-room/index.d.ts +7 -0
  154. package/lib/modules/state-bar/leaving-room/index.js +38 -0
  155. package/lib/modules/state-bar/meeting-detail/index.css +72 -0
  156. package/lib/modules/state-bar/meeting-detail/index.d.ts +2 -0
  157. package/lib/modules/state-bar/meeting-detail/index.js +59 -0
  158. package/lib/modules/state-bar/meeting-detail/meeting-info/copy.d.ts +4 -0
  159. package/lib/modules/state-bar/meeting-detail/meeting-info/copy.js +81 -0
  160. package/lib/modules/state-bar/meeting-detail/meeting-info/index.css +92 -0
  161. package/lib/modules/state-bar/meeting-detail/meeting-info/index.d.ts +2 -0
  162. package/lib/modules/state-bar/meeting-detail/meeting-info/index.js +188 -0
  163. package/lib/modules/state-bar/meeting-detail/net-quality/index.css +27 -0
  164. package/lib/modules/state-bar/meeting-detail/net-quality/index.d.ts +2 -0
  165. package/lib/modules/state-bar/meeting-detail/net-quality/index.js +87 -0
  166. package/lib/modules/state-bar/store.d.ts +76 -0
  167. package/lib/modules/state-bar/store.js +561 -0
  168. package/lib/modules/state-bar/view.d.ts +7 -0
  169. package/lib/modules/state-bar/view.js +215 -0
  170. package/lib/modules/whiteboard/app.d.ts +2 -0
  171. package/lib/modules/whiteboard/app.js +41 -0
  172. package/lib/modules/whiteboard/components/control-bar/index.css +53 -0
  173. package/lib/modules/whiteboard/components/control-bar/index.d.ts +2 -0
  174. package/lib/modules/whiteboard/components/control-bar/index.js +156 -0
  175. package/lib/modules/whiteboard/components/control-bar/store.d.ts +35 -0
  176. package/lib/modules/whiteboard/components/control-bar/store.js +288 -0
  177. package/lib/modules/whiteboard/components/loading/index.css +76 -0
  178. package/lib/modules/whiteboard/components/loading/index.d.ts +2 -0
  179. package/lib/modules/whiteboard/components/loading/index.js +68 -0
  180. package/lib/modules/whiteboard/components/loading/loading.png +0 -0
  181. package/lib/modules/whiteboard/components/multi-window/index.css +65 -0
  182. package/lib/modules/whiteboard/components/multi-window/index.d.ts +5 -0
  183. package/lib/modules/whiteboard/components/multi-window/index.js +39 -0
  184. package/lib/modules/whiteboard/components/pagination/index.css +228 -0
  185. package/lib/modules/whiteboard/components/pagination/index.d.ts +15 -0
  186. package/lib/modules/whiteboard/components/pagination/index.js +163 -0
  187. package/lib/modules/whiteboard/components/pagination/store.d.ts +18 -0
  188. package/lib/modules/whiteboard/components/pagination/store.js +17 -0
  189. package/lib/modules/whiteboard/components/progress/index.d.ts +5 -0
  190. package/lib/modules/whiteboard/components/progress/index.js +43 -0
  191. package/lib/modules/whiteboard/components/progress/style.css +52 -0
  192. package/lib/modules/whiteboard/components/scene-pagination.d.ts +1 -0
  193. package/lib/modules/whiteboard/components/scene-pagination.js +30 -0
  194. package/lib/modules/whiteboard/components/switch-theme/index.css +98 -0
  195. package/lib/modules/whiteboard/components/switch-theme/index.d.ts +3 -0
  196. package/lib/modules/whiteboard/components/switch-theme/index.js +89 -0
  197. package/lib/modules/whiteboard/components/switch-theme/item.d.ts +9 -0
  198. package/lib/modules/whiteboard/components/switch-theme/item.js +53 -0
  199. package/lib/modules/whiteboard/components/switch-theme/libs.d.ts +4 -0
  200. package/lib/modules/whiteboard/components/switch-theme/libs.js +29 -0
  201. package/lib/modules/whiteboard/components/toolbar/ style.css +588 -0
  202. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/color.d.ts +5 -0
  203. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/color.js +38 -0
  204. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/panel.d.ts +1 -0
  205. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/panel.js +107 -0
  206. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/picker.d.ts +1 -0
  207. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/picker.js +59 -0
  208. package/lib/modules/whiteboard/components/toolbar/components/color-picker/index.d.ts +2 -0
  209. package/lib/modules/whiteboard/components/toolbar/components/color-picker/index.js +44 -0
  210. package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.d.ts +4 -0
  211. package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +89 -0
  212. package/lib/modules/whiteboard/components/toolbar/components/extra-tool-picker.d.ts +1 -0
  213. package/lib/modules/whiteboard/components/toolbar/components/extra-tool-picker.js +63 -0
  214. package/lib/modules/whiteboard/components/toolbar/components/history.d.ts +2 -0
  215. package/lib/modules/whiteboard/components/toolbar/components/history.js +46 -0
  216. package/lib/modules/whiteboard/components/toolbar/components/icons/fold-icon.d.ts +2 -0
  217. package/lib/modules/whiteboard/components/toolbar/components/icons/fold-icon.js +39 -0
  218. package/lib/modules/whiteboard/components/toolbar/components/icons/move-icon.d.ts +1 -0
  219. package/lib/modules/whiteboard/components/toolbar/components/icons/move-icon.js +66 -0
  220. package/lib/modules/whiteboard/components/toolbar/components/move-handle.d.ts +5 -0
  221. package/lib/modules/whiteboard/components/toolbar/components/move-handle.js +134 -0
  222. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.d.ts +4 -0
  223. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +106 -0
  224. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.d.ts +4 -0
  225. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +168 -0
  226. package/lib/modules/whiteboard/components/toolbar/hooks/index.d.ts +14 -0
  227. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +211 -0
  228. package/lib/modules/whiteboard/components/toolbar/index.d.ts +2 -0
  229. package/lib/modules/whiteboard/components/toolbar/index.js +183 -0
  230. package/lib/modules/whiteboard/components/toolbar/store.d.ts +51 -0
  231. package/lib/modules/whiteboard/components/toolbar/store.js +248 -0
  232. package/lib/modules/whiteboard/context.d.ts +69 -0
  233. package/lib/modules/whiteboard/context.js +36 -0
  234. package/lib/modules/whiteboard/index.d.ts +119 -0
  235. package/lib/modules/whiteboard/index.js +1134 -0
  236. package/lib/modules/whiteboard/style.css +143 -0
  237. package/lib/modules/whiteboard/type.d.ts +94 -0
  238. package/lib/modules/whiteboard/type.js +89 -0
  239. package/lib/modules/whiteboard/utils.d.ts +12 -0
  240. package/lib/modules/whiteboard/utils.js +36 -0
  241. package/lib/plugins/css-preset-plugin.d.ts +1 -0
  242. package/lib/plugins/css-preset-plugin.js +29 -0
  243. package/lib/plugins/module-dev-plugin.d.ts +12 -0
  244. package/lib/plugins/module-dev-plugin.js +183 -0
  245. package/lib/plugins/multi-lang-plugin.d.ts +1 -0
  246. package/lib/plugins/multi-lang-plugin.js +19 -0
  247. package/lib/plugins/rtm-plugin.d.ts +1 -0
  248. package/lib/plugins/rtm-plugin.js +5 -0
  249. package/lib/plugins/web-rtc-plugin.d.ts +1 -0
  250. package/lib/plugins/web-rtc-plugin.js +5 -0
  251. package/lib/translations/enUS.d.ts +1855 -0
  252. package/lib/translations/enUS.js +1895 -0
  253. package/lib/translations/zhCN.d.ts +1852 -0
  254. package/lib/translations/zhCN.js +1892 -0
  255. package/lib/type.d.ts +121 -0
  256. package/lib/type.js +46 -0
  257. package/lib/ui-manager.d.ts +32 -0
  258. package/lib/ui-manager.js +426 -0
  259. package/lib/ui-scene.d.ts +14 -0
  260. package/lib/ui-scene.js +141 -0
  261. package/lib/utilities/board-context.d.ts +4 -0
  262. package/lib/utilities/board-context.js +12 -0
  263. package/lib/utilities/constant.d.ts +286 -0
  264. package/lib/utilities/constant.js +271 -0
  265. package/lib/utilities/copyText.d.ts +2 -0
  266. package/lib/utilities/copyText.js +43 -0
  267. package/lib/utilities/extract.d.ts +5 -0
  268. package/lib/utilities/extract.js +117 -0
  269. package/lib/utilities/hooks.d.ts +14 -0
  270. package/lib/utilities/hooks.js +101 -0
  271. package/lib/utilities/mute-action.d.ts +4 -0
  272. package/lib/utilities/mute-action.js +48 -0
  273. package/lib/utilities/parameters.d.ts +7 -0
  274. package/lib/utilities/parameters.js +20 -0
  275. package/lib/utilities/regex.d.ts +1 -0
  276. package/lib/utilities/regex.js +14 -0
  277. package/lib/utilities/tools.d.ts +27 -0
  278. package/lib/utilities/tools.js +169 -0
  279. package/lib/utilities/useNamespace.d.ts +15 -0
  280. package/lib/utilities/useNamespace.js +66 -0
  281. package/package.json +63 -0
@@ -0,0 +1,1577 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.symbol.description.js");
5
+ require("core-js/modules/es.symbol.to-primitive.js");
6
+ require("core-js/modules/es.error.cause.js");
7
+ require("core-js/modules/es.error.to-string.js");
8
+ require("core-js/modules/es.array.is-array.js");
9
+ require("core-js/modules/es.date.to-primitive.js");
10
+ require("core-js/modules/es.function.name.js");
11
+ require("core-js/modules/es.number.constructor.js");
12
+ require("core-js/modules/es.object.create.js");
13
+ require("core-js/modules/es.object.define-property.js");
14
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
15
+ require("core-js/modules/esnext.function.metadata.js");
16
+ require("core-js/modules/esnext.symbol.metadata.js");
17
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
18
+ var _typeof = require("@babel/runtime/helpers/typeof");
19
+ Object.defineProperty(exports, "__esModule", {
20
+ value: true
21
+ });
22
+ exports.FcrParticipantStore = exports.EquipRequstType = void 0;
23
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
24
+ require("core-js/modules/es.array.concat.js");
25
+ require("core-js/modules/es.array.filter.js");
26
+ require("core-js/modules/es.array.find.js");
27
+ require("core-js/modules/es.array.for-each.js");
28
+ require("core-js/modules/es.array.includes.js");
29
+ require("core-js/modules/es.array.iterator.js");
30
+ require("core-js/modules/es.array.map.js");
31
+ require("core-js/modules/es.array.push.js");
32
+ require("core-js/modules/es.array.some.js");
33
+ require("core-js/modules/es.date.now.js");
34
+ require("core-js/modules/es.function.bind.js");
35
+ require("core-js/modules/es.map.js");
36
+ require("core-js/modules/es.object.entries.js");
37
+ require("core-js/modules/es.object.to-string.js");
38
+ require("core-js/modules/es.set.js");
39
+ require("core-js/modules/es.string.includes.js");
40
+ require("core-js/modules/es.string.iterator.js");
41
+ require("core-js/modules/es.weak-map.js");
42
+ require("core-js/modules/esnext.async-iterator.filter.js");
43
+ require("core-js/modules/esnext.async-iterator.find.js");
44
+ require("core-js/modules/esnext.async-iterator.for-each.js");
45
+ require("core-js/modules/esnext.async-iterator.map.js");
46
+ require("core-js/modules/esnext.async-iterator.some.js");
47
+ require("core-js/modules/esnext.iterator.constructor.js");
48
+ require("core-js/modules/esnext.iterator.filter.js");
49
+ require("core-js/modules/esnext.iterator.find.js");
50
+ require("core-js/modules/esnext.iterator.for-each.js");
51
+ require("core-js/modules/esnext.iterator.map.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.set.add-all.js");
68
+ require("core-js/modules/esnext.set.delete-all.js");
69
+ require("core-js/modules/esnext.set.difference.v2.js");
70
+ require("core-js/modules/esnext.set.difference.js");
71
+ require("core-js/modules/esnext.set.every.js");
72
+ require("core-js/modules/esnext.set.filter.js");
73
+ require("core-js/modules/esnext.set.find.js");
74
+ require("core-js/modules/esnext.set.intersection.v2.js");
75
+ require("core-js/modules/esnext.set.intersection.js");
76
+ require("core-js/modules/esnext.set.is-disjoint-from.v2.js");
77
+ require("core-js/modules/esnext.set.is-disjoint-from.js");
78
+ require("core-js/modules/esnext.set.is-subset-of.v2.js");
79
+ require("core-js/modules/esnext.set.is-subset-of.js");
80
+ require("core-js/modules/esnext.set.is-superset-of.v2.js");
81
+ require("core-js/modules/esnext.set.is-superset-of.js");
82
+ require("core-js/modules/esnext.set.join.js");
83
+ require("core-js/modules/esnext.set.map.js");
84
+ require("core-js/modules/esnext.set.reduce.js");
85
+ require("core-js/modules/esnext.set.some.js");
86
+ require("core-js/modules/esnext.set.symmetric-difference.v2.js");
87
+ require("core-js/modules/esnext.set.symmetric-difference.js");
88
+ require("core-js/modules/esnext.set.union.v2.js");
89
+ require("core-js/modules/esnext.set.union.js");
90
+ require("core-js/modules/esnext.weak-map.delete-all.js");
91
+ require("core-js/modules/esnext.weak-map.emplace.js");
92
+ require("core-js/modules/web.dom-collections.for-each.js");
93
+ require("core-js/modules/web.dom-collections.iterator.js");
94
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
95
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
96
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
97
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
98
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
99
+ var _fcrCore = require("fcr-core");
100
+ var _type = require("fcr-core/lib/type");
101
+ var _constant = require("../utilities/constant");
102
+ var _logger = require("agora-foundation/lib/logger");
103
+ var _type2 = require("agora-rte-sdk/lib/core/scene/type");
104
+ var _type3 = require("agora-rte-sdk/lib/type");
105
+ var _attendee = require("agora-ui-foundation/lib/components/participants/attendee");
106
+ var _toast = require("agora-ui-foundation/lib/components/toast");
107
+ var _mobx = require("mobx");
108
+ var _decorator = require("agora-foundation/lib/decorator");
109
+ var _mobxUtils = require("mobx-utils");
110
+ var _memberListDataSource = require("./member-list-data-source");
111
+ var _type4 = require("./type");
112
+ var _i18n = require("agora-ui-foundation/lib/i18n");
113
+ var _FcrParticipantStore;
114
+ var _initProto, _init__mainList, _init__participantsWindowActive, _init_currentPerspectiveType, _init_enableParticipantsJoinWithMute, _init_searchText, _init_currentModal, _init_localUserRole, _init_spotlightUserId, _init_enableSpotlight, _init_mergeConfirmDialog, _init_mergeUserId, _init_activeTab, _init_isNewWaitingRoomUserEnter, _init_waitingRoomUserCount, _init_participantCount, _init_requestEquipPopupShow, _init_requestEquipType, _init_requestEquipSenderRole, _setSpotlightUserIdDecs, _setCurrentModalDecs, _setParticipantsWindowActiveDecs, _handlerSearchUserDecs, _getAllowedOperationsDecs, _handlerUserActionDecs, _moveToWaitingRoomByUserIdsDecs, _removeWaitingRoomUserDecs, _kickOutWaitingRoomAllMemberDecs, _moveToMainRoomAllMemberDecs, _handlerRoomControlActionDecs, _handleEventDecs, _moveToMainRoomByUserIdsDecs, _handleActiveTabDecs, _setAsAttendeeDecs, _handleRemoteUserJoinedDecs, _handleRemoteUserLeftDecs, _onUserInfoUpdatedDecs, _onAllUserCountUpdatedDecs, _initUserListDecs, _refreshCurrentPerspectiveTypeDecs, _onPeerSessionReceivedDecs, _updateLocalUserRoleDecs, _setRequestEquipPopupShowDecs, _setRequestEquipTypeDecs, _setRequestEquipSenderRoleDecs, _ref; // import { sendEvent } from '../../utilities/renderer-event';
115
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
116
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
117
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
118
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
119
+ 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"); }
120
+ 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)]; } }; }
121
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
122
+ 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); }
123
+ 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; }
124
+ 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; }
125
+ // import { userRoleI18nKey } from '../../hooks/i18n';
126
+
127
+ // import { OperateWaitingRoomMemberDialogProps } from './attendee';
128
+ /**
129
+ * seconds
130
+ */
131
+ var SESSION_DURATION = 30;
132
+ var EquipRequstType = exports.EquipRequstType = /*#__PURE__*/function (EquipRequstType) {
133
+ EquipRequstType[EquipRequstType["MICRO"] = 0] = "MICRO";
134
+ EquipRequstType[EquipRequstType["VIDEO"] = 1] = "VIDEO";
135
+ return EquipRequstType;
136
+ }({});
137
+ var _B = /*#__PURE__*/new WeakMap();
138
+ var _C = /*#__PURE__*/new WeakMap();
139
+ var _D = /*#__PURE__*/new WeakMap();
140
+ var _A = /*#__PURE__*/new WeakMap();
141
+ var _E = /*#__PURE__*/new WeakMap();
142
+ var _F = /*#__PURE__*/new WeakMap();
143
+ var _G = /*#__PURE__*/new WeakMap();
144
+ var _H = /*#__PURE__*/new WeakMap();
145
+ var _I = /*#__PURE__*/new WeakMap();
146
+ var _J = /*#__PURE__*/new WeakMap();
147
+ var _K = /*#__PURE__*/new WeakMap();
148
+ var _L = /*#__PURE__*/new WeakMap();
149
+ var _M = /*#__PURE__*/new WeakMap();
150
+ var _N = /*#__PURE__*/new WeakMap();
151
+ var _O = /*#__PURE__*/new WeakMap();
152
+ var _P = /*#__PURE__*/new WeakMap();
153
+ var _Q = /*#__PURE__*/new WeakMap();
154
+ var _R = /*#__PURE__*/new WeakMap();
155
+ var _S = /*#__PURE__*/new WeakMap();
156
+ _ref = (_setSpotlightUserIdDecs = [_mobx.action, _mobx.action.bound], _setCurrentModalDecs = [_mobx.action, _mobx.action.bound], _setParticipantsWindowActiveDecs = [_mobx.action, _mobx.action.bound], _handlerSearchUserDecs = [_mobx.action, _mobx.action.bound], _getAllowedOperationsDecs = [_mobx.action, _mobx.action.bound], _handlerUserActionDecs = [_mobx.action, _mobx.action.bound], _moveToWaitingRoomByUserIdsDecs = [_mobx.action, _mobx.action.bound], _removeWaitingRoomUserDecs = [_mobx.action, _mobx.action.bound], _kickOutWaitingRoomAllMemberDecs = [_mobx.action, _mobx.action.bound], _moveToMainRoomAllMemberDecs = [_mobx.action, _mobx.action.bound], _handlerRoomControlActionDecs = [_mobx.action, _mobx.action.bound], _handleEventDecs = [_mobx.action, _mobx.action.bound], _moveToMainRoomByUserIdsDecs = [_mobx.action, _mobx.action.bound], _handleActiveTabDecs = [_mobx.action, _mobx.action.bound], _setAsAttendeeDecs = [_mobx.action, _mobx.action.bound], _handleRemoteUserJoinedDecs = [_mobx.action, _mobx.action.bound], _handleRemoteUserLeftDecs = [_mobx.action, _mobx.action.bound], _onUserInfoUpdatedDecs = [_mobx.action, _mobx.action.bound], _onAllUserCountUpdatedDecs = [_mobx.action, _mobx.action.bound], _initUserListDecs = [_mobx.action, _mobx.action.bound], _refreshCurrentPerspectiveTypeDecs = [_mobx.action, _mobx.action.bound], _onPeerSessionReceivedDecs = [_mobx.action, _mobx.action.bound], _updateLocalUserRoleDecs = [_mobx.action, _mobx.action.bound], _setRequestEquipPopupShowDecs = [_mobx.action, _mobx.action.bound], _setRequestEquipTypeDecs = [_mobx.action, _mobx.action.bound], _setRequestEquipSenderRoleDecs = [_mobx.action, _mobx.action.bound], "MIN_USERS_TO_ENABLE_SPOTLIGHT");
157
+ var FcrParticipantStore = exports.FcrParticipantStore = /*#__PURE__*/function () {
158
+ function FcrParticipantStore(_ref2) {
159
+ var _this = this;
160
+ var roomControl = _ref2.roomControl,
161
+ peerSessionControl = _ref2.peerSessionControl,
162
+ securityStore = _ref2.securityStore,
163
+ uiEventStore = _ref2.uiEventStore,
164
+ deviceStore = _ref2.deviceStore,
165
+ deviceStreamStore = _ref2.deviceStreamStore;
166
+ (0, _classCallCheck2["default"])(this, FcrParticipantStore);
167
+ (0, _defineProperty2["default"])(this, "logger", (_initProto(this), (0, _logger.getLogger)()));
168
+ (0, _defineProperty2["default"])(this, "_dataSource", new _memberListDataSource.FcrUIMemberListDataSourceImpl());
169
+ (0, _defineProperty2["default"])(this, "_disposers", []);
170
+ (0, _defineProperty2["default"])(this, "_unmuteAudioTimestamp", new Map());
171
+ (0, _defineProperty2["default"])(this, "_unmuteVideoTimestamp", new Map());
172
+ (0, _defineProperty2["default"])(this, "_processedUserOpenDeviceRequests", new Set());
173
+ (0, _defineProperty2["default"])(this, "_lastReceiveSession", null);
174
+ (0, _defineProperty2["default"])(this, "_streamsObserver", {
175
+ onStreamsAdded: this._handleStreamsAdded,
176
+ onStreamsUpdated: this._handleStreamsUpdated,
177
+ onStreamsRemoved: this._handleStreamsRemoved
178
+ });
179
+ (0, _defineProperty2["default"])(this, "_peerSessionObserver", {
180
+ onPeerSessionReceived: this._onPeerSessionReceived.bind(this),
181
+ onPeerSessionAccepted: this._onPeerSessionAccepted.bind(this),
182
+ onPeerSessionRejected: this._onPeerSessionRejected.bind(this)
183
+ });
184
+ (0, _defineProperty2["default"])(this, "_userObserver", {
185
+ onRemoteUsersJoined: this._handleRemoteUserJoined.bind(this),
186
+ onRemoteUsersLeft: this._handleRemoteUserLeft.bind(this),
187
+ onUserInfoUpdated: this._onUserInfoUpdated.bind(this),
188
+ onAllUserCountUpdated: this._onAllUserCountUpdated.bind(this),
189
+ onLocalUserKickedOut: this._onLocalUserKickedout.bind(this)
190
+ });
191
+ (0, _defineProperty2["default"])(this, "_eventObserver", {
192
+ onEvent: this._handleEvent
193
+ });
194
+ (0, _defineProperty2["default"])(this, "_whitebaordObderver", {
195
+ onActive: function onActive(_ownerId, operatorUser) {
196
+ _this._updateUserBoardState(operatorUser);
197
+ },
198
+ onInactive: function onInactive(_reason, operatorUser) {
199
+ _this._updateUserBoardState(operatorUser);
200
+ }
201
+ });
202
+ _classPrivateFieldInitSpec(this, _B, _init__mainList(this, []));
203
+ _classPrivateFieldInitSpec(this, _C, _init__participantsWindowActive(this, false));
204
+ _classPrivateFieldInitSpec(this, _D, _init_currentPerspectiveType(this, 'attendee'));
205
+ _classPrivateFieldInitSpec(this, _A, _fcrCore.FcrMediaSourceState.CLOSE);
206
+ _classPrivateFieldInitSpec(this, _E, _init_enableParticipantsJoinWithMute(this, false));
207
+ _classPrivateFieldInitSpec(this, _F, _init_searchText(this, ''));
208
+ _classPrivateFieldInitSpec(this, _G, _init_currentModal(this, 'modal'));
209
+ _classPrivateFieldInitSpec(this, _H, _init_localUserRole(this));
210
+ _classPrivateFieldInitSpec(this, _I, _init_spotlightUserId(this, ''));
211
+ _classPrivateFieldInitSpec(this, _J, _init_enableSpotlight(this, true));
212
+ _classPrivateFieldInitSpec(this, _K, _init_mergeConfirmDialog(this, false));
213
+ _classPrivateFieldInitSpec(this, _L, _init_mergeUserId(this, ''));
214
+ _classPrivateFieldInitSpec(this, _M, _init_activeTab(this, _constant.RoomType.MAIN_ROOM));
215
+ _classPrivateFieldInitSpec(this, _N, _init_isNewWaitingRoomUserEnter(this, false));
216
+ _classPrivateFieldInitSpec(this, _O, _init_waitingRoomUserCount(this, 0));
217
+ _classPrivateFieldInitSpec(this, _P, _init_participantCount(this, 0));
218
+ _classPrivateFieldInitSpec(this, _Q, _init_requestEquipPopupShow(this, false));
219
+ _classPrivateFieldInitSpec(this, _R, _init_requestEquipType(this, EquipRequstType.MICRO));
220
+ _classPrivateFieldInitSpec(this, _S, _init_requestEquipSenderRole(this, _type.FcrUserRole.HOST));
221
+ (0, _defineProperty2["default"])(this, "allowedOperations", (0, _mobxUtils.computedFn)(function (userId, userRole) {
222
+ var _this$_userControl$ge;
223
+ return _this.getAllowedOperations(userRole, userId === ((_this$_userControl$ge = _this._userControl.getLocalUser()) === null || _this$_userControl$ge === void 0 ? void 0 : _this$_userControl$ge.userId));
224
+ }));
225
+ (0, _defineProperty2["default"])(this, "checkIsPin", (0, _mobxUtils.computedFn)(function (userId) {
226
+ var _this$userMap$get;
227
+ return !!((_this$userMap$get = _this.userMap.get(userId)) !== null && _this$userMap$get !== void 0 && _this$userMap$get.streams.some(function (stream) {
228
+ return _this.pinedStreamIds.includes(stream.streamId);
229
+ }));
230
+ }));
231
+ (0, _defineProperty2["default"])(this, "formatUser", function (user) {
232
+ var _this$_userControl$ge2, _user$streams$find;
233
+ var targetUsers = user.streams;
234
+ var hasShareScreen = targetUsers.find(function (user) {
235
+ return user.videoSourceType === _type3.AgoraRteVideoSourceType.SCREEN;
236
+ });
237
+ var isSelf = user.userId === _this._userControl.getLocalUser().userId;
238
+ var hasAudioPublishedAndStarted = function hasAudioPublishedAndStarted(stream) {
239
+ return (stream === null || stream === void 0 ? void 0 : stream.audioSourceState) === _fcrCore.FcrMediaSourceState.OPEN && ((stream === null || stream === void 0 ? void 0 : stream.streamType) === _type2.AgoraRteMediaStreamType.AUDIO || (stream === null || stream === void 0 ? void 0 : stream.streamType) === _type2.AgoraRteMediaStreamType.BOTH);
240
+ };
241
+ var hasVideoPublishedAndStarted = function hasVideoPublishedAndStarted(stream) {
242
+ return (stream === null || stream === void 0 ? void 0 : stream.videoSourceState) === _fcrCore.FcrMediaSourceState.OPEN && ((stream === null || stream === void 0 ? void 0 : stream.streamType) === _type2.AgoraRteMediaStreamType.VIDEO || (stream === null || stream === void 0 ? void 0 : stream.streamType) === _type2.AgoraRteMediaStreamType.BOTH);
243
+ };
244
+ var hasAudio = false;
245
+ var hasVideo = false;
246
+ var audioDeviceType = 'none';
247
+ var videoDeviceType = 'none';
248
+ var userType = 'normal';
249
+ if (user.userInfo.connectorType === _fcrCore.FcrRoomConnectorType.NONE) {
250
+ var defaultStream = targetUsers.find(function (user) {
251
+ return user.videoSourceType === _type3.AgoraRteVideoSourceType.CAMERA;
252
+ });
253
+ var pstnStream = targetUsers.find(function (_ref3) {
254
+ var connectorType = _ref3.connectorType;
255
+ return connectorType == _fcrCore.FcrRoomConnectorType.PSTN;
256
+ });
257
+ videoDeviceType = 'computer-cam';
258
+ hasVideo = isSelf ? _this._deviceStore.cameraEnabled : hasVideoPublishedAndStarted(defaultStream);
259
+
260
+ // 4.normal user with camera and phone mic
261
+ if (pstnStream) {
262
+ audioDeviceType = 'phone-mic';
263
+
264
+ // hasAudio = hasAudioPublishedAndStarted(pstnStream);
265
+ hasAudio = true;
266
+ }
267
+ // 1.normal user with computer devices
268
+ else {
269
+ audioDeviceType = 'computer-mic';
270
+ hasAudio = isSelf ? _this._deviceStore.microphoneEnabled : hasAudioPublishedAndStarted(defaultStream);
271
+ }
272
+ }
273
+ // 2.sip user with camera and phone mic
274
+ else if ([_fcrCore.FcrRoomConnectorType.SIP, _fcrCore.FcrRoomConnectorType.H323].includes(user.userInfo.connectorType)) {
275
+ var firstSipOrH323Stream = targetUsers.find(function (_ref4) {
276
+ var connectorType = _ref4.connectorType;
277
+ return [_fcrCore.FcrRoomConnectorType.SIP, _fcrCore.FcrRoomConnectorType.H323].includes(connectorType);
278
+ });
279
+ audioDeviceType = 'phone-mic';
280
+ videoDeviceType = 'computer-cam';
281
+ userType = 'meeting-system';
282
+ hasAudio = hasAudioPublishedAndStarted(firstSipOrH323Stream);
283
+ hasVideo = hasVideoPublishedAndStarted(firstSipOrH323Stream);
284
+ }
285
+ // 3.phone user with no camera and phone mic
286
+ else if (user.userInfo.connectorType === _fcrCore.FcrRoomConnectorType.PSTN) {
287
+ var _pstnStream = targetUsers.find(function (_ref5) {
288
+ var connectorType = _ref5.connectorType;
289
+ return connectorType == _fcrCore.FcrRoomConnectorType.PSTN;
290
+ });
291
+ audioDeviceType = 'phone-mic';
292
+ userType = 'phone';
293
+ hasAudio = hasAudioPublishedAndStarted(_pstnStream);
294
+ hasVideo = hasVideoPublishedAndStarted(_pstnStream);
295
+ }
296
+ var isSpotlight = user.userId === _this.spotlightUserId;
297
+ return {
298
+ userId: user.userId,
299
+ userName: user.userInfo.userName,
300
+ isHost: user.userInfo.userRole === _type.FcrUserRole.HOST,
301
+ isMe: user.userId === ((_this$_userControl$ge2 = _this._userControl.getLocalUser()) === null || _this$_userControl$ge2 === void 0 ? void 0 : _this$_userControl$ge2.userId),
302
+ hasAudio: hasAudio,
303
+ hasVideo: hasVideo,
304
+ isScreenSharing: !!hasShareScreen,
305
+ shareScreenStreamId: (hasShareScreen === null || hasShareScreen === void 0 ? void 0 : hasShareScreen.streamId) || '',
306
+ audioDeviceType: audioDeviceType,
307
+ videoDeviceType: videoDeviceType,
308
+ userType: userType,
309
+ userRole: user.userInfo.userRole,
310
+ isSpotlight: isSpotlight,
311
+ isBoardActive: user.userInfo.isBoardActive,
312
+ allowedOperations: _this.allowedOperations(user.userId, user.userInfo.userRole),
313
+ isPin: _this.checkIsPin(user.userId),
314
+ streamId: ((_user$streams$find = user.streams.find(function (stream) {
315
+ return stream.videoSourceType === _type3.AgoraRteVideoSourceType.CAMERA && (stream.streamType === _type2.AgoraRteMediaStreamType.VIDEO || stream.streamType === _type2.AgoraRteMediaStreamType.BOTH);
316
+ })) === null || _user$streams$find === void 0 ? void 0 : _user$streams$find.streamId) || ''
317
+ };
318
+ });
319
+ this._roomControl = roomControl;
320
+ this._streamControl = roomControl.getStreamControl();
321
+ this._peerSessionControl = peerSessionControl;
322
+ this._userControl = roomControl.getUserControl();
323
+ this.localUserRole = this._userControl.getLocalUser().userRole;
324
+ this._userControl.addObserver(this._userObserver);
325
+ this._streamControl.addObserver(this._streamsObserver);
326
+ this._peerSessionControl.addObserver(this._peerSessionObserver);
327
+ this._roomControl.getBoardControl().addObserver(this._whitebaordObderver);
328
+ this._securityStore = securityStore;
329
+ this._uiEventStore = uiEventStore;
330
+ this._deviceStore = deviceStore;
331
+ this._deviceStreamStore = deviceStreamStore;
332
+ this._uiEventStore.addObserver(this._eventObserver);
333
+ this._initUserList();
334
+ this._addReactions();
335
+ this._updateUserBoardState();
336
+ }
337
+ return (0, _createClass2["default"])(FcrParticipantStore, [{
338
+ key: "_mainList",
339
+ get: function get() {
340
+ return _classPrivateFieldGet(_B, this);
341
+ },
342
+ set: function set(v) {
343
+ _classPrivateFieldSet(_B, this, v);
344
+ }
345
+ }, {
346
+ key: "_participantsWindowActive",
347
+ get: function get() {
348
+ return _classPrivateFieldGet(_C, this);
349
+ },
350
+ set: function set(v) {
351
+ _classPrivateFieldSet(_C, this, v);
352
+ }
353
+ }, {
354
+ key: "currentPerspectiveType",
355
+ get: function get() {
356
+ return _classPrivateFieldGet(_D, this);
357
+ },
358
+ set: function set(v) {
359
+ _classPrivateFieldSet(_D, this, v);
360
+ }
361
+ }, {
362
+ key: "screenSharingState",
363
+ get: function get() {
364
+ return _classPrivateFieldGet(_A, this);
365
+ },
366
+ set: function set(v) {
367
+ _classPrivateFieldSet(_A, this, v);
368
+ }
369
+ }, {
370
+ key: "enableParticipantsJoinWithMute",
371
+ get: function get() {
372
+ return _classPrivateFieldGet(_E, this);
373
+ },
374
+ set: function set(v) {
375
+ _classPrivateFieldSet(_E, this, v);
376
+ }
377
+ }, {
378
+ key: "searchText",
379
+ get: function get() {
380
+ return _classPrivateFieldGet(_F, this);
381
+ },
382
+ set: function set(v) {
383
+ _classPrivateFieldSet(_F, this, v);
384
+ }
385
+ }, {
386
+ key: "currentModal",
387
+ get: function get() {
388
+ return _classPrivateFieldGet(_G, this);
389
+ },
390
+ set: function set(v) {
391
+ _classPrivateFieldSet(_G, this, v);
392
+ }
393
+ }, {
394
+ key: "localUserRole",
395
+ get: function get() {
396
+ return _classPrivateFieldGet(_H, this);
397
+ },
398
+ set: function set(v) {
399
+ _classPrivateFieldSet(_H, this, v);
400
+ }
401
+ }, {
402
+ key: "spotlightUserId",
403
+ get: function get() {
404
+ return _classPrivateFieldGet(_I, this);
405
+ },
406
+ set: function set(v) {
407
+ _classPrivateFieldSet(_I, this, v);
408
+ }
409
+ }, {
410
+ key: "enableSpotlight",
411
+ get: function get() {
412
+ return _classPrivateFieldGet(_J, this);
413
+ },
414
+ set: function set(v) {
415
+ _classPrivateFieldSet(_J, this, v);
416
+ }
417
+ }, {
418
+ key: "mergeConfirmDialog",
419
+ get: function get() {
420
+ return _classPrivateFieldGet(_K, this);
421
+ },
422
+ set: function set(v) {
423
+ _classPrivateFieldSet(_K, this, v);
424
+ }
425
+ }, {
426
+ key: "mergeUserId",
427
+ get: function get() {
428
+ return _classPrivateFieldGet(_L, this);
429
+ },
430
+ set: function set(v) {
431
+ _classPrivateFieldSet(_L, this, v);
432
+ }
433
+ }, {
434
+ key: "activeTab",
435
+ get: function get() {
436
+ return _classPrivateFieldGet(_M, this);
437
+ },
438
+ set: function set(v) {
439
+ _classPrivateFieldSet(_M, this, v);
440
+ }
441
+ }, {
442
+ key: "isNewWaitingRoomUserEnter",
443
+ get: function get() {
444
+ return _classPrivateFieldGet(_N, this);
445
+ },
446
+ set: function set(v) {
447
+ _classPrivateFieldSet(_N, this, v);
448
+ }
449
+ }, {
450
+ key: "waitingRoomUserCount",
451
+ get: function get() {
452
+ return _classPrivateFieldGet(_O, this);
453
+ },
454
+ set: function set(v) {
455
+ _classPrivateFieldSet(_O, this, v);
456
+ }
457
+ }, {
458
+ key: "participantCount",
459
+ get: function get() {
460
+ return _classPrivateFieldGet(_P, this);
461
+ },
462
+ set: function set(v) {
463
+ _classPrivateFieldSet(_P, this, v);
464
+ }
465
+ }, {
466
+ key: "requestEquipPopupShow",
467
+ get: function get() {
468
+ return _classPrivateFieldGet(_Q, this);
469
+ },
470
+ set: function set(v) {
471
+ _classPrivateFieldSet(_Q, this, v);
472
+ }
473
+ }, {
474
+ key: "requestEquipType",
475
+ get: function get() {
476
+ return _classPrivateFieldGet(_R, this);
477
+ },
478
+ set: function set(v) {
479
+ _classPrivateFieldSet(_R, this, v);
480
+ }
481
+ }, {
482
+ key: "requestEquipSenderRole",
483
+ get: function get() {
484
+ return _classPrivateFieldGet(_S, this);
485
+ },
486
+ set: function set(v) {
487
+ _classPrivateFieldSet(_S, this, v);
488
+ }
489
+ }, {
490
+ key: "userListSource",
491
+ get: function get() {
492
+ return this._dataSource.list;
493
+ }
494
+ }, {
495
+ key: "localUser",
496
+ get: function get() {
497
+ return this.participantList.find(function (participantUser) {
498
+ return participantUser.isMe === true;
499
+ });
500
+ }
501
+ }, {
502
+ key: "mergeUserInfo",
503
+ get: function get() {
504
+ var _this$userListSource$,
505
+ _this2 = this;
506
+ return (_this$userListSource$ = this.userListSource.find(function (user) {
507
+ return user.userId === _this2.mergeUserId;
508
+ })) === null || _this$userListSource$ === void 0 ? void 0 : _this$userListSource$.userInfo;
509
+ }
510
+ }, {
511
+ key: "hostList",
512
+ get: function get() {
513
+ return this.userListSource.filter(function (user) {
514
+ return user.userInfo.userRole === _type.FcrUserRole.HOST || user.userInfo.userRole === _type.FcrUserRole.COHOST;
515
+ });
516
+ }
517
+ }, {
518
+ key: "userMap",
519
+ get: function get() {
520
+ var res = new Map();
521
+ this.userListSource.forEach(function (u) {
522
+ res.set(u.userId, u);
523
+ });
524
+ return res;
525
+ }
526
+ }, {
527
+ key: "allowUnmuteSelfAudio",
528
+ get: function get() {
529
+ return this._securityStore.allowUnmuteSelfAudio();
530
+ }
531
+ }, {
532
+ key: "allowJoinWithMuteAudio",
533
+ get: function get() {
534
+ return this._securityStore.allowJoinWithMuteAudio();
535
+ }
536
+ }, {
537
+ key: "allowUnmuteSelfVideo",
538
+ get: function get() {
539
+ return this._securityStore.allowUnmuteSelfVideo();
540
+ }
541
+ }, {
542
+ key: "isLockRoomEnabled",
543
+ get: function get() {
544
+ return this._securityStore.isLockRoomEnabled();
545
+ }
546
+ }, {
547
+ key: "isWaitingRoomEnabled",
548
+ get: function get() {
549
+ return this._securityStore.isWaitingRoomEnabled();
550
+ }
551
+ }, {
552
+ key: "allowChangeSelfName",
553
+ get: function get() {
554
+ return this._securityStore.allowChangeSelfName();
555
+ }
556
+ }, {
557
+ key: "allowChat",
558
+ get: function get() {
559
+ return this._securityStore.allowChat();
560
+ }
561
+ }, {
562
+ key: "allowShareScreen",
563
+ get: function get() {
564
+ return this._securityStore.allowShareScreen();
565
+ }
566
+ }, {
567
+ key: "pinedStreamIds",
568
+ get: function get() {
569
+ return this._mainList.filter(function (i) {
570
+ return i.isPin;
571
+ }).map(function (i) {
572
+ return i.windowId;
573
+ });
574
+ }
575
+ }, {
576
+ key: "hasPinnedStream",
577
+ get: function get() {
578
+ return this._mainList.some(function (i) {
579
+ return i.isPin;
580
+ });
581
+ }
582
+ }, {
583
+ key: "participantList",
584
+ get: function get() {
585
+ var _this3 = this;
586
+ var list = this.userListSource;
587
+ var uiDataList = list.map(function (user) {
588
+ return _this3.formatUser(user);
589
+ });
590
+ return uiDataList;
591
+ }
592
+ }, {
593
+ key: "memberList",
594
+ get: function get() {
595
+ var _this4 = this;
596
+ var list = this.userListSource;
597
+ if (this.searchText.length) {
598
+ list = list.filter(function (user) {
599
+ return user.userInfo.userName.toLocaleLowerCase().includes(_this4.searchText.toLocaleLowerCase());
600
+ });
601
+ }
602
+ var uiDataList = list.map(function (user) {
603
+ return _this4.formatUser(user);
604
+ });
605
+ return uiDataList;
606
+ }
607
+ }, {
608
+ key: "localMicVolume",
609
+ get: function get() {
610
+ return this._deviceStore.microphoneVolumeLevel;
611
+ }
612
+ }, {
613
+ key: "hasRevokeHostPermission",
614
+ get: function get() {
615
+ return this._securityStore.hasRevokeHostPermission() && this.localUserRole !== _type.FcrUserRole.HOST;
616
+ }
617
+ }, {
618
+ key: "setSpotlightUserId",
619
+ value: function setSpotlightUserId(userId) {
620
+ this.spotlightUserId = userId;
621
+ }
622
+ }, {
623
+ key: "release",
624
+ value: function release() {
625
+ this._userControl.removeObserver(this._userObserver);
626
+ this._streamControl.removeObserver(this._streamsObserver);
627
+ this._uiEventStore.removeObserver(this._eventObserver);
628
+ this._disposers.forEach(function (disposer) {
629
+ return disposer();
630
+ });
631
+ }
632
+ }, {
633
+ key: "hasMutePermission",
634
+ value: function hasMutePermission(targetRole) {
635
+ return this._securityStore.hasMutePermission(targetRole);
636
+ }
637
+ }, {
638
+ key: "hasWaitingRoomPermission",
639
+ value: function hasWaitingRoomPermission() {
640
+ return this._securityStore.isWaitingRoomEnabled() && this._securityStore.hasWaitingRoomPermission();
641
+ }
642
+ }, {
643
+ key: "hasUnmutePermission",
644
+ value: function hasUnmutePermission(targetRole) {
645
+ return this._securityStore.hasUnmutePermission(targetRole);
646
+ }
647
+ }, {
648
+ key: "hasRequestStartAudioPermission",
649
+ value: function hasRequestStartAudioPermission(targetRole) {
650
+ return this._securityStore.hasRequestStartAudioPermission(targetRole);
651
+ }
652
+ }, {
653
+ key: "setCurrentModal",
654
+ value: function setCurrentModal(modal) {
655
+ this.currentModal = modal;
656
+ }
657
+ }, {
658
+ key: "closeParticipantsAside",
659
+ value: function closeParticipantsAside() {
660
+ this._uiEventStore.updateAside({
661
+ participant: false
662
+ });
663
+ }
664
+
665
+ // @action.bound
666
+ // openParticipantsWindow() {
667
+ // window.runtime.setFragmentOptions(
668
+ // 'participant',
669
+ // {
670
+ // frame: false,
671
+ // titleBarStyle: 'hidden',
672
+ // resizable: true,
673
+ // maxHeight: 700,
674
+ // maxWidth: 620,
675
+ // maximizable: false,
676
+ // fullscreen: false,
677
+ // minHeight: 560,
678
+ // minWidth: 320,
679
+ // width: 320,
680
+ // height: 560,
681
+ // },
682
+ // {},
683
+ // );
684
+ // this.openDialog();
685
+ // }
686
+ }, {
687
+ key: "closeParticipantsWindow",
688
+ value: function closeParticipantsWindow() {
689
+ if (this._dialogId) {
690
+ this._uiEventStore.closeDialog(this._dialogId);
691
+ }
692
+ }
693
+ }, {
694
+ key: "openDialog",
695
+ value: function openDialog() {
696
+ this._dialogId = this._uiEventStore.openDialog(_constant.DialogKey.PARTICIPANT);
697
+ }
698
+ }, {
699
+ key: "openConfirmDialog",
700
+ value: function openConfirmDialog(params, _id) {
701
+ var _this5 = this;
702
+ var title = params.title,
703
+ content = params.content,
704
+ _onOk = params.onOk,
705
+ _onCancel = params.onCancel,
706
+ okText = params.okText,
707
+ cancelText = params.cancelText,
708
+ height = params.height;
709
+ var dialogKey = this._uiEventStore.openConfirmDialog({
710
+ title: title,
711
+ content: content,
712
+ okText: okText,
713
+ cancelText: cancelText,
714
+ height: height,
715
+ onCancel: function onCancel() {
716
+ _this5._uiEventStore.closeDialog(dialogKey);
717
+ _onCancel && _onCancel();
718
+ },
719
+ onOk: function onOk() {
720
+ _this5._uiEventStore.closeDialog(dialogKey);
721
+ _onOk();
722
+ }
723
+ });
724
+ }
725
+ }, {
726
+ key: "setParticipantsWindowActive",
727
+ value: function setParticipantsWindowActive(active) {
728
+ this._participantsWindowActive = active;
729
+ if (!active) {
730
+ this.setCurrentModal('modal');
731
+ }
732
+ }
733
+ }, {
734
+ key: "handlerSearchUser",
735
+ value: function handlerSearchUser(searchText) {
736
+ this.searchText = searchText;
737
+ }
738
+ }, {
739
+ key: "onInvite",
740
+ value: function onInvite() {
741
+ this._uiEventStore.openInviteDialog();
742
+ }
743
+ }, {
744
+ key: "setMergeConfirmDialog",
745
+ value: function setMergeConfirmDialog(visible) {
746
+ this.mergeConfirmDialog = visible;
747
+ }
748
+ }, {
749
+ key: "mergeConfirmDialogOk",
750
+ value: function mergeConfirmDialogOk(userId) {
751
+ var _this$userMap$get2;
752
+ this._streamControl.mergeAudioStream(userId);
753
+ this.setMergeConfirmDialog(false);
754
+ _toast.FcrToastApi.open({
755
+ id: 'mergeVideo',
756
+ toastProps: {
757
+ content: (0, _i18n.transI18n)('fmt_PSTN_toast_merged', {
758
+ reason1: (_this$userMap$get2 = this.userMap.get(userId)) === null || _this$userMap$get2 === void 0 ? void 0 : _this$userMap$get2.userInfo.userName
759
+ }),
760
+ type: 'normal'
761
+ },
762
+ duration: 3000
763
+ });
764
+ }
765
+ }, {
766
+ key: "removePin",
767
+ value: function removePin(userId) {
768
+ var _this$userMap$get3;
769
+ var streamId = (_this$userMap$get3 = this.userMap.get(userId)) === null || _this$userMap$get3 === void 0 || (_this$userMap$get3 = _this$userMap$get3.streams.find(function (stream) {
770
+ return stream.videoSourceType === _type3.AgoraRteVideoSourceType.CAMERA;
771
+ })) === null || _this$userMap$get3 === void 0 ? void 0 : _this$userMap$get3.streamId;
772
+ if (streamId) {
773
+ // this._uiEventStore.sendEvent(UIAction.VIDEO_WINDOW_PIN_ACTION, {
774
+ // action: VideoWindowPinType.REMOVE_PIN,
775
+ // streamId,
776
+ // });
777
+ }
778
+ }
779
+ }, {
780
+ key: "addPin",
781
+ value: function addPin(userId) {
782
+ var _this$userMap$get4;
783
+ var streamId = (_this$userMap$get4 = this.userMap.get(userId)) === null || _this$userMap$get4 === void 0 || (_this$userMap$get4 = _this$userMap$get4.streams.find(function (stream) {
784
+ return stream.videoSourceType === _type3.AgoraRteVideoSourceType.CAMERA;
785
+ })) === null || _this$userMap$get4 === void 0 ? void 0 : _this$userMap$get4.streamId;
786
+ if (streamId) {
787
+ this._uiEventStore.sendEvent(_constant.UIAction.VIDEO_WINDOW_PIN_ACTION, {
788
+ action: _constant.VideoWindowPinType.ADD_PIN,
789
+ streamId: streamId
790
+ });
791
+ }
792
+ }
793
+ }, {
794
+ key: "getAllowedOperations",
795
+ value: function getAllowedOperations(targetRole, isSelf) {
796
+ return this._securityStore.getAllowedOperations(targetRole, isSelf);
797
+ }
798
+
799
+ // @action.bound
800
+ // closeRemoveAdmitWaitingRoomDialog(dialogKey: DialogKey) {
801
+ // this._uiEventStore.closeRemoveAdmitWaitingRoomDialog(dialogKey);
802
+ // }
803
+
804
+ // @action.bound
805
+ // openRemoveAdmitWaitingRoomDialog(
806
+ // dialogKey: DialogKey,
807
+ // params: OperateWaitingRoomMemberDialogProps,
808
+ // ) {
809
+ // this._uiEventStore.openDialog(dialogKey, '', {
810
+ // userId: params.userId,
811
+ // type: params.type,
812
+ // title: params.title,
813
+ // tooltip: params.tooltip,
814
+ // });
815
+ // }
816
+ }, {
817
+ key: "handlerUserAction",
818
+ value: function handlerUserAction(action, userId) {
819
+ switch (action) {
820
+ case _attendee.ParticipantActionType.MUTE_AUDIO:
821
+ this._muteUserAudio(userId);
822
+ break;
823
+ case _attendee.ParticipantActionType.UNMUTE_AUDIO:
824
+ this._unmuteUserAudio(userId);
825
+ break;
826
+ case _attendee.ParticipantActionType.MUTE_VIDEO:
827
+ this._muteUserVideo(userId);
828
+ break;
829
+ case _attendee.ParticipantActionType.UNMUTE_VIDEO:
830
+ this._unmuteUserVideo(userId);
831
+ break;
832
+ case _attendee.ParticipantActionType.PRIVATE_CHAT:
833
+ this._privateChat(userId);
834
+ break;
835
+ case _attendee.ParticipantActionType.ADD_PIN:
836
+ this.addPin(userId);
837
+ break;
838
+ case _attendee.ParticipantActionType.REMOVE_PIN:
839
+ this.removePin(userId);
840
+ break;
841
+ case _attendee.ParticipantActionType.SET_AS_HOST:
842
+ this._setAsHost(userId);
843
+ break;
844
+ case _attendee.ParticipantActionType.RENAME:
845
+ break;
846
+ case _attendee.ParticipantActionType.SET_MAIN_SPEAKER:
847
+ this._uiEventStore.setMainSpeaker({
848
+ userId: userId
849
+ });
850
+ break;
851
+ case _attendee.ParticipantActionType.SET_AS_CO_HOST:
852
+ this._setAsCoHost(userId);
853
+ break;
854
+ case _attendee.ParticipantActionType.SET_AS_ATTENDEE:
855
+ this._setAsAttendee(userId);
856
+ break;
857
+ case _attendee.ParticipantActionType.MERGE_VIDEO:
858
+ this.setMergeConfirmDialog(true);
859
+ this.mergeUserId = userId;
860
+ break;
861
+ case _attendee.ParticipantActionType.PUT_IN_WAITING_ROOM:
862
+ this._moveToWaitingRoomByUserIds(userId);
863
+ break;
864
+ }
865
+ }
866
+ }, {
867
+ key: "_moveToWaitingRoomByUserIds",
868
+ value: function () {
869
+ var _moveToWaitingRoomByUserIds2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(userId) {
870
+ var _this$userMap$get5;
871
+ var username;
872
+ return _regenerator["default"].wrap(function _callee$(_context) {
873
+ while (1) switch (_context.prev = _context.next) {
874
+ case 0:
875
+ username = (_this$userMap$get5 = this.userMap.get(userId)) === null || _this$userMap$get5 === void 0 ? void 0 : _this$userMap$get5.userInfo.userName;
876
+ _context.prev = 1;
877
+ _context.next = 4;
878
+ return this._roomControl.moveToWaitingRoomByUserIds([userId]);
879
+ case 4:
880
+ this._uiEventStore.showToast({
881
+ type: 'normal',
882
+ message: (0, _i18n.transI18n)('fmt_waitingroom_put_in_success', {
883
+ reason1: username
884
+ })
885
+ });
886
+ _context.next = 10;
887
+ break;
888
+ case 7:
889
+ _context.prev = 7;
890
+ _context.t0 = _context["catch"](1);
891
+ this._uiEventStore.showToast({
892
+ type: 'error',
893
+ message: (0, _i18n.transI18n)('fmt_waitingroom_setting_popup_toast_move_in_failed')
894
+ });
895
+ case 10:
896
+ case "end":
897
+ return _context.stop();
898
+ }
899
+ }, _callee, this, [[1, 7]]);
900
+ }));
901
+ function _moveToWaitingRoomByUserIds(_x) {
902
+ return _moveToWaitingRoomByUserIds2.apply(this, arguments);
903
+ }
904
+ return _moveToWaitingRoomByUserIds;
905
+ }()
906
+ }, {
907
+ key: "removeWaitingRoomUser",
908
+ value: function removeWaitingRoomUser(userId, type) {
909
+ var _this$_waitingRoomUse;
910
+ (_this$_waitingRoomUse = this._waitingRoomUserControl) === null || _this$_waitingRoomUse === void 0 || _this$_waitingRoomUse.kickOutByUserIds([userId], type);
911
+ }
912
+ }, {
913
+ key: "kickOutWaitingRoomAllMember",
914
+ value: function () {
915
+ var _kickOutWaitingRoomAllMember = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(type) {
916
+ var _this$_waitingRoomUse2;
917
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
918
+ while (1) switch (_context2.prev = _context2.next) {
919
+ case 0:
920
+ _context2.next = 2;
921
+ return (_this$_waitingRoomUse2 = this._waitingRoomUserControl) === null || _this$_waitingRoomUse2 === void 0 ? void 0 : _this$_waitingRoomUse2.kickOutByUserRoles([_type.FcrUserRole.PARTICIPANT], type);
922
+ case 2:
923
+ this._uiEventStore.showToast({
924
+ type: 'normal',
925
+ message: (0, _i18n.transI18n)('fmt_waitingroom_mobile_memberlist_tips_all_removed')
926
+ });
927
+ case 3:
928
+ case "end":
929
+ return _context2.stop();
930
+ }
931
+ }, _callee2, this);
932
+ }));
933
+ function kickOutWaitingRoomAllMember(_x2) {
934
+ return _kickOutWaitingRoomAllMember.apply(this, arguments);
935
+ }
936
+ return kickOutWaitingRoomAllMember;
937
+ }()
938
+ }, {
939
+ key: "moveToMainRoomAllMember",
940
+ value: function () {
941
+ var _moveToMainRoomAllMember = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
942
+ var _this$_waitingRoomCon;
943
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
944
+ while (1) switch (_context3.prev = _context3.next) {
945
+ case 0:
946
+ _context3.next = 2;
947
+ return (_this$_waitingRoomCon = this._waitingRoomControl) === null || _this$_waitingRoomCon === void 0 ? void 0 : _this$_waitingRoomCon.moveToMainRoomByUserRoles([_type.FcrUserRole.PARTICIPANT]);
948
+ case 2:
949
+ this._uiEventStore.showToast({
950
+ type: 'normal',
951
+ message: (0, _i18n.transI18n)('fmt_waitingroom_mobile_memberlist_tips_all_amitted')
952
+ });
953
+ case 3:
954
+ case "end":
955
+ return _context3.stop();
956
+ }
957
+ }, _callee3, this);
958
+ }));
959
+ function moveToMainRoomAllMember() {
960
+ return _moveToMainRoomAllMember.apply(this, arguments);
961
+ }
962
+ return moveToMainRoomAllMember;
963
+ }()
964
+ }, {
965
+ key: "handlerRoomControlAction",
966
+ value: function handlerRoomControlAction(action, data) {
967
+ switch (action) {
968
+ case _constant.RoomControlType.MUTE_ALL_AUDIO:
969
+ this._muteAllAudio(data.allowUnmute, data.joinWithMuteAudio);
970
+ break;
971
+ case _constant.RoomControlType.UNMUTE_ALL_AUDIO:
972
+ this._unmuteAllAudio();
973
+ break;
974
+ case _constant.RoomControlType.ALLOW_ATTENDEE_TO_UNMUTE:
975
+ this._enableSelfUnmute(data);
976
+ break;
977
+ case _constant.RoomControlType.ALLOW_ATTENDEE_TO_OPEN_CAMERA:
978
+ this._enableOpenVideo(data);
979
+ break;
980
+ case _constant.RoomControlType.REVOKE_HOST:
981
+ this._revokeHost();
982
+ break;
983
+ case _constant.RoomControlType.PLAY_JOIN_LEAVE_SOUND:
984
+ this._playJoinLeaveSound();
985
+ break;
986
+ case _constant.RoomControlType.LOCK_ROOM:
987
+ this._lockRoom(data);
988
+ break;
989
+ case _constant.RoomControlType.ENABLE_WAITING_ROOM:
990
+ this._enableWaitingRoom(data);
991
+ break;
992
+ case _constant.RoomControlType.RENAME:
993
+ this._enableRename(data);
994
+ break;
995
+ case _constant.RoomControlType.JOIN_WITH_MUTE_AUDIO:
996
+ this.enableJoinWithMuteAudio(data);
997
+ break;
998
+ }
999
+ }
1000
+ }, {
1001
+ key: "_handleEvent",
1002
+ value: function _handleEvent(action, payload) {
1003
+ if (action === _constant.UIAction.CUSTOM_SETTINGS_CHANGED) {
1004
+ var _ref6 = payload,
1005
+ spotlightEnabled = _ref6.spotlightEnabled;
1006
+ this.enableSpotlight = spotlightEnabled;
1007
+ }
1008
+ if (action === _constant.UIAction.PARTICIPANT_ACTION) {
1009
+ this.handlerUserAction(payload.action, payload.userId);
1010
+ }
1011
+ }
1012
+ }, {
1013
+ key: "moveToMainRoomByUserIds",
1014
+ value: function moveToMainRoomByUserIds(userId) {
1015
+ if (this._waitingRoomControl) {
1016
+ this._waitingRoomControl.moveToMainRoomByUserIds(userId);
1017
+ }
1018
+ }
1019
+ }, {
1020
+ key: "handleActiveTab",
1021
+ value: function handleActiveTab(tab) {
1022
+ this.activeTab = tab;
1023
+ this._uiEventStore.sendEvent(_constant.UIAction.CURRENT_PARTITIPANT_TAB, tab);
1024
+ if (this.activeTab === _constant.RoomType.WAITING_ROOM) {
1025
+ this.isNewWaitingRoomUserEnter = false;
1026
+ }
1027
+ }
1028
+ }, {
1029
+ key: "_muteUserAudio",
1030
+ value:
1031
+ // user actions
1032
+ function _muteUserAudio(user) {
1033
+ var isSelf = user === this._userControl.getLocalUser().userId;
1034
+ if (isSelf) {
1035
+ this._deviceStreamStore.enableMicrophoneWithStream(false);
1036
+ } else {
1037
+ var targetUsers = this._streamControl.getStreamsByUserId(user);
1038
+ var targetUser = targetUsers.find(function (user) {
1039
+ return user.videoSourceType === _type3.AgoraRteVideoSourceType.CAMERA;
1040
+ });
1041
+ if (!targetUser) {
1042
+ return;
1043
+ }
1044
+ this._streamControl.updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, targetUser.streamId, {
1045
+ audioPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOPRIVILEGE,
1046
+ videoPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION
1047
+ }));
1048
+ }
1049
+ }
1050
+ }, {
1051
+ key: "_unmuteUserAudio",
1052
+ value: function _unmuteUserAudio(userId) {
1053
+ var isSelf = userId === this._userControl.getLocalUser().userId;
1054
+ if (isSelf) {
1055
+ this._deviceStreamStore.enableMicrophoneWithStream(true);
1056
+ } else {
1057
+ var _this$_unmuteAudioTim;
1058
+ var targetUsers = this._streamControl.getStreamsByUserId(userId);
1059
+ var targetUser = targetUsers.find(function (user) {
1060
+ return user.videoSourceType === _type3.AgoraRteVideoSourceType.CAMERA;
1061
+ });
1062
+ if (!targetUser) {
1063
+ return;
1064
+ }
1065
+ var now = Date.now();
1066
+ if (now - ((_this$_unmuteAudioTim = this._unmuteAudioTimestamp.get(userId)) !== null && _this$_unmuteAudioTim !== void 0 ? _this$_unmuteAudioTim : 0) <= SESSION_DURATION * 1000) {
1067
+ return;
1068
+ }
1069
+ this._unmuteAudioTimestamp.set(userId, now);
1070
+ this._peerSessionControl.startPeerSession({
1071
+ sessionKey: 'REQUEST_OPEN_MICROPHONE',
1072
+ receiverId: userId,
1073
+ duration: SESSION_DURATION,
1074
+ payload: {
1075
+ sender: this._userControl.getLocalUser()
1076
+ }
1077
+ });
1078
+ }
1079
+ }
1080
+ }, {
1081
+ key: "_muteUserVideo",
1082
+ value: function _muteUserVideo(user) {
1083
+ var isSelf = user === this._userControl.getLocalUser().userId;
1084
+ if (isSelf) {
1085
+ this._deviceStreamStore.enableCameraWithStream(false);
1086
+ } else {
1087
+ var targetUsers = this._streamControl.getStreamsByUserId(user);
1088
+ var targetUser = targetUsers.find(function (user) {
1089
+ return user.videoSourceType === _type3.AgoraRteVideoSourceType.CAMERA;
1090
+ });
1091
+ if (!targetUser) {
1092
+ return;
1093
+ }
1094
+ this._streamControl.updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, targetUser.streamId, {
1095
+ audioPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION,
1096
+ videoPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOPRIVILEGE
1097
+ }));
1098
+ }
1099
+ }
1100
+
1101
+ // 请求对端打开视频
1102
+ }, {
1103
+ key: "_unmuteUserVideo",
1104
+ value: function _unmuteUserVideo(userId) {
1105
+ var isSelf = userId === this._userControl.getLocalUser().userId;
1106
+ if (isSelf) {
1107
+ this._deviceStreamStore.enableCameraWithStream(true);
1108
+ } else {
1109
+ var localUser = this._userControl.getLocalUser();
1110
+ if (localUser.userId === userId) {
1111
+ this._deviceStreamStore.enableCameraWithStream(true);
1112
+ } else {
1113
+ var _this$_unmuteVideoTim;
1114
+ var now = Date.now();
1115
+ if (now - ((_this$_unmuteVideoTim = this._unmuteVideoTimestamp.get(userId)) !== null && _this$_unmuteVideoTim !== void 0 ? _this$_unmuteVideoTim : 0) <= SESSION_DURATION * 1000) {
1116
+ return;
1117
+ }
1118
+ this._unmuteVideoTimestamp.set(userId, now);
1119
+ this._peerSessionControl.startPeerSession({
1120
+ sessionKey: _type4.FcrUISessionKey.REQUEST_OPEN_CAMERA,
1121
+ receiverId: userId,
1122
+ duration: SESSION_DURATION,
1123
+ payload: {
1124
+ sender: this._userControl.getLocalUser()
1125
+ }
1126
+ });
1127
+ }
1128
+ }
1129
+ }
1130
+ }, {
1131
+ key: "_privateChat",
1132
+ value: function _privateChat(userId) {
1133
+ if (!this._securityStore.permitPrivateChat(userId)) {
1134
+ return;
1135
+ }
1136
+ this._uiEventStore.updateAside({
1137
+ chat: true
1138
+ });
1139
+ var userData = this.userListSource.find(function (u) {
1140
+ return u.userId === userId;
1141
+ });
1142
+ userData && this._uiEventStore.notifyChatUpdateTarget(userData.userInfo);
1143
+ }
1144
+ }, {
1145
+ key: "_handleSetHostOrCoHost",
1146
+ value: function _handleSetHostOrCoHost(userId, type) {
1147
+ var _this$userMap$get6,
1148
+ _this6 = this;
1149
+ var username = (_this$userMap$get6 = this.userMap.get(userId)) === null || _this$userMap$get6 === void 0 ? void 0 : _this$userMap$get6.userInfo.userName;
1150
+ var targetRole = type === 'host' ? (0, _i18n.transI18n)('fmt_role_host') : (0, _i18n.transI18n)('fmt_role_cohost');
1151
+ this.openConfirmDialog({
1152
+ title: (0, _i18n.transI18n)('fmt_uimanager_labels_Setas', {
1153
+ reason1: targetRole
1154
+ }),
1155
+ onCancel: function onCancel() {
1156
+ _this6._uiEventStore.closeConfirmDialog();
1157
+ },
1158
+ content: (0, _i18n.transI18n)('fmt_uimanager_tips_designedas', {
1159
+ reason1: username,
1160
+ reason2: targetRole
1161
+ }),
1162
+ onOk: function onOk() {
1163
+ if (!_this6.userMap.has(userId)) {
1164
+ _this6._uiEventStore.showToast({
1165
+ type: 'error',
1166
+ message: (0, _i18n.transI18n)('fmt_uimanager_tips_userleaft')
1167
+ });
1168
+ return;
1169
+ }
1170
+ _this6._userControl.updateRemoteUserRole(userId, type === 'host' ? _type.FcrUserRole.HOST : _type.FcrUserRole.COHOST);
1171
+ _this6._uiEventStore.closeConfirmDialog();
1172
+ },
1173
+ okText: (0, _i18n.transI18n)('fmt_uimanager_labels_Setas', {
1174
+ reason1: targetRole
1175
+ }),
1176
+ cancelText: (0, _i18n.transI18n)('fmt_security_buttons_cancel'),
1177
+ closable: false
1178
+ }, 'UPDATE_USER_ROLE');
1179
+ }
1180
+ }, {
1181
+ key: "_setAsHost",
1182
+ value: function _setAsHost(userId) {
1183
+ this._handleSetHostOrCoHost(userId, 'host');
1184
+ }
1185
+ }, {
1186
+ key: "_setAsCoHost",
1187
+ value: function _setAsCoHost(userId) {
1188
+ this._handleSetHostOrCoHost(userId, 'cohost');
1189
+ }
1190
+ }, {
1191
+ key: "_setAsAttendee",
1192
+ value: function _setAsAttendee(userId) {
1193
+ this._userControl.updateRemoteUserRole(userId, _type.FcrUserRole.PARTICIPANT);
1194
+ }
1195
+
1196
+ // room control actions
1197
+ }, {
1198
+ key: "_muteAllAudio",
1199
+ value: function _muteAllAudio(allowUnmute, JoinWithMuteAudio) {
1200
+ this._securityStore.setAllowJoinWithMuteAudio(JoinWithMuteAudio);
1201
+ this._securityStore.setAllowUnmuteSelfAudio(allowUnmute);
1202
+ this._securityStore.muteAll();
1203
+ _toast.FcrToastApi.open({
1204
+ id: 'muteAll',
1205
+ toastProps: {
1206
+ content: (0, _i18n.transI18n)('fmt_uimanager_tips_allmuted'),
1207
+ type: 'normal'
1208
+ },
1209
+ duration: 3000
1210
+ });
1211
+ }
1212
+ }, {
1213
+ key: "_unmuteAllAudio",
1214
+ value: function _unmuteAllAudio() {
1215
+ this._securityStore.setAllowUnmuteSelfAudio(true);
1216
+ }
1217
+
1218
+ //允许自我解除静音
1219
+ }, {
1220
+ key: "_enableSelfUnmute",
1221
+ value: function _enableSelfUnmute(enable) {
1222
+ this._securityStore.setAllowUnmuteSelfAudio(enable);
1223
+ }
1224
+ }, {
1225
+ key: "_enableOpenVideo",
1226
+ value: function _enableOpenVideo(enable) {
1227
+ this._securityStore.setAllowUnmuteSelfVideo(enable);
1228
+ }
1229
+ }, {
1230
+ key: "_revokeHost",
1231
+ value: function _revokeHost() {
1232
+ if (!this._securityStore.hasRevokeHostPermission() || this._userControl.getLocalUser().userRole === _type.FcrUserRole.HOST) {
1233
+ return;
1234
+ }
1235
+ this._userControl.revokeHost();
1236
+ }
1237
+ }, {
1238
+ key: "_playJoinLeaveSound",
1239
+ value: function _playJoinLeaveSound() {
1240
+ // TODO
1241
+ }
1242
+ }, {
1243
+ key: "_lockRoom",
1244
+ value: function _lockRoom(enable) {
1245
+ this._uiEventStore.showToast({
1246
+ type: 'info',
1247
+ message: enable ? (0, _i18n.transI18n)('fmt_uimanager_tips_meetinglocked') : (0, _i18n.transI18n)('fmt_uimanager_tips_meetingunlocked')
1248
+ });
1249
+ this._securityStore.setLockRoomEnabled(enable);
1250
+ }
1251
+ }, {
1252
+ key: "_enableWaitingRoom",
1253
+ value: function _enableWaitingRoom(enable) {
1254
+ this._securityStore.setLockRoomEnabled(enable);
1255
+ }
1256
+ }, {
1257
+ key: "_enableRename",
1258
+ value: function _enableRename(_enable) {
1259
+ // TODO
1260
+ // const isAllowChangeSelfName = this._securityStore.allowChangeSelfName();
1261
+ this._securityStore.setAllowChangeSelfName();
1262
+ }
1263
+ // 所有人加入会议时静音
1264
+ }, {
1265
+ key: "enableJoinWithMuteAudio",
1266
+ value: function enableJoinWithMuteAudio(enable) {
1267
+ this._securityStore.setAllowJoinWithMuteAudio(enable);
1268
+ }
1269
+ }, {
1270
+ key: "_updateUserBoardState",
1271
+ value: function _updateUserBoardState(modifiedUser) {
1272
+ var _this$_roomControl$ge = this._roomControl.getBoardControl().getBoardActiveInfo(),
1273
+ isActive = _this$_roomControl$ge.isActive,
1274
+ ownerUserId = _this$_roomControl$ge.ownerUserId;
1275
+ if (!ownerUserId && !modifiedUser) return;
1276
+ var ownerUser = this._userControl.getUser(ownerUserId);
1277
+ var targetUser = modifiedUser || ownerUser;
1278
+ this._dataSource.update(!isActive ? ownerUser : targetUser, !isActive ? isActive : ownerUserId === (targetUser === null || targetUser === void 0 ? void 0 : targetUser.userId) && isActive);
1279
+ }
1280
+ }, {
1281
+ key: "_handleRemoteUserJoined",
1282
+ value: function _handleRemoteUserJoined(_roomId, events) {
1283
+ var _this7 = this;
1284
+ events.forEach(function (event) {
1285
+ var modifiedUser = event.modifiedUser;
1286
+ _this7._dataSource.add(modifiedUser, _this7._streamControl.getStreamsByUserId(modifiedUser.userId), modifiedUser.userId === _this7._userControl.getLocalUser().userId);
1287
+ _this7._updateUserBoardState(modifiedUser);
1288
+ });
1289
+ }
1290
+ }, {
1291
+ key: "_handleRemoteUserLeft",
1292
+ value: function _handleRemoteUserLeft(_roomId, events) {
1293
+ var _this8 = this;
1294
+ events.forEach(function (event) {
1295
+ var modifiedUser = event.modifiedUser;
1296
+ _this8._dataSource["delete"](modifiedUser);
1297
+ _this8._updateUserBoardState(modifiedUser);
1298
+ });
1299
+ }
1300
+ }, {
1301
+ key: "_onLocalUserKickedout",
1302
+ value: function _onLocalUserKickedout() {
1303
+ this._uiEventStore.localUserKickedOutInMainRoom();
1304
+ }
1305
+ }, {
1306
+ key: "_onUserInfoUpdated",
1307
+ value: function _onUserInfoUpdated(_roomId, event) {
1308
+ var _this$userMap$get7;
1309
+ var targetUser = event.modifiedUser;
1310
+ this._updateUserBoardState(targetUser);
1311
+ // this._dataSource.update(targetUser);
1312
+ var originUser = (_this$userMap$get7 = this.userMap.get(targetUser.userId)) === null || _this$userMap$get7 === void 0 ? void 0 : _this$userMap$get7.userInfo;
1313
+ var _this$_userControl$ge3 = this._userControl.getLocalUser(),
1314
+ localUserId = _this$_userControl$ge3.userId,
1315
+ localUserRole = _this$_userControl$ge3.userRole;
1316
+ var effectSelf = targetUser.userId === localUserId;
1317
+ if ((originUser === null || originUser === void 0 ? void 0 : originUser.userRole) !== targetUser.userRole) {
1318
+ // 参会者变管理
1319
+ if (targetUser.userRole === _type.FcrUserRole.HOST || targetUser.userRole === _type.FcrUserRole.COHOST) {
1320
+ var userTxt = targetUser.userRole === _type.FcrUserRole.HOST ? (0, _i18n.transI18n)('fmt_role_host') : (0, _i18n.transI18n)('fmt_role_cohost');
1321
+ this._uiEventStore.showToast({
1322
+ type: effectSelf ? 'info' : 'normal',
1323
+ message: effectSelf ? "".concat((0, _i18n.transI18n)('fmt_uimanager_labels_designate')).concat(userTxt) : (0, _i18n.transI18n)('fmt_uimanager_labels_Becoming', {
1324
+ reason1: "".concat(targetUser.userName, " ").concat(this._isHost(localUserRole) ? '' : (0, _i18n.transI18n)('fmt_pairicipant_label_Now')),
1325
+ reason2: userTxt
1326
+ })
1327
+ });
1328
+ }
1329
+
1330
+ // 管理变参会者
1331
+ if ((originUser === null || originUser === void 0 ? void 0 : originUser.userRole) === _type.FcrUserRole.COHOST && targetUser.userRole !== _type.FcrUserRole.COHOST) {
1332
+ this._uiEventStore.showToast({
1333
+ type: effectSelf ? 'error' : 'normal',
1334
+ message: effectSelf ? (0, _i18n.transI18n)('fmt_additional_tips_cohostbeenrevoke') : this._isHost(localUserRole) ? (0, _i18n.transI18n)('fmt_additional_tips_cohostbeenrevoke', {
1335
+ reason1: targetUser.userName
1336
+ }) : (0, _i18n.transI18n)('fmt_additional_tips_nolongercohost', {
1337
+ reason1: targetUser.userName
1338
+ }),
1339
+ duration: 3000
1340
+ });
1341
+ }
1342
+ }
1343
+ this._updateLocalUserRole(localUserRole);
1344
+ this._refreshCurrentPerspectiveType();
1345
+ }
1346
+ }, {
1347
+ key: "_onAllUserCountUpdated",
1348
+ value: function _onAllUserCountUpdated(_roomId, count) {
1349
+ this.participantCount = count;
1350
+ }
1351
+ }, {
1352
+ key: "_initUserList",
1353
+ value: function _initUserList() {
1354
+ this._refreshCurrentPerspectiveType();
1355
+ var users = this._userControl.getUsers();
1356
+ for (var _i = 0, _Object$entries = Object.entries(users); _i < _Object$entries.length; _i++) {
1357
+ var _Object$entries$_i = (0, _slicedToArray2["default"])(_Object$entries[_i], 2),
1358
+ userId = _Object$entries$_i[0],
1359
+ user = _Object$entries$_i[1];
1360
+ this._dataSource.add(user, this._streamControl.getStreamsByUserId(userId), this._userControl.getLocalUser().userId === userId);
1361
+ }
1362
+ }
1363
+ }, {
1364
+ key: "_handleStreamsAdded",
1365
+ value: function _handleStreamsAdded(_roomId, events) {
1366
+ var _this9 = this;
1367
+ events.forEach(function (e) {
1368
+ var modifiedStream = e.modifiedStream;
1369
+ _this9._dataSource.updateWithStreamAdd(modifiedStream);
1370
+ });
1371
+ }
1372
+ }, {
1373
+ key: "_handleStreamsUpdated",
1374
+ value: function _handleStreamsUpdated(_roomId, events) {
1375
+ var _this10 = this;
1376
+ events.forEach(function (e) {
1377
+ var modifiedStream = e.modifiedStream;
1378
+ _this10._dataSource.update(modifiedStream);
1379
+ });
1380
+ }
1381
+ }, {
1382
+ key: "_handleStreamsRemoved",
1383
+ value: function _handleStreamsRemoved(_roomId, events) {
1384
+ var _this11 = this;
1385
+ events.forEach(function (e) {
1386
+ var modifiedStream = e.modifiedStream;
1387
+ _this11._dataSource.updateWithStreamRemove(modifiedStream);
1388
+ });
1389
+ }
1390
+ }, {
1391
+ key: "_refreshCurrentPerspectiveType",
1392
+ value: function _refreshCurrentPerspectiveType() {
1393
+ var _this$_userControl$ge4;
1394
+ var localUserUid = (_this$_userControl$ge4 = this._userControl.getLocalUser()) === null || _this$_userControl$ge4 === void 0 ? void 0 : _this$_userControl$ge4.userId;
1395
+ if (!localUserUid) {
1396
+ this.currentPerspectiveType = 'attendee';
1397
+ return;
1398
+ }
1399
+ var localUser = this._userControl.getUser(localUserUid);
1400
+ if (!localUser) {
1401
+ this.currentPerspectiveType = 'attendee';
1402
+ return;
1403
+ }
1404
+ if (localUser.userRole === _type.FcrUserRole.HOST) {
1405
+ this.currentPerspectiveType = 'host';
1406
+ return;
1407
+ }
1408
+ if (localUser.userRole === _type.FcrUserRole.COHOST) {
1409
+ this.currentPerspectiveType = 'cohost';
1410
+ return;
1411
+ }
1412
+ this.currentPerspectiveType = 'attendee';
1413
+ }
1414
+ }, {
1415
+ key: "_onPeerSessionReceived",
1416
+ value: function _onPeerSessionReceived(session) {
1417
+ var _this$_userControl$ge5;
1418
+ if (session.sessionId && this._processedUserOpenDeviceRequests.has(session.sessionId)) {
1419
+ return;
1420
+ }
1421
+ this._processedUserOpenDeviceRequests.add(session.sessionId);
1422
+ var localUserUid = (_this$_userControl$ge5 = this._userControl.getLocalUser()) === null || _this$_userControl$ge5 === void 0 ? void 0 : _this$_userControl$ge5.userId;
1423
+ if (!localUserUid) {
1424
+ return;
1425
+ }
1426
+ var localUser = this._streamControl.getStreamsByUserId(localUserUid).find(function (user) {
1427
+ return user.videoSourceType === _type3.AgoraRteVideoSourceType.CAMERA;
1428
+ });
1429
+ if (!localUser) {
1430
+ return;
1431
+ }
1432
+ var localUserHasAudio = this._deviceStore.microphoneEnabled;
1433
+ var localUserHasVideo = this._deviceStore.cameraEnabled;
1434
+ var sessionKey = session.sessionKey,
1435
+ payload = session.payload;
1436
+ this._lastReceiveSession = session;
1437
+ if (sessionKey === _type4.FcrUISessionKey.REQUEST_OPEN_CAMERA) {
1438
+ if (localUserHasVideo) {
1439
+ this._peerSessionControl.acceptPeerSession(session);
1440
+ return;
1441
+ }
1442
+ var _ref7 = payload,
1443
+ sender = _ref7.sender;
1444
+ this.setRequestEquipType(EquipRequstType.VIDEO);
1445
+ this.setRequestEquipSenderRole(sender.userRole);
1446
+ this.setRequestEquipPopupShow(true);
1447
+ return;
1448
+ } else if (sessionKey === _type4.FcrUISessionKey.REQUEST_OPEN_MICROPHONE) {
1449
+ if (localUserHasAudio) {
1450
+ this._peerSessionControl.acceptPeerSession(session);
1451
+ return;
1452
+ }
1453
+ var _ref8 = payload,
1454
+ _sender = _ref8.sender;
1455
+ this.setRequestEquipType(EquipRequstType.MICRO);
1456
+ this.setRequestEquipSenderRole(_sender.userRole);
1457
+ this.setRequestEquipPopupShow(true);
1458
+ return;
1459
+ }
1460
+ }
1461
+ }, {
1462
+ key: "cancelRequestEquip",
1463
+ value: function cancelRequestEquip() {
1464
+ if (this._lastReceiveSession) {
1465
+ this._peerSessionControl.rejectPeerSession(this._lastReceiveSession);
1466
+ }
1467
+ this.setRequestEquipPopupShow(false);
1468
+ }
1469
+ }, {
1470
+ key: "confirmRequestEquip",
1471
+ value: function confirmRequestEquip() {
1472
+ if (this._lastReceiveSession) {
1473
+ this._peerSessionControl.acceptPeerSession(this._lastReceiveSession);
1474
+ if (this._lastReceiveSession.sessionKey === _type4.FcrUISessionKey.REQUEST_OPEN_MICROPHONE) {
1475
+ this._deviceStreamStore.enableMicrophoneWithStream(true);
1476
+ } else {
1477
+ this._deviceStreamStore.enableCameraWithStream(true);
1478
+ }
1479
+ }
1480
+ this.setRequestEquipPopupShow(false);
1481
+ }
1482
+ }, {
1483
+ key: "_onPeerSessionAccepted",
1484
+ value: function _onPeerSessionAccepted(session) {
1485
+ this._updateSessionTimestamp(session);
1486
+ }
1487
+ }, {
1488
+ key: "_onPeerSessionRejected",
1489
+ value: function _onPeerSessionRejected(session) {
1490
+ this._updateSessionTimestamp(session);
1491
+ }
1492
+ }, {
1493
+ key: "_updateSessionTimestamp",
1494
+ value: function _updateSessionTimestamp(session) {
1495
+ var responderId = session.responderId,
1496
+ sessionKey = session.sessionKey;
1497
+ switch (sessionKey) {
1498
+ case _type4.FcrUISessionKey.REQUEST_OPEN_CAMERA:
1499
+ this._unmuteVideoTimestamp["delete"](responderId);
1500
+ break;
1501
+ case _type4.FcrUISessionKey.REQUEST_OPEN_MICROPHONE:
1502
+ this._unmuteAudioTimestamp["delete"](responderId);
1503
+ break;
1504
+ }
1505
+ }
1506
+ }, {
1507
+ key: "_isSetSpotlightEnable",
1508
+ value: function _isSetSpotlightEnable(count, enableSpotlight) {
1509
+ var setSpotlightEnable = count > FcrParticipantStore.MIN_USERS_TO_ENABLE_SPOTLIGHT;
1510
+ return setSpotlightEnable && enableSpotlight;
1511
+ }
1512
+ }, {
1513
+ key: "_addReactions",
1514
+ value: function _addReactions() {
1515
+ var _this12 = this;
1516
+ this._disposers.push((0, _mobx.reaction)(function () {
1517
+ return {
1518
+ count: _this12.participantCount,
1519
+ enableSpotlight: _this12.enableSpotlight
1520
+ };
1521
+ }, function (_ref9) {
1522
+ var count = _ref9.count,
1523
+ enableSpotlight = _ref9.enableSpotlight;
1524
+ // 这里算出的是真实可以被layout的消费的enableSpotlight
1525
+ var enableSetSpotlight = _this12._isSetSpotlightEnable(count, enableSpotlight);
1526
+ _this12._uiEventStore.sendEvent(_constant.UIAction.REFRESH_WINDOW_DATA_SPOTLIGHT_ENABLED, enableSetSpotlight);
1527
+ }));
1528
+ }
1529
+ }, {
1530
+ key: "_isHost",
1531
+ value: function _isHost(userRole) {
1532
+ return userRole === _type.FcrUserRole.HOST;
1533
+ }
1534
+ }, {
1535
+ key: "_updateLocalUserRole",
1536
+ value: function _updateLocalUserRole(userRole) {
1537
+ this.localUserRole = userRole;
1538
+ }
1539
+ }, {
1540
+ key: "setRequestEquipPopupShow",
1541
+ value: function setRequestEquipPopupShow(show) {
1542
+ this.requestEquipPopupShow = show;
1543
+ }
1544
+ }, {
1545
+ key: "setRequestEquipType",
1546
+ value: function setRequestEquipType(requesttEquipType) {
1547
+ this.requestEquipType = requesttEquipType;
1548
+ }
1549
+ }, {
1550
+ key: "setRequestEquipSenderRole",
1551
+ value: function setRequestEquipSenderRole(requestEquipSenderRole) {
1552
+ this.requestEquipSenderRole = requestEquipSenderRole;
1553
+ }
1554
+ }]);
1555
+ }();
1556
+ _FcrParticipantStore = FcrParticipantStore;
1557
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrParticipantStore, [[_mobx.observable, 1, "_mainList"], [_mobx.observable, 1, "_participantsWindowActive"], [_mobx.observable, 1, "currentPerspectiveType"], [_mobx.observable, 1, "enableParticipantsJoinWithMute"], [_mobx.observable, 1, "searchText"], [_mobx.observable, 1, "currentModal"], [_mobx.observable, 1, "localUserRole"], [_mobx.observable, 1, "spotlightUserId"], [_mobx.observable, 1, "enableSpotlight"], [_mobx.observable, 1, "mergeConfirmDialog"], [_mobx.observable, 1, "mergeUserId"], [_mobx.observable, 1, "activeTab"], [_mobx.observable, 1, "isNewWaitingRoomUserEnter"], [_mobx.observable, 1, "waitingRoomUserCount"], [_mobx.observable, 1, "participantCount"], [_mobx.observable, 1, "requestEquipPopupShow"], [_mobx.observable, 1, "requestEquipType"], [_mobx.observable, 1, "requestEquipSenderRole"], [_mobx.computed, 3, "userListSource"], [_mobx.computed, 3, "localUser"], [_mobx.computed, 3, "mergeUserInfo"], [_mobx.computed, 3, "hostList"], [_mobx.computed, 3, "userMap"], [_mobx.computed, 3, "pinedStreamIds"], [_mobx.computed, 3, "hasPinnedStream"], [_mobx.computed, 3, "participantList"], [_mobx.computed, 3, "memberList"], [_mobx.computed, 3, "localMicVolume"], [_mobx.computed, 3, "hasRevokeHostPermission"], [_setSpotlightUserIdDecs, 18, "setSpotlightUserId"], [_decorator.bound, 2, "hasMutePermission"], [_decorator.bound, 2, "hasWaitingRoomPermission"], [_decorator.bound, 2, "hasUnmutePermission"], [_decorator.bound, 2, "hasRequestStartAudioPermission"], [_setCurrentModalDecs, 18, "setCurrentModal"], [_decorator.bound, 2, "closeParticipantsAside"], [_setParticipantsWindowActiveDecs, 18, "setParticipantsWindowActive"], [_handlerSearchUserDecs, 18, "handlerSearchUser"], [_decorator.bound, 2, "onInvite"], [_decorator.bound, 2, "setMergeConfirmDialog"], [_decorator.bound, 2, "mergeConfirmDialogOk"], [_decorator.bound, 2, "removePin"], [_decorator.bound, 2, "addPin"], [_getAllowedOperationsDecs, 18, "getAllowedOperations"], [_handlerUserActionDecs, 18, "handlerUserAction"], [_moveToWaitingRoomByUserIdsDecs, 18, "_moveToWaitingRoomByUserIds"], [_removeWaitingRoomUserDecs, 18, "removeWaitingRoomUser"], [_kickOutWaitingRoomAllMemberDecs, 18, "kickOutWaitingRoomAllMember"], [_moveToMainRoomAllMemberDecs, 18, "moveToMainRoomAllMember"], [_handlerRoomControlActionDecs, 18, "handlerRoomControlAction"], [_handleEventDecs, 18, "_handleEvent"], [_moveToMainRoomByUserIdsDecs, 18, "moveToMainRoomByUserIds"], [_handleActiveTabDecs, 18, "handleActiveTab"], [_setAsAttendeeDecs, 18, "_setAsAttendee"], [_handleRemoteUserJoinedDecs, 18, "_handleRemoteUserJoined"], [_handleRemoteUserLeftDecs, 18, "_handleRemoteUserLeft"], [_decorator.bound, 2, "_onLocalUserKickedout"], [_onUserInfoUpdatedDecs, 18, "_onUserInfoUpdated"], [_onAllUserCountUpdatedDecs, 18, "_onAllUserCountUpdated"], [_initUserListDecs, 18, "_initUserList"], [_decorator.bound, 2, "_handleStreamsAdded"], [_decorator.bound, 2, "_handleStreamsUpdated"], [_decorator.bound, 2, "_handleStreamsRemoved"], [_refreshCurrentPerspectiveTypeDecs, 18, "_refreshCurrentPerspectiveType"], [_onPeerSessionReceivedDecs, 18, "_onPeerSessionReceived"], [_decorator.bound, 2, "cancelRequestEquip"], [_decorator.bound, 2, "confirmRequestEquip"], [_decorator.bound, 2, "_isSetSpotlightEnable"], [_updateLocalUserRoleDecs, 18, "_updateLocalUserRole"], [_setRequestEquipPopupShowDecs, 18, "setRequestEquipPopupShow"], [_setRequestEquipTypeDecs, 18, "setRequestEquipType"], [_setRequestEquipSenderRoleDecs, 18, "setRequestEquipSenderRole"]], []).e, 19);
1558
+ _init__mainList = _applyDecs$e[0];
1559
+ _init__participantsWindowActive = _applyDecs$e[1];
1560
+ _init_currentPerspectiveType = _applyDecs$e[2];
1561
+ _init_enableParticipantsJoinWithMute = _applyDecs$e[3];
1562
+ _init_searchText = _applyDecs$e[4];
1563
+ _init_currentModal = _applyDecs$e[5];
1564
+ _init_localUserRole = _applyDecs$e[6];
1565
+ _init_spotlightUserId = _applyDecs$e[7];
1566
+ _init_enableSpotlight = _applyDecs$e[8];
1567
+ _init_mergeConfirmDialog = _applyDecs$e[9];
1568
+ _init_mergeUserId = _applyDecs$e[10];
1569
+ _init_activeTab = _applyDecs$e[11];
1570
+ _init_isNewWaitingRoomUserEnter = _applyDecs$e[12];
1571
+ _init_waitingRoomUserCount = _applyDecs$e[13];
1572
+ _init_participantCount = _applyDecs$e[14];
1573
+ _init_requestEquipPopupShow = _applyDecs$e[15];
1574
+ _init_requestEquipType = _applyDecs$e[16];
1575
+ _init_requestEquipSenderRole = _applyDecs$e[17];
1576
+ _initProto = _applyDecs$e[18];
1577
+ (0, _defineProperty2["default"])(FcrParticipantStore, _ref, 2);