fcr-core 3.7.9-alpha → 3.8.0-alpha

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 (130) hide show
  1. package/lib/chat-connection/index.d.ts +1 -1
  2. package/lib/chat-connection/index.js +41 -26
  3. package/lib/engine/index.js +72 -78
  4. package/lib/imports.d.ts +7 -2
  5. package/lib/imports.js +26 -4
  6. package/lib/index.d.ts +2 -2
  7. package/lib/index.js +12 -0
  8. package/lib/media-control/desktop.js +22 -17
  9. package/lib/media-control/mobile.js +38 -33
  10. package/lib/media-control/type.d.ts +8 -0
  11. package/lib/monitor-control/index.js +10 -5
  12. package/lib/peer-session/index.js +48 -39
  13. package/lib/plugins/chatroom.js +237 -205
  14. package/lib/room-control/ability-control/index.js +14 -9
  15. package/lib/room-control/ability-control/type.d.ts +4 -1
  16. package/lib/room-control/ability-control/type.js +3 -0
  17. package/lib/room-control/group-control/index.js +21 -16
  18. package/lib/room-control/helpers/constants.d.ts +4 -0
  19. package/lib/room-control/helpers/constants.js +5 -1
  20. package/lib/room-control/helpers/validation-helper.js +1 -1
  21. package/lib/room-control/index.js +66 -38
  22. package/lib/room-control/interpreter-control/index.js +49 -38
  23. package/lib/room-control/interpreter-control/room.js +6 -4
  24. package/lib/room-control/join-before-host-waitingroom-control/index.js +6 -4
  25. package/lib/room-control/mainroom-control/index.js +90 -17
  26. package/lib/room-control/privilege-control/helper.js +8 -5
  27. package/lib/room-control/privilege-control/index.js +66 -19
  28. package/lib/room-control/privilege-control/type.d.ts +57 -10
  29. package/lib/room-control/privilege-control/type.js +17 -0
  30. package/lib/room-control/room-connector-control/index.js +28 -19
  31. package/lib/room-control/room-control-factory.js +3 -2
  32. package/lib/room-control/room-session/index.js +68 -49
  33. package/lib/room-control/room-session/type.d.ts +2 -2
  34. package/lib/room-control/shared-cache.js +36 -29
  35. package/lib/room-control/sharing-control/index.d.ts +5 -5
  36. package/lib/room-control/sharing-control/index.js +81 -43
  37. package/lib/room-control/sharing-control/type.d.ts +9 -5
  38. package/lib/room-control/sharing-control/type.js +6 -1
  39. package/lib/room-control/stream-control/index.d.ts +8 -1
  40. package/lib/room-control/stream-control/index.js +310 -199
  41. package/lib/room-control/stream-control/type.d.ts +6 -0
  42. package/lib/room-control/stt-control/de-compress-gzip.d.ts +1 -0
  43. package/lib/room-control/stt-control/de-compress-gzip.js +49 -0
  44. package/lib/room-control/stt-control/index.d.ts +1 -0
  45. package/lib/room-control/stt-control/index.js +353 -0
  46. package/lib/room-control/stt-control/type.d.ts +142 -0
  47. package/lib/room-control/stt-control/type.js +16 -0
  48. package/lib/room-control/type.d.ts +15 -0
  49. package/lib/room-control/type.js +13 -1
  50. package/lib/room-control/user-control/index.js +143 -136
  51. package/lib/room-control/waitingroom-control/index.js +14 -9
  52. package/lib/room-control/whiteboard-control/enum.d.ts +15 -0
  53. package/lib/room-control/whiteboard-control/{types.js → enum.js} +12 -1
  54. package/lib/room-control/whiteboard-control/type.d.ts +38 -0
  55. package/lib/room-control/whiteboard-control/type.js +15 -0
  56. package/lib/room-control/whiteboard-control/utils.d.ts +3 -0
  57. package/lib/room-control/whiteboard-control/utils.js +23 -0
  58. package/lib/room-control/whiteboard-control-v1/board-subwindow.d.ts +6 -0
  59. package/lib/room-control/whiteboard-control-v1/board-subwindow.js +26 -0
  60. package/lib/room-control/whiteboard-control-v1/board-window.d.ts +58 -0
  61. package/lib/room-control/whiteboard-control-v1/board-window.js +571 -0
  62. package/lib/room-control/{whiteboard-control/enums.d.ts → whiteboard-control-v1/enum.d.ts} +3 -17
  63. package/lib/room-control/{whiteboard-control/enums.js → whiteboard-control-v1/enum.js} +3 -20
  64. package/lib/room-control/whiteboard-control-v1/factory.d.ts +9 -0
  65. package/lib/room-control/whiteboard-control-v1/factory.js +22 -0
  66. package/lib/room-control/whiteboard-control-v1/index.d.ts +1 -0
  67. package/lib/room-control/whiteboard-control-v1/index.js +440 -0
  68. package/lib/room-control/whiteboard-control-v1/mount-manager.d.ts +4 -0
  69. package/lib/room-control/whiteboard-control-v1/mount-manager.js +15 -0
  70. package/lib/room-control/whiteboard-control-v1/type.d.ts +300 -0
  71. package/lib/room-control/whiteboard-control-v1/type.js +13 -0
  72. package/lib/room-control/whiteboard-control-v1/utils.d.ts +53 -0
  73. package/lib/room-control/whiteboard-control-v1/utils.js +290 -0
  74. package/lib/room-control/whiteboard-control-v2/annotation-control/control.d.ts +17 -31
  75. package/lib/room-control/whiteboard-control-v2/annotation-control/control.js +42 -228
  76. package/lib/room-control/whiteboard-control-v2/annotation-control/factory.d.ts +10 -0
  77. package/lib/room-control/whiteboard-control-v2/annotation-control/factory.js +48 -0
  78. package/lib/room-control/whiteboard-control-v2/annotation-control/type.d.ts +11 -19
  79. package/lib/room-control/whiteboard-control-v2/annotation-control/type.js +1 -3
  80. package/lib/room-control/whiteboard-control-v2/base/index.d.ts +42 -0
  81. package/lib/room-control/whiteboard-control-v2/base/index.js +317 -0
  82. package/lib/room-control/whiteboard-control-v2/{main-window.d.ts → base/main-window.d.ts} +6 -4
  83. package/lib/room-control/whiteboard-control-v2/{main-window.js → base/main-window.js} +54 -36
  84. package/lib/room-control/whiteboard-control-v2/constant.d.ts +6 -0
  85. package/lib/room-control/whiteboard-control-v2/constant.js +15 -0
  86. package/lib/room-control/whiteboard-control-v2/enum.d.ts +26 -0
  87. package/lib/room-control/whiteboard-control-v2/enum.js +34 -0
  88. package/lib/room-control/{whiteboard-control/types.d.ts → whiteboard-control-v2/type.d.ts} +51 -165
  89. package/lib/room-control/whiteboard-control-v2/type.js +5 -0
  90. package/lib/room-control/whiteboard-control-v2/utils.d.ts +5 -4
  91. package/lib/room-control/whiteboard-control-v2/utils.js +29 -27
  92. package/lib/room-control/whiteboard-control-v2/whiteboard-control/control.d.ts +34 -33
  93. package/lib/room-control/whiteboard-control-v2/whiteboard-control/control.js +131 -187
  94. package/lib/room-control/whiteboard-control-v2/whiteboard-control/factory.d.ts +11 -0
  95. package/lib/room-control/whiteboard-control-v2/{annotation-control/index.js → whiteboard-control/factory.js} +40 -38
  96. package/lib/room-control/whiteboard-control-v2/whiteboard-control/type.d.ts +18 -30
  97. package/lib/room-control/whiteboard-control-v2/whiteboard-control/type.js +1 -9
  98. package/lib/room-router/index.js +56 -42
  99. package/lib/schema.d.ts +23 -9
  100. package/lib/schema.js +10 -4
  101. package/lib/service/api.d.ts +75 -19
  102. package/lib/service/api.js +401 -208
  103. package/lib/type.d.ts +15 -2
  104. package/lib/type.js +13 -0
  105. package/lib/utilities/collection.js +3 -2
  106. package/lib/utilities/error-helpers.d.ts +2 -1
  107. package/lib/utilities/error-helpers.js +35 -27
  108. package/lib/utilities/error.d.ts +1 -0
  109. package/lib/utilities/error.js +10 -8
  110. package/lib/utilities/join-helper.js +32 -25
  111. package/lib/utilities/logger.d.ts +2 -2
  112. package/lib/utilities/logger.js +6 -3
  113. package/lib/utilities/parameters.js +8 -4
  114. package/lib/utilities/retry-helpers.js +1 -0
  115. package/lib/utilities/shared-storage.d.ts +3 -1
  116. package/lib/utilities/shared-storage.js +10 -1
  117. package/lib/utilities/storage.js +1 -0
  118. package/lib/utilities/stream.js +16 -11
  119. package/lib/utilities/user.js +4 -3
  120. package/lib/utilities/validate-params.js +2 -1
  121. package/package.json +11 -5
  122. package/lib/room-control/whiteboard-control-v2/annotation-control/index.d.ts +0 -19
  123. package/lib/room-control/whiteboard-control-v2/annotation-control/privilege-control.d.ts +0 -36
  124. package/lib/room-control/whiteboard-control-v2/annotation-control/privilege-control.js +0 -252
  125. package/lib/room-control/whiteboard-control-v2/index.d.ts +0 -38
  126. package/lib/room-control/whiteboard-control-v2/index.js +0 -274
  127. package/lib/room-control/whiteboard-control-v2/whiteboard-control/index.d.ts +0 -17
  128. package/lib/room-control/whiteboard-control-v2/whiteboard-control/index.js +0 -30
  129. package/lib/room-control/whiteboard-control-v2/whiteboard-control/privilege-control.d.ts +0 -36
  130. package/lib/room-control/whiteboard-control-v2/whiteboard-control/privilege-control.js +0 -240
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ require("core-js/modules/es.symbol.description.js");
4
+ require("core-js/modules/es.error.cause.js");
3
5
  require("core-js/modules/es.array.push.js");
