fcr-ui-scene 3.7.5 → 3.7.6

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 (220) hide show
  1. package/lib/creator/index.js +3 -1
  2. package/lib/creator/provider-initializer.browser.js +13 -1
  3. package/lib/creator/provider-initializer.electron.js +22 -6
  4. package/lib/electron/bootstrap-sdk.js +39 -5
  5. package/lib/electron/injections.d.ts +1 -0
  6. package/lib/electron/injections.js +5 -1
  7. package/lib/electron/ipc/type.d.ts +1 -0
  8. package/lib/electron/ipc/type.js +1 -0
  9. package/lib/electron/preload.js +1 -0
  10. package/lib/electron/sdk-helper.d.ts +3 -0
  11. package/lib/electron/sdk-helper.js +53 -19
  12. package/lib/electron/until.d.ts +5 -1
  13. package/lib/electron/until.js +6 -2
  14. package/lib/fragments/annotation/store.js +2 -0
  15. package/lib/modules/action-bar/components/more/poppover-content.js +1 -1
  16. package/lib/modules/action-bar/components/screen-share/index.browser.js +4 -2
  17. package/lib/modules/action-bar/components/screen-share/index.electron.js +4 -2
  18. package/lib/modules/action-bar/components/screen-share/submenu.d.ts +5 -1
  19. package/lib/modules/action-bar/components/screen-share/submenu.js +11 -8
  20. package/lib/modules/audio-stream/index.js +4 -2
  21. package/lib/modules/chat/index.css +4 -0
  22. package/lib/modules/chat/view.js +2 -1
  23. package/lib/modules/components/control-bar/index.css +0 -2
  24. package/lib/modules/components/control-bar/index.d.ts +1 -0
  25. package/lib/modules/components/control-bar/index.js +26 -9
  26. package/lib/modules/components/leave-meeting/main-scene/store.d.ts +3 -0
  27. package/lib/modules/components/leave-meeting/main-scene/store.js +12 -0
  28. package/lib/modules/components/leave-meeting/store.base.d.ts +4 -3
  29. package/lib/modules/components/leave-meeting/store.base.js +0 -10
  30. package/lib/modules/components/leave-meeting/waiting-scene/store.d.ts +5 -1
  31. package/lib/modules/components/leave-meeting/waiting-scene/store.js +17 -3
  32. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +1 -2
  33. package/lib/modules/components/member-window/components/video-player/components/local-video-player-with-zoom.js +4 -3
  34. package/lib/modules/components/member-window/components/video-player/components/zoomable-container.js +18 -32
  35. package/lib/modules/components/toolbar/hooks/use-resize-visible.js +14 -2
  36. package/lib/modules/control-bar/components/boundary-detector.d.ts +7 -5
  37. package/lib/modules/control-bar/components/boundary-detector.js +22 -2
  38. package/lib/modules/control-bar/components/cloud-recording-buttons.js +3 -0
  39. package/lib/modules/control-bar/hooks.js +2 -1
  40. package/lib/modules/control-bar/store.d.ts +1 -0
  41. package/lib/modules/control-bar/store.js +10 -1
  42. package/lib/modules/control-bar/view.js +96 -28
  43. package/lib/modules/dialog/components/confirm/index.js +6 -24
  44. package/lib/modules/dialog/components/dialog-container/index.css +7 -0
  45. package/lib/modules/dialog/dialogs/device-setting/index.d.ts +1 -0
  46. package/lib/modules/dialog/dialogs/device-setting/index.js +4 -2
  47. package/lib/modules/dialog/dialogs/invite/index.d.ts +1 -0
  48. package/lib/modules/dialog/dialogs/invite/index.js +2 -1
  49. package/lib/modules/dialog/dialogs/mute-all/index.d.ts +1 -0
  50. package/lib/modules/dialog/dialogs/mute-all/index.js +2 -1
  51. package/lib/modules/dialog/dialogs/participant/index.js +7 -1
  52. package/lib/modules/dialog/dialogs/share-screen-selection/index.js +1 -1
  53. package/lib/modules/dialog/dialogs/sub-window/index.js +1 -7
  54. package/lib/modules/dialog/dialogs/toast/index.d.ts +1 -1
  55. package/lib/modules/dialog/dialogs/toast/index.js +1 -1
  56. package/lib/modules/dialog/dialogs/video-window/index.d.ts +4 -1
  57. package/lib/modules/dialog/dialogs/video-window/index.js +5 -2
  58. package/lib/modules/dialog/dialogs/widget/index.d.ts +2 -0
  59. package/lib/modules/dialog/dialogs/widget/index.js +11 -3
  60. package/lib/modules/dialog/index.css +6 -2
  61. package/lib/modules/dialog/level-config.d.ts +1 -0
  62. package/lib/modules/dialog/level-config.js +2 -1
  63. package/lib/modules/dialog/store.base.d.ts +2 -0
  64. package/lib/modules/dialog/store.browser.d.ts +2 -0
  65. package/lib/modules/dialog/store.browser.js +6 -1
  66. package/lib/modules/dialog/store.electron.d.ts +9 -1
  67. package/lib/modules/dialog/store.electron.js +64 -4
  68. package/lib/modules/dialog/type.d.ts +3 -0
  69. package/lib/modules/event-toast/index.css +0 -1
  70. package/lib/modules/event-toast/index.js +1 -0
  71. package/lib/modules/event-toast/store.base.d.ts +2 -0
  72. package/lib/modules/event-toast/store.base.js +40 -21
  73. package/lib/modules/event-toast/store.electron.d.ts +2 -0
  74. package/lib/modules/event-toast/store.electron.js +19 -9
  75. package/lib/modules/layout/components/CommonVideoRenderer.js +1 -0
  76. package/lib/modules/participant/components/confirm-input/index.js +1 -1
  77. package/lib/modules/participant/store.base.d.ts +30 -3
  78. package/lib/modules/participant/store.base.js +249 -96
  79. package/lib/modules/participant/store.browser.js +4 -3
  80. package/lib/modules/participant/store.electron.js +5 -3
  81. package/lib/modules/pc-audio-connect/main-scene/store.js +1 -0
  82. package/lib/modules/secondary-window/store.d.ts +1 -0
  83. package/lib/modules/secondary-window/store.js +5 -0
  84. package/lib/modules/secondary-window/view.js +4 -5
  85. package/lib/modules/setting/audio-settings/audio-settings.js +0 -17
  86. package/lib/modules/setting/index.css +1 -0
  87. package/lib/modules/setting/index.js +1 -1
  88. package/lib/modules/setting/state/index.js +1 -1
  89. package/lib/modules/setting/store.base.d.ts +5 -2
  90. package/lib/modules/setting/store.base.js +66 -26
  91. package/lib/modules/setting/view.js +3 -0
  92. package/lib/modules/share-screen/components/selection/index.css +4 -0
  93. package/lib/modules/share-screen/store.base.js +17 -4
  94. package/lib/modules/share-screen/store.electron.js +4 -1
  95. package/lib/modules/video-window/popover-watcher.d.ts +3 -11
  96. package/lib/modules/video-window/popover-watcher.js +22 -32
  97. package/lib/modules/video-window/store.d.ts +15 -5
  98. package/lib/modules/video-window/store.js +109 -64
  99. package/lib/modules/video-window/view.js +50 -1
  100. package/lib/modules/whiteboard/index.d.ts +1 -1
  101. package/lib/modules/whiteboard/index.js +1 -1
  102. package/lib/modules/whiteboard/store.d.ts +3 -0
  103. package/lib/modules/whiteboard/store.js +11 -0
  104. package/lib/modules/whiteboard/view.js +10 -1
  105. package/lib/modules/widget/sdk.js +1 -1
  106. package/lib/modules/widget/store.base.d.ts +1 -0
  107. package/lib/modules/widget/store.browser.d.ts +1 -0
  108. package/lib/modules/widget/store.browser.js +60 -4
  109. package/lib/modules/widget/store.electron.d.ts +1 -0
  110. package/lib/modules/widget/store.electron.js +59 -2
  111. package/lib/modules/widget/type.d.ts +3 -2
  112. package/lib/modules/widget/view.js +9 -4
  113. package/lib/modules/widget/web-widget.d.ts +2 -1
  114. package/lib/modules/widget/web-widget.js +7 -5
  115. package/lib/object-manager.d.ts +2 -1
  116. package/lib/object-manager.js +1 -0
  117. package/lib/providers/board-share/provider.base.d.ts +8 -1
  118. package/lib/providers/board-share/provider.base.js +12 -2
  119. package/lib/providers/device-provider.d.ts +16 -2
  120. package/lib/providers/device-provider.js +48 -59
  121. package/lib/providers/dialog/provider.base.d.ts +1 -0
  122. package/lib/providers/dialog/provider.browser.d.ts +1 -0
  123. package/lib/providers/dialog/provider.browser.js +7 -2
  124. package/lib/providers/dialog/provider.electron.d.ts +4 -1
  125. package/lib/providers/dialog/provider.electron.js +88 -2
  126. package/lib/providers/dialog/type.d.ts +7 -0
  127. package/lib/providers/mouse-detect/provider.d.ts +4 -1
  128. package/lib/providers/mouse-detect/provider.js +94 -5
  129. package/lib/providers/mouse-detect/struct.d.ts +2 -1
  130. package/lib/providers/mouse-detect/struct.js +1 -0
  131. package/lib/providers/mouse-detect/type.d.ts +2 -0
  132. package/lib/providers/renderer-provider.d.ts +5 -0
  133. package/lib/providers/renderer-provider.js +5 -0
  134. package/lib/providers/room-provider/room-provider.d.ts +1 -0
  135. package/lib/providers/room-provider/room-provider.js +23 -13
  136. package/lib/providers/screen-share/provider.base.js +3 -11
  137. package/lib/providers/screen-share/provider.browser.js +23 -14
  138. package/lib/providers/screen-share/provider.electron.d.ts +1 -0
  139. package/lib/providers/screen-share/provider.electron.js +44 -17
  140. package/lib/providers/screen-share/strategy/browser.js +16 -13
  141. package/lib/providers/screen-share/strategy/electron.d.ts +2 -2
  142. package/lib/providers/screen-share/strategy/electron.js +15 -10
  143. package/lib/providers/screen-share/strategy/type.d.ts +6 -0
  144. package/lib/providers/screen-share/stream-state-sync.d.ts +3 -2
  145. package/lib/providers/screen-share/stream-state-sync.js +7 -4
  146. package/lib/providers/screen-share/struct.d.ts +9 -7
  147. package/lib/providers/screen-share/struct.js +11 -8
  148. package/lib/providers/screen-share/type.d.ts +7 -1
  149. package/lib/providers/widget-provider.d.ts +5 -3
  150. package/lib/providers/widget-provider.js +12 -18
  151. package/lib/providers/window/main-window.js +3 -0
  152. package/lib/providers/window/renderer-window.js +4 -1
  153. package/lib/runtime.d.ts +1 -0
  154. package/lib/runtime.js +2 -1
  155. package/lib/scenes/main-scene.js +7 -0
  156. package/lib/shared-context/board-context.d.ts +2 -0
  157. package/lib/shared-context/board-context.js +2 -0
  158. package/lib/shared-data/member-data.d.ts +0 -8
  159. package/lib/shared-data/member-data.js +26 -78
  160. package/lib/shared-data/widget-data.d.ts +13 -0
  161. package/lib/shared-data/widget-data.js +50 -0
  162. package/lib/translations/enUS.d.ts +0 -2
  163. package/lib/translations/enUS.js +4 -6
  164. package/lib/translations/zhCN.d.ts +0 -2
  165. package/lib/translations/zhCN.js +4 -6
  166. package/lib/type.d.ts +5 -0
  167. package/lib/ui-scene.d.ts +2 -4
  168. package/lib/ui-scene.js +27 -40
  169. package/lib/utilities/constant.d.ts +3 -1
  170. package/lib/utilities/constant.js +5 -2
  171. package/lib/utilities/default-config.d.ts +18 -0
  172. package/lib/utilities/default-config.js +19 -1
  173. package/lib/utilities/focus-helper.js +10 -3
  174. package/lib/utilities/logger.js +3 -1
  175. package/lib/utilities/renderer.d.ts +1 -0
  176. package/lib/utilities/renderer.js +7 -1
  177. package/package.json +5 -5
  178. package/public/index.html +13 -3
  179. package/lib/modules/action-bar/index.d.ts +0 -17
  180. package/lib/modules/action-bar/index.js +0 -63
  181. package/lib/modules/action-bar/store.base.d.ts +0 -15
  182. package/lib/modules/action-bar/store.base.js +0 -117
  183. package/lib/modules/action-bar/view.d.ts +0 -5
  184. package/lib/modules/action-bar/view.js +0 -112
  185. package/lib/modules/action-bar/waiting-scene/store.d.ts +0 -6
  186. package/lib/modules/action-bar/waiting-scene/store.js +0 -91
  187. package/lib/modules/control-bar/types.d.ts +0 -31
  188. package/lib/modules/control-bar/types.js +0 -6
  189. package/lib/modules/dialog/dialogs/pre-setting/index.css +0 -26
  190. package/lib/modules/dialog/dialogs/pre-setting/index.d.ts +0 -6
  191. package/lib/modules/dialog/dialogs/pre-setting/index.js +0 -57
  192. package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +0 -14
  193. package/lib/modules/dialog/hooks/use-popover-watcher.js +0 -112
  194. package/lib/modules/event-toast/store.d.ts +0 -23
  195. package/lib/modules/event-toast/store.js +0 -187
  196. package/lib/modules/setting/common/advance-link.d.ts +0 -3
  197. package/lib/modules/setting/common/advance-link.js +0 -27
  198. package/lib/modules/setting/common/index.css +0 -26
  199. package/lib/modules/setting/common/useNamespace.d.ts +0 -15
  200. package/lib/modules/setting/common/useNamespace.js +0 -66
  201. package/lib/modules/widget/store.d.ts +0 -17
  202. package/lib/modules/widget/store.js +0 -71
  203. package/lib/providers/board-share/provider.d.ts +0 -66
  204. package/lib/providers/board-share/provider.js +0 -456
  205. package/lib/providers/screen-share/provider.d.ts +0 -69
  206. package/lib/providers/screen-share/provider.js +0 -615
  207. package/lib/providers/whiteboard-provider.d.ts +0 -26
  208. package/lib/providers/whiteboard-provider.js +0 -131
  209. package/lib/providers/window/browser-window-proxy.d.ts +0 -0
  210. package/lib/providers/window/browser-window-proxy.js +0 -1
  211. package/lib/providers/window/ipc-protocol.d.ts +0 -0
  212. package/lib/providers/window/ipc-protocol.js +0 -1
  213. package/lib/providers/window/main-process-handler.d.ts +0 -0
  214. package/lib/providers/window/main-process-handler.js +0 -1
  215. package/lib/providers/window/main-process-integration.d.ts +0 -0
  216. package/lib/providers/window/main-process-integration.js +0 -1
  217. package/lib/shared-data/whiteboard-data.d.ts +0 -70
  218. package/lib/shared-data/whiteboard-data.js +0 -342
  219. package/lib/utilities/ipc-protocol.d.ts +0 -91
  220. package/lib/utilities/ipc-protocol.js +0 -61
