fcr-core 3.8.0-alpha → 3.8.1-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.js +26 -40
- package/lib/engine/index.js +72 -66
- package/lib/imports.js +0 -1
- package/lib/media-control/desktop.js +13 -18
- package/lib/media-control/mobile.js +13 -18
- package/lib/monitor-control/index.js +5 -10
- package/lib/peer-session/index.js +39 -47
- package/lib/plugins/chatroom.js +213 -229
- package/lib/room-control/ability-control/index.js +9 -14
- package/lib/room-control/group-control/index.js +16 -21
- package/lib/room-control/helpers/validation-helper.js +1 -1
- package/lib/room-control/index.js +36 -53
- package/lib/room-control/interpreter-control/index.js +34 -47
- package/lib/room-control/interpreter-control/room.js +4 -6
- package/lib/room-control/join-before-host-waitingroom-control/index.js +4 -6
- package/lib/room-control/mainroom-control/index.js +27 -35
- package/lib/room-control/privilege-control/helper.js +5 -8
- package/lib/room-control/privilege-control/index.js +19 -26
- package/lib/room-control/room-connector-control/index.js +19 -28
- package/lib/room-control/room-control-factory.js +1 -2
- package/lib/room-control/room-session/index.js +39 -46
- package/lib/room-control/shared-cache.js +29 -36
- package/lib/room-control/sharing-control/index.d.ts +1 -1
- package/lib/room-control/sharing-control/index.js +34 -42
- package/lib/room-control/stream-control/index.js +191 -195
- package/lib/room-control/stream-control/type.d.ts +1 -1
- package/lib/room-control/stt-control/de-compress-gzip.js +0 -10
- package/lib/room-control/stt-control/index.js +95 -98
- package/lib/room-control/stt-control/type.d.ts +1 -1
- package/lib/room-control/user-control/index.js +136 -143
- package/lib/room-control/waitingroom-control/index.js +9 -14
- package/lib/room-control/whiteboard-control/utils.js +2 -4
- package/lib/room-control/whiteboard-control-v1/board-subwindow.js +1 -2
- package/lib/room-control/whiteboard-control-v1/board-window.js +88 -99
- package/lib/room-control/whiteboard-control-v1/factory.js +4 -7
- package/lib/room-control/whiteboard-control-v1/index.js +28 -40
- package/lib/room-control/whiteboard-control-v1/mount-manager.js +2 -4
- package/lib/room-control/whiteboard-control-v1/utils.js +14 -17
- package/lib/room-control/whiteboard-control-v2/annotation-control/control.js +4 -6
- package/lib/room-control/whiteboard-control-v2/annotation-control/factory.js +5 -10
- package/lib/room-control/whiteboard-control-v2/base/index.js +34 -41
- package/lib/room-control/whiteboard-control-v2/base/main-window.js +24 -29
- package/lib/room-control/whiteboard-control-v2/utils.js +6 -7
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/control.d.ts +0 -1
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/control.js +23 -34
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/factory.js +7 -14
- package/lib/room-router/index.js +47 -53
- package/lib/room-router/type.d.ts +2 -2
- package/lib/service/api.js +227 -250
- package/lib/utilities/collection.js +2 -3
- package/lib/utilities/error-helpers.js +27 -34
- package/lib/utilities/error.js +8 -9
- package/lib/utilities/join-helper.js +25 -32
- package/lib/utilities/logger.js +3 -6
- package/lib/utilities/parameters.js +4 -8
- package/lib/utilities/retry-helpers.js +0 -1
- package/lib/utilities/stream.js +11 -16
- package/lib/utilities/user.js +3 -4
- package/lib/utilities/validate-params.js +1 -2
- package/package.json +5 -6
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.symbol.description.js");
|
|
4
|
-
require("core-js/modules/es.error.cause.js");
|
|
5
3
|
require("core-js/modules/es.array.push.js");
|
|
6
4
|
require("core-js/modules/esnext.function.metadata.js");
|
|
7
|
-
require("core-js/modules/esnext.iterator.filter.js");
|
|
8
|
-
require("core-js/modules/esnext.iterator.for-each.js");
|
|
9
5
|
require("core-js/modules/esnext.map.delete-all.js");
|
|
10
6
|
require("core-js/modules/esnext.map.emplace.js");
|
|
11
7
|
require("core-js/modules/esnext.map.every.js");
|
|
@@ -26,17 +22,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
26
22
|
value: true
|
|
27
23
|
});
|
|
28
24
|
exports.FcrBoardMainWindowImpl = void 0;
|
|
29
|
-
require("core-js/modules/es.promise.finally.js");
|
|
30
25
|
require("core-js/modules/esnext.iterator.constructor.js");
|
|
31
26
|
require("core-js/modules/esnext.iterator.map.js");
|
|
32
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
33
|
-
require("core-js/modules/web.url.js");
|
|
34
|
-
require("core-js/modules/web.url.to-json.js");
|
|
35
|
-
require("core-js/modules/web.url-search-params.js");
|
|
36
27
|
require("core-js/modules/web.url-search-params.delete.js");
|
|
37
28
|
require("core-js/modules/web.url-search-params.has.js");
|
|
38
29
|
require("core-js/modules/web.url-search-params.size.js");
|
|
39
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
40
30
|
var _whiteSnapshot = require("@netless/white-snapshot");
|
|
41
31
|
var _windowManager = require("@netless/window-manager");
|
|
42
32
|
var _appliancePlugin = require("@netless/appliance-plugin");
|
|
@@ -52,24 +42,24 @@ var _fullWorker = _interopRequireDefault(require("@netless/appliance-plugin/dist
|
|
|
52
42
|
var _subWorker = _interopRequireDefault(require("@netless/appliance-plugin/dist/subWorker.js?raw"));
|
|
53
43
|
var _lodash = require("lodash");
|
|
54
44
|
var _imports2 = require("agora-rte-sdk/lib/imports");
|
|
55
|
-
var _FcrBoardMainWindowImpl;
|
|
56
45
|
let _initProto; //@ts-ignore
|
|
57
46
|
//@ts-ignore
|
|
58
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
59
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
60
47
|
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)]; } }; }
|
|
61
48
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
62
49
|
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); }
|
|
63
50
|
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; }
|
|
64
51
|
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; }
|
|
65
52
|
class FcrBoardMainWindowImpl {
|
|
53
|
+
static {
|
|
54
|
+
[_initProto] = _applyDecs(this, [[[_imports.bound, _imports.trace], 2, "getSnapshotImage"], [_imports.trace, 2, "addObserver"], [_imports.trace, 2, "removeObserver"], [_imports.trace, 2, "getContentView"], [_imports.bound, 2, "setScale"], [_imports.bound, 2, "openSubWindowWithTaskId"], [_imports.bound, 2, "openSubWindowWithPageList"], [_imports.trace, 2, "getPageInfo"], [[_imports.bound, _imports.trace], 2, "addPage"], [[_imports.bound, _imports.trace], 2, "removePage"], [_imports.trace, 2, "prevPage"], [_imports.trace, 2, "nextPage"], [[_imports.bound, _imports.trace], 2, "undo"], [[_imports.bound, _imports.trace], 2, "redo"], [[_imports.bound, _imports.trace], 2, "clean"], [[_imports.bound, _imports.trace], 2, "setToolType"], [[_imports.bound, _imports.trace], 2, "setStrokeWidth"], [[_imports.bound, _imports.trace], 2, "setStrokeColor"], [[_imports.bound, _imports.trace], 2, "setTextColor"], [[_imports.bound, _imports.trace], 2, "setTextSize"], [[_imports.bound, _imports.trace], 2, "setFillColor"], [[_imports.bound, _imports.trace], 2, "setEraserSize"], [[_imports.bound, _imports.trace], 2, "setBackgroundColor"], [[_imports.bound, _imports.trace], 2, "insertImage"], [[_imports.bound, _imports.trace], 2, "insertMedia"], [_imports.trace, 2, "destroy"], [_imports.trace, 2, "getWritable"], [_imports.trace, 2, "_mount"], [_imports.trace, 2, "_setRoom"]], []).e;
|
|
55
|
+
}
|
|
56
|
+
logger = (_initProto(this), (0, _logger.createLogger)({
|
|
57
|
+
prefix: 'FcrBoardMainWindowImpl'
|
|
58
|
+
}));
|
|
59
|
+
_memberState = {};
|
|
60
|
+
_observable = new _imports.AgoraObservable();
|
|
61
|
+
_destroyed = false;
|
|
66
62
|
constructor(room) {
|
|
67
|
-
(0, _defineProperty2.default)(this, "logger", (_initProto(this), (0, _logger.createLogger)({
|
|
68
|
-
prefix: 'FcrBoardMainWindowImpl'
|
|
69
|
-
})));
|
|
70
|
-
(0, _defineProperty2.default)(this, "_memberState", {});
|
|
71
|
-
(0, _defineProperty2.default)(this, "_observable", new _imports.AgoraObservable());
|
|
72
|
-
(0, _defineProperty2.default)(this, "_destroyed", false);
|
|
73
63
|
this._whiteBoardroom = room;
|
|
74
64
|
this._whiteView = document.createElement('div');
|
|
75
65
|
this._initView();
|
|
@@ -123,87 +113,77 @@ class FcrBoardMainWindowImpl {
|
|
|
123
113
|
return this._whiteView;
|
|
124
114
|
}
|
|
125
115
|
setScale(value) {
|
|
126
|
-
var _this$_windowManager;
|
|
127
116
|
const scale = Math.max(Math.min(value, 3), -3);
|
|
128
|
-
|
|
117
|
+
this._windowManager?.moveCamera({
|
|
129
118
|
scale
|
|
130
119
|
});
|
|
131
120
|
}
|
|
132
121
|
async openSubWindowWithTaskId(title, taskId, urlPrefix) {
|
|
133
|
-
|
|
134
|
-
const appId = await ((_this$_windowManager2 = this._windowManager) === null || _this$_windowManager2 === void 0 ? void 0 : _this$_windowManager2.addApp({
|
|
122
|
+
const appId = await this._windowManager?.addApp({
|
|
135
123
|
kind: 'Slide',
|
|
136
124
|
options: {
|
|
137
|
-
scenePath:
|
|
125
|
+
scenePath: `/ppt${taskId}`,
|
|
138
126
|
title
|
|
139
127
|
},
|
|
140
128
|
attributes: {
|
|
141
129
|
taskId,
|
|
142
130
|
url: urlPrefix
|
|
143
131
|
}
|
|
144
|
-
})
|
|
132
|
+
});
|
|
145
133
|
if (appId) {
|
|
146
|
-
|
|
147
|
-
const app = (_this$_windowManager3 = this._windowManager) === null || _this$_windowManager3 === void 0 || (_this$_windowManager3 = _this$_windowManager3.apps) === null || _this$_windowManager3 === void 0 ? void 0 : _this$_windowManager3[appId];
|
|
134
|
+
const app = this._windowManager?.apps?.[appId];
|
|
148
135
|
return app ? new _boardSubwindow.FcrBoardSubWindowImpl(appId) : undefined;
|
|
149
136
|
}
|
|
150
137
|
}
|
|
151
138
|
async openSubWindowWithPageList(title, pageList) {
|
|
152
|
-
|
|
153
|
-
const
|
|
154
|
-
const appId = await ((_this$_windowManager4 = this._windowManager) === null || _this$_windowManager4 === void 0 ? void 0 : _this$_windowManager4.addApp({
|
|
139
|
+
const scenePath = `/${Date.now()}`;
|
|
140
|
+
const appId = await this._windowManager?.addApp({
|
|
155
141
|
kind: _windowManager.BuiltinApps.DocsViewer,
|
|
156
142
|
options: {
|
|
157
143
|
scenePath,
|
|
158
144
|
title,
|
|
159
145
|
scenes: this._convertToScenes(pageList)
|
|
160
146
|
}
|
|
161
|
-
})
|
|
147
|
+
});
|
|
162
148
|
if (appId) {
|
|
163
|
-
|
|
164
|
-
const app = (_this$_windowManager5 = this._windowManager) === null || _this$_windowManager5 === void 0 || (_this$_windowManager5 = _this$_windowManager5.apps) === null || _this$_windowManager5 === void 0 ? void 0 : _this$_windowManager5[appId];
|
|
149
|
+
const app = this._windowManager?.apps?.[appId];
|
|
165
150
|
return app ? new _boardSubwindow.FcrBoardSubWindowImpl(appId) : undefined;
|
|
166
151
|
}
|
|
167
152
|
}
|
|
168
153
|
async setContainerSizeRatio(ratio) {
|
|
169
|
-
var _this$_windowManager6;
|
|
170
154
|
this._preCheck();
|
|
171
|
-
|
|
155
|
+
this._windowManager?.setContainerSizeRatio(ratio);
|
|
172
156
|
}
|
|
173
157
|
getPageInfo() {
|
|
174
158
|
this._preCheck();
|
|
175
159
|
const windowManager = this._windowManager;
|
|
176
160
|
return {
|
|
177
|
-
showIndex:
|
|
178
|
-
count:
|
|
161
|
+
showIndex: windowManager?.mainViewSceneIndex || 0,
|
|
162
|
+
count: windowManager?.mainViewScenesLength || 0
|
|
179
163
|
};
|
|
180
164
|
}
|
|
181
165
|
async addPage() {
|
|
182
|
-
var _this$_windowManager7;
|
|
183
166
|
this._preCheck();
|
|
184
|
-
if (
|
|
167
|
+
if (this._windowManager?.addPage) {
|
|
185
168
|
await this._windowManager.addPage();
|
|
186
169
|
await this._windowManager.nextPage();
|
|
187
170
|
}
|
|
188
171
|
}
|
|
189
172
|
async removePage() {
|
|
190
|
-
var _this$_windowManager8;
|
|
191
173
|
this._preCheck();
|
|
192
|
-
if (
|
|
174
|
+
if (this._windowManager?.removePage) {
|
|
193
175
|
await this._windowManager.removePage();
|
|
194
176
|
}
|
|
195
177
|
}
|
|
196
178
|
async prevPage() {
|
|
197
|
-
var _this$_windowManager9;
|
|
198
179
|
this._preCheck();
|
|
199
|
-
if (
|
|
180
|
+
if (this._windowManager?.prevPage) {
|
|
200
181
|
await this._windowManager.prevPage();
|
|
201
182
|
}
|
|
202
183
|
}
|
|
203
184
|
async nextPage() {
|
|
204
|
-
var _this$_windowManager0;
|
|
205
185
|
this._preCheck();
|
|
206
|
-
if (
|
|
186
|
+
if (this._windowManager?.nextPage) {
|
|
207
187
|
await this._windowManager.nextPage();
|
|
208
188
|
}
|
|
209
189
|
}
|
|
@@ -237,10 +217,12 @@ class FcrBoardMainWindowImpl {
|
|
|
237
217
|
shapeType: shape,
|
|
238
218
|
strokeType
|
|
239
219
|
};
|
|
240
|
-
this._memberState =
|
|
220
|
+
this._memberState = {
|
|
221
|
+
...this._memberState,
|
|
222
|
+
...change
|
|
223
|
+
};
|
|
241
224
|
if (this._windowManager) {
|
|
242
|
-
|
|
243
|
-
(_this$_appliancePlugi = this._appliancePluginInstance) === null || _this$_appliancePlugi === void 0 || _this$_appliancePlugi.setMemberState(change);
|
|
225
|
+
this._appliancePluginInstance?.setMemberState(change);
|
|
244
226
|
}
|
|
245
227
|
}
|
|
246
228
|
async setStrokeWidth(strokeWidth) {
|
|
@@ -248,31 +230,38 @@ class FcrBoardMainWindowImpl {
|
|
|
248
230
|
const change = {
|
|
249
231
|
strokeWidth
|
|
250
232
|
};
|
|
251
|
-
this._memberState =
|
|
233
|
+
this._memberState = {
|
|
234
|
+
...this._memberState,
|
|
235
|
+
...change
|
|
236
|
+
};
|
|
252
237
|
if (this._windowManager) {
|
|
253
238
|
this._whiteBoardroom.setMemberState(change);
|
|
254
239
|
}
|
|
255
240
|
}
|
|
256
241
|
async setStrokeColor(color) {
|
|
257
|
-
var _color$a;
|
|
258
242
|
this._preCheck();
|
|
259
243
|
const change = {
|
|
260
244
|
strokeColor: [color.r, color.g, color.b],
|
|
261
|
-
strokeOpacity:
|
|
245
|
+
strokeOpacity: color.a ?? 1
|
|
246
|
+
};
|
|
247
|
+
this._memberState = {
|
|
248
|
+
...this._memberState,
|
|
249
|
+
...change
|
|
262
250
|
};
|
|
263
|
-
this._memberState = _objectSpread(_objectSpread({}, this._memberState), change);
|
|
264
251
|
if (this._windowManager) {
|
|
265
252
|
this._whiteBoardroom.setMemberState(change);
|
|
266
253
|
}
|
|
267
254
|
}
|
|
268
255
|
async setTextColor(color) {
|
|
269
|
-
var _color$a2;
|
|
270
256
|
this._preCheck();
|
|
271
257
|
const change = {
|
|
272
258
|
textColor: [color.r, color.g, color.b],
|
|
273
|
-
textOpacity:
|
|
259
|
+
textOpacity: color.a ?? 1
|
|
260
|
+
};
|
|
261
|
+
this._memberState = {
|
|
262
|
+
...this._memberState,
|
|
263
|
+
...change
|
|
274
264
|
};
|
|
275
|
-
this._memberState = _objectSpread(_objectSpread({}, this._memberState), change);
|
|
276
265
|
if (this._windowManager) {
|
|
277
266
|
this._whiteBoardroom.setMemberState(change);
|
|
278
267
|
}
|
|
@@ -282,19 +271,24 @@ class FcrBoardMainWindowImpl {
|
|
|
282
271
|
const change = {
|
|
283
272
|
textSize: size
|
|
284
273
|
};
|
|
285
|
-
this._memberState =
|
|
274
|
+
this._memberState = {
|
|
275
|
+
...this._memberState,
|
|
276
|
+
...change
|
|
277
|
+
};
|
|
286
278
|
if (this._windowManager) {
|
|
287
279
|
this._whiteBoardroom.setMemberState(change);
|
|
288
280
|
}
|
|
289
281
|
}
|
|
290
282
|
async setFillColor(fillColor) {
|
|
291
|
-
var _fillColor$a;
|
|
292
283
|
this._preCheck();
|
|
293
284
|
const change = {
|
|
294
285
|
fillColor: [fillColor.r, fillColor.g, fillColor.b],
|
|
295
|
-
fillOpacity:
|
|
286
|
+
fillOpacity: fillColor.a ?? 1
|
|
287
|
+
};
|
|
288
|
+
this._memberState = {
|
|
289
|
+
...this._memberState,
|
|
290
|
+
...change
|
|
296
291
|
};
|
|
297
|
-
this._memberState = _objectSpread(_objectSpread({}, this._memberState), change);
|
|
298
292
|
if (this._windowManager) {
|
|
299
293
|
this._whiteBoardroom.setMemberState(change);
|
|
300
294
|
}
|
|
@@ -304,16 +298,18 @@ class FcrBoardMainWindowImpl {
|
|
|
304
298
|
const change = {
|
|
305
299
|
pencilEraserSize: size
|
|
306
300
|
};
|
|
307
|
-
this._memberState =
|
|
301
|
+
this._memberState = {
|
|
302
|
+
...this._memberState,
|
|
303
|
+
...change
|
|
304
|
+
};
|
|
308
305
|
if (this._windowManager) {
|
|
309
306
|
this._whiteBoardroom.setMemberState(change);
|
|
310
307
|
}
|
|
311
308
|
}
|
|
312
309
|
async setBackgroundColor(color) {
|
|
313
|
-
var _this$_whiteView$quer;
|
|
314
310
|
this._preCheck();
|
|
315
311
|
this._backgroundColor = color;
|
|
316
|
-
|
|
312
|
+
this._whiteView.querySelector('.netless-whiteboard')?.style.setProperty('background-color', color);
|
|
317
313
|
}
|
|
318
314
|
async insertImage(resourceUrl, x, y, width, height) {
|
|
319
315
|
const room = this._whiteBoardroom;
|
|
@@ -323,7 +319,6 @@ class FcrBoardMainWindowImpl {
|
|
|
323
319
|
const preWidth = width;
|
|
324
320
|
const preHeight = height;
|
|
325
321
|
if (windowManager) {
|
|
326
|
-
var _this$_whiteView$clie, _this$_whiteView, _this$_whiteView$clie2, _this$_whiteView2;
|
|
327
322
|
let originX = 0;
|
|
328
323
|
let originY = 0;
|
|
329
324
|
if (this._whiteView) {
|
|
@@ -334,12 +329,12 @@ class FcrBoardMainWindowImpl {
|
|
|
334
329
|
x,
|
|
335
330
|
y
|
|
336
331
|
} = windowManager.mainView.convertToPointInWorld({
|
|
337
|
-
x: preX
|
|
338
|
-
y: preY
|
|
332
|
+
x: preX ?? originX,
|
|
333
|
+
y: preY ?? originY
|
|
339
334
|
});
|
|
340
335
|
const containerSize = {
|
|
341
|
-
width:
|
|
342
|
-
height:
|
|
336
|
+
width: this._whiteView?.clientWidth ?? window.innerWidth,
|
|
337
|
+
height: this._whiteView?.clientHeight ?? window.innerHeight
|
|
343
338
|
};
|
|
344
339
|
const uuid = (0, _jsMd.md5)(resourceUrl);
|
|
345
340
|
const {
|
|
@@ -350,8 +345,8 @@ class FcrBoardMainWindowImpl {
|
|
|
350
345
|
uuid: uuid,
|
|
351
346
|
centerX: x,
|
|
352
347
|
centerY: y,
|
|
353
|
-
width: preWidth
|
|
354
|
-
height: preHeight
|
|
348
|
+
width: preWidth ?? width,
|
|
349
|
+
height: preHeight ?? height,
|
|
355
350
|
locked: false
|
|
356
351
|
};
|
|
357
352
|
windowManager.switchMainViewToWriter();
|
|
@@ -396,8 +391,7 @@ class FcrBoardMainWindowImpl {
|
|
|
396
391
|
}
|
|
397
392
|
}));
|
|
398
393
|
}
|
|
399
|
-
_preCheck() {
|
|
400
|
-
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
394
|
+
_preCheck(options = {}) {
|
|
401
395
|
const {
|
|
402
396
|
privilege = true,
|
|
403
397
|
wm = true
|
|
@@ -411,35 +405,32 @@ class FcrBoardMainWindowImpl {
|
|
|
411
405
|
}
|
|
412
406
|
_addWindowManagerEventListeners() {
|
|
413
407
|
const windowManager = this._windowManager;
|
|
414
|
-
windowManager
|
|
408
|
+
windowManager?.emitter.on('mainViewSceneIndexChange', showIndex => {
|
|
415
409
|
const state = {
|
|
416
410
|
showIndex: showIndex,
|
|
417
|
-
count:
|
|
411
|
+
count: windowManager?.mainViewScenesLength || 0
|
|
418
412
|
};
|
|
419
413
|
this._observable.notifyObservers('onPageInfoUpdated', state);
|
|
420
414
|
});
|
|
421
|
-
windowManager
|
|
415
|
+
windowManager?.emitter.on('mainViewScenesLengthChange', count => {
|
|
422
416
|
const state = {
|
|
423
|
-
showIndex:
|
|
417
|
+
showIndex: windowManager?.mainViewSceneIndex || 0,
|
|
424
418
|
count: count
|
|
425
419
|
};
|
|
426
420
|
this._observable.notifyObservers('onPageInfoUpdated', state);
|
|
427
421
|
});
|
|
428
|
-
windowManager
|
|
422
|
+
windowManager?.emitter.on('canUndoStepsChange', steps => {
|
|
429
423
|
this._observable.notifyObservers('onUndoStateUpdated', steps > 0);
|
|
430
424
|
});
|
|
431
|
-
windowManager
|
|
425
|
+
windowManager?.emitter.on('canRedoStepsChange', steps => {
|
|
432
426
|
this._observable.notifyObservers('onRedoStateUpdated', steps > 0);
|
|
433
427
|
});
|
|
434
428
|
}
|
|
435
429
|
|
|
436
430
|
// don't remove, used by FcrWhiteboardControl
|
|
437
|
-
async _mount() {
|
|
438
|
-
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
439
|
-
let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
431
|
+
async _mount(options = {}, params = {}) {
|
|
440
432
|
this._whiteboardPrivateParameters = params;
|
|
441
433
|
if (this._whiteBoardroom) {
|
|
442
|
-
var _this$_whiteboardPriv, _this$_whiteboardPriv2, _this$_whiteboardPriv3, _this$_whiteboardPriv4, _this$_whiteboardPriv5, _this$_whiteboardPriv6, _this$_whiteboardPriv7, _this$_whiteboardPriv8;
|
|
443
434
|
this._destroyed = false;
|
|
444
435
|
if (_mountManager.BoardMountManager.isMounting) {
|
|
445
436
|
this.logger.info('[FcrBoardMainWindow] wait for previous board window mounted, white room id:', this._whiteBoardroom.uuid);
|
|
@@ -452,15 +443,15 @@ class FcrBoardMainWindowImpl {
|
|
|
452
443
|
}
|
|
453
444
|
_mountManager.BoardMountManager.setIsMounting(true);
|
|
454
445
|
this.logger.info('start mount board window, white room id:', this._whiteBoardroom.uuid);
|
|
455
|
-
const extras =
|
|
456
|
-
const cursor =
|
|
457
|
-
const extendClass =
|
|
458
|
-
const containerElement =
|
|
459
|
-
let windowManagerParams =
|
|
460
|
-
this.logger.info(
|
|
461
|
-
this.logger.info(
|
|
462
|
-
this.logger.info(
|
|
463
|
-
this.logger.info(
|
|
446
|
+
const extras = this._whiteboardPrivateParameters?.extras ?? {};
|
|
447
|
+
const cursor = this._whiteboardPrivateParameters?.cursor ?? true;
|
|
448
|
+
const extendClass = this._whiteboardPrivateParameters?.extendClass;
|
|
449
|
+
const containerElement = this._whiteboardPrivateParameters?.containerElement;
|
|
450
|
+
let windowManagerParams = this._whiteboardPrivateParameters?.windowManagerParams ?? {};
|
|
451
|
+
this.logger.info(`set whiteboard extendClass: ${extendClass}`);
|
|
452
|
+
this.logger.info(`set whiteboard cursor: ${cursor}`);
|
|
453
|
+
this.logger.info(`set whiteboard extras: ${(0, _imports2.jsonstring)(extras)}`);
|
|
454
|
+
this.logger.info(`set whiteboard windowManagerParams: ${(0, _imports2.jsonstring)(windowManagerParams)}`);
|
|
464
455
|
if (!(0, _lodash.isPlainObject)(windowManagerParams)) {
|
|
465
456
|
this.logger.warn('windowManagerParams is not a plain object');
|
|
466
457
|
windowManagerParams = {};
|
|
@@ -470,7 +461,7 @@ class FcrBoardMainWindowImpl {
|
|
|
470
461
|
if (containerElement) {
|
|
471
462
|
containerElement.appendChild(this._whiteView);
|
|
472
463
|
}
|
|
473
|
-
await _windowManager.WindowManager.mount(
|
|
464
|
+
await _windowManager.WindowManager.mount({
|
|
474
465
|
debug: true,
|
|
475
466
|
room: this._whiteBoardroom,
|
|
476
467
|
container: this._whiteView,
|
|
@@ -478,8 +469,9 @@ class FcrBoardMainWindowImpl {
|
|
|
478
469
|
chessboard: false,
|
|
479
470
|
collectorContainer: options.collectorContainer,
|
|
480
471
|
containerSizeRatio: options.containerSizeRatio,
|
|
481
|
-
supportAppliancePlugin: true
|
|
482
|
-
|
|
472
|
+
supportAppliancePlugin: true,
|
|
473
|
+
...windowManagerParams
|
|
474
|
+
}, extendClass).then(async wm => {
|
|
483
475
|
if (this._destroyed) {
|
|
484
476
|
wm.destroy();
|
|
485
477
|
return;
|
|
@@ -490,8 +482,7 @@ class FcrBoardMainWindowImpl {
|
|
|
490
482
|
this._windowManager.mainView.disableCameraTransform = true;
|
|
491
483
|
this._addWindowManagerEventListeners();
|
|
492
484
|
if (this._backgroundColor) {
|
|
493
|
-
|
|
494
|
-
(_this$_whiteView$quer2 = this._whiteView.querySelector('.netless-whiteboard')) === null || _this$_whiteView$quer2 === void 0 || _this$_whiteView$quer2.style.setProperty('background-color', this._backgroundColor);
|
|
485
|
+
this._whiteView.querySelector('.netless-whiteboard')?.style.setProperty('background-color', this._backgroundColor);
|
|
495
486
|
}
|
|
496
487
|
const fullWorkerBlob = new Blob([_fullWorker.default], {
|
|
497
488
|
type: 'text/javascript'
|
|
@@ -530,7 +521,7 @@ class FcrBoardMainWindowImpl {
|
|
|
530
521
|
}
|
|
531
522
|
});
|
|
532
523
|
const hasPermission = this._whiteBoardroom.isWritable;
|
|
533
|
-
this.logger.info(
|
|
524
|
+
this.logger.info(`after mount, isWritable: ${hasPermission}`);
|
|
534
525
|
if (hasPermission) {
|
|
535
526
|
this._whiteBoardroom.setMemberState(this._memberState);
|
|
536
527
|
appliancePluginInstance.setMemberState({
|
|
@@ -566,6 +557,4 @@ class FcrBoardMainWindowImpl {
|
|
|
566
557
|
this.addObserver((0, _logger.generateLogObserver)(this.logger, ['onWritable', 'onPageInfoUpdated', 'onUndoStateUpdated', 'onRedoStateUpdated']));
|
|
567
558
|
}
|
|
568
559
|
}
|
|
569
|
-
exports.FcrBoardMainWindowImpl = FcrBoardMainWindowImpl;
|
|
570
|
-
_FcrBoardMainWindowImpl = FcrBoardMainWindowImpl;
|
|
571
|
-
[_initProto] = _applyDecs(_FcrBoardMainWindowImpl, [[[_imports.bound, _imports.trace], 2, "getSnapshotImage"], [_imports.trace, 2, "addObserver"], [_imports.trace, 2, "removeObserver"], [_imports.trace, 2, "getContentView"], [_imports.bound, 2, "setScale"], [_imports.bound, 2, "openSubWindowWithTaskId"], [_imports.bound, 2, "openSubWindowWithPageList"], [_imports.trace, 2, "getPageInfo"], [[_imports.bound, _imports.trace], 2, "addPage"], [[_imports.bound, _imports.trace], 2, "removePage"], [_imports.trace, 2, "prevPage"], [_imports.trace, 2, "nextPage"], [[_imports.bound, _imports.trace], 2, "undo"], [[_imports.bound, _imports.trace], 2, "redo"], [[_imports.bound, _imports.trace], 2, "clean"], [[_imports.bound, _imports.trace], 2, "setToolType"], [[_imports.bound, _imports.trace], 2, "setStrokeWidth"], [[_imports.bound, _imports.trace], 2, "setStrokeColor"], [[_imports.bound, _imports.trace], 2, "setTextColor"], [[_imports.bound, _imports.trace], 2, "setTextSize"], [[_imports.bound, _imports.trace], 2, "setFillColor"], [[_imports.bound, _imports.trace], 2, "setEraserSize"], [[_imports.bound, _imports.trace], 2, "setBackgroundColor"], [[_imports.bound, _imports.trace], 2, "insertImage"], [[_imports.bound, _imports.trace], 2, "insertMedia"], [_imports.trace, 2, "destroy"], [_imports.trace, 2, "getWritable"], [_imports.trace, 2, "_mount"], [_imports.trace, 2, "_setRoom"]], []).e;
|
|
560
|
+
exports.FcrBoardMainWindowImpl = FcrBoardMainWindowImpl;
|
|
@@ -1,19 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.FcrWhiteboardControlFactoryImpl = void 0;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
7
|
var _ = require(".");
|
|
10
8
|
var _logger = require("../../utilities/logger");
|
|
11
9
|
class FcrWhiteboardControlFactoryImpl {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
10
|
+
logger = (0, _logger.createLogger)({
|
|
11
|
+
prefix: 'FcrWhiteboardControlFactory'
|
|
12
|
+
});
|
|
13
|
+
constructor() {}
|
|
17
14
|
createForMainProcess(hasOperationPrivilege, scene, api, sharedCache) {
|
|
18
15
|
this.logger.info('[whiteboard]: create for main process, use old whiteboard control');
|
|
19
16
|
return new _.FcrWhiteboardControlImpl(scene, api, sharedCache, hasOperationPrivilege);
|