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.
- package/lib/creator/index.js +3 -1
- package/lib/creator/provider-initializer.browser.js +13 -1
- package/lib/creator/provider-initializer.electron.js +22 -6
- package/lib/electron/bootstrap-sdk.js +39 -5
- package/lib/electron/injections.d.ts +1 -0
- package/lib/electron/injections.js +5 -1
- package/lib/electron/ipc/type.d.ts +1 -0
- package/lib/electron/ipc/type.js +1 -0
- package/lib/electron/preload.js +1 -0
- package/lib/electron/sdk-helper.d.ts +3 -0
- package/lib/electron/sdk-helper.js +53 -19
- package/lib/electron/until.d.ts +5 -1
- package/lib/electron/until.js +6 -2
- package/lib/fragments/annotation/store.js +2 -0
- package/lib/modules/action-bar/components/more/poppover-content.js +1 -1
- package/lib/modules/action-bar/components/screen-share/index.browser.js +4 -2
- package/lib/modules/action-bar/components/screen-share/index.electron.js +4 -2
- package/lib/modules/action-bar/components/screen-share/submenu.d.ts +5 -1
- package/lib/modules/action-bar/components/screen-share/submenu.js +11 -8
- package/lib/modules/audio-stream/index.js +4 -2
- package/lib/modules/chat/index.css +4 -0
- package/lib/modules/chat/view.js +2 -1
- package/lib/modules/components/control-bar/index.css +0 -2
- package/lib/modules/components/control-bar/index.d.ts +1 -0
- package/lib/modules/components/control-bar/index.js +26 -9
- package/lib/modules/components/leave-meeting/main-scene/store.d.ts +3 -0
- package/lib/modules/components/leave-meeting/main-scene/store.js +12 -0
- package/lib/modules/components/leave-meeting/store.base.d.ts +4 -3
- package/lib/modules/components/leave-meeting/store.base.js +0 -10
- package/lib/modules/components/leave-meeting/waiting-scene/store.d.ts +5 -1
- package/lib/modules/components/leave-meeting/waiting-scene/store.js +17 -3
- package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +1 -2
- package/lib/modules/components/member-window/components/video-player/components/local-video-player-with-zoom.js +4 -3
- package/lib/modules/components/member-window/components/video-player/components/zoomable-container.js +18 -32
- package/lib/modules/components/toolbar/hooks/use-resize-visible.js +14 -2
- package/lib/modules/control-bar/components/boundary-detector.d.ts +7 -5
- package/lib/modules/control-bar/components/boundary-detector.js +22 -2
- package/lib/modules/control-bar/components/cloud-recording-buttons.js +3 -0
- package/lib/modules/control-bar/hooks.js +2 -1
- package/lib/modules/control-bar/store.d.ts +1 -0
- package/lib/modules/control-bar/store.js +10 -1
- package/lib/modules/control-bar/view.js +96 -28
- package/lib/modules/dialog/components/confirm/index.js +6 -24
- package/lib/modules/dialog/components/dialog-container/index.css +7 -0
- package/lib/modules/dialog/dialogs/device-setting/index.d.ts +1 -0
- package/lib/modules/dialog/dialogs/device-setting/index.js +4 -2
- package/lib/modules/dialog/dialogs/invite/index.d.ts +1 -0
- package/lib/modules/dialog/dialogs/invite/index.js +2 -1
- package/lib/modules/dialog/dialogs/mute-all/index.d.ts +1 -0
- package/lib/modules/dialog/dialogs/mute-all/index.js +2 -1
- package/lib/modules/dialog/dialogs/participant/index.js +7 -1
- package/lib/modules/dialog/dialogs/share-screen-selection/index.js +1 -1
- package/lib/modules/dialog/dialogs/sub-window/index.js +1 -7
- package/lib/modules/dialog/dialogs/toast/index.d.ts +1 -1
- package/lib/modules/dialog/dialogs/toast/index.js +1 -1
- package/lib/modules/dialog/dialogs/video-window/index.d.ts +4 -1
- package/lib/modules/dialog/dialogs/video-window/index.js +5 -2
- package/lib/modules/dialog/dialogs/widget/index.d.ts +2 -0
- package/lib/modules/dialog/dialogs/widget/index.js +11 -3
- package/lib/modules/dialog/index.css +6 -2
- package/lib/modules/dialog/level-config.d.ts +1 -0
- package/lib/modules/dialog/level-config.js +2 -1
- package/lib/modules/dialog/store.base.d.ts +2 -0
- package/lib/modules/dialog/store.browser.d.ts +2 -0
- package/lib/modules/dialog/store.browser.js +6 -1
- package/lib/modules/dialog/store.electron.d.ts +9 -1
- package/lib/modules/dialog/store.electron.js +64 -4
- package/lib/modules/dialog/type.d.ts +3 -0
- package/lib/modules/event-toast/index.css +0 -1
- package/lib/modules/event-toast/index.js +1 -0
- package/lib/modules/event-toast/store.base.d.ts +2 -0
- package/lib/modules/event-toast/store.base.js +40 -21
- package/lib/modules/event-toast/store.electron.d.ts +2 -0
- package/lib/modules/event-toast/store.electron.js +19 -9
- package/lib/modules/layout/components/CommonVideoRenderer.js +1 -0
- package/lib/modules/participant/components/confirm-input/index.js +1 -1
- package/lib/modules/participant/store.base.d.ts +30 -3
- package/lib/modules/participant/store.base.js +249 -96
- package/lib/modules/participant/store.browser.js +4 -3
- package/lib/modules/participant/store.electron.js +5 -3
- package/lib/modules/pc-audio-connect/main-scene/store.js +1 -0
- package/lib/modules/secondary-window/store.d.ts +1 -0
- package/lib/modules/secondary-window/store.js +5 -0
- package/lib/modules/secondary-window/view.js +4 -5
- package/lib/modules/setting/audio-settings/audio-settings.js +0 -17
- package/lib/modules/setting/index.css +1 -0
- package/lib/modules/setting/index.js +1 -1
- package/lib/modules/setting/state/index.js +1 -1
- package/lib/modules/setting/store.base.d.ts +5 -2
- package/lib/modules/setting/store.base.js +66 -26
- package/lib/modules/setting/view.js +3 -0
- package/lib/modules/share-screen/components/selection/index.css +4 -0
- package/lib/modules/share-screen/store.base.js +17 -4
- package/lib/modules/share-screen/store.electron.js +4 -1
- package/lib/modules/video-window/popover-watcher.d.ts +3 -11
- package/lib/modules/video-window/popover-watcher.js +22 -32
- package/lib/modules/video-window/store.d.ts +15 -5
- package/lib/modules/video-window/store.js +109 -64
- package/lib/modules/video-window/view.js +50 -1
- package/lib/modules/whiteboard/index.d.ts +1 -1
- package/lib/modules/whiteboard/index.js +1 -1
- package/lib/modules/whiteboard/store.d.ts +3 -0
- package/lib/modules/whiteboard/store.js +11 -0
- package/lib/modules/whiteboard/view.js +10 -1
- package/lib/modules/widget/sdk.js +1 -1
- package/lib/modules/widget/store.base.d.ts +1 -0
- package/lib/modules/widget/store.browser.d.ts +1 -0
- package/lib/modules/widget/store.browser.js +60 -4
- package/lib/modules/widget/store.electron.d.ts +1 -0
- package/lib/modules/widget/store.electron.js +59 -2
- package/lib/modules/widget/type.d.ts +3 -2
- package/lib/modules/widget/view.js +9 -4
- package/lib/modules/widget/web-widget.d.ts +2 -1
- package/lib/modules/widget/web-widget.js +7 -5
- package/lib/object-manager.d.ts +2 -1
- package/lib/object-manager.js +1 -0
- package/lib/providers/board-share/provider.base.d.ts +8 -1
- package/lib/providers/board-share/provider.base.js +12 -2
- package/lib/providers/device-provider.d.ts +16 -2
- package/lib/providers/device-provider.js +48 -59
- package/lib/providers/dialog/provider.base.d.ts +1 -0
- package/lib/providers/dialog/provider.browser.d.ts +1 -0
- package/lib/providers/dialog/provider.browser.js +7 -2
- package/lib/providers/dialog/provider.electron.d.ts +4 -1
- package/lib/providers/dialog/provider.electron.js +88 -2
- package/lib/providers/dialog/type.d.ts +7 -0
- package/lib/providers/mouse-detect/provider.d.ts +4 -1
- package/lib/providers/mouse-detect/provider.js +94 -5
- package/lib/providers/mouse-detect/struct.d.ts +2 -1
- package/lib/providers/mouse-detect/struct.js +1 -0
- package/lib/providers/mouse-detect/type.d.ts +2 -0
- package/lib/providers/renderer-provider.d.ts +5 -0
- package/lib/providers/renderer-provider.js +5 -0
- package/lib/providers/room-provider/room-provider.d.ts +1 -0
- package/lib/providers/room-provider/room-provider.js +23 -13
- package/lib/providers/screen-share/provider.base.js +3 -11
- package/lib/providers/screen-share/provider.browser.js +23 -14
- package/lib/providers/screen-share/provider.electron.d.ts +1 -0
- package/lib/providers/screen-share/provider.electron.js +44 -17
- package/lib/providers/screen-share/strategy/browser.js +16 -13
- package/lib/providers/screen-share/strategy/electron.d.ts +2 -2
- package/lib/providers/screen-share/strategy/electron.js +15 -10
- package/lib/providers/screen-share/strategy/type.d.ts +6 -0
- package/lib/providers/screen-share/stream-state-sync.d.ts +3 -2
- package/lib/providers/screen-share/stream-state-sync.js +7 -4
- package/lib/providers/screen-share/struct.d.ts +9 -7
- package/lib/providers/screen-share/struct.js +11 -8
- package/lib/providers/screen-share/type.d.ts +7 -1
- package/lib/providers/widget-provider.d.ts +5 -3
- package/lib/providers/widget-provider.js +12 -18
- package/lib/providers/window/main-window.js +3 -0
- package/lib/providers/window/renderer-window.js +4 -1
- package/lib/runtime.d.ts +1 -0
- package/lib/runtime.js +2 -1
- package/lib/scenes/main-scene.js +7 -0
- package/lib/shared-context/board-context.d.ts +2 -0
- package/lib/shared-context/board-context.js +2 -0
- package/lib/shared-data/member-data.d.ts +0 -8
- package/lib/shared-data/member-data.js +26 -78
- package/lib/shared-data/widget-data.d.ts +13 -0
- package/lib/shared-data/widget-data.js +50 -0
- package/lib/translations/enUS.d.ts +0 -2
- package/lib/translations/enUS.js +4 -6
- package/lib/translations/zhCN.d.ts +0 -2
- package/lib/translations/zhCN.js +4 -6
- package/lib/type.d.ts +5 -0
- package/lib/ui-scene.d.ts +2 -4
- package/lib/ui-scene.js +27 -40
- package/lib/utilities/constant.d.ts +3 -1
- package/lib/utilities/constant.js +5 -2
- package/lib/utilities/default-config.d.ts +18 -0
- package/lib/utilities/default-config.js +19 -1
- package/lib/utilities/focus-helper.js +10 -3
- package/lib/utilities/logger.js +3 -1
- package/lib/utilities/renderer.d.ts +1 -0
- package/lib/utilities/renderer.js +7 -1
- package/package.json +5 -5
- package/public/index.html +13 -3
- package/lib/modules/action-bar/index.d.ts +0 -17
- package/lib/modules/action-bar/index.js +0 -63
- package/lib/modules/action-bar/store.base.d.ts +0 -15
- package/lib/modules/action-bar/store.base.js +0 -117
- package/lib/modules/action-bar/view.d.ts +0 -5
- package/lib/modules/action-bar/view.js +0 -112
- package/lib/modules/action-bar/waiting-scene/store.d.ts +0 -6
- package/lib/modules/action-bar/waiting-scene/store.js +0 -91
- package/lib/modules/control-bar/types.d.ts +0 -31
- package/lib/modules/control-bar/types.js +0 -6
- package/lib/modules/dialog/dialogs/pre-setting/index.css +0 -26
- package/lib/modules/dialog/dialogs/pre-setting/index.d.ts +0 -6
- package/lib/modules/dialog/dialogs/pre-setting/index.js +0 -57
- package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +0 -14
- package/lib/modules/dialog/hooks/use-popover-watcher.js +0 -112
- package/lib/modules/event-toast/store.d.ts +0 -23
- package/lib/modules/event-toast/store.js +0 -187
- package/lib/modules/setting/common/advance-link.d.ts +0 -3
- package/lib/modules/setting/common/advance-link.js +0 -27
- package/lib/modules/setting/common/index.css +0 -26
- package/lib/modules/setting/common/useNamespace.d.ts +0 -15
- package/lib/modules/setting/common/useNamespace.js +0 -66
- package/lib/modules/widget/store.d.ts +0 -17
- package/lib/modules/widget/store.js +0 -71
- package/lib/providers/board-share/provider.d.ts +0 -66
- package/lib/providers/board-share/provider.js +0 -456
- package/lib/providers/screen-share/provider.d.ts +0 -69
- package/lib/providers/screen-share/provider.js +0 -615
- package/lib/providers/whiteboard-provider.d.ts +0 -26
- package/lib/providers/whiteboard-provider.js +0 -131
- package/lib/providers/window/browser-window-proxy.d.ts +0 -0
- package/lib/providers/window/browser-window-proxy.js +0 -1
- package/lib/providers/window/ipc-protocol.d.ts +0 -0
- package/lib/providers/window/ipc-protocol.js +0 -1
- package/lib/providers/window/main-process-handler.d.ts +0 -0
- package/lib/providers/window/main-process-handler.js +0 -1
- package/lib/providers/window/main-process-integration.d.ts +0 -0
- package/lib/providers/window/main-process-integration.js +0 -1
- package/lib/shared-data/whiteboard-data.d.ts +0 -70
- package/lib/shared-data/whiteboard-data.js +0 -342
- package/lib/utilities/ipc-protocol.d.ts +0 -91
- package/lib/utilities/ipc-protocol.js +0 -61
|
@@ -3,11 +3,14 @@ import { FcrUIDialogProviderBase } from './provider.base';
|
|
|
3
3
|
import { FcrUIDialogKey } from '../../utilities/constant';
|
|
4
4
|
export declare class FcrUIElectronDialogProviderImpl extends FcrUIDialogProviderBase {
|
|
5
5
|
private _windowProvider;
|
|
6
|
-
|
|
6
|
+
private _sharingDisplayBounds;
|
|
7
|
+
private _renderer;
|
|
8
|
+
constructor({ windowProvider, renderer }: FcrUIElectronProviderConstructor);
|
|
7
9
|
openDialog(dialogKey: FcrUIDialogKey, params?: Record<string, unknown>): void;
|
|
8
10
|
openDialogWithId(dialogKey: FcrUIDialogKey, dialogId: string, params?: Record<string, unknown>): void;
|
|
9
11
|
closeDialog(dialogKey: FcrUIDialogKey): void;
|
|
10
12
|
closeDialogById(dialogId: string): void;
|
|
11
13
|
protected openWithKeyAndId(dialogKey: FcrUIDialogKey, dialogId: string, params?: Record<string, unknown>): void;
|
|
12
14
|
protected closeByKeyAndId(dialogKey: FcrUIDialogKey, dialogId: string): void;
|
|
15
|
+
setSharingDisplayBounds(bounds: FcrUI.FcrUIRectangle): void;
|
|
13
16
|
}
|
|
@@ -57,8 +57,10 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
|
|
|
57
57
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
58
58
|
var _type = require("./type");
|
|
59
59
|
var _provider = require("./provider.base");
|
|
60
|
+
var _constant = require("../../utilities/constant");
|
|
60
61
|
var _decorator = require("agora-foundation/lib/decorator");
|
|
61
62
|
var _isBoolean = _interopRequireDefault(require("lodash/isBoolean"));
|
|
63
|
+
var _imports = require("fcr-core/lib/imports");
|
|
62
64
|
var _FcrUIElectronDialogProviderImpl;
|
|
63
65
|
var _initProto;
|
|
64
66
|
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)); }
|
|
@@ -71,11 +73,14 @@ function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side
|
|
|
71
73
|
var FcrUIElectronDialogProviderImpl = exports.FcrUIElectronDialogProviderImpl = /*#__PURE__*/function (_FcrUIDialogProviderB) {
|
|
72
74
|
function FcrUIElectronDialogProviderImpl(_ref) {
|
|
73
75
|
var _this;
|
|
74
|
-
var windowProvider = _ref.windowProvider
|
|
76
|
+
var windowProvider = _ref.windowProvider,
|
|
77
|
+
renderer = _ref.renderer;
|
|
75
78
|
(0, _classCallCheck2["default"])(this, FcrUIElectronDialogProviderImpl);
|
|
76
79
|
_this = _callSuper(this, FcrUIElectronDialogProviderImpl);
|
|
77
80
|
(0, _defineProperty2["default"])(_this, "_windowProvider", void _initProto(_this));
|
|
81
|
+
(0, _defineProperty2["default"])(_this, "_sharingDisplayBounds", null);
|
|
78
82
|
_this._windowProvider = windowProvider;
|
|
83
|
+
_this._renderer = renderer;
|
|
79
84
|
return _this;
|
|
80
85
|
}
|
|
81
86
|
(0, _inherits2["default"])(FcrUIElectronDialogProviderImpl, _FcrUIDialogProviderB);
|
|
@@ -136,6 +141,82 @@ var FcrUIElectronDialogProviderImpl = exports.FcrUIElectronDialogProviderImpl =
|
|
|
136
141
|
}
|
|
137
142
|
var window = this._windowProvider.getWindowById(dialogKey, dialogId);
|
|
138
143
|
var windowObserver = {
|
|
144
|
+
onReady: function onReady() {
|
|
145
|
+
_this2.logger.info("sharing display bounds: ".concat((0, _imports.jsonstring)(_this2._sharingDisplayBounds)));
|
|
146
|
+
if ([_constant.FcrUIDialogKey.SUB_WINDOW].includes(dialogKey)) {
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
// 获取主屏幕的宽高
|
|
150
|
+
var bounds = _this2._windowProvider.getCurrentWindow().getBounds();
|
|
151
|
+
var _this2$_renderer$getD = _this2._renderer.getDisplayMatching(bounds).bounds,
|
|
152
|
+
mw = _this2$_renderer$getD.width,
|
|
153
|
+
mh = _this2$_renderer$getD.height,
|
|
154
|
+
mx = _this2$_renderer$getD.x,
|
|
155
|
+
my = _this2$_renderer$getD.y;
|
|
156
|
+
var shareScreenDialogs = [_constant.FcrUIDialogKey.SHARE_SCREEN_CONTROL_BAR, _constant.FcrUIDialogKey.VIDEO_WINDOW];
|
|
157
|
+
var fullScreenDialogs = [_constant.FcrUIDialogKey.TOAST, _constant.FcrUIDialogKey.CONFIRM];
|
|
158
|
+
var _window$getBounds = window.getBounds(),
|
|
159
|
+
ww = _window$getBounds.width,
|
|
160
|
+
wh = _window$getBounds.height;
|
|
161
|
+
if (shareScreenDialogs.includes(dialogKey)) {
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
// 分享主应用所在显示器
|
|
166
|
+
var x = mx + mw / 2 - ww / 2;
|
|
167
|
+
var y = my + mh / 2 - wh / 2;
|
|
168
|
+
if (_this2._sharingDisplayBounds) {
|
|
169
|
+
var _this2$_sharingDispla = _this2._sharingDisplayBounds,
|
|
170
|
+
sx = _this2$_sharingDispla.x,
|
|
171
|
+
sy = _this2$_sharingDispla.y,
|
|
172
|
+
sw = _this2$_sharingDispla.width,
|
|
173
|
+
sh = _this2$_sharingDispla.height;
|
|
174
|
+
if (fullScreenDialogs.includes(dialogKey)) {
|
|
175
|
+
window.setBounds(_this2._sharingDisplayBounds);
|
|
176
|
+
} else {
|
|
177
|
+
// 分享的显示器在左侧
|
|
178
|
+
if (sx < 0 && Math.abs(sx) >= sw) {
|
|
179
|
+
x = sx / 2 - ww / 2;
|
|
180
|
+
y = sh / 2 - wh / 2 + sy;
|
|
181
|
+
_this2.logger.info("sharing display in the left");
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
// 分享的显示器在右侧
|
|
185
|
+
else if (sx > 0 && Math.abs(sx) >= mw) {
|
|
186
|
+
x = sw / 2 - ww / 2 + sx;
|
|
187
|
+
y = sh / 2 - wh / 2 + sy;
|
|
188
|
+
_this2.logger.info("sharing display in the right");
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
// 分享的显示器在上面
|
|
192
|
+
else if (sy < 0 && Math.abs(sy) >= sh) {
|
|
193
|
+
x = sw / 2 - ww / 2 + sx;
|
|
194
|
+
y = sy / 2 - wh / 2;
|
|
195
|
+
_this2.logger.info("sharing display in the top");
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
// 分享的显示器在下面
|
|
199
|
+
else if (sy > 0 && Math.abs(sy) >= mh) {
|
|
200
|
+
x = sw / 2 - ww / 2 + sx;
|
|
201
|
+
y = sy + sh / 2 - wh / 2;
|
|
202
|
+
_this2.logger.info("sharing display in the bottom");
|
|
203
|
+
}
|
|
204
|
+
x = Math.floor(x);
|
|
205
|
+
y = Math.floor(y);
|
|
206
|
+
window.setBounds({
|
|
207
|
+
x: x,
|
|
208
|
+
y: y
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
} else {
|
|
212
|
+
x = Math.floor(x);
|
|
213
|
+
y = Math.floor(y);
|
|
214
|
+
window.setBounds({
|
|
215
|
+
x: x,
|
|
216
|
+
y: y
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
},
|
|
139
220
|
onClosed: function onClosed() {
|
|
140
221
|
window.removeObserver(windowObserver);
|
|
141
222
|
_this2.dialogKeyMap["delete"](dialogKey);
|
|
@@ -168,10 +249,15 @@ var FcrUIElectronDialogProviderImpl = exports.FcrUIElectronDialogProviderImpl =
|
|
|
168
249
|
window.close();
|
|
169
250
|
}
|
|
170
251
|
}
|
|
252
|
+
}, {
|
|
253
|
+
key: "setSharingDisplayBounds",
|
|
254
|
+
value: function setSharingDisplayBounds(bounds) {
|
|
255
|
+
this._sharingDisplayBounds = bounds;
|
|
256
|
+
}
|
|
171
257
|
}]);
|
|
172
258
|
}(_provider.FcrUIDialogProviderBase);
|
|
173
259
|
_FcrUIElectronDialogProviderImpl = FcrUIElectronDialogProviderImpl;
|
|
174
|
-
var _applyDecs$e = _applyDecs(_FcrUIElectronDialogProviderImpl, [[_decorator.trace, 2, "openDialog"], [_decorator.trace, 2, "openDialogWithId"], [_decorator.trace, 2, "closeDialog"], [_decorator.trace, 2, "closeDialogById"]], [], 0, void 0, _provider.FcrUIDialogProviderBase).e;
|
|
260
|
+
var _applyDecs$e = _applyDecs(_FcrUIElectronDialogProviderImpl, [[_decorator.trace, 2, "openDialog"], [_decorator.trace, 2, "openDialogWithId"], [_decorator.trace, 2, "closeDialog"], [_decorator.trace, 2, "closeDialogById"], [_decorator.trace, 2, "setSharingDisplayBounds"]], [], 0, void 0, _provider.FcrUIDialogProviderBase).e;
|
|
175
261
|
var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e, 1);
|
|
176
262
|
_initProto = _applyDecs$e2[0];
|
|
177
263
|
_applyDecs$e;
|
|
@@ -2,6 +2,7 @@ import { ConfirmContentProps } from 'agora-ui-foundation/lib/components/confirm-
|
|
|
2
2
|
import { FcrUIDialogKey } from '../../utilities/constant';
|
|
3
3
|
import { FcrUIWindowProvider } from '../window/type';
|
|
4
4
|
import { FcrUIDialogInfo } from '../../modules/dialog/type';
|
|
5
|
+
import { FcrUIRendererWrapper } from '../../utilities/renderer';
|
|
5
6
|
export type FcrUIDialogDescriptor = {
|
|
6
7
|
dialogKey: FcrUIDialogKey;
|
|
7
8
|
dialogId: string;
|
|
@@ -139,6 +140,11 @@ export interface FcrUIDialogProvider {
|
|
|
139
140
|
* @param observer - 要移除的观察者对象,类型为 FcrUIDialogObserver。
|
|
140
141
|
*/
|
|
141
142
|
removeObserver(observer: FcrUIDialogObserver): void;
|
|
143
|
+
/**
|
|
144
|
+
* 设置屏幕共享的 bounds
|
|
145
|
+
* @param bounds - 屏幕共享的 bounds
|
|
146
|
+
*/
|
|
147
|
+
setSharingDisplayBounds(bounds: FcrUI.FcrUIRectangle | null): void;
|
|
142
148
|
/**
|
|
143
149
|
* 新增弹窗拦截器
|
|
144
150
|
* @param key - 弹窗拦截器的唯一标识符
|
|
@@ -158,4 +164,5 @@ export interface FcrUIDialogProvider {
|
|
|
158
164
|
}
|
|
159
165
|
export type FcrUIElectronProviderConstructor = {
|
|
160
166
|
windowProvider: FcrUIWindowProvider;
|
|
167
|
+
renderer: FcrUIRendererWrapper;
|
|
161
168
|
};
|
|
@@ -6,12 +6,15 @@ export declare class FcrUIMouseDetectProviderImpl implements FcrUIManagedObject,
|
|
|
6
6
|
protected logger: import("agora-foundation/lib/logger").Logger;
|
|
7
7
|
private _observable;
|
|
8
8
|
private _renderer;
|
|
9
|
-
private
|
|
9
|
+
private _windowProvder;
|
|
10
|
+
private accessor _detectAreas;
|
|
10
11
|
private _isInDetectArea;
|
|
11
12
|
private _task;
|
|
12
13
|
private _detectionOffset;
|
|
13
14
|
constructor(objectManager: FcrUIObjectManager);
|
|
15
|
+
setDisplayId(displayId: number): void;
|
|
14
16
|
setDetectArea(areaId: FcrUIDetectAreaID, areaList: FcrUI.FcrUIRectangle[]): void;
|
|
17
|
+
getDetectAreas(areaId: FcrUIDetectAreaID): FcrUI.FcrUIRectangle[];
|
|
15
18
|
deleteDetectArea(areaId: FcrUIDetectAreaID): void;
|
|
16
19
|
setDetectionPositionOffset(offset: FcrUI.FcrUIPoint): void;
|
|
17
20
|
addObserver(observer: FcrUIMouseDetectObserver): void;
|
|
@@ -25,15 +25,19 @@ exports.FcrUIMouseDetectProviderImpl = void 0;
|
|
|
25
25
|
require("core-js/modules/es.array.concat.js");
|
|
26
26
|
require("core-js/modules/es.array.find.js");
|
|
27
27
|
require("core-js/modules/es.array.for-each.js");
|
|
28
|
+
require("core-js/modules/es.array.from.js");
|
|
28
29
|
require("core-js/modules/es.array.iterator.js");
|
|
30
|
+
require("core-js/modules/es.array.map.js");
|
|
29
31
|
require("core-js/modules/es.array.some.js");
|
|
30
32
|
require("core-js/modules/es.map.js");
|
|
31
33
|
require("core-js/modules/es.object.to-string.js");
|
|
32
34
|
require("core-js/modules/es.set.js");
|
|
33
35
|
require("core-js/modules/es.string.iterator.js");
|
|
36
|
+
require("core-js/modules/es.weak-map.js");
|
|
34
37
|
require("core-js/modules/esnext.iterator.constructor.js");
|
|
35
38
|
require("core-js/modules/esnext.iterator.find.js");
|
|
36
39
|
require("core-js/modules/esnext.iterator.for-each.js");
|
|
40
|
+
require("core-js/modules/esnext.iterator.map.js");
|
|
37
41
|
require("core-js/modules/esnext.iterator.some.js");
|
|
38
42
|
require("core-js/modules/esnext.map.delete-all.js");
|
|
39
43
|
require("core-js/modules/esnext.map.emplace.js");
|
|
@@ -72,6 +76,8 @@ require("core-js/modules/esnext.set.symmetric-difference.v2.js");
|
|
|
72
76
|
require("core-js/modules/esnext.set.symmetric-difference.js");
|
|
73
77
|
require("core-js/modules/esnext.set.union.v2.js");
|
|
74
78
|
require("core-js/modules/esnext.set.union.js");
|
|
79
|
+
require("core-js/modules/esnext.weak-map.delete-all.js");
|
|
80
|
+
require("core-js/modules/esnext.weak-map.emplace.js");
|
|
75
81
|
require("core-js/modules/web.dom-collections.for-each.js");
|
|
76
82
|
require("core-js/modules/web.dom-collections.iterator.js");
|
|
77
83
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
@@ -85,13 +91,25 @@ var _observable = require("agora-foundation/lib/utilities/observable");
|
|
|
85
91
|
var _schedule = require("agora-foundation/lib/schedule");
|
|
86
92
|
var _decorator = require("agora-foundation/lib/decorator");
|
|
87
93
|
var _misc = require("agora-foundation/lib/utilities/misc");
|
|
94
|
+
var _constant = require("../../utilities/constant");
|
|
95
|
+
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
96
|
+
var _mobxReact = require("mobx-react");
|
|
97
|
+
var _mobx = require("mobx");
|
|
98
|
+
var _levelConfig = require("../../modules/dialog/level-config");
|
|
99
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
88
100
|
var _FcrUIMouseDetectProviderImpl;
|
|
89
|
-
var _initProto;
|
|
101
|
+
var _initProto, _init__detectAreas;
|
|
102
|
+
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
|
103
|
+
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
|
104
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
|
105
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
|
106
|
+
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"); }
|
|
90
107
|
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)]; } }; }
|
|
91
108
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
92
109
|
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); }
|
|
93
110
|
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; }
|
|
94
111
|
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; }
|
|
112
|
+
var _A = /*#__PURE__*/new WeakMap();
|
|
95
113
|
var FcrUIMouseDetectProviderImpl = exports.FcrUIMouseDetectProviderImpl = /*#__PURE__*/function () {
|
|
96
114
|
function FcrUIMouseDetectProviderImpl(objectManager) {
|
|
97
115
|
var _this = this;
|
|
@@ -100,7 +118,7 @@ var FcrUIMouseDetectProviderImpl = exports.FcrUIMouseDetectProviderImpl = /*#__P
|
|
|
100
118
|
prefix: 'FcrUIMouseDetectProviderImpl'
|
|
101
119
|
})));
|
|
102
120
|
(0, _defineProperty2["default"])(this, "_observable", new _observable.AgoraObservable());
|
|
103
|
-
(
|
|
121
|
+
_classPrivateFieldInitSpec(this, _A, _init__detectAreas(this, new Map()));
|
|
104
122
|
(0, _defineProperty2["default"])(this, "_isInDetectArea", new Set());
|
|
105
123
|
(0, _defineProperty2["default"])(this, "_detectionOffset", {
|
|
106
124
|
x: 0,
|
|
@@ -108,6 +126,7 @@ var FcrUIMouseDetectProviderImpl = exports.FcrUIMouseDetectProviderImpl = /*#__P
|
|
|
108
126
|
});
|
|
109
127
|
this.objectManager = objectManager;
|
|
110
128
|
this._renderer = objectManager.getObject(_objectManager.FcrUIObjectKeys.RENDERER_WRAPPER);
|
|
129
|
+
this._windowProvder = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_WINDOW_PROVIDER);
|
|
111
130
|
this.addObserver((0, _logger.generateLogObserver)(this.logger, ['onMouseEnterDetectArea', 'onMouseLeaveDetectArea']));
|
|
112
131
|
this._task = _schedule.AgoraScheduler.shared.addPollingTask(function () {
|
|
113
132
|
_this._detect();
|
|
@@ -115,8 +134,72 @@ var FcrUIMouseDetectProviderImpl = exports.FcrUIMouseDetectProviderImpl = /*#__P
|
|
|
115
134
|
if ((0, _platform.isMac)()) {
|
|
116
135
|
this._task.stop();
|
|
117
136
|
}
|
|
137
|
+
|
|
138
|
+
// 调试时使用,用于查看检测区域
|
|
139
|
+
var debug = false;
|
|
140
|
+
if (debug) {
|
|
141
|
+
this._windowProvder.setWindowOptions(_constant.FcrUIDialogKey.MOUSE_DETECT_DEBUG, {
|
|
142
|
+
frame: false,
|
|
143
|
+
transparent: true,
|
|
144
|
+
backgroundColor: '#00000000',
|
|
145
|
+
title: 'MouseDetectDebugger'
|
|
146
|
+
});
|
|
147
|
+
var window = this._windowProvder.getWindowById(_constant.FcrUIDialogKey.MOUSE_DETECT_DEBUG);
|
|
148
|
+
window.show();
|
|
149
|
+
window.setIgnoreMouseEvents(true);
|
|
150
|
+
this.logger.info('windows_index setAlwaysOnTop in mouse-detect-provider');
|
|
151
|
+
window.setAlwaysOnTop(true, 'screen-saver', _levelConfig.WindowRelativeLevel.MOUSE_DETECT_DEBUGGER_LEVEL);
|
|
152
|
+
window.addObserver({
|
|
153
|
+
onReady: function onReady() {
|
|
154
|
+
var AreaDebugger = (0, _mobxReact.observer)(function () {
|
|
155
|
+
var content = Array.from(_this._detectAreas.keys()).map(function (areaId) {
|
|
156
|
+
var list = _this._detectAreas.get(areaId);
|
|
157
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
158
|
+
"data-area-id": areaId,
|
|
159
|
+
children: list.map(function (item, index) {
|
|
160
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
161
|
+
style: {
|
|
162
|
+
width: item.width,
|
|
163
|
+
height: item.height,
|
|
164
|
+
position: 'absolute',
|
|
165
|
+
top: item.y,
|
|
166
|
+
left: item.x,
|
|
167
|
+
backgroundColor: 'rgba(10,10,10,0.5)'
|
|
168
|
+
}
|
|
169
|
+
}, index);
|
|
170
|
+
})
|
|
171
|
+
}, areaId);
|
|
172
|
+
});
|
|
173
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
174
|
+
className: "fcr-ui-mouse-detect-debugger",
|
|
175
|
+
children: content
|
|
176
|
+
});
|
|
177
|
+
});
|
|
178
|
+
_reactDom["default"].render(/*#__PURE__*/(0, _jsxRuntime.jsx)(AreaDebugger, {}), window.getRootNode());
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
}
|
|
118
182
|
}
|
|
119
183
|
return (0, _createClass2["default"])(FcrUIMouseDetectProviderImpl, [{
|
|
184
|
+
key: "_detectAreas",
|
|
185
|
+
get: function get() {
|
|
186
|
+
return _classPrivateFieldGet(_A, this);
|
|
187
|
+
},
|
|
188
|
+
set: function set(v) {
|
|
189
|
+
_classPrivateFieldSet(_A, this, v);
|
|
190
|
+
}
|
|
191
|
+
}, {
|
|
192
|
+
key: "setDisplayId",
|
|
193
|
+
value: function setDisplayId(displayId) {
|
|
194
|
+
var display = this._renderer.getAllDisplays().find(function (d) {
|
|
195
|
+
return d.id === displayId;
|
|
196
|
+
});
|
|
197
|
+
if (display) {
|
|
198
|
+
var window = this._windowProvder.getWindowById(_constant.FcrUIDialogKey.MOUSE_DETECT_DEBUG);
|
|
199
|
+
window.setBounds(display.bounds);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}, {
|
|
120
203
|
key: "setDetectArea",
|
|
121
204
|
value: function setDetectArea(areaId, areaList) {
|
|
122
205
|
var oldList = this._detectAreas.get(areaId);
|
|
@@ -134,6 +217,11 @@ var FcrUIMouseDetectProviderImpl = exports.FcrUIMouseDetectProviderImpl = /*#__P
|
|
|
134
217
|
this._detect();
|
|
135
218
|
}
|
|
136
219
|
}
|
|
220
|
+
}, {
|
|
221
|
+
key: "getDetectAreas",
|
|
222
|
+
value: function getDetectAreas(areaId) {
|
|
223
|
+
return this._detectAreas.get(areaId) || [];
|
|
224
|
+
}
|
|
137
225
|
}, {
|
|
138
226
|
key: "deleteDetectArea",
|
|
139
227
|
value: function deleteDetectArea(areaId) {
|
|
@@ -199,7 +287,8 @@ var FcrUIMouseDetectProviderImpl = exports.FcrUIMouseDetectProviderImpl = /*#__P
|
|
|
199
287
|
}]);
|
|
200
288
|
}();
|
|
201
289
|
_FcrUIMouseDetectProviderImpl = FcrUIMouseDetectProviderImpl;
|
|
202
|
-
var _applyDecs$e = _applyDecs(_FcrUIMouseDetectProviderImpl, [[_decorator.trace, 2, "setDetectArea"], [_decorator.trace, 2, "deleteDetectArea"], [_decorator.trace, 2, "setDetectionPositionOffset"]], []).e;
|
|
203
|
-
var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e,
|
|
204
|
-
|
|
290
|
+
var _applyDecs$e = _applyDecs(_FcrUIMouseDetectProviderImpl, [[_mobx.observable, 1, "_detectAreas"], [_decorator.trace, 2, "setDisplayId"], [[_decorator.trace, _mobx.action], 2, "setDetectArea"], [_decorator.trace, 2, "getDetectAreas"], [[_decorator.trace, _mobx.action], 2, "deleteDetectArea"], [_decorator.trace, 2, "setDetectionPositionOffset"]], []).e;
|
|
291
|
+
var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e, 2);
|
|
292
|
+
_init__detectAreas = _applyDecs$e2[0];
|
|
293
|
+
_initProto = _applyDecs$e2[1];
|
|
205
294
|
_applyDecs$e;
|
|
@@ -7,5 +7,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.FcrUIDetectAreaID = void 0;
|
|
8
8
|
var FcrUIDetectAreaID = exports.FcrUIDetectAreaID = /*#__PURE__*/function (FcrUIDetectAreaID) {
|
|
9
9
|
FcrUIDetectAreaID["ControlBar"] = "ControlBar";
|
|
10
|
+
FcrUIDetectAreaID["Confirm"] = "Confirm";
|
|
10
11
|
return FcrUIDetectAreaID;
|
|
11
12
|
}({});
|
|
@@ -4,8 +4,10 @@ export interface FcrUIMouseDetectObserver {
|
|
|
4
4
|
onMouseLeaveDetectArea?: (areaId: FcrUIDetectAreaID) => void;
|
|
5
5
|
}
|
|
6
6
|
export interface FcrUIMouseDetectProvider {
|
|
7
|
+
setDisplayId(displayId: number): void;
|
|
7
8
|
setDetectionPositionOffset(offset: FcrUI.FcrUIPoint): void;
|
|
8
9
|
setDetectArea(areaId: FcrUIDetectAreaID, areaList: FcrUI.FcrUIRectangle[]): void;
|
|
10
|
+
getDetectAreas(areaId: FcrUIDetectAreaID): FcrUI.FcrUIRectangle[];
|
|
9
11
|
deleteDetectArea(areaId: FcrUIDetectAreaID): void;
|
|
10
12
|
addObserver(observer: FcrUIMouseDetectObserver): void;
|
|
11
13
|
removeObserver(observer: FcrUIMouseDetectObserver): void;
|
|
@@ -35,6 +35,10 @@ export interface FcrUILocalVideoRenderProvider {
|
|
|
35
35
|
* 摄像头是否已开启
|
|
36
36
|
*/
|
|
37
37
|
get cameraEnabled(): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* 是否将自己的视频在本地镜像显示
|
|
40
|
+
*/
|
|
41
|
+
get isLocalMirrorEnabled(): boolean;
|
|
38
42
|
/**
|
|
39
43
|
* 开始预览摄像头
|
|
40
44
|
* @param el
|
|
@@ -80,6 +84,7 @@ declare abstract class FcrUILocalVideoRenderProviderBase implements FcrUILocalVi
|
|
|
80
84
|
constructor(_deviceProvider: FcrUIDeviceProvider);
|
|
81
85
|
get cameraEnabled(): boolean;
|
|
82
86
|
get cameraId(): string;
|
|
87
|
+
get isLocalMirrorEnabled(): boolean;
|
|
83
88
|
startCameraPreview(el: HTMLElement, config: FcrRenderConfig): void;
|
|
84
89
|
stopCameraPreview(el: HTMLElement): void;
|
|
85
90
|
release(): void;
|
|
@@ -194,6 +194,11 @@ var FcrUILocalVideoRenderProviderBase = /*#__PURE__*/function () {
|
|
|
194
194
|
get: function get() {
|
|
195
195
|
return this._deviceProvider.cameraId;
|
|
196
196
|
}
|
|
197
|
+
}, {
|
|
198
|
+
key: "isLocalMirrorEnabled",
|
|
199
|
+
get: function get() {
|
|
200
|
+
return this._deviceProvider.isLocalMirrorEnabled;
|
|
201
|
+
}
|
|
197
202
|
}, {
|
|
198
203
|
key: "startCameraPreview",
|
|
199
204
|
value: function startCameraPreview(el, config) {
|
|
@@ -141,6 +141,7 @@ export declare class FcrUIMainRoomControlProviderImpl implements FcrUIMainRoomCo
|
|
|
141
141
|
get privilegeProvider(): FcrUIPrivilegeProviderImpl;
|
|
142
142
|
private get _localUser();
|
|
143
143
|
release(): void;
|
|
144
|
+
private _initUserMap;
|
|
144
145
|
private _handleSecurityUpdated;
|
|
145
146
|
private _handleUserRoleChangeToast;
|
|
146
147
|
}
|
|
@@ -81,7 +81,7 @@ var _waitingRoomControlManager = _interopRequireDefault(require("./waiting-room-
|
|
|
81
81
|
var _constant = require("../../utilities/constant");
|
|
82
82
|
var _privilegeProvider = require("../privilege-provider");
|
|
83
83
|
var _FcrUIRoomProviderImpl, _FcrUIMainRoomControlProviderImpl;
|
|
84
|
-
var _initProto, _init_liveStreamingState, _init_liveStreamingConfig, _init_cloudRecordingState, _initBaseRoomStateDecs, _ref, _initProto2, _init_privilegeOperator, _init_boardOwnerUser, _handleSecurityUpdatedDecs, _ref2;
|
|
84
|
+
var _initProto, _init_liveStreamingState, _init_liveStreamingConfig, _init_cloudRecordingState, _initBaseRoomStateDecs, _ref, _initProto2, _init_privilegeOperator, _init_boardOwnerUser, _initUserMapDecs, _handleSecurityUpdatedDecs, _ref2;
|
|
85
85
|
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; }
|
|
86
86
|
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; }
|
|
87
87
|
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
|
@@ -371,7 +371,7 @@ var FcrUIConnectionProviderImpl = exports.FcrUIConnectionProviderImpl = /*#__PUR
|
|
|
371
371
|
}();
|
|
372
372
|
var _A2 = /*#__PURE__*/new WeakMap();
|
|
373
373
|
var _B2 = /*#__PURE__*/new WeakMap();
|
|
374
|
-
_ref2 = (_handleSecurityUpdatedDecs = [_mobx.action, _mobx.action.bound], "_privilegeProvider");
|
|
374
|
+
_ref2 = (_initUserMapDecs = [_mobx.action, _mobx.action.bound], _handleSecurityUpdatedDecs = [_mobx.action, _mobx.action.bound], "_privilegeProvider");
|
|
375
375
|
var FcrUIMainRoomControlProviderImpl = exports.FcrUIMainRoomControlProviderImpl = /*#__PURE__*/function () {
|
|
376
376
|
function FcrUIMainRoomControlProviderImpl(_mainRoomControl, eventProvider, messageProvider, dialogProvider, _sharedInterpreterDataSource) {
|
|
377
377
|
var _this2 = this;
|
|
@@ -388,6 +388,7 @@ var FcrUIMainRoomControlProviderImpl = exports.FcrUIMainRoomControlProviderImpl
|
|
|
388
388
|
this._privilegeControl = _mainRoomControl.getPrivilegeControl();
|
|
389
389
|
this._userControl = _mainRoomControl.getUserControl();
|
|
390
390
|
this._privilegeProvider = new _privilegeProvider.FcrUIPrivilegeProviderImpl(_mainRoomControl.getPrivilegeControl(), _mainRoomControl.getUserControl(), _mainRoomControl.getStreamControl(), eventProvider);
|
|
391
|
+
this._initUserMap();
|
|
391
392
|
this._privilegeObserver = {
|
|
392
393
|
onSecurityInfoUpdated: this._handleSecurityUpdated.bind(this)
|
|
393
394
|
};
|
|
@@ -404,8 +405,8 @@ var FcrUIMainRoomControlProviderImpl = exports.FcrUIMainRoomControlProviderImpl
|
|
|
404
405
|
},
|
|
405
406
|
onUserInfoUpdated: function onUserInfoUpdated(roomId, event) {
|
|
406
407
|
if (event.reason === _type3.FcrUserUpdatedReason.ROLE) {
|
|
407
|
-
_this2._userMap.set(event.modifiedUser.userId, event.modifiedUser);
|
|
408
408
|
_this2._handleUserRoleChangeToast(event.modifiedUser);
|
|
409
|
+
_this2._userMap.set(event.modifiedUser.userId, event.modifiedUser);
|
|
409
410
|
}
|
|
410
411
|
}
|
|
411
412
|
};
|
|
@@ -466,6 +467,15 @@ var FcrUIMainRoomControlProviderImpl = exports.FcrUIMainRoomControlProviderImpl
|
|
|
466
467
|
this._userControl.removeObserver(this._userObserver);
|
|
467
468
|
this._privilegeProvider.release();
|
|
468
469
|
}
|
|
470
|
+
}, {
|
|
471
|
+
key: "_initUserMap",
|
|
472
|
+
value: function _initUserMap() {
|
|
473
|
+
var _this3 = this;
|
|
474
|
+
var userList = this._userControl.getUserList();
|
|
475
|
+
userList.forEach(function (user) {
|
|
476
|
+
_this3._userMap.set(user.userId, user);
|
|
477
|
+
});
|
|
478
|
+
}
|
|
469
479
|
}, {
|
|
470
480
|
key: "_handleSecurityUpdated",
|
|
471
481
|
value: function _handleSecurityUpdated(roomId, event) {
|
|
@@ -478,7 +488,7 @@ var FcrUIMainRoomControlProviderImpl = exports.FcrUIMainRoomControlProviderImpl
|
|
|
478
488
|
_securityInfo$info4,
|
|
479
489
|
_securityInfo$info5,
|
|
480
490
|
_securityInfo$info6,
|
|
481
|
-
|
|
491
|
+
_this4 = this,
|
|
482
492
|
_event$securityInfo$i,
|
|
483
493
|
_event$securityInfo$i2;
|
|
484
494
|
this.privilegeOperator = event.operatorUser;
|
|
@@ -552,10 +562,10 @@ var FcrUIMainRoomControlProviderImpl = exports.FcrUIMainRoomControlProviderImpl
|
|
|
552
562
|
okText: (0, _i18n.transI18n)('fmt_screenshare_whiteboard_button_gotit'),
|
|
553
563
|
showCancel: false,
|
|
554
564
|
onOk: function onOk() {
|
|
555
|
-
|
|
565
|
+
_this4._dialogProvider.closeDialogById(dialogId);
|
|
556
566
|
},
|
|
557
567
|
onCancel: function onCancel() {
|
|
558
|
-
|
|
568
|
+
_this4._dialogProvider.closeDialogById(dialogId);
|
|
559
569
|
},
|
|
560
570
|
height: 160
|
|
561
571
|
});
|
|
@@ -677,25 +687,25 @@ var FcrUIMainRoomControlProviderImpl = exports.FcrUIMainRoomControlProviderImpl
|
|
|
677
687
|
}]);
|
|
678
688
|
}();
|
|
679
689
|
_FcrUIMainRoomControlProviderImpl = FcrUIMainRoomControlProviderImpl;
|
|
680
|
-
var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIMainRoomControlProviderImpl, [[_mobx.observable, 1, "privilegeOperator"], [_mobx.observable, 1, "boardOwnerUser"], [_handleSecurityUpdatedDecs, 18, "_handleSecurityUpdated"]], []).e, 3);
|
|
690
|
+
var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIMainRoomControlProviderImpl, [[_mobx.observable, 1, "privilegeOperator"], [_mobx.observable, 1, "boardOwnerUser"], [_initUserMapDecs, 18, "_initUserMap"], [_handleSecurityUpdatedDecs, 18, "_handleSecurityUpdated"]], []).e, 3);
|
|
681
691
|
_init_privilegeOperator = _applyDecs$e2[0];
|
|
682
692
|
_init_boardOwnerUser = _applyDecs$e2[1];
|
|
683
693
|
_initProto2 = _applyDecs$e2[2];
|
|
684
694
|
var FcrUIWaitingRoomControlProviderImpl = exports.FcrUIWaitingRoomControlProviderImpl = /*#__PURE__*/function () {
|
|
685
695
|
function FcrUIWaitingRoomControlProviderImpl(roomProvider, eventProvider) {
|
|
686
|
-
var
|
|
696
|
+
var _this5 = this;
|
|
687
697
|
(0, _classCallCheck2["default"])(this, FcrUIWaitingRoomControlProviderImpl);
|
|
688
698
|
this._roomProvider = roomProvider;
|
|
689
699
|
this._eventProvider = eventProvider;
|
|
690
700
|
this._roomObserver = {
|
|
691
701
|
onJoinWaitingRoom: function onJoinWaitingRoom(roomControl) {
|
|
692
|
-
|
|
702
|
+
_this5._setWaitingRoomControl(roomControl);
|
|
693
703
|
},
|
|
694
704
|
onLeaveWaitingRoom: function onLeaveWaitingRoom() {
|
|
695
|
-
var
|
|
696
|
-
(
|
|
697
|
-
|
|
698
|
-
|
|
705
|
+
var _this5$_privilegeProv;
|
|
706
|
+
(_this5$_privilegeProv = _this5._privilegeProvider) === null || _this5$_privilegeProv === void 0 || _this5$_privilegeProv.release();
|
|
707
|
+
_this5._privilegeProvider = undefined;
|
|
708
|
+
_this5._waitingRoomControl = undefined;
|
|
699
709
|
}
|
|
700
710
|
};
|
|
701
711
|
roomProvider.addObserver(this._roomObserver);
|
|
@@ -66,7 +66,6 @@ var _struct = require("./struct");
|
|
|
66
66
|
var _observable = require("agora-foundation/lib/utilities/observable");
|
|
67
67
|
var _decorator = require("agora-foundation/lib/decorator");
|
|
68
68
|
var _mobx = require("mobx");
|
|
69
|
-
var _type2 = require("agora-rte-sdk/lib/core/rtc/type");
|
|
70
69
|
var _get = _interopRequireDefault(require("lodash/get"));
|
|
71
70
|
var _FcrUIScreenShareProviderBase;
|
|
72
71
|
var _initProto, _init__isLocalUserScreenSharing, _init__isRemoteUserScreenSharing, _init__isSharingWithAudio, _init__isSharingInSmoothMode, _init__isSharingInStereoAudioMode, _init__shareStreamId, _init__sharingUser, _enableScreenShareAudioDecs, _disableScreenShareAudioDecs, _enableSmoothModeDecs, _disableSmoothModeDecs, _enableStereoAudioModeDecs, _disableStereoAudioModeDecs, _findSharingUserDecs, _handleStreamUpdatedDecs, _ref;
|
|
@@ -183,7 +182,7 @@ var FcrUIScreenShareProviderBase = exports.FcrUIScreenShareProviderBase = /*#__P
|
|
|
183
182
|
_this.observable.notifyObservers('onScreenShareStarted', _this.strategy.getScreenTrack());
|
|
184
183
|
}
|
|
185
184
|
});
|
|
186
|
-
this.addObserver((0, _logger.generateLogObserver)(this.logger, ['onScreenShareErrorOccurred', 'onScreenShareStarted', 'onScreenShareStopped', 'onShareSourceReplaced', 'onPrepreScreenCapture']));
|
|
185
|
+
this.addObserver((0, _logger.generateLogObserver)(this.logger, ['onScreenShareErrorOccurred', 'onAudioShareErrorOccurred', 'onScreenShareStarted', 'onScreenShareStopped', 'onShareSourceReplaced', 'onPrepreScreenCapture']));
|
|
187
186
|
}
|
|
188
187
|
return (0, _createClass2["default"])(FcrUIScreenShareProviderBase, [{
|
|
189
188
|
key: "_isLocalUserScreenSharing",
|
|
@@ -328,12 +327,6 @@ var FcrUIScreenShareProviderBase = exports.FcrUIScreenShareProviderBase = /*#__P
|
|
|
328
327
|
_context.next = 1;
|
|
329
328
|
break;
|
|
330
329
|
}
|
|
331
|
-
// this.observable.notifyObservers(
|
|
332
|
-
// 'onScreenShareErrorOccurred',
|
|
333
|
-
// FcrUIScreenShareErrorCode.CANNOT_START_LOOPBACK_CAPTURE,
|
|
334
|
-
// );
|
|
335
|
-
|
|
336
|
-
// throw new Error('cannot start screen share audio: no screen stream created');
|
|
337
330
|
this.logger.info('local screen stream not yet created, skip updating stream for audio');
|
|
338
331
|
return _context.abrupt("return");
|
|
339
332
|
case 1:
|
|
@@ -352,7 +345,7 @@ var FcrUIScreenShareProviderBase = exports.FcrUIScreenShareProviderBase = /*#__P
|
|
|
352
345
|
_context.prev = 4;
|
|
353
346
|
_t = _context["catch"](1);
|
|
354
347
|
this.logger.warn('failed to start screen share audio', _t);
|
|
355
|
-
this.observable.notifyObservers('
|
|
348
|
+
this.observable.notifyObservers('onAudioShareErrorOccurred', _struct.FcrUIAudioShareErrorCode.CANNOT_UPDATE_STREAM);
|
|
356
349
|
throw new Error("cannot start screen share audio, error: ".concat(_t));
|
|
357
350
|
case 5:
|
|
358
351
|
case "end":
|
|
@@ -394,6 +387,7 @@ var FcrUIScreenShareProviderBase = exports.FcrUIScreenShareProviderBase = /*#__P
|
|
|
394
387
|
_context2.prev = 4;
|
|
395
388
|
_t2 = _context2["catch"](1);
|
|
396
389
|
this.logger.warn('failed to update stream when stopping share audio', _t2);
|
|
390
|
+
throw new Error("cannot update screen stream, error: ".concat(_t2));
|
|
397
391
|
case 5:
|
|
398
392
|
case "end":
|
|
399
393
|
return _context2.stop();
|
|
@@ -409,13 +403,11 @@ var FcrUIScreenShareProviderBase = exports.FcrUIScreenShareProviderBase = /*#__P
|
|
|
409
403
|
key: "enableSmoothMode",
|
|
410
404
|
value: function enableSmoothMode() {
|
|
411
405
|
this._isSharingInSmoothMode = true;
|
|
412
|
-
this._streamControl.setScreenScenario(_type2.AgoraRtcScreenScenarioType.SMOOTH);
|
|
413
406
|
}
|
|
414
407
|
}, {
|
|
415
408
|
key: "disableSmoothMode",
|
|
416
409
|
value: function disableSmoothMode() {
|
|
417
410
|
this._isSharingInSmoothMode = false;
|
|
418
|
-
this._streamControl.setScreenScenario(_type2.AgoraRtcScreenScenarioType.CLEARITY);
|
|
419
411
|
}
|
|
420
412
|
}, {
|
|
421
413
|
key: "enableStereoAudioMode",
|