fcr-ui-scene 3.7.3 → 3.7.4

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 (111) hide show
  1. package/lib/creator.d.ts +2 -0
  2. package/lib/creator.js +14 -0
  3. package/lib/fragments/annotation/libs.d.ts +7 -6
  4. package/lib/fragments/annotation/libs.js +9 -8
  5. package/lib/fragments/whiteboard/store.js +13 -8
  6. package/lib/global.css +6 -0
  7. package/lib/modules/action-bar/components/screen-share/submenu.js +2 -2
  8. package/lib/modules/action-bar/index.d.ts +2 -0
  9. package/lib/modules/action-bar/index.js +2 -1
  10. package/lib/modules/action-bar/store.d.ts +6 -2
  11. package/lib/modules/action-bar/store.js +56 -93
  12. package/lib/modules/annotation/annotation-toolbar-store.js +2 -2
  13. package/lib/modules/annotation/store.js +12 -14
  14. package/lib/modules/audio-stream/index.js +1 -2
  15. package/lib/modules/chat/components/chat-select/index.js +3 -0
  16. package/lib/modules/components/device-control/store.js +2 -2
  17. package/lib/modules/components/leave-meeting/index.js +4 -1
  18. package/lib/modules/components/member-window/components/video-player/components/local-video-player-with-zoom.d.ts +6 -4
  19. package/lib/modules/components/member-window/components/video-player/components/local-video-player-with-zoom.js +77 -41
  20. package/lib/modules/components/member-window/components/video-player/components/remote-video-player-with-zoom.d.ts +3 -3
  21. package/lib/modules/components/member-window/components/video-player/index.d.ts +3 -3
  22. package/lib/modules/components/member-window/types.d.ts +3 -3
  23. package/lib/modules/control-bar/store.d.ts +10 -8
  24. package/lib/modules/control-bar/store.js +47 -15
  25. package/lib/modules/control-bar/view.js +27 -13
  26. package/lib/modules/device-pretest/store.js +4 -2
  27. package/lib/modules/dialog/components/dialog-container/component/body.js +3 -24
  28. package/lib/modules/dialog/components/dialog-container/index.d.ts +4 -0
  29. package/lib/modules/dialog/components/dialog-container/index.js +67 -44
  30. package/lib/modules/dialog/components/normal-window/index.js +4 -0
  31. package/lib/modules/dialog/dialogs/control-bar/index.js +9 -32
  32. package/lib/modules/dialog/dialogs/sub-window/index.js +4 -0
  33. package/lib/modules/dialog/dialogs/video-window/index.js +28 -23
  34. package/lib/modules/dialog/hooks/useElectron.js +4 -1
  35. package/lib/modules/dialog/level-config.js +1 -1
  36. package/lib/modules/dialog/store.d.ts +4 -3
  37. package/lib/modules/dialog/store.js +14 -10
  38. package/lib/modules/event-confirm/components/window/index.d.ts +5 -2
  39. package/lib/modules/event-confirm/components/window/index.js +38 -14
  40. package/lib/modules/event-confirm/index.css +0 -2
  41. package/lib/modules/event-confirm/store.d.ts +10 -5
  42. package/lib/modules/event-confirm/store.js +62 -13
  43. package/lib/modules/event-confirm/view.js +9 -7
  44. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/index.js +1 -2
  45. package/lib/modules/interpreter/store.js +11 -13
  46. package/lib/modules/layout/components/CommonVideoRenderer.js +5 -5
  47. package/lib/modules/layout/store.js +8 -22
  48. package/lib/modules/participant/member-list-data-source.js +3 -5
  49. package/lib/modules/participant/store.js +43 -43
  50. package/lib/modules/secondary-window/index.d.ts +2 -1
  51. package/lib/modules/secondary-window/index.js +5 -0
  52. package/lib/modules/secondary-window/type.d.ts +13 -9
  53. package/lib/modules/secondary-window/view.js +12 -12
  54. package/lib/modules/setting/audio-settings/audio-settings.js +4 -2
  55. package/lib/modules/setting/config.d.ts +4 -0
  56. package/lib/modules/setting/config.js +6 -3
  57. package/lib/modules/setting/store.d.ts +8 -3
  58. package/lib/modules/setting/store.js +104 -74
  59. package/lib/modules/setting/view.js +3 -2
  60. package/lib/modules/share-screen/components/selection/index.js +6 -8
  61. package/lib/modules/share-screen/store.d.ts +9 -10
  62. package/lib/modules/share-screen/store.js +65 -90
  63. package/lib/modules/share-screen/types.d.ts +7 -8
  64. package/lib/modules/video-window/components/members/index.js +3 -3
  65. package/lib/modules/video-window/store.js +3 -3
  66. package/lib/modules/whiteboard/components/control-bar/store.d.ts +3 -0
  67. package/lib/modules/whiteboard/components/control-bar/store.js +20 -11
  68. package/lib/modules/whiteboard/components/toolbar/store.js +2 -2
  69. package/lib/modules/whiteboard/index.d.ts +10 -4
  70. package/lib/modules/whiteboard/index.js +158 -124
  71. package/lib/plugins/module-dev-plugin.js +4 -0
  72. package/lib/providers/annotation-provider.js +3 -3
  73. package/lib/providers/device-privilege-provider.js +13 -12
  74. package/lib/providers/device-provider.d.ts +37 -31
  75. package/lib/providers/device-provider.js +692 -746
  76. package/lib/providers/device-stream-provider.js +4 -4
  77. package/lib/providers/interpreter-provider.js +7 -9
  78. package/lib/providers/multi-display-provider.d.ts +8 -3
  79. package/lib/providers/multi-display-provider.js +18 -6
  80. package/lib/providers/privilege-provider.d.ts +3 -11
  81. package/lib/providers/privilege-provider.js +2 -5
  82. package/lib/providers/renderer-provider.d.ts +3 -3
  83. package/lib/providers/renderer-provider.js +20 -32
  84. package/lib/providers/room-provider.js +14 -15
  85. package/lib/providers/screen-share-provider.d.ts +12 -10
  86. package/lib/providers/screen-share-provider.js +79 -59
  87. package/lib/providers/sharing-provider.js +7 -0
  88. package/lib/providers/whiteboard-provider.js +1 -0
  89. package/lib/scenes/main-scene.js +15 -9
  90. package/lib/schema.d.ts +3 -3
  91. package/lib/schema.js +1 -1
  92. package/lib/shared-data-source/confirm-data.d.ts +19 -0
  93. package/lib/shared-data-source/confirm-data.js +119 -15
  94. package/lib/shared-data-source/screen-share-data.d.ts +29 -28
  95. package/lib/shared-data-source/screen-share-data.js +14 -8
  96. package/lib/shared-data-source/setting.js +2 -2
  97. package/lib/shared-data-source/whiteboard-data.d.ts +7 -5
  98. package/lib/shared-data-source/whiteboard-data.js +9 -8
  99. package/lib/ui-scene.d.ts +2 -0
  100. package/lib/ui-scene.js +77 -21
  101. package/lib/utilities/constant.d.ts +5 -0
  102. package/lib/utilities/constant.js +7 -2
  103. package/lib/utilities/default-config.d.ts +4 -0
  104. package/lib/utilities/default-config.js +8 -4
  105. package/lib/utilities/dialog-utils.d.ts +3 -2
  106. package/lib/utilities/dialog-utils.js +33 -14
  107. package/lib/utilities/package-info.d.ts +3 -0
  108. package/lib/utilities/package-info.js +15 -0
  109. package/lib/waiting-room-control-manager.js +6 -6
  110. package/package.json +6 -6
  111. package/public/index.html +5 -0