@@ -11,8 +11,11 @@ require("core-js/modules/es.function.name.js");
11
11
  require("core-js/modules/es.map.js");
12
12
  require("core-js/modules/es.number.constructor.js");
13
13
  require("core-js/modules/es.object.create.js");
14
+ require("core-js/modules/es.object.define-properties.js");
14
15
  require("core-js/modules/es.object.define-property.js");
15
16
  require("core-js/modules/es.object.get-own-property-descriptor.js");
17
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
18
+ require("core-js/modules/es.object.keys.js");
16
19
  require("core-js/modules/es.reflect.construct.js");
17
20
  require("core-js/modules/es.string.iterator.js");
18
21
  require("core-js/modules/esnext.function.metadata.js");
@@ -41,13 +44,16 @@ exports["default"] = exports.StoreContext = void 0;
41
44
  require("core-js/modules/es.error.cause.js");
42
45
  require("core-js/modules/es.error.to-string.js");
43
46
  require("core-js/modules/es.array.concat.js");
47
+ require("core-js/modules/es.array.filter.js");
44
48
  require("core-js/modules/es.array.for-each.js");
45
49
  require("core-js/modules/es.array.push.js");
46
50
  require("core-js/modules/es.object.to-string.js");
47
51
  require("core-js/modules/esnext.iterator.constructor.js");
