fcr-ui-scene 3.7.7-rc.1 → 3.7.8

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 (211) hide show
  1. package/lib/creator/provider-initializer.browser.js +2 -2
  2. package/lib/creator/provider-initializer.electron.js +2 -2
  3. package/lib/creator.d.ts +36 -0
  4. package/lib/creator.js +465 -0
  5. package/lib/electron/bootstrap-sdk.js +70 -33
  6. package/lib/electron/hang-detection/index.d.ts +3 -0
  7. package/lib/electron/hang-detection/index.js +15 -0
  8. package/lib/electron/hang-detection/manager.d.ts +28 -0
  9. package/lib/electron/hang-detection/manager.js +231 -0
  10. package/lib/electron/hang-detection/types.d.ts +14 -0
  11. package/lib/electron/hang-detection/types.js +6 -0
  12. package/lib/electron/until.d.ts +1 -4
  13. package/lib/electron/until.js +9 -4
  14. package/lib/modules/action-bar/components/screen-share/index.electron.js +1 -1
  15. package/lib/modules/action-bar/index.d.ts +56 -0
  16. package/lib/modules/action-bar/index.dev.d.ts +0 -0
  17. package/lib/modules/action-bar/index.dev.js +94 -0
  18. package/lib/modules/action-bar/index.js +108 -0
  19. package/lib/modules/action-bar/store.d.ts +256 -0
  20. package/lib/modules/action-bar/store.js +1572 -0
  21. package/lib/modules/action-bar/types.d.ts +90 -0
  22. package/lib/modules/action-bar/types.js +6 -0
  23. package/lib/modules/action-bar/view.d.ts +5 -0
  24. package/lib/modules/action-bar/view.js +112 -0
  25. package/lib/modules/annotation/annotation-index.d.ts +2 -0
  26. package/lib/modules/annotation/annotation-index.js +80 -0
  27. package/lib/modules/annotation/annotation-toolbar-store.d.ts +75 -0
  28. package/lib/modules/annotation/annotation-toolbar-store.js +459 -0
  29. package/lib/modules/annotation/board-cursor.css +77 -0
  30. package/lib/modules/annotation/components/color-picker/components/color.d.ts +5 -0
  31. package/lib/modules/annotation/components/color-picker/components/color.js +38 -0
  32. package/lib/modules/annotation/components/color-picker/components/panel.d.ts +1 -0
  33. package/lib/modules/annotation/components/color-picker/components/panel.js +109 -0
  34. package/lib/modules/annotation/components/color-picker/components/picker.d.ts +1 -0
  35. package/lib/modules/annotation/components/color-picker/components/picker.js +75 -0
  36. package/lib/modules/annotation/components/color-picker/index.d.ts +2 -0
  37. package/lib/modules/annotation/components/color-picker/index.js +47 -0
  38. package/lib/modules/annotation/components/eraser-picker.d.ts +4 -0
  39. package/lib/modules/annotation/components/eraser-picker.js +144 -0
  40. package/lib/modules/annotation/components/expansion/index.d.ts +1 -0
  41. package/lib/modules/annotation/components/expansion/index.js +100 -0
  42. package/lib/modules/annotation/components/extra-tool-picker.d.ts +1 -0
  43. package/lib/modules/annotation/components/extra-tool-picker.js +62 -0
  44. package/lib/modules/annotation/components/history.d.ts +2 -0
  45. package/lib/modules/annotation/components/history.js +78 -0
  46. package/lib/modules/annotation/components/icons/fold-icon.d.ts +2 -0
  47. package/lib/modules/annotation/components/icons/fold-icon.js +41 -0
  48. package/lib/modules/annotation/components/icons/move-icon.d.ts +1 -0
  49. package/lib/modules/annotation/components/icons/move-icon.js +66 -0
  50. package/lib/modules/annotation/components/item/index.d.ts +1 -0
  51. package/lib/modules/annotation/components/item/index.js +43 -0
  52. package/lib/modules/annotation/components/move-handle.d.ts +5 -0
  53. package/lib/modules/annotation/components/move-handle.js +134 -0
  54. package/lib/modules/annotation/components/pen-picker.d.ts +4 -0
  55. package/lib/modules/annotation/components/pen-picker.js +155 -0
  56. package/lib/modules/annotation/components/screen-capture-picker.d.ts +4 -0
  57. package/lib/modules/annotation/components/screen-capture-picker.js +85 -0
  58. package/lib/modules/annotation/components/shape-picker.d.ts +4 -0
  59. package/lib/modules/annotation/components/shape-picker.js +210 -0
  60. package/lib/modules/annotation/hooks/index.d.ts +14 -0
  61. package/lib/modules/annotation/hooks/index.js +292 -0
  62. package/lib/modules/annotation/index.d.ts +45 -0
  63. package/lib/modules/annotation/index.js +168 -0
  64. package/lib/modules/annotation/store.d.ts +98 -0
  65. package/lib/modules/annotation/store.js +621 -0
  66. package/lib/modules/annotation/style.css +36 -0
  67. package/lib/modules/annotation/view.d.ts +3 -0
  68. package/lib/modules/annotation/view.js +44 -0
  69. package/lib/modules/components/control-bar/components/switch-theme/index.js +4 -2
  70. package/lib/modules/components/control-bar/index.js +1 -3
  71. package/lib/modules/components/device-control/store.d.ts +42 -0
  72. package/lib/modules/components/device-control/store.js +241 -0
  73. package/lib/modules/components/leave-meeting/store.d.ts +39 -0
  74. package/lib/modules/components/leave-meeting/store.js +270 -0
  75. package/lib/modules/control-bar/components/annotation-button/index.d.ts +1 -0
  76. package/lib/modules/control-bar/components/annotation-button/index.js +72 -0
  77. package/lib/modules/control-bar/types.d.ts +20 -0
  78. package/lib/modules/control-bar/types.js +6 -0
  79. package/lib/modules/dialog/dialogs/pre-setting/index.css +26 -0
  80. package/lib/modules/dialog/dialogs/pre-setting/index.d.ts +6 -0
  81. package/lib/modules/dialog/dialogs/pre-setting/index.js +62 -0
  82. package/lib/modules/dialog/dialogs/widget/electron.d.ts +6 -0
  83. package/lib/modules/dialog/dialogs/widget/electron.js +38 -0
  84. package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +14 -0
  85. package/lib/modules/dialog/hooks/use-popover-watcher.js +110 -0
  86. package/lib/modules/dialog/hooks/useElectron.d.ts +28 -0
  87. package/lib/modules/dialog/hooks/useElectron.js +277 -0
  88. package/lib/modules/dialog/store.d.ts +135 -0
  89. package/lib/modules/dialog/store.js +616 -0
  90. package/lib/modules/event-confirm/components/window/index.d.ts +4 -0
  91. package/lib/modules/event-confirm/components/window/index.js +197 -0
  92. package/lib/modules/event-confirm/index.css +24 -0
  93. package/lib/modules/event-confirm/index.d.ts +27 -0
  94. package/lib/modules/event-confirm/index.js +76 -0
  95. package/lib/modules/event-confirm/store.d.ts +45 -0
  96. package/lib/modules/event-confirm/store.js +345 -0
  97. package/lib/modules/event-confirm/view.d.ts +2 -0
  98. package/lib/modules/event-confirm/view.js +53 -0
  99. package/lib/modules/event-toast/store.d.ts +27 -0
  100. package/lib/modules/event-toast/store.js +205 -0
  101. package/lib/modules/layout/store.d.ts +176 -0
  102. package/lib/modules/layout/store.js +1466 -0
  103. package/lib/modules/participant/store.base.js +0 -1
  104. package/lib/modules/participant/store.d.ts +222 -0
  105. package/lib/modules/participant/store.js +1927 -0
  106. package/lib/modules/pc-audio-connect/index.d.ts +22 -0
  107. package/lib/modules/pc-audio-connect/index.js +67 -0
  108. package/lib/modules/pc-audio-connect/store.d.ts +46 -0
  109. package/lib/modules/pc-audio-connect/store.js +304 -0
  110. package/lib/modules/setting/common/advance-link.d.ts +3 -0
  111. package/lib/modules/setting/common/advance-link.js +27 -0
  112. package/lib/modules/setting/common/index.css +26 -0
  113. package/lib/modules/setting/common/useNamespace.d.ts +15 -0
  114. package/lib/modules/setting/common/useNamespace.js +66 -0
  115. package/lib/modules/setting/dialog-wrapper.d.ts +2 -0
  116. package/lib/modules/setting/dialog-wrapper.js +110 -0
  117. package/lib/modules/setting/store.d.ts +261 -0
  118. package/lib/modules/setting/store.js +1321 -0
  119. package/lib/modules/share-screen/store.d.ts +148 -0
  120. package/lib/modules/share-screen/store.electron.js +9 -0
  121. package/lib/modules/share-screen/store.js +950 -0
  122. package/lib/modules/share-screen/types.d.ts +26 -0
  123. package/lib/modules/share-screen/types.js +6 -0
  124. package/lib/modules/state-bar/store.base.electron.js +6 -2
  125. package/lib/modules/state-bar/store.d.ts +124 -0
  126. package/lib/modules/state-bar/store.js +664 -0
  127. package/lib/modules/whiteboard/components/progress/electron.d.ts +1 -0
  128. package/lib/modules/whiteboard/components/progress/electron.js +33 -0
  129. package/lib/modules/widget/store.d.ts +14 -0
  130. package/lib/modules/widget/store.js +28 -0
  131. package/lib/providers/annotation-provider.d.ts +124 -0
  132. package/lib/providers/annotation-provider.js +369 -0
  133. package/lib/providers/board-share/bar-control/base.d.ts +2 -0
  134. package/lib/providers/board-share/bar-control/base.js +13 -3
  135. package/lib/providers/board-share/bar-control/electron.d.ts +1 -0
  136. package/lib/providers/board-share/bar-control/electron.js +15 -4
  137. package/lib/providers/board-share/provider.base.d.ts +1 -0
  138. package/lib/providers/board-share/provider.base.js +3 -1
  139. package/lib/providers/board-share/provider.electron.d.ts +1 -0
  140. package/lib/providers/board-share/provider.electron.js +8 -2
  141. package/lib/providers/board-share/type.d.ts +2 -0
  142. package/lib/providers/dialog/provider.electron.js +10 -2
  143. package/lib/providers/dialog-provider.d.ts +137 -0
  144. package/lib/providers/dialog-provider.js +194 -0
  145. package/lib/providers/message-provider.d.ts +69 -0
  146. package/lib/providers/message-provider.js +140 -0
  147. package/lib/providers/room-provider.d.ts +194 -0
  148. package/lib/providers/room-provider.js +916 -0
  149. package/lib/providers/screen-share/strategy/browser.js +50 -3
  150. package/lib/providers/screen-share/strategy/electron.js +77 -8
  151. package/lib/providers/screen-share/stream-state-sync.d.ts +3 -1
  152. package/lib/providers/screen-share/stream-state-sync.js +133 -40
  153. package/lib/providers/screen-share-provider.d.ts +244 -0
  154. package/lib/providers/screen-share-provider.js +835 -0
  155. package/lib/providers/sharing-provider.d.ts +42 -0
  156. package/lib/providers/sharing-provider.js +221 -0
  157. package/lib/providers/user-setting-storage-provider.d.ts +21 -0
  158. package/lib/providers/user-setting-storage-provider.js +65 -0
  159. package/lib/providers/whiteboard-provider.d.ts +24 -0
  160. package/lib/providers/whiteboard-provider.js +127 -0
  161. package/lib/shared-data-source/annotation-data.d.ts +17 -0
  162. package/lib/shared-data-source/annotation-data.js +110 -0
  163. package/lib/shared-data-source/app-list-data.d.ts +34 -0
  164. package/lib/shared-data-source/app-list-data.js +133 -0
  165. package/lib/shared-data-source/chat-data.d.ts +25 -0
  166. package/lib/shared-data-source/chat-data.js +139 -0
  167. package/lib/shared-data-source/config.d.ts +35 -0
  168. package/lib/shared-data-source/config.js +40 -0
  169. package/lib/shared-data-source/confirm-data.d.ts +25 -0
  170. package/lib/shared-data-source/confirm-data.js +97 -0
  171. package/lib/shared-data-source/device-privilege-data.d.ts +8 -0
  172. package/lib/shared-data-source/device-privilege-data.js +25 -0
  173. package/lib/shared-data-source/interpreter.d.ts +77 -0
  174. package/lib/shared-data-source/interpreter.js +247 -0
  175. package/lib/shared-data-source/layout-data.d.ts +31 -0
  176. package/lib/shared-data-source/layout-data.js +189 -0
  177. package/lib/shared-data-source/meeting-time.d.ts +90 -0
  178. package/lib/shared-data-source/meeting-time.js +416 -0
  179. package/lib/shared-data-source/member-data.d.ts +139 -0
  180. package/lib/shared-data-source/member-data.js +517 -0
  181. package/lib/shared-data-source/pin-data.d.ts +13 -0
  182. package/lib/shared-data-source/pin-data.js +111 -0
  183. package/lib/shared-data-source/screen-share-data.d.ts +364 -0
  184. package/lib/shared-data-source/screen-share-data.js +520 -0
  185. package/lib/shared-data-source/security-data.d.ts +39 -0
  186. package/lib/shared-data-source/security-data.js +156 -0
  187. package/lib/shared-data-source/setting.d.ts +67 -0
  188. package/lib/shared-data-source/setting.js +220 -0
  189. package/lib/shared-data-source/speaker-spotlight.d.ts +5 -0
  190. package/lib/shared-data-source/speaker-spotlight.js +15 -0
  191. package/lib/shared-data-source/video-window.d.ts +165 -0
  192. package/lib/shared-data-source/video-window.js +1266 -0
  193. package/lib/shared-data-source/waiting-room.d.ts +46 -0
  194. package/lib/shared-data-source/waiting-room.js +222 -0
  195. package/lib/shared-data-source/whiteboard-data.d.ts +68 -0
  196. package/lib/shared-data-source/whiteboard-data.js +347 -0
  197. package/lib/utilities/board-context.d.ts +4 -0
  198. package/lib/utilities/board-context.js +12 -0
  199. package/lib/utilities/copyText.d.ts +2 -0
  200. package/lib/utilities/copyText.js +48 -0
  201. package/lib/utilities/renderer-event.d.ts +10 -0
  202. package/lib/utilities/renderer-event.js +95 -0
  203. package/lib/utilities/screen-capture-permission.d.ts +2 -0
  204. package/lib/utilities/screen-capture-permission.js +24 -0
  205. package/lib/utilities/screen.d.ts +3 -0
  206. package/lib/utilities/screen.js +53 -0
  207. package/lib/utilities/video-track-render-context.d.ts +6 -0
  208. package/lib/utilities/video-track-render-context.js +9 -0
  209. package/lib/waiting-room-control-manager.d.ts +28 -0
  210. package/lib/waiting-room-control-manager.js +230 -0
  211. package/package.json +5 -5