@@ -61,7 +61,7 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
61
61
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
62
62
  var _decorator = require("agora-foundation/lib/decorator");
63
63
  var _mobx = require("mobx");
64
- var _type = require("agora-rte-sdk/lib/core/rtc/type");
64
+ var _type = require("fcr-core/lib/type");
65
65
  var _i18n = require("agora-ui-foundation/lib/i18n");
66
66
  var _rendererEvent = require("../utilities/renderer-event");
67
67
  var _type2 = require("fcr-core/lib/room-control/type");
@@ -103,7 +103,7 @@ var FcrUIDeviceStreamProviderImpl = exports.FcrUIDeviceStreamProviderImpl = /*#_
103
103
  onStreamsAdded: function onStreamsAdded(_, events) {
104
104
  var _events$find;
105
105
  var localCameraStream = (_events$find = events.find(function (event) {
106
- return event.modifiedStream.owner.userId === _this._localUser.userId && event.modifiedStream.videoSourceType === _type.AgoraRtcVideoSourceType.CAMERA;
106
+ return event.modifiedStream.owner.userId === _this._localUser.userId && event.modifiedStream.videoSourceType === _type.FcrVideoSourceType.CAMERA;
107
107
  })) === null || _events$find === void 0 ? void 0 : _events$find.modifiedStream;
108
108
  if (localCameraStream) {
109
109
  _this._bindLocalAudioStream();
@@ -112,7 +112,7 @@ var FcrUIDeviceStreamProviderImpl = exports.FcrUIDeviceStreamProviderImpl = /*#_
112
112
  },
113
113
  onStreamsUpdated: function onStreamsUpdated(_, events) {
114
114
  var localCamera = events.find(function (event) {
115
- return event.modifiedStream.owner.userId === _this._localUser.userId && event.modifiedStream.videoSourceType === _type.AgoraRtcVideoSourceType.CAMERA;
115
+ return event.modifiedStream.owner.userId === _this._localUser.userId && event.modifiedStream.videoSourceType === _type.FcrVideoSourceType.CAMERA;
116
116
  });
117
117
  var localCameraStream = localCamera === null || localCamera === void 0 ? void 0 : localCamera.modifiedStream;
118
118
  if (localCameraStream) {
@@ -179,7 +179,7 @@ var FcrUIDeviceStreamProviderImpl = exports.FcrUIDeviceStreamProviderImpl = /*#_
179
179
  get: function get() {
180
180
  var localStreams = this._roomControl.getStreamControl().getStreamsByUserId(this._localUser.userId);
181
181
  return localStreams.find(function (stream) {
182
- return stream.videoSourceType === _type.AgoraRtcVideoSourceType.CAMERA;
182
+ return stream.videoSourceType === _type.FcrVideoSourceType.CAMERA;
183
183
  });
184
184
  }
185
185
  }, {
@@ -36,9 +36,7 @@ var _base = require("../base");
36
36
  var _fcrCore = require("fcr-core");
37
37
  var _interpreter = require("../shared-data-source/interpreter");
38
38
  var _type = require("../modules/interpreter/type");
39
- var _imports = require("fcr-core/lib/imports");
40
- var _type2 = require("agora-rte-sdk/lib/type");
41
- var _type3 = require("fcr-core/lib/type");
39
+ var _type2 = require("fcr-core/lib/type");
42
40
  var _utils = require("../modules/interpreter/utils");
43
41
  var _constant = require("../utilities/constant");
44
42
  var _enums = require("../modules/action-bar/enums");
@@ -49,18 +47,18 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
49
47
  var getRoomJoinOptions = function getRoomJoinOptions(localUser) {
50
48
  var roomJoinOptions = {
51
49
  userName: localUser.userName,
52
- userRole: _type3.FcrUserRole.PARTICIPANT,
50
+ userRole: _type2.FcrUserRole.PARTICIPANT,
53
51
  roomToken: '',
54
52
  streamLatency: _fcrCore.FcrStreamLatencyLevel.ULTRA_LOW,
55
53
  createStreamConfigs: [{
56
- videoSourceState: _imports.AgoraRtcMediaSourceState.CLOSE,
57
- audioSourceState: _imports.AgoraRtcMediaSourceState.CLOSE,
54
+ videoSourceState: _type2.FcrMediaSourceState.CLOSE,
55
+ audioSourceState: _type2.FcrMediaSourceState.CLOSE,
58
56
  videoSourceId: '',
59
57
  audioSourceId: '',
60
58
  streamName: 'default',
61
- streamType: _imports.AgoraRteMediaStreamType.NONE,
62
- videoSourceType: _type2.AgoraRteVideoSourceType.CAMERA,
63
- audioSourceType: _type2.AgoraRteAudioSourceType.MICROPHONE
59
+ streamType: _type2.FcrStreamType.NONE,
60
+ videoSourceType: _type2.FcrVideoSourceType.CAMERA,
61
+ audioSourceType: _type2.FcrAudioSourceType.MICROPHONE
64
62
  }]
65
63
  };
66
64
  return roomJoinOptions;
@@ -1,10 +1,11 @@
1
- import { FcrUIDisplayContentDistribution, FcrUIDisplayDistributionContentType, FcrUIDisplayState, FcrUIMultiDisplayObserver } from '../modules/secondary-window/type';
1
+ import { FcrUIDisplayContentDistribution, FcrUIDisplayDistributionContentType, FcrUIDisplayState, FcrUIMainWindowRenderer, FcrUIMultiDisplayObserver } from '../modules/secondary-window/type';
2
2
  import { FcrUIMemberSharedDataSource } from '../shared-data-source/member-data';
3
3
  import { FcrUIScreenShareSharedDataSource } from '../shared-data-source/screen-share-data';
4
4
  import { FcrUISharedSettingDataSource } from '../shared-data-source/setting';
5
5
  import { FcrUIVideoWindowDataSource } from '../shared-data-source/video-window';
6
6
  import { FcrUIEventProvider } from './event-provider';
7
7
  import { FcrUISharingProvider } from './sharing-provider';
8
+ import { FcrUISharedWhiteboardDataSource } from '../shared-data-source/whiteboard-data';
8
9
  export interface FcrUIMultiDisplayProvider {
9
10
  get mianWindowContentType(): `${FcrUIDisplayDistributionContentType}`;
10
11
  get secondaryWindowContentType(): `${FcrUIDisplayDistributionContentType}`;
@@ -43,6 +44,8 @@ export declare class FcrUIMultiDisplayProviderImpl implements FcrUIMultiDisplayP
43
44
  private _sharedVideoWindowDataSource;
44
45
  private _sharingProvider;
45
46
  private _sharedScreenShareDataSource;
47
+ private _fcrUIMainWindowRenderer;
48
+ private _sharedWhiteboardDataSource;
46
49
  private _contentDistribution;
47
50
  private get _userId();
48
51
  private accessor _displayCount;
@@ -56,13 +59,15 @@ export declare class FcrUIMultiDisplayProviderImpl implements FcrUIMultiDisplayP
56
59
  get mianWindowContentType(): `${FcrUIDisplayDistributionContentType}`;
57
60
  get secondaryWindowContentType(): `${FcrUIDisplayDistributionContentType}`;
58
61
  get isLocalCameraInSecondaryWindow(): boolean;
59
- constructor({ eventProvider, sharedSettingDataSource, sharedMemberDataSource, sharedVideoWindowDataSource, sharingProvider, sharedScreenShareSharedDataSource, }: {
62
+ constructor({ eventProvider, sharedSettingDataSource, sharedMemberDataSource, sharedVideoWindowDataSource, sharingProvider, sharedScreenShareSharedDataSource, fcrUIMainWindowRenderer, sharedWhiteboardDataSource, }: {
60
63
  eventProvider: FcrUIEventProvider;
61
64
  sharedSettingDataSource: FcrUISharedSettingDataSource;
62
65
  sharedMemberDataSource: FcrUIMemberSharedDataSource;
63
66
  sharedVideoWindowDataSource: FcrUIVideoWindowDataSource;
64
67
  sharingProvider: FcrUISharingProvider;
65
68
  sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource;
69
+ fcrUIMainWindowRenderer: FcrUIMainWindowRenderer;
70
+ sharedWhiteboardDataSource: FcrUISharedWhiteboardDataSource;
66
71
  });
67
72
  addObserver(observer: FcrUIMultiDisplayObserver): void;
68
73
  removeObserver(observer: FcrUIMultiDisplayObserver): void;
@@ -70,7 +75,7 @@ export declare class FcrUIMultiDisplayProviderImpl implements FcrUIMultiDisplayP
70
75
  moveMainWindowToIndexLeastDisplay(): void;
71
76
  showMainWindowInIndexLeastDisplay(options?: {
72
77
  displayOfCurrentSharingBounds?: Electron.Display;
73
- maximize?: boolean;
78
+ isMaximized?: boolean;
74
79
  }): void;
75
80
  setMainWindowMaximize(): void;
76
81
  private _getContentDistribution;
@@ -98,7 +98,9 @@ var FcrUIMultiDisplayProviderImpl = exports.FcrUIMultiDisplayProviderImpl = /*#_
98
98
  sharedMemberDataSource = _ref.sharedMemberDataSource,
99
99
  sharedVideoWindowDataSource = _ref.sharedVideoWindowDataSource,
100
100
  sharingProvider = _ref.sharingProvider,
101
- sharedScreenShareSharedDataSource = _ref.sharedScreenShareSharedDataSource;
101
+ sharedScreenShareSharedDataSource = _ref.sharedScreenShareSharedDataSource,
102
+ fcrUIMainWindowRenderer = _ref.fcrUIMainWindowRenderer,
103
+ sharedWhiteboardDataSource = _ref.sharedWhiteboardDataSource;
102
104
  (0, _classCallCheck2["default"])(this, FcrUIMultiDisplayProviderImpl);
103
105
  (0, _defineProperty2["default"])(this, "_logger", (_initProto(this), (0, _logger.createLogger)({
104
106
  prefix: 'FcrUIMultiDisplayProvider'
@@ -135,6 +137,8 @@ var FcrUIMultiDisplayProviderImpl = exports.FcrUIMultiDisplayProviderImpl = /*#_
135
137
  this._sharedVideoWindowDataSource = sharedVideoWindowDataSource;
136
138
  this._sharingProvider = sharingProvider;
137
139
  this._sharedScreenShareDataSource = sharedScreenShareSharedDataSource;
140
+ this._fcrUIMainWindowRenderer = fcrUIMainWindowRenderer;
141
+ this._sharedWhiteboardDataSource = sharedWhiteboardDataSource;
138
142
  if (this._isElectron) {
139
143
  window.runtime.screen.addListener('display-added', this._handleDisplayCountUpdated);
140
144
  window.runtime.screen.addListener('display-removed', this._handleDisplayCountUpdated);
@@ -232,6 +236,7 @@ var FcrUIMultiDisplayProviderImpl = exports.FcrUIMultiDisplayProviderImpl = /*#_
232
236
  window.runtime.screen.removeListener('display-added', this._handleDisplayCountUpdated);
233
237
  window.runtime.screen.removeListener('display-removed', this._handleDisplayCountUpdated);
234
238
  }
239
+ this._fcrUIMainWindowRenderer.removeAllObservers();
235
240
  this._observers.removeAllObservers();
236
241
  this._disposers.forEach(function (disposer) {
237
242
  return disposer();
@@ -258,7 +263,7 @@ var FcrUIMultiDisplayProviderImpl = exports.FcrUIMultiDisplayProviderImpl = /*#_
258
263
  var isMaximized = browserWindow.isMaximized();
259
264
  this.showMainWindowInIndexLeastDisplay({
260
265
  displayOfCurrentSharingBounds: displayOfCurrentSharingBounds,
261
- maximize: isMaximized
266
+ isMaximized: isMaximized
262
267
  });
263
268
  }
264
269
  }, {
@@ -266,8 +271,8 @@ var FcrUIMultiDisplayProviderImpl = exports.FcrUIMultiDisplayProviderImpl = /*#_
266
271
  value: function showMainWindowInIndexLeastDisplay() {
267
272
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
268
273
  var displayOfCurrentSharingBounds = options.displayOfCurrentSharingBounds;
269
- var _options$maximize = options.maximize,
270
- maximize = _options$maximize === void 0 ? false : _options$maximize;
274
+ var _options$isMaximized = options.isMaximized,
275
+ isMaximized = _options$isMaximized === void 0 ? false : _options$isMaximized;
271
276
  if (!this.isActive) {
272
277
  this._logger.warn('show: Secondary window mode is not enabled, cannot show main window in least display.');
273
278
  return;
@@ -297,10 +302,11 @@ var FcrUIMultiDisplayProviderImpl = exports.FcrUIMultiDisplayProviderImpl = /*#_
297
302
  x: x + Math.floor(width / 2 - mainWindowWidth / 2),
298
303
  y: y + Math.floor(height / 2 - mainWindowHeight / 2)
299
304
  };
305
+ isMaximized && browserWindow.unmaximize();
300
306
  browserWindow.setBounds(bounds);
301
- if (maximize) {
307
+ if (isMaximized) {
302
308
  browserWindow.maximize();
303
- browserWindow.focus();
309
+ // browserWindow.focus();
304
310
  } else {
305
311
  browserWindow.show();
306
312
  }
@@ -504,6 +510,12 @@ var FcrUIMultiDisplayProviderImpl = exports.FcrUIMultiDisplayProviderImpl = /*#_
504
510
  key: "_handleContentDistributionUpdated",
505
511
  value: function _handleContentDistributionUpdated() {
506
512
  var distribution = this._getContentDistribution();
513
+ if (distribution.secondaryWindow.type === 'hidden') {
514
+ // this._fcrUIMainWindowRenderer.notifyObservers('onSecondaryWindowHidden');
515
+ this._fcrUIMainWindowRenderer.removeAllObservers();
516
+ } else {
517
+ this._fcrUIMainWindowRenderer.addObserver(this._sharedWhiteboardDataSource.toolbarStateObserver);
518
+ }
507
519
  this._logger.info('notify observers of content distribution update');
508
520
  this._observers.notifyObservers('onContentDistributionUpdated', distribution);
509
521
  }
@@ -130,9 +130,8 @@ export interface FcrUIPrivilegeProvider {
130
130
  hasMutePermission(targetRole: FcrPrivilegeUserRole | FcrUserRole): boolean;
131
131
  /**
132
132
  * 是否有权限停止对方的屏幕共享
133
- * @param targetRole 目标角色
134
133
  */
