fcr-core 3.8.2 → 3.9.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-connector/type.d.ts +40 -0
- package/lib/{chat-connection → chat-connector}/type.js +1 -1
- package/lib/engine/index.d.ts +10 -11
- package/lib/engine/index.js +63 -72
- package/lib/engine/type.d.ts +96 -0
- package/lib/engine/type.js +5 -0
- package/lib/imports.d.ts +7 -4
- package/lib/imports.js +30 -4
- package/lib/index.d.ts +3 -2
- package/lib/index.js +21 -2
- package/lib/media-control/desktop.js +12 -12
- package/lib/media-control/mobile.js +4 -0
- package/lib/media-control/type.d.ts +32 -33
- package/lib/monitor-control/index.js +3 -3
- package/lib/peer-session/index.js +14 -14
- package/lib/peer-session/type.d.ts +1 -1
- package/lib/plugins/chat/chatroom.js +417 -0
- package/lib/{chat-connection → plugins/chat}/config.d.ts +1 -0
- package/lib/{chat-connection → plugins/chat}/config.js +2 -1
- package/lib/plugins/chat/connector.d.ts +38 -0
- package/lib/{chat-connection/index.js → plugins/chat/connector.js} +181 -61
- package/lib/room-control/ability-control/index.js +5 -4
- package/lib/room-control/ability-control/type.d.ts +5 -1
- package/lib/room-control/ability-control/type.js +4 -0
- package/lib/room-control/chatroom-control/type.d.ts +44 -35
- package/lib/room-control/group-control/index.js +9 -9
- package/lib/room-control/index.js +37 -22
- package/lib/room-control/interpreter-control/index.js +7 -4
- package/lib/room-control/interpreter-control/room.js +3 -3
- package/lib/room-control/interpreter-control/types.d.ts +2 -2
- package/lib/room-control/join-before-host-waitingroom-control/index.js +3 -3
- package/lib/room-control/mainroom-control/index.js +15 -13
- package/lib/room-control/privilege-control/index.js +39 -24
- package/lib/room-control/privilege-control/type.d.ts +15 -15
- package/lib/room-control/room-connector-control/index.js +7 -5
- package/lib/room-control/room-connector-control/type.d.ts +1 -1
- package/lib/room-control/room-control-factory.d.ts +3 -3
- package/lib/room-control/room-control-factory.js +7 -7
- package/lib/room-control/room-session/index.js +17 -15
- package/lib/room-control/room-session/type.d.ts +3 -3
- package/lib/room-control/sharing-control/index.js +13 -7
- package/lib/room-control/stream-control/index.js +18 -16
- package/lib/room-control/stream-control/type.d.ts +5 -5
- package/lib/room-control/stt-control/index.js +38 -31
- package/lib/room-control/type.d.ts +19 -19
- package/lib/room-control/user-control/index.js +20 -22
- package/lib/room-control/user-control/type.d.ts +1 -1
- package/lib/room-control/waitingroom-control/index.js +11 -11
- package/lib/room-control/whiteboard-control-v1/board-window.d.ts +21 -20
- package/lib/room-control/whiteboard-control-v1/board-window.js +27 -8
- package/lib/room-control/whiteboard-control-v1/factory.js +1 -1
- package/lib/room-control/whiteboard-control-v1/index.js +26 -18
- package/lib/room-control/whiteboard-control-v1/type.d.ts +26 -25
- package/lib/room-control/whiteboard-control-v1/type.js +1 -0
- package/lib/room-control/whiteboard-control-v2/annotation-control/control.d.ts +15 -6
- package/lib/room-control/whiteboard-control-v2/annotation-control/control.js +39 -5
- package/lib/room-control/whiteboard-control-v2/annotation-control/factory.d.ts +4 -5
- package/lib/room-control/whiteboard-control-v2/annotation-control/factory.js +6 -5
- package/lib/room-control/whiteboard-control-v2/annotation-control/type.d.ts +7 -1
- package/lib/room-control/whiteboard-control-v2/base/index.d.ts +9 -8
- package/lib/room-control/whiteboard-control-v2/base/index.js +84 -42
- package/lib/room-control/whiteboard-control-v2/base/main-window.d.ts +16 -15
- package/lib/room-control/whiteboard-control-v2/base/main-window.js +23 -4
- package/lib/room-control/whiteboard-control-v2/type.d.ts +17 -17
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/control.d.ts +12 -6
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/control.js +64 -18
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/factory.d.ts +2 -2
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/factory.js +10 -10
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/type.d.ts +1 -1
- package/lib/room-router/index.js +10 -7
- package/lib/room-router/type.d.ts +1 -1
- package/lib/schema.d.ts +24 -46
- package/lib/schema.js +1 -2
- package/lib/service/api.d.ts +5 -3
- package/lib/service/api.js +17 -12
- package/lib/type.d.ts +64 -45
- package/lib/type.js +76 -11
- package/lib/utilities/abortable-retry.d.ts +38 -0
- package/lib/utilities/abortable-retry.js +61 -0
- package/lib/utilities/dual-video-stream-config.d.ts +6 -0
- package/lib/utilities/dual-video-stream-config.js +25 -0
- package/lib/utilities/error-helpers.d.ts +10 -9
- package/lib/utilities/error-helpers.js +12 -11
- package/lib/utilities/error.d.ts +4 -40
- package/lib/utilities/error.js +20 -77
- package/lib/utilities/join-helper.js +2 -2
- package/lib/utilities/logger.d.ts +2 -2
- package/lib/utilities/logger.js +6 -25
- package/lib/utilities/package-info.d.ts +1 -2
- package/lib/utilities/package-info.js +4 -8
- package/lib/utilities/parameters.js +88 -15
- package/lib/utilities/validate-params.js +1 -1
- package/lib/utilities/video-encoder-config.d.ts +9 -0
- package/lib/utilities/video-encoder-config.js +109 -0
- package/lib-es/{chat-connection → chat-connector}/type.js +1 -1
- package/lib-es/engine/index.js +46 -56
- package/lib-es/engine/type.js +1 -0
- package/lib-es/imports.js +5 -3
- package/lib-es/index.js +2 -1
- package/lib-es/media-control/desktop.js +12 -12
- package/lib-es/media-control/mobile.js +4 -0
- package/lib-es/monitor-control/index.js +3 -3
- package/lib-es/peer-session/index.js +16 -15
- package/lib-es/plugins/chat/chatroom.js +409 -0
- package/lib-es/{chat-connection → plugins/chat}/config.js +2 -1
- package/lib-es/{chat-connection/index.js → plugins/chat/connector.js} +178 -58
- package/lib-es/room-control/ability-control/index.js +5 -4
- package/lib-es/room-control/ability-control/type.js +4 -0
- package/lib-es/room-control/group-control/index.js +11 -10
- package/lib-es/room-control/index.js +40 -26
- package/lib-es/room-control/interpreter-control/index.js +10 -5
- package/lib-es/room-control/interpreter-control/room.js +3 -3
- package/lib-es/room-control/join-before-host-waitingroom-control/index.js +4 -3
- package/lib-es/room-control/mainroom-control/index.js +16 -17
- package/lib-es/room-control/privilege-control/index.js +43 -29
- package/lib-es/room-control/room-connector-control/index.js +9 -6
- package/lib-es/room-control/room-control-factory.js +6 -6
- package/lib-es/room-control/room-session/index.js +21 -22
- package/lib-es/room-control/sharing-control/index.js +13 -7
- package/lib-es/room-control/stream-control/index.js +21 -18
- package/lib-es/room-control/stt-control/index.js +23 -15
- package/lib-es/room-control/user-control/index.js +23 -23
- package/lib-es/room-control/waitingroom-control/index.js +10 -9
- package/lib-es/room-control/whiteboard-control-v1/board-window.js +27 -8
- package/lib-es/room-control/whiteboard-control-v1/factory.js +1 -1
- package/lib-es/room-control/whiteboard-control-v1/index.js +26 -17
- package/lib-es/room-control/whiteboard-control-v1/type.js +1 -0
- package/lib-es/room-control/whiteboard-control-v2/annotation-control/control.js +39 -5
- package/lib-es/room-control/whiteboard-control-v2/annotation-control/factory.js +7 -6
- package/lib-es/room-control/whiteboard-control-v2/base/index.js +86 -42
- package/lib-es/room-control/whiteboard-control-v2/base/main-window.js +23 -4
- package/lib-es/room-control/whiteboard-control-v2/whiteboard-control/control.js +60 -13
- package/lib-es/room-control/whiteboard-control-v2/whiteboard-control/factory.js +10 -10
- package/lib-es/room-router/index.js +10 -6
- package/lib-es/schema.js +1 -2
- package/lib-es/service/api.js +17 -12
- package/lib-es/type.js +70 -18
- package/lib-es/utilities/abortable-retry.js +54 -0
- package/lib-es/utilities/dual-video-stream-config.js +19 -0
- package/lib-es/utilities/error-helpers.js +13 -12
- package/lib-es/utilities/error.js +9 -75
- package/lib-es/utilities/join-helper.js +4 -3
- package/lib-es/utilities/logger.js +7 -23
- package/lib-es/utilities/package-info.js +4 -6
- package/lib-es/utilities/parameters.js +88 -15
- package/lib-es/utilities/validate-params.js +3 -2
- package/lib-es/utilities/video-encoder-config.js +103 -0
- package/package.json +7 -7
- package/lib/chat-connection/index.d.ts +0 -24
- package/lib/chat-connection/type.d.ts +0 -17
- package/lib/plugins/chatroom.js +0 -454
- package/lib/room-control/chatroom-control/config.d.ts +0 -51
- package/lib/room-control/chatroom-control/config.js +0 -105
- package/lib/utilities/storage.d.ts +0 -8
- package/lib/utilities/storage.js +0 -33
- package/lib-es/plugins/chatroom.js +0 -446
- package/lib-es/room-control/chatroom-control/config.js +0 -100
- package/lib-es/utilities/storage.js +0 -27
- /package/lib/plugins/{chatroom.d.ts → chat/chatroom.d.ts} +0 -0
|
@@ -33,7 +33,8 @@ var _schema = require("agora-foundation/lib/utilities/schema");
|
|
|
33
33
|
var _validateParams = _interopRequireDefault(require("../../../utilities/validate-params"));
|
|
34
34
|
var _schema2 = require("../../../schema");
|
|
35
35
|
var _decorator = require("agora-foundation/lib/decorator");
|
|
36
|
-
|
|
36
|
+
var _type = require("../../../type");
|
|
37
|
+
let _initProto, _setBackgroundColorDecs, _setToolTypeDecs, _setStrokeWidthDecs, _setStrokeColorDecs, _setTextColorDecs, _setTextSizeDecs, _insertImageDecs, _setContainerSizeRatioDecs, _setBoardTransparentDecs, _updateWindowSizeDecs, _setAutoCancelDrawDecs, _handleApplicationLaunchDecs, _handleApplicationTerminalDecs, _enableAutoCancelDecs;
|
|
37
38
|
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
39
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
39
40
|
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); }
|
|
@@ -41,9 +42,9 @@ function _setFunctionName(e, t, n) { "symbol" == typeof t && (t = (t = t.descrip
|
|
|
41
42
|
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
43
|
class FcrBoardMainWindowImpl {
|
|
43
44
|
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"], [
|
|
45
|
+
[_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
|
}
|
|
46
|
-
[(_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")] = (_initProto(this), (0, _logger.createLogger)({
|
|
47
|
+
[(_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
48
|
prefix: 'FcrBoardMainWindowImpl'
|
|
48
49
|
}));
|
|
49
50
|
_observable = new _observable.AgoraObservable();
|
|
@@ -69,18 +70,23 @@ class FcrBoardMainWindowImpl {
|
|
|
69
70
|
}
|
|
70
71
|
async addPage() {
|
|
71
72
|
this._whiteboard.addPage('next');
|
|
73
|
+
return _type.FcrReturnCode.SUCCESS;
|
|
72
74
|
}
|
|
73
75
|
async removePage() {
|
|
74
76
|
this._whiteboard.deletePage('current');
|
|
77
|
+
return _type.FcrReturnCode.SUCCESS;
|
|
75
78
|
}
|
|
76
79
|
async undo() {
|
|
77
80
|
this._whiteboard.undo();
|
|
81
|
+
return _type.FcrReturnCode.SUCCESS;
|
|
78
82
|
}
|
|
79
83
|
async redo() {
|
|
80
84
|
this._whiteboard.redo();
|
|
85
|
+
return _type.FcrReturnCode.SUCCESS;
|
|
81
86
|
}
|
|
82
87
|
async clean() {
|
|
83
88
|
this._whiteboard.clearPage();
|
|
89
|
+
return _type.FcrReturnCode.SUCCESS;
|
|
84
90
|
}
|
|
85
91
|
async getSnapshotImage() {
|
|
86
92
|
if (this._whiteboard) {
|
|
@@ -114,6 +120,7 @@ class FcrBoardMainWindowImpl {
|
|
|
114
120
|
this._background = color;
|
|
115
121
|
this.logger.info(`set canvas background color: ${this._background}`);
|
|
116
122
|
this._whiteboard.setCanvasBackgroundColor(color);
|
|
123
|
+
return _type.FcrReturnCode.SUCCESS;
|
|
117
124
|
}
|
|
118
125
|
getPageInfo() {
|
|
119
126
|
return {
|
|
@@ -123,9 +130,11 @@ class FcrBoardMainWindowImpl {
|
|
|
123
130
|
}
|
|
124
131
|
async prevPage() {
|
|
125
132
|
this._whiteboard.indexedNavigation.prevPage();
|
|
133
|
+
return _type.FcrReturnCode.SUCCESS;
|
|
126
134
|
}
|
|
127
135
|
async nextPage() {
|
|
128
136
|
this._whiteboard.indexedNavigation.nextPage();
|
|
137
|
+
return _type.FcrReturnCode.SUCCESS;
|
|
129
138
|
}
|
|
130
139
|
async setToolType(type) {
|
|
131
140
|
if (this._whiteboard) {
|
|
@@ -134,6 +143,7 @@ class FcrBoardMainWindowImpl {
|
|
|
134
143
|
} else {
|
|
135
144
|
throw new Error('Whiteboard is not initialized');
|
|
136
145
|
}
|
|
146
|
+
return _type.FcrReturnCode.SUCCESS;
|
|
137
147
|
}
|
|
138
148
|
async setStrokeWidth(strokeWidth) {
|
|
139
149
|
if (this._whiteboard) {
|
|
@@ -141,6 +151,7 @@ class FcrBoardMainWindowImpl {
|
|
|
141
151
|
} else {
|
|
142
152
|
throw new Error('Whiteboard is not initialized');
|
|
143
153
|
}
|
|
154
|
+
return _type.FcrReturnCode.SUCCESS;
|
|
144
155
|
}
|
|
145
156
|
async setStrokeColor(color) {
|
|
146
157
|
const c = typeof color === 'string' ? color : `rgb(${color.r},${color.g},${color.b})`;
|
|
@@ -149,6 +160,7 @@ class FcrBoardMainWindowImpl {
|
|
|
149
160
|
} else {
|
|
150
161
|
throw new Error('Whiteboard is not initialized');
|
|
151
162
|
}
|
|
163
|
+
return _type.FcrReturnCode.SUCCESS;
|
|
152
164
|
}
|
|
153
165
|
async setTextColor(color) {
|
|
154
166
|
const c = typeof color === 'string' ? color : `rgb(${color.r},${color.g},${color.b})`;
|
|
@@ -157,6 +169,7 @@ class FcrBoardMainWindowImpl {
|
|
|
157
169
|
} else {
|
|
158
170
|
throw new Error('Whiteboard is not initialized');
|
|
159
171
|
}
|
|
172
|
+
return _type.FcrReturnCode.SUCCESS;
|
|
160
173
|
}
|
|
161
174
|
async setTextSize(textSize) {
|
|
162
175
|
if (this._whiteboard) {
|
|
@@ -164,6 +177,7 @@ class FcrBoardMainWindowImpl {
|
|
|
164
177
|
} else {
|
|
165
178
|
throw new Error('Whiteboard is not initialized');
|
|
166
179
|
}
|
|
180
|
+
return _type.FcrReturnCode.SUCCESS;
|
|
167
181
|
}
|
|
168
182
|
async insertImage(resourceUrl, x, y, width, height) {}
|
|
169
183
|
getContentView() {
|
|
@@ -173,10 +187,12 @@ class FcrBoardMainWindowImpl {
|
|
|
173
187
|
async setBoardTransparent(isTransparent) {}
|
|
174
188
|
updateWindowSize(size) {
|
|
175
189
|
size && this._whiteboard.updateViewport(size.width, size.height);
|
|
190
|
+
return _type.FcrReturnCode.SUCCESS;
|
|
176
191
|
}
|
|
177
192
|
setAutoCancelDraw(enable) {
|
|
178
193
|
this._isAutoCancelEnabled = enable;
|
|
179
194
|
this._enableAutoCancel(enable);
|
|
195
|
+
return _type.FcrReturnCode.SUCCESS;
|
|
180
196
|
}
|
|
181
197
|
getWritable() {
|
|
182
198
|
return this._whiteboard.permissions.getPermissionFlags().some(flag => {
|
|
@@ -227,6 +243,7 @@ class FcrBoardMainWindowImpl {
|
|
|
227
243
|
}
|
|
228
244
|
this._boardView.setAttribute('data-app-id', appId);
|
|
229
245
|
this._boardView.appendChild(app.view);
|
|
246
|
+
return _type.FcrReturnCode.SUCCESS;
|
|
230
247
|
}
|
|
231
248
|
_handleApplicationTerminal(appId, app) {
|
|
232
249
|
try {
|
|
@@ -239,6 +256,7 @@ class FcrBoardMainWindowImpl {
|
|
|
239
256
|
} catch (e) {
|
|
240
257
|
this.logger.error(`failed to handle terminal: ${appId}`, e);
|
|
241
258
|
}
|
|
259
|
+
return _type.FcrReturnCode.SUCCESS;
|
|
242
260
|
}
|
|
243
261
|
_setBoardViewStyle(view) {
|
|
244
262
|
view.style.height = `100%`;
|
|
@@ -250,9 +268,10 @@ class FcrBoardMainWindowImpl {
|
|
|
250
268
|
this._whiteboard.__setMainCanvasVisible(!enable);
|
|
251
269
|
// @ts-ignore
|
|
252
270
|
this._whiteboard.__delayTranslateOut = enable ? 4000 : -1;
|
|
271
|
+
return _type.FcrReturnCode.SUCCESS;
|
|
253
272
|
}
|
|
254
273
|
_addLogObserver() {
|
|
255
|
-
this.addObserver((0, _logger.generateLogObserver)(this.logger, ['onWritable', 'onPageInfoUpdated', 'onUndoStateUpdated', 'onRedoStateUpdated']));
|
|
274
|
+
this.addObserver((0, _logger.generateLogObserver)(this.logger, [['onWritable', ['isWritable']], ['onPageInfoUpdated', ['info']], ['onUndoStateUpdated', ['enable']], ['onRedoStateUpdated', ['enable']]]));
|
|
256
275
|
}
|
|
257
276
|
}
|
|
258
277
|
exports.FcrBoardMainWindowImpl = FcrBoardMainWindowImpl;
|
|
@@ -10,7 +10,7 @@ export interface FcrBaseWhiteboardControl<T extends FcrBaseWhiteboardObserver> {
|
|
|
10
10
|
/**
|
|
11
11
|
* Closes the whiteboard and releases the main window.
|
|
12
12
|
*/
|
|
13
|
-
close(): Promise<
|
|
13
|
+
close(): Promise<number>;
|
|
14
14
|
/**
|
|
15
15
|
* Gets the connection state of the whiteboard.
|
|
16
16
|
*/
|
|
@@ -23,7 +23,7 @@ export interface FcrBaseWhiteboardControl<T extends FcrBaseWhiteboardObserver> {
|
|
|
23
23
|
* Sets whether the current user has operation privilege.
|
|
24
24
|
* @param hasOperationPrivilege
|
|
25
25
|
*/
|
|
26
|
-
setOperationPrivilege(hasOperationPrivilege: boolean):
|
|
26
|
+
setOperationPrivilege(hasOperationPrivilege: boolean): number;
|
|
27
27
|
/**
|
|
28
28
|
* Adds an observer to the whiteboard.
|
|
29
29
|
* @param observer
|
|
@@ -56,61 +56,61 @@ export interface FcrBoardMainWindow {
|
|
|
56
56
|
/**
|
|
57
57
|
* Adds a page.
|
|
58
58
|
*/
|
|
59
|
-
addPage(): Promise<
|
|
59
|
+
addPage(): Promise<number>;
|
|
60
60
|
/**
|
|
61
61
|
* Removes a page.
|
|
62
62
|
*/
|
|
63
|
-
removePage(): Promise<
|
|
63
|
+
removePage(): Promise<number>;
|
|
64
64
|
/**
|
|
65
65
|
* Navigates to the previous page.
|
|
66
66
|
*/
|
|
67
|
-
prevPage(): Promise<
|
|
67
|
+
prevPage(): Promise<number>;
|
|
68
68
|
/**
|
|
69
69
|
* Navigate to the next page.
|
|
70
70
|
*/
|
|
71
|
-
nextPage(): Promise<
|
|
71
|
+
nextPage(): Promise<number>;
|
|
72
72
|
/**
|
|
73
73
|
* Undoes the operation.
|
|
74
74
|
*/
|
|
75
|
-
undo(): Promise<
|
|
75
|
+
undo(): Promise<number>;
|
|
76
76
|
/**
|
|
77
77
|
* Redoes the operation.
|
|
78
78
|
*/
|
|
79
|
-
redo(): Promise<
|
|
79
|
+
redo(): Promise<number>;
|
|
80
80
|
/**
|
|
81
81
|
* Cleans the whiteboard.
|
|
82
82
|
*/
|
|
83
|
-
clean(): Promise<
|
|
83
|
+
clean(): Promise<number>;
|
|
84
84
|
/**
|
|
85
85
|
* Sets the tool type.
|
|
86
86
|
* @param type
|
|
87
87
|
*/
|
|
88
|
-
setToolType(type: FcrBoardToolType): Promise<
|
|
88
|
+
setToolType(type: FcrBoardToolType): Promise<number>;
|
|
89
89
|
/**
|
|
90
90
|
* Sets the stroke width.
|
|
91
91
|
* @param strokeWidth
|
|
92
92
|
*/
|
|
93
|
-
setStrokeWidth(strokeWidth: number): Promise<
|
|
93
|
+
setStrokeWidth(strokeWidth: number): Promise<number>;
|
|
94
94
|
/**
|
|
95
95
|
* Sets the stroke color.
|
|
96
96
|
* @param color
|
|
97
97
|
*/
|
|
98
|
-
setStrokeColor(color: FcrColor): Promise<
|
|
98
|
+
setStrokeColor(color: FcrColor): Promise<number>;
|
|
99
99
|
/**
|
|
100
100
|
* Sets the text color.
|
|
101
101
|
* @param color
|
|
102
102
|
*/
|
|
103
|
-
setTextColor(color: FcrColor): Promise<
|
|
103
|
+
setTextColor(color: FcrColor): Promise<number>;
|
|
104
104
|
/**
|
|
105
105
|
* Sets the text size.
|
|
106
106
|
* @param textSize
|
|
107
107
|
*/
|
|
108
|
-
setTextSize(textSize: number): Promise<
|
|
108
|
+
setTextSize(textSize: number): Promise<number>;
|
|
109
109
|
/**
|
|
110
110
|
* Sets the background color of the whiteboard.
|
|
111
111
|
* @param color
|
|
112
112
|
*/
|
|
113
|
-
setBackgroundColor(color: string): Promise<
|
|
113
|
+
setBackgroundColor(color: string): Promise<number>;
|
|
114
114
|
/**
|
|
115
115
|
* Sets the board background to transparent.
|
|
116
116
|
*/
|
|
@@ -137,12 +137,12 @@ export interface FcrBoardMainWindow {
|
|
|
137
137
|
* Update the board canvas size.
|
|
138
138
|
* @param ratio
|
|
139
139
|
*/
|
|
140
|
-
updateWindowSize(size: FcrSize):
|
|
140
|
+
updateWindowSize(size: FcrSize): number;
|
|
141
141
|
/**
|
|
142
142
|
* Sets auto cancel draw
|
|
143
143
|
* @param enable
|
|
144
144
|
*/
|
|
145
|
-
setAutoCancelDraw(enable: boolean):
|
|
145
|
+
setAutoCancelDraw(enable: boolean): number;
|
|
146
146
|
/**
|
|
147
147
|
* Checks if the current user has write permission.
|
|
148
148
|
*/
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { AgoraRteScene } from '../../../imports';
|
|
1
|
+
import { WhiteboardOption } from '@netless/forge-whiteboard';
|
|
3
2
|
import type { RTMClient } from 'agora-rtm';
|
|
3
|
+
import { AgoraRteScene } from '../../../imports';
|
|
4
4
|
import { FcrCoreServiceApi } from '../../../service/api';
|
|
5
|
+
import { FcrReturnCode } from '../../../type';
|
|
5
6
|
import { FcrSharedCache } from '../../shared-cache';
|
|
6
|
-
import { FcrBoardConfig, FcrStandaloneWhiteboardControl, FcrWhiteboardControl, FcrWhiteboardObserver } from './type';
|
|
7
|
-
import { FcrBaseWhiteboardControlImpl } from '../base';
|
|
8
7
|
import { FcrBoardActiveInfo } from '../../whiteboard-control/type';
|
|
9
|
-
import {
|
|
8
|
+
import { FcrBaseWhiteboardControlImpl } from '../base';
|
|
9
|
+
import { FcrBoardMainWindow, FcrObjectForgeInitConfig } from '../type';
|
|
10
|
+
import { FcrBoardConfig, FcrStandaloneWhiteboardControl, FcrWhiteboardControl, FcrWhiteboardObserver } from './type';
|
|
10
11
|
export declare class FcrWhiteboardControlImpl extends FcrBaseWhiteboardControlImpl<FcrWhiteboardObserver> implements FcrWhiteboardControl {
|
|
11
12
|
private _scene;
|
|
12
13
|
private _api;
|
|
@@ -15,20 +16,25 @@ export declare class FcrWhiteboardControlImpl extends FcrBaseWhiteboardControlIm
|
|
|
15
16
|
private _backgroundColor;
|
|
16
17
|
private _isActive;
|
|
17
18
|
private _ownerId;
|
|
19
|
+
private _preloadLock;
|
|
18
20
|
private _notifyObservers;
|
|
19
21
|
constructor(rtmClient: RTMClient, config: FcrBoardConfig, hasOperationPrivilege: boolean, sharedCache: FcrSharedCache, forgeInitConfigFetcher: () => Promise<FcrObjectForgeInitConfig>, _scene: AgoraRteScene, _api: FcrCoreServiceApi);
|
|
22
|
+
open(): Promise<FcrBoardMainWindow>;
|
|
23
|
+
close(): Promise<number>;
|
|
20
24
|
active(): Promise<void>;
|
|
21
25
|
inactive(): Promise<void>;
|
|
22
26
|
getBoardActiveInfo(): FcrBoardActiveInfo;
|
|
23
|
-
setBackgroundColor(backgroundColor: string): Promise<
|
|
27
|
+
setBackgroundColor(backgroundColor: string): Promise<FcrReturnCode>;
|
|
24
28
|
getBackgroundColor(): string;
|
|
25
29
|
getActivity(): boolean;
|
|
26
30
|
getOwnerId(): string | null;
|
|
31
|
+
protected getApplicationId(): string;
|
|
27
32
|
private _onScenePropertiesUpdated;
|
|
28
33
|
protected getWhiteboardOption(): WhiteboardOption;
|
|
29
34
|
protected addLogObserver(): void;
|
|
30
35
|
}
|
|
31
36
|
export declare class FcrStandaloneWhiteboardControlImpl extends FcrBaseWhiteboardControlImpl<FcrWhiteboardObserver> implements FcrStandaloneWhiteboardControl {
|
|
37
|
+
open(): Promise<FcrBoardMainWindow>;
|
|
32
38
|
protected getApplicationId(): string;
|
|
33
39
|
protected getWhiteboardOption(): WhiteboardOption;
|
|
34
40
|
}
|
|
@@ -23,19 +23,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
23
23
|
});
|
|
24
24
|
exports.FcrWhiteboardControlImpl = exports.FcrStandaloneWhiteboardControlImpl = void 0;
|
|
25
25
|
var _imports = require("../../../imports");
|
|
26
|
-
var _user = require("../../../utilities/user");
|
|
27
|
-
var _error = require("../../../utilities/error");
|
|
28
26
|
var _schema = require("../../../schema");
|
|
27
|
+
var _type = require("../../../type");
|
|
28
|
+
var _error = require("../../../utilities/error");
|
|
29
|
+
var _logger = require("../../../utilities/logger");
|
|
29
30
|
var _packageInfo = require("../../../utilities/package-info");
|
|
31
|
+
var _user = require("../../../utilities/user");
|
|
30
32
|
var _validateParams = _interopRequireDefault(require("../../../utilities/validate-params"));
|
|
33
|
+
var _type2 = require("../../sharing-control/type");
|
|
34
|
+
var _type3 = require("../../whiteboard-control/type");
|
|
31
35
|
var _base = require("../base");
|
|
32
36
|
var _constant = require("../constant");
|
|
33
|
-
var _type = require("../../whiteboard-control/type");
|
|
34
|
-
var _type2 = require("../../sharing-control/type");
|
|
35
|
-
var _logger = require("../../../utilities/logger");
|
|
36
37
|
var _utils = require("../utils");
|
|
37
|
-
var _ref;
|
|
38
|
-
let _initProto, _setBackgroundColorDecs;
|
|
38
|
+
var _ref, _ref2;
|
|
39
|
+
let _initProto, _setBackgroundColorDecs, _initProto2;
|
|
39
40
|
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)]; } }; }
|
|
40
41
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
41
42
|
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); }
|
|
@@ -43,14 +44,15 @@ function _setFunctionName(e, t, n) { "symbol" == typeof t && (t = (t = t.descrip
|
|
|
43
44
|
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; }
|
|
44
45
|
class FcrWhiteboardControlImpl extends (_ref = _base.FcrBaseWhiteboardControlImpl) {
|
|
45
46
|
static {
|
|
46
|
-
[_initProto] = _applyDecs(this, [[_imports.trace, 2, "active"], [_imports.trace, 2, "inactive"], [_setBackgroundColorDecs, 2, "setBackgroundColor"], [_imports.trace, 2, "getBackgroundColor"], [_imports.trace, 2, "getActivity"], [_imports.trace, 2, "getOwnerId"], [_imports.bound, 2, "_onScenePropertiesUpdated"]], [], 0, void 0, _ref).e;
|
|
47
|
+
[_initProto] = _applyDecs(this, [[_imports.trace, 2, "open"], [_imports.trace, 2, "close"], [_imports.trace, 2, "active"], [_imports.trace, 2, "inactive"], [_setBackgroundColorDecs, 2, "setBackgroundColor"], [_imports.trace, 2, "getBackgroundColor"], [_imports.trace, 2, "getActivity"], [_imports.trace, 2, "getOwnerId"], [_imports.bound, 2, "_onScenePropertiesUpdated"]], [], 0, void 0, _ref).e;
|
|
47
48
|
}
|
|
48
|
-
[(_setBackgroundColorDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringSchema)], "logger")] = (_initProto(this), (0, _logger.createLogger)({
|
|
49
|
+
[(_setBackgroundColorDecs = [(0, _imports.trace)(['backgroundColor']), (0, _validateParams.default)(_schema.stringSchema)], "logger")] = (_initProto(this), (0, _logger.createLogger)({
|
|
49
50
|
prefix: 'FcrWhiteboardControlImpl'
|
|
50
51
|
}));
|
|
51
52
|
_backgroundColor = '#ffffff';
|
|
52
53
|
_isActive = false;
|
|
53
54
|
_ownerId = null;
|
|
55
|
+
_preloadLock = false;
|
|
54
56
|
_notifyObservers = {
|
|
55
57
|
onScenePropertiesUpdated: this._onScenePropertiesUpdated
|
|
56
58
|
};
|
|
@@ -72,18 +74,48 @@ class FcrWhiteboardControlImpl extends (_ref = _base.FcrBaseWhiteboardControlImp
|
|
|
72
74
|
}
|
|
73
75
|
this.logger.info(`initialized, hasOperationPrivilege: ${hasOperationPrivilege}`);
|
|
74
76
|
}
|
|
77
|
+
async open() {
|
|
78
|
+
const boardActiveInfo = this.getBoardActiveInfo();
|
|
79
|
+
if (!boardActiveInfo.isActive) {
|
|
80
|
+
await (0, _error.handleRequestError)(() => this._api.toggleWhiteboardPreloadState(this.config.roomId, _type2.FcrSharePermissionState.ON), _imports.ErrorModuleCode.FCR_ROOM_WHITEBOARD, 'lock failed when open whiteboard');
|
|
81
|
+
|
|
82
|
+
// 标记白板锁状态, 关闭白板时判断是否需要解锁
|
|
83
|
+
this._preloadLock = true;
|
|
84
|
+
try {
|
|
85
|
+
this._isActive = true;
|
|
86
|
+
return await super.internalOpen(true);
|
|
87
|
+
} catch (error) {
|
|
88
|
+
// 开启失败, 释放锁
|
|
89
|
+
this._preloadLock = false;
|
|
90
|
+
this._isActive = false;
|
|
91
|
+
await (0, _error.handleRequestError)(() => this._api.toggleWhiteboardPreloadState(this.config.roomId, _type2.FcrSharePermissionState.OFF), _imports.ErrorModuleCode.FCR_ROOM_WHITEBOARD, 'unlock failed when open whiteboard');
|
|
92
|
+
throw error;
|
|
93
|
+
}
|
|
94
|
+
} else {
|
|
95
|
+
return await super.internalOpen(false);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
async close() {
|
|
99
|
+
const result = await super.close();
|
|
100
|
+
if (this._preloadLock) {
|
|
101
|
+
// 释放白板锁
|
|
102
|
+
await (0, _error.handleRequestError)(() => this._api.toggleWhiteboardPreloadState(this.config.roomId, _type2.FcrSharePermissionState.OFF), _imports.ErrorModuleCode.FCR_ROOM_WHITEBOARD, 'unlock failed when close whiteboard');
|
|
103
|
+
this._preloadLock = false;
|
|
104
|
+
}
|
|
105
|
+
return result;
|
|
106
|
+
}
|
|
75
107
|
async active() {
|
|
76
|
-
return (0, _error.handleRequestError)(() => this._api.toggleWhiteboardActivityState(this.config.roomId, _type2.FcrSharePermissionState.ON),
|
|
108
|
+
return (0, _error.handleRequestError)(() => this._api.toggleWhiteboardActivityState(this.config.roomId, _type2.FcrSharePermissionState.ON), _imports.ErrorModuleCode.FCR_ROOM_WHITEBOARD, 'active failed');
|
|
77
109
|
}
|
|
78
110
|
async inactive() {
|
|
79
|
-
return (0, _error.handleRequestError)(() => this._api.toggleWhiteboardActivityState(this.config.roomId, _type2.FcrSharePermissionState.OFF),
|
|
111
|
+
return (0, _error.handleRequestError)(() => this._api.toggleWhiteboardActivityState(this.config.roomId, _type2.FcrSharePermissionState.OFF), _imports.ErrorModuleCode.FCR_ROOM_WHITEBOARD, 'inactive failed');
|
|
80
112
|
}
|
|
81
113
|
getBoardActiveInfo() {
|
|
82
114
|
const {
|
|
83
115
|
state,
|
|
84
116
|
ownerUserUuid: ownerUserId
|
|
85
117
|
} = this._scene.getScenePropertiesByKeyPath('widgets.netlessBoard');
|
|
86
|
-
if (state ===
|
|
118
|
+
if (state === _type3.FcrBoardPropertiesState.ACTIVE) {
|
|
87
119
|
return {
|
|
88
120
|
isActive: true,
|
|
89
121
|
ownerUserId
|
|
@@ -104,6 +136,7 @@ class FcrWhiteboardControlImpl extends (_ref = _base.FcrBaseWhiteboardControlImp
|
|
|
104
136
|
if (this.boardView) {
|
|
105
137
|
this.boardView.setBackgroundColor(backgroundColor);
|
|
106
138
|
}
|
|
139
|
+
return _type.FcrReturnCode.SUCCESS;
|
|
107
140
|
}
|
|
108
141
|
getBackgroundColor() {
|
|
109
142
|
return this._backgroundColor;
|
|
@@ -114,26 +147,29 @@ class FcrWhiteboardControlImpl extends (_ref = _base.FcrBaseWhiteboardControlImp
|
|
|
114
147
|
getOwnerId() {
|
|
115
148
|
return this._ownerId;
|
|
116
149
|
}
|
|
150
|
+
getApplicationId() {
|
|
151
|
+
return _constant.WHITEBOARD_APP_ID;
|
|
152
|
+
}
|
|
117
153
|
_onScenePropertiesUpdated(sceneId, event) {
|
|
118
154
|
const operatorUser = (0, _user.convertRteUserToFcrUser)(event.operatorUser, this._roomCache);
|
|
119
155
|
const getByKeyPath = value => this._scene.getScenePropertiesByKeyPath(value);
|
|
120
156
|
if (event.cause && event.cause.cmd === 10) {
|
|
121
|
-
const state = getByKeyPath('widgets.netlessBoard.state') ??
|
|
157
|
+
const state = getByKeyPath('widgets.netlessBoard.state') ?? _type3.FcrBoardPropertiesState.INACTIVE;
|
|
122
158
|
const backgroundColor = getByKeyPath('widgets.netlessBoard.extra.backgroundColor');
|
|
123
159
|
const widgetCauseReason = (0, _imports.get)(event.cause.data, 'widgetCause.data.reason');
|
|
124
160
|
const widgetCauseCmd = (0, _imports.get)(event.cause.data, 'widgetCause.cmd');
|
|
125
|
-
if (state ===
|
|
161
|
+
if (state === _type3.FcrBoardPropertiesState.ACTIVE) {
|
|
126
162
|
const ownerUserId = getByKeyPath('widgets.netlessBoard.ownerUserUuid');
|
|
127
163
|
this._ownerId = ownerUserId;
|
|
128
164
|
this._isActive = true;
|
|
129
165
|
this.observable.notifyObservers('onActive', ownerUserId, operatorUser);
|
|
130
166
|
}
|
|
131
|
-
if (state ===
|
|
167
|
+
if (state === _type3.FcrBoardPropertiesState.INACTIVE) {
|
|
132
168
|
this._ownerId = null;
|
|
133
169
|
this._isActive = false;
|
|
134
170
|
this.observable.notifyObservers('onInactive', widgetCauseReason, operatorUser);
|
|
135
171
|
}
|
|
136
|
-
if (widgetCauseCmd ===
|
|
172
|
+
if (widgetCauseCmd === _type3.FcrBoardPropertiesState.BACKGROUND_COLOR_UPDATED) {
|
|
137
173
|
this._backgroundColor = backgroundColor;
|
|
138
174
|
this.observable.notifyObservers('onBackgroundColorUpdated', backgroundColor, operatorUser);
|
|
139
175
|
}
|
|
@@ -147,11 +183,21 @@ class FcrWhiteboardControlImpl extends (_ref = _base.FcrBaseWhiteboardControlImp
|
|
|
147
183
|
};
|
|
148
184
|
}
|
|
149
185
|
addLogObserver() {
|
|
150
|
-
this.addObserver((0, _logger.generateLogObserver)(this.logger, ['onConnectionStateUpdated', 'onActive', 'onInactive', 'onBackgroundColorUpdated']));
|
|
186
|
+
this.addObserver((0, _logger.generateLogObserver)(this.logger, [['onConnectionStateUpdated', ['state']], ['onActive', ['ownerId', 'operatorUser']], ['onInactive', ['reason', 'operatorUser']], ['onBackgroundColorUpdated', ['color', 'operatorUser']]]));
|
|
151
187
|
}
|
|
152
188
|
}
|
|
153
189
|
exports.FcrWhiteboardControlImpl = FcrWhiteboardControlImpl;
|
|
154
|
-
class FcrStandaloneWhiteboardControlImpl extends _base.FcrBaseWhiteboardControlImpl {
|
|
190
|
+
class FcrStandaloneWhiteboardControlImpl extends (_ref2 = _base.FcrBaseWhiteboardControlImpl) {
|
|
191
|
+
static {
|
|
192
|
+
[_initProto2] = _applyDecs(this, [[_imports.trace, 2, "open"]], [], 0, void 0, _ref2).e;
|
|
193
|
+
}
|
|
194
|
+
constructor(...args) {
|
|
195
|
+
super(...args);
|
|
196
|
+
_initProto2(this);
|
|
197
|
+
}
|
|
198
|
+
async open() {
|
|
199
|
+
return await super.internalOpen(false);
|
|
200
|
+
}
|
|
155
201
|
getApplicationId() {
|
|
156
202
|
return _constant.WHITEBOARD_APP_ID;
|
|
157
203
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { AgoraRteScene } from 'agora-rte-sdk';
|
|
2
|
+
import type { RTMClient } from 'agora-rtm';
|
|
1
3
|
import { FcrCoreServiceApi } from '../../../service/api';
|
|
2
4
|
import { FcrSharedCache } from '../../shared-cache';
|
|
3
5
|
import { FcrBoardConfig, FcrStandaloneWhiteboardControl, FcrWhiteboardControl, FcrWhiteboardControlFactory } from './type';
|
|
4
|
-
import type { RTMClient } from 'agora-rtm';
|
|
5
|
-
import { AgoraRteScene } from 'agora-rte-sdk';
|
|
6
6
|
export declare class FcrWhiteboardControlFactoryImpl implements FcrWhiteboardControlFactory {
|
|
7
7
|
protected logger: import("agora-foundation/lib/logger").Logger;
|
|
8
8
|
createForSubProcess(rtmClient: RTMClient, hasOperationPrivilege: boolean, boardConfig: FcrBoardConfig): FcrStandaloneWhiteboardControl;
|
|
@@ -21,13 +21,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
21
21
|
value: true
|
|
22
22
|
});
|
|
23
23
|
exports.FcrWhiteboardControlFactoryImpl = void 0;
|
|
24
|
-
var _logger = require("../../../utilities/logger");
|
|
25
|
-
var _error = require("../../../utilities/error");
|
|
26
24
|
var _log = require("agora-foundation/lib/decorator/log");
|
|
27
|
-
var
|
|
28
|
-
var
|
|
25
|
+
var _errorCode = require("agora-foundation/lib/utilities/error/error-code");
|
|
26
|
+
var _error = require("../../../utilities/error");
|
|
27
|
+
var _logger = require("../../../utilities/logger");
|
|
29
28
|
var _sharedStorage = require("../../../utilities/shared-storage");
|
|
30
|
-
|
|
29
|
+
var _control = require("./control");
|
|
30
|
+
let _initProto, _createForSubProcessDecs, _createForMainProcessDecs;
|
|
31
31
|
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)]; } }; }
|
|
32
32
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
33
33
|
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); }
|
|
@@ -35,16 +35,16 @@ function _setFunctionName(e, t, n) { "symbol" == typeof t && (t = (t = t.descrip
|
|
|
35
35
|
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; }
|
|
36
36
|
class FcrWhiteboardControlFactoryImpl {
|
|
37
37
|
static {
|
|
38
|
-
[_initProto] = _applyDecs(this, [[
|
|
38
|
+
[_initProto] = _applyDecs(this, [[_createForSubProcessDecs, 2, "createForSubProcess"], [_createForMainProcessDecs, 2, "createForMainProcess"]], []).e;
|
|
39
39
|
}
|
|
40
|
-
logger = (_initProto(this), (0, _logger.createLogger)({
|
|
40
|
+
[(_createForSubProcessDecs = (0, _log.trace)(['rtmClient', 'hasOperationPrivilege', 'boardConfig']), _createForMainProcessDecs = (0, _log.trace)(['rtmClient', 'hasOperationPrivilege', 'boardConfig', 'scene', 'api', 'sharedCache']), "logger")] = (_initProto(this), (0, _logger.createLogger)({
|
|
41
41
|
prefix: 'FcrWhiteboardControlFactory'
|
|
42
42
|
}));
|
|
43
43
|
createForSubProcess(rtmClient, hasOperationPrivilege, boardConfig) {
|
|
44
|
-
return new
|
|
44
|
+
return new _control.FcrStandaloneWhiteboardControlImpl(rtmClient, boardConfig, hasOperationPrivilege, () => {
|
|
45
45
|
const forgeInitConfig = (0, _sharedStorage.getWhiteboardOptions)();
|
|
46
46
|
if (!forgeInitConfig) {
|
|
47
|
-
throw (0, _error.generateFcrCoreClientError)(
|
|
47
|
+
throw (0, _error.generateFcrCoreClientError)(_errorCode.ErrorModuleCode.FCR_ROOM_WHITEBOARD, _errorCode.DetailErrorCode.UNDEFINED_ERROR, `whiteboard init config is not exist`, new Error(`whiteboard init config is not exist`));
|
|
48
48
|
}
|
|
49
49
|
return Promise.resolve(forgeInitConfig);
|
|
50
50
|
});
|
|
@@ -57,7 +57,7 @@ class FcrWhiteboardControlFactoryImpl {
|
|
|
57
57
|
return await (0, _error.handleRequestError)(() => api.getWhiteboardToken({
|
|
58
58
|
roomId,
|
|
59
59
|
userId
|
|
60
|
-
}),
|
|
60
|
+
}), _errorCode.ErrorModuleCode.FCR_ROOM_WHITEBOARD, 'get whiteboard token failed');
|
|
61
61
|
};
|
|
62
62
|
return async () => {
|
|
63
63
|
const response = await getObjectInitConfig(roomId, userId);
|
|
@@ -13,7 +13,7 @@ export interface FcrWhiteboardControl extends FcrBaseWhiteboardControl<FcrWhiteb
|
|
|
13
13
|
getActivity(): boolean;
|
|
14
14
|
getOwnerId(): string | null;
|
|
15
15
|
getBackgroundColor(): string;
|
|
16
|
-
setBackgroundColor(color: string): Promise<
|
|
16
|
+
setBackgroundColor(color: string): Promise<number>;
|
|
17
17
|
}
|
|
18
18
|
export interface FcrWhiteboardObserver extends FcrBaseWhiteboardObserver {
|
|
19
19
|
/**
|