52
+ require("core-js/modules/esnext.iterator.filter.js");
48
53
  require("core-js/modules/esnext.iterator.for-each.js");
49
54
  require("core-js/modules/web.dom-collections.for-each.js");
50
55
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
56
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
51
57
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
52
58
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
53
59
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
@@ -61,8 +67,11 @@ var _constant = require("../../utilities/constant");
61
67
  var _store = require("./store.base");
62
68
  var _objectManager = require("../../object-manager");
63
69
  var _mobx = require("mobx");
70
+ var _struct = require("../../providers/mouse-detect/struct");
64
71
  var _DialogStore;
65
72
  var _initProto;
73
+ 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; }
74
+ 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; }
66
75
  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)); }
67
76
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
68
77
  function _superPropGet(t, o, e, r) { var p = (0, _get2["default"])((0, _getPrototypeOf2["default"])(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; }
@@ -78,6 +87,12 @@ var DialogStore = exports["default"] = /*#__PURE__*/function (_DialogStoreBase)
78
87
  _this = _callSuper(this, DialogStore, [args]);
79
88
  (0, _defineProperty2["default"])(_this, "_windowProvider", void _initProto(_this));
80
89
  (0, _defineProperty2["default"])(_this, "_mouseOverState", false);
90
+ (0, _defineProperty2["default"])(_this, "_subWindowObserver", {
91
+ onReady: function onReady() {
92
+ // @ts-ignore
93
+ _this._subWindow.rendererWindow.FcrUIMainWindowRenderer = window.FcrUIMainWindowRenderer;
94
+ }
95
+ });
81
96
  (0, _defineProperty2["default"])(_this, "_confirmWindowObserver", {
82
97
  onReady: function onReady() {
83
98
  var _window$screen = window.screen,
@@ -99,6 +114,7 @@ var DialogStore = exports["default"] = /*#__PURE__*/function (_DialogStoreBase)
99
114
  width: availWidth,
100
115
  height: availHeight
101
116
  });
117
+ _this._mouseDetectProvider.setDetectionPositionOffset(_this._screenBounds);
102
118
  _this.disposers.push((0, _mobx.reaction)(function () {
103
119
  return _this.isConfirmListEmpty;
104
120
  }, function (isEmpty) {
@@ -113,12 +129,17 @@ var DialogStore = exports["default"] = /*#__PURE__*/function (_DialogStoreBase)
113
129
  }));
114
130
  }
115
131
  });