135
- hasStopScreenSharePermission(targetRole: FcrPrivilegeUserRole | FcrUserRole): boolean;
134
+ hasStopScreenSharePermission(): boolean;
136
135
  /**
137
136
  * 是否有权限取消静音(让目标角色可以开麦)
138
137
  * @param targetRole 目标角色
@@ -291,11 +290,6 @@ export interface FcrUIPrivilegeProvider {
291
290
  * 是否允许开启白板
292
291
  */
293
292
  hasStartBoardPermission(): boolean;
294
- /**
295
- * 是否允许关闭指定角色的白板
296
- * @param targerRole 目标角色
297
- */
298
- hasCloseBoardPermission(targerRole: FcrPrivilegeUserRole | FcrUserRole): boolean;
299
293
  /**
300
294
  * 是否允许在白板上书写
301
295
  */
@@ -385,9 +379,8 @@ export interface FcrUIPrivilegeProvider {
385
379
  setAllowWaterMarkLine(isWaterMarkEnabled: boolean, type?: FcrLineType): void;
386
380
  /**
387
381
  * 是否有权限停止他人屏幕共享
388
- * @param targetRole 目标角色
389
382
  */
390
- hasStopScreenSharePermission(targetRole: FcrPrivilegeUserRole | FcrUserRole): boolean;
383
+ hasStopScreenSharePermission(): boolean;
391
384
  /**
392
385
  * 将房间内所有用户静音
393
386
  */
@@ -508,7 +501,7 @@ export declare class FcrUIPrivilegeProviderImpl implements FcrUIPrivilegeProvide
508
501
  isWaterMarkEnabled: () => boolean;
509
502
  hasWaitingRoomPermission: (role?: FcrPrivilegeUserRole | FcrUserRole) => boolean;
510
503
  hasMutePermission: (targetRole: FcrPrivilegeUserRole | FcrUserRole) => boolean;
511
- hasStopScreenSharePermission: (targetRole: FcrPrivilegeUserRole | FcrUserRole) => boolean;
504
+ hasStopScreenSharePermission: () => boolean;
512
505
  hasUnmutePermission: (targetRole: FcrPrivilegeUserRole | FcrUserRole) => boolean;
513
506
  hasRequestStartAudioPermission: (targetRole: FcrPrivilegeUserRole | FcrUserRole) => boolean;
514
507
  hasRequestStartVideoPermission: (targetRole: FcrPrivilegeUserRole | FcrUserRole) => boolean;
@@ -546,7 +539,6 @@ export declare class FcrUIPrivilegeProviderImpl implements FcrUIPrivilegeProvide
546
539
  hasEndRoomPermission: () => boolean;
547
540
  hasAssignHostBeforeLeavingPermission: (role: FcrPrivilegeUserRole | FcrUserRole) => boolean;
548
541
  hasStartBoardPermission: () => boolean;
549
- hasCloseBoardPermission: (targerRole: FcrPrivilegeUserRole | FcrUserRole) => boolean;
550
542
  hasWriteBoardPermission: () => boolean;
551
543
  hasAnnotationStartPermission: () => boolean;
552
544
  hasAnnotationAllowWritePermission: () => boolean;
@@ -267,8 +267,8 @@ var FcrUIPrivilegeProviderImpl = exports.FcrUIPrivilegeProviderImpl = /*#__PURE_
267
267
  (0, _defineProperty2["default"])(this, "hasMutePermission", function (targetRole) {
268
268
  return _this._hasPermission(_type2.FcrPermissionAction.StreamMuteAudio, targetRole);
269
269
  });
270
- (0, _defineProperty2["default"])(this, "hasStopScreenSharePermission", function (targetRole) {
271
- return _this._hasPermission(_type2.FcrPermissionAction.StreamStopScreenShare, targetRole);
270
+ (0, _defineProperty2["default"])(this, "hasStopScreenSharePermission", function () {
271
+ return _this._hasPermission(_type2.FcrPermissionAction.StreamEnableStartScreenShare, _type2.FcrPrivilegeUserRole.SELF);
272
272
  });
273
273
  (0, _defineProperty2["default"])(this, "hasUnmutePermission", function (targetRole) {
274
274
  return _this._hasPermission(_type2.FcrPermissionAction.StreamStartAudio, targetRole);
@@ -391,9 +391,6 @@ var FcrUIPrivilegeProviderImpl = exports.FcrUIPrivilegeProviderImpl = /*#__PURE_
391
391
  (0, _defineProperty2["default"])(this, "hasStartBoardPermission", function () {
392
392
  return _this._hasPermission(_type2.FcrPermissionAction.BoardStart, _type2.FcrPrivilegeUserRole.SELF);
393
393
  });
394
- (0, _defineProperty2["default"])(this, "hasCloseBoardPermission", function (targerRole) {
395
- return _this._hasPermission(_type2.FcrPermissionAction.BoardClose, targerRole);
396
- });
397
394
  (0, _defineProperty2["default"])(this, "hasWriteBoardPermission", function () {
398
395
  return _this._hasPermission(_type2.FcrPermissionAction.BoardWrite, _type2.FcrPrivilegeUserRole.SELF);
399
396
  });
@@ -1,4 +1,4 @@
1
- import { AgoraRtcVideoStreamType } from 'agora-rte-sdk/lib/core/rtc/type';
1
+ import { FcrVideoStreamType } from 'fcr-core/lib/type';
2
2
  import { FcrStreamControl } from 'fcr-core';
3
3
  import { FcrVideoRenderConfig } from 'fcr-core/lib/type';
4
4
  import { FcrUIDeviceProvider } from './device-provider';
@@ -12,7 +12,7 @@ export interface FcrUIRemoteVideoRenderProvider {
12
12
  * @param config
13
13
  * @param el
14
14
  */
15
- startRenderRemoteVideo(streamId: string, streamType: AgoraRtcVideoStreamType, config: FcrVideoRenderConfig, el: HTMLElement): void;
15
+ startRenderRemoteVideo(streamId: string, streamType: FcrVideoStreamType, config: FcrVideoRenderConfig, el: HTMLElement): void;
16
16
  /**
17
17
  * 停止渲染远端视频流
18
18
  * @param streamId
@@ -70,7 +70,7 @@ export declare class FcrUIRemoteVideoRenderProviderImpl implements FcrUIRemoteVi
70
70
  private accessor _firstFrameState;
71
71
  constructor(_streamControl: FcrStreamControl);
72
72
  release(): void;
73
- startRenderRemoteVideo(streamId: string, streamType: AgoraRtcVideoStreamType, config: FcrVideoRenderConfig, el: HTMLElement): void;
73
+ startRenderRemoteVideo(streamId: string, streamType: FcrVideoStreamType, config: FcrVideoRenderConfig, el: HTMLElement): void;
74
74
  stopRenderRemoteVideo(streamId: string, el: HTMLElement): void;
75
75
  isStreamFirstFrameRendered: (streamId: string) => boolean;
76
76
  }
@@ -165,33 +165,18 @@ var FcrUILocalVideoRenderProviderImpl = exports.FcrUILocalVideoRenderProviderImp
165
165
  onCameraChanged: function onCameraChanged() {
166
166
  if (_this2._deviceProvider.cameraEnabled) {
167
167
  _this2._viewsAndConfigs.forEach(function (config, el) {
168
- var _config$isMirror, _config$renderMode;
169
- _this2._deviceProvider.cameraTrack.startPreview({
170
- isMirror: (_config$isMirror = config.isMirror) !== null && _config$isMirror !== void 0 ? _config$isMirror : false,
171
- renderMode: (_config$renderMode = config.renderMode) !== null && _config$renderMode !== void 0 ? _config$renderMode : _fcrCore.FcrVideoRenderMode.FIT
172
- }, el);
168
+ if (_this2._deviceProvider.cameraTrack) {
169
+ var _config$isMirror, _config$renderMode;
170
+ _this2._deviceProvider.cameraTrack.startPreview({
171
+ isMirror: (_config$isMirror = config.isMirror) !== null && _config$isMirror !== void 0 ? _config$isMirror : false,
172
+ renderMode: (_config$renderMode = config.renderMode) !== null && _config$renderMode !== void 0 ? _config$renderMode : _fcrCore.FcrVideoRenderMode.FIT
173
+ }, el);
174
+ }
173
175
  });
174
176
  }
175
177
  }
176
178
  };
177
179
  this._deviceProvider.addObserver(this._deviceObserver);
178
- this._disposers.push((0, _mobx.reaction)(function () {
179
- return _this2._deviceProvider.cameraEnabled;
180
- }, function (enabled) {
181
- if (enabled) {
182
- _this2._viewsAndConfigs.forEach(function (config, el) {
183
- var _config$isMirror2, _config$renderMode2;
184
- _this2._deviceProvider.cameraTrack.startPreview({
185
- isMirror: (_config$isMirror2 = config.isMirror) !== null && _config$isMirror2 !== void 0 ? _config$isMirror2 : false,
186
- renderMode: (_config$renderMode2 = config.renderMode) !== null && _config$renderMode2 !== void 0 ? _config$renderMode2 : _fcrCore.FcrVideoRenderMode.FIT
187
- }, el);
188
- });
189
- } else {
190
- _this2._viewsAndConfigs.forEach(function (_, el) {
191
- _this2._deviceProvider.cameraTrack.stopPreview(el);
192
- });
193
- }
194
- }));
195
180
  }
196
181
  return (0, _createClass2["default"])(FcrUILocalVideoRenderProviderImpl, [{
197
182
  key: "cameraEnabled",
@@ -211,30 +196,33 @@ var FcrUILocalVideoRenderProviderImpl = exports.FcrUILocalVideoRenderProviderImp
211
196
  }, {
212
197
  key: "startCameraPreview",
213
198
  value: function startCameraPreview(el, config) {
214
- var _config$isMirror3, _config$renderMode3;
215
199
  this._viewsAndConfigs.set(el, config);
216
- this._deviceProvider.cameraTrack.startPreview({
217
- isMirror: (_config$isMirror3 = config.isMirror) !== null && _config$isMirror3 !== void 0 ? _config$isMirror3 : false,
218
- renderMode: (_config$renderMode3 = config.renderMode) !== null && _config$renderMode3 !== void 0 ? _config$renderMode3 : _fcrCore.FcrVideoRenderMode.FIT
219
- }, el);
200
+ if (this._deviceProvider.cameraTrack) {
201
+ var _config$isMirror2, _config$renderMode2;
202
+ this._deviceProvider.cameraTrack.startPreview({
203
+ isMirror: (_config$isMirror2 = config.isMirror) !== null && _config$isMirror2 !== void 0 ? _config$isMirror2 : false,
204
+ renderMode: (_config$renderMode2 = config.renderMode) !== null && _config$renderMode2 !== void 0 ? _config$renderMode2 : _fcrCore.FcrVideoRenderMode.FIT
205
+ }, el);
206
+ }
220
207
  this.logger.info('current count of render views: ', this._viewsAndConfigs.size);
221
208
  }
222
209
  }, {
223
210
  key: "stopCameraPreview",
224
211
  value: function stopCameraPreview(el) {
225
212
  this._viewsAndConfigs["delete"](el);
226
- this._deviceProvider.cameraTrack.stopPreview(el);
213
+ if (this._deviceProvider.cameraTrack) {
214
+ this._deviceProvider.cameraTrack.stopPreview(el);
215
+ }
227
216
  this.logger.info('current count of render views: ', this._viewsAndConfigs.size);
228
217
  }
229
218
  }, {
230
219
  key: "startScreenPreview",
231
220
  value: function startScreenPreview(el, config) {
232
221
  if (this._screenShareDataSource.screenTrack) {
233
- var _config$isMirror4, _config$renderMode4;
234
- this._viewsAndConfigs.set(el, config);
222
+ var _config$isMirror3, _config$renderMode3;
235
223
  this._screenShareDataSource.screenTrack.startPreview({
236
- isMirror: (_config$isMirror4 = config.isMirror) !== null && _config$isMirror4 !== void 0 ? _config$isMirror4 : false,
237
- renderMode: (_config$renderMode4 = config.renderMode) !== null && _config$renderMode4 !== void 0 ? _config$renderMode4 : _fcrCore.FcrVideoRenderMode.FIT
224
+ isMirror: (_config$isMirror3 = config.isMirror) !== null && _config$isMirror3 !== void 0 ? _config$isMirror3 : false,
225
+ renderMode: (_config$renderMode3 = config.renderMode) !== null && _config$renderMode3 !== void 0 ? _config$renderMode3 : _fcrCore.FcrVideoRenderMode.FIT
238
226
  }, el);
239
227
  }
240
228
  }
@@ -72,16 +72,14 @@ var _type = require("fcr-core/lib/room-control/type");
72
72
  var _type2 = require("fcr-core/lib/room-control/privilege-control/type");
73
73
  var _type3 = require("fcr-core/lib/type");
74
74
  var _observable = require("agora-foundation/lib/utilities/observable");
75
- var _type4 = require("agora-rte-sdk/lib/core/scene/type");
76
- var _type5 = require("../type");
77
- var _type6 = require("agora-rte-sdk/lib/type");
75
+ var _type4 = require("../type");
78
76
  var _constant = require("../utilities/constant");
79
77
  var _base = require("../base");
80
78
  var _privilegeProvider = require("./privilege-provider");
81
79
  var _i18n = require("agora-ui-foundation/lib/i18n");
82
80
  var _mobx = require("mobx");
83
- var _type7 = require("agora-ui-foundation/lib/components/icon/type");
84
- var _type8 = require("../modules/whiteboard/type");
81
+ var _type5 = require("agora-ui-foundation/lib/components/icon/type");
82
+ var _type6 = require("../modules/whiteboard/type");
85
83
  var _waitingRoomControlManager = _interopRequireDefault(require("../waiting-room-control-manager"));
86
84
  var _meetingDetail = require("../utilities/meeting-detail");
87
85
  var _decorator = require("agora-foundation/lib/decorator");
@@ -117,7 +115,7 @@ var FcrUIRoomProviderImpl = exports.FcrUIRoomProviderImpl = /*#__PURE__*/functio
117
115
  },
