fcr-core 3.10.2 → 3.10.5
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/engine/index.js +102 -108
- package/lib/imports.js +1 -0
- package/lib/media-control/desktop.js +22 -13
- package/lib/media-control/mobile.js +27 -19
- package/lib/media-control/type.d.ts +3 -3
- package/lib/monitor-control/index.js +17 -7
- package/lib/peer-session/index.js +120 -121
- package/lib/plugins/chat/chatroom.js +119 -96
- package/lib/plugins/chat/connector.js +69 -48
- package/lib/remote-control/index.js +194 -216
- package/lib/room-control/ability-control/index.js +20 -10
- package/lib/room-control/application-control/index.js +82 -75
- package/lib/room-control/group-control/index.js +31 -30
- package/lib/room-control/helpers/board-init-info-helper.js +16 -10
- package/lib/room-control/helpers/validation-helper.js +1 -1
- package/lib/room-control/index.js +70 -51
- package/lib/room-control/infinity-room-control/index.js +27 -19
- package/lib/room-control/interpreter-control/index.js +77 -65
- package/lib/room-control/interpreter-control/room.js +6 -4
- package/lib/room-control/join-before-host-waitingroom-control/index.js +6 -4
- package/lib/room-control/mainroom-control/index.js +37 -25
- package/lib/room-control/privilege-control/helper.js +28 -13
- package/lib/room-control/privilege-control/index.js +36 -28
- package/lib/room-control/room-connector-control/index.js +52 -49
- package/lib/room-control/room-connector-control/type.d.ts +1 -1
- package/lib/room-control/room-control-factory.js +10 -12
- package/lib/room-control/room-session/index.js +77 -74
- package/lib/room-control/shared-cache.js +63 -56
- package/lib/room-control/sharing-control/index.js +65 -57
- package/lib/room-control/stream-control/index.js +197 -193
- package/lib/room-control/stt-control/de-compress-gzip.js +10 -0
- package/lib/room-control/stt-control/index.js +93 -86
- package/lib/room-control/user-control/index.js +162 -155
- package/lib/room-control/waitingroom-control/index.js +18 -9
- package/lib/room-control/whiteboard-control/utils.js +4 -2
- package/lib/room-control/whiteboard-control-v1/board-subwindow.js +2 -1
- package/lib/room-control/whiteboard-control-v1/board-window.js +120 -103
- package/lib/room-control/whiteboard-control-v1/factory.js +7 -4
- package/lib/room-control/whiteboard-control-v1/index.js +80 -67
- package/lib/room-control/whiteboard-control-v1/mount-manager.js +4 -2
- package/lib/room-control/whiteboard-control-v1/utils.js +17 -14
- package/lib/room-control/whiteboard-control-v2/annotation-control/control.js +14 -10
- package/lib/room-control/whiteboard-control-v2/annotation-control/factory.js +17 -8
- package/lib/room-control/whiteboard-control-v2/base/index.js +61 -53
- package/lib/room-control/whiteboard-control-v2/base/main-window.js +39 -30
- package/lib/room-control/whiteboard-control-v2/utils.js +10 -10
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/control.js +45 -33
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/factory.js +27 -11
- package/lib/room-control/widget-control/index.js +43 -33
- package/lib/room-router/index.js +66 -58
- package/lib/schema.d.ts +15 -15
- package/lib/service/api.js +446 -548
- package/lib/struct.js +5 -2
- package/lib/utilities/abortable-retry.js +3 -0
- package/lib/utilities/collection.js +15 -11
- package/lib/utilities/error-helpers.js +34 -27
- package/lib/utilities/error.js +4 -3
- package/lib/utilities/join-helper.js +37 -31
- package/lib/utilities/logger.js +8 -5
- package/lib/utilities/parameters.js +21 -10
- package/lib/utilities/retry-helpers.js +1 -0
- package/lib/utilities/stream.js +16 -11
- package/lib/utilities/user.js +4 -3
- package/lib/utilities/validate-params.js +1 -1
- package/lib/utilities/video-encoder-config.js +10 -5
- package/lib-es/engine/index.js +102 -108
- package/lib-es/media-control/desktop.js +22 -13
- package/lib-es/media-control/mobile.js +27 -19
- package/lib-es/monitor-control/index.js +16 -7
- package/lib-es/peer-session/index.js +120 -121
- package/lib-es/plugins/chat/chatroom.js +118 -95
- package/lib-es/plugins/chat/connector.js +67 -47
- package/lib-es/remote-control/index.js +194 -216
- package/lib-es/room-control/ability-control/index.js +19 -10
- package/lib-es/room-control/application-control/index.js +81 -75
- package/lib-es/room-control/group-control/index.js +31 -30
- package/lib-es/room-control/helpers/board-init-info-helper.js +15 -10
- package/lib-es/room-control/helpers/validation-helper.js +1 -1
- package/lib-es/room-control/index.js +69 -51
- package/lib-es/room-control/infinity-room-control/index.js +26 -19
- package/lib-es/room-control/interpreter-control/index.js +77 -65
- package/lib-es/room-control/interpreter-control/room.js +5 -4
- package/lib-es/room-control/join-before-host-waitingroom-control/index.js +5 -4
- package/lib-es/room-control/mainroom-control/index.js +37 -25
- package/lib-es/room-control/privilege-control/helper.js +27 -13
- package/lib-es/room-control/privilege-control/index.js +36 -28
- package/lib-es/room-control/room-connector-control/index.js +52 -49
- package/lib-es/room-control/room-control-factory.js +10 -12
- package/lib-es/room-control/room-session/index.js +77 -74
- package/lib-es/room-control/shared-cache.js +62 -56
- package/lib-es/room-control/sharing-control/index.js +64 -57
- package/lib-es/room-control/stream-control/index.js +197 -193
- package/lib-es/room-control/stt-control/de-compress-gzip.js +10 -0
- package/lib-es/room-control/stt-control/index.js +93 -86
- package/lib-es/room-control/user-control/index.js +162 -155
- package/lib-es/room-control/waitingroom-control/index.js +18 -9
- package/lib-es/room-control/whiteboard-control/utils.js +4 -2
- package/lib-es/room-control/whiteboard-control-v1/board-subwindow.js +2 -1
- package/lib-es/room-control/whiteboard-control-v1/board-window.js +120 -103
- package/lib-es/room-control/whiteboard-control-v1/factory.js +6 -4
- package/lib-es/room-control/whiteboard-control-v1/index.js +80 -67
- package/lib-es/room-control/whiteboard-control-v1/mount-manager.js +3 -2
- package/lib-es/room-control/whiteboard-control-v1/utils.js +17 -14
- package/lib-es/room-control/whiteboard-control-v2/annotation-control/control.js +13 -10
- package/lib-es/room-control/whiteboard-control-v2/annotation-control/factory.js +16 -8
- package/lib-es/room-control/whiteboard-control-v2/base/index.js +60 -53
- package/lib-es/room-control/whiteboard-control-v2/base/main-window.js +39 -30
- package/lib-es/room-control/whiteboard-control-v2/utils.js +10 -10
- package/lib-es/room-control/whiteboard-control-v2/whiteboard-control/control.js +45 -33
- package/lib-es/room-control/whiteboard-control-v2/whiteboard-control/factory.js +26 -11
- package/lib-es/room-control/widget-control/index.js +42 -33
- package/lib-es/room-router/index.js +66 -58
- package/lib-es/service/api.js +445 -548
- package/lib-es/struct.js +4 -2
- package/lib-es/utilities/abortable-retry.js +3 -0
- package/lib-es/utilities/collection.js +14 -11
- package/lib-es/utilities/error-helpers.js +33 -26
- package/lib-es/utilities/error.js +4 -3
- package/lib-es/utilities/join-helper.js +36 -29
- package/lib-es/utilities/logger.js +7 -5
- package/lib-es/utilities/parameters.js +21 -10
- package/lib-es/utilities/retry-helpers.js +1 -0
- package/lib-es/utilities/stream.js +15 -11
- package/lib-es/utilities/user.js +4 -3
- package/lib-es/utilities/validate-params.js +1 -1
- package/lib-es/utilities/video-encoder-config.js +10 -5
- package/package.json +4 -4
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
require("core-js/modules/es.symbol.description.js");
|
|
3
4
|
require("core-js/modules/es.array.push.js");
|
|
4
5
|
require("core-js/modules/esnext.function.metadata.js");
|
|
5
6
|
require("core-js/modules/esnext.map.delete-all.js");
|
|
@@ -17,11 +18,17 @@ require("core-js/modules/esnext.map.reduce.js");
|
|
|
17
18
|
require("core-js/modules/esnext.map.some.js");
|
|
18
19
|
require("core-js/modules/esnext.map.update.js");
|
|
19
20
|
require("core-js/modules/esnext.symbol.metadata.js");
|
|
21
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
22
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
20
23
|
Object.defineProperty(exports, "__esModule", {
|
|
21
24
|
value: true
|
|
22
25
|
});
|
|
23
26
|
exports.FcrBaseWhiteboardControlImpl = void 0;
|
|
27
|
+
require("core-js/modules/es.error.cause.js");
|
|
24
28
|
require("core-js/modules/es.json.stringify.js");
|
|
29
|
+
require("core-js/modules/es.regexp.exec.js");
|
|
30
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
31
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
32
|
var _forgeRoom = require("@netless/forge-room");
|
|
26
33
|
var _forgeRtm = require("@netless/forge-rtm");
|
|
27
34
|
var _forgeWhiteboard = require("@netless/forge-whiteboard");
|
|
@@ -31,6 +38,7 @@ var _error = require("../../../utilities/error");
|
|
|
31
38
|
var _logger = require("../../../utilities/logger");
|
|
32
39
|
var _constant = require("../constant");
|
|
33
40
|
var _mainWindow = require("./main-window");
|
|
41
|
+
var _FcrBaseWhiteboardControlImpl;
|
|
34
42
|
let _initProto;
|
|
35
43
|
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
44
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
@@ -41,34 +49,31 @@ function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side
|
|
|
41
49
|
|
|
42
50
|
const WHITEBOARD_ROOM_JOIN_TIMEOUT = 20000;
|
|
43
51
|
class FcrBaseWhiteboardControlImpl {
|
|
44
|
-
static {
|
|
45
|
-
[_initProto] = _applyDecs(this, [[_imports.trace, 2, "open"], [_imports.trace, 2, "close"], [_imports.trace, 2, "release"], [_imports.trace, 2, "getConnectionState"], [_imports.trace, 2, "getMainWindow"]], []).e;
|
|
46
|
-
}
|
|
47
|
-
logger = (_initProto(this), (0, _logger.createLogger)({
|
|
48
|
-
prefix: 'FcrBaseWhiteboardControl'
|
|
49
|
-
}));
|
|
50
|
-
observable = new _imports.AgoraObservable();
|
|
51
|
-
boardView = null;
|
|
52
|
-
boardRoom = null;
|
|
53
|
-
whiteboard = null;
|
|
54
|
-
connectState = _type.FcrConnectionState.DISCONNECTED;
|
|
55
|
-
boardRoomConfig = null;
|
|
56
|
-
_waitPromise = null;
|
|
57
|
-
_waitPromiseResolve = null;
|
|
58
|
-
_waitPromiseReject = null;
|
|
59
|
-
_openAbortController = null;
|
|
60
|
-
_openState = {
|
|
61
|
-
isOpen: false,
|
|
62
|
-
isNeedLaunch: undefined
|
|
63
|
-
};
|
|
64
52
|
constructor(rtmClient, config, boardRoomConfigFetcher, api) {
|
|
53
|
+
(0, _defineProperty2.default)(this, "logger", (_initProto(this), (0, _logger.createLogger)({
|
|
54
|
+
prefix: 'FcrBaseWhiteboardControl'
|
|
55
|
+
})));
|
|
56
|
+
(0, _defineProperty2.default)(this, "observable", new _imports.AgoraObservable());
|
|
57
|
+
(0, _defineProperty2.default)(this, "boardView", null);
|
|
58
|
+
(0, _defineProperty2.default)(this, "boardRoom", null);
|
|
59
|
+
(0, _defineProperty2.default)(this, "whiteboard", null);
|
|
60
|
+
(0, _defineProperty2.default)(this, "connectState", _type.FcrConnectionState.DISCONNECTED);
|
|
61
|
+
(0, _defineProperty2.default)(this, "boardRoomConfig", null);
|
|
62
|
+
(0, _defineProperty2.default)(this, "_waitPromise", null);
|
|
63
|
+
(0, _defineProperty2.default)(this, "_waitPromiseResolve", null);
|
|
64
|
+
(0, _defineProperty2.default)(this, "_waitPromiseReject", null);
|
|
65
|
+
(0, _defineProperty2.default)(this, "_openAbortController", null);
|
|
66
|
+
(0, _defineProperty2.default)(this, "_openState", {
|
|
67
|
+
isOpen: false,
|
|
68
|
+
isNeedLaunch: undefined
|
|
69
|
+
});
|
|
65
70
|
this.rtmClient = rtmClient;
|
|
66
71
|
this.config = config;
|
|
67
72
|
this.api = api;
|
|
68
73
|
this.boardRoomConfigFetcherTask = _imports.AgoraScheduler.shared.addPollingTask(async () => {
|
|
69
74
|
const boardRoomConfig = await boardRoomConfigFetcher();
|
|
70
75
|
this.boardRoomConfig = boardRoomConfig;
|
|
71
|
-
this.logger.info(
|
|
76
|
+
this.logger.info("fetch board room config success, config: ".concat((0, _imports.jsonstring)(boardRoomConfig)));
|
|
72
77
|
this.boardRoomConfigFetcherTask.stop();
|
|
73
78
|
if (this._openState.isOpen) {
|
|
74
79
|
this.connect(this._openState.isNeedLaunch);
|
|
@@ -153,7 +158,7 @@ class FcrBaseWhiteboardControlImpl {
|
|
|
153
158
|
}
|
|
154
159
|
const oldState = this.connectState;
|
|
155
160
|
this.connectState = state;
|
|
156
|
-
this.logger.info(
|
|
161
|
+
this.logger.info("Connection state updated: ".concat(_type.FcrConnectionState[oldState], " -> ").concat(_type.FcrConnectionState[state]));
|
|
157
162
|
this.observable.notifyObservers('onConnectionStateUpdated', state);
|
|
158
163
|
}
|
|
159
164
|
async connect(isNeedLaunch) {
|
|
@@ -168,18 +173,15 @@ class FcrBaseWhiteboardControlImpl {
|
|
|
168
173
|
abortController.signal.addEventListener('abort', () => {
|
|
169
174
|
reject(new Error('join board aborted'));
|
|
170
175
|
});
|
|
171
|
-
const
|
|
172
|
-
userId,
|
|
173
|
-
userName,
|
|
174
|
-
ipList
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
boardToken
|
|
181
|
-
// boardPerformance = false,
|
|
182
|
-
} = this.boardRoomConfig || {};
|
|
176
|
+
const _this$config = this.config,
|
|
177
|
+
userId = _this$config.userId,
|
|
178
|
+
userName = _this$config.userName,
|
|
179
|
+
ipList = _this$config.ipList;
|
|
180
|
+
const _ref = this.boardRoomConfig || {},
|
|
181
|
+
boardAppId = _ref.boardAppId,
|
|
182
|
+
boardId = _ref.boardId,
|
|
183
|
+
boardRegion = _ref.boardRegion,
|
|
184
|
+
boardToken = _ref.boardToken;
|
|
183
185
|
if (!boardAppId) {
|
|
184
186
|
throw (0, _error.generateFcrCoreClientError)(_imports.ErrorModuleCode.FCR_ROOM_WHITEBOARD, _imports.DetailErrorCode.UNDEFINED_ERROR, 'boardAppId is required');
|
|
185
187
|
}
|
|
@@ -193,21 +195,21 @@ class FcrBaseWhiteboardControlImpl {
|
|
|
193
195
|
let width = whiteboardOption.width;
|
|
194
196
|
let height = whiteboardOption.height;
|
|
195
197
|
if (!width) {
|
|
196
|
-
this.logger.warn(
|
|
198
|
+
this.logger.warn("board width is a invalid vlaue: ".concat(width, ", using default value 800"));
|
|
197
199
|
whiteboardOption.width = 800;
|
|
198
200
|
}
|
|
199
201
|
if (!height) {
|
|
200
|
-
this.logger.warn(
|
|
202
|
+
this.logger.warn("board height is a invalid value: ".concat(height, ", using default value 600"));
|
|
201
203
|
whiteboardOption.height = 600;
|
|
202
204
|
}
|
|
203
|
-
this.logger.info(
|
|
205
|
+
this.logger.info("open board with boardId: ".concat(boardId, ", boardToken: ").concat(boardToken, ", region: ").concat(boardRegion, ", appIdentifier: ").concat(boardAppId, " whiteboardOption: ").concat((0, _imports.jsonstring)(whiteboardOption)));
|
|
204
206
|
let endpoint = undefined;
|
|
205
207
|
if (ipList !== undefined) {
|
|
206
208
|
if (Array.isArray(ipList) && ipList[0]) {
|
|
207
|
-
this.logger.info(
|
|
209
|
+
this.logger.info("use ipList from config: ".concat((0, _imports.jsonstring)(ipList)));
|
|
208
210
|
endpoint = ipList[0];
|
|
209
211
|
} else {
|
|
210
|
-
this.logger.error(
|
|
212
|
+
this.logger.error("ipList in config is empty or invalid: ".concat((0, _imports.jsonstring)(ipList), ", ignore ipList config"));
|
|
211
213
|
}
|
|
212
214
|
}
|
|
213
215
|
const rtmProvider = new _forgeRtm.RTMProvider_2_2(this.rtmClient);
|
|
@@ -226,14 +228,14 @@ class FcrBaseWhiteboardControlImpl {
|
|
|
226
228
|
// 第一个开启白板的人需要调用 launch 方法, 其他人监听 launch 事件获取白板实例
|
|
227
229
|
if (isNeedLaunch) {
|
|
228
230
|
getWhiteboard = () => {
|
|
229
|
-
this.logger.info(
|
|
231
|
+
this.logger.info("ApplicationManager.launchApplication calling, appId: ".concat(appId, ", option: ").concat((0, _imports.jsonstring)(whiteboardOption)));
|
|
230
232
|
return wbRoom.applicationManager.launchApplication(_forgeWhiteboard.WhiteboardApplication, whiteboardOption, appId);
|
|
231
233
|
};
|
|
232
234
|
} else {
|
|
233
235
|
const launchPromise = new Promise((launchPromseResolve, launchPromseReject) => {
|
|
234
236
|
this.logger.info('ApplicationManager.once launch event listening');
|
|
235
237
|
wbRoom.applicationManager.once('launch', (appId, app) => {
|
|
236
|
-
this.logger.info(
|
|
238
|
+
this.logger.info("ApplicationManager.launch event received, appId: ".concat(appId));
|
|
237
239
|
launchPromseResolve(app);
|
|
238
240
|
});
|
|
239
241
|
});
|
|
@@ -241,7 +243,7 @@ class FcrBaseWhiteboardControlImpl {
|
|
|
241
243
|
return launchPromise;
|
|
242
244
|
};
|
|
243
245
|
}
|
|
244
|
-
|
|
246
|
+
var _await$to = await (0, _imports.to)((0, _imports.retryAttempt)(async () => {
|
|
245
247
|
const joinRoomParams = {
|
|
246
248
|
userId,
|
|
247
249
|
nickName: userName || userId,
|
|
@@ -254,7 +256,7 @@ class FcrBaseWhiteboardControlImpl {
|
|
|
254
256
|
writable: true
|
|
255
257
|
// verboseLog: true,
|
|
256
258
|
};
|
|
257
|
-
this.logger.info(
|
|
259
|
+
this.logger.info("Room.joinRoom calling, params: ".concat((0, _imports.jsonstring)(joinRoomParams), ", timeout: ").concat(WHITEBOARD_ROOM_JOIN_TIMEOUT));
|
|
258
260
|
|
|
259
261
|
// 20 秒超时
|
|
260
262
|
await wbRoom.joinRoom(joinRoomParams, WHITEBOARD_ROOM_JOIN_TIMEOUT);
|
|
@@ -263,28 +265,29 @@ class FcrBaseWhiteboardControlImpl {
|
|
|
263
265
|
if (isNeedLaunch) {
|
|
264
266
|
// 在同一个房间内只有第一次调用 launchApplication 时传入的宽高参数会生效, 后续的调用不会生效, 所以需要在这里更新宽高
|
|
265
267
|
// 只有 launch 的用户需要更新宽、高, 白板会自动同步给后加入的用户
|
|
266
|
-
this.logger.info(
|
|
268
|
+
this.logger.info("Whiteboard.updateViewport calling, width: ".concat(width, ", height: ").concat(height));
|
|
267
269
|
whiteboard.updateViewport(width, height);
|
|
268
270
|
}
|
|
269
271
|
}, [], {
|
|
270
272
|
retriesMax: 0
|
|
271
|
-
}).fail(async
|
|
272
|
-
error,
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
}) => {
|
|
273
|
+
}).fail(async _ref2 => {
|
|
274
|
+
let error = _ref2.error,
|
|
275
|
+
timeFn = _ref2.timeFn,
|
|
276
|
+
currentRetry = _ref2.currentRetry;
|
|
276
277
|
if (abortController.signal.aborted) {
|
|
277
278
|
throw new Error('join board aborted');
|
|
278
279
|
}
|
|
279
|
-
this.logger.error(
|
|
280
|
+
this.logger.error("failed to join board, error: ".concat(error.message, ", current retry: ").concat(currentRetry), error);
|
|
280
281
|
await timeFn();
|
|
281
282
|
return true;
|
|
282
283
|
}).exec());
|
|
284
|
+
var _await$to2 = (0, _slicedToArray2.default)(_await$to, 1);
|
|
285
|
+
error = _await$to2[0];
|
|
283
286
|
if (abortController.signal.aborted) {
|
|
284
287
|
throw new Error('join board aborted');
|
|
285
288
|
}
|
|
286
289
|
if (error) {
|
|
287
|
-
this.logger.error(
|
|
290
|
+
this.logger.error("join board failed, ".concat(error.message, "-").concat(JSON.stringify(error)));
|
|
288
291
|
throw error;
|
|
289
292
|
}
|
|
290
293
|
this.logger.info('Whiteboard camera settings: enableCameraByMouse=false, enableCameraByTouch=false');
|
|
@@ -312,7 +315,7 @@ class FcrBaseWhiteboardControlImpl {
|
|
|
312
315
|
this._clearWaitPromise();
|
|
313
316
|
}
|
|
314
317
|
} catch (e) {
|
|
315
|
-
this.logger.error(
|
|
318
|
+
this.logger.error("join board failed");
|
|
316
319
|
this.updateConnectionState(_type.FcrConnectionState.DISCONNECTED);
|
|
317
320
|
reject(e);
|
|
318
321
|
if (this._waitPromiseReject) {
|
|
@@ -352,4 +355,9 @@ class FcrBaseWhiteboardControlImpl {
|
|
|
352
355
|
this._waitPromise = null;
|
|
353
356
|
}
|
|
354
357
|
}
|
|
355
|
-
exports.FcrBaseWhiteboardControlImpl = FcrBaseWhiteboardControlImpl;
|
|
358
|
+
exports.FcrBaseWhiteboardControlImpl = FcrBaseWhiteboardControlImpl;
|
|
359
|
+
_FcrBaseWhiteboardControlImpl = FcrBaseWhiteboardControlImpl;
|
|
360
|
+
var _applyDecs$e = _applyDecs(_FcrBaseWhiteboardControlImpl, [[_imports.trace, 2, "open"], [_imports.trace, 2, "close"], [_imports.trace, 2, "release"], [_imports.trace, 2, "getConnectionState"], [_imports.trace, 2, "getMainWindow"]], []).e;
|
|
361
|
+
var _applyDecs$e2 = (0, _slicedToArray2.default)(_applyDecs$e, 1);
|
|
362
|
+
_initProto = _applyDecs$e2[0];
|
|
363
|
+
_applyDecs$e;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
require("core-js/modules/es.symbol.description.js");
|
|
3
4
|
require("core-js/modules/es.array.push.js");
|
|
4
5
|
require("core-js/modules/esnext.function.metadata.js");
|
|
5
6
|
require("core-js/modules/esnext.map.delete-all.js");
|
|
@@ -17,11 +18,15 @@ require("core-js/modules/esnext.map.reduce.js");
|
|
|
17
18
|
require("core-js/modules/esnext.map.some.js");
|
|
18
19
|
require("core-js/modules/esnext.map.update.js");
|
|
19
20
|
require("core-js/modules/esnext.symbol.metadata.js");
|
|
21
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
20
22
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
21
23
|
Object.defineProperty(exports, "__esModule", {
|
|
22
24
|
value: true
|
|
23
25
|
});
|
|
24
26
|
exports.FcrBoardMainWindowImpl = void 0;
|
|
27
|
+
require("core-js/modules/es.error.cause.js");
|
|
28
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
29
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
30
|
var _observable = require("agora-foundation/lib/utilities/observable");
|
|
26
31
|
var _utils = require("../utils");
|
|
27
32
|
var _logger = require("../../../utilities/logger");
|
|
@@ -33,25 +38,24 @@ var _decorator = require("agora-foundation/lib/decorator");
|
|
|
33
38
|
var _type = require("../../../type");
|
|
34
39
|
var _error = require("../../../utilities/error");
|
|
35
40
|
var _imports = require("../../../imports");
|
|
36
|
-
|
|
41
|
+
var _FcrBoardMainWindowImpl;
|
|
42
|
+
let _initProto, _setBackgroundColorDecs, _setToolTypeDecs, _setStrokeWidthDecs, _setStrokeColorDecs, _setTextColorDecs, _setTextSizeDecs, _insertImageDecs, _setContainerSizeRatioDecs, _setBoardTransparentDecs, _updateWindowSizeDecs, _setAutoCancelDrawDecs, _handleApplicationLaunchDecs, _handleApplicationTerminalDecs, _enableAutoCancelDecs, _ref;
|
|
37
43
|
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)]; } }; }
|
|
38
44
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
39
45
|
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); }
|
|
40
46
|
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; }
|
|
41
47
|
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; }
|
|
48
|
+
_ref = (_setBackgroundColorDecs = [(0, _log.trace)(['color']), (0, _validateParams.default)(_schema.stringSchema)], _setToolTypeDecs = [(0, _log.trace)(['type']), (0, _validateParams.default)(_schema2.fcrBoardToolTypeSchema)], _setStrokeWidthDecs = [(0, _log.trace)(['strokeWidth']), (0, _validateParams.default)(_schema2.numberSchema)], _setStrokeColorDecs = [(0, _log.trace)(['color']), (0, _validateParams.default)(_schema2.z.union([_schema2.colorSchema, _schema.stringSchema]))], _setTextColorDecs = [(0, _log.trace)(['color']), (0, _validateParams.default)(_schema2.colorSchema)], _setTextSizeDecs = [(0, _log.trace)(['textSize']), (0, _validateParams.default)(_schema2.numberSchema)], _insertImageDecs = [(0, _log.trace)(['resourceUrl', 'x', 'y', 'width', 'height']), (0, _validateParams.default)(_schema.stringSchema, _schema2.numberSchema, _schema2.numberSchema, _schema2.numberSchema, _schema2.numberSchema)], _setContainerSizeRatioDecs = [(0, _log.trace)(['ratio']), (0, _validateParams.default)(_schema2.numberSchema)], _setBoardTransparentDecs = [(0, _log.trace)(['isTransparent']), (0, _validateParams.default)(_schema2.booleanSchema)], _updateWindowSizeDecs = [(0, _log.trace)(['size']), (0, _validateParams.default)(_schema2.fcrSizeSchema)], _setAutoCancelDrawDecs = [(0, _log.trace)(['enable']), (0, _validateParams.default)(_schema2.booleanSchema)], _handleApplicationLaunchDecs = [_decorator.bound, (0, _log.trace)(['appId', 'app'])], _handleApplicationTerminalDecs = [_decorator.bound, (0, _log.trace)(['appId', 'app'])], _enableAutoCancelDecs = (0, _log.trace)(['enable']), "logger");
|
|
42
49
|
class FcrBoardMainWindowImpl {
|
|
43
|
-
static {
|
|
44
|
-
[_initProto] = _applyDecs(this, [[_log.trace, 2, "addPage"], [_log.trace, 2, "removePage"], [_log.trace, 2, "undo"], [_log.trace, 2, "redo"], [_log.trace, 2, "clean"], [_log.trace, 2, "getSnapshotImage"], [_setBackgroundColorDecs, 2, "setBackgroundColor"], [_log.trace, 2, "getPageInfo"], [_log.trace, 2, "prevPage"], [_log.trace, 2, "nextPage"], [_setToolTypeDecs, 2, "setToolType"], [_setStrokeWidthDecs, 2, "setStrokeWidth"], [_setStrokeColorDecs, 2, "setStrokeColor"], [_setTextColorDecs, 2, "setTextColor"], [_setTextSizeDecs, 2, "setTextSize"], [_insertImageDecs, 2, "insertImage"], [_log.trace, 2, "getContentView"], [_setContainerSizeRatioDecs, 2, "setContainerSizeRatio"], [_setBoardTransparentDecs, 2, "setBoardTransparent"], [_updateWindowSizeDecs, 2, "updateWindowSize"], [_setAutoCancelDrawDecs, 2, "setAutoCancelDraw"], [_log.trace, 2, "getWritable"], [_handleApplicationLaunchDecs, 2, "_handleApplicationLaunch"], [_handleApplicationTerminalDecs, 2, "_handleApplicationTerminal"], [_enableAutoCancelDecs, 2, "_enableAutoCancel"]], []).e;
|
|
45
|
-
}
|
|
46
|
-
[(_setBackgroundColorDecs = [(0, _log.trace)(['color']), (0, _validateParams.default)(_schema.stringSchema)], _setToolTypeDecs = [(0, _log.trace)(['type']), (0, _validateParams.default)(_schema2.fcrBoardToolTypeSchema)], _setStrokeWidthDecs = [(0, _log.trace)(['strokeWidth']), (0, _validateParams.default)(_schema2.numberSchema)], _setStrokeColorDecs = [(0, _log.trace)(['color']), (0, _validateParams.default)(_schema2.z.union([_schema2.colorSchema, _schema.stringSchema]))], _setTextColorDecs = [(0, _log.trace)(['color']), (0, _validateParams.default)(_schema2.colorSchema)], _setTextSizeDecs = [(0, _log.trace)(['textSize']), (0, _validateParams.default)(_schema2.numberSchema)], _insertImageDecs = [(0, _log.trace)(['resourceUrl', 'x', 'y', 'width', 'height']), (0, _validateParams.default)(_schema.stringSchema, _schema2.numberSchema, _schema2.numberSchema, _schema2.numberSchema, _schema2.numberSchema)], _setContainerSizeRatioDecs = [(0, _log.trace)(['ratio']), (0, _validateParams.default)(_schema2.numberSchema)], _setBoardTransparentDecs = [(0, _log.trace)(['isTransparent']), (0, _validateParams.default)(_schema2.booleanSchema)], _updateWindowSizeDecs = [(0, _log.trace)(['size']), (0, _validateParams.default)(_schema2.fcrSizeSchema)], _setAutoCancelDrawDecs = [(0, _log.trace)(['enable']), (0, _validateParams.default)(_schema2.booleanSchema)], _handleApplicationLaunchDecs = [_decorator.bound, (0, _log.trace)(['appId', 'app'])], _handleApplicationTerminalDecs = [_decorator.bound, (0, _log.trace)(['appId', 'app'])], _enableAutoCancelDecs = (0, _log.trace)(['enable']), "logger")] = (_initProto(this), (0, _logger.createLogger)({
|
|
47
|
-
prefix: 'FcrBoardMainWindowImpl'
|
|
48
|
-
}));
|
|
49
|
-
_observable = new _observable.AgoraObservable();
|
|
50
|
-
_currentPage = 0;
|
|
51
|
-
_background = 'rgba(0, 0, 0, 0)';
|
|
52
|
-
_isAutoCancelEnabled = false;
|
|
53
|
-
_isWritable = false;
|
|
54
50
|
constructor(whiteboard, boardRoom, appId, _roomId, _userId, _api) {
|
|
51
|
+
(0, _defineProperty2.default)(this, _ref, (_initProto(this), (0, _logger.createLogger)({
|
|
52
|
+
prefix: 'FcrBoardMainWindowImpl'
|
|
53
|
+
})));
|
|
54
|
+
(0, _defineProperty2.default)(this, "_observable", new _observable.AgoraObservable());
|
|
55
|
+
(0, _defineProperty2.default)(this, "_currentPage", 0);
|
|
56
|
+
(0, _defineProperty2.default)(this, "_background", 'rgba(0, 0, 0, 0)');
|
|
57
|
+
(0, _defineProperty2.default)(this, "_isAutoCancelEnabled", false);
|
|
58
|
+
(0, _defineProperty2.default)(this, "_isWritable", false);
|
|
55
59
|
this._roomId = _roomId;
|
|
56
60
|
this._userId = _userId;
|
|
57
61
|
this._api = _api;
|
|
@@ -59,8 +63,8 @@ class FcrBoardMainWindowImpl {
|
|
|
59
63
|
this._boardView = document.createElement('div');
|
|
60
64
|
this._boardView.classList.add('fcr-whiteboard-window-view');
|
|
61
65
|
this._boardView.appendChild(whiteboard.view);
|
|
62
|
-
this._boardView.style.height =
|
|
63
|
-
this._boardView.style.width =
|
|
66
|
+
this._boardView.style.height = "100%";
|
|
67
|
+
this._boardView.style.width = "100%";
|
|
64
68
|
this._boardView.setAttribute('data-app-id', appId);
|
|
65
69
|
this._whiteboard = whiteboard;
|
|
66
70
|
this._boardRoom = boardRoom;
|
|
@@ -70,17 +74,17 @@ class FcrBoardMainWindowImpl {
|
|
|
70
74
|
boardRoom.applicationManager.on('terminal', this._handleApplicationTerminal);
|
|
71
75
|
|
|
72
76
|
// @ts-ignore
|
|
73
|
-
this.logger.info(
|
|
77
|
+
this.logger.info("initialized, room: ".concat(boardRoom.roomId));
|
|
74
78
|
}
|
|
75
79
|
internalSetWritable(isWritable) {
|
|
76
|
-
this.logger.info(
|
|
80
|
+
this.logger.info("internalSetWritable called, isWritable: ".concat(isWritable, ", previous state: ").concat(this._isWritable));
|
|
77
81
|
this._boardRoom.setWritable(isWritable);
|
|
78
82
|
this._isWritable = isWritable;
|
|
79
83
|
this._observable.notifyObservers('onWritable', isWritable);
|
|
80
|
-
this.logger.info(
|
|
84
|
+
this.logger.info("Writable state updated to ".concat(isWritable));
|
|
81
85
|
}
|
|
82
86
|
async setWritable(isWritable) {
|
|
83
|
-
this.logger.info(
|
|
87
|
+
this.logger.info("setWritable called, isWritable: ".concat(isWritable, ", current state: ").concat(this._isWritable));
|
|
84
88
|
if (!this._api) {
|
|
85
89
|
// api deops not exist in sub process, directly set writable state
|
|
86
90
|
this.internalSetWritable(isWritable);
|
|
@@ -90,8 +94,8 @@ class FcrBoardMainWindowImpl {
|
|
|
90
94
|
roomId: this._roomId,
|
|
91
95
|
userId: this._userId,
|
|
92
96
|
state: isWritable ? 1 : 0
|
|
93
|
-
}), _imports.ErrorModuleCode.FCR_ROOM_WHITEBOARD,
|
|
94
|
-
this.logger.info(
|
|
97
|
+
}), _imports.ErrorModuleCode.FCR_ROOM_WHITEBOARD, "set whiteboard write permission to ".concat(isWritable, " failed"));
|
|
98
|
+
this.logger.info("Set writable to ".concat(isWritable, " successfully"));
|
|
95
99
|
this.internalSetWritable(isWritable);
|
|
96
100
|
return _type.FcrReturnCode.SUCCESS;
|
|
97
101
|
}
|
|
@@ -145,7 +149,7 @@ class FcrBoardMainWindowImpl {
|
|
|
145
149
|
}
|
|
146
150
|
async setBackgroundColor(color) {
|
|
147
151
|
this._background = color;
|
|
148
|
-
this.logger.info(
|
|
152
|
+
this.logger.info("set canvas background color: ".concat(this._background));
|
|
149
153
|
this._whiteboard.setCanvasBackgroundColor(color);
|
|
150
154
|
return _type.FcrReturnCode.SUCCESS;
|
|
151
155
|
}
|
|
@@ -181,7 +185,7 @@ class FcrBoardMainWindowImpl {
|
|
|
181
185
|
return _type.FcrReturnCode.SUCCESS;
|
|
182
186
|
}
|
|
183
187
|
async setStrokeColor(color) {
|
|
184
|
-
const c = typeof color === 'string' ? color :
|
|
188
|
+
const c = typeof color === 'string' ? color : "rgb(".concat(color.r, ",").concat(color.g, ",").concat(color.b, ")");
|
|
185
189
|
if (this._whiteboard) {
|
|
186
190
|
this._whiteboard.strokeColor = c;
|
|
187
191
|
} else {
|
|
@@ -190,7 +194,7 @@ class FcrBoardMainWindowImpl {
|
|
|
190
194
|
return _type.FcrReturnCode.SUCCESS;
|
|
191
195
|
}
|
|
192
196
|
async setTextColor(color) {
|
|
193
|
-
const c = typeof color === 'string' ? color :
|
|
197
|
+
const c = typeof color === 'string' ? color : "rgb(".concat(color.r, ",").concat(color.g, ",").concat(color.b, ")");
|
|
194
198
|
if (this._whiteboard) {
|
|
195
199
|
this._whiteboard.fillColor = c;
|
|
196
200
|
} else {
|
|
@@ -258,7 +262,7 @@ class FcrBoardMainWindowImpl {
|
|
|
258
262
|
this._whiteboard = app;
|
|
259
263
|
this._setBoardViewStyle(app.view);
|
|
260
264
|
if (this._background) {
|
|
261
|
-
this.logger.info(
|
|
265
|
+
this.logger.info("set canvas background color: ".concat(this._background));
|
|
262
266
|
this._whiteboard.setCanvasBackgroundColor(this._background);
|
|
263
267
|
}
|
|
264
268
|
this._enableAutoCancel(this._isAutoCancelEnabled);
|
|
@@ -273,19 +277,19 @@ class FcrBoardMainWindowImpl {
|
|
|
273
277
|
_handleApplicationTerminal(appId, app) {
|
|
274
278
|
try {
|
|
275
279
|
if (this._boardView.contains(app.view)) {
|
|
276
|
-
this.logger.info(
|
|
280
|
+
this.logger.info("remove application view: ".concat(appId));
|
|
277
281
|
this._boardView.removeChild(app.view);
|
|
278
282
|
} else {
|
|
279
|
-
this.logger.warn(
|
|
283
|
+
this.logger.warn("application view not found in board view: ".concat(appId));
|
|
280
284
|
}
|
|
281
285
|
} catch (e) {
|
|
282
|
-
this.logger.error(
|
|
286
|
+
this.logger.error("failed to handle terminal: ".concat(appId), e);
|
|
283
287
|
}
|
|
284
288
|
return _type.FcrReturnCode.SUCCESS;
|
|
285
289
|
}
|
|
286
290
|
_setBoardViewStyle(view) {
|
|
287
|
-
view.style.height =
|
|
288
|
-
view.style.width =
|
|
291
|
+
view.style.height = "100%";
|
|
292
|
+
view.style.width = "100%";
|
|
289
293
|
view.style.backgroundColor = 'rgba(0, 0, 0, 0)';
|
|
290
294
|
}
|
|
291
295
|
_enableAutoCancel(enable) {
|
|
@@ -299,4 +303,9 @@ class FcrBoardMainWindowImpl {
|
|
|
299
303
|
this.addObserver((0, _logger.generateLogObserver)(this.logger, [['onWritable', ['isWritable']], ['onPageInfoUpdated', ['info']], ['onUndoStateUpdated', ['enable']], ['onRedoStateUpdated', ['enable']]]));
|
|
300
304
|
}
|
|
301
305
|
}
|
|
302
|
-
exports.FcrBoardMainWindowImpl = FcrBoardMainWindowImpl;
|
|
306
|
+
exports.FcrBoardMainWindowImpl = FcrBoardMainWindowImpl;
|
|
307
|
+
_FcrBoardMainWindowImpl = FcrBoardMainWindowImpl;
|
|
308
|
+
var _applyDecs$e = _applyDecs(_FcrBoardMainWindowImpl, [[_log.trace, 2, "addPage"], [_log.trace, 2, "removePage"], [_log.trace, 2, "undo"], [_log.trace, 2, "redo"], [_log.trace, 2, "clean"], [_log.trace, 2, "getSnapshotImage"], [_setBackgroundColorDecs, 2, "setBackgroundColor"], [_log.trace, 2, "getPageInfo"], [_log.trace, 2, "prevPage"], [_log.trace, 2, "nextPage"], [_setToolTypeDecs, 2, "setToolType"], [_setStrokeWidthDecs, 2, "setStrokeWidth"], [_setStrokeColorDecs, 2, "setStrokeColor"], [_setTextColorDecs, 2, "setTextColor"], [_setTextSizeDecs, 2, "setTextSize"], [_insertImageDecs, 2, "insertImage"], [_log.trace, 2, "getContentView"], [_setContainerSizeRatioDecs, 2, "setContainerSizeRatio"], [_setBoardTransparentDecs, 2, "setBoardTransparent"], [_updateWindowSizeDecs, 2, "updateWindowSize"], [_setAutoCancelDrawDecs, 2, "setAutoCancelDraw"], [_log.trace, 2, "getWritable"], [_handleApplicationLaunchDecs, 2, "_handleApplicationLaunch"], [_handleApplicationTerminalDecs, 2, "_handleApplicationTerminal"], [_enableAutoCancelDecs, 2, "_enableAutoCancel"]], []).e;
|
|
309
|
+
var _applyDecs$e2 = (0, _slicedToArray2.default)(_applyDecs$e, 1);
|
|
310
|
+
_initProto = _applyDecs$e2[0];
|
|
311
|
+
_applyDecs$e;
|
|
@@ -48,11 +48,11 @@ const getAnnotationConfigFromRoomProperties = (properties, logger) => {
|
|
|
48
48
|
let width = (0, _imports.get)(properties, 'widgets.annotation.size.width');
|
|
49
49
|
let height = (0, _imports.get)(properties, 'widgets.annotation.size.height');
|
|
50
50
|
if (typeof width !== 'number') {
|
|
51
|
-
logger.warn(
|
|
51
|
+
logger.warn("got invalid width for annotation board, width: ".concat(width));
|
|
52
52
|
width = 0;
|
|
53
53
|
}
|
|
54
54
|
if (typeof height !== 'number') {
|
|
55
|
-
logger.warn(
|
|
55
|
+
logger.warn("got invalid height for annotation board, height: ".concat(height));
|
|
56
56
|
height = 0;
|
|
57
57
|
}
|
|
58
58
|
const boardWidthVal = width;
|
|
@@ -60,21 +60,20 @@ const getAnnotationConfigFromRoomProperties = (properties, logger) => {
|
|
|
60
60
|
let boardWidth = 0;
|
|
61
61
|
let boardHeight = 0;
|
|
62
62
|
if (boardWidthVal !== 0 && boardHeightVal !== 0) {
|
|
63
|
-
(
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
} = resizeToMax(boardWidthVal, boardHeightVal, FCR_ANNOTATION_SCALE_BASE));
|
|
63
|
+
var _resizeToMax = resizeToMax(boardWidthVal, boardHeightVal, FCR_ANNOTATION_SCALE_BASE);
|
|
64
|
+
boardWidth = _resizeToMax.width;
|
|
65
|
+
boardHeight = _resizeToMax.height;
|
|
67
66
|
} else {
|
|
68
|
-
logger.warn(
|
|
67
|
+
logger.warn("got invalid width or height for annotation board, skip resizing, width: ".concat(boardWidthVal, ", height: ").concat(boardHeightVal));
|
|
69
68
|
}
|
|
70
|
-
logger.info(
|
|
69
|
+
logger.info("got board config info, ".concat((0, _imports.jsonstring)({
|
|
71
70
|
boardAppId,
|
|
72
71
|
boardId,
|
|
73
72
|
boardToken,
|
|
74
73
|
boardRegion,
|
|
75
74
|
boardWidth,
|
|
76
75
|
boardHeight
|
|
77
|
-
})
|
|
76
|
+
})));
|
|
78
77
|
return {
|
|
79
78
|
size: {
|
|
80
79
|
width: boardWidth,
|
|
@@ -89,7 +88,8 @@ const getAnnotationConfigFromRoomProperties = (properties, logger) => {
|
|
|
89
88
|
};
|
|
90
89
|
};
|
|
91
90
|
exports.getAnnotationConfigFromRoomProperties = getAnnotationConfigFromRoomProperties;
|
|
92
|
-
const resizeToMax = (w, h
|
|
91
|
+
const resizeToMax = function (w, h) {
|
|
92
|
+
let scaleBase = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : FCR_ANNOTATION_SCALE_BASE;
|
|
93
93
|
const scale = scaleBase / Math.max(w, h);
|
|
94
94
|
return {
|
|
95
95
|
width: Math.round(w * scale),
|