132
+ (0, _defineProperty2["default"])(_this, "_detactObserver", {
133
+ onMouseEnterDetectArea: _this._handleDetectAreaMouseover,
134
+ onMouseLeaveDetectArea: _this._handleDetectAreaMouseout
135
+ });
116
136
  (0, _defineProperty2["default"])(_this, "_dialogInfoObserver", {
117
137
  onDialogInfoAdded: _this._handleDialogInfoAdded
118
138
  });
119
139
  _this._windowProvider = args.objectManager.getObject(_objectManager.FcrUIObjectKeys.P_WINDOW_PROVIDER);
120
140
  _this._renderer = args.objectManager.getObject(_objectManager.FcrUIObjectKeys.RENDERER_WRAPPER);
121
- _this._sharedConfirmDataSource = args.objectManager.getObject(_objectManager.FcrUIObjectKeys.S_SHARED_CONFIRM_DATA_SOURCE);
141
+ _this._mouseDetectProvider = args.objectManager.getObject(_objectManager.FcrUIObjectKeys.P_MOUSE_DETECT_PROVIDER);
142
+ _this._mouseDetectProvider.addObserver(_this._detactObserver);
122
143
  var dialogInfoMap = _this.dialogProvider.dialogInfoMap;
123
144
  dialogInfoMap.forEach(function (_ref, key) {
124
145
  var windowConfig = _ref.windowConfig;
@@ -128,12 +149,19 @@ var DialogStore = exports["default"] = /*#__PURE__*/function (_DialogStoreBase)
128
149
  });
129
150
  _this.dialogProvider.addObserver(_this._dialogInfoObserver);
130
151
  _this._confirmWindow = _this._windowProvider.getWindowById(_constant.FcrUIDialogKey.CONFIRM, _constant.FcrUIDialogKey.CONFIRM);
152
+ _this._subWindow = _this._windowProvider.getWindowById(_constant.FcrUIDialogKey.SUB_WINDOW, _constant.FcrUIDialogKey.SUB_WINDOW);
153
+ _this._subWindow.addObserver(_this._subWindowObserver);
131
154
  _this._confirmWindow.addObserver(_this._confirmWindowObserver);
132
155
  _this.dialogProvider.openDialog(_constant.FcrUIDialogKey.CONFIRM);
133
156
  return _this;
134
157
  }
135
158
  (0, _inherits2["default"])(DialogStore, _DialogStoreBase);