118
116
  onWaitingRoomControlLeft: function onWaitingRoomControlLeft() {
119
117
  _this._observable.notifyObservers('onWaitingRoomManageCanceled');
120
- _this._messageProvider.closeNotification(_type5.FcrUINotificationContentType.WAITING_ROOM);
118
+ _this._messageProvider.closeNotification(_type4.FcrUINotificationContentType.WAITING_ROOM);
121
119
  }
122
120
  });
123
121
  (0, _defineProperty2["default"])(this, "_isSelfEndMeeting", false);
@@ -391,7 +389,8 @@ var FcrUIRoomProviderImpl = exports.FcrUIRoomProviderImpl = /*#__PURE__*/functio
391
389
  height: 720
392
390
  },
393
391
  bitrate: 1200,
394
- frameRate: 15
392
+ frameRate: 15,
393
+ isMirror: false
395
394
  },
396
395
  retryTimeout: 60
397
396
  });
@@ -485,11 +484,11 @@ var FcrUIRoomProviderImpl = exports.FcrUIRoomProviderImpl = /*#__PURE__*/functio
485
484
  var config = this._sceneConfig;
486
485
  var streams = [{
487
486
  streamName: 'default',
488
- streamType: _type4.AgoraRteMediaStreamType.BOTH,
489
- videoSourceType: _type6.AgoraRteVideoSourceType.CAMERA,
490
- audioSourceType: _type6.AgoraRteAudioSourceType.MICROPHONE,
491
- videoSourceState: _type6.AgoraRteMediaSourceState.CLOSE,
492
- audioSourceState: _type6.AgoraRteMediaSourceState.CLOSE
487
+ streamType: _type3.FcrStreamType.BOTH,
488
+ videoSourceType: _type3.FcrVideoSourceType.CAMERA,
489
+ audioSourceType: _type3.FcrAudioSourceType.MICROPHONE,
490
+ videoSourceState: _type3.FcrMediaSourceState.CLOSE,
491
+ audioSourceState: _type3.FcrMediaSourceState.CLOSE
493
492
  }];
