fcr-ui-scene 3.2.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/installer/icons/favicon.ico +0 -0
  2. package/installer/icons/favicon.png +0 -0
  3. package/installer/mac/entitlements.mac.plist +16 -0
  4. package/lib/common/device-store.d.ts +1 -1
  5. package/lib/common/device-store.js +11 -3
  6. package/lib/common/event-store.d.ts +17 -1
  7. package/lib/common/event-store.js +38 -5
  8. package/lib/common/security-store.d.ts +14 -4
  9. package/lib/common/security-store.js +149 -30
  10. package/lib/electron/bootstrap-dev.d.ts +1 -0
  11. package/lib/electron/bootstrap-dev.js +51 -0
  12. package/lib/electron/bootstrap-sdk.d.ts +1 -0
  13. package/lib/electron/bootstrap-sdk.js +56 -0
  14. package/lib/electron/bootstrap.d.ts +1 -0
  15. package/lib/electron/bootstrap.js +56 -0
  16. package/lib/electron/default-options.js +1 -1
  17. package/lib/electron/dev.d.ts +1 -0
  18. package/lib/electron/dev.js +51 -0
  19. package/lib/electron/injections.d.ts +1 -1
  20. package/lib/electron/injections.js +3 -6
  21. package/lib/electron/main.js +4 -16
  22. package/lib/electron/plugins/meeting-state.d.ts +2 -0
  23. package/lib/electron/plugins/meeting-state.js +39 -0
  24. package/lib/electron/preload.js +1 -1
  25. package/lib/fragments/control-bar/control-bar-store.d.ts +34 -1
  26. package/lib/fragments/control-bar/control-bar-store.js +371 -79
  27. package/lib/fragments/control-bar/device/index.js +5 -3
  28. package/lib/fragments/control-bar/index.css +15 -10
  29. package/lib/fragments/control-bar/index.js +18 -0
  30. package/lib/fragments/control-bar/meeting-details/meeting-detail.css +109 -0
  31. package/lib/fragments/control-bar/meeting-details/meeting-details-portal.d.ts +3 -0
  32. package/lib/fragments/control-bar/meeting-details/meeting-details-portal.js +60 -0
  33. package/lib/fragments/control-bar/meeting-details/meeting-details.d.ts +2 -0
  34. package/lib/fragments/control-bar/meeting-details/meeting-details.js +179 -0
  35. package/lib/fragments/control-bar/more-actions/index.css +53 -0
  36. package/lib/fragments/control-bar/more-actions/index.js +72 -37
  37. package/lib/fragments/control-bar/security-content/index.css +10 -0
  38. package/lib/fragments/control-bar/security-content/index.js +40 -18
  39. package/lib/fragments/control-bar/view.js +8 -2
  40. package/lib/login-confirm-dialog.d.ts +12 -0
  41. package/lib/login-confirm-dialog.js +80 -0
  42. package/lib/modules/action-bar/action-bar-collapes-items.js +5 -5
  43. package/lib/modules/action-bar/chat/index.js +5 -5
  44. package/lib/modules/action-bar/device/index.css +7 -2
  45. package/lib/modules/action-bar/device/index.js +4 -4
  46. package/lib/modules/action-bar/index.css +59 -12
  47. package/lib/modules/action-bar/index.d.ts +3 -2
  48. package/lib/modules/action-bar/index.dev.js +1 -1
  49. package/lib/modules/action-bar/index.js +21 -0
  50. package/lib/modules/action-bar/leave/assign-host.d.ts +3 -0
  51. package/lib/modules/action-bar/leave/assign-host.js +2 -4
  52. package/lib/modules/action-bar/leave/index.js +29 -6
  53. package/lib/modules/action-bar/leave/leave-meeting.d.ts +11 -0
  54. package/lib/modules/action-bar/leave/leave-meeting.js +25 -16
  55. package/lib/modules/action-bar/more/poppover-content.js +4 -4
  56. package/lib/modules/action-bar/participants/index.css +12 -0
  57. package/lib/modules/action-bar/participants/index.js +21 -14
  58. package/lib/modules/action-bar/screen-share/index.js +5 -1
  59. package/lib/modules/action-bar/screen-share/submenu.js +16 -22
  60. package/lib/modules/action-bar/security/drop-menu.js +90 -13
  61. package/lib/modules/action-bar/store.d.ts +38 -6
  62. package/lib/modules/action-bar/store.js +487 -95
  63. package/lib/modules/action-bar/view.js +65 -42
  64. package/lib/modules/chat/chat-bar/index.js +39 -27
  65. package/lib/modules/chat/chat-select/index.css +14 -4
  66. package/lib/modules/chat/chat.d.ts +1 -2
  67. package/lib/modules/chat/chat.js +184 -105
  68. package/lib/modules/chat/index.css +49 -0
  69. package/lib/modules/chat/index.d.ts +2 -2
  70. package/lib/modules/chat/index.dev.js +1 -1
  71. package/lib/modules/chat/index.js +13 -8
  72. package/lib/modules/chat/message-list.js +59 -48
  73. package/lib/modules/chat/store.d.ts +48 -2
  74. package/lib/modules/chat/store.js +258 -45
  75. package/lib/modules/connection-gateway/index.d.ts +2 -1
  76. package/lib/modules/connection-gateway/store.d.ts +6 -3
  77. package/lib/modules/connection-gateway/store.js +5 -1
  78. package/lib/modules/device-pretest/audio-preview/speaker-control.js +1 -1
  79. package/lib/modules/device-pretest/index.css +0 -4
  80. package/lib/modules/device-pretest/settings/beauty.js +17 -6
  81. package/lib/modules/device-pretest/store.js +7 -11
  82. package/lib/modules/dialog/components/chat/electron.js +2 -1
  83. package/lib/modules/dialog/components/confirm/electron.js +5 -3
  84. package/lib/modules/dialog/components/connection-gateway/electron.js +3 -1
  85. package/lib/modules/dialog/components/connection-gateway/index.css +0 -2
  86. package/lib/modules/dialog/components/device-setting/electron.js +3 -1
  87. package/lib/modules/dialog/components/device-setting/index.css +0 -1
  88. package/lib/modules/dialog/components/operation-waiting-room/electron.d.ts +5 -0
  89. package/lib/modules/dialog/components/operation-waiting-room/electron.js +89 -0
  90. package/lib/modules/dialog/components/operation-waiting-room/index.css +44 -0
  91. package/lib/modules/dialog/components/operation-waiting-room/index.d.ts +5 -0
  92. package/lib/modules/dialog/components/operation-waiting-room/index.js +156 -0
  93. package/lib/modules/dialog/components/participant/electron.js +2 -1
  94. package/lib/modules/dialog/components/remove-admit-waiting-room/electron.d.ts +5 -0
  95. package/lib/modules/dialog/components/remove-admit-waiting-room/electron.js +89 -0
  96. package/lib/modules/dialog/components/remove-admit-waiting-room/index.css +50 -0
  97. package/lib/modules/dialog/components/remove-admit-waiting-room/index.d.ts +5 -0
  98. package/lib/modules/dialog/components/remove-admit-waiting-room/index.js +90 -0
  99. package/lib/modules/dialog/components/whiteboard/index.js +2 -1
  100. package/lib/modules/dialog/dialogs.js +17 -13
  101. package/lib/modules/dialog/index.css +2 -0
  102. package/lib/modules/dialog/store.d.ts +4 -0
  103. package/lib/modules/dialog/store.js +16 -2
  104. package/lib/modules/event-notification/context.d.ts +2 -0
  105. package/lib/modules/event-notification/context.js +9 -0
  106. package/lib/modules/event-notification/index.css +58 -0
  107. package/lib/modules/event-notification/index.d.ts +13 -0
  108. package/lib/modules/event-notification/index.js +48 -0
  109. package/lib/modules/event-notification/store.d.ts +17 -0
  110. package/lib/modules/event-notification/store.js +133 -0
  111. package/lib/modules/event-notification/view.d.ts +5 -0
  112. package/lib/modules/event-notification/view.js +114 -0
  113. package/lib/modules/invite/index.css +4 -4
  114. package/lib/modules/invite/pstn-invite.js +1 -0
  115. package/lib/modules/layout/components/Gallery.js +7 -1
  116. package/lib/modules/layout/components/Layout.js +82 -57
  117. package/lib/modules/layout/components/index.css +33 -6
  118. package/lib/modules/layout/index.css +30 -0
  119. package/lib/modules/layout/member-window/index.js +9 -3
  120. package/lib/modules/layout/store.d.ts +19 -2
  121. package/lib/modules/layout/store.js +177 -70
  122. package/lib/modules/layout/video-window-datasource.d.ts +1 -1
  123. package/lib/modules/layout/video-window-datasource.js +1 -1
  124. package/lib/modules/live-streaming/index.dev.js +1 -1
  125. package/lib/modules/participant/attendee/index.d.ts +12 -3
  126. package/lib/modules/participant/attendee/index.js +132 -30
  127. package/lib/modules/participant/index.css +20 -0
  128. package/lib/modules/participant/index.d.ts +5 -2
  129. package/lib/modules/participant/index.dev.js +1 -1
  130. package/lib/modules/participant/index.js +27 -0
  131. package/lib/modules/participant/room-control-drop-menu/index.css +37 -0
  132. package/lib/modules/participant/store.d.ts +30 -5
  133. package/lib/modules/participant/store.js +347 -74
  134. package/lib/modules/participant/view.js +133 -34
  135. package/lib/modules/setting/index.css +1 -5
  136. package/lib/modules/setting/index.dev.js +1 -1
  137. package/lib/modules/setting/store.d.ts +2 -2
  138. package/lib/modules/setting/store.js +3 -8
  139. package/lib/modules/setting/translate-settings/translate-settings.js +1 -1
  140. package/lib/modules/setting/video-settings/index.css +9 -6
  141. package/lib/modules/share-screen/index.d.ts +2 -0
  142. package/lib/modules/share-screen/index.dev.js +3 -2
  143. package/lib/modules/share-screen/selection/index.css +2 -0
  144. package/lib/modules/share-screen/store.d.ts +6 -3
  145. package/lib/modules/share-screen/store.js +170 -129
  146. package/lib/modules/state-bar/index.css +2 -2
  147. package/lib/modules/state-bar/index.d.ts +2 -2
  148. package/lib/modules/state-bar/index.dev.js +1 -1
  149. package/lib/modules/state-bar/meeting-detail.css +6 -4
  150. package/lib/modules/state-bar/meeting-details.js +29 -3
  151. package/lib/modules/state-bar/meeting-network-state.css +14 -3
  152. package/lib/modules/state-bar/meeting-network-state.js +10 -4
  153. package/lib/modules/state-bar/recording.js +3 -5
  154. package/lib/modules/state-bar/store.d.ts +4 -2
  155. package/lib/modules/state-bar/store.js +18 -3
  156. package/lib/modules/state-bar/view.js +1 -6
  157. package/lib/modules/video-window/index.css +1 -0
  158. package/lib/modules/video-window/store.d.ts +2 -2
  159. package/lib/modules/video-window/store.js +14 -11
  160. package/lib/modules/waiting-room-layout/context.d.ts +2 -0
  161. package/lib/modules/waiting-room-layout/context.js +9 -0
  162. package/lib/modules/waiting-room-layout/index.css +71 -0
  163. package/lib/modules/waiting-room-layout/index.d.ts +8 -0
  164. package/lib/modules/waiting-room-layout/index.js +47 -0
  165. package/lib/modules/waiting-room-layout/store.d.ts +30 -0
  166. package/lib/modules/waiting-room-layout/store.js +189 -0
  167. package/lib/modules/waiting-room-layout/type.d.ts +0 -0
  168. package/lib/modules/waiting-room-layout/type.js +1 -0
  169. package/lib/modules/waiting-room-layout/view.d.ts +3 -0
  170. package/lib/modules/waiting-room-layout/view.js +67 -0
  171. package/lib/modules/whiteboard/app.js +0 -6
  172. package/lib/modules/whiteboard/components/control-bar/index.css +3 -0
  173. package/lib/modules/whiteboard/components/multi-window/index.js +6 -1
  174. package/lib/modules/whiteboard/components/progress/electron.js +2 -1
  175. package/lib/modules/whiteboard/components/switch-theme/index.css +4 -0
  176. package/lib/modules/whiteboard/components/switch-theme/index.d.ts +2 -1
  177. package/lib/modules/whiteboard/components/switch-theme/index.js +20 -15
  178. package/lib/modules/whiteboard/components/switch-theme/item.d.ts +1 -0
  179. package/lib/modules/whiteboard/components/switch-theme/item.js +9 -2
  180. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +14 -10
  181. package/lib/modules/whiteboard/components/toolbar/store.d.ts +1 -0
  182. package/lib/modules/whiteboard/components/toolbar/store.js +3 -0
  183. package/lib/modules/whiteboard/context.d.ts +4 -0
  184. package/lib/modules/whiteboard/context.js +4 -2
  185. package/lib/modules/whiteboard/index.js +22 -6
  186. package/lib/plugins/browser-runtime-plugin.js +1 -1
  187. package/lib/plugins/module-dev-plugin.js +8 -6
  188. package/lib/runtime.d.ts +1 -1
  189. package/lib/translations/enUS.d.ts +449 -6
  190. package/lib/translations/enUS.js +485 -32
  191. package/lib/translations/zhCN.d.ts +447 -6
  192. package/lib/translations/zhCN.js +468 -17
  193. package/lib/type.d.ts +6 -2
  194. package/lib/ui-manager.d.ts +7 -3
  195. package/lib/ui-manager.js +576 -139
  196. package/lib/ui-scene.d.ts +1 -0
  197. package/lib/ui-scene.js +26 -21
  198. package/lib/utilities/constant.d.ts +43 -4
  199. package/lib/utilities/constant.js +41 -1
  200. package/lib/utilities/parameters.js +2 -2
  201. package/lib/utilities/renderer.d.ts +1 -0
  202. package/lib/utilities/renderer.js +6 -2
  203. package/package.json +14 -14
  204. package/public/assets/fcr_defaultpage.png +0 -0
  205. package/public/assets/login_confirm.png +0 -0
  206. package/public/index.html +29 -11
  207. package/dist/132.js +0 -2
  208. package/dist/132.js.LICENSE.txt +0 -311
  209. package/dist/651.js +0 -2
  210. package/dist/651.js.LICENSE.txt +0 -1
  211. package/dist/73.js +0 -1
  212. package/dist/index.html +0 -13
  213. package/dist/main.da7c203ab32d15742cfe.css +0 -11760
  214. package/dist/main.js +0 -2
  215. package/dist/main.js.LICENSE.txt +0 -254
  216. package/dist/worker-entry.worker.js.LICENSE.txt +0 -13
  217. package/lib/modules/device-pretest/settings/index.css +0 -15
  218. package/lib/modules/participant/attendee/participants-more-action.d.ts +0 -18
  219. package/lib/modules/participant/attendee/participants-more-action.js +0 -278
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.array.filter.js");
5
+ require("core-js/modules/es.array.for-each.js");
6
+ require("core-js/modules/es.array.iterator.js");
7
+ require("core-js/modules/es.array.push.js");
8
+ require("core-js/modules/es.object.define-properties.js");
9
+ require("core-js/modules/es.object.define-property.js");
10
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
11
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
12
+ require("core-js/modules/es.object.keys.js");
13
+ require("core-js/modules/es.object.to-string.js");
14
+ require("core-js/modules/es.string.iterator.js");
15
+ require("core-js/modules/es.weak-map.js");
16
+ require("core-js/modules/esnext.async-iterator.filter.js");
17
+ require("core-js/modules/esnext.async-iterator.for-each.js");
18
+ require("core-js/modules/esnext.iterator.constructor.js");
19
+ require("core-js/modules/esnext.iterator.filter.js");
20
+ require("core-js/modules/esnext.iterator.for-each.js");
21
+ require("core-js/modules/esnext.weak-map.delete-all.js");
22
+ require("core-js/modules/esnext.weak-map.emplace.js");
23
+ require("core-js/modules/web.dom-collections.for-each.js");
24
+ require("core-js/modules/web.dom-collections.iterator.js");
25
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
26
+ var _typeof = require("@babel/runtime/helpers/typeof");
27
+ Object.defineProperty(exports, "__esModule", {
28
+ value: true
29
+ });
30
+ exports.RemoveAdmitWaitingRoomDialog = void 0;
31
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
32
+ var _mobxReact = require("mobx-react");
33
+ var _react = _interopRequireWildcard(require("react"));
34
+ var _context = require("../../context");
35
+ var _reactRnd = require("react-rnd");
36
+ var _electron = _interopRequireDefault(require("./electron"));
37
+ var _platform = require("../../../../utilities/platform");
38
+ require("./index.css");
39
+ var _env = require("agora-foundation/lib/utilities/env");
40
+ var _jsxRuntime = require("react/jsx-runtime");
41
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
42
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
43
+ 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; }
44
+ 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; } // import { ConfirmContentProps } from 'agora-ui-foundation/lib/components/confirm-content';
45
+ var RemoveAdmitWaitingRoomDialog = exports.RemoveAdmitWaitingRoomDialog = (0, _mobxReact.observer)(function (_ref) {
46
+ var children = _ref.children,
47
+ params = _ref.params;
48
+ var store = (0, _react.useContext)(_context.StoreContext);
49
+ var containerWidth = window.innerWidth;
50
+ var containerHeight = window.innerHeight;
51
+ var _ref2 = (0, _env.isElectron)() ? window.runtime.browserWindow.getBounds() : {
52
+ x: document.body.offsetLeft,
53
+ y: document.body.offsetTop
54
+ },
55
+ offsetX = _ref2.x,
56
+ offsetY = _ref2.y;
57
+ var width = (params === null || params === void 0 ? void 0 : params.width) || 415;
58
+ var height = (params === null || params === void 0 ? void 0 : params.height) || 180;
59
+ var x = containerWidth / 2 - width / 2 + ((0, _platform.isWindows)() ? offsetX : 0);
60
+ var y = containerHeight / 2 - height / 2 + ((0, _platform.isWindows)() ? offsetY : 0);
61
+ if ((0, _env.isElectron)()) {
62
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_electron["default"], {
63
+ params: _objectSpread(_objectSpread({}, params), {}, {
64
+ x: x,
65
+ y: y
66
+ }),
67
+ children: children
68
+ });
69
+ }
70
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.StoreContext.Provider, {
71
+ value: store,
72
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRnd.Rnd, {
73
+ "default": {
74
+ x: x,
75
+ y: y,
76
+ width: width,
77
+ height: height
78
+ },
79
+ maxHeight: 700,
80
+ maxWidth: width,
81
+ minWidth: width,
82
+ minHeight: height,
83
+ bounds: '.fcr-confirm-dialog-wrapper_web',
84
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
85
+ className: "fcr-confirm-dialog-wrapper_web",
86
+ children: children
87
+ })
88
+ })
89
+ });
90
+ });
@@ -62,7 +62,8 @@ var WhiteboardElectronDialog = exports.WhiteboardElectronDialog = (0, _mobxReact
62
62
  minWidth: 530,
63
63
  minHeight: 500,
64
64
  maxWidth: 1920,
65
- maxHeight: 1080
65
+ maxHeight: 1080,
66
+ transparent: true
66
67
  });