4
6
  require("core-js/modules/esnext.function.metadata.js");
5
7
  require("core-js/modules/esnext.map.delete-all.js");
@@ -17,6 +19,7 @@ require("core-js/modules/esnext.map.reduce.js");
17
19
  require("core-js/modules/esnext.map.some.js");
18
20
  require("core-js/modules/esnext.map.update.js");
19
21
  require("core-js/modules/esnext.symbol.metadata.js");
22
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
20
23
  Object.defineProperty(exports, "__esModule", {
21
24
  value: true
22
25
  });
@@ -24,13 +27,17 @@ exports.FcrSharingControlImpl = void 0;
24
27
  require("core-js/modules/esnext.iterator.constructor.js");
25
28
  require("core-js/modules/esnext.iterator.for-each.js");
26
29
  require("core-js/modules/esnext.iterator.some.js");
30
+ require("core-js/modules/web.dom-collections.iterator.js");
31
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
32
  var _type = require("./type");
28
33
  var _imports = require("../../imports");
29
34
  var _ = require("../..");
30
- var _enums = require("../whiteboard-control/enums");
31
35
  var _logger = require("../../utilities/logger");
32
- var _whiteboardControl = require("../whiteboard-control-v2/whiteboard-control");
33
- var _annotationControl = require("../whiteboard-control-v2/annotation-control");
36
+ var _factory = require("../whiteboard-control-v2/whiteboard-control/factory");
37
+ var _factory2 = require("../whiteboard-control-v2/annotation-control/factory");
38
+ var _utils = require("../whiteboard-control/utils");
39
+ var _type2 = require("../type");
40
+ var _FcrSharingControlImpl;
34
41
  let _initProto;
