@theia/filesystem 1.22.0-next.7 → 1.22.1

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.
@@ -13,7 +13,7 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { FileFilter, OpenDialogOptions, SaveDialogOptions } from '@theia/core/shared/electron';
16
+ import { FileFilter, OpenDialogOptions, SaveDialogOptions } from '@theia/core/electron-shared/electron';
17
17
  import URI from '@theia/core/lib/common/uri';
18
18
  import { MaybeArray } from '@theia/core/lib/common/types';
19
19
  import { MessageService } from '@theia/core/lib/common/message-service';
@@ -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":"AAAA;;;;;;;;;;;;;;kFAckF;AAGlF,OAAO,EAAU,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACvG,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;AAI/G,aAAK,gBAAgB,GAAG,UAAU,GAAG,eAAe,GAAG,iBAAiB,GAAG,iBAAiB,GACxF,iBAAiB,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,yBAAyB,GAAG,iBAAiB,CAAC;AAW9G,qBACa,yBAA0B,SAAQ,wBAAwB;IAE3C,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAEpE,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;cAoB7E,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,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,mBAAmB,GAAG,mBAAmB,EAAE,WAAW,EAAE,MAAM,GAAG,QAAQ,CAAC,eAAe;IAUpI,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,mBAAmB,GAAG,iBAAiB;IAMtF,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,mBAAmB,GAAG,iBAAiB;CASzF;AAED,yBAAiB,QAAQ,CAAC;IAEtB;;OAEG;IACH,UAAiB,eAAe;QAE5B;;WAEG;QACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAExB;;WAEG;QACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAE9B;;WAEG;QACH,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;KAEnC;IAED,UAAiB,MAAM,CAAC;QAEpB;;;;;;;WAOG;QACH,SAAgB,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,CAAC,gBAAgB,CAAC,CA6BtF;KACJ;CACJ"}
1
+ {"version":3,"file":"electron-file-dialog-service.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/file-dialog/electron-file-dialog-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAGlF,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAExG,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;AAI/G,aAAK,gBAAgB,GAAG,UAAU,GAAG,eAAe,GAAG,iBAAiB,GAAG,iBAAiB,GACxF,iBAAiB,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,yBAAyB,GAAG,iBAAiB,CAAC;AAW9G,qBACa,yBAA0B,SAAQ,wBAAwB;IAE3C,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAEpE,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;cAoB7E,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,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,mBAAmB,GAAG,mBAAmB,EAAE,WAAW,EAAE,MAAM,GAAG,QAAQ,CAAC,eAAe;IAoBpI,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,mBAAmB,GAAG,iBAAiB;IAMtF,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,mBAAmB,GAAG,iBAAiB;CASzF;AAED,yBAAiB,QAAQ,CAAC;IAEtB;;OAEG;IACH,UAAiB,eAAe;QAE5B;;WAEG;QACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAExB;;WAEG;QACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAE9B;;WAEG;QACH,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;KAEnC;IAED,UAAiB,MAAM,CAAC;QAEpB;;;;;;;WAOG;QACH,SAAgB,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,CAAC,gBAAgB,CAAC,CA6BtF;KACJ;CACJ"}
@@ -26,7 +26,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
26
26
  Object.defineProperty(exports, "__esModule", { value: true });
27
27
  exports.electron = exports.ElectronFileDialogService = void 0;
28
28
  const inversify_1 = require("@theia/core/shared/inversify");
29
- const electron_1 = require("@theia/core/shared/electron");
29
+ const electronRemote = require("@theia/core/electron-shared/@electron/remote");
30
30
  const os_1 = require("@theia/core/lib/common/os");
31
31
  const message_service_1 = require("@theia/core/lib/common/message-service");
32
32
  const filesystem_1 = require("../../common/filesystem");