67
68
  return function () {
68
69
  _dialogs.dialogWindows["delete"](_constant.DialogKey.WHITEBOARD);
@@ -130,7 +130,8 @@ var LiveStreamingElectronDialog = (0, _mobxReact.observer)(function (_ref3) {
130
130
  maximizable: false,
131
131
  width: 440,
132
132
  height: 434,
133
- y: store.currentDialogBounds.y
133
+ y: store.currentDialogBounds.y,
134
+ transparent: true
134
135
  });
135
136
  return function () {
136
137
  node && (0, _reactDom.unmountComponentAtNode)(node);
@@ -188,6 +189,7 @@ var InviteElectronDialog = function InviteElectronDialog(_ref5) {
188
189
  x: 10,
189
190
  y: 40
190
191
  },
192
+ transparent: true,
191
193
  maximizable: false,
192
194
  minimizable: false,
193
195
  fullscreenable: false,
@@ -235,18 +237,20 @@ var VideoWindowElectronDialog = (0, _mobxReact.observer)(function (_ref6) {
235
237
  (0, _renderer.handleWillClose)(browserWindow, function () {
236
238
  (0, _reactDom.unmountComponentAtNode)(node);
237
239
  dialogWindows["delete"](_constant.DialogKey.VIDEO_WINDOW);
238
- browserWindow.removeAllListeners('will-resize');
239
- browserWindow.removeAllListeners('show');
240
- browserWindow.setResizable(false);
241
- browserWindow.setAspectRatio(0);
242
- browserWindow.setMinimumSize(0, 0);
243
- browserWindow.setMaximumSize(0, 0);
244
- browserWindow.setBounds({
245
- x: workareaX + workareaWidth - _type.DefaultVideoWindowWidth - 168,
246
- y: workareaY + 80,
247
- width: _type.DefaultVideoWindowWidth,
248
- height: _type.DefaultVideoWindowHeight
249
- });
240
+ if (!browserWindow.isDestroyed()) {
241
+ browserWindow.removeAllListeners('will-resize');
242
+ browserWindow.removeAllListeners('show');
243
+ browserWindow.setResizable(false);
244
+ browserWindow.setAspectRatio(0);
245
+ browserWindow.setMinimumSize(0, 0);
246
+ browserWindow.setMaximumSize(0, 0);
247
+ browserWindow.setBounds({
248
+ x: workareaX + workareaWidth - _type.DefaultVideoWindowWidth - 168,
249
+ y: workareaY + 80,
250
+ width: _type.DefaultVideoWindowWidth,
251
+ height: _type.DefaultVideoWindowHeight
252
+ });
253
+ }
250
254
  });
251
255
  if (browserWindow) {
252
256
  browserWindow.addListener('will-resize', (0, _debounce["default"])(function (event, newBounds) {
@@ -41,6 +41,8 @@
41
41
  .invite-dialog {
42
42
  padding: 10px;
43
43
  padding-bottom: 0px;
44
+ background-color: #fff;
45
+ border-radius: var(--fcr_cornerradius_l);
44
46
  }
45
47
 
46
48
  .fcr-confirm-dialog-wrapper {
@@ -2,6 +2,7 @@ import { FcrStreamControl, FcrUserControl } from 'agora-edu-core';
2
2
  import { FcrUserInfo } from 'agora-edu-core/lib/type';
3
3
  import { FcrUIEventStore } from '../../common/event-store';
4
4
  import { FcrSecurityStore } from '../../common/security-store';
5
+ import { DialogKey } from '../../utilities/constant';
5
6
  import { Rectangle } from 'electron';
6
7
  import { FcrDeviceStore } from '../../common/device-store';
7
8
  import { AgoraRtcScreenCaptureType } from 'agora-rte-sdk/lib/core/rtc/type';
@@ -72,6 +73,9 @@ export default class DialogStore {
72
73
  closeShareScreenDialog(): void;
73
74
  closeInviteDialog(): void;
74
75
  moveParticipantFromDialogToAside(): void;
76
+ moveToMainRoomAllMember(isOperate: boolean): void;
77
+ closeWaitingRoomDialog(): void;
78
+ closeRemoveAdmitWaitingRoomDialog(dialogKey: DialogKey): void;
75
79
  release(): void;
76
80
  resizeVideoWindow(width: number, height: number): void;
77
81
  setConnecorContainerBounds(payload: Partial<Rectangle>): void;
@@ -430,12 +430,26 @@ var DialogStore = exports["default"] = /*#__PURE__*/function () {
430
430
  participant: true
431
431
  });
432
432
  }
433
+ }, {
434
+ key: "moveToMainRoomAllMember",
435
+ value: function moveToMainRoomAllMember(isOperate) {
436
+ this._uiEventStore.sendEvent(_constant.UIAction.MOVE_TO_MAIN_ROOM_ALL_MEMBER, isOperate);
437
+ }
438
+ }, {
439
+ key: "closeWaitingRoomDialog",
440
+ value: function closeWaitingRoomDialog() {
441
+ this._uiEventStore.closeWaitingRoomDialog();
442
+ }
443
+ }, {
444
+ key: "closeRemoveAdmitWaitingRoomDialog",
445
+ value: function closeRemoveAdmitWaitingRoomDialog(dialogKey) {
446
+ this._uiEventStore.closeRemoveAdmitWaitingRoomDialog(dialogKey);
447
+ }
433
448
  }, {
434
449
  key: "release",
435
450
  value: function release() {
436
451
  this._userControl.removeObserver(this._userObserver);
437
452
  this._chatRoomControl.removeObserver(this._chatRoomObserver);
438
- (0, _renderer.releaseSubAllWindowRefs)();
439
453
  }
440
454
  }, {
441
455
  key: "resizeVideoWindow",
@@ -542,7 +556,7 @@ var DialogStore = exports["default"] = /*#__PURE__*/function () {
542
556
  }]);
543
557
  }();
544
558
  _DialogStore = DialogStore;
545
- var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_DialogStore, [[_mobx.observable, 1, "openedDialogs"], [_mobx.observable, 1, "connectorContainerBounds"], [_mobx.observable, 1, "payloadDialogs"], [_mobx.observable, 1, "userCount"], [_mobx.observable, 1, "participantElectronDialogContainer"], [_mobx.observable, 1, "chatRoomState"], [_mobx.observable, 1, "currentDialogBounds"], [_mobx.observable, 1, "videoWindowBounds"], [_mobx.action, 2, "setParticipantElectronDialogContainer"], [_setVideoWindowBoundsDecs, 18, "setVideoWindowBounds"], [_decorator.bound, 2, "closeDeviceSettingFromDialog"], [_decorator.bound, 2, "setCurrentShareId"], [_decorator.bound, 2, "closeConfirmDialog"], [_decorator.bound, 2, "closeChatFromDialog"], [_decorator.bound, 2, "closeWhiteboardDialog"], [_decorator.bound, 2, "closeDialogChat"], [_decorator.bound, 2, "moveChatFromDialogToAside"], [_decorator.bound, 2, "closeParticipantFromDialog"], [_decorator.bound, 2, "closeLiveStreamingDialog"], [_decorator.bound, 2, "closeConnectionDialog"], [_decorator.bound, 2, "closeShareScreenDialog"], [_decorator.bound, 2, "closeInviteDialog"], [_decorator.bound, 2, "moveParticipantFromDialogToAside"], [_decorator.bound, 2, "resizeVideoWindow"], [_setConnecorContainerBoundsDecs, 18, "setConnecorContainerBounds"], [_calculateDialogPositionDecs, 18, "_calculateDialogPosition"], [_handleDialogEventDecs, 18, "_handleDialogEvent"], [_handleConnectionUpdatedDecs, 18, "_handleConnectionUpdated"], [_hanleAllUserCountUpdatedDecs, 18, "_hanleAllUserCountUpdated"]], []).e, 9);
559
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_DialogStore, [[_mobx.observable, 1, "openedDialogs"], [_mobx.observable, 1, "connectorContainerBounds"], [_mobx.observable, 1, "payloadDialogs"], [_mobx.observable, 1, "userCount"], [_mobx.observable, 1, "participantElectronDialogContainer"], [_mobx.observable, 1, "chatRoomState"], [_mobx.observable, 1, "currentDialogBounds"], [_mobx.observable, 1, "videoWindowBounds"], [_mobx.action, 2, "setParticipantElectronDialogContainer"], [_setVideoWindowBoundsDecs, 18, "setVideoWindowBounds"], [_decorator.bound, 2, "closeDeviceSettingFromDialog"], [_decorator.bound, 2, "setCurrentShareId"], [_decorator.bound, 2, "closeConfirmDialog"], [_decorator.bound, 2, "closeChatFromDialog"], [_decorator.bound, 2, "closeWhiteboardDialog"], [_decorator.bound, 2, "closeDialogChat"], [_decorator.bound, 2, "moveChatFromDialogToAside"], [_decorator.bound, 2, "closeParticipantFromDialog"], [_decorator.bound, 2, "closeLiveStreamingDialog"], [_decorator.bound, 2, "closeConnectionDialog"], [_decorator.bound, 2, "closeShareScreenDialog"], [_decorator.bound, 2, "closeInviteDialog"], [_decorator.bound, 2, "moveParticipantFromDialogToAside"], [_decorator.bound, 2, "moveToMainRoomAllMember"], [_decorator.bound, 2, "closeWaitingRoomDialog"], [_decorator.bound, 2, "closeRemoveAdmitWaitingRoomDialog"], [_decorator.bound, 2, "resizeVideoWindow"], [_setConnecorContainerBoundsDecs, 18, "setConnecorContainerBounds"], [_calculateDialogPositionDecs, 18, "_calculateDialogPosition"], [_handleDialogEventDecs, 18, "_handleDialogEvent"], [_handleConnectionUpdatedDecs, 18, "_handleConnectionUpdated"], [_hanleAllUserCountUpdatedDecs, 18, "_hanleAllUserCountUpdated"]], []).e, 9);
546
560
  _init_openedDialogs = _applyDecs$e[0];
547
561
  _init_connectorContainerBounds = _applyDecs$e[1];
548
562
  _init_payloadDialogs = _applyDecs$e[2];
@@ -0,0 +1,2 @@
1
+ import NotificationStore from './store';
2
+ export declare const StoreContext: import("react").Context<NotificationStore>;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.StoreContext = void 0;
8
+ var _react = require("react");
9
+ var StoreContext = exports.StoreContext = /*#__PURE__*/(0, _react.createContext)(null);
@@ -0,0 +1,58 @@
1
+ .waiting-room-confirm-dialog {
2
+ background-color: white;
3
+ border-radius: 10px;
4
+ position: relative;
5
+ z-index: 9999;
6
+ }
7
+
8
+ .waiting-room-confirm-dialog .fcr-dialog-body {
9
+ padding: 20px;
10
+ }
11
+
12
+ .waiting-room-confirm-dialog-content {
13
+ display: flex;
14
+ align-items: center;
15
+ }
16
+
17
+ .rc-notification {
18
+ position: absolute;
19
+ top: 40px;
20
+ z-index: 999;
21
+ }
22
+
23
+ .rc-notification-notice-wrapper {
24
+ border-radius: 10px;
25
+ left: 10px;
26
+ }
27
+
28
+ .waiting-room-confirm-dialog-content-icon {
29
+ background-color: #a19fff;
30
+ width: 48px;
31
+ height: 48px;
32
+ border-radius: 50px;
33
+ margin-right: 10px;
34
+ }
35
+
36
+ .waiting-room-confirm-dialog-content-title {
37
+ font-size: 14px;
38
+ margin-bottom: 5px;
39
+ }
40
+
41
+ .waiting-room-confirm-dialog-content-desc {
42
+ font-size: 13px;
43
+ color: var(--fcr_ui_scene_icontext2);
44
+ }
45
+
46
+ .waiting-room-confirm-dialog-btns {
47
+ display: flex;
48
+ justify-content: flex-end;
49
+ align-items: center;
50
+ margin-top: 10px;
51
+ }
52
+
53
+ .waiting-room-left-btn {
54
+ color: var(--fcr_ui_scene_icontext2);
55
+ margin-right: 15px;
56
+ font-size: 12px;
57
+ cursor: pointer;
58
+ }
@@ -0,0 +1,13 @@
1
+ import { FcrPrivilegeControl } from 'agora-edu-core';
2
+ import { UIModule } from '../../base';
3
+ import { FcrUIEventStore } from '../../common/event-store';
4
+ export declare class EventNotificationUIModule extends UIModule {
5
+ private _store;
6
+ private _uiEventStore;
7
+ constructor(args: {
8
+ uiEventStore: FcrUIEventStore;
9
+ privilegeControl: FcrPrivilegeControl;
10
+ });
11
+ protected onUnload(): void;
12
+ getComponent(): import("react/jsx-runtime").JSX.Element;
13
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ require("core-js/modules/es.reflect.construct.js");
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.EventNotificationUIModule = void 0;
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
+ var _base = require("../../base");
16
+ var _store = _interopRequireDefault(require("./store"));
17
+ var _view = require("./view");
18
+ var _context = require("./context");
19
+ var _jsxRuntime = require("react/jsx-runtime");
20
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
21
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
22
+ var EventNotificationUIModule = exports.EventNotificationUIModule = /*#__PURE__*/function (_UIModule) {
23
+ function EventNotificationUIModule(args) {
24
+ var _this;
25
+ (0, _classCallCheck2["default"])(this, EventNotificationUIModule);
26
+ _this = _callSuper(this, EventNotificationUIModule);
27
+ _this._uiEventStore = args.uiEventStore;
28
+ _this._store = new _store["default"](args);
29
+ return _this;
30
+ }
31
+ (0, _inherits2["default"])(EventNotificationUIModule, _UIModule);
32
+ return (0, _createClass2["default"])(EventNotificationUIModule, [{
33
+ key: "onUnload",
34
+ value: function onUnload() {
35
+ this._store.release();
36
+ }
37
+ }, {
38
+ key: "getComponent",
39
+ value: function getComponent() {
40
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.StoreContext.Provider, {
41
+ value: this._store,
42
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_view.View, {
43
+ uiEventStore: this._uiEventStore
44
+ }, "event-toast")
45
+ });
46
+ }
47
+ }]);
48
+ }(_base.UIModule);
@@ -0,0 +1,17 @@
1
+ import { FcrUIEventStore } from '../../common/event-store';
2
+ import { FcrPrivilegeControl } from 'agora-edu-core';
3
+ export default class NotificationStore {
4
+ protected logger: import("agora-foundation/lib/logger").Logger;
5
+ private _waitingRoomControl?;
6
+ private _privilegeControl;
7
+ private _waitingRoomUserObserver;
8
+ accessor waitingRoomUserCount: number;
9
+ constructor({ uiEventStore, privilegeControl, }: {
10
+ uiEventStore: FcrUIEventStore;
11
+ privilegeControl: FcrPrivilegeControl;
12
+ });
13
+ release(): void;
14
+ private _getWaitingRoomUserCount;
15
+ private _handleRemoteWaitingUserChanged;
16
+ private _handleToastEvent;
17
+ }
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.symbol.description.js");
5
+ require("core-js/modules/es.symbol.to-primitive.js");
6
+ require("core-js/modules/es.error.cause.js");
7
+ require("core-js/modules/es.error.to-string.js");
8
+ require("core-js/modules/es.array.is-array.js");
9
+ require("core-js/modules/es.array.push.js");
10
+ require("core-js/modules/es.date.to-primitive.js");
11
+ require("core-js/modules/es.function.name.js");
12
+ require("core-js/modules/es.map.js");
13
+ require("core-js/modules/es.number.constructor.js");
14
+ require("core-js/modules/es.object.create.js");
15
+ require("core-js/modules/es.object.define-property.js");
16
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
17
+ require("core-js/modules/esnext.function.metadata.js");
18
+ require("core-js/modules/esnext.map.delete-all.js");
19
+ require("core-js/modules/esnext.map.emplace.js");
20
+ require("core-js/modules/esnext.map.every.js");
21
+ require("core-js/modules/esnext.map.filter.js");
22
+ require("core-js/modules/esnext.map.find.js");
23
+ require("core-js/modules/esnext.map.find-key.js");
24
+ require("core-js/modules/esnext.map.includes.js");
25
+ require("core-js/modules/esnext.map.key-of.js");
26
+ require("core-js/modules/esnext.map.map-keys.js");
27
+ require("core-js/modules/esnext.map.map-values.js");
28
+ require("core-js/modules/esnext.map.merge.js");
29
+ require("core-js/modules/esnext.map.reduce.js");
30
+ require("core-js/modules/esnext.map.some.js");
31
+ require("core-js/modules/esnext.map.update.js");
32
+ require("core-js/modules/esnext.symbol.metadata.js");
33
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
34
+ var _typeof = require("@babel/runtime/helpers/typeof");
35
+ Object.defineProperty(exports, "__esModule", {
36
+ value: true
37
+ });
38
+ exports["default"] = void 0;
39
+ require("core-js/modules/es.array.filter.js");
40
+ require("core-js/modules/es.array.includes.js");
41
+ require("core-js/modules/es.array.iterator.js");
42
+ require("core-js/modules/es.function.bind.js");
43
+ require("core-js/modules/es.object.to-string.js");
44
+ require("core-js/modules/es.string.includes.js");
45
+ require("core-js/modules/es.string.iterator.js");
46
+ require("core-js/modules/es.weak-map.js");
47
+ require("core-js/modules/esnext.async-iterator.filter.js");
48
+ require("core-js/modules/esnext.iterator.constructor.js");
49
+ require("core-js/modules/esnext.iterator.filter.js");
50
+ require("core-js/modules/esnext.weak-map.delete-all.js");
51
+ require("core-js/modules/esnext.weak-map.emplace.js");
52
+ require("core-js/modules/web.dom-collections.iterator.js");
53
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
54
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
55
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
56
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
57
+ var _logger = require("agora-foundation/lib/logger");
58
+ var _mobx = require("mobx");
59
+ var _constant = require("../../utilities/constant");
60
+ var _decorator = require("agora-foundation/lib/decorator");
61
+ var _type = require("agora-edu-core/lib/room-control/privilege-control/type");
62
+ var _NotificationStore;
63
+ var _initProto, _init_waitingRoomUserCount, _handleToastEventDecs, _ref;
64
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
65
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
66
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
67
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
68
+ 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"); }
69
+ 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)]; } }; }
70
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
71
+ 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); }
72
+ 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; }
73
+ 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; }
74
+ var _A = /*#__PURE__*/new WeakMap();
75
+ _ref = (_handleToastEventDecs = [_mobx.action, _mobx.action.bound], "logger");
76
+ var NotificationStore = exports["default"] = /*#__PURE__*/function () {
77
+ function NotificationStore(_ref2) {
78
+ var uiEventStore = _ref2.uiEventStore,
79
+ privilegeControl = _ref2.privilegeControl;
80
+ (0, _classCallCheck2["default"])(this, NotificationStore);
81
+ (0, _defineProperty2["default"])(this, _ref, (_initProto(this), (0, _logger.getLogger)()));
82
+ (0, _defineProperty2["default"])(this, "_waitingRoomUserObserver", {
83
+ onRemoteUsersJoined: this._handleRemoteWaitingUserChanged.bind(this),
84
+ onRemoteUsersLeft: this._handleRemoteWaitingUserChanged.bind(this)
85
+ });
86
+ _classPrivateFieldInitSpec(this, _A, _init_waitingRoomUserCount(this, 0));
87
+ this._privilegeControl = privilegeControl;
88
+ uiEventStore.addObserver({
89
+ onEvent: this._handleToastEvent.bind(this)
90
+ });
91
+ }
92
+ return (0, _createClass2["default"])(NotificationStore, [{
93
+ key: "waitingRoomUserCount",
94
+ get: function get() {
95
+ return _classPrivateFieldGet(_A, this);
96
+ },
97
+ set: function set(v) {
98
+ _classPrivateFieldSet(_A, this, v);
99
+ }
100
+ }, {
101
+ key: "release",
102
+ value: function release() {}
103
+ }, {
104
+ key: "_getWaitingRoomUserCount",
105
+ value: function _getWaitingRoomUserCount() {
106
+ var _this$_privilegeContr;
107
+ var userControl = this._waitingRoomControl.getUserControl();
108
+ var targetRoles = (_this$_privilegeContr = this._privilegeControl.getSecurityInfo(_type.FcrSecurityAction.WaitingRoom).info) === null || _this$_privilegeContr === void 0 ? void 0 : _this$_privilegeContr.targetRoles;
109
+ this.waitingRoomUserCount = userControl.getUserList().filter(function (user) {
110
+ return targetRoles.includes(user.userRole);
111
+ }).length;
112
+ }
113
+ }, {
114
+ key: "_handleRemoteWaitingUserChanged",
115
+ value: function _handleRemoteWaitingUserChanged() {
116
+ this._getWaitingRoomUserCount();
117
+ }
118
+ }, {
119
+ key: "_handleToastEvent",
120
+ value: function _handleToastEvent(action, payload) {
121
+ if (action === _constant.UIAction.WAITING_ROOM_CREATED) {
122
+ var room = payload.room;
123
+ this._waitingRoomControl = room;
124
+ var waitingRoomUserControl = room.getUserControl();
125
+ waitingRoomUserControl.addObserver(this._waitingRoomUserObserver);
126
+ }
127
+ }
128
+ }]);
129
+ }();
130
+ _NotificationStore = NotificationStore;
131
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_NotificationStore, [[_mobx.observable, 1, "waitingRoomUserCount"], [_decorator.bound, 2, "_getWaitingRoomUserCount"], [_decorator.bound, 2, "_handleRemoteWaitingUserChanged"], [_handleToastEventDecs, 18, "_handleToastEvent"]], []).e, 2);
132
+ _init_waitingRoomUserCount = _applyDecs$e[0];
133
+ _initProto = _applyDecs$e[1];
@@ -0,0 +1,5 @@
1
+ import { FcrUIEventStore } from '../../common/event-store';
2
+ import './index.css';
3
+ export declare const View: ({ uiEventStore }: {
4
+ uiEventStore: FcrUIEventStore;
5
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.array.iterator.js");
4
+ require("core-js/modules/es.object.define-property.js");
5
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
6
+ require("core-js/modules/es.object.to-string.js");
7
+ require("core-js/modules/es.string.iterator.js");
8
+ require("core-js/modules/es.weak-map.js");
9
+ require("core-js/modules/esnext.weak-map.delete-all.js");
10
+ require("core-js/modules/esnext.weak-map.emplace.js");
11
+ require("core-js/modules/web.dom-collections.iterator.js");
12
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
13
+ var _typeof = require("@babel/runtime/helpers/typeof");
14
+ Object.defineProperty(exports, "__esModule", {
15
+ value: true
16
+ });
17
+ exports.View = void 0;
18
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
20
+ var _notification = _interopRequireWildcard(require("agora-ui-foundation/lib/components/notification"));
21
+ var _eventStore = require("../../common/event-store");
22
+ var _react = require("react");
23
+ var _constant = require("../../utilities/constant");
24
+ var _mobxReact = require("mobx-react");
25
+ var _context = require("./context");
26
+ var _i18n = require("agora-ui-foundation/lib/i18n");
27
+ var _type = require("agora-ui-foundation/lib/components/icon/type");
28
+ var _icon = require("agora-ui-foundation/lib/components/icon");
29
+ var _button = require("agora-ui-foundation/lib/components/button");
30
+ require("./index.css");
31
+ var _jsxRuntime = require("react/jsx-runtime");
32
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
33
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
34
+ var Content = (0, _mobxReact.observer)(function (_ref) {
35
+ var onClose = _ref.onClose,
36
+ onOk = _ref.onOk;
37
+ var _useContext = (0, _react.useContext)(_context.StoreContext),
38
+ waitingRoomUserCount = _useContext.waitingRoomUserCount;
39
+ var t = (0, _i18n.useI18n)();
40
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
41
+ className: "waiting-room-confirm-dialog",
42
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
43
+ className: "waiting-room-confirm-dialog-content",
44
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
45
+ className: "waiting-room-confirm-dialog-content-icon",
46
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
47
+ type: _type.FcrIconType.FCR_WAITING_ROOM,
48
+ size: 48
49
+ })
50
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
51
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
52
+ className: "waiting-room-confirm-dialog-content-title",
53
+ children: t('fmt_attendies_tab_waitingroom')
54
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
55
+ className: "waiting-room-confirm-dialog-content-desc",
56
+ children: t('fmt_waitingroom_mainwindow_popup_label_waiting', {
57
+ reason1: waitingRoomUserCount
58
+ })
59
+ })]
60
+ })]
61
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
62
+ className: "waiting-room-confirm-dialog-btns",
63
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
64
+ className: "waiting-room-left-btn",
65
+ onClick: onClose,
66
+ children: t('fmt_waitingroom_mobile_notice_popup_button_dont_remind')
67
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
68
+ className: "waiting-room-right-btn"
69
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.FcrButton, {
70
+ onClick: onOk,
71
+ size: "XXS",
72
+ shape: "rounded",
73
+ children: t('fmt_waitingroom_mainwindow_popup_button_view_detailed')
74
+ })]
75
+ })]
76
+ });
77
+ });
78
+ var ContentMap = (0, _defineProperty2["default"])({}, _eventStore.NotificationContentType.WAITING_ROOM, Content);
79
+ var View = exports.View = function View(_ref2) {
80
+ var uiEventStore = _ref2.uiEventStore;
81
+ var _useFcrNotification = (0, _notification["default"])(),
82
+ _useFcrNotification2 = (0, _slicedToArray2["default"])(_useFcrNotification, 2),
83
+ notification = _useFcrNotification2[0],
84
+ contextHolder = _useFcrNotification2[1];
85
+ (0, _react.useEffect)(function () {
86
+ var observer = {
87
+ onEvent: function onEvent(action, params) {
88
+ if (action === _constant.UIAction.SHOW_NOTIFICATION) {
89
+ var _params$duration;
90
+ var Comp = ContentMap[params.type];
91
+ notification.open({
92
+ content: /*#__PURE__*/(0, _jsxRuntime.jsx)(Comp, {
93
+ onOk: params.onOk,
94
+ onClose: params.onClose
95
+ }),
96
+ duration: (_params$duration = params.duration) !== null && _params$duration !== void 0 ? _params$duration : null,
97
+ placement: params.placement,
98
+ key: params.type
99
+ });
100
+ } else if (action === _constant.UIAction.COLSE_NOTIFICATION) {
101
+ notification.close(params);
102
+ }
103
+ }
104
+ };
105
+ uiEventStore.addObserver(observer);
106
+ return function () {
107
+ uiEventStore.removeObserver(observer);
108
+ };
109
+ }, []);
110
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
111
+ className: _notification.NOTIFICATION_ROOT_CLASS_NAME,
112
+ children: contextHolder
113
+ });
114
+ };