136
159
  return (0, _createClass2["default"])(DialogStore, [{
160
+ key: "_detectConfirms",
161
+ get: function get() {
162
+ return this._mouseDetectProvider.getDetectAreas(_struct.FcrUIDetectAreaID.Confirm);
163
+ }
164
+ }, {
137
165
  key: "isConfirmListEmpty",
138
166
  get: function get() {
139
167
  return this.confirms.length === 0;
@@ -158,6 +186,11 @@ var DialogStore = exports["default"] = /*#__PURE__*/function (_DialogStoreBase)
158
186
  // @ts-ignore
159
187
  return window._rendererWindow;
160
188
  }
189
+ }, {
190
+ key: "getDialogWindow",
191
+ value: function getDialogWindow(dialogKey, dialogId) {
192
+ return this._windowProvider.getWindowById(dialogKey, dialogId);
193
+ }
161
194
  }, {
162
195
  key: "handleConfirmMouseover",
163
196
  value: function handleConfirmMouseover() {
@@ -187,12 +220,22 @@ var DialogStore = exports["default"] = /*#__PURE__*/function (_DialogStoreBase)
187
220
  }, {
188
221
  key: "setObserverWindow",
189
222
  value: function setObserverWindow(id, window) {
190
- this._sharedConfirmDataSource.setWindowBounds(id, window);
223
+ var currentConfirms = this._detectConfirms;
224
+ var oldConfirms = currentConfirms.filter(function (confirm) {
225
+ return confirm.id !== id;
226
+ });
227
+ this._mouseDetectProvider.setDetectArea(_struct.FcrUIDetectAreaID.Confirm, [_objectSpread({
228
+ id: id
229
+ }, window)].concat((0, _toConsumableArray2["default"])(oldConfirms)));
191
230
  }
192
231
  }, {
193
232
  key: "removeObserverWindow",
194
233
  value: function removeObserverWindow(id) {
195
- this._sharedConfirmDataSource.removeWindowBounds(id);
234
+ var currentConfirms = this._detectConfirms;
235
+ var oldConfirms = currentConfirms.filter(function (confirm) {
236
+ return confirm.id !== id;
237
+ });
238
+ this._mouseDetectProvider.setDetectArea(_struct.FcrUIDetectAreaID.Confirm, oldConfirms);
196
239
  }
197
240
  }, {
198
241
  key: "addScreenObserver",
@@ -212,7 +255,24 @@ var DialogStore = exports["default"] = /*#__PURE__*/function (_DialogStoreBase)
212
255
  value: function release() {
213
256
  _superPropGet(DialogStore, "release", this, 3)([]);
214
257
  this._confirmWindow.removeObserver(this._confirmWindowObserver);
258
+ this._subWindow.removeObserver(this._subWindowObserver);
215
259
  this.dialogProvider.removeObserver(this._dialogInfoObserver);
260
+ this._mouseDetectProvider.deleteDetectArea(_struct.FcrUIDetectAreaID.Confirm);
261
+ this._mouseDetectProvider.removeObserver(this._detactObserver);
262
+ }
263
+ }, {
264
+ key: "_handleDetectAreaMouseover",
265
+ value: function _handleDetectAreaMouseover(areaId) {
266
+ if (areaId === _struct.FcrUIDetectAreaID.Confirm) {
267
+ this.handleConfirmMouseover();
268
+ }
269
+ }
270
+ }, {
271
+ key: "_handleDetectAreaMouseout",
272
+ value: function _handleDetectAreaMouseout(areaId) {
273
+ if (areaId === _struct.FcrUIDetectAreaID.Confirm) {
274
+ this.handleConfirmMouseout();
275
+ }
216
276
  }
217
277
  }, {
218
278
  key: "_handleDialogInfoAdded",
@@ -234,6 +294,6 @@ var DialogStore = exports["default"] = /*#__PURE__*/function (_DialogStoreBase)
234
294
  }]);
235
295
  }(_store.DialogStoreBase);
236
296
  _DialogStore = DialogStore;
237
- var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_DialogStore, [[_mobx.computed, 3, "isConfirmListEmpty"], [_decorator.bound, 2, "getDialogRootNode"], [_decorator.bound, 2, "getDialogRendererWindow"], [_decorator.bound, 2, "handleConfirmMouseover"], [_decorator.bound, 2, "handleConfirmMouseout"], [_decorator.bound, 2, "handleSceneMounted"], [_decorator.bound, 2, "setObserverWindow"], [_decorator.bound, 2, "removeObserverWindow"], [_decorator.bound, 2, "addScreenObserver"], [_decorator.bound, 2, "removeScreenObserver"], [[_decorator.bound, _decorator.trace], 2, "release"], [_decorator.bound, 2, "_handleDialogInfoAdded"], [_decorator.bound, 2, "_handleScreenEvent"]], [], 0, void 0, _store.DialogStoreBase).e, 1);
297
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_DialogStore, [[_mobx.computed, 3, "isConfirmListEmpty"], [_decorator.bound, 2, "getDialogRootNode"], [_decorator.bound, 2, "getDialogRendererWindow"], [_decorator.bound, 2, "getDialogWindow"], [_decorator.bound, 2, "handleConfirmMouseover"], [_decorator.bound, 2, "handleConfirmMouseout"], [_decorator.bound, 2, "handleSceneMounted"], [_decorator.bound, 2, "setObserverWindow"], [_decorator.bound, 2, "removeObserverWindow"], [_decorator.bound, 2, "addScreenObserver"], [_decorator.bound, 2, "removeScreenObserver"], [[_decorator.bound, _decorator.trace], 2, "release"], [_decorator.bound, 2, "_handleDetectAreaMouseover"], [_decorator.bound, 2, "_handleDetectAreaMouseout"], [_decorator.bound, 2, "_handleDialogInfoAdded"], [_decorator.bound, 2, "_handleScreenEvent"]], [], 0, void 0, _store.DialogStoreBase).e, 1);
238
298
  _initProto = _applyDecs$e[0];