35
42
  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 (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 (e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function (e) { return e[n]; }, (o < 2 || 4 === o) && (F = function (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 (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)]; } }; }
36
43
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
@@ -38,29 +45,6 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
38
45
  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; }
39
46
  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; }
40
47
  class FcrSharingControlImpl {
41
- static {
42
- [_initProto] = _applyDecs(this, [[_imports.trace, 2, "startScreenSharing"], [_imports.trace, 2, "startWhiteboard"], [_imports.trace, 2, "updateScreenSharing"], [_imports.trace, 2, "stop"], [_imports.trace, 2, "getScreenSharingState"]], []).e;
43
- }
44
- logger = (_initProto(this), (0, _logger.createLogger)({
45
- prefix: 'FcrSharingControlImpl'
46
- }));
47
- _observable = new _imports.AgoraObservable();
48
- _isActive = false;
49
- _shareOwnerId = '';
50
- _shareOwnerStream = null;
51
- _streamObserver = {
52
- onStreamsAdded: this._handleOnStreamsAdded.bind(this),
53
- onStreamsRemoved: this._handleOnStreamsRemoved.bind(this)
54
- };
55
- _sceneObserver = {
56
- onScenePropertiesUpdated: this._handleOnScenePropertiesUpdated.bind(this)
57
- };
58
-
59
- // TODO: 这里不应该再维护一套白板的状态和事件了, ui-scene 应该直接用 board control 的
60
- _whiteboardObserver = {
61
- onActive: this._handleOnWhiteboardActive.bind(this),
62
- onInactive: this._handleOnWhiteboardInActive.bind(this)
63
- };
64
48
  get ownerId() {
65
49
  return this._shareOwnerId;
66
50
  }
@@ -68,6 +52,25 @@ class FcrSharingControlImpl {
68
52
  return this._shareOwnerStream;
69
53
  }
70
54
  constructor(_scene, _api, _engine, _privilegeControl, _streamControl, _sharedCache, _userControl) {
55
+ (0, _defineProperty2.default)(this, "logger", (_initProto(this), (0, _logger.createLogger)({
56
+ prefix: 'FcrSharingControlImpl'
57
+ })));
58
+ (0, _defineProperty2.default)(this, "_observable", new _imports.AgoraObservable());
59
+ (0, _defineProperty2.default)(this, "_isActive", false);
60
+ (0, _defineProperty2.default)(this, "_shareOwnerId", '');
61
+ (0, _defineProperty2.default)(this, "_shareOwnerStream", null);
62
+ (0, _defineProperty2.default)(this, "_streamObserver", {
63
+ onStreamsAdded: this._handleOnStreamsAdded.bind(this),
64
+ onStreamsRemoved: this._handleOnStreamsRemoved.bind(this)
65
+ });
66
+ (0, _defineProperty2.default)(this, "_sceneObserver", {
67
+ onScenePropertiesUpdated: this._handleOnScenePropertiesUpdated.bind(this)
68
+ });
69
+ // TODO: 这里不应该再维护一套白板的状态和事件了, ui-scene 应该直接用 board control 的
70
+ (0, _defineProperty2.default)(this, "_whiteboardObserver", {
71
+ onActive: this._handleOnWhiteboardActive.bind(this),
72
+ onInactive: this._handleOnWhiteboardInActive.bind(this)
73
+ });
71
74
  this._scene = _scene;
72
75
  this._api = _api;
73
76
  this._engine = _engine;
@@ -82,7 +85,7 @@ class FcrSharingControlImpl {
82
85
  this._streamControl.addObserver(this._streamObserver);
83
86
  this._whiteboardControl.addObserver(this._whiteboardObserver);
84
87
  this._scene.addObserver(this._sceneObserver);
85
- this.logger.info(`initialized, room id: ${this._scene.sceneId}`);
88
+ this.logger.info("initialized, room id: ".concat(this._scene.sceneId));
86
89
  }
87
90
  async startScreenSharing(config, size) {
88
91
  try {
@@ -99,9 +102,9 @@ class FcrSharingControlImpl {
99
102
  const currentShareState = this.getScreenSharingState();
100
103
  if (currentShareState === _type.FcrScreenSharingState.START_ONLY_SCREEN) {
101
104
  if (enableAnnotation) {
102
- return this._api.toggleAnnotationActivityState(this._scene.sceneId, _enums.FcrSharePermissionState.ON);
105
+ return this._api.toggleAnnotationActivityState(this._scene.sceneId, _type.FcrSharePermissionState.ON);
103
106
  } else {
104
- return this._api.toggleAnnotationActivityState(this._scene.sceneId, _enums.FcrSharePermissionState.OFF);
107
+ return this._api.toggleAnnotationActivityState(this._scene.sceneId, _type.FcrSharePermissionState.OFF);
105
108
  }
106
109
  }
107
110
  return Promise.resolve();
@@ -133,9 +136,25 @@ class FcrSharingControlImpl {
133
136
  }
134
137
  getAnnotationControl() {
135
138
  if (!this._annotationControl) {
136
- this._annotationControl = new _annotationControl.FcrAnnotationControlFactoryImpl(
139
+ const {
140
+ userId,
141
+ userName
142
+ } = this._userControl.getLocalUser();
143
+ const annotationConfig = {
144
+ userId,
145
+ userName,
146
+ roomId: this._scene.sceneId,
147
+ boardRatio: 1,
148
+ size: {
149
+ width: 1280,
150
+ height: 720
151
+ }
152
+ };
153
+ const permissions = this._privilegeControl.getAllLocalUserPermissionInfo();
154
+ const hasOperationPrivilege = (0, _utils.hasAnnotationWritePermission)(permissions);
155
+ this._annotationControl = new _factory2.FcrAnnotationControlFactoryImpl().createForMainProcess(
137
156
  // @ts-ignore
138
- this._engine._rtmClient._client, this._scene, this._streamControl, this._userControl, this._privilegeControl, this._api).createForMainProcess();
157
+ this._engine._rtmClient._client, hasOperationPrivilege, annotationConfig, this._api);
139
158
  }
140
159
  return this._annotationControl;
141
160
  }
@@ -152,9 +171,22 @@ class FcrSharingControlImpl {
152
171
  }
153
172
  getBoardControl() {
154
173
  if (!this._whiteboardControl) {
155
- this._whiteboardControl = new _whiteboardControl.FcrWhiteboardControlFactoryImpl(
174
+ const factory = new _factory.FcrWhiteboardControlFactoryImpl();
175
+ const permissions = this._privilegeControl.getAllLocalUserPermissionInfo();
176
+ const hasOperationPrivilege = (0, _utils.hasBoardWritePermission)(permissions);
177
+ const {
178
+ userId,
179
+ userName
180
+ } = this._userControl.getLocalUser();
181
+ const boardConfig = {
182
+ userId,
183
+ userName,
184
+ roomId: this._scene.sceneId,
185
+ boardRatio: 0
186
+ };
187
+ this._whiteboardControl = factory.createForMainProcess(
156
188
  // @ts-ignore
157
- this._engine._rtmClient._client, this._scene, this._api, this._sharedCache, this._privilegeControl).createForMainProcess();
189
+ this._engine._rtmClient._client, hasOperationPrivilege, boardConfig, this._scene, this._api, this._sharedCache);
158
190
  }
159
191
  return this._whiteboardControl;
160
192
  }
@@ -198,8 +230,9 @@ class FcrSharingControlImpl {
198
230
  if (this.getScreenSharingState() === _type.FcrScreenSharingState.END) {
199
231
  const isMeSharing = ownerId === this._userControl.getLocalUser().userId;
200
232
  if (isMeSharing) {
233
+ var _this$_annotationCont;
201
234
  this.logger.info('[sharing]: on stream removed, clean before terminal Annotation app');
202
- this._annotationControl.getMainWindow()?.clean();
235
+ (_this$_annotationCont = this._annotationControl.getMainWindow()) === null || _this$_annotationCont === void 0 || _this$_annotationCont.clean();
203
236
  }
204
237
  }
205
238
  }
@@ -209,26 +242,29 @@ class FcrSharingControlImpl {
209
242
  const {
210
243
  cause
211
244
  } = event;
212
- const causeData = cause?.data;
245
+ const causeData = cause === null || cause === void 0 ? void 0 : cause.data;
213
246
  const currentScreenSharingState = this.getScreenSharingState();
214
- const causeCmd = cause?.cmd;
247
+ const causeCmd = cause === null || cause === void 0 ? void 0 : cause.cmd;
215
248
  if (currentScreenSharingState === _type.FcrScreenSharingState.END) {
216
- if (causeData && causeCmd === 10 && causeData.widgetUuid === 'annotation') {
217
- if (causeData.widgetCause?.cmd === 1) {
249
+ if (causeData && causeCmd === 10 && causeData.widgetUuid === _type2.FcrWidgetUuid.ANNOTATION) {
250
+ var _causeData$widgetCaus;
251
+ if (((_causeData$widgetCaus = causeData.widgetCause) === null || _causeData$widgetCaus === void 0 ? void 0 : _causeData$widgetCaus.cmd) === _type2.FcrWidgetCauseCmd.ANNOTATION) {
218
252
  this._observable.notifyObservers('onScreenSharingUpdated', this.ownerStream, _type.FcrScreenSharingState.END);
219
253
  const isMeSharing = this.ownerId === this._userControl.getLocalUser().userId;
220
254
  if (isMeSharing) {
255
+ var _this$_annotationCont2;
221
256
  this.logger.info('clean annotation board');
222
- this._annotationControl.getMainWindow()?.clean();
257
+ (_this$_annotationCont2 = this._annotationControl.getMainWindow()) === null || _this$_annotationCont2 === void 0 || _this$_annotationCont2.clean();
223
258
  }
224
259
  }
225
260
  }
226
261
  } else {
227
262
  // 当屏幕共享开启时
228
- if (causeData && causeCmd === 10 && causeData.widgetUuid === 'annotation') {
229
- if (causeData.widgetCause?.cmd === 1) {
263
+ if (causeData && causeCmd === 10 && causeData.widgetUuid === _type2.FcrWidgetUuid.ANNOTATION) {
264
+ var _causeData$widgetCaus2;
265
+ if (((_causeData$widgetCaus2 = causeData.widgetCause) === null || _causeData$widgetCaus2 === void 0 ? void 0 : _causeData$widgetCaus2.cmd) === _type2.FcrWidgetCauseCmd.ANNOTATION) {
230
266
  const screenStream = this._getScreenShareStreamByUuid();
231
- this._observable.notifyObservers('onScreenSharingUpdated', screenStream ?? this.ownerStream, _type.FcrScreenSharingState.START_WHIT_ANNOTATION);
267
+ this._observable.notifyObservers('onScreenSharingUpdated', screenStream !== null && screenStream !== void 0 ? screenStream : this.ownerStream, _type.FcrScreenSharingState.START_WHIT_ANNOTATION);
232
268
  // const owner = this._userControl.getUser(this.ownerId);
233
269
  // const isElectron =
234
270
  // owner &&
@@ -274,4 +310,6 @@ class FcrSharingControlImpl {
274
310
  this.addObserver((0, _logger.generateLogObserver)(this.logger, ['onScreenSharingUpdated', 'onWhiteboardStarted', 'onWhiteboardEnded']));
275
311
  }
276
312
  }
277
- exports.FcrSharingControlImpl = FcrSharingControlImpl;
313
+ exports.FcrSharingControlImpl = FcrSharingControlImpl;
314
+ _FcrSharingControlImpl = FcrSharingControlImpl;
315
+ [_initProto] = _applyDecs(_FcrSharingControlImpl, [[_imports.trace, 2, "startScreenSharing"], [_imports.trace, 2, "startWhiteboard"], [_imports.trace, 2, "updateScreenSharing"], [_imports.trace, 2, "stop"], [_imports.trace, 2, "getScreenSharingState"]], []).e;
@@ -1,8 +1,8 @@
1
1
  import { FcrStreamInfo, FcrUserInfo } from '../../type';
2
2
  import { FcrScreenStreamCreateConfig, FcrSize } from '../stream-control/type';
3
- import { FcrPrivilegedAnnotationControl } from '../whiteboard-control-v2/annotation-control/type';
4
- import { FcrPrivilegedWhiteboardControl } from '../whiteboard-control-v2/whiteboard-control/type';
5
- import { FcrBoardInactiveReason } from '../whiteboard-control/types';
3
+ import { FcrBoardInactiveReason } from '../whiteboard-control/enum';
4
+ import { FcrAnnotationControl } from '../whiteboard-control-v2/annotation-control/type';
5
+ import { FcrWhiteboardControl } from '../whiteboard-control-v2/whiteboard-control/type';
6
6
  export interface FcrSharingControl {
7
7
  startScreenSharing(config: FcrScreenStreamCreateConfig, size?: FcrSize): Promise<string>;
8
8
  startWhiteboard(): Promise<void>;
@@ -10,8 +10,8 @@ export interface FcrSharingControl {
10
10
  stop(): Promise<void>;
11
11
  getScreenSharingState(): FcrScreenSharingState;
12
12
  getWhiteboardState(): FcrWhiteboardState;
13
- getAnnotationControl(): FcrPrivilegedAnnotationControl;
14
- getBoardControl(): FcrPrivilegedWhiteboardControl;
13
+ getAnnotationControl(): FcrAnnotationControl;
14
+ getBoardControl(): FcrWhiteboardControl;
15
15
  getSharingWindowSize(): FcrSize | undefined;
16
16
  addObserver(observer: FcrSharingObserver): void;
17
17
  removeObserver(observer: FcrSharingObserver): void;
@@ -30,3 +30,7 @@ export declare enum FcrWhiteboardState {
30
30
  END = 0,
31
31
  START = 1
32
32
  }
33
+ export declare enum FcrSharePermissionState {
34
+ ON = 1,
35
+ OFF = 0
36
+ }
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.FcrWhiteboardState = exports.FcrScreenSharingState = void 0;
6
+ exports.FcrWhiteboardState = exports.FcrSharePermissionState = exports.FcrScreenSharingState = void 0;
7
7
  let FcrScreenSharingState = exports.FcrScreenSharingState = /*#__PURE__*/function (FcrScreenSharingState) {
8
8
  FcrScreenSharingState[FcrScreenSharingState["END"] = 0] = "END";
9
9
  FcrScreenSharingState[FcrScreenSharingState["START_ONLY_SCREEN"] = 1] = "START_ONLY_SCREEN";
@@ -14,4 +14,9 @@ let FcrWhiteboardState = exports.FcrWhiteboardState = /*#__PURE__*/function (Fcr
14
14
  FcrWhiteboardState[FcrWhiteboardState["END"] = 0] = "END";
15
15
  FcrWhiteboardState[FcrWhiteboardState["START"] = 1] = "START";
16
16
  return FcrWhiteboardState;
17
+ }({});
18
+ let FcrSharePermissionState = exports.FcrSharePermissionState = /*#__PURE__*/function (FcrSharePermissionState) {
19
+ FcrSharePermissionState[FcrSharePermissionState["ON"] = 1] = "ON";
20
+ FcrSharePermissionState[FcrSharePermissionState["OFF"] = 0] = "OFF";
21
+ return FcrSharePermissionState;
17
22
  }({});
@@ -1 +1,8 @@
1
- export {};
1
+ import { AgoraRteRenderView } from '../../imports';
2
+ export declare class FcrSubscribedStreamsControl {
3
+ private logger;
4
+ getViewId(element: AgoraRteRenderView): string;
5
+ isEmpty(streamId: string): boolean;
6
+ bind(viewId: string, streamId: string): void;
7
+ unbind(viewId: string, streamId: string): void;
8
+ }