494
493
  if (config.userRole === _type3.FcrUserRole.ROBOT) {
495
494
  streams = [];
@@ -574,7 +573,7 @@ var FcrUIMainRoomControlProviderImpl = exports.FcrUIMainRoomControlProviderImpl
574
573
  });
575
574
  },
576
575
  onUserInfoUpdated: function onUserInfoUpdated(roomId, event) {
577
- if (event.reason === _type4.AgoraRteUserUpdatedReason.ROLE) {
576
+ if (event.reason === _type3.FcrUserUpdatedReason.ROLE) {
578
577
  _this2._userMap.set(event.modifiedUser.userId, event.modifiedUser);
579
578
  _this2._handleUserRoleChangeToast(event.modifiedUser);
580
579
  }
@@ -585,7 +584,7 @@ var FcrUIMainRoomControlProviderImpl = exports.FcrUIMainRoomControlProviderImpl
585
584
  this._eventObserver = {
586
585
  onEvent: function onEvent(action, payload) {
587
586
  if (action === _constant.FcrUIAction.WHITEBOARD_CHANGED) {
588
- if (payload.action === _type8.WhiteboardBaseEvents.SET_OWNER_USER_ID) {
587
+ if (payload.action === _type6.WhiteboardBaseEvents.SET_OWNER_USER_ID) {
589
588
  var _mainRoomControl$getU;
590
589
  _this2.boardOwnerUser = Object.values((_mainRoomControl$getU = _mainRoomControl.getUserControl()) === null || _mainRoomControl$getU === void 0 ? void 0 : _mainRoomControl$getU.getUsers()).find(function (u) {
591
590
  return u.userId === payload.payload;
@@ -719,7 +718,7 @@ var FcrUIMainRoomControlProviderImpl = exports.FcrUIMainRoomControlProviderImpl
719
718
  content: (0, _i18n.transI18n)('fmt_settings_tips_sharingprohibited', {
720
719
  reason1: operator
721
720
  }),
722
- icon: _type7.FcrIconType.FCR_SCREENSHARING,
721
+ icon: _type5.FcrIconType.FCR_SCREENSHARING,
723
722
  okText: (0, _i18n.transI18n)('fmt_screenshare_whiteboard_button_gotit'),
724
723
  showCancel: false,
725
724
  onOk: function onOk() {
@@ -2,7 +2,7 @@ import { FcrUIDeviceProvider } from './device-provider';
2
2
  import { FcrUIRoomProvider } from './room-provider';
3
3
  import { FcrScreenScenarioType } from 'fcr-core/lib/imports';
4
4
  import { FcrScreenTrack } from 'fcr-core/lib/media-control/type';
5
- import { AgoraRtcScreenCaptureType } from 'agora-rte-sdk/lib/core/rtc/type';
5
+ import { FcrScreenCaptureType } from 'fcr-core/lib/type';
6
6
  import { FcrUISharingProvider } from './sharing-provider';
7
7
  import { FcrUIScreenShareSharedDataSource } from '../shared-data-source/screen-share-data';
8
8
  import { FcrUIEventProvider } from './event-provider';
@@ -25,7 +25,7 @@ export interface FcrUIScreenShareObserver {
25
25
  * 本地屏幕替换开始
26
26
  * @returns
27
27
  */
28
- onScreenShareReplaceBegin?: (id: string, type: AgoraRtcScreenCaptureType, bounds: CurrentShareBounds) => void;
28
+ onScreenShareReplaceBegin?: (id: string, type: FcrScreenCaptureType, bounds: CurrentShareBounds) => void;
29
29
  /**
30
30
  * 本地屏幕替换开始
31
31
  * @returns
@@ -84,7 +84,7 @@ export interface FcrUIScreenShareProvider {
84
84
  * @param isReplace - 是否替换当前已有的共享
85
85
  * @returns 返回一个Promise,成功时解析为屏幕共享轨道对象,失败时返回null
86
86
  */
87
- startShareScreen(id: string, type: AgoraRtcScreenCaptureType, withAudio: boolean, isReplace: boolean): Promise<FcrScreenTrack | null>;
87
+ startShareScreen(id: string, type: FcrScreenCaptureType, withAudio: boolean, isReplace: boolean): Promise<FcrScreenTrack | null>;
88
88
  /**
89
89
  * 停止屏幕共享
90
90
  * @param targetScreenTrack - 可选参数,要停止的屏幕共享轨道对象,默认停止当前活动的共享
@@ -130,7 +130,7 @@ export interface FcrUIScreenShareProvider {
130
130
  * @param withAudio - 是否包含音频
131
131
  * @param bounds - 共享区域的边界信息
132
132
  */
133
- replaceScreenShare(id: string, type: AgoraRtcScreenCaptureType, withAudio: boolean, bounds: CurrentShareBounds): void;
133
+ replaceScreenShare(id: string, type: FcrScreenCaptureType, withAudio: boolean, bounds: CurrentShareBounds): void;
134
134
  /**
135
135
  * 屏幕共享缩小窗口
136
136
  */
@@ -173,13 +173,13 @@ export declare class FcrUIScreenShareProviderImpl implements FcrUIScreenSharePro
173
173
  private _privilegeProvider;
174
174
  protected logger: import("agora-foundation/lib/logger").Logger;
175
175
  shareLock: boolean;
176
- private _sharingControl?;
176
+ private _sharingControl;
177
177
  private _previewDom;
178
178
  private _prevFullScalc;
179
179
  private _observable;
180
180
  private _streamObserver;
181
181
  private _screenCaptureObserver;
182
- private _streamControl?;
182
+ private _streamControl;
183
183
  private _maxScalcValue;
184
184
  private _minScalcValue;
185
185
  private _diffScalcValue;
@@ -194,6 +194,7 @@ export declare class FcrUIScreenShareProviderImpl implements FcrUIScreenSharePro
194
194
  height: number;
195
195
  };
196
196
  get screenShareScenarioType(): FcrScreenScenarioType;
197
+ private get _currentRoomControl();
197
198
  constructor(_deviceProvider: FcrUIDeviceProvider, _eventProvider: FcrUIEventProvider, _roomProvider: FcrUIRoomProvider, _sharingProvider: FcrUISharingProvider, _sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource, _sharedMemberDataSource: FcrUIMemberSharedDataSourceImpl, _privilegeProvider: FcrUIPrivilegeProvider);
198
199
  setSharingInReplace(isInReplace: boolean): void;
199
200
  zoomOut(): void;
@@ -207,15 +208,14 @@ export declare class FcrUIScreenShareProviderImpl implements FcrUIScreenSharePro
207
208
  bootstrap(): void;
208
209
  private _handleWebScreenCaptureStateUpdated;
209
210
  private _handleScreenCaptureStateUpdated;
210
- private _handleShareStopWithAudio;
211
- replaceScreenShare(id: string, type: AgoraRtcScreenCaptureType, withAudio: boolean, bounds: CurrentShareBounds): void;
211
+ replaceScreenShare(id: string, type: FcrScreenCaptureType, withAudio: boolean, bounds: CurrentShareBounds): void;
212
212
  private _handleRemoteVideoStatsUpdated;
213
213
  get localUserId(): string;
214
214
  get shareAudioTrack(): import("fcr-core/lib/media-control/type").FcrLoopbackTrack | null;
215
215
  get loopbackAudioSourceId(): string;
216
216
  get currentShareId(): string;
217
217
  get screenTrack(): FcrScreenTrack | null;
218
- get currentShareStreamId(): string;
218
+ get currentShareStreamId(): string | undefined;
219
219
  get currentSelectionBounds(): CurrentShareBounds;
220
220
  setShareLock(lock: boolean): void;
221
221
  createScreenShareWithSelectionId(videoSourceId: string, bounds: CurrentShareBounds): Promise<string>;
@@ -232,9 +232,11 @@ export declare class FcrUIScreenShareProviderImpl implements FcrUIScreenSharePro
232
232
  removeObserver(observer: FcrUIScreenShareObserver): void;
233
233
  startShareWhiteboard(): void;
234
234
  release(): void;
235
- startShareScreen(id: string, type: AgoraRtcScreenCaptureType, withAudio: boolean, isReplace: boolean): Promise<FcrScreenTrack | null>;
235
+ startShareScreen(id: string, type: FcrScreenCaptureType, withAudio: boolean, isReplace: boolean): Promise<FcrScreenTrack | null>;
236
236
  stopShareScreen(targetScreenTrack?: FcrScreenTrack | null | undefined): void;
237
237
  stopShareScreenByExitRoom(targetScreenTrack?: FcrScreenTrack | null | undefined): void;
238
+ private _updateShareAudioPrivilege;
239
+ private _handleShareStopWithAudio;
238
240
  private _handleShareStartWithAudio;
239
241
  toggleScreenshareWithAudio(withAudio: boolean): void;
240
242
  private _getExcludeWindows;