239
299
  var StoreContext = exports.StoreContext = /*#__PURE__*/(0, _react.createContext)(null);
@@ -96,3 +96,6 @@ export type FcrUIDialogHooksConfig = Omit<FcrUIDialogHooksProps, 'dialogKey' | '
96
96
  export type DialogStoreArgs = {
97
97
  objectManager: FcrUIObjectManager;
98
98
  };
99
+ export type FcrUIConfirmArea = FcrUI.FcrUIRectangle & {
100
+ id?: string;
101
+ };
@@ -7,7 +7,6 @@
7
7
  align-items: center;
8
8
  flex-direction: column;
9
9
  margin-top: 10%;
10
- overflow: hidden;
11
10
  }
12
11
  .toast-wrapper.toast-wrapper-web {
13
12
  position: absolute;
@@ -62,6 +62,7 @@ var EventToastUIModule = exports.EventToastUIModule = /*#__PURE__*/function (_UI
62
62
  }, {
63
63
  key: "getComponent",
64
64
  value: function getComponent(type) {
65
+ this.store.setToastType(type);
65
66
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_store.StoreContext.Provider, {
66
67
  value: this.store,
67
68
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_view.View, {
@@ -5,12 +5,14 @@ export default abstract class ToastStoreBase implements FcrUIManagedObject {
5
5
  protected logger: import("agora-foundation/lib/logger").Logger;
6
6
  protected messageProvider: FcrUIMessageProvider;
7
7
  protected messageObserver: FcrUIMessageObserver;
8
+ accessor toastType: 'global' | 'local';
8
9
  accessor toasts: Map<string, () => void>;
9
10
  get toastsList(): ToastProps[];
10
11
  abstract get toastWrapperClassName(): string;
11
12
  constructor({ objectManager }: ToastStoreArgs);
12
13
  addToast(toast: ToastProps): void;
13
14
  release(): void;
15
+ setToastType(type: 'global' | 'local'): void;
14
16
  handleSceneMounted(): void;
15
17
  handleSceneUnmounted(): void;
16
18
  private _handleToastEvent;
@@ -69,7 +69,7 @@ var _struct = require("../../providers/message/struct");
69
69
  var _chat = require("../chat");
70
70
  var _schedule = require("agora-foundation/lib/schedule");
71
71
  var _ToastStoreBase;
72
- var _initProto, _init_toasts, _addToastDecs, _handleToastEventDecs, _ref;
72
+ var _initProto, _init_toastType, _init_toasts, _addToastDecs, _handleToastEventDecs, _ref;
73
73
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
74
74
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
75
75
  function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
@@ -81,6 +81,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
81
81
  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; }
82
82
  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; }
83
83
  var _A = /*#__PURE__*/new WeakMap();
84
+ var _B = /*#__PURE__*/new WeakMap();
84
85
  _ref = (_addToastDecs = [_mobx.action, _mobx.action.bound], _handleToastEventDecs = [_mobx.action, _mobx.action.bound], "logger");
85
86
  var ToastStoreBase = exports["default"] = /*#__PURE__*/function () {
86
87
  function ToastStoreBase(_ref2) {
@@ -92,18 +93,27 @@ var ToastStoreBase = exports["default"] = /*#__PURE__*/function () {
92
93
  (0, _defineProperty2["default"])(this, "messageObserver", {
93
94
  onToastReceived: this._handleToastEvent
94
95
  });
95
- _classPrivateFieldInitSpec(this, _A, _init_toasts(this, new Map()));
96
+ _classPrivateFieldInitSpec(this, _A, _init_toastType(this, 'global'));
97
+ _classPrivateFieldInitSpec(this, _B, _init_toasts(this, new Map()));
96
98
  this.messageProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_MESSAGE_PROVIDER);
97
99
  this.messageProvider.addObserver(this.messageObserver);
98
100
  }
99
101
  return (0, _createClass2["default"])(ToastStoreBase, [{
100
- key: "toasts",
102
+ key: "toastType",
101
103
  get: function get() {
102
104
  return _classPrivateFieldGet(_A, this);
103
105
  },
104
106
  set: function set(v) {
105
107
  _classPrivateFieldSet(_A, this, v);
106
108
  }
109
+ }, {
110
+ key: "toasts",
111
+ get: function get() {
112
+ return _classPrivateFieldGet(_B, this);
113
+ },
114
+ set: function set(v) {
115
+ _classPrivateFieldSet(_B, this, v);
116
+ }
107
117
  }, {
108
118
  key: "toastsList",
109
119
  get: function get() {
@@ -136,6 +146,11 @@ var ToastStoreBase = exports["default"] = /*#__PURE__*/function () {
136
146
  this.toasts.clear();
137
147
  this.messageProvider.removeObserver(this.messageObserver);
138
148
  }
149
+ }, {
150
+ key: "setToastType",
151
+ value: function setToastType(type) {
152
+ this.toastType = type;
153
+ }
139
154
  }, {
140
155
  key: "handleSceneMounted",
141
156
  value: function handleSceneMounted() {}
@@ -155,26 +170,30 @@ var ToastStoreBase = exports["default"] = /*#__PURE__*/function () {
155
170
  if (position === _struct.FcrUIToastPosition.CHAT) {
156
171
  customRootClass = _chat.CHAT_WRAPPER_CLASS;
157
172
  }
158
- var toastProps = {
159
- type: type,
160
- content: content
161
- };
162
- _toast.FcrToastApi.open({
163
- id: id,
164
- toastProps: toastProps,
165
- customRootClass: customRootClass,
166
- duration: duration
167
- });
168
- this.addToast({
169
- type: type,
170
- content: content,
171
- duration: duration
172
- });
173
+ if (this.toastType === 'local') {
174
+ var toastProps = {
175
+ type: type,
176
+ content: content
177
+ };
178
+ _toast.FcrToastApi.open({
179
+ id: id,
180
+ toastProps: toastProps,
181
+ customRootClass: customRootClass,
182
+ duration: duration
183
+ });
184
+ } else {
185
+ this.addToast({
186
+ type: type,
187
+ content: content,
188
+ duration: duration
189
+ });
190
+ }
173
191
  }
174
192
  }]);
175
193
  }();
176
194
  _ToastStoreBase = ToastStoreBase;
177
- var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_ToastStoreBase, [[_mobx.observable, 1, "toasts"], [_mobx.computed, 3, "toastsList"], [_addToastDecs, 18, "addToast"], [_handleToastEventDecs, 18, "_handleToastEvent"]], []).e, 2);
178
- _init_toasts = _applyDecs$e[0];
179
- _initProto = _applyDecs$e[1];
195
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_ToastStoreBase, [[_mobx.observable, 1, "toastType"], [_mobx.observable, 1, "toasts"], [_mobx.computed, 3, "toastsList"], [_addToastDecs, 18, "addToast"], [_handleToastEventDecs, 18, "_handleToastEvent"]], []).e, 3);
196
+ _init_toastType = _applyDecs$e[0];
197
+ _init_toasts = _applyDecs$e[1];
198
+ _initProto = _applyDecs$e[2];
180
199
  var StoreContext = exports.StoreContext = /*#__PURE__*/(0, _react.createContext)(null);
@@ -5,6 +5,7 @@ export default class ToastStore extends ToastStoreBase {
5
5
  private _objectManager;
6
6
  private _dialogProvider;
7
7
  private _windowProvider;
8
+ private _renderer;
8
9
  private _screenShareProvider;
9
10
  private _screenShareObserver;
10
11
  get toastWrapperClassName(): string;
@@ -12,4 +13,5 @@ export default class ToastStore extends ToastStoreBase {
12
13
  handleSceneMounted(): void;
13
14
  handleSceneUnmounted(): void;
14
15
  release(): void;
16
+ private _followCorrectDisplay;
15
17
  }
@@ -55,7 +55,6 @@ var _logger = require("../../utilities/logger");
55
55
  var _objectManager = require("../../object-manager");
56
56
  var _store = _interopRequireDefault(require("./store.base"));
57
57
  var _decorator = require("agora-foundation/lib/decorator");
58
- var _levelConfig = require("../dialog/level-config");
59
58
  var _ToastStore;
60
59
  var _initProto;
61
60
  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)); }
