@theia/filesystem 1.37.0-next.8 → 1.37.0
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/electron-browser/file-dialog/electron-file-dialog-service.d.ts +1 -41
- package/lib/electron-browser/file-dialog/electron-file-dialog-service.d.ts.map +1 -1
- package/lib/electron-browser/file-dialog/electron-file-dialog-service.js +46 -86
- package/lib/electron-browser/file-dialog/electron-file-dialog-service.js.map +1 -1
- package/lib/electron-browser/preload.d.ts +2 -0
- package/lib/electron-browser/preload.d.ts.map +1 -0
- package/lib/electron-browser/preload.js +31 -0
- package/lib/electron-browser/preload.js.map +1 -0
- package/lib/electron-common/electron-api.d.ts +35 -0
- package/lib/electron-common/electron-api.d.ts.map +1 -0
- package/lib/electron-common/electron-api.js +21 -0
- package/lib/electron-common/electron-api.js.map +1 -0
- package/lib/electron-main/electron-api-main.d.ts +6 -0
- package/lib/electron-main/electron-api-main.d.ts.map +1 -0
- package/lib/electron-main/electron-api-main.js +79 -0
- package/lib/electron-main/electron-api-main.js.map +1 -0
- package/lib/electron-main/electron-main-module.d.ts +4 -0
- package/lib/electron-main/electron-main-module.d.ts.map +1 -0
- package/lib/electron-main/electron-main-module.js +25 -0
- package/lib/electron-main/electron-main-module.js.map +1 -0
- package/package.json +8 -4
- package/src/electron-browser/file-dialog/electron-file-dialog-service.ts +53 -116
- package/src/electron-browser/preload.ts +30 -0
- package/src/electron-common/electron-api.ts +55 -0
- package/src/electron-main/electron-api-main.ts +78 -0
- package/src/electron-main/electron-main-module.ts +23 -0
- package/LICENSE +0 -642
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { FileFilter, OpenDialogOptions, SaveDialogOptions } from '@theia/core/electron-shared/electron';
|
|
2
1
|
import URI from '@theia/core/lib/common/uri';
|
|
3
2
|
import { MaybeArray } from '@theia/core/lib/common/types';
|
|
4
3
|
import { MessageService } from '@theia/core/lib/common/message-service';
|
|
5
4
|
import { FileStat } from '../../common/files';
|
|
6
5
|
import { DefaultFileDialogService, OpenFileDialogProps, SaveFileDialogProps } from '../../browser/file-dialog';
|
|
7
|
-
|
|
6
|
+
import { OpenDialogOptions, SaveDialogOptions } from '../../electron-common/electron-api';
|
|
8
7
|
export declare class ElectronFileDialogService extends DefaultFileDialogService {
|
|
9
8
|
protected readonly messageService: MessageService;
|
|
10
9
|
showOpenDialog(props: OpenFileDialogProps & {
|
|
@@ -14,46 +13,7 @@ export declare class ElectronFileDialogService extends DefaultFileDialogService
|
|
|
14
13
|
showSaveDialog(props: SaveFileDialogProps, folder?: FileStat): Promise<URI | undefined>;
|
|
15
14
|
protected canReadWrite(uris: MaybeArray<URI>): Promise<boolean>;
|
|
16
15
|
protected canRead(uris: MaybeArray<URI>): Promise<boolean>;
|
|
17
|
-
protected toDialogOptions(uri: URI, props: SaveFileDialogProps | OpenFileDialogProps, dialogTitle: string): electron.FileDialogProps;
|
|
18
|
-
/**
|
|
19
|
-
* Specifies whether an _All Files_ filter should be added to the dialog.
|
|
20
|
-
*
|
|
21
|
-
* On Linux, the _All Files_ filter [hides](https://github.com/eclipse-theia/theia/issues/11321) files without an extension.
|
|
22
|
-
* The bug is resolved in Electron >=18.
|
|
23
|
-
*/
|
|
24
|
-
protected shouldAddAllFilesFilter(electronProps: electron.FileDialogProps): boolean;
|
|
25
16
|
protected toOpenDialogOptions(uri: URI, props: OpenFileDialogProps): OpenDialogOptions;
|
|
26
17
|
protected toSaveDialogOptions(uri: URI, props: SaveFileDialogProps): SaveDialogOptions;
|
|
27
18
|
}
|
|
28
|
-
export declare namespace electron {
|
|
29
|
-
/**
|
|
30
|
-
* Common "super" interface of the `electron.SaveDialogOptions` and `electron.OpenDialogOptions` types.
|
|
31
|
-
*/
|
|
32
|
-
interface FileDialogProps {
|
|
33
|
-
/**
|
|
34
|
-
* The dialog title.
|
|
35
|
-
*/
|
|
36
|
-
readonly title?: string;
|
|
37
|
-
/**
|
|
38
|
-
* The default path, where the dialog opens. Requires an FS path.
|
|
39
|
-
*/
|
|
40
|
-
readonly defaultPath?: string;
|
|
41
|
-
/**
|
|
42
|
-
* Resource filter.
|
|
43
|
-
*/
|
|
44
|
-
readonly filters?: FileFilter[];
|
|
45
|
-
}
|
|
46
|
-
namespace dialog {
|
|
47
|
-
/**
|
|
48
|
-
* Converts the Theia specific `OpenFileDialogProps` into an electron specific array.
|
|
49
|
-
*
|
|
50
|
-
* Note: On Windows and Linux an open dialog can not be both a file selector and a directory selector,
|
|
51
|
-
* so if you set properties to ['openFile', 'openDirectory'] on these platforms, a directory selector will be shown.
|
|
52
|
-
*
|
|
53
|
-
* See: https://github.com/electron/electron/issues/10252#issuecomment-322012159
|
|
54
|
-
*/
|
|
55
|
-
function toDialogProperties(props: OpenFileDialogProps): Array<DialogProperties>;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
export {};
|
|
59
19
|
//# sourceMappingURL=electron-file-dialog-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electron-file-dialog-service.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/file-dialog/electron-file-dialog-service.ts"],"names":[],"mappings":"AAiBA,OAAO,
|
|
1
|
+
{"version":3,"file":"electron-file-dialog-service.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/file-dialog/electron-file-dialog-service.ts"],"names":[],"mappings":"AAiBA,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAS/G,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAE1F,qBACa,yBAA0B,SAAQ,wBAAwB;IAE3C,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAE3D,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG;QAAE,aAAa,EAAE,IAAI,CAAA;KAAE,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAC7H,cAAc,CAAC,KAAK,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;IAiBvF,cAAc,CAAC,KAAK,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;cAqBtF,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;cAUrD,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAchE,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,mBAAmB,GAAG,iBAAiB;IAsCtF,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,mBAAmB,GAAG,iBAAiB;CAyBzF"}
|
|
@@ -24,9 +24,8 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
24
24
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
25
25
|
};
|
|
26
26
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
-
exports.
|
|
27
|
+
exports.ElectronFileDialogService = void 0;
|
|
28
28
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
29
|
-
const electronRemote = require("@theia/core/electron-shared/@electron/remote");
|
|
30
29
|
const os_1 = require("@theia/core/lib/common/os");
|
|
31
30
|
const message_service_1 = require("@theia/core/lib/common/message-service");
|
|
32
31
|
const filesystem_1 = require("../../common/filesystem");
|
|
@@ -43,10 +42,8 @@ let ElectronFileDialogService = class ElectronFileDialogService extends file_dia
|
|
|
43
42
|
async showOpenDialog(props, folder) {
|
|
44
43
|
const rootNode = await this.getRootNode(folder);
|
|
45
44
|
if (rootNode) {
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
await electronRemote.dialog.showOpenDialog(this.toOpenDialogOptions(rootNode.uri, props));
|
|
49
|
-
if (filePaths.length === 0) {
|
|
45
|
+
const filePaths = await window.electronTheiaFilesystem.showOpenDialog(this.toOpenDialogOptions(rootNode.uri, props));
|
|
46
|
+
if (!filePaths || filePaths.length === 0) {
|
|
50
47
|
return undefined;
|
|
51
48
|
}
|
|
52
49
|
const uris = filePaths.map(path => file_uri_1.FileUri.create(path));
|
|
@@ -59,9 +56,7 @@ let ElectronFileDialogService = class ElectronFileDialogService extends file_dia
|
|
|
59
56
|
async showSaveDialog(props, folder) {
|
|
60
57
|
const rootNode = await this.getRootNode(folder);
|
|
61
58
|
if (rootNode) {
|
|
62
|
-
const
|
|
63
|
-
await electronRemote.dialog.showSaveDialog(electronRemote.getCurrentWindow(), this.toSaveDialogOptions(rootNode.uri, props)) :
|
|
64
|
-
await electronRemote.dialog.showSaveDialog(this.toSaveDialogOptions(rootNode.uri, props));
|
|
59
|
+
const filePath = await window.electronTheiaFilesystem.showSaveDialog(this.toSaveDialogOptions(rootNode.uri, props));
|
|
65
60
|
if (!filePath) {
|
|
66
61
|
return undefined;
|
|
67
62
|
}
|
|
@@ -97,46 +92,56 @@ let ElectronFileDialogService = class ElectronFileDialogService extends file_dia
|
|
|
97
92
|
}
|
|
98
93
|
return unreadableResourcePaths.length === 0;
|
|
99
94
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
if (!os_1.isOSX && canSelectFiles && canSelectFolders) {
|
|
107
|
-
console.warn('canSelectFiles === true && canSelectFolders === true is only supported on OSX!');
|
|
95
|
+
toOpenDialogOptions(uri, props) {
|
|
96
|
+
if (!os_1.isOSX && props.canSelectFiles !== false && props.canSelectFolders === true) {
|
|
97
|
+
console.warn(`Cannot have 'canSelectFiles' and 'canSelectFolders' at the same time. Fallback to 'folder' dialog. \nProps was: ${JSON.stringify(props)}.`);
|
|
98
|
+
// Given that both props are set, fallback to using a `folder` dialog.
|
|
99
|
+
props.canSelectFiles = false;
|
|
100
|
+
props.canSelectFolders = true;
|
|
108
101
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
102
|
+
const result = {
|
|
103
|
+
path: file_uri_1.FileUri.fsPath(uri)
|
|
104
|
+
};
|
|
105
|
+
result.title = props.title;
|
|
106
|
+
result.buttonLabel = props.openLabel;
|
|
107
|
+
result.maxWidth = props.maxWidth;
|
|
108
|
+
result.modal = props.modal;
|
|
109
|
+
result.openFiles = props.canSelectFiles;
|
|
110
|
+
result.openFolders = props.canSelectFolders;
|
|
111
|
+
result.selectMany = props.canSelectMany;
|
|
112
|
+
if (props.filters) {
|
|
113
|
+
result.filters = [];
|
|
114
|
+
const filters = Object.entries(props.filters);
|
|
115
|
+
for (const [label, extensions] of filters) {
|
|
116
|
+
result.filters.push({ name: label, extensions: extensions });
|
|
117
|
+
}
|
|
118
|
+
if (props.canSelectFiles) {
|
|
119
|
+
if (filters.length > 0) {
|
|
120
|
+
result.filters.push({ name: 'All Files', extensions: ['*'] });
|
|
121
|
+
}
|
|
113
122
|
}
|
|
114
123
|
}
|
|
115
|
-
return
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Specifies whether an _All Files_ filter should be added to the dialog.
|
|
119
|
-
*
|
|
120
|
-
* On Linux, the _All Files_ filter [hides](https://github.com/eclipse-theia/theia/issues/11321) files without an extension.
|
|
121
|
-
* The bug is resolved in Electron >=18.
|
|
122
|
-
*/
|
|
123
|
-
shouldAddAllFilesFilter(electronProps) {
|
|
124
|
-
const foundFilters = !!electronProps.filters && electronProps.filters.length > 0;
|
|
125
|
-
const isNotLinux = os_1.OS.type() !== os_1.OS.Type.Linux;
|
|
126
|
-
return isNotLinux || foundFilters;
|
|
127
|
-
}
|
|
128
|
-
toOpenDialogOptions(uri, props) {
|
|
129
|
-
const properties = electron.dialog.toDialogProperties(props);
|
|
130
|
-
const buttonLabel = props.openLabel;
|
|
131
|
-
return Object.assign(Object.assign({}, this.toDialogOptions(uri, props, 'Open')), { properties, buttonLabel });
|
|
124
|
+
return result;
|
|
132
125
|
}
|
|
133
126
|
toSaveDialogOptions(uri, props) {
|
|
134
|
-
const buttonLabel = props.saveLabel;
|
|
135
127
|
if (props.inputValue) {
|
|
136
128
|
uri = uri.resolve(props.inputValue);
|
|
137
129
|
}
|
|
138
|
-
const
|
|
139
|
-
|
|
130
|
+
const result = {
|
|
131
|
+
path: file_uri_1.FileUri.fsPath(uri)
|
|
132
|
+
};
|
|
133
|
+
result.title = props.title;
|
|
134
|
+
result.buttonLabel = props.saveLabel;
|
|
135
|
+
result.maxWidth = props.maxWidth;
|
|
136
|
+
result.modal = props.modal;
|
|
137
|
+
if (props.filters) {
|
|
138
|
+
result.filters = [];
|
|
139
|
+
const filters = Object.entries(props.filters);
|
|
140
|
+
for (const [label, extensions] of filters) {
|
|
141
|
+
result.filters.push({ name: label, extensions: extensions });
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return result;
|
|
140
145
|
}
|
|
141
146
|
};
|
|
142
147
|
__decorate([
|
|
@@ -147,49 +152,4 @@ ElectronFileDialogService = __decorate([
|
|
|
147
152
|
(0, inversify_1.injectable)()
|
|
148
153
|
], ElectronFileDialogService);
|
|
149
154
|
exports.ElectronFileDialogService = ElectronFileDialogService;
|
|
150
|
-
var electron;
|
|
151
|
-
(function (electron) {
|
|
152
|
-
let dialog;
|
|
153
|
-
(function (dialog) {
|
|
154
|
-
/**
|
|
155
|
-
* Converts the Theia specific `OpenFileDialogProps` into an electron specific array.
|
|
156
|
-
*
|
|
157
|
-
* Note: On Windows and Linux an open dialog can not be both a file selector and a directory selector,
|
|
158
|
-
* so if you set properties to ['openFile', 'openDirectory'] on these platforms, a directory selector will be shown.
|
|
159
|
-
*
|
|
160
|
-
* See: https://github.com/electron/electron/issues/10252#issuecomment-322012159
|
|
161
|
-
*/
|
|
162
|
-
function toDialogProperties(props) {
|
|
163
|
-
if (!os_1.isOSX && props.canSelectFiles !== false && props.canSelectFolders === true) {
|
|
164
|
-
console.warn(`Cannot have 'canSelectFiles' and 'canSelectFolders' at the same time. Fallback to 'folder' dialog. \nProps was: ${JSON.stringify(props)}.`);
|
|
165
|
-
// Given that both props are set, fallback to using a `folder` dialog.
|
|
166
|
-
props.canSelectFiles = false;
|
|
167
|
-
props.canSelectFolders = true;
|
|
168
|
-
}
|
|
169
|
-
const properties = [];
|
|
170
|
-
if (!os_1.isOSX) {
|
|
171
|
-
if (props.canSelectFiles !== false && props.canSelectFolders !== true) {
|
|
172
|
-
properties.push('openFile');
|
|
173
|
-
}
|
|
174
|
-
if (props.canSelectFolders === true && props.canSelectFiles === false) {
|
|
175
|
-
properties.push('openDirectory');
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
if (props.canSelectFiles !== false) {
|
|
180
|
-
properties.push('openFile');
|
|
181
|
-
}
|
|
182
|
-
if (props.canSelectFolders === true) {
|
|
183
|
-
properties.push('openDirectory');
|
|
184
|
-
properties.push('createDirectory');
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
if (props.canSelectMany === true) {
|
|
188
|
-
properties.push('multiSelections');
|
|
189
|
-
}
|
|
190
|
-
return properties;
|
|
191
|
-
}
|
|
192
|
-
dialog.toDialogProperties = toDialogProperties;
|
|
193
|
-
})(dialog = electron.dialog || (electron.dialog = {}));
|
|
194
|
-
})(electron = exports.electron || (exports.electron = {}));
|
|
195
155
|
//# sourceMappingURL=electron-file-dialog-service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electron-file-dialog-service.js","sourceRoot":"","sources":["../../../src/electron-browser/file-dialog/electron-file-dialog-service.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;;;;;;;;;;AAEhF,4DAAkE;AAElE
|
|
1
|
+
{"version":3,"file":"electron-file-dialog-service.js","sourceRoot":"","sources":["../../../src/electron-browser/file-dialog/electron-file-dialog-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preload.d.ts","sourceRoot":"","sources":["../../src/electron-browser/preload.ts"],"names":[],"mappings":"AAyBA,wBAAgB,OAAO,IAAI,IAAI,CAI9B"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.preload = void 0;
|
|
4
|
+
// *****************************************************************************
|
|
5
|
+
// Copyright (C) 2023 STMicroelectronics and others.
|
|
6
|
+
//
|
|
7
|
+
// This program and the accompanying materials are made available under the
|
|
8
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
9
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
10
|
+
//
|
|
11
|
+
// This Source Code may also be made available under the following Secondary
|
|
12
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
13
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
14
|
+
// with the GNU Classpath Exception which is available at
|
|
15
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
16
|
+
//
|
|
17
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
18
|
+
// *****************************************************************************
|
|
19
|
+
const electron_api_1 = require("../electron-common/electron-api");
|
|
20
|
+
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
21
|
+
const electron_1 = require("@theia/core/electron-shared/electron");
|
|
22
|
+
const api = {
|
|
23
|
+
showOpenDialog: (options) => electron_1.ipcRenderer.invoke(electron_api_1.CHANNEL_SHOW_OPEN, options),
|
|
24
|
+
showSaveDialog: (options) => electron_1.ipcRenderer.invoke(electron_api_1.CHANNEL_SHOW_SAVE, options),
|
|
25
|
+
};
|
|
26
|
+
function preload() {
|
|
27
|
+
console.log('exposing theia filesystem electron api');
|
|
28
|
+
electron_1.contextBridge.exposeInMainWorld('electronTheiaFilesystem', api);
|
|
29
|
+
}
|
|
30
|
+
exports.preload = preload;
|
|
31
|
+
//# sourceMappingURL=preload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preload.js","sourceRoot":"","sources":["../../src/electron-browser/preload.ts"],"names":[],"mappings":";;;AAAA,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;AAChF,kEAAiJ;AAEjJ,6DAA6D;AAC7D,mEAAkF;AAElF,MAAM,GAAG,GAAuB;IAC5B,cAAc,EAAE,CAAC,OAA0B,EAAE,EAAE,CAAC,sBAAW,CAAC,MAAM,CAAC,gCAAiB,EAAE,OAAO,CAAC;IAC9F,cAAc,EAAE,CAAC,OAA0B,EAAE,EAAE,CAAC,sBAAW,CAAC,MAAM,CAAC,gCAAiB,EAAE,OAAO,CAAC;CACjG,CAAC;AAEF,SAAgB,OAAO;IACnB,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IAEtD,wBAAa,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;AACpE,CAAC;AAJD,0BAIC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export interface FileFilter {
|
|
2
|
+
name: string;
|
|
3
|
+
extensions: string[];
|
|
4
|
+
}
|
|
5
|
+
export interface OpenDialogOptions {
|
|
6
|
+
title?: string;
|
|
7
|
+
maxWidth?: number;
|
|
8
|
+
path: string;
|
|
9
|
+
buttonLabel?: string;
|
|
10
|
+
modal?: boolean;
|
|
11
|
+
openFiles?: boolean;
|
|
12
|
+
openFolders?: boolean;
|
|
13
|
+
selectMany?: boolean;
|
|
14
|
+
filters?: FileFilter[];
|
|
15
|
+
}
|
|
16
|
+
export interface SaveDialogOptions {
|
|
17
|
+
title?: string;
|
|
18
|
+
maxWidth?: number;
|
|
19
|
+
path: string;
|
|
20
|
+
buttonLabel?: string;
|
|
21
|
+
modal?: boolean;
|
|
22
|
+
filters?: FileFilter[];
|
|
23
|
+
}
|
|
24
|
+
export interface TheiaFilesystemAPI {
|
|
25
|
+
showOpenDialog(options: OpenDialogOptions): Promise<string[] | undefined>;
|
|
26
|
+
showSaveDialog(options: SaveDialogOptions): Promise<string | undefined>;
|
|
27
|
+
}
|
|
28
|
+
declare global {
|
|
29
|
+
interface Window {
|
|
30
|
+
electronTheiaFilesystem: TheiaFilesystemAPI;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
export declare const CHANNEL_SHOW_OPEN = "ShowOpenDialog";
|
|
34
|
+
export declare const CHANNEL_SHOW_SAVE = "ShowSaveDialog";
|
|
35
|
+
//# sourceMappingURL=electron-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"electron-api.d.ts","sourceRoot":"","sources":["../../src/electron-common/electron-api.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IAC/B,cAAc,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IAC1E,cAAc,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC3E;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,uBAAuB,EAAE,kBAAkB,CAAA;KAC9C;CACJ;AAED,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAClD,eAAO,MAAM,iBAAiB,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2023 STMicroelectronics and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.CHANNEL_SHOW_SAVE = exports.CHANNEL_SHOW_OPEN = void 0;
|
|
19
|
+
exports.CHANNEL_SHOW_OPEN = 'ShowOpenDialog';
|
|
20
|
+
exports.CHANNEL_SHOW_SAVE = 'ShowSaveDialog';
|
|
21
|
+
//# sourceMappingURL=electron-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"electron-api.js","sourceRoot":"","sources":["../../src/electron-common/electron-api.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;AAuCnE,QAAA,iBAAiB,GAAG,gBAAgB,CAAC;AACrC,QAAA,iBAAiB,GAAG,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ElectronMainApplication, ElectronMainApplicationContribution } from '@theia/core/lib/electron-main/electron-main-application';
|
|
2
|
+
import { MaybePromise } from '@theia/core';
|
|
3
|
+
export declare class ElectronApi implements ElectronMainApplicationContribution {
|
|
4
|
+
onStart(application: ElectronMainApplication): MaybePromise<void>;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=electron-api-main.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"electron-api-main.d.ts","sourceRoot":"","sources":["../../src/electron-main/electron-api-main.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,uBAAuB,EAAE,mCAAmC,EAAE,MAAM,yDAAyD,CAAC;AACvI,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAK3C,qBACa,WAAY,YAAW,mCAAmC;IACnE,OAAO,CAAC,WAAW,EAAE,uBAAuB,GAAG,YAAY,CAAC,IAAI,CAAC;CAmDpE"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2023 STMicroelectronics and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
18
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
19
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
20
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
21
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
22
|
+
};
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.ElectronApi = void 0;
|
|
25
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
26
|
+
const electron_api_1 = require("../electron-common/electron-api");
|
|
27
|
+
const electron_1 = require("@theia/core/electron-shared/electron");
|
|
28
|
+
let ElectronApi = class ElectronApi {
|
|
29
|
+
onStart(application) {
|
|
30
|
+
// dialogs
|
|
31
|
+
electron_1.ipcMain.handle(electron_api_1.CHANNEL_SHOW_OPEN, async (event, options) => {
|
|
32
|
+
const properties = [];
|
|
33
|
+
// checking proper combination of file/dir opening is done on the renderer side
|
|
34
|
+
if (options.openFiles) {
|
|
35
|
+
properties.push('openFile');
|
|
36
|
+
}
|
|
37
|
+
if (options.openFolders) {
|
|
38
|
+
properties.push('openDirectory');
|
|
39
|
+
}
|
|
40
|
+
if (options.selectMany === true) {
|
|
41
|
+
properties.push('multiSelections');
|
|
42
|
+
}
|
|
43
|
+
const dialogOpts = {
|
|
44
|
+
defaultPath: options.path,
|
|
45
|
+
buttonLabel: options.buttonLabel,
|
|
46
|
+
filters: options.filters,
|
|
47
|
+
title: options.title,
|
|
48
|
+
properties: properties
|
|
49
|
+
};
|
|
50
|
+
if (options.modal) {
|
|
51
|
+
const win = electron_1.BrowserWindow.fromWebContents(event.sender);
|
|
52
|
+
if (win) {
|
|
53
|
+
return (await electron_1.dialog.showOpenDialog(win, dialogOpts)).filePaths;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return (await electron_1.dialog.showOpenDialog(dialogOpts)).filePaths;
|
|
57
|
+
});
|
|
58
|
+
electron_1.ipcMain.handle(electron_api_1.CHANNEL_SHOW_SAVE, async (event, options) => {
|
|
59
|
+
const dialogOpts = {
|
|
60
|
+
defaultPath: options.path,
|
|
61
|
+
buttonLabel: options.buttonLabel,
|
|
62
|
+
filters: options.filters,
|
|
63
|
+
title: options.title
|
|
64
|
+
};
|
|
65
|
+
if (options.modal) {
|
|
66
|
+
const win = electron_1.BrowserWindow.fromWebContents(event.sender);
|
|
67
|
+
if (win) {
|
|
68
|
+
return (await electron_1.dialog.showSaveDialog(win, dialogOpts)).filePath;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return (await electron_1.dialog.showSaveDialog(dialogOpts)).filePath;
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
ElectronApi = __decorate([
|
|
76
|
+
(0, inversify_1.injectable)()
|
|
77
|
+
], ElectronApi);
|
|
78
|
+
exports.ElectronApi = ElectronApi;
|
|
79
|
+
//# sourceMappingURL=electron-api-main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"electron-api-main.js","sourceRoot":"","sources":["../../src/electron-main/electron-api-main.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;;;;;;;AAEhF,4DAA0D;AAI1D,kEAA6H;AAC7H,mEACgD;AAGhD,IAAa,WAAW,GAAxB,MAAa,WAAW;IACpB,OAAO,CAAC,WAAoC;QACxC,UAAU;QACV,kBAAO,CAAC,MAAM,CAAC,gCAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,OAA0B,EAAE,EAAE;YAC1E,MAAM,UAAU,GAA4C,EAAE,CAAC;YAE/D,+EAA+E;YAC/E,IAAI,OAAO,CAAC,SAAS,EAAE;gBACnB,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAC/B;YACD,IAAI,OAAO,CAAC,WAAW,EAAE;gBACrB,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aACpC;YAED,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE;gBAC7B,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;aACtC;YAED,MAAM,UAAU,GAA8B;gBAC1C,WAAW,EAAE,OAAO,CAAC,IAAI;gBACzB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,UAAU,EAAE,UAAU;aACzB,CAAC;YAEF,IAAI,OAAO,CAAC,KAAK,EAAE;gBACf,MAAM,GAAG,GAAG,wBAAa,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACxD,IAAI,GAAG,EAAE;oBACL,OAAO,CAAC,MAAM,iBAAM,CAAC,cAAc,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;iBACnE;aACJ;YACD,OAAO,CAAC,MAAM,iBAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,kBAAO,CAAC,MAAM,CAAC,gCAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,OAA0B,EAAE,EAAE;YAC1E,MAAM,UAAU,GAA8B;gBAC1C,WAAW,EAAE,OAAO,CAAC,IAAI;gBACzB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,KAAK,EAAE,OAAO,CAAC,KAAK;aACvB,CAAC;YACF,IAAI,OAAO,CAAC,KAAK,EAAE;gBACf,MAAM,GAAG,GAAG,wBAAa,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACxD,IAAI,GAAG,EAAE;oBACL,OAAO,CAAC,MAAM,iBAAM,CAAC,cAAc,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAClE;aACJ;YACD,OAAO,CAAC,MAAM,iBAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC9D,CAAC,CAAC,CAAC;IAEP,CAAC;CACJ,CAAA;AApDY,WAAW;IADvB,IAAA,sBAAU,GAAE;GACA,WAAW,CAoDvB;AApDY,kCAAW"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"electron-main-module.d.ts","sourceRoot":"","sources":["../../src/electron-main/electron-main-module.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAI/D,wBAGG"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
// *****************************************************************************
|
|
4
|
+
// Copyright (C) 2023 STMicroelectronics and others.
|
|
5
|
+
//
|
|
6
|
+
// This program and the accompanying materials are made available under the
|
|
7
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
8
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
9
|
+
//
|
|
10
|
+
// This Source Code may also be made available under the following Secondary
|
|
11
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
12
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
13
|
+
// with the GNU Classpath Exception which is available at
|
|
14
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
15
|
+
//
|
|
16
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
17
|
+
// *****************************************************************************
|
|
18
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
19
|
+
const electron_main_application_1 = require("@theia/core/lib/electron-main/electron-main-application");
|
|
20
|
+
const electron_api_main_1 = require("./electron-api-main");
|
|
21
|
+
exports.default = new inversify_1.ContainerModule(bind => {
|
|
22
|
+
bind(electron_api_main_1.ElectronApi).toSelf().inSingletonScope();
|
|
23
|
+
bind(electron_main_application_1.ElectronMainApplicationContribution).toService(electron_api_main_1.ElectronApi);
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=electron-main-module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"electron-main-module.js","sourceRoot":"","sources":["../../src/electron-main/electron-main-module.ts"],"names":[],"mappings":";;AAAA,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;AAChF,4DAA+D;AAC/D,uGAA8G;AAC9G,2DAAkD;AAElD,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IACtC,IAAI,CAAC,+BAAW,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC9C,IAAI,CAAC,+DAAmC,CAAC,CAAC,SAAS,CAAC,+BAAW,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/filesystem",
|
|
3
|
-
"version": "1.37.0
|
|
3
|
+
"version": "1.37.0",
|
|
4
4
|
"description": "Theia - FileSystem Extension",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/core": "1.37.0
|
|
6
|
+
"@theia/core": "1.37.0",
|
|
7
7
|
"@types/body-parser": "^1.17.0",
|
|
8
8
|
"@types/multer": "^1.4.7",
|
|
9
9
|
"@types/rimraf": "^2.0.2",
|
|
@@ -24,6 +24,10 @@
|
|
|
24
24
|
"access": "public"
|
|
25
25
|
},
|
|
26
26
|
"theiaExtensions": [
|
|
27
|
+
{
|
|
28
|
+
"preload": "lib/electron-browser/preload",
|
|
29
|
+
"electronMain": "lib/electron-main/electron-main-module"
|
|
30
|
+
},
|
|
27
31
|
{
|
|
28
32
|
"frontend": "lib/browser/filesystem-frontend-module",
|
|
29
33
|
"backend": "lib/node/filesystem-backend-module"
|
|
@@ -63,10 +67,10 @@
|
|
|
63
67
|
"watch": "theiaext watch"
|
|
64
68
|
},
|
|
65
69
|
"devDependencies": {
|
|
66
|
-
"@theia/ext-scripts": "1.
|
|
70
|
+
"@theia/ext-scripts": "1.37.0"
|
|
67
71
|
},
|
|
68
72
|
"nyc": {
|
|
69
73
|
"extends": "../../configs/nyc.json"
|
|
70
74
|
},
|
|
71
|
-
"gitHead": "
|
|
75
|
+
"gitHead": "a4d3d5c7eeb87ec9be566c285aaeafc994acddf6"
|
|
72
76
|
}
|