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
package/lib/type.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AgoraRtcNetworkStats, AgoraRteNetworkQualityEvent, AgoraRtcDeviceInfo, AgoraRtcDisplayInfo, AgoraRtcWindowInfo, AgoraRtePerformanceInfo, AgoraRteScenePropertiesDeletedEvent, AgoraRteStreamEncryptionConfig, AgoraRteStreamJoinConfig, AgoraRteDualVideoStreamConfig, AgoraRteMessage, AgoraRteConnectionState, AgoraRteScenePropertiesUpdatedEvent, AgoraRteOperatCause, AgoraRteRenderView, AgoraRteUploadEvent, AgoraRteVideoEncoderConfig } from './imports';
|
|
2
|
-
import { FcrSharePermissionState } from './room-control/
|
|
1
|
+
import { AgoraRtcNetworkStats, AgoraRteNetworkQualityEvent, AgoraRtcDeviceInfo, AgoraRtcDisplayInfo, AgoraRtcWindowInfo, AgoraRtePerformanceInfo, AgoraRteScenePropertiesDeletedEvent, AgoraRteStreamEncryptionConfig, AgoraRteStreamJoinConfig, AgoraRteDualVideoStreamConfig, AgoraRteMessage, AgoraRteConnectionState, AgoraRteScenePropertiesUpdatedEvent, AgoraRteOperatCause, AgoraRteRenderView, AgoraRteUploadEvent, AgoraRteVideoEncoderConfig, FcrWhiteboardView } from './imports';
|
|
2
|
+
import { FcrSharePermissionState } from './room-control/sharing-control/type';
|
|
3
3
|
import { FcrUserRole } from './room-control/user-control/type';
|
|
4
4
|
import type { FcrAudioSourceType, FcrMediaSourceState, FcrRegion, FcrRoomConnectorType, FcrStreamType, FcrVideoSourceType } from '.';
|
|
5
5
|
import { FcrLineType, FcrRoomJoinOptions, FcrRoomType } from './room-control/type';
|
|
@@ -285,3 +285,16 @@ export declare enum FcrStreamState {
|
|
|
285
285
|
PUBLISH = 1
|
|
286
286
|
}
|
|
287
287
|
export { FcrError } from './utilities/error';
|
|
288
|
+
export type FcrWhiteboardParameters = {
|
|
289
|
+
cursor?: boolean;
|
|
290
|
+
syncMode?: boolean;
|
|
291
|
+
extras?: unknown;
|
|
292
|
+
extendClass?: unknown;
|
|
293
|
+
windowManagerParams?: unknown;
|
|
294
|
+
floatBar?: unknown;
|
|
295
|
+
containerElement?: FcrWhiteboardView;
|
|
296
|
+
};
|
|
297
|
+
export { FcrBoardToolType, FcrBoardShape } from './room-control/whiteboard-control-v2/enum';
|
|
298
|
+
export type { FcrBoardMainWindow, FcrBoardMainWindowObserver, } from './room-control/whiteboard-control-v2/type';
|
|
299
|
+
export type { FcrColor } from './room-control/whiteboard-control/type';
|
|
300
|
+
export type { FcrLanguageConfig } from './room-control/stt-control/type';
|
package/lib/type.js
CHANGED
|
@@ -21,6 +21,18 @@ Object.defineProperty(exports, "FcrAudioSourceType", {
|
|
|
21
21
|
return _imports.AgoraRtcAudioSourceType;
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
|
+
Object.defineProperty(exports, "FcrBoardShape", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _enum.FcrBoardShape;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "FcrBoardToolType", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function () {
|
|
33
|
+
return _enum.FcrBoardToolType;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
24
36
|
Object.defineProperty(exports, "FcrCapability", {
|
|
25
37
|
enumerable: true,
|
|
26
38
|
get: function () {
|
|
@@ -292,6 +304,7 @@ var _type6 = require("./room-control/sharing-control/type");
|
|
|
292
304
|
var _type7 = require("./room-control/type");
|
|
293
305
|
var _type8 = require("./media-control/type");
|
|
294
306
|
var _error = require("./utilities/error");
|
|
307
|
+
var _enum = require("./room-control/whiteboard-control-v2/enum");
|
|
295
308
|
// 基础导入类型(集中管理第三方依赖类型别名)
|
|
296
309
|
// 内部枚举与基础类型导入
|
|
297
310
|
// 模块类型导出(按功能模块分组)
|
|
@@ -32,6 +32,7 @@ let ControllerType = exports.ControllerType = /*#__PURE__*/function (ControllerT
|
|
|
32
32
|
ControllerType["WHITEBOARD"] = "whiteboard";
|
|
33
33
|
ControllerType["MONITOR"] = "monitor";
|
|
34
34
|
ControllerType["MEDIA"] = "media";
|
|
35
|
+
ControllerType["STT"] = "stt";
|
|
35
36
|
return ControllerType;
|
|
36
37
|
}({});
|
|
37
38
|
/**
|
package/lib/utilities/error.d.ts
CHANGED
package/lib/utilities/error.js
CHANGED
|
@@ -35,6 +35,7 @@ let FcrErrorModuleCode = exports.FcrErrorModuleCode = /*#__PURE__*/function (Fcr
|
|
|
35
35
|
FcrErrorModuleCode[FcrErrorModuleCode["MEDIA_CONTROL_MICROPHONE"] = 32] = "MEDIA_CONTROL_MICROPHONE";
|
|
36
36
|
FcrErrorModuleCode[FcrErrorModuleCode["MEDIA_CONTROL_LOOPBACK"] = 33] = "MEDIA_CONTROL_LOOPBACK";
|
|
37
37
|
FcrErrorModuleCode[FcrErrorModuleCode["MEDIA_CONTROL_SCREEN"] = 34] = "MEDIA_CONTROL_SCREEN";
|
|
38
|
+
FcrErrorModuleCode[FcrErrorModuleCode["ROOM_STT"] = 35] = "ROOM_STT";
|
|
38
39
|
FcrErrorModuleCode[FcrErrorModuleCode["MONITOR"] = 40] = "MONITOR";
|
|
39
40
|
FcrErrorModuleCode[FcrErrorModuleCode["ROOM_LIVE_STREAMING"] = 41] = "ROOM_LIVE_STREAMING";
|
|
40
41
|
return FcrErrorModuleCode;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getLogger as _getLogger } from '../imports';
|
|
2
|
-
export declare const getLogger: () => import("agora-foundation/lib/logger").Logger;
|
|
2
|
+
export declare const getLogger: () => import("agora-foundation/lib/logger/type").Logger;
|
|
3
3
|
export declare const createLogger: (opts: {
|
|
4
4
|
prefix: string;
|
|
5
|
-
}) => import("agora-foundation/lib/logger").Logger;
|
|
5
|
+
}) => import("agora-foundation/lib/logger/type").Logger;
|
|
6
6
|
export declare const generateLogObserver: <T>(logger: ReturnType<typeof _getLogger>, callbackMethods: (keyof T)[]) => T;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { FcrObjectForgeInitConfig } from '../room-control/whiteboard-control-v2/type';
|
|
1
2
|
export declare const setAnnotationBoardOptions: (options: Record<string, unknown>) => void;
|
|
2
|
-
export declare const getAnnotationBoardOptions: () =>
|
|
3
|
+
export declare const getAnnotationBoardOptions: () => FcrObjectForgeInitConfig | null;
|
|
3
4
|
export declare const clearAnnotationBoardOptions: () => void;
|
|
4
5
|
export declare const setWhiteboardOptions: (options: Record<string, unknown>) => void;
|
|
6
|
+
export declare const getWhiteboardOptions: () => FcrObjectForgeInitConfig | null;
|
|
5
7
|
export declare const clearWhiteboardOptions: () => void;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.setWhiteboardOptions = exports.setAnnotationBoardOptions = exports.getAnnotationBoardOptions = exports.clearWhiteboardOptions = exports.clearAnnotationBoardOptions = void 0;
|
|
6
|
+
exports.setWhiteboardOptions = exports.setAnnotationBoardOptions = exports.getWhiteboardOptions = exports.getAnnotationBoardOptions = exports.clearWhiteboardOptions = exports.clearAnnotationBoardOptions = void 0;
|
|
7
7
|
require("core-js/modules/es.json.stringify.js");
|
|
8
8
|
require("core-js/modules/esnext.json.parse.js");
|
|
9
9
|
var _imports = require("../imports");
|
|
@@ -29,6 +29,14 @@ const setWhiteboardOptions = options => {
|
|
|
29
29
|
_imports.localStorage.setItem(STORAGE_KEY_WHITEBOARD_OPTIONS, JSON.stringify(options));
|
|
30
30
|
};
|
|
31
31
|
exports.setWhiteboardOptions = setWhiteboardOptions;
|
|
32
|
+
const getWhiteboardOptions = () => {
|
|
33
|
+
const boardOptions = _imports.localStorage.getItem(STORAGE_KEY_WHITEBOARD_OPTIONS);
|
|
34
|
+
if (boardOptions) {
|
|
35
|
+
return JSON.parse(boardOptions);
|
|
36
|
+
}
|
|
37
|
+
return null;
|
|
38
|
+
};
|
|
39
|
+
exports.getWhiteboardOptions = getWhiteboardOptions;
|
|
32
40
|
const clearWhiteboardOptions = () => {
|
|
33
41
|
_imports.localStorage.removeItem(STORAGE_KEY_WHITEBOARD_OPTIONS);
|
|
34
42
|
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fcr-core",
|
|
3
3
|
"description": "Core APIs for building online scenes",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.8.0-alpha",
|
|
5
5
|
"module": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
7
7
|
"files": [
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"build:split:i18n": "node ./build-doc/doc-localization.js",
|
|
27
27
|
"build:en-docs": "typedoc --entryPoints ./build-doc/en-sdk.d.ts --readme ./build-doc/readme-en.md --hideGenerator --name 'Edu Store Typescript API Reference for Web' --tsconfig ./build-doc/en/tsconfig.json --out en-docs --excludeExternals --excludePrivate --excludeInternal --excludeProtected --disableSources --theme typedoc-theme",
|
|
28
28
|
"build:cn-docs": "typedoc --entryPoints ./build-doc/cn-sdk.d.ts --readme ./build-doc/readme-cn.md --hideGenerator --name 'Edu Store Typescript API Reference for Web' --tsconfig ./build-doc/cn/tsconfig.json --out cn-docs --excludeExternals --excludePrivate --excludeInternal --excludeProtected --disableSources --theme typedoc-theme",
|
|
29
|
-
"test-browser": "agora-tc-test-karma-browser
|
|
29
|
+
"test-browser": "agora-tc-test-karma-browser",
|
|
30
30
|
"test-electron": "agora-tc-test-karma-electron"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"@types/lodash": "^4.14.168",
|
|
41
41
|
"@types/sinon": "^17.0.2",
|
|
42
42
|
"@types/uuid": "^8.3.0",
|
|
43
|
-
"agora-toolchain": "3.
|
|
43
|
+
"agora-toolchain": "3.8.0-alpha",
|
|
44
44
|
"core-js": "^3.33.3",
|
|
45
45
|
"decomment": "^0.9.5",
|
|
46
46
|
"husky": "^9.0.11",
|
|
@@ -52,11 +52,16 @@
|
|
|
52
52
|
"typescript": "^5.3.2"
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
|
+
"@netless/app-slide": "^0.2.81",
|
|
56
|
+
"@netless/appliance-plugin": "^1.1.21",
|
|
55
57
|
"@netless/forge-room": "1.0.6",
|
|
56
58
|
"@netless/forge-rtm": "1.0.6",
|
|
57
59
|
"@netless/forge-whiteboard": "1.0.6",
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
+
"@netless/video-js-plugin": "^0.3.8",
|
|
61
|
+
"@netless/white-snapshot": "^0.4.2",
|
|
62
|
+
"@netless/window-manager": "^1.0.7-beta.6",
|
|
63
|
+
"agora-foundation": "3.8.0-alpha",
|
|
64
|
+
"agora-rte-sdk": "3.8.0-alpha",
|
|
60
65
|
"await-to-js": "^3.0.0",
|
|
61
66
|
"dayjs": "^1.10.4",
|
|
62
67
|
"easemob-websdk": "4.13.0",
|
|
@@ -68,6 +73,7 @@
|
|
|
68
73
|
"lodash": "^4.17.21",
|
|
69
74
|
"protobufjs": "^6.11.2",
|
|
70
75
|
"uuid": "^9.0.1",
|
|
76
|
+
"white-web-sdk": "^2.16.53",
|
|
71
77
|
"yjs": "^13.6.18"
|
|
72
78
|
},
|
|
73
79
|
"browserslist": {
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { AgoraRteScene } from 'agora-rte-sdk';
|
|
2
|
-
import { FcrAnnotationConfig, FcrAnnotationControl, FcrAnnotationControlFactory } from './type';
|
|
3
|
-
import { FcrPrivilegeControl, FcrStreamControl, FcrUserControl } from '../../..';
|
|
4
|
-
import { FcrPrivilegedAnnotationControlImpl } from './privilege-control';
|
|
5
|
-
import { FcrCoreServiceApi } from '../../../service/api';
|
|
6
|
-
import { AgoraRtmClient } from 'agora-rte-sdk/lib/core/rtm/client';
|
|
7
|
-
export declare class FcrAnnotationControlFactoryImpl implements FcrAnnotationControlFactory {
|
|
8
|
-
private _rtmClient;
|
|
9
|
-
private _scene?;
|
|
10
|
-
private _streamControl?;
|
|
11
|
-
private _userControl?;
|
|
12
|
-
private _privilegeControl?;
|
|
13
|
-
private _api?;
|
|
14
|
-
protected logger: import("agora-foundation/lib/logger").Logger;
|
|
15
|
-
constructor(_rtmClient: AgoraRtmClient, _scene?: AgoraRteScene | undefined, _streamControl?: FcrStreamControl | undefined, _userControl?: FcrUserControl | undefined, _privilegeControl?: FcrPrivilegeControl | undefined, _api?: FcrCoreServiceApi | undefined);
|
|
16
|
-
createForSubProcess(config: FcrAnnotationConfig): FcrAnnotationControl;
|
|
17
|
-
createForMainProcess(): FcrPrivilegedAnnotationControlImpl;
|
|
18
|
-
private _getBoardConfigInfoWithScene;
|
|
19
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { FcrAnnotationConfig, FcrPrivilegedAnnotationControl } from './type';
|
|
2
|
-
import { AgoraRteScene } from 'agora-rte-sdk';
|
|
3
|
-
import { FcrConnectionState, FcrPrivilegeControl, FcrStreamControl, FcrUserControl, FcrWhiteboardObserver } from '../../../type';
|
|
4
|
-
import { FcrAnnotationControlImpl } from './control';
|
|
5
|
-
import { FcrCoreServiceApi } from '../../../service/api';
|
|
6
|
-
import { AgoraRtmClient } from 'agora-rte-sdk/lib/core/rtm/client';
|
|
7
|
-
import { FcrBoardMainWindow } from '../../whiteboard-control/types';
|
|
8
|
-
export declare class FcrPrivilegedAnnotationControlImpl extends FcrAnnotationControlImpl implements FcrPrivilegedAnnotationControl {
|
|
9
|
-
private _scene;
|
|
10
|
-
private _streamControl;
|
|
11
|
-
private _userControl;
|
|
12
|
-
private _privilegeControl;
|
|
13
|
-
private _api;
|
|
14
|
-
protected logger: import("agora-foundation/lib/logger").Logger;
|
|
15
|
-
private _config;
|
|
16
|
-
private _isOpen;
|
|
17
|
-
private _waitPromise;
|
|
18
|
-
private _waitPromiseResolve;
|
|
19
|
-
private _waitPromiseReject;
|
|
20
|
-
private _privilegeObserver;
|
|
21
|
-
private _sceneObserver;
|
|
22
|
-
constructor(rtmClient: AgoraRtmClient, config: FcrAnnotationConfig, _scene: AgoraRteScene, _streamControl: FcrStreamControl, _userControl: FcrUserControl, _privilegeControl: FcrPrivilegeControl, _api: FcrCoreServiceApi);
|
|
23
|
-
addObserver(observer: FcrWhiteboardObserver): void;
|
|
24
|
-
removeObserver(observer: FcrWhiteboardObserver): void;
|
|
25
|
-
open(): Promise<FcrBoardMainWindow>;
|
|
26
|
-
close(): Promise<void>;
|
|
27
|
-
syncScreenShareOwnerAnnotationOpenDone(): Promise<void>;
|
|
28
|
-
protected updateConnnectionState(state: FcrConnectionState): void;
|
|
29
|
-
protected _connect(): Promise<FcrBoardMainWindow>;
|
|
30
|
-
private _hasBoardWritePermission;
|
|
31
|
-
private _checkForConnect;
|
|
32
|
-
private _clearWaitPromise;
|
|
33
|
-
private _getToken;
|
|
34
|
-
private _handleApplicationLaunch;
|
|
35
|
-
private _handleApplicationTerminal;
|
|
36
|
-
}
|
|
@@ -1,262 +0,0 @@
|
|
|
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.FcrPrivilegedAnnotationControlImpl = 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/esnext.iterator.constructor.js");
|
|
29
|
-
require("core-js/modules/esnext.iterator.find.js");
|
|
30
|
-
require("core-js/modules/esnext.iterator.some.js");
|
|
31
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
32
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
33
|
-
var _type = require("../../../type");
|
|
34
|
-
var _control = require("./control");
|
|
35
|
-
var _forgeWhiteboard = require("@netless/forge-whiteboard");
|
|
36
|
-
var _helper = require("../../privilege-control/helper");
|
|
37
|
-
var _imports = require("../../../imports");
|
|
38
|
-
var _error = require("../../../utilities/error");
|
|
39
|
-
var _logger = require("../../../utilities/logger");
|
|
40
|
-
var _utils = require("../utils");
|
|
41
|
-
var _FcrPrivilegedAnnotationControlImpl;
|
|
42
|
-
let _initProto;
|
|
43
|
-
function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function (e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O.static = l, O.private = f, f ? 2 === o ? k = function (e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function (e) { return e[n]; }, (o < 2 || 4 === o) && (F = function (e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == typeof P && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol.for("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol.for("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function (t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
|
|
44
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
45
|
-
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
46
|
-
function _setFunctionName(e, t, n) { "symbol" == typeof t && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
|
|
47
|
-
function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? typeof e : "null")); return e; }
|
|
48
|
-
class FcrPrivilegedAnnotationControlImpl extends _control.FcrAnnotationControlImpl {
|
|
49
|
-
constructor(rtmClient, config, _scene, _streamControl, _userControl, _privilegeControl, _api) {
|
|
50
|
-
super(rtmClient, config);
|
|
51
|
-
(0, _defineProperty2.default)(this, "logger", (_initProto(this), (0, _logger.createLogger)({
|
|
52
|
-
prefix: 'FcrPrivilegedAnnotationControlImpl'
|
|
53
|
-
})));
|
|
54
|
-
(0, _defineProperty2.default)(this, "_isOpen", false);
|
|
55
|
-
(0, _defineProperty2.default)(this, "_waitPromise", null);
|
|
56
|
-
(0, _defineProperty2.default)(this, "_waitPromiseResolve", null);
|
|
57
|
-
(0, _defineProperty2.default)(this, "_waitPromiseReject", null);
|
|
58
|
-
(0, _defineProperty2.default)(this, "_privilegeObserver", {
|
|
59
|
-
onLocalUserPermissionInfoAdded: (roomId, event) => {
|
|
60
|
-
if (this._hasBoardWritePermission(event)) {
|
|
61
|
-
this.logger.info("add board write permission");
|
|
62
|
-
const whiteboard = this.annotation;
|
|
63
|
-
if (whiteboard) {
|
|
64
|
-
whiteboard.permissions.addPermission(_forgeWhiteboard.WhiteboardPermissionFlag.all);
|
|
65
|
-
} else {
|
|
66
|
-
this.logger.warn('whiteboard is not initialized yet, should add permission when application launched');
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
},
|
|
70
|
-
onLocalUserPermissionInfoDeleted: (roomId, event) => {
|
|
71
|
-
if (this._hasBoardWritePermission(event)) {
|
|
72
|
-
this.logger.info("remove board write permission");
|
|
73
|
-
const whiteboard = this.annotation;
|
|
74
|
-
if (whiteboard) {
|
|
75
|
-
whiteboard.permissions.removePermission(_forgeWhiteboard.WhiteboardPermissionFlag.all);
|
|
76
|
-
} else {
|
|
77
|
-
this.logger.warn('whiteboard is not initialized yet, should remove permission when application launched');
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
(0, _defineProperty2.default)(this, "_sceneObserver", {
|
|
83
|
-
onScenePropertiesUpdated: async (sceneId, event) => {
|
|
84
|
-
const hasKey = Object.keys(event.changedProperties).some(changeKey => {
|
|
85
|
-
return changeKey === 'widgets.annotation.extra.boardAppId';
|
|
86
|
-
});
|
|
87
|
-
if (hasKey) {
|
|
88
|
-
this.logger.info('widgets.annotation.extra.boardAppId updated, re-initializing annotation info');
|
|
89
|
-
if (this._isOpen && (await this._checkForConnect())) {
|
|
90
|
-
this._connect();
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
});
|
|
95
|
-
this._scene = _scene;
|
|
96
|
-
this._streamControl = _streamControl;
|
|
97
|
-
this._userControl = _userControl;
|
|
98
|
-
this._privilegeControl = _privilegeControl;
|
|
99
|
-
this._api = _api;
|
|
100
|
-
this._config = config;
|
|
101
|
-
this._privilegeControl.addObserver(this._privilegeObserver);
|
|
102
|
-
this._scene.addObserver(this._sceneObserver);
|
|
103
|
-
this.logger.info("initialized, config: ".concat(JSON.stringify(config)));
|
|
104
|
-
}
|
|
105
|
-
addObserver(observer) {
|
|
106
|
-
this.observable.addObserver(observer);
|
|
107
|
-
}
|
|
108
|
-
removeObserver(observer) {
|
|
109
|
-
this.observable.removeObserver(observer);
|
|
110
|
-
}
|
|
111
|
-
async open() {
|
|
112
|
-
this._isOpen = true;
|
|
113
|
-
this.logger.info("open privileged annotation control with config: ".concat((0, _imports.jsonstring)(this._config)));
|
|
114
|
-
const isReadyToConnect = await this._checkForConnect();
|
|
115
|
-
if (isReadyToConnect) {
|
|
116
|
-
return this._connect();
|
|
117
|
-
}
|
|
118
|
-
if (!this._waitPromise) {
|
|
119
|
-
this._waitPromise = new Promise((resolve, reject) => {
|
|
120
|
-
this._waitPromiseResolve = resolve;
|
|
121
|
-
this._waitPromiseReject = reject;
|
|
122
|
-
this.logger.info('waiting for annotation config to be ready');
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
return this._waitPromise;
|
|
126
|
-
}
|
|
127
|
-
close() {
|
|
128
|
-
this._isOpen = false;
|
|
129
|
-
if (this._waitPromiseReject) {
|
|
130
|
-
this._waitPromiseReject(new Error('closed before connection established'));
|
|
131
|
-
this._clearWaitPromise();
|
|
132
|
-
}
|
|
133
|
-
return super.close();
|
|
134
|
-
}
|
|
135
|
-
async syncScreenShareOwnerAnnotationOpenDone() {
|
|
136
|
-
try {
|
|
137
|
-
await this._api.syncScreenShareOwnerAnnotationOpenDone(this._scene.sceneId);
|
|
138
|
-
} catch (e) {
|
|
139
|
-
const error = e;
|
|
140
|
-
const errorMessage = error.message;
|
|
141
|
-
throw (0, _error.generateFcrCoreClientError)(_error.FcrErrorModuleCode.ROOM_WHITEBOARD, _error.FcrErrorCode.LOCAL_HTTP_REQUEST_FAILED, "sync screen share owner annotation open done failed: ".concat(errorMessage), error);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
updateConnnectionState(state) {
|
|
145
|
-
super.updateConnnectionState(state);
|
|
146
|
-
if (state === _type.FcrConnectionState.CONNECTED) {
|
|
147
|
-
const whiteboard = this.annotation;
|
|
148
|
-
const mainWindow = this.boardView;
|
|
149
|
-
if (!whiteboard) {
|
|
150
|
-
this.logger.error('whiteboard is expected to be initialized at this point');
|
|
151
|
-
return;
|
|
152
|
-
}
|
|
153
|
-
if (!mainWindow) {
|
|
154
|
-
this.logger.error('main window is expected to be initialized at this point');
|
|
155
|
-
return;
|
|
156
|
-
}
|
|
157
|
-
const isEnabled = action => (0, _helper.getLocalUserPermissionInfo)(this._scene, action).enable;
|
|
158
|
-
const hasOperationPrivilege = isEnabled(_type.FcrPermissionAction.BoardWrite) || isEnabled(_type.FcrPermissionAction.AnnotationWrite);
|
|
159
|
-
if (hasOperationPrivilege) {
|
|
160
|
-
this.logger.info('add whiteboard permission');
|
|
161
|
-
whiteboard.permissions.addPermission(_forgeWhiteboard.WhiteboardPermissionFlag.all);
|
|
162
|
-
} else {
|
|
163
|
-
this.logger.info('remove whiteboard permission');
|
|
164
|
-
whiteboard.permissions.removePermission(_forgeWhiteboard.WhiteboardPermissionFlag.all);
|
|
165
|
-
}
|
|
166
|
-
const stream = this._streamControl.getStreamList().find(stream => stream.videoSourceType === _type.FcrVideoSourceType.SCREEN);
|
|
167
|
-
const localUserId = this._userControl.getLocalUser().userId;
|
|
168
|
-
if (stream) {
|
|
169
|
-
var _this$_userControl$ge;
|
|
170
|
-
const ownerId = stream.owner.userId;
|
|
171
|
-
const isNotMeSharing = ownerId !== localUserId;
|
|
172
|
-
const platform = (_this$_userControl$ge = this._userControl.getUser(ownerId)) === null || _this$_userControl$ge === void 0 ? void 0 : _this$_userControl$ge.platform;
|
|
173
|
-
const isPcPlatform = platform && [_type.FcrPlatform.WEB_DESKTOP, _type.FcrPlatform.WINDOWS, _type.FcrPlatform.MACOS].includes(platform);
|
|
174
|
-
const isAndroidPlatform = platform && platform === _type.FcrPlatform.ANDROID;
|
|
175
|
-
this.logger.debug("isPcPlatform: ".concat(isPcPlatform, ", isAndroidPlatform: ").concat(isAndroidPlatform, ", isNotMeSharing: ").concat(isNotMeSharing, ", ownerId: ").concat(ownerId, ", localUserId: ").concat(localUserId, ", platform: ").concat(platform));
|
|
176
|
-
if (isPcPlatform) {
|
|
177
|
-
mainWindow.setAutoCancelDraw(false);
|
|
178
|
-
}
|
|
179
|
-
if (isAndroidPlatform) {
|
|
180
|
-
mainWindow.setAutoCancelDraw(isNotMeSharing);
|
|
181
|
-
}
|
|
182
|
-
if (ownerId === localUserId) {
|
|
183
|
-
if (mainWindow) {
|
|
184
|
-
mainWindow.clean();
|
|
185
|
-
mainWindow.updateWindowSize({
|
|
186
|
-
width: this._config.size.width,
|
|
187
|
-
height: this._config.size.height
|
|
188
|
-
});
|
|
189
|
-
this.syncScreenShareOwnerAnnotationOpenDone();
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
async _connect() {
|
|
196
|
-
const promise = super._connect();
|
|
197
|
-
promise.then(boardView => {
|
|
198
|
-
this.boardRoom.applicationManager.on('launch', this._handleApplicationLaunch);
|
|
199
|
-
this.boardRoom.applicationManager.on('terminal', this._handleApplicationTerminal);
|
|
200
|
-
if (this._waitPromiseResolve) {
|
|
201
|
-
this._waitPromiseResolve(boardView);
|
|
202
|
-
this._clearWaitPromise();
|
|
203
|
-
}
|
|
204
|
-
return boardView;
|
|
205
|
-
}).catch(reason => {
|
|
206
|
-
if (this._waitPromiseReject) {
|
|
207
|
-
this._waitPromiseReject(reason);
|
|
208
|
-
this._clearWaitPromise();
|
|
209
|
-
}
|
|
210
|
-
});
|
|
211
|
-
return promise;
|
|
212
|
-
}
|
|
213
|
-
_hasBoardWritePermission(event) {
|
|
214
|
-
const hasPermissionNow = event.permissionInfo.some(perm => {
|
|
215
|
-
var _perm$info;
|
|
216
|
-
return ((_perm$info = perm.info) === null || _perm$info === void 0 ? void 0 : _perm$info.action) === _type.FcrPermissionAction.BoardWrite;
|
|
217
|
-
});
|
|
218
|
-
return hasPermissionNow;
|
|
219
|
-
}
|
|
220
|
-
async _checkForConnect() {
|
|
221
|
-
const roomId = this._scene.sceneId;
|
|
222
|
-
const userId = this._scene.localUser.getLocalUserId();
|
|
223
|
-
const boardOptions = (await this._getToken(roomId, userId)).data;
|
|
224
|
-
if (boardOptions && boardOptions.boardAppId) {
|
|
225
|
-
this.logger.info("board options found, ready to connect: ".concat((0, _imports.jsonstring)(boardOptions)));
|
|
226
|
-
if (this.annotationConfig) {
|
|
227
|
-
this.annotationConfig.extra = this.annotationConfig.extra || {};
|
|
228
|
-
this.annotationConfig.extra.boardAppId = boardOptions.boardAppId;
|
|
229
|
-
this.annotationConfig.extra.boardId = boardOptions.boardId;
|
|
230
|
-
this.annotationConfig.extra.boardToken = boardOptions.boardToken;
|
|
231
|
-
this.annotationConfig.extra.region = boardOptions.region;
|
|
232
|
-
const roomProperties = this._scene.getSceneProperties();
|
|
233
|
-
const annotationConfig = (0, _utils.getAnnotationConfigFromRoomProperties)(roomProperties, this.logger);
|
|
234
|
-
this.annotationConfig.size.width = annotationConfig.size.width;
|
|
235
|
-
this.annotationConfig.size.height = annotationConfig.size.height;
|
|
236
|
-
this.logger.info("update annotation config, config: ".concat((0, _imports.jsonstring)(this.annotationConfig)));
|
|
237
|
-
}
|
|
238
|
-
return true;
|
|
239
|
-
}
|
|
240
|
-
return false;
|
|
241
|
-
}
|
|
242
|
-
_clearWaitPromise() {
|
|
243
|
-
this._waitPromiseResolve = null;
|
|
244
|
-
this._waitPromiseReject = null;
|
|
245
|
-
this._waitPromise = null;
|
|
246
|
-
}
|
|
247
|
-
async _getToken(roomId, userId) {
|
|
248
|
-
return await (0, _error.handleRequestError)(() => this._api.getAnnotationToken({
|
|
249
|
-
roomId,
|
|
250
|
-
userId
|
|
251
|
-
}), _error.FcrErrorModuleCode.ROOM_WHITEBOARD, 'get whiteboard token failed');
|
|
252
|
-
}
|
|
253
|
-
async _handleApplicationLaunch(appId, app) {
|
|
254
|
-
this.annotation = app;
|
|
255
|
-
}
|
|
256
|
-
async _handleApplicationTerminal(appId, app) {
|
|
257
|
-
this.annotation = app;
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
exports.FcrPrivilegedAnnotationControlImpl = FcrPrivilegedAnnotationControlImpl;
|
|
261
|
-
_FcrPrivilegedAnnotationControlImpl = FcrPrivilegedAnnotationControlImpl;
|
|
262
|
-
[_initProto] = _applyDecs(_FcrPrivilegedAnnotationControlImpl, [[_imports.trace, 2, "open"], [_imports.trace, 2, "close"], [_imports.trace, 2, "syncScreenShareOwnerAnnotationOpenDone"], [[_imports.bound, _imports.trace], 2, "_handleApplicationLaunch"], [[_imports.bound, _imports.trace], 2, "_handleApplicationTerminal"]], [], 0, void 0, _control.FcrAnnotationControlImpl).e;
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { FcrBaseWhiteboardControl, FcrBoardActiveInfo, FcrBoardMainWindow } from '../whiteboard-control/types';
|
|
2
|
-
import { AgoraRteEngine, AgoraRteScene } from '../../imports';
|
|
3
|
-
import { FcrCoreServiceApi } from '../../service/api';
|
|
4
|
-
import { FcrConnectionState } from '../../type';
|
|
5
|
-
import { FcrSharedCache } from '../shared-cache';
|
|
6
|
-
import { FcrWhiteboardObserver } from './whiteboard-control/type';
|
|
7
|
-
export declare class FcrWhiteboardControlImpl implements FcrBaseWhiteboardControl {
|
|
8
|
-
private _scene;
|
|
9
|
-
private _api;
|
|
10
|
-
private _engine;
|
|
11
|
-
private _sharedCache;
|
|
12
|
-
protected logger: import("agora-foundation/lib/logger").Logger;
|
|
13
|
-
private _boardView;
|
|
14
|
-
private _boardRoom;
|
|
15
|
-
private _observable;
|
|
16
|
-
private _connectState;
|
|
17
|
-
private _needRetry;
|
|
18
|
-
private _FORGE_WHITEBOARD_APP_ID;
|
|
19
|
-
private _roomCache;
|
|
20
|
-
constructor(_scene: AgoraRteScene, _api: FcrCoreServiceApi, _engine: AgoraRteEngine, _sharedCache: FcrSharedCache);
|
|
21
|
-
open(): Promise<FcrBoardMainWindow>;
|
|
22
|
-
close(): Promise<void>;
|
|
23
|
-
active(): Promise<void>;
|
|
24
|
-
inactive(): Promise<void>;
|
|
25
|
-
getConnectionState(): FcrConnectionState;
|
|
26
|
-
getMainWindow(): FcrBoardMainWindow | undefined;
|
|
27
|
-
getBoardActiveInfo(): FcrBoardActiveInfo;
|
|
28
|
-
setBackgroundColor(backgroundColor: string): Promise<void>;
|
|
29
|
-
getBackgroundColor(): string | undefined;
|
|
30
|
-
getActivity(): boolean;
|
|
31
|
-
getOwnerId(): string;
|
|
32
|
-
addObserver(observer: FcrWhiteboardObserver): void;
|
|
33
|
-
removeObserver(observer: FcrWhiteboardObserver): void;
|
|
34
|
-
private _notifyObservers;
|
|
35
|
-
private _updateConnnectionState;
|
|
36
|
-
private _getToken;
|
|
37
|
-
private _addLogObserver;
|
|
38
|
-
}
|