@@ -0,0 +1,916 @@
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.array.filter.js");
7
+ require("core-js/modules/es.array.is-array.js");
8
+ require("core-js/modules/es.array.push.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-properties.js");
14
+ require("core-js/modules/es.object.define-property.js");
15
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
16
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
17
+ require("core-js/modules/es.object.keys.js");
18
+ require("core-js/modules/esnext.function.metadata.js");
19
+ require("core-js/modules/esnext.iterator.filter.js");
20
+ require("core-js/modules/esnext.symbol.metadata.js");
21
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
22
+ var _typeof = require("@babel/runtime/helpers/typeof");
23
+ Object.defineProperty(exports, "__esModule", {
24
+ value: true
25
+ });
26
+ exports.FcrUIWaitingRoomControlProviderImpl = exports.FcrUIRoomProviderImpl = exports.FcrUIMainRoomControlProviderImpl = exports.FcrUICurrentRoomControlProviderImpl = exports.FcrUIConnectionProviderImpl = void 0;
27
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
28
+ require("core-js/modules/es.error.cause.js");
29
+ require("core-js/modules/es.error.to-string.js");
30
+ require("core-js/modules/es.array.concat.js");
31
+ require("core-js/modules/es.array.find.js");
32
+ require("core-js/modules/es.array.for-each.js");
33
+ require("core-js/modules/es.array.includes.js");
34
+ require("core-js/modules/es.array.iterator.js");
35
+ require("core-js/modules/es.array.some.js");
36
+ require("core-js/modules/es.function.bind.js");
37
+ require("core-js/modules/es.map.js");
38
+ require("core-js/modules/es.object.to-string.js");
39
+ require("core-js/modules/es.object.values.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.iterator.constructor.js");
43
+ require("core-js/modules/esnext.iterator.find.js");
44
+ require("core-js/modules/esnext.iterator.for-each.js");
45
+ require("core-js/modules/esnext.iterator.some.js");
46
+ require("core-js/modules/esnext.map.delete-all.js");
47
+ require("core-js/modules/esnext.map.emplace.js");
48
+ require("core-js/modules/esnext.map.every.js");
49
+ require("core-js/modules/esnext.map.filter.js");
50
+ require("core-js/modules/esnext.map.find.js");
51
+ require("core-js/modules/esnext.map.find-key.js");
52
+ require("core-js/modules/esnext.map.includes.js");
53
+ require("core-js/modules/esnext.map.key-of.js");
54
+ require("core-js/modules/esnext.map.map-keys.js");
55
+ require("core-js/modules/esnext.map.map-values.js");
56
+ require("core-js/modules/esnext.map.merge.js");
57
+ require("core-js/modules/esnext.map.reduce.js");
58
+ require("core-js/modules/esnext.map.some.js");
59
+ require("core-js/modules/esnext.map.update.js");
60
+ require("core-js/modules/esnext.weak-map.delete-all.js");
61
+ require("core-js/modules/esnext.weak-map.emplace.js");
62
+ require("core-js/modules/web.dom-collections.for-each.js");
63
+ require("core-js/modules/web.dom-collections.iterator.js");
64
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
65
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
66
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
67
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
68
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
69
+ var _fcrCore = require("fcr-core");
70
+ var _logger = require("agora-foundation/lib/logger");
71
+ var _type = require("fcr-core/lib/room-control/type");
72
+ var _type2 = require("fcr-core/lib/room-control/privilege-control/type");
73
+ var _type3 = require("fcr-core/lib/type");
74
+ var _observable = require("agora-foundation/lib/utilities/observable");
75
+ var _type4 = require("../type");
76
+ var _constant = require("../utilities/constant");
77
+ var _base = require("../base");
78
+ var _privilegeProvider = require("./privilege-provider");
79
+ var _i18n = require("agora-ui-foundation/lib/i18n");
80
+ var _mobx = require("mobx");
81
+ var _type5 = require("agora-ui-foundation/lib/components/icon/type");
82
+ var _type6 = require("../modules/whiteboard/type");
83
+ var _waitingRoomControlManager = _interopRequireDefault(require("../waiting-room-control-manager"));
84
+ var _meetingDetail = require("../utilities/meeting-detail");
85
+ var _decorator = require("agora-foundation/lib/decorator");
86
+ var _FcrUIRoomProviderImpl, _FcrUIMainRoomControlProviderImpl;
87
+ var _initProto, _init_liveStreamingState, _init_liveStreamingConfig, _init_cloudRecordingState, _initBaseRoomStateDecs, _ref, _initProto2, _init_privilegeOperator, _init_boardOwnerUser, _handleSecurityUpdatedDecs, _ref3;
88
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
89
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
90
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
91
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
92
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
93
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
94
+ 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"); }
95
+ 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)]; } }; }
96
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
97
+ 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); }
98
+ 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; }
99
+ 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; }
100
+ var _A = /*#__PURE__*/new WeakMap();
101
+ var _B = /*#__PURE__*/new WeakMap();
102
+ var _C = /*#__PURE__*/new WeakMap();
103
+ _ref = (_initBaseRoomStateDecs = [_mobx.action, _mobx.action.bound], "logger");
104
+ var FcrUIRoomProviderImpl = exports.FcrUIRoomProviderImpl = /*#__PURE__*/function () {
105
+ function FcrUIRoomProviderImpl(_eventProvider, _sceneConfig, _engine, _messageProvider) {
106
+ var _this = this;
107
+ (0, _classCallCheck2["default"])(this, FcrUIRoomProviderImpl);
108
+ (0, _defineProperty2["default"])(this, _ref, (_initProto(this), (0, _logger.getLogger)()));
109
+ (0, _defineProperty2["default"])(this, "_observable", new _observable.AgoraObservable());
110
+ // 标识是不是自己登陆房间
111
+ (0, _defineProperty2["default"])(this, "_isSelfJoinRoom", false);
112
+ (0, _defineProperty2["default"])(this, "_waitingRoomManagerObserver", {
113
+ onWaitingRoomControlCreated: function onWaitingRoomControlCreated(roomControl) {
114
+ _this._observable.notifyObservers('onJoinWaitingRoom', roomControl, true);
115
+ },
116
+ onWaitingRoomControlLeft: function onWaitingRoomControlLeft() {
117
+ _this._observable.notifyObservers('onWaitingRoomManageCanceled');
118
+ _this._messageProvider.closeNotification(_type4.FcrUINotificationContentType.WAITING_ROOM);
119
+ }
120
+ });
121
+ (0, _defineProperty2["default"])(this, "_isSelfEndMeeting", false);
122
+ (0, _defineProperty2["default"])(this, "_roomRouterObserver", {
123
+ onRoomRouteSwitched: function onRoomRouteSwitched() {
124
+ var _this$currentRoomCont, _this$currentRoomCont2;
125
+ _this._lastRoomControlType = (_this$currentRoomCont = _this.currentRoomControl.getRoomInfo()) === null || _this$currentRoomCont === void 0 ? void 0 : _this$currentRoomCont.roomType;
126
+ //缓存当前用户会中角色
127
+ var userRole = _this.currentRoomControl.getUserControl().getLocalUser().userRole;
128
+ var userName = _this.currentRoomControl.getUserControl().getLocalUser().userName;
129
+ // 通知房间切换开始
130
+ _this._observable.notifyObservers('onRoomRouteSwitched');
131
+ if (((_this$currentRoomCont2 = _this.currentRoomControl.getRoomInfo()) === null || _this$currentRoomCont2 === void 0 ? void 0 : _this$currentRoomCont2.roomType) === _type.FcrRoomType.Mainroom) {
132
+ _this._observable.notifyObservers('onLeaveMainRoom');
133
+ } else {
134
+ _this._observable.notifyObservers('onLeaveWaitingRoom');
135
+ }
136
+ _this._isSelfJoinRoom = false;
137
+ _this._roomRouter.joinRoom(_objectSpread(_objectSpread({}, _this._getJoinRoomOption()), {}, {
138
+ userRole: userRole,
139
+ userName: userName
140
+ }));
141
+ },
142
+ onRoomJoined: function onRoomJoined(roomControl) {
143
+ var _roomControl$getRoomI;
144
+ // nextStep: FcrRoomControlType
145
+ _this._currentRoomControl = roomControl;
146
+ _this._roomInfo = roomControl.getRoomInfo();
147
+ _this._roomSchedule = roomControl.getRoomSchedule();
148
+ _this._localUserInfo = roomControl.getUserControl().getLocalUser();
149
+ _this._currentRoomControl.addObserver(_this._baseRoomControlObserver);
150
+ _this._currentRoomControl.getUserControl().addObserver(_this._userControlObserver);
151
+ _this._initBaseRoomState(_this._currentRoomControl);
152
+ var roomType = (_roomControl$getRoomI = roomControl.getRoomInfo()) === null || _roomControl$getRoomI === void 0 ? void 0 : _roomControl$getRoomI.roomType;
153
+ if (roomType === _type.FcrRoomType.Mainroom) {
154
+ _this._waitingRoomManager = new _waitingRoomControlManager["default"](_this._sceneConfig, _this._engine, roomControl);
155
+ _this._waitingRoomManager.addObserver(_this._waitingRoomManagerObserver);
156
+ } else if (roomType === _type.FcrRoomType.Waitingroom) {
157
+ if (_this._isSelfJoinRoom || _this._lastRoomControlType === _type.FcrRoomType.JoinBeforeHostWaitingRoom) {
158
+ roomControl.sendRoomMessage({
159
+ messageKey: _type3.RoomMessageKey.USER_WAITING_ROOM_JOINED
160
+ }, false);
161
+ }
162
+ }
163
+ _this._observable.notifyObservers('onRoutingChanged', roomControl);
164
+ },
165
+ onErrorOccurred: function onErrorOccurred(error) {
166
+ // 如果是自己点击加入房间 会触发onLunchFailure 不应该直接onExited
167
+ if (!_this._isSelfJoinRoom) {
168
+ _this._observable.notifyObservers('onExitRoom');
169
+ }
170
+ }
171
+ });
172
+ _classPrivateFieldInitSpec(this, _A, _init_liveStreamingState(this, _type3.FcrLiveStreamingState.STOPPED));
173
+ _classPrivateFieldInitSpec(this, _B, _init_liveStreamingConfig(this, undefined));
174
+ _classPrivateFieldInitSpec(this, _C, _init_cloudRecordingState(this, _type3.FcrRecordingState.Stopped));
175
+ this._eventProvider = _eventProvider;
176
+ this._sceneConfig = _sceneConfig;
177
+ this._engine = _engine;
178
+ this._messageProvider = _messageProvider;
179
+ //@ts-ignore
180
+ window.roomStore = this;
181
+ this._baseRoomControlObserver = {
182
+ onRoomStateUpdated: function onRoomStateUpdated(roomId, state) {
183
+ if (state === _type3.FcrRoomState.Closed) {
184
+ _this._observable.notifyObservers('onRoomClosed');
185
+ }
186
+ },
187
+ onCloudRecordingStateUpdated: (0, _mobx.action)(function (roomId, state) {
188
+ _this.cloudRecordingState = state;
189
+ }),
190
+ onLiveStreamingStateUpdated: (0, _mobx.action)(function (roomId, state) {
191
+ _this.liveStreamingState = state;
192
+ _this.liveStreamingConfig = _this.currentRoomControl.getLiveStreamingConfig();
193
+ })
194
+ };
195
+ this._userControlObserver = {
196
+ onLocalUserKickedOut: function onLocalUserKickedOut() {
197
+ _this._observable.notifyObservers('onLocalUserKickedOut');
198
+ }
199
+ };
200
+ this._roomRouter = this._engine.createRoomRouter(this._sceneConfig.roomId);
201
+ this._roomRouter.addObserver(this._roomRouterObserver);
202
+ }
203
+ return (0, _createClass2["default"])(FcrUIRoomProviderImpl, [{
204
+ key: "liveStreamingState",
205
+ get: function get() {
206
+ return _classPrivateFieldGet(_A, this);
207
+ },
208
+ set: function set(v) {
209
+ _classPrivateFieldSet(_A, this, v);
210
+ }
211
+ }, {
212
+ key: "liveStreamingConfig",
213
+ get: function get() {
214
+ return _classPrivateFieldGet(_B, this);
215
+ },
216
+ set: function set(v) {
217
+ _classPrivateFieldSet(_B, this, v);
218
+ }
219
+ }, {
220
+ key: "cloudRecordingState",
221
+ get: function get() {
222
+ return _classPrivateFieldGet(_C, this);
223
+ },
224
+ set: function set(v) {
225
+ _classPrivateFieldSet(_C, this, v);
226
+ }
227
+ }, {
228
+ key: "getRoomDetailCopyText",
229
+ value: function getRoomDetailCopyText() {
230
+ if (this._currentRoomControl) {
231
+ var _ref2;
232
+ var roomInfo = this._roomInfo;
233
+ var scheduleInfo = this._roomSchedule;
234
+ var duration = (scheduleInfo === null || scheduleInfo === void 0 ? void 0 : scheduleInfo.duration) || 0;
235
+ var meetingSetTime = (0, _meetingDetail.generateMeetingDuration)((scheduleInfo === null || scheduleInfo === void 0 ? void 0 : scheduleInfo.startTime) || 0, duration);
236
+ var meetingId = (_ref2 = this._currentRoomControl.getRoomPropertiesByKeyPath('meetingId')) !== null && _ref2 !== void 0 ? _ref2 : roomInfo === null || roomInfo === void 0 ? void 0 : roomInfo.roomId;
237
+ var copyText = '';
238
+ if (roomInfo) {
239
+ var _this$_localUserInfo;
240
+ copyText = (0, _meetingDetail.generateMeetingDetail)(((_this$_localUserInfo = this._localUserInfo) === null || _this$_localUserInfo === void 0 ? void 0 : _this$_localUserInfo.userName) || '', roomInfo.roomName, meetingSetTime, (roomInfo === null || roomInfo === void 0 ? void 0 : roomInfo.inviteLink) || '', meetingId || '', roomInfo.password || '');
241
+ }
242
+ return copyText;
243
+ } else {
244
+ return '';
245
+ }
246
+ }
247
+
248
+ // get waitingRoomControl() {
249
+ // return this._currentRoomControl as FcrWaitingRoomControl;
250
+ // }
251
+
252
+ // get mainRoomControl() {
253
+ // return this._currentRoomControl as FcrMainRoomControl;
254
+ // }
255
+ }, {
256
+ key: "currentRoomControl",
257
+ get: function get() {
258
+ if (!this._currentRoomControl) {
259
+ throw new Error('currentRoomControl is not initialized');
260
+ }
261
+ return this._currentRoomControl;
262
+ }
263
+ }, {
264
+ key: "waitingRoomManager",
265
+ get: function get() {
266
+ if (!this._waitingRoomManager) {
267
+ throw new Error('waitingRoomManager is not initialized');
268
+ }
269
+ return this._waitingRoomManager;
270
+ }
271
+ }, {
272
+ key: "setIsSelfEndMeeting",
273
+ value: function setIsSelfEndMeeting(isSelfEndMeeting) {
274
+ this._isSelfEndMeeting = isSelfEndMeeting;
275
+ }
276
+ }, {
277
+ key: "isSelfEndMeeting",
278
+ get: function get() {
279
+ return this._isSelfEndMeeting;
280
+ }
281
+ }, {
282
+ key: "release",
283
+ value: function release() {
284
+ var _this$_currentRoomCon;
285
+ (_this$_currentRoomCon = this._currentRoomControl) === null || _this$_currentRoomCon === void 0 || _this$_currentRoomCon.leave();
286
+ this._currentRoomControl = undefined;
287
+ this.setIsSelfEndMeeting(false);
288
+ this._releaseWaitingRoomManager();
289
+ }
290
+ }, {
291
+ key: "_releaseWaitingRoomManager",
292
+ value: function _releaseWaitingRoomManager() {
293
+ var _this$_waitingRoomMan, _this$_waitingRoomMan2;
294
+ (_this$_waitingRoomMan = this._waitingRoomManager) === null || _this$_waitingRoomMan === void 0 || _this$_waitingRoomMan.removeObserver(this._waitingRoomManagerObserver);
295
+ (_this$_waitingRoomMan2 = this._waitingRoomManager) === null || _this$_waitingRoomMan2 === void 0 || _this$_waitingRoomMan2.release();
296
+ this._waitingRoomManager = undefined;
297
+ }
298
+ }, {
299
+ key: "handleJoinRoom",
300
+ value: function () {
301
+ var _handleJoinRoom = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
302
+ var _t;
303
+ return _regenerator["default"].wrap(function (_context) {
304
+ while (1) switch (_context.prev = _context.next) {
305
+ case 0:
306
+ _context.prev = 0;
307
+ this._isSelfJoinRoom = true;
308
+ _context.next = 1;
309
+ return this._roomRouter.joinRoom(this._getJoinRoomOption());
310
+ case 1:
311
+ _context.next = 3;
312
+ break;
313
+ case 2:
314
+ _context.prev = 2;
315
+ _t = _context["catch"](0);
316
+ this._observable.notifyObservers('onJoinMainRoomFailed', _t);
317
+ this.logger.error('handleJoinRoom error', _t);
318
+ throw _t;
319
+ case 3:
320
+ case "end":
321
+ return _context.stop();
322
+ }
323
+ }, _callee, this, [[0, 2]]);
324
+ }));
325
+ function handleJoinRoom() {
326
+ return _handleJoinRoom.apply(this, arguments);
327
+ }
328
+ return handleJoinRoom;
329
+ }()
330
+ }, {
331
+ key: "startLiveStreaming",
332
+ value: function () {
333
+ var _startLiveStreaming = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(params) {
334
+ return _regenerator["default"].wrap(function (_context2) {
335
+ while (1) switch (_context2.prev = _context2.next) {
336
+ case 0:
337
+ _context2.next = 1;
338
+ return this.currentRoomControl.startLiveStreaming(params);
339
+ case 1:
340
+ case "end":
341
+ return _context2.stop();
342
+ }
343
+ }, _callee2, this);
344
+ }));
345
+ function startLiveStreaming(_x) {
346
+ return _startLiveStreaming.apply(this, arguments);
347
+ }
348
+ return startLiveStreaming;
349
+ }()
350
+ }, {
351
+ key: "stopLiveStreaming",
352
+ value: function () {
353
+ var _stopLiveStreaming = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
354
+ return _regenerator["default"].wrap(function (_context3) {
355
+ while (1) switch (_context3.prev = _context3.next) {
356
+ case 0:
357
+ _context3.next = 1;
358
+ return this.currentRoomControl.stopLiveStreaming();
359
+ case 1:
360
+ case "end":
361
+ return _context3.stop();
362
+ }
363
+ }, _callee3, this);
364
+ }));
365
+ function stopLiveStreaming() {
366
+ return _stopLiveStreaming.apply(this, arguments);
367
+ }
368
+ return stopLiveStreaming;
369
+ }()
370
+ }, {
371
+ key: "exitRoom",
372
+ value: function exitRoom() {
373
+ this._observable.notifyObservers('onExitRoom');
374
+ }
375
+ }, {
376
+ key: "startCloudRecording",
377
+ value: function () {
378
+ var _startCloudRecording = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4() {
379
+ var _this$_currentRoomCon2;
380
+ return _regenerator["default"].wrap(function (_context4) {
381
+ while (1) switch (_context4.prev = _context4.next) {
382
+ case 0:
383
+ _context4.next = 1;
384
+ return (_this$_currentRoomCon2 = this._currentRoomControl) === null || _this$_currentRoomCon2 === void 0 ? void 0 : _this$_currentRoomCon2.startCloudRecording({
385
+ audioProfile: _type3.FcrCloudRecordingAudioProfile.DEFAULT,
386
+ videoEncoderConfig: {
387
+ dimensions: {
388
+ width: 1280,
389
+ height: 720
390
+ },
391
+ bitrate: 1200,
392
+ frameRate: 15,
393
+ isMirror: false
394
+ },
395
+ retryTimeout: 60
396
+ });
397
+ case 1:
398
+ case "end":
399
+ return _context4.stop();
400
+ }
401
+ }, _callee4, this);
402
+ }));
403
+ function startCloudRecording() {
404
+ return _startCloudRecording.apply(this, arguments);
405
+ }
406
+ return startCloudRecording;
407
+ }()
408
+ }, {
409
+ key: "pauseCloudRecording",
410
+ value: function () {
411
+ var _pauseCloudRecording = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5() {
412
+ var _this$_currentRoomCon3;
413
+ return _regenerator["default"].wrap(function (_context5) {
414
+ while (1) switch (_context5.prev = _context5.next) {
415
+ case 0:
416
+ _context5.next = 1;
417
+ return (_this$_currentRoomCon3 = this._currentRoomControl) === null || _this$_currentRoomCon3 === void 0 ? void 0 : _this$_currentRoomCon3.pauseCloudRecording();
418
+ case 1:
419
+ case "end":
420
+ return _context5.stop();
421
+ }
422
+ }, _callee5, this);
423
+ }));
424
+ function pauseCloudRecording() {
425
+ return _pauseCloudRecording.apply(this, arguments);
426
+ }
427
+ return pauseCloudRecording;
428
+ }()
429
+ }, {
430
+ key: "resumeCloudRecording",
431
+ value: function () {
432
+ var _resumeCloudRecording = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee6() {
433
+ var _this$_currentRoomCon4;
434
+ return _regenerator["default"].wrap(function (_context6) {
435
+ while (1) switch (_context6.prev = _context6.next) {
436
+ case 0:
437
+ _context6.next = 1;
438
+ return (_this$_currentRoomCon4 = this._currentRoomControl) === null || _this$_currentRoomCon4 === void 0 ? void 0 : _this$_currentRoomCon4.resumeCloudRecording();
439
+ case 1:
440
+ case "end":
441
+ return _context6.stop();
442
+ }
443
+ }, _callee6, this);
444
+ }));
445
+ function resumeCloudRecording() {
446
+ return _resumeCloudRecording.apply(this, arguments);
447
+ }
448
+ return resumeCloudRecording;
449
+ }()
450
+ }, {
451
+ key: "stopCloudRecording",
452
+ value: function () {
453
+ var _stopCloudRecording = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee7() {
454
+ var _this$_currentRoomCon5;
455
+ return _regenerator["default"].wrap(function (_context7) {
456
+ while (1) switch (_context7.prev = _context7.next) {
457
+ case 0:
458
+ _context7.next = 1;
459
+ return (_this$_currentRoomCon5 = this._currentRoomControl) === null || _this$_currentRoomCon5 === void 0 ? void 0 : _this$_currentRoomCon5.stopCloudRecording();
460
+ case 1:
461
+ case "end":
462
+ return _context7.stop();
463
+ }
464
+ }, _callee7, this);
465
+ }));
466
+ function stopCloudRecording() {
467
+ return _stopCloudRecording.apply(this, arguments);
468
+ }
469
+ return stopCloudRecording;
470
+ }()
471
+ }, {
472
+ key: "addObserver",
473
+ value: function addObserver(observer) {
474
+ this._observable.addObserver(observer);
475
+ }
476
+ }, {
477
+ key: "removeObserver",
478
+ value: function removeObserver(observer) {
479
+ this._observable.removeObserver(observer);
480
+ }
481
+ }, {
482
+ key: "_getJoinRoomOption",
483
+ value: function _getJoinRoomOption() {
484
+ var config = this._sceneConfig;
485
+ var streams = [{
486
+ streamName: 'default',
487
+ streamType: _type3.FcrStreamType.BOTH,
488
+ videoSourceType: _type3.FcrVideoSourceType.CAMERA,
489
+ audioSourceType: _type3.FcrAudioSourceType.MICROPHONE,
490
+ videoSourceState: _type3.FcrMediaSourceState.CLOSE,
491
+ audioSourceState: _type3.FcrMediaSourceState.CLOSE
492
+ }];
493
+ if (config.userRole === _type3.FcrUserRole.ROBOT) {
494
+ streams = [];
495
+ }
496
+ return {
497
+ userName: config.userName,
498
+ userRole: config.userRole,
499
+ userProperties: config.userProperties,
500
+ streamLatency: _fcrCore.FcrStreamLatencyLevel.ULTRA_LOW,
501
+ createStreamConfigs: streams,
502
+ roomToken: config.roomToken,
503
+ password: config.password,
504
+ avatar: config.avatar
505
+ };
506
+ }
507
+ }, {
508
+ key: "_initBaseRoomState",
509
+ value: function _initBaseRoomState(roomControl) {
510
+ this.liveStreamingState = roomControl.getLiveStreamingState();
511
+ this.liveStreamingConfig = roomControl.getLiveStreamingConfig();
512
+ this.cloudRecordingState = roomControl.getCloudRecordingState();
513
+ }
514
+ }]);
515
+ }();
516
+ _FcrUIRoomProviderImpl = FcrUIRoomProviderImpl;
517
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIRoomProviderImpl, [[_mobx.observable, 1, "liveStreamingState"], [_mobx.observable, 1, "liveStreamingConfig"], [_mobx.observable, 1, "cloudRecordingState"], [_decorator.bound, 2, "getRoomDetailCopyText"], [_initBaseRoomStateDecs, 18, "_initBaseRoomState"]], []).e, 4);
518
+ _init_liveStreamingState = _applyDecs$e[0];
519
+ _init_liveStreamingConfig = _applyDecs$e[1];
520
+ _init_cloudRecordingState = _applyDecs$e[2];
521
+ _initProto = _applyDecs$e[3];
522
+ var FcrUIConnectionProviderImpl = exports.FcrUIConnectionProviderImpl = /*#__PURE__*/function () {
523
+ function FcrUIConnectionProviderImpl(_engine) {
524
+ (0, _classCallCheck2["default"])(this, FcrUIConnectionProviderImpl);
525
+ this._engine = _engine;
526
+ }
527
+ return (0, _createClass2["default"])(FcrUIConnectionProviderImpl, [{
528
+ key: "addObserver",
529
+ value: function addObserver(observer) {
530
+ this._engine.addObserver(observer);
531
+ }
532
+ }, {
533
+ key: "removeObserver",
534
+ value: function removeObserver(observer) {
535
+ this._engine.removeObserver(observer);
536
+ }
537
+ }]);
538
+ }();
539
+ var _A2 = /*#__PURE__*/new WeakMap();
540
+ var _B2 = /*#__PURE__*/new WeakMap();
541
+ _ref3 = (_handleSecurityUpdatedDecs = [_mobx.action, _mobx.action.bound], "_privilegeProvider");
542
+ var FcrUIMainRoomControlProviderImpl = exports.FcrUIMainRoomControlProviderImpl = /*#__PURE__*/function () {
543
+ function FcrUIMainRoomControlProviderImpl(_mainRoomControl, eventProvider, messageProvider, dialogProvider, _sharedInterpreterDataSource) {
544
+ var _this2 = this;
545
+ (0, _classCallCheck2["default"])(this, FcrUIMainRoomControlProviderImpl);
546
+ (0, _defineProperty2["default"])(this, _ref3, void _initProto2(this));
547
+ (0, _defineProperty2["default"])(this, "_userMap", new Map());
548
+ _classPrivateFieldInitSpec(this, _A2, _init_privilegeOperator(this));
549
+ _classPrivateFieldInitSpec(this, _B2, _init_boardOwnerUser(this));
550
+ this._mainRoomControl = _mainRoomControl;
551
+ this._sharedInterpreterDataSource = _sharedInterpreterDataSource;
552
+ this._messageProvider = messageProvider;
553
+ this._dialogProvider = dialogProvider;
554
+ this._eventProvider = eventProvider;
555
+ this._privilegeControl = _mainRoomControl.getPrivilegeControl();
556
+ this._userControl = _mainRoomControl.getUserControl();
557
+ this._privilegeProvider = new _privilegeProvider.FcrUIPrivilegeProviderImpl(_mainRoomControl.getPrivilegeControl(), _mainRoomControl.getUserControl(), _mainRoomControl.getStreamControl(), eventProvider);
558
+
559
+ // @ts-ignore
560
+ window._mainRoomPrivilegeProvider = this._privilegeProvider;
561
+ this._privilegeObserver = {
562
+ onSecurityInfoUpdated: this._handleSecurityUpdated.bind(this)
563
+ };
564
+ this._userObserver = {
565
+ onRemoteUsersJoined: function onRemoteUsersJoined(roomId, events) {
566
+ events.forEach(function (event) {
567
+ _this2._userMap.set(event.userInfo.userId, event.userInfo);
568
+ });
569
+ },
570
+ onRemoteUsersLeft: function onRemoteUsersLeft(roomId, events) {
571
+ events.forEach(function (event) {
572
+ _this2._userMap["delete"](event.userInfo.userId);
573
+ });
574
+ },
575
+ onUserInfoUpdated: function onUserInfoUpdated(roomId, event) {
576
+ if (event.reason === _type3.FcrUserUpdatedReason.ROLE) {
577
+ _this2._userMap.set(event.modifiedUser.userId, event.modifiedUser);
578
+ _this2._handleUserRoleChangeToast(event.modifiedUser);
579
+ }
580
+ }
581
+ };
582
+ var localUser = this._userControl.getLocalUser();
583
+ this._userMap.set(localUser.userId, localUser);
584
+ this._eventObserver = {
585
+ onEvent: function onEvent(action, payload) {
586
+ if (action === _constant.FcrUIAction.WHITEBOARD_CHANGED) {
587
+ if (payload.action === _type6.WhiteboardBaseEvents.SET_OWNER_USER_ID) {
588
+ var _mainRoomControl$getU;
589
+ _this2.boardOwnerUser = Object.values((_mainRoomControl$getU = _mainRoomControl.getUserControl()) === null || _mainRoomControl$getU === void 0 ? void 0 : _mainRoomControl$getU.getUsers()).find(function (u) {
590
+ return u.userId === payload.payload;
591
+ });
592
+ }
593
+ }
594
+ }
595
+ };
596
+ eventProvider.addObserver(this._eventObserver);
597
+ this._privilegeControl.addObserver(this._privilegeObserver);
598
+ this._userControl.addObserver(this._userObserver);
599
+ }
600
+ return (0, _createClass2["default"])(FcrUIMainRoomControlProviderImpl, [{
601
+ key: "privilegeOperator",
602
+ get: function get() {
603
+ return _classPrivateFieldGet(_A2, this);
604
+ },
605
+ set: function set(v) {
606
+ _classPrivateFieldSet(_A2, this, v);
607
+ }
608
+ }, {
609
+ key: "boardOwnerUser",
610
+ get: function get() {
611
+ return _classPrivateFieldGet(_B2, this);
612
+ },
613
+ set: function set(v) {
614
+ _classPrivateFieldSet(_B2, this, v);
615
+ }
616
+ }, {
617
+ key: "mainRoomControl",
618
+ get: function get() {
619
+ return this._mainRoomControl;
620
+ }
621
+ }, {
622
+ key: "privilegeProvider",
623
+ get: function get() {
624
+ return this._privilegeProvider;
625
+ }
626
+ }, {
627
+ key: "_localUser",
628
+ get: function get() {
629
+ return this._mainRoomControl.getUserControl().getLocalUser();
630
+ }
631
+ }, {
632
+ key: "release",
633
+ value: function release() {
634
+ this._eventProvider.removeObserver(this._eventObserver);
635
+ this._privilegeControl.removeObserver(this._privilegeObserver);
636
+ this._userControl.removeObserver(this._userObserver);
637
+ this._privilegeProvider.release();
638
+ }
639
+ }, {
640
+ key: "_handleSecurityUpdated",
641
+ value: function _handleSecurityUpdated(roomId, event) {
642
+ var _event$operatorUser,
643
+ _event$operatorUser2,
644
+ _this$privilegeOperat,
645
+ _securityInfo$info,
646
+ _securityInfo$info2,
647
+ _securityInfo$info3,
648
+ _securityInfo$info4,
649
+ _securityInfo$info5,
650
+ _securityInfo$info6,
651
+ _this3 = this,
652
+ _event$securityInfo$i,
653
+ _event$securityInfo$i2;
654
+ this.privilegeOperator = event.operatorUser;
655
+ var securityInfo = event.securityInfo;
656
+ var enable = securityInfo.enable;
657
+ var isPersonalOperation = this._localUser.userId === ((_event$operatorUser = event.operatorUser) === null || _event$operatorUser === void 0 ? void 0 : _event$operatorUser.userId);
658
+ var toastType = isPersonalOperation ? 'normal' : enable ? 'info' : 'error';
659
+ var operator = isPersonalOperation ? (0, _i18n.transI18n)('fmt_settings_labels_you') : (((_event$operatorUser2 = event.operatorUser) === null || _event$operatorUser2 === void 0 ? void 0 : _event$operatorUser2.userRole) === _type3.FcrUserRole.HOST ? (0, _i18n.transI18n)('fmt_role_host') : (0, _i18n.transI18n)('fmt_role_cohost')) + " ".concat((_this$privilegeOperat = this.privilegeOperator) === null || _this$privilegeOperat === void 0 ? void 0 : _this$privilegeOperat.userName, " ");
660
+ if (((_securityInfo$info = securityInfo.info) === null || _securityInfo$info === void 0 ? void 0 : _securityInfo$info.action) === _type2.FcrSecurityAction.JoinWithMuteAudio) {
661
+ if (enable) {
662
+ this._messageProvider.showToast({
663
+ type: toastType,
664
+ message: (0, _i18n.transI18n)('fmt_settings_tips_muteallwhilejoin', {
665
+ reason1: operator
666
+ })
667
+ });
668
+ }
669
+ } else if (((_securityInfo$info2 = securityInfo.info) === null || _securityInfo$info2 === void 0 ? void 0 : _securityInfo$info2.action) === _type2.FcrSecurityAction.StartAudio) {
670
+ var toastMessage = enable ? (0, _i18n.transI18n)('fmt_settings_tips_allowedselfunmuting') : (0, _i18n.transI18n)('fmt_settings_tips_disabledselfunmuting');
671
+ if (!this._sharedInterpreterDataSource.localInterpreterUserInfo) {
672
+ this._messageProvider.showToast({
673
+ type: enable ? 'normal' : 'error',
674
+ message: toastMessage
675
+ });
676
+ }
677
+ } else if (((_securityInfo$info3 = securityInfo.info) === null || _securityInfo$info3 === void 0 ? void 0 : _securityInfo$info3.action) === _type2.FcrSecurityAction.StartVideo) {
678
+ var _toastMessage = enable ? (0, _i18n.transI18n)('fmt_settings_tips_videoenabled') : (0, _i18n.transI18n)('fmt_settings_tips_disabledvideo');
679
+ this._messageProvider.showToast({
680
+ type: enable ? 'normal' : 'error',
681
+ message: _toastMessage
682
+ });
683
+ } else if (((_securityInfo$info4 = securityInfo.info) === null || _securityInfo$info4 === void 0 ? void 0 : _securityInfo$info4.action) === _type2.FcrSecurityAction.ShareScreen) {
684
+ var _toastMessage2 = enable ? (0, _i18n.transI18n)('fmt_settings_tips_allowedScreensharing', {
685
+ reason1: operator
686
+ }) : (0, _i18n.transI18n)('fmt_settings_tips_disabledScreensharing', {
687
+ reason1: operator
688
+ });
689
+ this._messageProvider.showToast({
690
+ type: toastType,
691
+ message: _toastMessage2
692
+ });
693
+ } else if (((_securityInfo$info5 = securityInfo.info) === null || _securityInfo$info5 === void 0 ? void 0 : _securityInfo$info5.action) === _type2.FcrSecurityAction.SendChat) {
694
+ var _toastMessage3 = enable ? (0, _i18n.transI18n)('fmt_settings_tips_allowedchat', {
695
+ reason1: operator
696
+ }) : (0, _i18n.transI18n)('fmt_settings_tips_banedchat', {
697
+ reason1: operator
698
+ });
699
+ this._messageProvider.showToast({
700
+ type: enable ? 'normal' : 'error',
701
+ message: _toastMessage3
702
+ });
703
+ } else if (((_securityInfo$info6 = securityInfo.info) === null || _securityInfo$info6 === void 0 ? void 0 : _securityInfo$info6.action) === _type2.FcrSecurityAction.Sharing && !enable) {
704
+ var _this$boardOwnerUser, _this$boardOwnerUser2;
705
+ if (!this.boardOwnerUser) return;
706
+ var isHost = [_type3.FcrUserRole.HOST, _type3.FcrUserRole.COHOST].includes((_this$boardOwnerUser = this.boardOwnerUser) === null || _this$boardOwnerUser === void 0 ? void 0 : _this$boardOwnerUser.userRole);
707
+ if (((_this$boardOwnerUser2 = this.boardOwnerUser) === null || _this$boardOwnerUser2 === void 0 ? void 0 : _this$boardOwnerUser2.userId) !== this._localUser.userId) {
708
+ this._messageProvider.showToast({
709
+ type: toastType,
710
+ message: (0, _i18n.transI18n)('fmt_screenshare_whiteboard_tips_alreadyopend')
711
+ });
712
+ if (!isHost) {
713
+ this._eventProvider.sendEvent(_constant.FcrUIAction.CLOSE_WHITEBOARD);
714
+ }
715
+ } else {
716
+ var dialogKey = this._dialogProvider.openConfirmDialog({
717
+ title: (0, _i18n.transI18n)('fmt_screenshare_whiteboard_tips_stoppedboard'),
718
+ content: (0, _i18n.transI18n)('fmt_settings_tips_sharingprohibited', {
719
+ reason1: operator
720
+ }),
721
+ icon: _type5.FcrIconType.FCR_SCREENSHARING,
722
+ okText: (0, _i18n.transI18n)('fmt_screenshare_whiteboard_button_gotit'),
723
+ showCancel: false,
724
+ onOk: function onOk() {
725
+ _this3._dialogProvider.closeDialog(dialogKey);
726
+ },
727
+ onCancel: function onCancel() {
728
+ _this3._dialogProvider.closeDialog(dialogKey);
729
+ },
730
+ height: 160
731
+ });
732
+ }
733
+ } else if (((_event$securityInfo$i = event.securityInfo.info) === null || _event$securityInfo$i === void 0 ? void 0 : _event$securityInfo$i.action) === _type2.FcrSecurityAction.WaitingRoom) {
734
+ var _event$operatorUser3, _event$operatorUser4;
735
+ var isSelf = this._localUser.userId === ((_event$operatorUser3 = event.operatorUser) === null || _event$operatorUser3 === void 0 ? void 0 : _event$operatorUser3.userId);
736
+ var userName = (_event$operatorUser4 = event.operatorUser) === null || _event$operatorUser4 === void 0 ? void 0 : _event$operatorUser4.userName;
737
+ if (!isSelf) {
738
+ if (enable) {
739
+ this._messageProvider.showToast({
740
+ type: toastType,
741
+ message: "".concat(userName).concat((0, _i18n.transI18n)('fmt_waitingroom_setting_tips_enable'))
742
+ });
743
+ } else {
744
+ this._messageProvider.showToast({
745
+ type: toastType,
746
+ message: "".concat(userName).concat((0, _i18n.transI18n)('fmt_waitingroom_mobile_setting_label_disable'))
747
+ });
748
+ }
749
+ }
750
+ } else if (((_event$securityInfo$i2 = event.securityInfo.info) === null || _event$securityInfo$i2 === void 0 ? void 0 : _event$securityInfo$i2.action) == _type2.FcrSecurityAction.WaterMark) {
751
+ var _enable = event.securityInfo.enable;
752
+ if (this._prevWaterMarkEnable !== _enable) {
753
+ var _event$operatorUser5;
754
+ var toastText = '';
755
+ var roleValue = (_event$operatorUser5 = event.operatorUser) === null || _event$operatorUser5 === void 0 ? void 0 : _event$operatorUser5.userRole;
756
+ var canTriggerToast = roleValue === _type3.FcrUserRole.HOST || roleValue === _type3.FcrUserRole.COHOST;
757
+ if (canTriggerToast) {
758
+ if (_enable) {
759
+ if (roleValue === _type3.FcrUserRole.HOST) {
760
+ toastText = (0, _i18n.transI18n)('fmt_security_setting_popup_toast_facilitator_watermark');
761
+ } else if (roleValue === _type3.FcrUserRole.COHOST) {
762
+ toastText = (0, _i18n.transI18n)('fmt_security_setting_popup_toast_co_facilitator_watermark');
763
+ }
764
+ } else {
765
+ toastText = (0, _i18n.transI18n)('fmt_security_setting_popup_toast_turn_off_watermark');
766
+ }
767
+ this._prevWaterMarkEnable = _enable;
768
+ if (toastText) {
769
+ this._messageProvider.showToast({
770
+ type: toastType,
771
+ message: toastText
772
+ });
773
+ }
774
+ }
775
+ }
776
+ }
777
+ // else if(event.securityInfo.info?.action == FcrSecurityAction.){
778
+
779
+ // }
780
+ }
781
+ }, {
782
+ key: "_handleUserRoleChangeToast",
783
+ value: function _handleUserRoleChangeToast(targetUser) {
784
+ var _this$_mainRoomContro;
785
+ var localUser = (_this$_mainRoomContro = this._mainRoomControl) === null || _this$_mainRoomContro === void 0 ? void 0 : _this$_mainRoomContro.getUserControl().getLocalUser();
786
+ var oldUser = this._userMap.get(targetUser.userId);
787
+ var isSelf = targetUser.userId === localUser.userId;
788
+ var hasHost = this._userMap.values().some(function (user) {
789
+ return user.userRole === _type3.FcrUserRole.HOST;
790
+ });
791
+ // 被设置为主持人
792
+ // 本人:
793
+ // xxx(我)成为新主持人
794
+ // 其他人:
795
+ // xxx成为新主持人
796
+ // 被收回主持人
797
+ // 本人:
798
+ // xxx成为新主持人
799
+ // 其他人:
800
+ // xxx成为新主持人
801
+ // 被设置为联席
802
+ // 本人:
803
+ // 你被设置为联席主持人
804
+ // 其他人:
805
+ // xxx现在成为联席主持人
806
+ //
807
+ // 被收回联席
808
+ // 本人:
809
+ // 你的联席主持人身份已被收回
810
+ // 其他人:
811
+ // xxx不再是联席主持人
812
+ // 当会议没有主持人的时候,我通过 hostkey 成为主持人,不需要提醒,如果会议有主持人,代表是移交主持人,走原有逻辑
813
+ if (!hasHost && !isSelf || hasHost && targetUser.userRole === _type3.FcrUserRole.HOST) {
814
+ this._messageProvider.showToast({
815
+ type: isSelf ? 'info' : 'normal',
816
+ message: (0, _i18n.transI18n)(isSelf ? 'fmt_attendies_tips_mine_new_host' : 'fmt_attendies_tips_new_host', {
817
+ reason1: targetUser.userName
818
+ })
819
+ });
820
+ } else if (targetUser.userRole === _type3.FcrUserRole.COHOST) {
821
+ this._messageProvider.showToast({
822
+ type: isSelf ? 'info' : 'normal',
823
+ message: (0, _i18n.transI18n)(isSelf ? 'fmt_attendies_tips_mine_new_co_host' : 'fmt_attendies_tips_new_co_host', {
824
+ reason1: targetUser.userName
825
+ })
826
+ });
827
+ } else if (targetUser.userRole === _type3.FcrUserRole.PARTICIPANT) {
828
+ if ((oldUser === null || oldUser === void 0 ? void 0 : oldUser.userRole) === _type3.FcrUserRole.COHOST) {
829
+ if (isSelf) {
830
+ this._messageProvider.showToast({
831
+ type: 'error',
832
+ message: (0, _i18n.transI18n)('fmt_pairicipant_tips_cohostbeenrevoke'),
833
+ duration: 3000
834
+ });
835
+ } else {
836
+ this._messageProvider.showToast({
837
+ type: 'normal',
838
+ message: (0, _i18n.transI18n)('fmt_pairicipant_tips_nolongercohost', {
839
+ reason1: targetUser.userName
840
+ }),
841
+ duration: 3000
842
+ });
843
+ }
844
+ }
845
+ }
846
+ }
847
+ }]);
848
+ }();
849
+ _FcrUIMainRoomControlProviderImpl = FcrUIMainRoomControlProviderImpl;
850
+ var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIMainRoomControlProviderImpl, [[_mobx.observable, 1, "privilegeOperator"], [_mobx.observable, 1, "boardOwnerUser"], [_handleSecurityUpdatedDecs, 18, "_handleSecurityUpdated"]], []).e, 3);
851
+ _init_privilegeOperator = _applyDecs$e2[0];
852
+ _init_boardOwnerUser = _applyDecs$e2[1];
853
+ _initProto2 = _applyDecs$e2[2];
854
+ var FcrUIWaitingRoomControlProviderImpl = exports.FcrUIWaitingRoomControlProviderImpl = /*#__PURE__*/function () {
855
+ function FcrUIWaitingRoomControlProviderImpl(roomProvider, eventProvider) {
856
+ var _this4 = this;
857
+ (0, _classCallCheck2["default"])(this, FcrUIWaitingRoomControlProviderImpl);
858
+ roomProvider.addObserver({
859
+ onJoinWaitingRoom: function onJoinWaitingRoom(roomControl) {
860
+ _this4._setWaitingRoomControl(roomControl);
861
+ },
862
+ onLeaveWaitingRoom: function onLeaveWaitingRoom() {
863
+ var _this4$_privilegeProv;
864
+ (_this4$_privilegeProv = _this4._privilegeProvider) === null || _this4$_privilegeProv === void 0 || _this4$_privilegeProv.release();
865
+ _this4._privilegeProvider = undefined;
866
+ _this4._waitingRoomControl = undefined;
867
+ }
868
+ });
869
+ if (roomProvider.currentRoomControl) {
870
+ this._setWaitingRoomControl(roomProvider.currentRoomControl);
871
+ }
872
+ this._eventProvider = eventProvider;
873
+ }
874
+ return (0, _createClass2["default"])(FcrUIWaitingRoomControlProviderImpl, [{
875
+ key: "waitingRoomControl",
876
+ get: function get() {
877
+ return this._waitingRoomControl;
878
+ }
879
+ }, {
880
+ key: "privilegeProvider",
881
+ get: function get() {
882
+ return this._privilegeProvider;
883
+ }
884
+ }, {
885
+ key: "_setWaitingRoomControl",
886
+ value: function _setWaitingRoomControl(roomControl) {
887
+ this._waitingRoomControl = roomControl;
888
+ this._privilegeProvider = new _privilegeProvider.FcrUIPrivilegeProviderImpl(roomControl.getPrivilegeControl(), roomControl.getUserControl(), roomControl.getStreamControl(), this._eventProvider);
889
+
890
+ // @ts-ignore
891
+ window._waitingRoomPrivilegeProvider = this._privilegeProvider;
892
+ }
893
+ }]);
894
+ }();
895
+ var FcrUICurrentRoomControlProviderImpl = exports.FcrUICurrentRoomControlProviderImpl = /*#__PURE__*/function () {
896
+ function FcrUICurrentRoomControlProviderImpl(_currentRoomControl) {
897
+ (0, _classCallCheck2["default"])(this, FcrUICurrentRoomControlProviderImpl);
898
+ this._currentRoomControl = _currentRoomControl;
899
+ }
900
+ return (0, _createClass2["default"])(FcrUICurrentRoomControlProviderImpl, [{
901
+ key: "currentRoomControl",
902
+ get: function get() {
903
+ return this._currentRoomControl;
904
+ }
905
+ }, {
906
+ key: "currentRoomType",
907
+ get: function get() {
908
+ return this._currentRoomControl.getRoomInfo().roomType;
909
+ }
910
+ }]);
911
+ }();
912
+ (0, _base.registerDependency)('roomProvider');
913
+ (0, _base.registerDependency)('connectionProvider');
914
+ (0, _base.registerDependency)('mainRoomControlProvider');
915
+ (0, _base.registerDependency)('waitingRoomControlProvider');
916
+ (0, _base.registerDependency)('currentRoomControlProvider');