fcr-core 3.7.8 → 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.
- package/lib/chat-connection/index.d.ts +1 -1
- package/lib/engine/index.js +6 -5
- package/lib/imports.d.ts +7 -2
- package/lib/imports.js +25 -4
- package/lib/index.d.ts +2 -2
- package/lib/index.js +12 -0
- package/lib/media-control/desktop.js +4 -4
- package/lib/media-control/mobile.js +20 -20
- package/lib/media-control/type.d.ts +8 -0
- package/lib/plugins/chatroom.js +19 -3
- package/lib/room-control/ability-control/type.d.ts +4 -1
- package/lib/room-control/ability-control/type.js +3 -0
- package/lib/room-control/helpers/constants.d.ts +4 -0
- package/lib/room-control/helpers/constants.js +5 -1
- package/lib/room-control/index.js +16 -5
- package/lib/room-control/interpreter-control/index.js +2 -4
- package/lib/room-control/mainroom-control/index.js +66 -1
- package/lib/room-control/privilege-control/index.js +43 -3
- package/lib/room-control/privilege-control/type.d.ts +57 -10
- package/lib/room-control/privilege-control/type.js +17 -0
- package/lib/room-control/room-control-factory.js +1 -1
- package/lib/room-control/room-session/index.js +23 -13
- package/lib/room-control/room-session/type.d.ts +2 -2
- package/lib/room-control/sharing-control/index.d.ts +5 -5
- package/lib/room-control/sharing-control/index.js +43 -13
- package/lib/room-control/sharing-control/type.d.ts +9 -5
- package/lib/room-control/sharing-control/type.js +6 -1
- package/lib/room-control/stream-control/index.d.ts +8 -1
- package/lib/room-control/stream-control/index.js +139 -36
- package/lib/room-control/stream-control/type.d.ts +6 -0
- package/lib/room-control/stt-control/de-compress-gzip.d.ts +1 -0
- package/lib/room-control/stt-control/de-compress-gzip.js +49 -0
- package/lib/room-control/stt-control/index.d.ts +1 -0
- package/lib/room-control/stt-control/index.js +353 -0
- package/lib/room-control/stt-control/type.d.ts +142 -0
- package/lib/room-control/stt-control/type.js +16 -0
- package/lib/room-control/type.d.ts +15 -0
- package/lib/room-control/type.js +13 -1
- package/lib/room-control/whiteboard-control/enum.d.ts +15 -0
- package/lib/room-control/whiteboard-control/{types.js → enum.js} +12 -1
- package/lib/room-control/whiteboard-control/type.d.ts +38 -0
- package/lib/room-control/whiteboard-control/type.js +15 -0
- package/lib/room-control/whiteboard-control/utils.d.ts +3 -0
- package/lib/room-control/whiteboard-control/utils.js +23 -0
- package/lib/room-control/whiteboard-control-v1/board-subwindow.d.ts +6 -0
- package/lib/room-control/whiteboard-control-v1/board-subwindow.js +26 -0
- package/lib/room-control/whiteboard-control-v1/board-window.d.ts +58 -0
- package/lib/room-control/whiteboard-control-v1/board-window.js +571 -0
- package/lib/room-control/{whiteboard-control/enums.d.ts → whiteboard-control-v1/enum.d.ts} +3 -17
- package/lib/room-control/{whiteboard-control/enums.js → whiteboard-control-v1/enum.js} +3 -20
- package/lib/room-control/whiteboard-control-v1/factory.d.ts +9 -0
- package/lib/room-control/whiteboard-control-v1/factory.js +22 -0
- package/lib/room-control/whiteboard-control-v1/index.d.ts +1 -0
- package/lib/room-control/whiteboard-control-v1/index.js +440 -0
- package/lib/room-control/whiteboard-control-v1/mount-manager.d.ts +4 -0
- package/lib/room-control/whiteboard-control-v1/mount-manager.js +15 -0
- package/lib/room-control/whiteboard-control-v1/type.d.ts +300 -0
- package/lib/room-control/whiteboard-control-v1/type.js +13 -0
- package/lib/room-control/whiteboard-control-v1/utils.d.ts +53 -0
- package/lib/room-control/whiteboard-control-v1/utils.js +290 -0
- package/lib/room-control/whiteboard-control-v2/annotation-control/control.d.ts +17 -31
- package/lib/room-control/whiteboard-control-v2/annotation-control/control.js +39 -233
- package/lib/room-control/whiteboard-control-v2/annotation-control/factory.d.ts +10 -0
- package/lib/room-control/whiteboard-control-v2/annotation-control/factory.js +48 -0
- package/lib/room-control/whiteboard-control-v2/annotation-control/type.d.ts +11 -19
- package/lib/room-control/whiteboard-control-v2/annotation-control/type.js +1 -3
- package/lib/room-control/whiteboard-control-v2/base/index.d.ts +42 -0
- package/lib/room-control/whiteboard-control-v2/base/index.js +317 -0
- package/lib/room-control/whiteboard-control-v2/{main-window.d.ts → base/main-window.d.ts} +6 -4
- package/lib/room-control/whiteboard-control-v2/{main-window.js → base/main-window.js} +31 -18
- package/lib/room-control/whiteboard-control-v2/constant.d.ts +6 -0
- package/lib/room-control/whiteboard-control-v2/constant.js +15 -0
- package/lib/room-control/whiteboard-control-v2/enum.d.ts +26 -0
- package/lib/room-control/whiteboard-control-v2/enum.js +34 -0
- package/lib/room-control/{whiteboard-control/types.d.ts → whiteboard-control-v2/type.d.ts} +51 -165
- package/lib/room-control/whiteboard-control-v2/type.js +5 -0
- package/lib/room-control/whiteboard-control-v2/utils.d.ts +5 -4
- package/lib/room-control/whiteboard-control-v2/utils.js +22 -21
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/control.d.ts +34 -33
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/control.js +124 -191
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/factory.d.ts +11 -0
- package/lib/room-control/whiteboard-control-v2/{annotation-control/index.js → whiteboard-control/factory.js} +35 -44
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/type.d.ts +18 -30
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/type.js +1 -9
- package/lib/room-router/index.js +4 -0
- package/lib/schema.d.ts +23 -9
- package/lib/schema.js +10 -4
- package/lib/service/api.d.ts +75 -19
- package/lib/service/api.js +193 -24
- package/lib/type.d.ts +15 -2
- package/lib/type.js +13 -0
- package/lib/utilities/error-helpers.d.ts +2 -1
- package/lib/utilities/error-helpers.js +1 -0
- package/lib/utilities/error.d.ts +1 -0
- package/lib/utilities/error.js +1 -0
- package/lib/utilities/logger.d.ts +2 -2
- package/lib/utilities/shared-storage.d.ts +3 -1
- package/lib/utilities/shared-storage.js +9 -1
- package/package.json +11 -5
- package/lib/room-control/whiteboard-control-v2/annotation-control/index.d.ts +0 -19
- package/lib/room-control/whiteboard-control-v2/annotation-control/privilege-control.d.ts +0 -36
- package/lib/room-control/whiteboard-control-v2/annotation-control/privilege-control.js +0 -262
- package/lib/room-control/whiteboard-control-v2/index.d.ts +0 -38
- package/lib/room-control/whiteboard-control-v2/index.js +0 -286
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/index.d.ts +0 -17
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/index.js +0 -32
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/privilege-control.d.ts +0 -36
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/privilege-control.js +0 -252
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.symbol.description.js");
|
|
4
|
+
require("core-js/modules/es.array.push.js");
|
|
5
|
+
require("core-js/modules/esnext.function.metadata.js");
|
|
6
|
+
require("core-js/modules/esnext.map.delete-all.js");
|
|
7
|
+
require("core-js/modules/esnext.map.emplace.js");
|
|
8
|
+
require("core-js/modules/esnext.map.every.js");
|
|
9
|
+
require("core-js/modules/esnext.map.filter.js");
|
|
10
|
+
require("core-js/modules/esnext.map.find.js");
|
|
11
|
+
require("core-js/modules/esnext.map.find-key.js");
|
|
12
|
+
require("core-js/modules/esnext.map.includes.js");
|
|
13
|
+
require("core-js/modules/esnext.map.key-of.js");
|
|
14
|
+
require("core-js/modules/esnext.map.map-keys.js");
|
|
15
|
+
require("core-js/modules/esnext.map.map-values.js");
|
|
16
|
+
require("core-js/modules/esnext.map.merge.js");
|
|
17
|
+
require("core-js/modules/esnext.map.reduce.js");
|
|
18
|
+
require("core-js/modules/esnext.map.some.js");
|
|
19
|
+
require("core-js/modules/esnext.map.update.js");
|
|
20
|
+
require("core-js/modules/esnext.symbol.metadata.js");
|
|
21
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
22
|
+
Object.defineProperty(exports, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
});
|
|
25
|
+
exports.FcrBaseWhiteboardControlImpl = void 0;
|
|
26
|
+
require("core-js/modules/es.error.cause.js");
|
|
27
|
+
require("core-js/modules/es.json.stringify.js");
|
|
28
|
+
require("core-js/modules/es.regexp.exec.js");
|
|
29
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
30
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
31
|
+
var _forgeRtm = require("@netless/forge-rtm");
|
|
32
|
+
var _imports = require("../../../imports");
|
|
33
|
+
var _constant = require("../constant");
|
|
34
|
+
var _forgeRoom = require("@netless/forge-room");
|
|
35
|
+
var _logger = require("../../../utilities/logger");
|
|
36
|
+
var _forgeWhiteboard = require("@netless/forge-whiteboard");
|
|
37
|
+
var _error = require("../../../utilities/error");
|
|
38
|
+
var _mainWindow = require("./main-window");
|
|
39
|
+
var _type = require("../../../type");
|
|
40
|
+
var _FcrBaseWhiteboardControlImpl;
|
|
41
|
+
let _initProto;
|
|
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)]; } }; }
|
|
43
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
44
|
+
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); }
|
|
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; }
|
|
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; }
|
|
47
|
+
class FcrBaseWhiteboardControlImpl {
|
|
48
|
+
constructor(rtmClient, config, hasOperationPrivilege, forgeInitConfigFetcher) {
|
|
49
|
+
(0, _defineProperty2.default)(this, "logger", (_initProto(this), (0, _logger.createLogger)({
|
|
50
|
+
prefix: 'FcrBaseWhiteboardControl'
|
|
51
|
+
})));
|
|
52
|
+
(0, _defineProperty2.default)(this, "observable", new _imports.AgoraObservable());
|
|
53
|
+
(0, _defineProperty2.default)(this, "boardView", null);
|
|
54
|
+
(0, _defineProperty2.default)(this, "boardRoom", null);
|
|
55
|
+
(0, _defineProperty2.default)(this, "whiteboard", null);
|
|
56
|
+
(0, _defineProperty2.default)(this, "connectState", _type.FcrConnectionState.DISCONNECTED);
|
|
57
|
+
(0, _defineProperty2.default)(this, "forgeInitConfig", null);
|
|
58
|
+
(0, _defineProperty2.default)(this, "hasOperationPrivilege", false);
|
|
59
|
+
(0, _defineProperty2.default)(this, "_waitPromise", null);
|
|
60
|
+
(0, _defineProperty2.default)(this, "_waitPromiseResolve", null);
|
|
61
|
+
(0, _defineProperty2.default)(this, "_waitPromiseReject", null);
|
|
62
|
+
(0, _defineProperty2.default)(this, "_openAbortController", null);
|
|
63
|
+
(0, _defineProperty2.default)(this, "_isOpen", false);
|
|
64
|
+
this.rtmClient = rtmClient;
|
|
65
|
+
this.config = config;
|
|
66
|
+
this.hasOperationPrivilege = hasOperationPrivilege;
|
|
67
|
+
this.forgeInitConfigTask = _imports.AgoraScheduler.shared.addPollingTask(async () => {
|
|
68
|
+
const forgeInitConfig = await forgeInitConfigFetcher();
|
|
69
|
+
this.forgeInitConfig = forgeInitConfig;
|
|
70
|
+
this.logger.info("fetch forge init config success, config: ".concat((0, _imports.jsonstring)(forgeInitConfig)));
|
|
71
|
+
this.forgeInitConfigTask.stop();
|
|
72
|
+
if (this._isOpen) {
|
|
73
|
+
this.connect();
|
|
74
|
+
}
|
|
75
|
+
}, _constant.INIT_CONFIG_FETCH_INTERVAL);
|
|
76
|
+
this.addLogObserver();
|
|
77
|
+
}
|
|
78
|
+
setOperationPrivilege(hasOperationPrivilege) {
|
|
79
|
+
if (this.hasOperationPrivilege !== hasOperationPrivilege) {
|
|
80
|
+
this.hasOperationPrivilege = hasOperationPrivilege;
|
|
81
|
+
const whiteboard = this.whiteboard;
|
|
82
|
+
const boardView = this.boardView;
|
|
83
|
+
if (whiteboard) {
|
|
84
|
+
if (hasOperationPrivilege) {
|
|
85
|
+
whiteboard.permissions.addPermission(_forgeWhiteboard.WhiteboardPermissionFlag.all);
|
|
86
|
+
if (boardView) {
|
|
87
|
+
// @ts-expect-error
|
|
88
|
+
boardView._observable.notifyObservers('onWritable', true);
|
|
89
|
+
}
|
|
90
|
+
} else {
|
|
91
|
+
whiteboard.permissions.removePermission(_forgeWhiteboard.WhiteboardPermissionFlag.all);
|
|
92
|
+
if (boardView) {
|
|
93
|
+
// @ts-expect-error
|
|
94
|
+
boardView._observable.notifyObservers('onWritable', false);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
async open() {
|
|
101
|
+
this._isOpen = true;
|
|
102
|
+
const isReadyToConnect = this._checkForConnect();
|
|
103
|
+
if (isReadyToConnect) {
|
|
104
|
+
return this.connect();
|
|
105
|
+
}
|
|
106
|
+
if (!this._waitPromise) {
|
|
107
|
+
this._waitPromise = new Promise((resolve, reject) => {
|
|
108
|
+
this._waitPromiseResolve = resolve;
|
|
109
|
+
this._waitPromiseReject = reject;
|
|
110
|
+
this.logger.info('waiting for forge config to be ready');
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
return this._waitPromise;
|
|
114
|
+
}
|
|
115
|
+
async close() {
|
|
116
|
+
this._isOpen = false;
|
|
117
|
+
if (!this.forgeInitConfigTask.isStopped) {
|
|
118
|
+
this.forgeInitConfigTask.stop();
|
|
119
|
+
}
|
|
120
|
+
if (this._waitPromiseReject) {
|
|
121
|
+
this._waitPromiseReject(new Error('closed before connection established'));
|
|
122
|
+
this._clearWaitPromise();
|
|
123
|
+
}
|
|
124
|
+
try {
|
|
125
|
+
if (this._openAbortController) {
|
|
126
|
+
this._openAbortController.abort();
|
|
127
|
+
this._openAbortController = null;
|
|
128
|
+
}
|
|
129
|
+
const boardRoom = this.boardRoom;
|
|
130
|
+
this.boardRoom = null;
|
|
131
|
+
this.boardView = null;
|
|
132
|
+
this.whiteboard = null;
|
|
133
|
+
if (boardRoom) {
|
|
134
|
+
boardRoom.applicationManager.removeAllListeners();
|
|
135
|
+
boardRoom.applicationManager.terminateApplication(this.getApplicationId());
|
|
136
|
+
await boardRoom.leaveRoom();
|
|
137
|
+
}
|
|
138
|
+
} catch (e) {
|
|
139
|
+
this.logger.error('leave board room failed', e);
|
|
140
|
+
} finally {
|
|
141
|
+
this.updateConnectionState(_type.FcrConnectionState.DISCONNECTED);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
getConnectionState() {
|
|
145
|
+
return this.connectState;
|
|
146
|
+
}
|
|
147
|
+
getMainWindow() {
|
|
148
|
+
return this.boardView;
|
|
149
|
+
}
|
|
150
|
+
addObserver(observer) {
|
|
151
|
+
this.observable.addObserver(observer);
|
|
152
|
+
}
|
|
153
|
+
removeObserver(observer) {
|
|
154
|
+
this.observable.removeObserver(observer);
|
|
155
|
+
}
|
|
156
|
+
updateConnectionState(state) {
|
|
157
|
+
if (this.connectState === state) {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
const oldState = this.connectState;
|
|
161
|
+
this.connectState = state;
|
|
162
|
+
this.logger.info("Connection state updated: ".concat(_type.FcrConnectionState[oldState], " -> ").concat(_type.FcrConnectionState[state]));
|
|
163
|
+
this.observable.notifyObservers('onConnectionStateUpdated', state);
|
|
164
|
+
}
|
|
165
|
+
async connect() {
|
|
166
|
+
if (this.boardView) {
|
|
167
|
+
this.logger.info('board already connected, returning existing board view');
|
|
168
|
+
return this.boardView;
|
|
169
|
+
}
|
|
170
|
+
const abortController = new AbortController();
|
|
171
|
+
this._openAbortController = abortController;
|
|
172
|
+
return new Promise(async (resolve, reject) => {
|
|
173
|
+
// 监听中止信号
|
|
174
|
+
abortController.signal.addEventListener('abort', () => {
|
|
175
|
+
reject(new Error('join board aborted'));
|
|
176
|
+
});
|
|
177
|
+
const {
|
|
178
|
+
userId,
|
|
179
|
+
userName
|
|
180
|
+
} = this.config;
|
|
181
|
+
const {
|
|
182
|
+
boardAppId,
|
|
183
|
+
boardId,
|
|
184
|
+
boardRegion,
|
|
185
|
+
boardToken
|
|
186
|
+
} = this.forgeInitConfig || {};
|
|
187
|
+
if (!boardAppId) {
|
|
188
|
+
throw (0, _error.generateFcrCoreClientError)(_error.FcrErrorModuleCode.ROOM_WHITEBOARD, _error.FcrErrorCode.UNDEFINED_ERROR, 'boardAppId is required', new Error('boardAppId is required'));
|
|
189
|
+
}
|
|
190
|
+
if (!boardId) {
|
|
191
|
+
throw (0, _error.generateFcrCoreClientError)(_error.FcrErrorModuleCode.ROOM_WHITEBOARD, _error.FcrErrorCode.UNDEFINED_ERROR, 'boardId is required', new Error('boardId is required'));
|
|
192
|
+
}
|
|
193
|
+
if (!boardToken) {
|
|
194
|
+
throw (0, _error.generateFcrCoreClientError)(_error.FcrErrorModuleCode.ROOM_WHITEBOARD, _error.FcrErrorCode.UNDEFINED_ERROR, 'boardToken is required', new Error('boardToken is required'));
|
|
195
|
+
}
|
|
196
|
+
const whiteboardOption = this.getWhiteboardOption();
|
|
197
|
+
let width = whiteboardOption.width;
|
|
198
|
+
let height = whiteboardOption.height;
|
|
199
|
+
if (!width) {
|
|
200
|
+
this.logger.warn("board width is a invalid vlaue: ".concat(width, ", using default value 800"));
|
|
201
|
+
whiteboardOption.width = 800;
|
|
202
|
+
}
|
|
203
|
+
if (!height) {
|
|
204
|
+
this.logger.warn("board height is a invalid value: ".concat(height, ", using default value 600"));
|
|
205
|
+
whiteboardOption.height = 600;
|
|
206
|
+
}
|
|
207
|
+
this.logger.info("open board with boardId: ".concat(boardId, ", boardToken: ").concat(boardToken, ", region: ").concat(boardRegion, ", whiteboardOption: ").concat((0, _imports.jsonstring)(whiteboardOption)));
|
|
208
|
+
const rtmProvider = new _forgeRtm.RTMProvider_2_2(this.rtmClient);
|
|
209
|
+
const wbRoom = new _forgeRoom.Room(boardId, rtmProvider);
|
|
210
|
+
wbRoom.applicationManager.registerApplication(_forgeWhiteboard.WhiteboardApplication);
|
|
211
|
+
try {
|
|
212
|
+
this.updateConnectionState(_type.FcrConnectionState.CONNECTING);
|
|
213
|
+
let error = null;
|
|
214
|
+
let boardView = null;
|
|
215
|
+
let whiteboard = null;
|
|
216
|
+
let boardRoom = wbRoom;
|
|
217
|
+
const appId = this.getApplicationId();
|
|
218
|
+
[error] = await (0, _imports.to)((0, _imports.retryAttempt)(async () => {
|
|
219
|
+
const joinRoomParams = {
|
|
220
|
+
userId,
|
|
221
|
+
nickName: userName || userId,
|
|
222
|
+
roomToken: boardToken,
|
|
223
|
+
sdkConfig: {
|
|
224
|
+
region: boardRegion,
|
|
225
|
+
appIdentifier: boardAppId
|
|
226
|
+
}
|
|
227
|
+
// verboseLog: true,
|
|
228
|
+
};
|
|
229
|
+
this.logger.info("join params: ".concat((0, _imports.jsonstring)(joinRoomParams)));
|
|
230
|
+
await wbRoom.joinRoom(joinRoomParams);
|
|
231
|
+
boardRoom = wbRoom;
|
|
232
|
+
whiteboard = await wbRoom.applicationManager.launchApplication(_forgeWhiteboard.WhiteboardApplication, whiteboardOption, appId);
|
|
233
|
+
}, [], {
|
|
234
|
+
retriesMax: _constant.BOARD_RETRY_MAX
|
|
235
|
+
}).fail(async _ref => {
|
|
236
|
+
let {
|
|
237
|
+
error,
|
|
238
|
+
timeFn,
|
|
239
|
+
currentRetry
|
|
240
|
+
} = _ref;
|
|
241
|
+
if (abortController.signal.aborted) {
|
|
242
|
+
throw new Error('join board aborted');
|
|
243
|
+
}
|
|
244
|
+
this.logger.error("failed to join board, error: ".concat(error.message, ", current retry: ").concat(currentRetry), error);
|
|
245
|
+
await timeFn();
|
|
246
|
+
return true;
|
|
247
|
+
}).exec());
|
|
248
|
+
if (abortController.signal.aborted) {
|
|
249
|
+
throw new Error('join board aborted');
|
|
250
|
+
}
|
|
251
|
+
if (error) {
|
|
252
|
+
this.logger.error("join board failed, ".concat(error.message, "-").concat(JSON.stringify(error)));
|
|
253
|
+
throw error;
|
|
254
|
+
}
|
|
255
|
+
whiteboard.enableCameraByMouse = false;
|
|
256
|
+
whiteboard.enableCameraByTouch = false;
|
|
257
|
+
whiteboard.setViewModeToMain();
|
|
258
|
+
boardView = new _mainWindow.FcrBoardMainWindowImpl(whiteboard, wbRoom, appId);
|
|
259
|
+
boardView.setBackgroundColor(this.getBackgroundColor());
|
|
260
|
+
this.whiteboard = whiteboard;
|
|
261
|
+
this.boardView = boardView;
|
|
262
|
+
this.boardRoom = boardRoom;
|
|
263
|
+
if (this.hasOperationPrivilege) {
|
|
264
|
+
whiteboard.permissions.addPermission(_forgeWhiteboard.WhiteboardPermissionFlag.all);
|
|
265
|
+
} else {
|
|
266
|
+
whiteboard.permissions.removePermission(_forgeWhiteboard.WhiteboardPermissionFlag.all);
|
|
267
|
+
}
|
|
268
|
+
this.updateConnectionState(_type.FcrConnectionState.CONNECTED);
|
|
269
|
+
resolve(boardView);
|
|
270
|
+
if (this._waitPromiseResolve) {
|
|
271
|
+
this._waitPromiseResolve(boardView);
|
|
272
|
+
this._clearWaitPromise();
|
|
273
|
+
}
|
|
274
|
+
} catch (e) {
|
|
275
|
+
this.logger.error("join board failed");
|
|
276
|
+
this.updateConnectionState(_type.FcrConnectionState.DISCONNECTED);
|
|
277
|
+
reject(e);
|
|
278
|
+
if (this._waitPromiseReject) {
|
|
279
|
+
this._waitPromiseReject(e);
|
|
280
|
+
this._clearWaitPromise();
|
|
281
|
+
}
|
|
282
|
+
} finally {
|
|
283
|
+
this._openAbortController = null;
|
|
284
|
+
}
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
getApplicationId() {
|
|
288
|
+
return '';
|
|
289
|
+
}
|
|
290
|
+
getWhiteboardOption() {
|
|
291
|
+
return {
|
|
292
|
+
width: 800,
|
|
293
|
+
height: 600,
|
|
294
|
+
defaultToolbarStyle: {
|
|
295
|
+
tool: 'laser'
|
|
296
|
+
},
|
|
297
|
+
maxScaleRatio: 1
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
getBackgroundColor() {
|
|
301
|
+
return 'rgba(0, 0, 0, 0)';
|
|
302
|
+
}
|
|
303
|
+
addLogObserver() {
|
|
304
|
+
this.addObserver((0, _logger.generateLogObserver)(this.logger, ['onConnectionStateUpdated']));
|
|
305
|
+
}
|
|
306
|
+
_checkForConnect() {
|
|
307
|
+
return !!this.forgeInitConfig;
|
|
308
|
+
}
|
|
309
|
+
_clearWaitPromise() {
|
|
310
|
+
this._waitPromiseResolve = null;
|
|
311
|
+
this._waitPromiseReject = null;
|
|
312
|
+
this._waitPromise = null;
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
exports.FcrBaseWhiteboardControlImpl = FcrBaseWhiteboardControlImpl;
|
|
316
|
+
_FcrBaseWhiteboardControlImpl = FcrBaseWhiteboardControlImpl;
|
|
317
|
+
[_initProto] = _applyDecs(_FcrBaseWhiteboardControlImpl, [[_imports.trace, 2, "setOperationPrivilege"], [_imports.trace, 2, "open"], [_imports.trace, 2, "close"], [_imports.trace, 2, "getConnectionState"], [_imports.trace, 2, "getMainWindow"]], []).e;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { FcrBoardToolType } from '../
|
|
2
|
-
import {
|
|
1
|
+
import { FcrBoardToolType } from '../enum';
|
|
2
|
+
import { FcrBoardMainWindow, FcrBoardMainWindowObserver } from '../type';
|
|
3
3
|
import { Whiteboard } from '@netless/forge-whiteboard';
|
|
4
4
|
import { Room } from '@netless/forge-room';
|
|
5
|
-
import { FcrSize } from '
|
|
5
|
+
import { FcrSize } from '../../stream-control/type';
|
|
6
|
+
import { FcrBoardPageInfo, FcrColor } from '../../whiteboard-control/type';
|
|
6
7
|
export declare class FcrBoardMainWindowImpl implements FcrBoardMainWindow {
|
|
7
8
|
protected logger: import("agora-foundation/lib/logger").Logger;
|
|
8
9
|
private _whiteboard;
|
|
@@ -11,7 +12,7 @@ export declare class FcrBoardMainWindowImpl implements FcrBoardMainWindow {
|
|
|
11
12
|
private _currentPage;
|
|
12
13
|
private _background;
|
|
13
14
|
private _isAutoCancelEnabled;
|
|
14
|
-
constructor(whiteboard: Whiteboard, boardRoom: Room);
|
|
15
|
+
constructor(whiteboard: Whiteboard, boardRoom: Room, appId: string);
|
|
15
16
|
addPage(): Promise<void>;
|
|
16
17
|
removePage(): Promise<void>;
|
|
17
18
|
undo(): Promise<void>;
|
|
@@ -33,6 +34,7 @@ export declare class FcrBoardMainWindowImpl implements FcrBoardMainWindow {
|
|
|
33
34
|
setBoardTransparent(isTransparent: boolean): Promise<void>;
|
|
34
35
|
updateWindowSize(size: FcrSize): void;
|
|
35
36
|
setAutoCancelDraw(enable: boolean): void;
|
|
37
|
+
getWritable(): boolean;
|
|
36
38
|
addObserver(observer: FcrBoardMainWindowObserver): void;
|
|
37
39
|
removeObserver(observer: FcrBoardMainWindowObserver): void;
|
|
38
40
|
private _addWindowManagerEventListeners;
|
|
@@ -24,24 +24,29 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
24
24
|
});
|
|
25
25
|
exports.FcrBoardMainWindowImpl = void 0;
|
|
26
26
|
require("core-js/modules/es.error.cause.js");
|
|
27
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
|
28
|
+
require("core-js/modules/esnext.iterator.some.js");
|
|
27
29
|
require("core-js/modules/web.dom-collections.iterator.js");
|
|
28
30
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
31
|
+
var _forgeWhiteboard = require("@netless/forge-whiteboard");
|
|
29
32
|
var _observable = require("agora-foundation/lib/utilities/observable");
|
|
30
|
-
var _utils = require("
|
|
31
|
-
var _logger = require("
|
|
32
|
-
var
|
|
33
|
-
var
|
|
34
|
-
var
|
|
33
|
+
var _utils = require("../utils");
|
|
34
|
+
var _logger = require("../../../utilities/logger");
|
|
35
|
+
var _log = require("agora-foundation/lib/decorator/log");
|
|
36
|
+
var _schema = require("agora-foundation/lib/utilities/schema");
|
|
37
|
+
var _validateParams = _interopRequireDefault(require("../../../utilities/validate-params"));
|
|
38
|
+
var _schema2 = require("../../../schema");
|
|
39
|
+
var _decorator = require("agora-foundation/lib/decorator");
|
|
35
40
|
var _FcrBoardMainWindowImpl;
|
|
36
|
-
let _initProto, _setBackgroundColorDecs, _setToolTypeDecs, _setStrokeWidthDecs, _setStrokeColorDecs, _setTextColorDecs, _setTextSizeDecs, _insertImageDecs, _setContainerSizeRatioDecs, _updateWindowSizeDecs, _setAutoCancelDrawDecs, _ref;
|
|
41
|
+
let _initProto, _setBackgroundColorDecs, _setToolTypeDecs, _setStrokeWidthDecs, _setStrokeColorDecs, _setTextColorDecs, _setTextSizeDecs, _insertImageDecs, _setContainerSizeRatioDecs, _setBoardTransparentDecs, _updateWindowSizeDecs, _setAutoCancelDrawDecs, _ref;
|
|
37
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)]; } }; }
|
|
38
43
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
39
44
|
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
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; }
|
|
41
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; }
|
|
42
|
-
_ref = (_setBackgroundColorDecs = [
|
|
47
|
+
_ref = (_setBackgroundColorDecs = [_log.trace, (0, _validateParams.default)(_schema.stringSchema)], _setToolTypeDecs = [_log.trace, (0, _validateParams.default)(_schema2.fcrBoardToolTypeSchema)], _setStrokeWidthDecs = [_log.trace, (0, _validateParams.default)(_schema2.numberSchema)], _setStrokeColorDecs = [_log.trace, (0, _validateParams.default)(_schema2.z.union([_schema2.colorSchema, _schema.stringSchema]))], _setTextColorDecs = [_log.trace, (0, _validateParams.default)(_schema2.colorSchema)], _setTextSizeDecs = [_log.trace, (0, _validateParams.default)(_schema2.numberSchema)], _insertImageDecs = [_log.trace, (0, _validateParams.default)(_schema.stringSchema, _schema2.numberSchema, _schema2.numberSchema, _schema2.numberSchema, _schema2.numberSchema)], _setContainerSizeRatioDecs = [_log.trace, (0, _validateParams.default)(_schema2.numberSchema)], _setBoardTransparentDecs = [_log.trace, (0, _validateParams.default)(_schema2.booleanSchema)], _updateWindowSizeDecs = [_log.trace, (0, _validateParams.default)(_schema2.fcrSizeSchema)], _setAutoCancelDrawDecs = [_log.trace, (0, _validateParams.default)(_schema2.booleanSchema)], "logger");
|
|
43
48
|
class FcrBoardMainWindowImpl {
|
|
44
|
-
constructor(whiteboard, boardRoom) {
|
|
49
|
+
constructor(whiteboard, boardRoom, appId) {
|
|
45
50
|
(0, _defineProperty2.default)(this, _ref, (_initProto(this), (0, _logger.createLogger)({
|
|
46
51
|
prefix: 'FcrBoardMainWindowImpl'
|
|
47
52
|
})));
|
|
@@ -55,6 +60,7 @@ class FcrBoardMainWindowImpl {
|
|
|
55
60
|
this._boardView.appendChild(whiteboard.view);
|
|
56
61
|
this._boardView.style.height = "100%";
|
|
57
62
|
this._boardView.style.width = "100%";
|
|
63
|
+
this._boardView.setAttribute('data-app-id', appId);
|
|
58
64
|
this._whiteboard = whiteboard;
|
|
59
65
|
this._setBoardViewStyle(whiteboard.view);
|
|
60
66
|
this._addWindowManagerEventListeners();
|
|
@@ -162,9 +168,7 @@ class FcrBoardMainWindowImpl {
|
|
|
162
168
|
throw new Error('Whiteboard is not initialized');
|
|
163
169
|
}
|
|
164
170
|
}
|
|
165
|
-
async insertImage(resourceUrl, x, y, width, height) {
|
|
166
|
-
// this._whiteboard.insertImage(resourceUrl);
|
|
167
|
-
}
|
|
171
|
+
async insertImage(resourceUrl, x, y, width, height) {}
|
|
168
172
|
getContentView() {
|
|
169
173
|
return this._boardView;
|
|
170
174
|
}
|
|
@@ -177,6 +181,11 @@ class FcrBoardMainWindowImpl {
|
|
|
177
181
|
this._isAutoCancelEnabled = enable;
|
|
178
182
|
this._enableAutoCancel(enable);
|
|
179
183
|
}
|
|
184
|
+
getWritable() {
|
|
185
|
+
return this._whiteboard.permissions.getPermissionFlags().some(flag => {
|
|
186
|
+
return flag === _forgeWhiteboard.WhiteboardPermissionFlag.all;
|
|
187
|
+
});
|
|
188
|
+
}
|
|
180
189
|
addObserver(observer) {
|
|
181
190
|
this._observable.addObserver(observer);
|
|
182
191
|
}
|
|
@@ -223,11 +232,15 @@ class FcrBoardMainWindowImpl {
|
|
|
223
232
|
this._boardView.appendChild(app.view);
|
|
224
233
|
}
|
|
225
234
|
_handleApplicationTerminal(appId, app) {
|
|
226
|
-
|
|
227
|
-
this.
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
235
|
+
try {
|
|
236
|
+
if (this._boardView.contains(app.view)) {
|
|
237
|
+
this.logger.info("remove application view: ".concat(appId));
|
|
238
|
+
this._boardView.removeChild(app.view);
|
|
239
|
+
} else {
|
|
240
|
+
this.logger.warn("application view not found in board view: ".concat(appId));
|
|
241
|
+
}
|
|
242
|
+
} catch (e) {
|
|
243
|
+
this.logger.error("failed to handle terminal: ".concat(appId), e);
|
|
231
244
|
}
|
|
232
245
|
}
|
|
233
246
|
_setBoardViewStyle(view) {
|
|
@@ -242,9 +255,9 @@ class FcrBoardMainWindowImpl {
|
|
|
242
255
|
this._whiteboard.__delayTranslateOut = enable ? 4000 : -1;
|
|
243
256
|
}
|
|
244
257
|
_addLogObserver() {
|
|
245
|
-
this.addObserver((0, _logger.generateLogObserver)(this.logger, ['onPageInfoUpdated', 'onUndoStateUpdated', 'onRedoStateUpdated']));
|
|
258
|
+
this.addObserver((0, _logger.generateLogObserver)(this.logger, ['onWritable', 'onPageInfoUpdated', 'onUndoStateUpdated', 'onRedoStateUpdated']));
|
|
246
259
|
}
|
|
247
260
|
}
|
|
248
261
|
exports.FcrBoardMainWindowImpl = FcrBoardMainWindowImpl;
|
|
249
262
|
_FcrBoardMainWindowImpl = FcrBoardMainWindowImpl;
|
|
250
|
-
[_initProto] = _applyDecs(_FcrBoardMainWindowImpl, [[
|
|
263
|
+
[_initProto] = _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"], [[_decorator.bound, _log.trace], 2, "_handleApplicationLaunch"], [[_decorator.bound, _log.trace], 2, "_handleApplicationTerminal"], [_log.trace, 2, "_enableAutoCancel"]], []).e;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const BOARD_VIEW_WIDTH = 1920;
|
|
2
|
+
export declare const BOARD_VIEW_HEIGHT = 1220;
|
|
3
|
+
export declare const INIT_CONFIG_FETCH_INTERVAL = 3000;
|
|
4
|
+
export declare const BOARD_RETRY_MAX = 99999;
|
|
5
|
+
export declare const WHITEBOARD_APP_ID = "MainWhiteboard";
|
|
6
|
+
export declare const ANNOTATION_APP_ID = "Annotation";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.WHITEBOARD_APP_ID = exports.INIT_CONFIG_FETCH_INTERVAL = exports.BOARD_VIEW_WIDTH = exports.BOARD_VIEW_HEIGHT = exports.BOARD_RETRY_MAX = exports.ANNOTATION_APP_ID = void 0;
|
|
7
|
+
// 此宽高为 HLD 中约定的白板尺寸
|
|
8
|
+
const BOARD_VIEW_WIDTH = exports.BOARD_VIEW_WIDTH = 1920;
|
|
9
|
+
const BOARD_VIEW_HEIGHT = exports.BOARD_VIEW_HEIGHT = 1220;
|
|
10
|
+
const INIT_CONFIG_FETCH_INTERVAL = exports.INIT_CONFIG_FETCH_INTERVAL = 3000;
|
|
11
|
+
|
|
12
|
+
// 永久重试
|
|
13
|
+
const BOARD_RETRY_MAX = exports.BOARD_RETRY_MAX = 99999;
|
|
14
|
+
const WHITEBOARD_APP_ID = exports.WHITEBOARD_APP_ID = 'MainWhiteboard';
|
|
15
|
+
const ANNOTATION_APP_ID = exports.ANNOTATION_APP_ID = 'Annotation';
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare enum FcrBoardShape {
|
|
2
|
+
Curve = 1,
|
|
3
|
+
Straight = 2,
|
|
4
|
+
Arrow = 3,
|
|
5
|
+
Rectangle = 4,
|
|
6
|
+
Triangle = 5,
|
|
7
|
+
Rhombus = 6,
|
|
8
|
+
Pentagram = 7,
|
|
9
|
+
Ellipse = 8
|
|
10
|
+
}
|
|
11
|
+
export declare enum FcrBoardToolType {
|
|
12
|
+
NONE = 0,
|
|
13
|
+
SELECTOR = 1,
|
|
14
|
+
LASER_POINTER = 2,
|
|
15
|
+
ERASER = 3,
|
|
16
|
+
TEXT = 4,
|
|
17
|
+
HAND = 5,
|
|
18
|
+
CURVE = 6,
|
|
19
|
+
STRAIGHT = 7,
|
|
20
|
+
ARROW = 8,
|
|
21
|
+
RECTANGLE = 9,
|
|
22
|
+
TRIANGLE = 10,
|
|
23
|
+
RHOMBUS = 11,
|
|
24
|
+
PENTAGRAM = 12,
|
|
25
|
+
ELLIPSE = 13
|
|
26
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.FcrBoardToolType = exports.FcrBoardShape = void 0;
|
|
7
|
+
let FcrBoardShape = exports.FcrBoardShape = /*#__PURE__*/function (FcrBoardShape) {
|
|
8
|
+
FcrBoardShape[FcrBoardShape["Curve"] = 1] = "Curve";
|
|
9
|
+
FcrBoardShape[FcrBoardShape["Straight"] = 2] = "Straight";
|
|
10
|
+
FcrBoardShape[FcrBoardShape["Arrow"] = 3] = "Arrow";
|
|
11
|
+
FcrBoardShape[FcrBoardShape["Rectangle"] = 4] = "Rectangle";
|
|
12
|
+
FcrBoardShape[FcrBoardShape["Triangle"] = 5] = "Triangle";
|
|
13
|
+
FcrBoardShape[FcrBoardShape["Rhombus"] = 6] = "Rhombus";
|
|
14
|
+
FcrBoardShape[FcrBoardShape["Pentagram"] = 7] = "Pentagram";
|
|
15
|
+
FcrBoardShape[FcrBoardShape["Ellipse"] = 8] = "Ellipse";
|
|
16
|
+
return FcrBoardShape;
|
|
17
|
+
}({});
|
|
18
|
+
let FcrBoardToolType = exports.FcrBoardToolType = /*#__PURE__*/function (FcrBoardToolType) {
|
|
19
|
+
FcrBoardToolType[FcrBoardToolType["NONE"] = 0] = "NONE";
|
|
20
|
+
FcrBoardToolType[FcrBoardToolType["SELECTOR"] = 1] = "SELECTOR";
|
|
21
|
+
FcrBoardToolType[FcrBoardToolType["LASER_POINTER"] = 2] = "LASER_POINTER";
|
|
22
|
+
FcrBoardToolType[FcrBoardToolType["ERASER"] = 3] = "ERASER";
|
|
23
|
+
FcrBoardToolType[FcrBoardToolType["TEXT"] = 4] = "TEXT";
|
|
24
|
+
FcrBoardToolType[FcrBoardToolType["HAND"] = 5] = "HAND";
|
|
25
|
+
FcrBoardToolType[FcrBoardToolType["CURVE"] = 6] = "CURVE";
|
|
26
|
+
FcrBoardToolType[FcrBoardToolType["STRAIGHT"] = 7] = "STRAIGHT";
|
|
27
|
+
FcrBoardToolType[FcrBoardToolType["ARROW"] = 8] = "ARROW";
|
|
28
|
+
FcrBoardToolType[FcrBoardToolType["RECTANGLE"] = 9] = "RECTANGLE";
|
|
29
|
+
FcrBoardToolType[FcrBoardToolType["TRIANGLE"] = 10] = "TRIANGLE";
|
|
30
|
+
FcrBoardToolType[FcrBoardToolType["RHOMBUS"] = 11] = "RHOMBUS";
|
|
31
|
+
FcrBoardToolType[FcrBoardToolType["PENTAGRAM"] = 12] = "PENTAGRAM";
|
|
32
|
+
FcrBoardToolType[FcrBoardToolType["ELLIPSE"] = 13] = "ELLIPSE";
|
|
33
|
+
return FcrBoardToolType;
|
|
34
|
+
}({});
|