@@ -43,7 +43,7 @@ let ElectronFileDialogService = class ElectronFileDialogService extends file_dia
43
43
  async showOpenDialog(props, folder) {
44
44
  const rootNode = await this.getRootNode(folder);
45
45
  if (rootNode) {
46
- const { filePaths } = await electron_1.remote.dialog.showOpenDialog(this.toOpenDialogOptions(rootNode.uri, props));
46
+ const { filePaths } = await electronRemote.dialog.showOpenDialog(this.toOpenDialogOptions(rootNode.uri, props));
47
47
  if (filePaths.length === 0) {
48
48
  return undefined;
49
49
  }
@@ -57,7 +57,7 @@ let ElectronFileDialogService = class ElectronFileDialogService extends file_dia
57
57
  async showSaveDialog(props, folder) {
58
58
  const rootNode = await this.getRootNode(folder);
59
59
  if (rootNode) {
60
- const { filePath } = await electron_1.remote.dialog.showSaveDialog(this.toSaveDialogOptions(rootNode.uri, props));
60
+ const { filePath } = await electronRemote.dialog.showSaveDialog(this.toSaveDialogOptions(rootNode.uri, props));
61
61
  if (!filePath) {
62
62
  return undefined;
63
63
  }
@@ -94,13 +94,19 @@ let ElectronFileDialogService = class ElectronFileDialogService extends file_dia
94
94
  return unreadableResourcePaths.length === 0;
95
95
  }
96
96
  toDialogOptions(uri, props, dialogTitle) {
97
- const title = props.title || dialogTitle;
98
- const defaultPath = file_uri_1.FileUri.fsPath(uri);
99
- const filters = [{ name: 'All Files', extensions: ['*'] }];
100
- if (props.filters) {
101
- filters.unshift(...Object.keys(props.filters).map(key => ({ name: key, extensions: props.filters[key] })));
97
+ const electronProps = {
98
+ title: props.title || dialogTitle,
99
+ defaultPath: file_uri_1.FileUri.fsPath(uri),
100
+ };
101
+ const { canSelectFiles = true, canSelectFolders = false, } = props;
102
+ if (!os_1.isOSX && canSelectFiles && canSelectFolders) {
103
+ console.warn('canSelectFiles === true && canSelectFolders === true is only supported on OSX!');
104
+ }
105
+ if ((os_1.isOSX && canSelectFiles) || !canSelectFolders) {
106
+ electronProps.filters = props.filters ? Object.entries(props.filters).map(([name, extensions]) => ({ name, extensions })) : [];
107
+ electronProps.filters.push({ name: 'All Files', extensions: ['*'] });
102
108
  }
103
- return { title, defaultPath, filters };
109
+ return electronProps;
104
110
  }
105
111
  toOpenDialogOptions(uri, props) {
106
112
  const properties = electron.dialog.toDialogProperties(props);
@@ -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":"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"}
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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"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@theia/filesystem",
3
- "version": "1.22.0-next.7+ff1121f7f2b",
3
+ "version": "1.22.1",
4
4
  "description": "Theia - FileSystem Extension",
5
5
  "dependencies": {
6
- "@theia/core": "1.22.0-next.7+ff1121f7f2b",
6
+ "@theia/core": "1.22.1",
7
7
  "@types/body-parser": "^1.17.0",
8
8
  "@types/multer": "^1.4.7",
9
9
  "@types/rimraf": "^2.0.2",
@@ -64,10 +64,10 @@
64
64
  "watch": "theiaext watch"
65
65
  },
66
66
  "devDependencies": {
67
- "@theia/ext-scripts": "1.21.0"
67
+ "@theia/ext-scripts": "1.22.1"
68
68
  },
69
69
  "nyc": {
70
70
  "extends": "../../configs/nyc.json"
71
71
  },
72
- "gitHead": "ff1121f7f2b42324ded29d8ef70838cb0941083d"
72
+ "gitHead": "49910aeaecf520a54b253db0215b28c2268bb2f3"
73
73
  }
@@ -15,7 +15,8 @@
15
15
  ********************************************************************************/
16
16
 
17
17
  import { inject, injectable } from '@theia/core/shared/inversify';
18
- import { remote, FileFilter, OpenDialogOptions, SaveDialogOptions } from '@theia/core/shared/electron';
18
+ import { FileFilter, OpenDialogOptions, SaveDialogOptions } from '@theia/core/electron-shared/electron';
19
+ import * as electronRemote from '@theia/core/electron-shared/@electron/remote';
19
20
  import URI from '@theia/core/lib/common/uri';
20
21
  import { isOSX } from '@theia/core/lib/common/os';
21
22
  import { MaybeArray } from '@theia/core/lib/common/types';
@@ -48,7 +49,7 @@ export class ElectronFileDialogService extends DefaultFileDialogService {
48
49
  async showOpenDialog(props: OpenFileDialogProps, folder?: FileStat): Promise<MaybeArray<URI> | undefined> {
49
50
  const rootNode = await this.getRootNode(folder);
50
51
  if (rootNode) {
51
- const { filePaths } = await remote.dialog.showOpenDialog(this.toOpenDialogOptions(rootNode.uri, props));
52
+ const { filePaths } = await electronRemote.dialog.showOpenDialog(this.toOpenDialogOptions(rootNode.uri, props));
52
53
  if (filePaths.length === 0) {
53
54
  return undefined;
54
55
  }
@@ -64,7 +65,7 @@ export class ElectronFileDialogService extends DefaultFileDialogService {
64
65
  async showSaveDialog(props: SaveFileDialogProps, folder?: FileStat): Promise<URI | undefined> {
65
66
  const rootNode = await this.getRootNode(folder);
66
67
  if (rootNode) {
67
- const { filePath } = await remote.dialog.showSaveDialog(this.toSaveDialogOptions(rootNode.uri, props));
68
+ const { filePath } = await electronRemote.dialog.showSaveDialog(this.toSaveDialogOptions(rootNode.uri, props));
68
69
  if (!filePath) {
69
70
  return undefined;
70
71
  }
@@ -106,13 +107,23 @@ export class ElectronFileDialogService extends DefaultFileDialogService {
106
107
  }
107
108
 
108
109
  protected toDialogOptions(uri: URI, props: SaveFileDialogProps | OpenFileDialogProps, dialogTitle: string): electron.FileDialogProps {
109
- const title = props.title || dialogTitle;
110
- const defaultPath = FileUri.fsPath(uri);
111
- const filters: FileFilter[] = [{ name: 'All Files', extensions: ['*'] }];
112
- if (props.filters) {
113
- filters.unshift(...Object.keys(props.filters).map(key => ({ name: key, extensions: props.filters![key] })));
110
+ type Mutable<T> = { -readonly [K in keyof T]: T[K] };
111
+ const electronProps: Mutable<electron.FileDialogProps> = {
112
+ title: props.title || dialogTitle,
113
+ defaultPath: FileUri.fsPath(uri),
114
+ };
115
+ const {
116
+ canSelectFiles = true,
117
+ canSelectFolders = false,
118
+ } = props as OpenFileDialogProps;
119
+ if (!isOSX && canSelectFiles && canSelectFolders) {
120
+ console.warn('canSelectFiles === true && canSelectFolders === true is only supported on OSX!');
121
+ }
122
+ if ((isOSX && canSelectFiles) || !canSelectFolders) {
123
+ electronProps.filters = props.filters ? Object.entries(props.filters).map(([name, extensions]) => ({ name, extensions })) : [];
124
+ electronProps.filters.push({ name: 'All Files', extensions: ['*'] });
114
125
  }
115
- return { title, defaultPath, filters };
126
+ return electronProps;
116
127
  }
117
128
 
118
129
  protected toOpenDialogOptions(uri: URI, props: OpenFileDialogProps): OpenDialogOptions {