@itwin/core-electron 4.0.0-dev.7 → 4.0.0-dev.70
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/CHANGELOG.md +22 -7
- package/lib/cjs/ElectronBackend.d.ts +1 -1
- package/lib/cjs/ElectronBackend.js +21 -17
- package/lib/cjs/ElectronBackend.js.map +1 -1
- package/lib/cjs/ElectronFrontend.d.ts +1 -1
- package/lib/cjs/ElectronFrontend.js +21 -17
- package/lib/cjs/ElectronFrontend.js.map +1 -1
- package/lib/cjs/__DOC_ONLY__.d.ts +3 -3
- package/lib/cjs/__DOC_ONLY__.js +26 -22
- package/lib/cjs/__DOC_ONLY__.js.map +1 -1
- package/lib/cjs/backend/ElectronHost.d.ts +104 -104
- package/lib/cjs/backend/ElectronHost.d.ts.map +1 -1
- package/lib/cjs/backend/ElectronHost.js +240 -243
- package/lib/cjs/backend/ElectronHost.js.map +1 -1
- package/lib/cjs/backend/ElectronPreload.d.ts +1 -1
- package/lib/cjs/backend/ElectronPreload.js +39 -39
- package/lib/cjs/common/ElectronIpcInterface.d.ts +7 -7
- package/lib/cjs/common/ElectronIpcInterface.d.ts.map +1 -1
- package/lib/cjs/common/ElectronIpcInterface.js +5 -5
- package/lib/cjs/common/ElectronIpcTransport.d.ts +44 -44
- package/lib/cjs/common/ElectronIpcTransport.js +186 -186
- package/lib/cjs/common/ElectronIpcTransport.js.map +1 -1
- package/lib/cjs/common/ElectronManagerLoggerCategory.d.ts +10 -10
- package/lib/cjs/common/ElectronManagerLoggerCategory.js +18 -18
- package/lib/cjs/common/ElectronPush.d.ts +20 -20
- package/lib/cjs/common/ElectronPush.js +48 -48
- package/lib/cjs/common/ElectronPush.js.map +1 -1
- package/lib/cjs/common/ElectronRpcManager.d.ts +26 -26
- package/lib/cjs/common/ElectronRpcManager.js +65 -65
- package/lib/cjs/common/ElectronRpcManager.js.map +1 -1
- package/lib/cjs/common/ElectronRpcProtocol.d.ts +34 -34
- package/lib/cjs/common/ElectronRpcProtocol.js +58 -58
- package/lib/cjs/common/ElectronRpcProtocol.js.map +1 -1
- package/lib/cjs/common/ElectronRpcRequest.d.ts +19 -19
- package/lib/cjs/common/ElectronRpcRequest.js +56 -56
- package/lib/cjs/common/ITwinElectronApi.d.ts +10 -10
- package/lib/cjs/common/ITwinElectronApi.d.ts.map +1 -1
- package/lib/cjs/common/ITwinElectronApi.js +6 -6
- package/lib/cjs/frontend/ElectronApp.d.ts +35 -35
- package/lib/cjs/frontend/ElectronApp.d.ts.map +1 -1
- package/lib/cjs/frontend/ElectronApp.js +73 -75
- package/lib/cjs/frontend/ElectronApp.js.map +1 -1
- package/package.json +26 -26
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,21 @@
|
|
|
1
1
|
# Change Log - @itwin/core-electron
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Wed, 08 Feb 2023 14:58:39 GMT and should not be manually modified.
|
|
4
|
+
|
|
5
|
+
## 3.6.0
|
|
6
|
+
Wed, 08 Feb 2023 14:58:39 GMT
|
|
7
|
+
|
|
8
|
+
### Updates
|
|
9
|
+
|
|
10
|
+
- Added ElectronHost.getWindowSizeAndPositionSetting to replace now deprecated ElectronHost.getWindowSizeSetting
|
|
11
|
+
- Add support for Electron 22.
|
|
12
|
+
- Use EmptyLocalization for localization in tests to increase test performance
|
|
13
|
+
- React to RPC deprecations.
|
|
14
|
+
|
|
15
|
+
## 3.5.6
|
|
16
|
+
Fri, 24 Feb 2023 16:02:47 GMT
|
|
17
|
+
|
|
18
|
+
_Version update only_
|
|
4
19
|
|
|
5
20
|
## 3.5.5
|
|
6
21
|
Thu, 26 Jan 2023 22:53:27 GMT
|
|
@@ -497,7 +512,7 @@ Fri, 30 Apr 2021 12:36:58 GMT
|
|
|
497
512
|
### Updates
|
|
498
513
|
|
|
499
514
|
- allow authConfig to be supplied from backend
|
|
500
|
-
- Fixes to desktop and iOS apps.
|
|
515
|
+
- Fixes to desktop and iOS apps.
|
|
501
516
|
- Saving & restoring Electron main window size, position & maximized state
|
|
502
517
|
|
|
503
518
|
## 2.14.4
|
|
@@ -704,7 +719,7 @@ Fri, 02 Oct 2020 18:03:32 GMT
|
|
|
704
719
|
|
|
705
720
|
### Updates
|
|
706
721
|
|
|
707
|
-
- Fixed desktop authorization after recent changes.
|
|
722
|
+
- Fixed desktop authorization after recent changes.
|
|
708
723
|
|
|
709
724
|
## 2.6.5
|
|
710
725
|
Sat, 26 Sep 2020 16:06:34 GMT
|
|
@@ -828,9 +843,9 @@ Wed, 06 May 2020 13:17:49 GMT
|
|
|
828
843
|
|
|
829
844
|
- Update to Electron 8
|
|
830
845
|
- react to changes in imodeljs-clients
|
|
831
|
-
- FrontendAuthorizationClient does not extend IDisposable.
|
|
846
|
+
- FrontendAuthorizationClient does not extend IDisposable.
|
|
832
847
|
- Update minimum Node version to 10.16.0
|
|
833
|
-
- Renamed OIDC constructs for consistency; Removed SAML support.
|
|
848
|
+
- Renamed OIDC constructs for consistency; Removed SAML support.
|
|
834
849
|
- order imports.
|
|
835
850
|
- Upgrade to Rush 5.23.2
|
|
836
851
|
- Update electron version to ^8.2.1
|
|
@@ -856,7 +871,7 @@ Wed, 12 Feb 2020 17:45:50 GMT
|
|
|
856
871
|
|
|
857
872
|
### Updates
|
|
858
873
|
|
|
859
|
-
- Setup oidc client for backend use in electron applications.
|
|
874
|
+
- Setup oidc client for backend use in electron applications.
|
|
860
875
|
|
|
861
876
|
## 1.11.0
|
|
862
877
|
Wed, 22 Jan 2020 19:24:12 GMT
|
|
@@ -938,7 +953,7 @@ Mon, 13 May 2019 15:52:05 GMT
|
|
|
938
953
|
|
|
939
954
|
- Adds parameter for api-extractor to validate missing release tags
|
|
940
955
|
- Fix broken links
|
|
941
|
-
- Setup a generic context for tracking client requests, and made various related enhancements to logging, usage tracking and authorization.
|
|
956
|
+
- Setup a generic context for tracking client requests, and made various related enhancements to logging, usage tracking and authorization.
|
|
942
957
|
- Upgrade TypeDoc dependency to 0.14.2
|
|
943
958
|
|
|
944
959
|
## 0.190.0
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from "./backend/ElectronHost";
|
|
1
|
+
export * from "./backend/ElectronHost";
|
|
2
2
|
//# sourceMappingURL=ElectronBackend.d.ts.map
|
|
@@ -1,18 +1,22 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*---------------------------------------------------------------------------------------------
|
|
3
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
-
*--------------------------------------------------------------------------------------------*/
|
|
6
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
-
if (k2 === undefined) k2 = k;
|
|
8
|
-
Object.
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
__exportStar(
|
|
1
|
+
"use strict";
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
18
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
__exportStar(require("./backend/ElectronHost"), exports);
|
|
18
22
|
//# sourceMappingURL=ElectronBackend.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElectronBackend.js","sourceRoot":"","sources":["../../src/ElectronBackend.ts"],"names":[],"mappings":";AAAA;;;+FAG+F
|
|
1
|
+
{"version":3,"file":"ElectronBackend.js","sourceRoot":"","sources":["../../src/ElectronBackend.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;;;;;;;;;;;;;;AAE/F,yDAAuC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nexport * from \"./backend/ElectronHost\";\r\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from "./frontend/ElectronApp";
|
|
1
|
+
export * from "./frontend/ElectronApp";
|
|
2
2
|
//# sourceMappingURL=ElectronFrontend.d.ts.map
|
|
@@ -1,18 +1,22 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*---------------------------------------------------------------------------------------------
|
|
3
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
-
*--------------------------------------------------------------------------------------------*/
|
|
6
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
-
if (k2 === undefined) k2 = k;
|
|
8
|
-
Object.
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
__exportStar(
|
|
1
|
+
"use strict";
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
18
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
__exportStar(require("./frontend/ElectronApp"), exports);
|
|
18
22
|
//# sourceMappingURL=ElectronFrontend.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElectronFrontend.js","sourceRoot":"","sources":["../../src/ElectronFrontend.ts"],"names":[],"mappings":";AAAA;;;+FAG+F
|
|
1
|
+
{"version":3,"file":"ElectronFrontend.js","sourceRoot":"","sources":["../../src/ElectronFrontend.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;;;;;;;;;;;;;;AAE/F,yDAAuC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nexport * from \"./frontend/ElectronApp\";\r\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from "./backend/ElectronHost";
|
|
2
|
-
export * from "./common/ElectronIpcInterface";
|
|
3
|
-
export * from "./frontend/ElectronApp";
|
|
1
|
+
export * from "./backend/ElectronHost";
|
|
2
|
+
export * from "./common/ElectronIpcInterface";
|
|
3
|
+
export * from "./frontend/ElectronApp";
|
|
4
4
|
//# sourceMappingURL=__DOC_ONLY__.d.ts.map
|
package/lib/cjs/__DOC_ONLY__.js
CHANGED
|
@@ -1,23 +1,27 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*---------------------------------------------------------------------------------------------
|
|
3
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
-
*--------------------------------------------------------------------------------------------*/
|
|
6
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
-
if (k2 === undefined) k2 = k;
|
|
8
|
-
Object.
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
18
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
// THIS FILE EXISTS ONLY FOR DOCUMENTATION GENERATION.
|
|
22
|
+
// It imports both frontend and backend code, which is not legal anywhere.
|
|
23
|
+
// Do not import it in real code!
|
|
24
|
+
__exportStar(require("./backend/ElectronHost"), exports);
|
|
25
|
+
__exportStar(require("./common/ElectronIpcInterface"), exports);
|
|
26
|
+
__exportStar(require("./frontend/ElectronApp"), exports);
|
|
23
27
|
//# sourceMappingURL=__DOC_ONLY__.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"__DOC_ONLY__.js","sourceRoot":"","sources":["../../src/__DOC_ONLY__.ts"],"names":[],"mappings":";AAAA;;;+FAG+F
|
|
1
|
+
{"version":3,"file":"__DOC_ONLY__.js","sourceRoot":"","sources":["../../src/__DOC_ONLY__.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;;;;;;;;;;;;;;AAE/F,sDAAsD;AACtD,0EAA0E;AAC1E,iCAAiC;AAEjC,yDAAuC;AACvC,gEAA8C;AAC9C,yDAAuC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n// THIS FILE EXISTS ONLY FOR DOCUMENTATION GENERATION.\r\n// It imports both frontend and backend code, which is not legal anywhere.\r\n// Do not import it in real code!\r\n\r\nexport * from \"./backend/ElectronHost\";\r\nexport * from \"./common/ElectronIpcInterface\";\r\nexport * from \"./frontend/ElectronApp\";\r\n"]}
|
|
@@ -1,105 +1,105 @@
|
|
|
1
|
-
import type { BrowserWindow, BrowserWindowConstructorOptions } from "electron";
|
|
2
|
-
import type * as ElectronModule from "electron";
|
|
3
|
-
import { IpcHandler, NativeHostOpts } from "@itwin/core-backend";
|
|
4
|
-
import { RpcConfiguration, RpcInterfaceDefinition } from "@itwin/core-common";
|
|
5
|
-
/**
|
|
6
|
-
* Options for [[ElectronHost.startup]]
|
|
7
|
-
* @beta
|
|
8
|
-
*/
|
|
9
|
-
export interface ElectronHostOptions {
|
|
10
|
-
/** the path to find web resources */
|
|
11
|
-
webResourcesPath?: string;
|
|
12
|
-
/** filename for the app's icon, relative to [[webResourcesPath]] */
|
|
13
|
-
iconName?: string;
|
|
14
|
-
/** name of frontend url to open. */
|
|
15
|
-
frontendURL?: string;
|
|
16
|
-
/** use a development server rather than the "electron" protocol for loading frontend (see https://www.electronjs.org/docs/api/protocol) */
|
|
17
|
-
developmentServer?: boolean;
|
|
18
|
-
/** port number for development server. Default is 3000 */
|
|
19
|
-
frontendPort?: number;
|
|
20
|
-
/** list of RPC interface definitions to register */
|
|
21
|
-
rpcInterfaces?: RpcInterfaceDefinition[];
|
|
22
|
-
/** list of [IpcHandler]($common) classes to register */
|
|
23
|
-
ipcHandlers?: (typeof IpcHandler)[];
|
|
24
|
-
}
|
|
25
|
-
/** @beta */
|
|
26
|
-
export interface ElectronHostOpts extends NativeHostOpts {
|
|
27
|
-
electronHost?: ElectronHostOptions;
|
|
28
|
-
}
|
|
29
|
-
/** @beta */
|
|
30
|
-
export interface ElectronHostWindowOptions extends BrowserWindowConstructorOptions {
|
|
31
|
-
storeWindowName?: string;
|
|
32
|
-
/** The style of window title bar. Default is `default`. */
|
|
33
|
-
titleBarStyle?: ("default" | "hidden" | "hiddenInset" | "customButtonsOnHover");
|
|
34
|
-
}
|
|
35
|
-
/** the size and position of a window as stored in the settings file.
|
|
36
|
-
* @beta
|
|
37
|
-
*/
|
|
38
|
-
export interface WindowSizeAndPositionProps {
|
|
39
|
-
width: number;
|
|
40
|
-
height: number;
|
|
41
|
-
x: number;
|
|
42
|
-
y: number;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* The backend for Electron-based desktop applications
|
|
46
|
-
* @beta
|
|
47
|
-
*/
|
|
48
|
-
export declare class ElectronHost {
|
|
49
|
-
private static readonly _deprecatedSizeAndPosStoreKey;
|
|
50
|
-
private static readonly _sizeAndPosStoreKey;
|
|
51
|
-
private static _ipc;
|
|
52
|
-
private static _developmentServer;
|
|
53
|
-
private static _electron;
|
|
54
|
-
private static _electronFrontend;
|
|
55
|
-
private static _mainWindow?;
|
|
56
|
-
static webResourcesPath: string;
|
|
57
|
-
static appIconPath: string;
|
|
58
|
-
static frontendURL: string;
|
|
59
|
-
static rpcConfig: RpcConfiguration;
|
|
60
|
-
static get ipcMain(): Electron.IpcMain;
|
|
61
|
-
static get app(): Electron.App;
|
|
62
|
-
static get electron(): typeof ElectronModule;
|
|
63
|
-
private constructor();
|
|
64
|
-
/**
|
|
65
|
-
* Converts an "electron://frontend/" URL to an absolute file path.
|
|
66
|
-
*
|
|
67
|
-
* We use this protocol in production builds because our frontend must be built with absolute URLs,
|
|
68
|
-
* however, since we're loading everything directly from the install directory, we cannot know the
|
|
69
|
-
* absolute path at build time.
|
|
70
|
-
*/
|
|
71
|
-
private static parseElectronUrl;
|
|
72
|
-
private static _openWindow;
|
|
73
|
-
/** The "main" BrowserWindow for this application. */
|
|
74
|
-
static get mainWindow(): BrowserWindow | undefined;
|
|
75
|
-
/**
|
|
76
|
-
* Gets window size and position for a window, by name, from settings file, if present.
|
|
77
|
-
* @note Size and position values in the settings file will be updated differently depending on platform.
|
|
78
|
-
* On Linux values are only updated on window "unmaximize".
|
|
79
|
-
* On Windows and MacOS values are also updated on window manual resize or move.
|
|
80
|
-
* To get consistent behavior across different platforms, use [[ElectronHost.getWindowSizeAndPositionSetting]].
|
|
81
|
-
* @deprecated in 3.6. Use [[ElectronHost.getWindowSizeAndPositionSetting]].
|
|
82
|
-
*/
|
|
83
|
-
static getWindowSizeSetting(windowName: string): WindowSizeAndPositionProps | undefined;
|
|
84
|
-
/**
|
|
85
|
-
* Gets window size and position for a window, by name, from settings file, if present.
|
|
86
|
-
*/
|
|
87
|
-
static getWindowSizeAndPositionSetting(windowName: string): WindowSizeAndPositionProps | undefined;
|
|
88
|
-
/** Gets "window maximized" flag for a window, by name, from settings file if present */
|
|
89
|
-
static getWindowMaximizedSetting(windowName: string): boolean | undefined;
|
|
90
|
-
/**
|
|
91
|
-
* Open the main Window when the app is ready.
|
|
92
|
-
* @param windowOptions Options for constructing the main BrowserWindow. See: https://electronjs.org/docs/api/browser-window#new-browserwindowoptions
|
|
93
|
-
*/
|
|
94
|
-
static openMainWindow(windowOptions?: ElectronHostWindowOptions): Promise<void>;
|
|
95
|
-
static get isValid(): boolean;
|
|
96
|
-
/**
|
|
97
|
-
* Initialize the backend of an Electron app.
|
|
98
|
-
* This method configures the backend for all of the inter-process communication (RPC and IPC) for an
|
|
99
|
-
* Electron app. It should be called from your Electron main function.
|
|
100
|
-
* @param opts Options that control aspects of your backend.
|
|
101
|
-
* @note This method must only be called from the backend of an Electron app (i.e. when [ProcessDetector.isElectronAppBackend]($bentley) is `true`).
|
|
102
|
-
*/
|
|
103
|
-
static startup(opts?: ElectronHostOpts): Promise<void>;
|
|
104
|
-
}
|
|
1
|
+
import type { BrowserWindow, BrowserWindowConstructorOptions } from "electron";
|
|
2
|
+
import type * as ElectronModule from "electron";
|
|
3
|
+
import { IpcHandler, NativeHostOpts } from "@itwin/core-backend";
|
|
4
|
+
import { RpcConfiguration, RpcInterfaceDefinition } from "@itwin/core-common";
|
|
5
|
+
/**
|
|
6
|
+
* Options for [[ElectronHost.startup]]
|
|
7
|
+
* @beta
|
|
8
|
+
*/
|
|
9
|
+
export interface ElectronHostOptions {
|
|
10
|
+
/** the path to find web resources */
|
|
11
|
+
webResourcesPath?: string;
|
|
12
|
+
/** filename for the app's icon, relative to [[webResourcesPath]] */
|
|
13
|
+
iconName?: string;
|
|
14
|
+
/** name of frontend url to open. */
|
|
15
|
+
frontendURL?: string;
|
|
16
|
+
/** use a development server rather than the "electron" protocol for loading frontend (see https://www.electronjs.org/docs/api/protocol) */
|
|
17
|
+
developmentServer?: boolean;
|
|
18
|
+
/** port number for development server. Default is 3000 */
|
|
19
|
+
frontendPort?: number;
|
|
20
|
+
/** list of RPC interface definitions to register */
|
|
21
|
+
rpcInterfaces?: RpcInterfaceDefinition[];
|
|
22
|
+
/** list of [IpcHandler]($common) classes to register */
|
|
23
|
+
ipcHandlers?: (typeof IpcHandler)[];
|
|
24
|
+
}
|
|
25
|
+
/** @beta */
|
|
26
|
+
export interface ElectronHostOpts extends NativeHostOpts {
|
|
27
|
+
electronHost?: ElectronHostOptions;
|
|
28
|
+
}
|
|
29
|
+
/** @beta */
|
|
30
|
+
export interface ElectronHostWindowOptions extends BrowserWindowConstructorOptions {
|
|
31
|
+
storeWindowName?: string;
|
|
32
|
+
/** The style of window title bar. Default is `default`. */
|
|
33
|
+
titleBarStyle?: ("default" | "hidden" | "hiddenInset" | "customButtonsOnHover");
|
|
34
|
+
}
|
|
35
|
+
/** the size and position of a window as stored in the settings file.
|
|
36
|
+
* @beta
|
|
37
|
+
*/
|
|
38
|
+
export interface WindowSizeAndPositionProps {
|
|
39
|
+
width: number;
|
|
40
|
+
height: number;
|
|
41
|
+
x: number;
|
|
42
|
+
y: number;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* The backend for Electron-based desktop applications
|
|
46
|
+
* @beta
|
|
47
|
+
*/
|
|
48
|
+
export declare class ElectronHost {
|
|
49
|
+
private static readonly _deprecatedSizeAndPosStoreKey;
|
|
50
|
+
private static readonly _sizeAndPosStoreKey;
|
|
51
|
+
private static _ipc;
|
|
52
|
+
private static _developmentServer;
|
|
53
|
+
private static _electron;
|
|
54
|
+
private static _electronFrontend;
|
|
55
|
+
private static _mainWindow?;
|
|
56
|
+
static webResourcesPath: string;
|
|
57
|
+
static appIconPath: string;
|
|
58
|
+
static frontendURL: string;
|
|
59
|
+
static rpcConfig: RpcConfiguration;
|
|
60
|
+
static get ipcMain(): Electron.IpcMain;
|
|
61
|
+
static get app(): Electron.App;
|
|
62
|
+
static get electron(): typeof ElectronModule;
|
|
63
|
+
private constructor();
|
|
64
|
+
/**
|
|
65
|
+
* Converts an "electron://frontend/" URL to an absolute file path.
|
|
66
|
+
*
|
|
67
|
+
* We use this protocol in production builds because our frontend must be built with absolute URLs,
|
|
68
|
+
* however, since we're loading everything directly from the install directory, we cannot know the
|
|
69
|
+
* absolute path at build time.
|
|
70
|
+
*/
|
|
71
|
+
private static parseElectronUrl;
|
|
72
|
+
private static _openWindow;
|
|
73
|
+
/** The "main" BrowserWindow for this application. */
|
|
74
|
+
static get mainWindow(): BrowserWindow | undefined;
|
|
75
|
+
/**
|
|
76
|
+
* Gets window size and position for a window, by name, from settings file, if present.
|
|
77
|
+
* @note Size and position values in the settings file will be updated differently depending on platform.
|
|
78
|
+
* On Linux values are only updated on window "unmaximize".
|
|
79
|
+
* On Windows and MacOS values are also updated on window manual resize or move.
|
|
80
|
+
* To get consistent behavior across different platforms, use [[ElectronHost.getWindowSizeAndPositionSetting]].
|
|
81
|
+
* @deprecated in 3.6. Use [[ElectronHost.getWindowSizeAndPositionSetting]].
|
|
82
|
+
*/
|
|
83
|
+
static getWindowSizeSetting(windowName: string): WindowSizeAndPositionProps | undefined;
|
|
84
|
+
/**
|
|
85
|
+
* Gets window size and position for a window, by name, from settings file, if present.
|
|
86
|
+
*/
|
|
87
|
+
static getWindowSizeAndPositionSetting(windowName: string): WindowSizeAndPositionProps | undefined;
|
|
88
|
+
/** Gets "window maximized" flag for a window, by name, from settings file if present */
|
|
89
|
+
static getWindowMaximizedSetting(windowName: string): boolean | undefined;
|
|
90
|
+
/**
|
|
91
|
+
* Open the main Window when the app is ready.
|
|
92
|
+
* @param windowOptions Options for constructing the main BrowserWindow. See: https://electronjs.org/docs/api/browser-window#new-browserwindowoptions
|
|
93
|
+
*/
|
|
94
|
+
static openMainWindow(windowOptions?: ElectronHostWindowOptions): Promise<void>;
|
|
95
|
+
static get isValid(): boolean;
|
|
96
|
+
/**
|
|
97
|
+
* Initialize the backend of an Electron app.
|
|
98
|
+
* This method configures the backend for all of the inter-process communication (RPC and IPC) for an
|
|
99
|
+
* Electron app. It should be called from your Electron main function.
|
|
100
|
+
* @param opts Options that control aspects of your backend.
|
|
101
|
+
* @note This method must only be called from the backend of an Electron app (i.e. when [ProcessDetector.isElectronAppBackend]($bentley) is `true`).
|
|
102
|
+
*/
|
|
103
|
+
static startup(opts?: ElectronHostOpts): Promise<void>;
|
|
104
|
+
}
|
|
105
105
|
//# sourceMappingURL=ElectronHost.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElectronHost.d.ts","sourceRoot":"","sources":["../../../src/backend/ElectronHost.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,+BAA+B,EAAkB,MAAM,UAAU,CAAC;AAC/F,OAAO,KAAK,KAAK,cAAc,MAAM,UAAU,CAAC;AAKhD,OAAO,EAAE,UAAU,EAAuB,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAA8D,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAyB1I;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2IAA2I;IAC3I,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,aAAa,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACzC,wDAAwD;IACxD,WAAW,CAAC,EAAE,CAAC,OAAO,UAAU,CAAC,EAAE,CAAC;CACrC;AAED,YAAY;AACZ,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACpC;AAED,YAAY;AACZ,MAAM,WAAW,yBAA0B,SAAQ,+BAA+B;IAChF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,2DAA2D;IAC3D,aAAa,CAAC,EAAE,CAAC,SAAS,GAAG,QAAQ,GAAG,aAAa,GAAG,sBAAsB,CAAC,CAAC;CACjF;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,6BAA6B,CAAe;IACpE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAEjE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAc;IACjC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAU;IAC3C,OAAO,CAAC,MAAM,CAAC,SAAS,CAAwB;IAChD,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAA0B;IAC1D,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAgB;IAC3C,OAAc,gBAAgB,EAAE,MAAM,CAAC;IACvC,OAAc,WAAW,EAAE,MAAM,CAAC;IAClC,OAAc,WAAW,EAAE,MAAM,CAAC;IAClC,OAAc,SAAS,EAAE,gBAAgB,CAAC;IAC1C,WAAkB,OAAO,qBAAsC;IAC/D,WAAkB,GAAG,iBAAkC;IACvD,WAAkB,QAAQ,0BAA6B;IAEvD,OAAO;IAEP;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAmB/B,OAAO,CAAC,MAAM,CAAC,WAAW;
|
|
1
|
+
{"version":3,"file":"ElectronHost.d.ts","sourceRoot":"","sources":["../../../src/backend/ElectronHost.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,+BAA+B,EAAkB,MAAM,UAAU,CAAC;AAC/F,OAAO,KAAK,KAAK,cAAc,MAAM,UAAU,CAAC;AAKhD,OAAO,EAAE,UAAU,EAAuB,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAA8D,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAyB1I;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2IAA2I;IAC3I,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,aAAa,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACzC,wDAAwD;IACxD,WAAW,CAAC,EAAE,CAAC,OAAO,UAAU,CAAC,EAAE,CAAC;CACrC;AAED,YAAY;AACZ,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACpC;AAED,YAAY;AACZ,MAAM,WAAW,yBAA0B,SAAQ,+BAA+B;IAChF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,2DAA2D;IAC3D,aAAa,CAAC,EAAE,CAAC,SAAS,GAAG,QAAQ,GAAG,aAAa,GAAG,sBAAsB,CAAC,CAAC;CACjF;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,6BAA6B,CAAe;IACpE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAEjE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAc;IACjC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAU;IAC3C,OAAO,CAAC,MAAM,CAAC,SAAS,CAAwB;IAChD,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAA0B;IAC1D,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAgB;IAC3C,OAAc,gBAAgB,EAAE,MAAM,CAAC;IACvC,OAAc,WAAW,EAAE,MAAM,CAAC;IAClC,OAAc,WAAW,EAAE,MAAM,CAAC;IAClC,OAAc,SAAS,EAAE,gBAAgB,CAAC;IAC1C,WAAkB,OAAO,qBAAsC;IAC/D,WAAkB,GAAG,iBAAkC;IACvD,WAAkB,QAAQ,0BAA6B;IAEvD,OAAO;IAEP;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAmB/B,OAAO,CAAC,MAAM,CAAC,WAAW;IAsD1B,qDAAqD;IACrD,WAAkB,UAAU,8BAA+B;IAE3D;;;;;;;OAOG;WACW,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,0BAA0B,GAAG,SAAS;IAK9F;;OAEG;WACW,+BAA+B,CAAC,UAAU,EAAE,MAAM,GAAG,0BAA0B,GAAG,SAAS;IAKzG,wFAAwF;WAC1E,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAIhF;;;OAGG;WACiB,cAAc,CAAC,aAAa,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsC5F,WAAkB,OAAO,YAAsC;IAE/D;;;;;;OAMG;WACiB,OAAO,CAAC,IAAI,CAAC,EAAE,gBAAgB;CAmCpD"}
|