fcr-ui-scene 3.6.2 → 3.6.3
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/creator.d.ts +1 -0
- package/lib/creator.js +38 -26
- package/lib/electron/app.js +5 -4
- package/lib/electron/bootstrap-dev.js +3 -0
- package/lib/electron/injections.d.ts +3 -2
- package/lib/electron/injections.js +5 -6
- package/lib/electron/main.js +15 -11
- package/lib/electron/window.js +0 -3
- package/lib/fragments/annotation/index.d.ts +1 -0
- package/lib/fragments/annotation/index.js +55 -40
- package/lib/fragments/annotation/store.d.ts +7 -2
- package/lib/fragments/annotation/store.js +170 -90
- package/lib/fragments/annotation/view.d.ts +1 -0
- package/lib/fragments/annotation/view.js +10 -2
- package/lib/modules/action-bar/index.css +4 -0
- package/lib/modules/action-bar/store.d.ts +1 -7
- package/lib/modules/action-bar/store.js +35 -82
- package/lib/modules/annotation/board-cursor.css +76 -0
- package/lib/modules/annotation/components/control-bar/index.js +42 -2
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.js +3 -1
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +1 -0
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.js +11 -5
- package/lib/modules/annotation/components/toolbar/components/item/item.d.ts +1 -0
- package/lib/modules/annotation/components/toolbar/components/item/item.js +3 -2
- package/lib/modules/annotation/index.d.ts +2 -0
- package/lib/modules/annotation/index.js +2 -1
- package/lib/modules/annotation/store.d.ts +11 -3
- package/lib/modules/annotation/store.js +209 -184
- package/lib/modules/annotation/style.css +3 -3
- package/lib/modules/annotation/view.d.ts +1 -0
- package/lib/modules/annotation/view.js +26 -9
- package/lib/modules/components/member-window/components/member-actions/components/audio-control.d.ts +0 -1
- package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +10 -4
- package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.d.ts +2 -2
- package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +4 -4
- package/lib/modules/components/member-window/components/member-actions/components/icon-status.d.ts +0 -2
- package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +3 -4
- package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +0 -3
- package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +6 -32
- package/lib/modules/components/member-window/components/member-actions/components/share-status.js +11 -3
- package/lib/modules/components/member-window/components/member-actions/components/user-info.d.ts +0 -1
- package/lib/modules/components/member-window/components/member-actions/components/user-info.js +7 -10
- package/lib/modules/components/member-window/components/member-actions/components/user-tag.d.ts +0 -1
- package/lib/modules/components/member-window/components/member-actions/components/user-tag.js +0 -2
- package/lib/modules/components/member-window/components/member-actions/index.js +1 -32
- package/lib/modules/components/member-window/components/member-actions/store.d.ts +38 -1
- package/lib/modules/components/member-window/components/member-actions/store.js +130 -23
- package/lib/modules/components/member-window/index.css +37 -0
- package/lib/modules/control-bar/index.d.ts +0 -4
- package/lib/modules/control-bar/index.js +0 -32
- package/lib/modules/control-bar/store.d.ts +4 -6
- package/lib/modules/control-bar/store.js +63 -103
- package/lib/modules/control-bar/view.js +45 -3
- package/lib/modules/dialog/components/control-bar/index.d.ts +0 -2
- package/lib/modules/dialog/components/control-bar/index.js +1 -3
- package/lib/modules/dialog/hooks/useElectron.js +3 -2
- package/lib/modules/dialog/index.d.ts +0 -3
- package/lib/modules/dialog/index.js +1 -25
- package/lib/modules/dialog/store.d.ts +6 -8
- package/lib/modules/dialog/store.js +21 -55
- package/lib/modules/layout/components/CommonVideoRenderer.js +5 -2
- package/lib/modules/layout/type.d.ts +7 -0
- package/lib/modules/participant/store.js +59 -28
- package/lib/modules/setting/index.d.ts +2 -0
- package/lib/modules/setting/index.js +3 -3
- package/lib/modules/setting/store.d.ts +8 -10
- package/lib/modules/setting/store.js +22 -20
- package/lib/modules/share-screen/store.d.ts +3 -0
- package/lib/modules/share-screen/store.js +63 -54
- package/lib/modules/state-bar/index.css +8 -6
- package/lib/modules/state-bar/index.d.ts +2 -0
- package/lib/modules/state-bar/index.js +2 -1
- package/lib/modules/state-bar/layout-config.d.ts +1 -0
- package/lib/modules/state-bar/layout-config.js +15 -5
- package/lib/modules/state-bar/store.d.ts +5 -1
- package/lib/modules/state-bar/store.js +8 -1
- package/lib/modules/state-bar/view.js +9 -5
- package/lib/modules/whiteboard/components/control-bar/store.js +2 -0
- package/lib/modules/whiteboard/components/toolbar/store.d.ts +7 -3
- package/lib/modules/whiteboard/components/toolbar/store.js +61 -35
- package/lib/modules/whiteboard/index.js +3 -2
- package/lib/modules/whiteboard/style.css +0 -4
- package/lib/modules/whiteboard/view.js +8 -2
- package/lib/providers/annotation-provider.d.ts +63 -12
- package/lib/providers/annotation-provider.js +51 -41
- package/lib/providers/device-provider.d.ts +3 -3
- package/lib/providers/device-provider.js +8 -6
- package/lib/providers/event-provider.d.ts +3 -3
- package/lib/providers/screen-share-provider.js +53 -60
- package/lib/providers/sharing-provider.d.ts +5 -1
- package/lib/providers/sharing-provider.js +16 -1
- package/lib/providers/user-setting-storage-provider.d.ts +20 -0
- package/lib/providers/user-setting-storage-provider.js +74 -0
- package/lib/scenes/main-scene.js +2 -3
- package/lib/scenes/waiting-scene.js +1 -1
- package/lib/shared-data-source/config.d.ts +1 -5
- package/lib/shared-data-source/config.js +11 -81
- package/lib/shared-data-source/screen-share-data.d.ts +4 -0
- package/lib/shared-data-source/screen-share-data.js +1 -0
- package/lib/shared-data-source/setting.d.ts +13 -13
- package/lib/shared-data-source/setting.js +10 -6
- package/lib/shared-data-source/video-window.d.ts +2 -1
- package/lib/shared-data-source/video-window.js +56 -36
- package/lib/translations/enUS.d.ts +8 -0
- package/lib/translations/enUS.js +9 -1
- package/lib/translations/zhCN.d.ts +8 -0
- package/lib/translations/zhCN.js +11 -3
- package/lib/type.d.ts +2 -1
- package/lib/ui-scene.js +11 -6
- package/lib/utilities/constant.d.ts +2 -1
- package/lib/utilities/constant.js +1 -0
- package/lib/utilities/setting-config-storage.d.ts +5 -6
- package/lib/utilities/setting-config-storage.js +33 -39
- package/lib/utilities/tools.d.ts +1 -0
- package/lib/utilities/tools.js +3 -2
- package/package.json +8 -6
- package/dist/132.js +0 -2
- package/dist/132.js.LICENSE.txt +0 -311
- package/dist/317.js +0 -2
- package/dist/317.js.LICENSE.txt +0 -20
- package/dist/651.js +0 -2
- package/dist/651.js.LICENSE.txt +0 -1
- package/dist/689343b64b60bfb7ffff.png +0 -0
- package/dist/73.js +0 -1
- package/dist/885f9369ea05a8ac0e56.png +0 -0
- package/dist/90f383876a6e93e7c7ca.png +0 -0
- package/dist/9b37584780995fc5df8c.gif +0 -0
- package/dist/annotation.e5cbd3a70b6d42361872.css +0 -1274
- package/dist/annotation.html +0 -1
- package/dist/annotation.js +0 -2
- package/dist/annotation.js.LICENSE.txt +0 -252
- package/dist/assets/browser/images/default1.jpg +0 -0
- package/dist/assets/browser/images/default2.jpg +0 -0
- package/dist/assets/browser/images/default3.jpg +0 -0
- package/dist/assets/browser/images/default4.jpg +0 -0
- package/dist/assets/browser/images/default5.jpg +0 -0
- package/dist/assets/browser/images/default6.jpg +0 -0
- package/dist/assets/browser/images/default7.jpg +0 -0
- package/dist/assets/browser/sound_effects/pretest.mp3 +0 -0
- package/dist/assets/browser/sound_effects/recording_started.mp3 +0 -0
- package/dist/assets/browser/sound_effects/remote_user_joined.mp3 +0 -0
- package/dist/assets/browser/sound_effects/speaker_test.mp3 +0 -0
- package/dist/assets/browser/videos/default8.mp4 +0 -0
- package/dist/assets/browser/videos/default9.mp4 +0 -0
- package/dist/assets/cursors/fcr_whiteboard_input.ico +0 -0
- package/dist/assets/cursors/fcr_whiteboard_pen.ico +0 -0
- package/dist/assets/cursors/fcr_whiteboard_shape_-straightline.ico +0 -0
- package/dist/assets/cursors/fcr_whiteboard_shape_arrow.ico +0 -0
- package/dist/assets/cursors/fcr_whiteboard_shape_circle.ico +0 -0
- package/dist/assets/cursors/fcr_whiteboard_shape_rectangle.ico +0 -0
- package/dist/assets/cursors/fcr_whiteboard_shape_triangle.ico +0 -0
- package/dist/assets/electron/images/default1.jpg +0 -0
- package/dist/assets/electron/images/default2.jpg +0 -0
- package/dist/assets/electron/sound_effects/pretest.mp3 +0 -0
- package/dist/assets/electron/videos/default8.mp4 +0 -0
- package/dist/assets/fcr_chat_reddot.svg +0 -5
- package/dist/assets/fcr_defaultpage.png +0 -0
- package/dist/assets/fcr_grid_big.svg +0 -3
- package/dist/assets/fcr_leave2.svg +0 -58
- package/dist/assets/fcr_listontop_big.svg +0 -3
- package/dist/assets/full-screen-error-boundary-img.png +0 -0
- package/dist/assets/leave-meeting.png +0 -0
- package/dist/assets/loading.gif +0 -0
- package/dist/assets/login_confirm.png +0 -0
- package/dist/assets/pretest.mp3 +0 -0
- package/dist/assets/state-bar-logo.png +0 -0
- package/dist/assets/step-gradient.svg +0 -10
- package/dist/b74b002687a3a3346bec.png +0 -0
- package/dist/b94869094481702f949b.png +0 -0
- package/dist/ebeace75fd46b90d890e.png +0 -0
- package/dist/electron/app.js +0 -194
- package/dist/electron/bootstrap-dev.js +0 -46
- package/dist/electron/bootstrap-sdk.js +0 -211
- package/dist/electron/default-options.js +0 -25
- package/dist/electron/env.js +0 -13
- package/dist/electron/index.js +0 -20
- package/dist/electron/injections.js +0 -903
- package/dist/electron/ipc/ipc.js +0 -141
- package/dist/electron/ipc/type.js +0 -19
- package/dist/electron/logger.js +0 -65
- package/dist/electron/main.js +0 -94
- package/dist/electron/plugins/devtool-shortcut.js +0 -33
- package/dist/electron/plugins/meeting-state.js +0 -39
- package/dist/electron/plugins/screenshot.js +0 -54
- package/dist/electron/preload.js +0 -108
- package/dist/electron/tools.js +0 -66
- package/dist/electron/window.js +0 -123
- package/dist/extensions/agora-extension-virtual-background/agora-wasm.wasm +0 -0
- package/dist/extensions/ai-denoiser/denoiser-wasm-simd.wasm +0 -0
- package/dist/extensions/ai-denoiser/denoiser-wasm.js +0 -1
- package/dist/extensions/ai-denoiser/denoiser-wasm.wasm +0 -0
- package/dist/fad688b9135b15d6c405.png +0 -0
- package/dist/index.html +0 -224
- package/dist/main.393a2a91ab7fc05ffce6.css +0 -15403
- package/dist/main.js +0 -2
- package/dist/main.js.LICENSE.txt +0 -272
- package/dist/worker-entry.worker.js.LICENSE.txt +0 -13
package/lib/creator.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export declare class FcrUISceneCreator {
|
|
|
9
9
|
accessor observableSettingStore: FcrObservableSettingStore;
|
|
10
10
|
protected logger: import("agora-foundation/lib/logger").Logger;
|
|
11
11
|
private _settingConfigStorage;
|
|
12
|
+
private _userSettingStorageProvider;
|
|
12
13
|
private _registeredWidgetConfigs;
|
|
13
14
|
private _released;
|
|
14
15
|
private _scene;
|
package/lib/creator.js
CHANGED
|
@@ -38,7 +38,6 @@ require("core-js/modules/es.array.map.js");
|
|
|
38
38
|
require("core-js/modules/es.date.to-json.js");
|
|
39
39
|
require("core-js/modules/es.json.stringify.js");
|
|
40
40
|
require("core-js/modules/es.map.js");
|
|
41
|
-
require("core-js/modules/es.object.assign.js");
|
|
42
41
|
require("core-js/modules/es.object.keys.js");
|
|
43
42
|
require("core-js/modules/es.object.to-string.js");
|
|
44
43
|
require("core-js/modules/es.string.iterator.js");
|
|
@@ -97,6 +96,7 @@ var _imports = require("fcr-core/lib/imports");
|
|
|
97
96
|
var _localStorageProvider = require("./providers/local-storage-provider");
|
|
98
97
|
var _logger = require("./utilities/logger");
|
|
99
98
|
var _uiResources = require("./utilities/ui-resources");
|
|
99
|
+
var _userSettingStorageProvider = require("./providers/user-setting-storage-provider");
|
|
100
100
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
101
101
|
var _excluded = ["rtc.microphone.keep.recording"];
|
|
102
102
|
var _FcrUISceneCreator;
|
|
@@ -135,9 +135,10 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
|
|
|
135
135
|
this._config = _config;
|
|
136
136
|
this.logger.info("creator config: ".concat(JSON.stringify(_config)));
|
|
137
137
|
this._localStorageProvider = new _localStorageProvider.FcrUILocalStorageProviderImpl();
|
|
138
|
+
this._userSettingStorageProvider = new _userSettingStorageProvider.FcrUIUserSettingStorageProviderImpl();
|
|
138
139
|
this._localStorageProvider.write('annotation_rtm_app_id', this._config.appId);
|
|
139
140
|
this._settingConfigStorage = new _settingConfigStorage.FcrSettingConfigStorage({
|
|
140
|
-
|
|
141
|
+
userSettingStorageProvider: this._userSettingStorageProvider
|
|
141
142
|
});
|
|
142
143
|
this._setKeepRecordingValueFromParameters(this._config.parameters || {});
|
|
143
144
|
var filteredParameters = this._filterKeepRecordingValueFromParameters(this._config.parameters || {});
|
|
@@ -286,13 +287,12 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
|
|
|
286
287
|
this._eventProvider = new _eventProvider.FcrUIEventProviderImpl();
|
|
287
288
|
this._messageProvider = new _messageProvider.FcrUIMessageProviderImpl();
|
|
288
289
|
this._dialogProvider = new _dialogProvider.FcrUIDialogProviderImpl();
|
|
289
|
-
this._deviceProvider = new _deviceProvider.FcrUIDeviceProviderImpl(this._eventProvider, this._engine.getDesktopMediaControl(), this._settingConfigStorage.media, this.
|
|
290
|
+
this._deviceProvider = new _deviceProvider.FcrUIDeviceProviderImpl(this._eventProvider, this._engine.getDesktopMediaControl(), this._settingConfigStorage.media, this._userSettingStorageProvider);
|
|
290
291
|
this._sharedConfigDataSource = new _config2.FcrUISharedConfigDataSourceImpl({
|
|
291
292
|
creatorConfig: this._config,
|
|
292
|
-
settingConfig: this._settingConfigStorage
|
|
293
|
-
localStorageProvider: this._localStorageProvider
|
|
293
|
+
settingConfig: this._settingConfigStorage
|
|
294
294
|
});
|
|
295
|
-
this._sharedSettingDataSource = new _setting.FcrUISharedSettingDataSourceImpl(this._config, this.
|
|
295
|
+
this._sharedSettingDataSource = new _setting.FcrUISharedSettingDataSourceImpl(this._config, this._userSettingStorageProvider);
|
|
296
296
|
openDefaultCamera = (0, _parameters.isOpenDefaultCamera)(this._config.parameters);
|
|
297
297
|
openDefaultMicrophone = (0, _parameters.isOpenDefaultMicrophone)(this._config.parameters);
|
|
298
298
|
if (openDefaultCamera) {
|
|
@@ -323,8 +323,8 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
|
|
|
323
323
|
sharedSettingDataSource: sharedSettingDataSource,
|
|
324
324
|
dialogProvider: dialogProvider,
|
|
325
325
|
settingConfig: sharedConfigDataSource.settingConfig,
|
|
326
|
-
|
|
327
|
-
|
|
326
|
+
userId: this._config.userId,
|
|
327
|
+
userSettingStorageProvider: this._userSettingStorageProvider
|
|
328
328
|
});
|
|
329
329
|
case 21:
|
|
330
330
|
case "end":
|
|
@@ -389,28 +389,40 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
|
|
|
389
389
|
}, {
|
|
390
390
|
key: "_filterKeepRecordingValueFromParameters",
|
|
391
391
|
value: function _filterKeepRecordingValueFromParameters(parameters) {
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
var
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
392
|
+
if (!(parameters !== null && parameters !== void 0 && parameters.rtc)) return parameters;
|
|
393
|
+
try {
|
|
394
|
+
var rtc = (parameters === null || parameters === void 0 ? void 0 : parameters.rtc).map(function (item) {
|
|
395
|
+
var _JSON$parse = JSON.parse(item),
|
|
396
|
+
_ = _JSON$parse['rtc.microphone.keep.recording'],
|
|
397
|
+
rest = (0, _objectWithoutProperties2["default"])(_JSON$parse, _excluded);
|
|
398
|
+
return Object.keys(rest).length > 0 ? JSON.stringify(rest) : null;
|
|
399
|
+
}).filter(function (item) {
|
|
400
|
+
return item !== null;
|
|
401
|
+
});
|
|
402
|
+
return _objectSpread(_objectSpread({}, parameters), {}, {
|
|
403
|
+
rtc: rtc
|
|
404
|
+
});
|
|
405
|
+
} catch (e) {
|
|
406
|
+
this.logger.error("[MicrophoneKeepRecording][filterKeepRecordingValueFromParameters] error: ".concat(e));
|
|
407
|
+
return parameters;
|
|
408
|
+
}
|
|
402
409
|
}
|
|
403
410
|
}, {
|
|
404
411
|
key: "_setKeepRecordingValueFromParameters",
|
|
405
412
|
value: function _setKeepRecordingValueFromParameters(parameters) {
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
413
|
+
if (!(parameters !== null && parameters !== void 0 && parameters.rtc)) return;
|
|
414
|
+
try {
|
|
415
|
+
var rtcs = parameters === null || parameters === void 0 ? void 0 : parameters.rtc;
|
|
416
|
+
var keepRecording = rtcs.find(function (item) {
|
|
417
|
+
return typeof JSON.parse(item)['rtc.microphone.keep.recording'] === 'boolean';
|
|
418
|
+
});
|
|
419
|
+
if (keepRecording) {
|
|
420
|
+
var keepRecordingValue = JSON.parse(keepRecording)['rtc.microphone.keep.recording'];
|
|
421
|
+
this._microphoneKeepRecording = !!keepRecordingValue;
|
|
422
|
+
this.logger.info("[MicrophoneKeepRecording][setParameters] keepRecording value is ==> ".concat(JSON.stringify(parameters)));
|
|
423
|
+
}
|
|
424
|
+
} catch (e) {
|
|
425
|
+
this.logger.error("[MicrophoneKeepRecording][setParameters] error: ".concat(e));
|
|
414
426
|
}
|
|
415
427
|
}
|
|
416
428
|
}]);
|
package/lib/electron/app.js
CHANGED
|
@@ -9,11 +9,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
exports.hookApp = void 0;
|
|
10
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
11
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
12
|
+
require("core-js/modules/es.array.concat.js");
|
|
12
13
|
require("core-js/modules/es.array.find.js");
|
|
13
14
|
require("core-js/modules/es.array.for-each.js");
|
|
14
15
|
require("core-js/modules/es.array.join.js");
|
|
15
|
-
require("core-js/modules/es.date.to-json.js");
|
|
16
|
-
require("core-js/modules/es.json.stringify.js");
|
|
17
16
|
require("core-js/modules/es.object.keys.js");
|
|
18
17
|
require("core-js/modules/es.object.to-string.js");
|
|
19
18
|
require("core-js/modules/es.string.starts-with.js");
|
|
@@ -38,6 +37,8 @@ var hookApp = exports.hookApp = function hookApp(app) {
|
|
|
38
37
|
app.commandLine.appendSwitch('ignore-certificate-errors');
|
|
39
38
|
app.addListener('browser-window-created', function (_, window) {
|
|
40
39
|
var windowId = window.id;
|
|
40
|
+
var windowTitle = window.getTitle();
|
|
41
|
+
logger.info("browser window is created, id: ".concat(windowId, ", title: ").concat(windowTitle));
|
|
41
42
|
window.addListener('close', function () {
|
|
42
43
|
_electron.BrowserWindow.getAllWindows().forEach(function (window) {
|
|
43
44
|
if (!isWindowDestroyed(window)) {
|
|
@@ -48,8 +49,8 @@ var hookApp = exports.hookApp = function hookApp(app) {
|
|
|
48
49
|
}
|
|
49
50
|
});
|
|
50
51
|
});
|
|
51
|
-
window.webContents.addListener('render-process-gone', function (event,
|
|
52
|
-
logger.info("render-process-gone: ".concat(
|
|
52
|
+
window.webContents.addListener('render-process-gone', function (event, details) {
|
|
53
|
+
logger.info("rowser window render-process-gone, window id: ".concat(windowId, ", window title: ").concat(windowTitle, ", details.exitCode: ").concat(details.exitCode, ", details.reason: ").concat(details.reason));
|
|
53
54
|
});
|
|
54
55
|
window.webContents.addListener('did-finish-load', function () {
|
|
55
56
|
setTimeout(function () {
|
|
@@ -28,6 +28,9 @@ var _devtoolShortcut = require("./plugins/devtool-shortcut");
|
|
|
28
28
|
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; }
|
|
29
29
|
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; }
|
|
30
30
|
(0, _main.initialize)();
|
|
31
|
+
_electron.crashReporter.start({
|
|
32
|
+
uploadToServer: false
|
|
33
|
+
});
|
|
31
34
|
(0, _app.hookApp)(_electron.app);
|
|
32
35
|
_electron.app.addListener('ready', function () {
|
|
33
36
|
var mainWindow = new _electron.BrowserWindow(_objectSpread(_objectSpread({}, _defaultOptions.defaultWindowOptions), {}, {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { IpcRendererEvent } from 'electron';
|
|
2
2
|
import { BrowserWindowConstructorOptions } from 'electron/renderer';
|
|
3
3
|
import os from 'os';
|
|
4
|
+
import type { WindowManager } from '../type';
|
|
4
5
|
export declare enum FcrNumericExitReason {
|
|
5
6
|
LEAVE_ROOM = 1,// 自己离开而退出
|
|
6
7
|
CLOSE_ROOM = 2,// 房间关闭而退出
|
|
@@ -27,8 +28,8 @@ export declare const captureScreen: (options?: {
|
|
|
27
28
|
hideWindow?: boolean;
|
|
28
29
|
alwaysHide?: boolean;
|
|
29
30
|
}) => void;
|
|
30
|
-
export declare const getActiveWindow: () =>
|
|
31
|
-
export declare const getWindows: () =>
|
|
31
|
+
export declare const getActiveWindow: () => WindowManager;
|
|
32
|
+
export declare const getWindows: () => WindowManager[];
|
|
32
33
|
export declare const openRendererWindow: (frameName: string, renderFn: (dom: Element, browserWindow: Electron.BrowserWindow, newRendererWindow: Window) => void, windowOptions: BrowserWindowConstructorOptions) => Promise<void>;
|
|
33
34
|
export declare const checkMediaPermission: (mediaType: "microphone" | "camera" | "sharing") => Promise<any>;
|
|
34
35
|
export declare const openSystemPreferences: (mediaType: "microphone" | "camera") => void;
|
|
@@ -57,8 +57,7 @@ var _path2 = _interopRequireDefault(require("path"));
|
|
|
57
57
|
var _fs2 = _interopRequireDefault(require("fs"));
|
|
58
58
|
var _promises = _interopRequireDefault(require("fs/promises"));
|
|
59
59
|
var _jszip = _interopRequireDefault(require("jszip"));
|
|
60
|
-
|
|
61
|
-
|
|
60
|
+
var _nodeWindowManager = require("node-window-manager");
|
|
62
61
|
var USER_SETTING_DATA_FILE_NAME = 'UserSettingData.json';
|
|
63
62
|
|
|
64
63
|
// Numeric exit reason enum
|
|
@@ -165,12 +164,12 @@ var captureScreen = exports.captureScreen = function captureScreen(options) {
|
|
|
165
164
|
_electron.ipcRenderer.send('short-cut-capture', "short-cut-capture-reply-".concat(Date.now()), options);
|
|
166
165
|
};
|
|
167
166
|
var getActiveWindow = exports.getActiveWindow = function getActiveWindow() {
|
|
168
|
-
|
|
169
|
-
return undefined;
|
|
167
|
+
return _nodeWindowManager.windowManager.getActiveWindow();
|
|
168
|
+
//return undefined;
|
|
170
169
|
};
|
|
171
170
|
var getWindows = exports.getWindows = function getWindows() {
|
|
172
|
-
|
|
173
|
-
return [];
|
|
171
|
+
return _nodeWindowManager.windowManager.getWindows();
|
|
172
|
+
//return [];
|
|
174
173
|
};
|
|
175
174
|
var rendererWindows = {};
|
|
176
175
|
var rendererWindowMutationObservers = {};
|
package/lib/electron/main.js
CHANGED
|
@@ -16,15 +16,15 @@ var _meetingState = require("./plugins/meeting-state");
|
|
|
16
16
|
var logger = (0, _logger.getLogger)();
|
|
17
17
|
var hookWindow = exports.hookWindow = function hookWindow(mainWindow) {
|
|
18
18
|
mainWindow.webContents.addListener('did-create-window', function (window, details) {
|
|
19
|
-
logger.info("browser window is opened, frameName: ".concat(details.frameName));
|
|
19
|
+
logger.info("[electron][window]: browser window is opened, frameName: ".concat(details.frameName));
|
|
20
20
|
var builtinFrameNames = ['device-settings', 'chat', 'live-streaming', 'participant', 'share-screen-selection', 'invite', 'video-window', 'confirm', 'connection-gateway', 'whiteboard', 'progress-dialog', 'operation-waiting-room', 'operation-waiting-room', 'interpreter-setting', 'waiting-room-single-remove', 'waiting-room-all-remove', 'waiting-room-all-admit', 'control-bar', 'show-toast', 'system-preference', 'rename', 'annotation-tool', 'leave-meeting'];
|
|
21
21
|
if (!builtinFrameNames.includes(details.frameName) && !details.frameName.startsWith('widget')) {
|
|
22
|
-
logger.info("frameName [".concat(details.frameName, "] is not in builtinFrameNames, ignore it"));
|
|
22
|
+
logger.info("[electron][window]: frameName [".concat(details.frameName, "] is not in builtinFrameNames, ignore it"));
|
|
23
23
|
return;
|
|
24
24
|
}
|
|
25
25
|
(0, _window.putRendererWindow)(details.frameName, window);
|
|
26
26
|
window.webContents.addListener('destroyed', function () {
|
|
27
|
-
logger.info("browser window is destroyed, frameName: ".concat(details.frameName));
|
|
27
|
+
logger.info("[electron][window]: browser window is destroyed, frameName: ".concat(details.frameName));
|
|
28
28
|
(0, _window.deleteRendererWindow)(details.frameName);
|
|
29
29
|
});
|
|
30
30
|
|
|
@@ -32,17 +32,20 @@ var hookWindow = exports.hookWindow = function hookWindow(mainWindow) {
|
|
|
32
32
|
// renderer process will receive the will-close event, do some clean up and then call window.close() to close the window
|
|
33
33
|
window.addListener('close', function (event) {
|
|
34
34
|
event.preventDefault();
|
|
35
|
-
logger.info("Window [".concat(window.title, ":").concat(window.id, "] is closed by shortcut CMD + W, send 'will-close' event to that window"));
|
|
35
|
+
logger.info("[electron][window]: Window [".concat(window.title, ":").concat(window.id, "] is closed by shortcut CMD + W, send 'will-close' event to that window"));
|
|
36
36
|
window.emit('will-close');
|
|
37
37
|
});
|
|
38
38
|
window.addListener('will-resize', function (event, newBounds, details) {
|
|
39
|
-
logger.info("Window [".concat(window.title, ":").concat(window.id, "] is resized, send 'custom-resize' event to that window"));
|
|
39
|
+
logger.info("[electron][window]: Window [".concat(window.title, ":").concat(window.id, "] is resized, send 'custom-resize' event to that window"));
|
|
40
40
|
window.emit('custom-resize', event, newBounds, details);
|
|
41
41
|
});
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
42
|
+
|
|
43
|
+
// window.addListener('move', () => {
|
|
44
|
+
// logger.info(
|
|
45
|
+
// `Window [${window.title}:${window.id}] is move, send 'custom-move' event to that window`,
|
|
46
|
+
// );
|
|
47
|
+
// window.emit('custom-move');
|
|
48
|
+
// });
|
|
46
49
|
|
|
47
50
|
// screen?.addListener('display-metrics-changed', (event, display, changedMetrics) => {
|
|
48
51
|
// logger.info(
|
|
@@ -55,11 +58,11 @@ var hookWindow = exports.hookWindow = function hookWindow(mainWindow) {
|
|
|
55
58
|
attachEventOnMethod(window, 'show', 'CALL_SHOW');
|
|
56
59
|
});
|
|
57
60
|
mainWindow.webContents.addListener('render-process-gone', function (event, details) {
|
|
58
|
-
logger.info("main window render-process-gone, details: ".concat(details));
|
|
61
|
+
logger.info("[electron][window]: main window render-process-gone, details.exitCode: ".concat(details.exitCode, ", details.reason: ").concat(details.reason));
|
|
59
62
|
(0, _window.closeAllWindows)();
|
|
60
63
|
(0, _window.clearAllRendererWindows)();
|
|
61
64
|
setTimeout(function () {
|
|
62
|
-
logger.info('start reloading main window...');
|
|
65
|
+
logger.info('[electron][window]: start reloading main window...');
|
|
63
66
|
mainWindow.reload();
|
|
64
67
|
}, 1000);
|
|
65
68
|
});
|
|
@@ -78,6 +81,7 @@ var hookWindow = exports.hookWindow = function hookWindow(mainWindow) {
|
|
|
78
81
|
};
|
|
79
82
|
var attachEventOnMethod = function attachEventOnMethod(browserWindow, method, action) {
|
|
80
83
|
var func = browserWindow[method];
|
|
84
|
+
logger.info("[electron][window]: attachEventOnMethod, method: ".concat(String(method), ", action: ").concat(action));
|
|
81
85
|
if (typeof func === 'function') {
|
|
82
86
|
// @ts-ignore
|
|
83
87
|
browserWindow[method] = function () {
|
package/lib/electron/window.js
CHANGED
|
@@ -68,9 +68,6 @@ var open = exports.open = function open(entryPath, dialogId) {
|
|
|
68
68
|
delete windows[key];
|
|
69
69
|
delete windowKeyById[windowId];
|
|
70
70
|
});
|
|
71
|
-
browserWindow.webContents.addListener('render-process-gone', function (event, arg) {
|
|
72
|
-
logger.info("BrowserWindow [".concat(entryPath, "] render-process-gone: ").concat(arg));
|
|
73
|
-
});
|
|
74
71
|
loadFragment(browserWindow, entryPath);
|
|
75
72
|
windows[key] = browserWindow;
|
|
76
73
|
windowKeyById[windowId] = entryPath;
|
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
require("core-js/modules/es.array.iterator.js");
|
|
3
4
|
require("core-js/modules/es.object.define-property.js");
|
|
5
|
+
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
6
|
+
require("core-js/modules/es.object.to-string.js");
|
|
4
7
|
require("core-js/modules/es.reflect.construct.js");
|
|
8
|
+
require("core-js/modules/es.string.iterator.js");
|
|
9
|
+
require("core-js/modules/es.weak-map.js");
|
|
10
|
+
require("core-js/modules/esnext.weak-map.delete-all.js");
|
|
11
|
+
require("core-js/modules/esnext.weak-map.emplace.js");
|
|
12
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
5
13
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
14
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
15
|
Object.defineProperty(exports, "__esModule", {
|
|
7
16
|
value: true
|
|
8
17
|
});
|
|
@@ -15,62 +24,65 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
|
|
|
15
24
|
var _react = _interopRequireDefault(require("react"));
|
|
16
25
|
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
17
26
|
var _base = require("../base");
|
|
18
|
-
var
|
|
27
|
+
var _store = _interopRequireWildcard(require("./store"));
|
|
28
|
+
var _constant = require("../../utilities/constant");
|
|
29
|
+
var _view = _interopRequireDefault(require("./view"));
|
|
19
30
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
31
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
32
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
20
33
|
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
21
34
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
22
35
|
var Annotation = exports.Annotation = /*#__PURE__*/function (_BaseFragment) {
|
|
23
36
|
function Annotation(runtime) {
|
|
37
|
+
var _this;
|
|
24
38
|
(0, _classCallCheck2["default"])(this, Annotation);
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
39
|
+
_this = _callSuper(this, Annotation, [runtime]);
|
|
40
|
+
_this._store = new _store["default"]();
|
|
41
|
+
window.addEventListener('keydown', function (event) {
|
|
42
|
+
if ((event.ctrlKey || event.metaKey) && event.key === 'w') {
|
|
43
|
+
event.preventDefault();
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
return _this;
|
|
31
47
|
}
|
|
32
48
|
(0, _inherits2["default"])(Annotation, _BaseFragment);
|
|
33
49
|
return (0, _createClass2["default"])(Annotation, [{
|
|
34
50
|
key: "name",
|
|
35
|
-
get:
|
|
36
|
-
// private _store: AnnotationStore;
|
|
37
|
-
|
|
38
|
-
function get() {
|
|
51
|
+
get: function get() {
|
|
39
52
|
return 'annotation';
|
|
40
53
|
}
|
|
41
54
|
}, {
|
|
42
55
|
key: "component",
|
|
43
56
|
get: function get() {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
// );
|
|
49
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {});
|
|
57
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_store.AnnotationStoreContext.Provider, {
|
|
58
|
+
value: this._store,
|
|
59
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_view["default"], {})
|
|
60
|
+
});
|
|
50
61
|
}
|
|
51
62
|
}, {
|
|
52
63
|
key: "onEvent",
|
|
53
64
|
value: function onEvent(event) {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
65
|
+
switch (event.action) {
|
|
66
|
+
case _constant.FcrUIRendererEventAction.SET_ANNOTATION_TO_SHOW:
|
|
67
|
+
if (event.payload) {
|
|
68
|
+
console.log('show annotation');
|
|
69
|
+
this._store.open();
|
|
70
|
+
} else {
|
|
71
|
+
console.log('hide annotation');
|
|
72
|
+
this._store.close();
|
|
73
|
+
}
|
|
74
|
+
break;
|
|
75
|
+
case _constant.FcrUIRendererEventAction.SET_CURRENT_SHARE_SCREEN_BOUNDS:
|
|
76
|
+
console.log('[annotation][onEvent]: set current share screen bounds', event);
|
|
77
|
+
this._store.setBounds(event.payload);
|
|
78
|
+
break;
|
|
79
|
+
case _constant.FcrUIRendererEventAction.SET_ANNOTATION_IGNORE:
|
|
80
|
+
this._store.setIgnore(event.payload);
|
|
81
|
+
break;
|
|
82
|
+
default:
|
|
83
|
+
this._store.toolChanged(event);
|
|
84
|
+
break;
|
|
85
|
+
}
|
|
74
86
|
}
|
|
75
87
|
}]);
|
|
76
88
|
}(_base.BaseFragment);
|
|
@@ -91,16 +103,19 @@ var windowOptions = exports.windowOptions = {
|
|
|
91
103
|
enableLargerThanScreen: true,
|
|
92
104
|
hasShadow: false,
|
|
93
105
|
x: 0,
|
|
94
|
-
y: 0
|
|
106
|
+
y: 0,
|
|
107
|
+
hiddenInMissionControl: true,
|
|
108
|
+
type: 'panel',
|
|
109
|
+
skipTaskbar: true
|
|
95
110
|
};
|
|
96
111
|
var title = exports.title = 'Annotation';
|
|
97
112
|
var webPreferences = exports.webPreferences = {
|
|
98
113
|
nodeIntegration: true
|
|
99
114
|
};
|
|
100
115
|
var $$fragment = new Annotation(window.runtime);
|
|
101
|
-
var App =
|
|
116
|
+
var App = function App() {
|
|
102
117
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react["default"].Fragment, {
|
|
103
118
|
children: $$fragment.component
|
|
104
119
|
});
|
|
105
|
-
}
|
|
120
|
+
};
|
|
106
121
|
_reactDom["default"].render(/*#__PURE__*/(0, _jsxRuntime.jsx)(App, {}), document.getElementById('root'));
|
|
@@ -9,17 +9,22 @@ declare class AnnotationStore {
|
|
|
9
9
|
private _config;
|
|
10
10
|
accessor joined: boolean;
|
|
11
11
|
accessor bounds: Electron.Rectangle;
|
|
12
|
+
accessor currentTool: string;
|
|
13
|
+
private timer;
|
|
12
14
|
constructor();
|
|
13
15
|
open(): Promise<void>;
|
|
14
16
|
handleBoardDomLoad(dom: HTMLDivElement): void;
|
|
15
|
-
close(): void
|
|
17
|
+
close(): Promise<void>;
|
|
16
18
|
setBounds(bounds: Electron.Rectangle): void;
|
|
17
19
|
setIgnore(ignore: boolean): void;
|
|
18
20
|
toolChanged(event: RendererCustomEvent): void;
|
|
19
|
-
private
|
|
21
|
+
private _initBoardStyle;
|
|
22
|
+
private _handleSetTool;
|
|
20
23
|
private _init;
|
|
21
24
|
private _initBoardRoom;
|
|
22
25
|
private _initEngine;
|
|
26
|
+
private _launchHandler;
|
|
27
|
+
private _terminalHandler;
|
|
23
28
|
}
|
|
24
29
|
export default AnnotationStore;
|
|
25
30
|
export declare const AnnotationStoreContext: import("react").Context<AnnotationStore>;
|