@@ -80,24 +79,22 @@ var ToastStore = exports["default"] = /*#__PURE__*/function (_ToastStoreBase) {
80
79
  (0, _defineProperty2["default"])(_this, "_screenShareProvider", null);
81
80
  (0, _defineProperty2["default"])(_this, "_screenShareObserver", {
82
81
  onScreenShareStarted: function onScreenShareStarted() {
83
- var toastWindow = _this._windowProvider.getWindowById(_constant.FcrUIDialogKey.TOAST);
84
82
  var screenShareProvider = _this._objectManager.getObject(_objectManager.FcrUIObjectKeys.P_SCREEN_SHARE_PROVIDER);
85
83
  var workarea = screenShareProvider.sharingDisplayBounds;
86
- toastWindow.setBounds(workarea);
87
- toastWindow.setAlwaysOnTop(true, 'screen-saver', _levelConfig.WindowRelativeLevel.TOAST_LEVEL);
88
- toastWindow.setIgnoreMouseEvents(true);
89
- toastWindow.show();
84
+ _this._followCorrectDisplay(workarea);
90
85
  },
91
86
  onScreenShareStopped: function onScreenShareStopped() {
92
- var toastWindow = _this._windowProvider.getWindowById(_constant.FcrUIDialogKey.TOAST);
93
- toastWindow.hide();
87
+ _this._followCorrectDisplay();
94
88
  }
95
89
  });
96
90
  _this._objectManager = objectManager;
97
91
  _this._dialogProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_DIALOG_PROVIDER);
98
92
  _this._windowProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_WINDOW_PROVIDER);
93
+ _this._renderer = objectManager.getObject(_objectManager.FcrUIObjectKeys.RENDERER_WRAPPER);
99
94
  _this._dialogProvider.openDialog(_constant.FcrUIDialogKey.TOAST);
100
- _this._windowProvider.getWindowById(_constant.FcrUIDialogKey.TOAST).hide();
95
+ var toastWindow = _this._windowProvider.getWindowById(_constant.FcrUIDialogKey.TOAST);
96
+ toastWindow.setIgnoreMouseEvents(true);
97
+ _this._followCorrectDisplay();
101
98
  return _this;
102
99
  }
103
100
  (0, _inherits2["default"])(ToastStore, _ToastStoreBase);
@@ -127,6 +124,19 @@ var ToastStore = exports["default"] = /*#__PURE__*/function (_ToastStoreBase) {
127
124
  this._dialogProvider.closeDialog(_constant.FcrUIDialogKey.TOAST);
128
125
  _superPropGet(ToastStore, "release", this, 3)([]);
129
126
  }
127
+ }, {
128
+ key: "_followCorrectDisplay",
129
+ value: function _followCorrectDisplay(workarea) {
130
+ var toastWindow = this._windowProvider.getWindowById(_constant.FcrUIDialogKey.TOAST);
131
+ if (workarea) {
132
+ toastWindow.setBounds(workarea);
133
+ } else {
134
+ var currentWindow = this._windowProvider.getCurrentWindow();
135
+ var currentWindowBounds = currentWindow.getBounds();
136
+ var display = this._renderer.getDisplayMatching(currentWindowBounds);
137
+ toastWindow.setBounds(display.bounds);
138
+ }
139
+ }
130
140
  }]);
131
141
  }(_store["default"]);
132
142
  _ToastStore = ToastStore;
@@ -122,6 +122,7 @@ var CommonVideoRenderer = exports.CommonVideoRenderer = (0, _mobxReact.observer)
122
122
  var renderBoardContent = function renderBoardContent(windowData, windowId) {
123
123
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_boardContext["default"].Provider, {
124
124
  value: {
125
+ videoWindowLayoutType: layoutType,
125
126
  showToolbar: commonProps.showToolbar
126
127
  },
127
128
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
@@ -109,7 +109,7 @@ var FcrWrapConfirmRenameForm = exports.FcrWrapConfirmRenameForm = (0, _mobxReact
109
109
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
110
110
  className: "operate-rename-dialog-content",
111
111
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(FcrConfirmRenameForm, {
112
- value: store.operatorRenameUserName,
112
+ value: store.renamingUserName,
113
113
  onChange: function onChange(value) {
114
114
  return store.newName = String(value);
115
115
  },
@@ -44,8 +44,8 @@ export declare abstract class ParticipantStoreBase {
44
44
  private _privilegeControlObserver;
45
45
  private _userObserver;
46
46
  private _whitebaordObderver;
47
- protected _operatorRenameUserId: string;
48
- protected accessor _operatorRenameUserName: string;
47
+ protected _renamingUserId: string;
48
+ protected _renamingUserName: string;
49
49
  private accessor _mainList;
50
50
  private accessor _isChecked;
51
51
  accessor _participantsWindowActive: boolean;
@@ -63,7 +63,8 @@ export declare abstract class ParticipantStoreBase {
63
63
  accessor allowUnmute: boolean;
64
64
  accessor joinWithMuteAudio: boolean;
65
65
  accessor showBecomeHostButton: boolean;
66
- get operatorRenameUserName(): string;
66
+ accessor _userCount: number;
67
+ get renamingUserName(): string;
67
68
  get audioVolumeMap(): Map<string, number>;
68
69
  get localUser(): FcrUserInfo;
69
70
  get localUserRole(): FcrUserRole;
@@ -142,6 +143,7 @@ export declare abstract class ParticipantStoreBase {
142
143
  removeWaitingRoomUser(userId: string, type: FcrUserKickedOutType): void;
143
144
  getAllowedOperations: (targetRole: FcrUserRole, isSelf: boolean) => string[];
144
145
  removePin(userId: string): void;
146
+ isHostSupportedByPlatform(userId: string): boolean;
145
147
  addPin(userId: string): void;
146
148
  private _getPinStreamIdFromUser;
147
149
  /**
@@ -235,6 +237,7 @@ export declare abstract class ParticipantStoreBase {
235
237
  private _hasVideoPublishedAndStarted;
236
238
  private _handleRemoteUsersJoined;
237
239
  private _handleUserInfoUpdated;
240
+ private _handleUserCountUpdated;
238
241
  private _handleUserPropertiesUpdated;
239
242
  handleConfirmChangeName(): Promise<void>;
240
243
  handleCancelChangeName(): void;
@@ -299,6 +302,30 @@ export declare abstract class ParticipantStoreBase {
299
302
  private _privateChat;
300
303
  private _setAsHost;
301
304
  private _setAsCoHost;
305
+ /**
306
+ * 显示设置主持人/联席主持人对话框
307
+ * @param userId 用户ID
308
+ * @param type 角色类型
309
+ */
310
+ private _showSetHostDialog;
311
+ /**
312
+ * 获取角色显示名称
313
+ * @param type 角色类型
314
+ * @returns 角色显示名称
315
+ */
316
+ private _getRoleDisplayName;
317
+ /**
318
+ * 处理设置主持人确认操作
319
+ * @param userId 用户ID
320
+ * @param type 角色类型
321
+ */
322
+ private _handleSetHostConfirmation;
323
+ /**
324
+ * 处理设置主持人时的错误
325
+ * @param error 错误对象
326
+ */
327
+ private _handleSetHostError;
328
+ private _updateRemoteUserRole;
302
329
  private _setAsAttendee;
303
330
  /**
304
331
  * 将指定用户移动到等待房间