@opensumi/ide-file-tree-next 3.5.1-next-1733469232.0 → 3.6.1-next-1733711618.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.
Files changed (26) hide show
  1. package/lib/browser/dialog/file-dialog-model.service.d.ts +1 -1
  2. package/lib/browser/dialog/file-dialog-model.service.d.ts.map +1 -1
  3. package/lib/browser/dialog/file-dialog.contextkey.d.ts +9 -0
  4. package/lib/browser/dialog/file-dialog.contextkey.d.ts.map +1 -0
  5. package/lib/browser/dialog/file-dialog.contextkey.js +25 -0
  6. package/lib/browser/dialog/file-dialog.contextkey.js.map +1 -0
  7. package/lib/browser/dialog/file-dialog.module.less +12 -4
  8. package/lib/browser/dialog/file-dialog.service.d.ts +4 -0
  9. package/lib/browser/dialog/file-dialog.service.d.ts.map +1 -1
  10. package/lib/browser/dialog/file-dialog.service.js +14 -0
  11. package/lib/browser/dialog/file-dialog.service.js.map +1 -1
  12. package/lib/browser/dialog/file-dialog.view.d.ts +3 -1
  13. package/lib/browser/dialog/file-dialog.view.d.ts.map +1 -1
  14. package/lib/browser/dialog/file-dialog.view.js +45 -27
  15. package/lib/browser/dialog/file-dialog.view.js.map +1 -1
  16. package/lib/browser/dialog/window-dialog.service.d.ts +1 -0
  17. package/lib/browser/dialog/window-dialog.service.d.ts.map +1 -1
  18. package/lib/browser/dialog/window-dialog.service.js +4 -2
  19. package/lib/browser/dialog/window-dialog.service.js.map +1 -1
  20. package/package.json +17 -17
  21. package/src/browser/dialog/file-dialog-model.service.ts +1 -1
  22. package/src/browser/dialog/file-dialog.contextkey.ts +21 -0
  23. package/src/browser/dialog/file-dialog.module.less +12 -4
  24. package/src/browser/dialog/file-dialog.service.ts +16 -0
  25. package/src/browser/dialog/file-dialog.view.tsx +91 -57
  26. package/src/browser/dialog/window-dialog.service.tsx +20 -2
@@ -10,7 +10,7 @@ export interface IParseStore {
10
10
  type: PasteTypes;
11
11
  }
12
12
  export interface IFileTreeHandle extends IRecycleTreeHandle {
13
- hasDirectFocus: () => boolean;
13
+ hasDirectFocus?: () => boolean;
14
14
  }
15
15
  export interface FileTreeValidateMessage extends PromptValidateMessage {
16
16
  value: string;
@@ -1 +1 @@
1
- {"version":3,"file":"file-dialog-model.service.d.ts","sourceRoot":"","sources":["../../../src/browser/dialog/file-dialog-model.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-dialog-model.service.d.ts","sourceRoot":"","sources":["../../../src/browser/dialog/file-dialog-model.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { IContextKey, IContextKeyService } from '@opensumi/ide-core-browser';
2
+ export declare class FileDialogContextKey {
3
+ private readonly globalContextKeyService;
4
+ fileDialogViewVisibleContext: IContextKey<boolean>;
5
+ private _contextKeyService;
6
+ initScopedContext(dom: HTMLDivElement): void;
7
+ get service(): IContextKeyService;
8
+ }
9
+ //# sourceMappingURL=file-dialog.contextkey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-dialog.contextkey.d.ts","sourceRoot":"","sources":["../../../src/browser/dialog/file-dialog.contextkey.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAG7E,qBACa,oBAAoB;IAE/B,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAqB;IAEtD,4BAA4B,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC1D,OAAO,CAAC,kBAAkB,CAAqB;IAE/C,iBAAiB,CAAC,GAAG,EAAE,cAAc;IAKrC,IAAI,OAAO,uBAEV;CACF"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FileDialogContextKey = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const di_1 = require("@opensumi/di");
6
+ const ide_core_browser_1 = require("@opensumi/ide-core-browser");
7
+ const contextkey_1 = require("@opensumi/ide-core-browser/lib/contextkey");
8
+ let FileDialogContextKey = class FileDialogContextKey {
9
+ initScopedContext(dom) {
10
+ this._contextKeyService = this.globalContextKeyService.createScoped(dom);
11
+ this.fileDialogViewVisibleContext = contextkey_1.FileDialogViewVisibleContext.bind(this._contextKeyService);
12
+ }
13
+ get service() {
14
+ return this._contextKeyService;
15
+ }
16
+ };
17
+ exports.FileDialogContextKey = FileDialogContextKey;
18
+ tslib_1.__decorate([
19
+ (0, di_1.Autowired)(ide_core_browser_1.IContextKeyService),
20
+ tslib_1.__metadata("design:type", Object)
21
+ ], FileDialogContextKey.prototype, "globalContextKeyService", void 0);
22
+ exports.FileDialogContextKey = FileDialogContextKey = tslib_1.__decorate([
23
+ (0, di_1.Injectable)()
24
+ ], FileDialogContextKey);
25
+ //# sourceMappingURL=file-dialog.contextkey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-dialog.contextkey.js","sourceRoot":"","sources":["../../../src/browser/dialog/file-dialog.contextkey.ts"],"names":[],"mappings":";;;;AAAA,qCAAqD;AACrD,iEAA6E;AAC7E,0EAAyF;AAGlF,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAO/B,iBAAiB,CAAC,GAAmB;QACnC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACzE,IAAI,CAAC,4BAA4B,GAAG,yCAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACjG,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;CACF,CAAA;AAfY,oDAAoB;AAEd;IADhB,IAAA,cAAS,EAAC,qCAAkB,CAAC;;qEAC+B;+BAFlD,oBAAoB;IADhC,IAAA,eAAU,GAAE;GACA,oBAAoB,CAehC"}
@@ -67,9 +67,17 @@
67
67
  }
68
68
 
69
69
  .file_dialog_wrapper {
70
- :global(.kt-dialog-closex) {
71
- position: absolute;
72
- right: 24px;
73
- top: 24px;
70
+ :global {
71
+ .kt-modal-close-x {
72
+ margin: 10px 18px 0 0;
73
+ width: 12px;
74
+ height: 12px;
75
+ line-height: 20px;
76
+ color: var(--kt-notificationsCloseIcon-foreground);
77
+ }
78
+
79
+ .kt-modal-body {
80
+ padding-bottom: 8px;
81
+ }
74
82
  }
75
83
  }
@@ -1,10 +1,12 @@
1
1
  import { ITreeNodeOrCompositeTreeNode, Tree } from '@opensumi/ide-components';
2
2
  import { LabelService } from '@opensumi/ide-core-browser/lib/services';
3
3
  import { Directory } from '../../common/file-tree-node.define';
4
+ import { FileDialogContextKey } from './file-dialog.contextkey';
4
5
  export declare class FileTreeDialogService extends Tree {
5
6
  private fileTreeAPI;
6
7
  private workspaceService;
7
8
  labelService: LabelService;
9
+ private fileDialogContextKey;
8
10
  private workspaceRoot;
9
11
  _whenReady: Promise<void>;
10
12
  constructor(root: string);
@@ -14,6 +16,8 @@ export declare class FileTreeDialogService extends Tree {
14
16
  resolveRoot(path: string): Promise<(Directory | import("../../common/file-tree-node.define").File)[] | undefined>;
15
17
  getDirectoryList(): string[];
16
18
  sortComparator(a: ITreeNodeOrCompositeTreeNode, b: ITreeNodeOrCompositeTreeNode): any;
19
+ initContextKey(dom: HTMLDivElement): void;
20
+ get contextKey(): FileDialogContextKey;
17
21
  dispose(): void;
18
22
  }
19
23
  //# sourceMappingURL=file-dialog.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-dialog.service.d.ts","sourceRoot":"","sources":["../../../src/browser/dialog/file-dialog.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,IAAI,EAAgB,MAAM,0BAA0B,CAAC;AAE5F,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAKvE,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAE/D,qBACa,qBAAsB,SAAQ,IAAI;IAE7C,OAAO,CAAC,WAAW,CAAe;IAGlC,OAAO,CAAC,gBAAgB,CAAoB;IAGrC,YAAY,EAAE,YAAY,CAAC;IAElC,OAAO,CAAC,aAAa,CAAW;IAEzB,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAET,IAAI,EAAE,MAAM;IAKpC,IAAI,SAAS,kBAEZ;IAEK,oBAAoB,CAAC,IAAI,EAAE,MAAM;IAUjC,eAAe,CAAC,MAAM,CAAC,EAAE,SAAS;IAmBlC,WAAW,CAAC,IAAI,EAAE,MAAM;IAc9B,gBAAgB;IAqBhB,cAAc,CAAC,CAAC,EAAE,4BAA4B,EAAE,CAAC,EAAE,4BAA4B;IAe/E,OAAO;CAGR"}
1
+ {"version":3,"file":"file-dialog.service.d.ts","sourceRoot":"","sources":["../../../src/browser/dialog/file-dialog.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,IAAI,EAAgB,MAAM,0BAA0B,CAAC;AAE5F,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAKvE,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAE/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,qBACa,qBAAsB,SAAQ,IAAI;IAE7C,OAAO,CAAC,WAAW,CAAe;IAGlC,OAAO,CAAC,gBAAgB,CAAoB;IAGrC,YAAY,EAAE,YAAY,CAAC;IAGlC,OAAO,CAAC,oBAAoB,CAAuB;IAEnD,OAAO,CAAC,aAAa,CAAW;IAEzB,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAET,IAAI,EAAE,MAAM;IAKpC,IAAI,SAAS,kBAEZ;IAEK,oBAAoB,CAAC,IAAI,EAAE,MAAM;IAUjC,eAAe,CAAC,MAAM,CAAC,EAAE,SAAS;IAmBlC,WAAW,CAAC,IAAI,EAAE,MAAM;IAc9B,gBAAgB;IAqBhB,cAAc,CAAC,CAAC,EAAE,4BAA4B,EAAE,CAAC,EAAE,4BAA4B;IAe/E,cAAc,CAAC,GAAG,EAAE,cAAc;IAOlC,IAAI,UAAU,yBAEb;IAED,OAAO;CAGR"}
@@ -8,6 +8,7 @@ const ide_core_browser_1 = require("@opensumi/ide-core-browser");
8
8
  const services_1 = require("@opensumi/ide-core-browser/lib/services");
9
9
  const ide_workspace_1 = require("@opensumi/ide-workspace");
10
10
  const common_1 = require("../../common");
11
+ const file_dialog_contextkey_1 = require("./file-dialog.contextkey");
11
12
  let FileTreeDialogService = class FileTreeDialogService extends ide_components_1.Tree {
12
13
  constructor(root) {
13
14
  super();
@@ -92,6 +93,15 @@ let FileTreeDialogService = class FileTreeDialogService extends ide_components_1
92
93
  }
93
94
  return a.type === ide_components_1.TreeNodeType.CompositeTreeNode ? -1 : b.type === ide_components_1.TreeNodeType.CompositeTreeNode ? 1 : 0;
94
95
  }
96
+ initContextKey(dom) {
97
+ if (!dom) {
98
+ return;
99
+ }
100
+ this.fileDialogContextKey.initScopedContext(dom);
101
+ }
102
+ get contextKey() {
103
+ return this.fileDialogContextKey;
104
+ }
95
105
  dispose() {
96
106
  super.dispose();
97
107
  }
@@ -109,6 +119,10 @@ tslib_1.__decorate([
109
119
  (0, di_1.Autowired)(services_1.LabelService),
110
120
  tslib_1.__metadata("design:type", services_1.LabelService)
111
121
  ], FileTreeDialogService.prototype, "labelService", void 0);
122
+ tslib_1.__decorate([
123
+ (0, di_1.Autowired)(file_dialog_contextkey_1.FileDialogContextKey),
124
+ tslib_1.__metadata("design:type", file_dialog_contextkey_1.FileDialogContextKey)
125
+ ], FileTreeDialogService.prototype, "fileDialogContextKey", void 0);
112
126
  exports.FileTreeDialogService = FileTreeDialogService = tslib_1.__decorate([
113
127
  (0, di_1.Injectable)({ multiple: true }),
114
128
  tslib_1.__param(0, (0, di_1.Optional)()),
@@ -1 +1 @@
1
- {"version":3,"file":"file-dialog.service.js","sourceRoot":"","sources":["../../../src/browser/dialog/file-dialog.service.ts"],"names":[],"mappings":";;;;AAAA,qCAA+D;AAC/D,6DAA4F;AAC5F,iEAA0D;AAC1D,sEAAuE;AAEvE,2DAA4D;AAE5D,yCAA4C;AAIrC,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,qBAAI;IAc7C,YAAwB,IAAY;QAClC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,IAAY;QACrC,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,OAAO,GAAQ,IAAI,sBAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,0BAAO,CAAC,IAAI,CAAC,CAAC;YAC5D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YACrE,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;YACpC,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAkB;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,QAAQ;YACR,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxB,IAAI,CAAC,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,CAAC;YACD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YACtF,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAc,CAAC;YACrC,OAAO,QAAQ,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,QAAQ;YACR,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;gBACf,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;gBACjG,OAAO,QAAQ,CAAC;YAClB,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAY;QAC5B,IAAI,OAAY,CAAC;QACjB,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO,GAAG,IAAI,sBAAG,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,GAAG,sBAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACrE,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAChF,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAc,CAAC;YACrC,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAED,gBAAgB;QACd,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,IAAI,GAAG,IAAI,sBAAG,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;gBACnC,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnC,MAAM;gBACR,CAAC;gBACD,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACvB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;YACrB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,cAAc,CAAC,CAA+B,EAAE,CAA+B;QAC7E,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YACpC,wBAAwB;YACxB,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtD,OAAO,CAAC,CAAC;YACX,CAAC;YACD,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtD,OAAO,CAAC,CAAC,CAAC;YACZ,CAAC;YACD,yBAAyB;YACzB,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAQ,CAAC;QACtE,CAAC;QACD,OAAO,CAAC,CAAC,IAAI,KAAK,6BAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,6BAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5G,CAAC;IAED,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;CACF,CAAA;AAzGY,sDAAqB;AAExB;IADP,IAAA,cAAS,EAAC,qBAAY,CAAC;;0DACU;AAG1B;IADP,IAAA,cAAS,EAAC,iCAAiB,CAAC;;+DACe;AAGrC;IADN,IAAA,cAAS,EAAC,uBAAY,CAAC;sCACH,uBAAY;2DAAC;gCARvB,qBAAqB;IADjC,IAAA,eAAU,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAehB,mBAAA,IAAA,aAAQ,GAAE,CAAA;;GAdZ,qBAAqB,CAyGjC"}
1
+ {"version":3,"file":"file-dialog.service.js","sourceRoot":"","sources":["../../../src/browser/dialog/file-dialog.service.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,13 @@
1
1
  import React from 'react';
2
2
  import { IOpenDialogOptions, ISaveDialogOptions } from '@opensumi/ide-overlay';
3
3
  import { FileTreeDialogModel } from './file-dialog-model.service';
4
+ import { FileTreeDialogService } from './file-dialog.service';
4
5
  export interface IFileDialogProps {
5
6
  options: ISaveDialogOptions | IOpenDialogOptions;
6
7
  model: FileTreeDialogModel;
8
+ fileService: FileTreeDialogService;
7
9
  isOpenDialog: boolean;
8
10
  }
9
11
  export declare const FILE_TREE_DIALOG_HEIGHT = 22;
10
- export declare const FileDialog: ({ options, model, isOpenDialog }: React.PropsWithChildren<IFileDialogProps>) => React.JSX.Element;
12
+ export declare const FileDialog: ({ options, model, isOpenDialog, fileService, }: React.PropsWithChildren<IFileDialogProps>) => React.JSX.Element;
11
13
  //# sourceMappingURL=file-dialog.view.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-dialog.view.d.ts","sourceRoot":"","sources":["../../../src/browser/dialog/file-dialog.view.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAcxE,OAAO,EAAkB,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAI/F,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAIlE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,kBAAkB,GAAG,kBAAkB,CAAC;IACjD,KAAK,EAAE,mBAAmB,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C,eAAO,MAAM,UAAU,qCAAsC,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,sBAkQrG,CAAC"}
1
+ {"version":3,"file":"file-dialog.view.d.ts","sourceRoot":"","sources":["../../../src/browser/dialog/file-dialog.view.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAcjF,OAAO,EAAkB,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAI/F,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGlE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,kBAAkB,GAAG,kBAAkB,CAAC;IACjD,KAAK,EAAE,mBAAmB,CAAC;IAC3B,WAAW,EAAE,qBAAqB,CAAC;IACnC,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C,eAAO,MAAM,UAAU,mDAKpB,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,sBA6R3C,CAAC"}
@@ -10,17 +10,19 @@ const ide_overlay_1 = require("@opensumi/ide-overlay");
10
10
  const file_dialog_node_1 = require("./file-dialog-node");
11
11
  const file_dialog_module_less_1 = tslib_1.__importDefault(require("./file-dialog.module.less"));
12
12
  exports.FILE_TREE_DIALOG_HEIGHT = 22;
13
- const FileDialog = ({ options, model, isOpenDialog }) => {
13
+ const FileDialog = ({ options, model, isOpenDialog, fileService, }) => {
14
14
  const dialogService = (0, ide_core_browser_1.useInjectable)(ide_overlay_1.IDialogService);
15
15
  const wrapperRef = (0, react_1.useRef)(null);
16
- const [fileName, setFileName] = (0, react_1.useState)('');
16
+ const [fileName, setFileName] = (0, react_1.useState)(options.defaultFileName || '');
17
17
  const [isReady, setIsReady] = (0, react_1.useState)(false);
18
18
  const [selectPath, setSelectPath] = (0, react_1.useState)('');
19
19
  const [directoryList, setDirectoryList] = (0, react_1.useState)([]);
20
20
  (0, react_1.useEffect)(() => {
21
+ var _a;
21
22
  if (model) {
22
23
  setIsReady(false);
23
24
  ensureIsReady();
25
+ (_a = fileService.contextKey.fileDialogViewVisibleContext) === null || _a === void 0 ? void 0 : _a.set(true);
24
26
  }
25
27
  return () => {
26
28
  model.dispose();
@@ -37,7 +39,7 @@ const FileDialog = ({ options, model, isOpenDialog }) => {
37
39
  setDirectoryList(list);
38
40
  }
39
41
  }, [isReady]);
40
- const hide = (0, react_1.useCallback)(() => {
42
+ const ensure = (0, react_1.useCallback)(() => {
41
43
  const value = model.selectedFiles.map((file) => file.uri.path.toString());
42
44
  // 如果有文件名的,说明肯定是保存文件的情况
43
45
  if (fileName && options.showNameInput && ((value === null || value === void 0 ? void 0 : value.length) === 1 || options.defaultUri)) {
@@ -59,10 +61,12 @@ const FileDialog = ({ options, model, isOpenDialog }) => {
59
61
  }
60
62
  }
61
63
  setIsReady(false);
64
+ fileService.contextKey.fileDialogViewVisibleContext.set(false);
62
65
  }, [isReady, dialogService, model, fileName, options]);
63
66
  const close = (0, react_1.useCallback)(() => {
64
67
  setIsReady(false);
65
68
  dialogService.hide();
69
+ fileService.contextKey.fileDialogViewVisibleContext.set(false);
66
70
  }, [isReady, dialogService]);
67
71
  const ensureIsReady = (0, react_1.useCallback)(async () => {
68
72
  await model.whenReady;
@@ -77,7 +81,6 @@ const FileDialog = ({ options, model, isOpenDialog }) => {
77
81
  model.handleTreeHandler({
78
82
  ...handle,
79
83
  getModel: () => model.treeModel,
80
- hasDirectFocus: () => wrapperRef.current === document.activeElement,
81
84
  });
82
85
  }, [model]);
83
86
  const handleTwistierClick = (0, react_1.useCallback)((ev, item) => {
@@ -160,29 +163,44 @@ const FileDialog = ({ options, model, isOpenDialog }) => {
160
163
  return (react_1.default.createElement(ide_components_1.Select, { onChange: onRootChangeHandler, className: file_dialog_module_less_1.default.select_control, size: 'small', value: selectPath }, directoryList.map((item, idx) => (react_1.default.createElement(ide_components_1.Option, { value: item, key: `${idx} - ${item}` }, item)))));
161
164
  }
162
165
  }, [directoryList, selectPath]);
163
- if (isOpenDialog) {
164
- return (react_1.default.createElement("div", { className: file_dialog_module_less_1.default.file_dialog_wrapper },
165
- react_1.default.createElement("div", { className: file_dialog_module_less_1.default.file_dialog_directory_title }, options.title || (0, ide_core_browser_1.localize)('dialog.file.openLabel')),
166
- react_1.default.createElement("div", { className: file_dialog_module_less_1.default.file_dialog_directory }, renderDirectorySelection()),
167
- react_1.default.createElement("div", { className: file_dialog_module_less_1.default.file_dialog_content, ref: wrapperRef }, renderDialogTree()),
168
- react_1.default.createElement("div", { className: file_dialog_module_less_1.default.file_dialog_buttons },
169
- react_1.default.createElement(ide_components_1.Button, { onClick: () => close(), type: 'secondary', className: file_dialog_module_less_1.default.button }, (0, ide_core_browser_1.localize)('dialog.file.close')),
170
- react_1.default.createElement(ide_components_1.Button, { onClick: () => hide(), type: 'primary', className: file_dialog_module_less_1.default.button }, options.openLabel || (0, ide_core_browser_1.localize)('dialog.file.ok')))));
171
- }
172
- else {
173
- return (react_1.default.createElement("div", { className: file_dialog_module_less_1.default.file_dialog_wrapper },
174
- react_1.default.createElement("div", { className: file_dialog_module_less_1.default.file_dialog_directory_title }, options.saveLabel || (0, ide_core_browser_1.localize)('dialog.file.saveLabel')),
175
- react_1.default.createElement("div", { className: file_dialog_module_less_1.default.file_dialog_directory }, renderDirectorySelection()),
176
- react_1.default.createElement("div", { className: file_dialog_module_less_1.default.file_dialog_content }, renderDialogTree()),
177
- options.showNameInput && (react_1.default.createElement("div", { className: file_dialog_module_less_1.default.file_dialog_file_container },
178
- react_1.default.createElement("span", { className: file_dialog_module_less_1.default.file_dialog_file_name },
179
- (0, ide_core_browser_1.localize)('dialog.file.name'),
180
- ": "),
181
- react_1.default.createElement(ide_components_1.Input, { size: 'small', value: fileName, autoFocus: true, selection: { start: 0, end: fileName.indexOf('.') || fileName.length }, onChange: (event) => setFileName(event.target.value) }))),
182
- react_1.default.createElement("div", { className: file_dialog_module_less_1.default.file_dialog_buttons },
183
- react_1.default.createElement(ide_components_1.Button, { onClick: () => close(), type: 'secondary', className: file_dialog_module_less_1.default.button }, (0, ide_core_browser_1.localize)('dialog.file.close')),
184
- react_1.default.createElement(ide_components_1.Button, { onClick: () => hide(), type: 'primary', className: file_dialog_module_less_1.default.button, disabled: options.showNameInput && fileName.length === 0 ? true : false }, (0, ide_core_browser_1.localize)('dialog.file.ok')))));
185
- }
166
+ const handleKeyUp = (0, react_1.useCallback)((event) => {
167
+ const { key } = ide_core_browser_1.KeyCode.createKeyCode(event);
168
+ const hasModifyKey = event.shiftKey || event.metaKey || event.altKey || event.ctrlKey;
169
+ if (key && ide_core_browser_1.Key.ENTER.keyCode === key.keyCode && !hasModifyKey) {
170
+ ensure();
171
+ }
172
+ }, [ensure]);
173
+ (0, react_1.useEffect)(() => {
174
+ var _a;
175
+ if (wrapperRef.current) {
176
+ fileService.initContextKey(wrapperRef.current);
177
+ fileService.contextKey.fileDialogViewVisibleContext.set(true);
178
+ (_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener('keyup', handleKeyUp);
179
+ }
180
+ return () => {
181
+ var _a;
182
+ (_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('keyup', handleKeyUp);
183
+ };
184
+ }, []);
185
+ const DialogContent = (0, react_1.useMemo)(() => (react_1.default.createElement(react_1.default.Fragment, null,
186
+ react_1.default.createElement("div", { className: file_dialog_module_less_1.default.file_dialog_directory }, renderDirectorySelection()),
187
+ react_1.default.createElement("div", { className: file_dialog_module_less_1.default.file_dialog_content }, renderDialogTree()))), [renderDirectorySelection, renderDialogTree]);
188
+ const DialogButtons = (0, react_1.useMemo)(() => (react_1.default.createElement("div", { className: file_dialog_module_less_1.default.file_dialog_buttons },
189
+ react_1.default.createElement(ide_components_1.Button, { onClick: close, type: 'secondary', className: file_dialog_module_less_1.default.button }, (0, ide_core_browser_1.localize)('dialog.file.close')),
190
+ react_1.default.createElement(ide_components_1.Button, { onClick: ensure, type: 'primary', className: file_dialog_module_less_1.default.button, disabled: isSaveDialog && options.showNameInput && fileName.length === 0 }, isOpenDialog
191
+ ? options.openLabel || (0, ide_core_browser_1.localize)('dialog.file.ok')
192
+ : (0, ide_core_browser_1.localize)('dialog.file.ok')))), [close, ensure, isSaveDialog, isOpenDialog, fileName, options]);
193
+ return (react_1.default.createElement("div", { className: file_dialog_module_less_1.default.file_dialog_wrapper, ref: wrapperRef },
194
+ react_1.default.createElement("div", { className: file_dialog_module_less_1.default.file_dialog_directory_title }, isOpenDialog
195
+ ? options.title || (0, ide_core_browser_1.localize)('dialog.file.openLabel')
196
+ : options.saveLabel || (0, ide_core_browser_1.localize)('dialog.file.saveLabel')),
197
+ DialogContent,
198
+ !isOpenDialog && options.showNameInput && (react_1.default.createElement("div", { className: file_dialog_module_less_1.default.file_dialog_file_container },
199
+ react_1.default.createElement("span", { className: file_dialog_module_less_1.default.file_dialog_file_name },
200
+ (0, ide_core_browser_1.localize)('dialog.file.name'),
201
+ ": "),
202
+ react_1.default.createElement(ide_components_1.Input, { size: 'small', value: fileName, autoFocus: true, selection: { start: 0, end: fileName.indexOf('.') || fileName.length }, onChange: (event) => setFileName(event.target.value) }))),
203
+ DialogButtons));
186
204
  };
187
205
  exports.FileDialog = FileDialog;
188
206
  //# sourceMappingURL=file-dialog.view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-dialog.view.js","sourceRoot":"","sources":["../../../src/browser/dialog/file-dialog.view.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-dialog.view.js","sourceRoot":"","sources":["../../../src/browser/dialog/file-dialog.view.tsx"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export declare class WindowDialogServiceImpl implements IWindowDialogService {
9
9
  private recentGlobalStorage;
10
10
  private _whenReady;
11
11
  private _defaultUri;
12
+ private idx;
12
13
  constructor();
13
14
  init(): Promise<void>;
14
15
  get defaultUri(): URI;
@@ -1 +1 @@
1
- {"version":3,"file":"window-dialog.service.d.ts","sourceRoot":"","sources":["../../../src/browser/dialog/window-dialog.service.tsx"],"names":[],"mappings":"AAGA,OAAO,EAML,GAAG,EAGJ,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAkB,kBAAkB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAOrH,qBACa,uBAAwB,YAAW,oBAAoB;IAElE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IAGpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAG/C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;IAGvD,OAAO,CAAC,eAAe,CAAkB;IAGzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IAEtC,OAAO,CAAC,mBAAmB,CAAW;IAEtC,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,WAAW,CAAM;;IAMnB,IAAI;IAWV,IAAI,UAAU,QAEb;IAED,IAAI,SAAS,kBAEZ;YAEa,sBAAsB;IAM9B,cAAc,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IA8E5E,cAAc,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;CAgDjF"}
1
+ {"version":3,"file":"window-dialog.service.d.ts","sourceRoot":"","sources":["../../../src/browser/dialog/window-dialog.service.tsx"],"names":[],"mappings":"AAGA,OAAO,EAML,GAAG,EAGJ,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAkB,kBAAkB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAOrH,qBACa,uBAAwB,YAAW,oBAAoB;IAElE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IAGpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAG/C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;IAGvD,OAAO,CAAC,eAAe,CAAkB;IAGzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IAEtC,OAAO,CAAC,mBAAmB,CAAW;IAEtC,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,GAAG,CAAK;;IAMV,IAAI;IAWV,IAAI,UAAU,QAEb;IAED,IAAI,SAAS,kBAEZ;YAEa,sBAAsB;IAM9B,cAAc,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IAuF5E,cAAc,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;CAwDjF"}
@@ -14,6 +14,7 @@ const file_dialog_service_1 = require("./file-dialog.service");
14
14
  const file_dialog_view_1 = require("./file-dialog.view");
15
15
  let WindowDialogServiceImpl = class WindowDialogServiceImpl {
16
16
  constructor() {
17
+ this.idx = 1;
17
18
  this._whenReady = this.init();
18
19
  }
19
20
  async init() {
@@ -39,6 +40,7 @@ let WindowDialogServiceImpl = class WindowDialogServiceImpl {
39
40
  }
40
41
  // https://code.visualstudio.com/api/references/vscode-api#OpenDialogOptions
41
42
  async showOpenDialog(options = {}) {
43
+ this.dialogService.reset();
42
44
  await this.whenReady;
43
45
  const defaultOptions = {
44
46
  canSelectFiles: true,
@@ -91,7 +93,7 @@ let WindowDialogServiceImpl = class WindowDialogServiceImpl {
91
93
  await fileTreeDialogService.whenReady;
92
94
  const model = file_dialog_model_service_1.FileTreeDialogModel.createModel(this.injector, fileTreeDialogService);
93
95
  const res = await this.dialogService.open({
94
- message: react_1.default.createElement(file_dialog_view_1.FileDialog, { model: model, options: { ...defaultOptions, ...options }, isOpenDialog: true }),
96
+ message: (react_1.default.createElement(file_dialog_view_1.FileDialog, { key: this.idx++, fileService: fileTreeDialogService, model: model, options: { ...defaultOptions, ...options }, isOpenDialog: true })),
95
97
  type: ide_core_browser_1.MessageType.Empty,
96
98
  buttons: [],
97
99
  closable: true,
@@ -143,7 +145,7 @@ let WindowDialogServiceImpl = class WindowDialogServiceImpl {
143
145
  await fileTreeDialogService.whenReady;
144
146
  const model = file_dialog_model_service_1.FileTreeDialogModel.createModel(this.injector, fileTreeDialogService);
145
147
  const res = await this.dialogService.open({
146
- message: react_1.default.createElement(file_dialog_view_1.FileDialog, { model: model, options: options, isOpenDialog: false }),
148
+ message: (react_1.default.createElement(file_dialog_view_1.FileDialog, { key: this.idx++, fileService: fileTreeDialogService, model: model, options: options, isOpenDialog: false })),
147
149
  type: ide_core_browser_1.MessageType.Empty,
148
150
  buttons: [],
149
151
  closable: true,
@@ -1 +1 @@
1
- {"version":3,"file":"window-dialog.service.js","sourceRoot":"","sources":["../../../src/browser/dialog/window-dialog.service.tsx"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAE1B,qCAA+E;AAC/E,iEASoC;AACpC,qEAAgF;AAChF,iEAAgE;AAChE,uDAAqH;AAErH,2EAAkE;AAClE,gGAA+C;AAC/C,+DAA8D;AAC9D,yDAAgD;AAGzC,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAqBlC;QACE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,mBAAmB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,oCAAiB,CAAC,kBAAkB,CAAC,CAAC;QAC5F,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAS,2BAA2B,CAAC,CAAC;QAC9F,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,CAAC;YACnE,IAAI,CAAC,WAAW,GAAG,IAAI,sBAAG,CAAC,QAAS,CAAC,GAAG,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,GAAG,IAAI,sBAAG,CAAC,aAAa,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,GAAQ;QAC3C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,2BAA2B,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;IACzB,CAAC;IAED,4EAA4E;IAC5E,KAAK,CAAC,cAAc,CAAC,UAA8B,EAAE;QACnD,MAAM,IAAI,CAAC,SAAS,CAAC;QACrB,MAAM,cAAc,GAAuB;YACzC,cAAc,EAAE,IAAI;YACpB,gBAAgB,EAAE,KAAK;YACvB,aAAa,EAAE,KAAK;SACrB,CAAC;QACF,IAAI,IAAI,CAAC,SAAS,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YAClE,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iCAAsB,CAA2B,CAAC;YACvF,MAAM,UAAU,GASZ,EAAE,CAAC;YACP,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC3B,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC9B,CAAC;YACD,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC7B,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACnC,CAAC;YACD,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC1B,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACrC,CAAC;YAED,IAAI,8BAAW,EAAE,CAAC;gBAChB,kFAAkF;gBAClF,UAAU,CAAC,IAAI,CAAC,yBAAyB,EAAE,iBAAiB,CAAC,CAAC;YAChE,CAAC;YACD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC;YACzD,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,8BAAW,CAAC,eAAe,EAAE;gBACvE,WAAW,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM;gBACtC,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,WAAW,EAAE,OAAO,CAAC,SAAS;gBAC9B,UAAU;aACX,CAAC,CAAC;YACH,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,sBAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1C,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC7C,OAAO,KAAK,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBACxB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACvC,CAAC;YACD,IAAI,qBAA4C,CAAC;YACjD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,2CAAqB,EAAE,CAAC,OAAO,CAAC,UAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACrG,CAAC;iBAAM,CAAC;gBACN,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,2CAAqB,CAAC,CAAC;YACnE,CAAC;YACD,MAAM,qBAAqB,CAAC,SAAS,CAAC;YACtC,MAAM,KAAK,GAAG,+CAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;YACpF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAW;gBAClD,OAAO,EAAE,8BAAC,6BAAU,IAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,EAAE,EAAE,YAAY,EAAE,IAAI,GAAI;gBACrG,IAAI,EAAE,8BAAW,CAAC,KAAK;gBACvB,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,EAAE,SAAS,EAAE,iCAAM,CAAC,mBAAmB,EAAE;aACjD,CAAC,CAAC;YACH,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,sBAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1C,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC7C,OAAO,KAAK,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,KAAK,CAAC,cAAc,CAAC,UAA8B,EAAE;QACnD,MAAM,IAAI,CAAC,SAAS,CAAC;QACrB,IAAI,IAAI,CAAC,SAAS,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YAClE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC;YACzD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iCAAsB,CAA2B,CAAC;YACvF,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,8BAAW,CAAC,eAAe,EAAE;gBACvE,WAAW,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM;gBAC7E,KAAK,EAAE,OAAO,CAAC,SAAS;gBACxB,OAAO,EAAE,OAAO,CAAC,SAAS;aAC3B,CAAC,CAAC;YACH,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,IAAI,GAAG,sBAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC3B,2BAA2B;gBAC3B,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACzC,OAAO,IAAI,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBACxB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACvC,CAAC;YACD,IAAI,qBAA4C,CAAC;YACjD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,2CAAqB,EAAE,CAAC,OAAO,CAAC,UAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACrG,CAAC;iBAAM,CAAC;gBACN,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,2CAAqB,CAAC,CAAC;YACnE,CAAC;YACD,MAAM,qBAAqB,CAAC,SAAS,CAAC;YACtC,MAAM,KAAK,GAAG,+CAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;YACpF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAW;gBAClD,OAAO,EAAE,8BAAC,6BAAU,IAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,GAAI;gBAC5E,IAAI,EAAE,8BAAW,CAAC,KAAK;gBACvB,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,EAAE,SAAS,EAAE,iCAAM,CAAC,mBAAmB,EAAE;aACjD,CAAC,CAAC;YACH,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,GAAG,sBAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9B,2BAA2B;gBAC3B,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACzC,OAAO,IAAI,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAA;AAhLY,0DAAuB;AAEjB;IADhB,IAAA,cAAS,EAAC,mBAAc,CAAC;sCACC,aAAQ;yDAAC;AAGnB;IADhB,IAAA,cAAS,EAAC,4BAAc,CAAC;;8DACqB;AAG9B;IADhB,IAAA,cAAS,EAAC,qCAAkB,CAAC;;kEACyB;AAG/C;IADP,IAAA,cAAS,EAAC,kCAAe,CAAC;;gEACc;AAGxB;IADhB,IAAA,cAAS,EAAC,4BAAS,CAAC;;0DACiB;kCAd3B,uBAAuB;IADnC,IAAA,eAAU,GAAE;;GACA,uBAAuB,CAgLnC"}
1
+ {"version":3,"file":"window-dialog.service.js","sourceRoot":"","sources":["../../../src/browser/dialog/window-dialog.service.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensumi/ide-file-tree-next",
3
- "version": "3.5.1-next-1733469232.0",
3
+ "version": "3.6.1-next-1733711618.0",
4
4
  "files": [
5
5
  "lib",
6
6
  "src"
@@ -17,23 +17,23 @@
17
17
  "url": "git@github.com:opensumi/core.git"
18
18
  },
19
19
  "dependencies": {
20
- "@opensumi/ide-core-node": "3.5.1-next-1733469232.0",
21
- "@opensumi/ide-file-service": "3.5.1-next-1733469232.0"
20
+ "@opensumi/ide-core-node": "3.6.1-next-1733711618.0",
21
+ "@opensumi/ide-file-service": "3.6.1-next-1733711618.0"
22
22
  },
23
23
  "devDependencies": {
24
- "@opensumi/ide-components": "3.5.1-next-1733469232.0",
25
- "@opensumi/ide-core-browser": "3.5.1-next-1733469232.0",
26
- "@opensumi/ide-core-common": "3.5.1-next-1733469232.0",
27
- "@opensumi/ide-decoration": "3.5.1-next-1733469232.0",
28
- "@opensumi/ide-dev-tool": "3.5.1-next-1733469232.0",
29
- "@opensumi/ide-editor": "3.5.1-next-1733469232.0",
30
- "@opensumi/ide-explorer": "3.5.1-next-1733469232.0",
31
- "@opensumi/ide-main-layout": "3.5.1-next-1733469232.0",
32
- "@opensumi/ide-overlay": "3.5.1-next-1733469232.0",
33
- "@opensumi/ide-terminal-next": "3.5.1-next-1733469232.0",
34
- "@opensumi/ide-theme": "3.5.1-next-1733469232.0",
35
- "@opensumi/ide-workspace": "3.5.1-next-1733469232.0",
36
- "@opensumi/ide-workspace-edit": "3.5.1-next-1733469232.0"
24
+ "@opensumi/ide-components": "3.6.1-next-1733711618.0",
25
+ "@opensumi/ide-core-browser": "3.6.1-next-1733711618.0",
26
+ "@opensumi/ide-core-common": "3.6.1-next-1733711618.0",
27
+ "@opensumi/ide-decoration": "3.6.1-next-1733711618.0",
28
+ "@opensumi/ide-dev-tool": "3.6.1-next-1733711618.0",
29
+ "@opensumi/ide-editor": "3.6.1-next-1733711618.0",
30
+ "@opensumi/ide-explorer": "3.6.1-next-1733711618.0",
31
+ "@opensumi/ide-main-layout": "3.6.1-next-1733711618.0",
32
+ "@opensumi/ide-overlay": "3.6.1-next-1733711618.0",
33
+ "@opensumi/ide-terminal-next": "3.6.1-next-1733711618.0",
34
+ "@opensumi/ide-theme": "3.6.1-next-1733711618.0",
35
+ "@opensumi/ide-workspace": "3.6.1-next-1733711618.0",
36
+ "@opensumi/ide-workspace-edit": "3.6.1-next-1733711618.0"
37
37
  },
38
- "gitHead": "984bdc6ce8916ae28d7f6ffb3003e9ab8f40963b"
38
+ "gitHead": "4dc6a9f13d56a9e06bd7b97e70127902d485be1a"
39
39
  }
@@ -24,7 +24,7 @@ export interface IParseStore {
24
24
  }
25
25
 
26
26
  export interface IFileTreeHandle extends IRecycleTreeHandle {
27
- hasDirectFocus: () => boolean;
27
+ hasDirectFocus?: () => boolean;
28
28
  }
29
29
 
30
30
  export interface FileTreeValidateMessage extends PromptValidateMessage {
@@ -0,0 +1,21 @@
1
+ import { Autowired, Injectable } from '@opensumi/di';
2
+ import { IContextKey, IContextKeyService } from '@opensumi/ide-core-browser';
3
+ import { FileDialogViewVisibleContext } from '@opensumi/ide-core-browser/lib/contextkey';
4
+
5
+ @Injectable()
6
+ export class FileDialogContextKey {
7
+ @Autowired(IContextKeyService)
8
+ private readonly globalContextKeyService: IContextKeyService;
9
+
10
+ public fileDialogViewVisibleContext: IContextKey<boolean>;
11
+ private _contextKeyService: IContextKeyService;
12
+
13
+ initScopedContext(dom: HTMLDivElement) {
14
+ this._contextKeyService = this.globalContextKeyService.createScoped(dom);
15
+ this.fileDialogViewVisibleContext = FileDialogViewVisibleContext.bind(this._contextKeyService);
16
+ }
17
+
18
+ get service() {
19
+ return this._contextKeyService;
20
+ }
21
+ }
@@ -67,9 +67,17 @@
67
67
  }
68
68
 
69
69
  .file_dialog_wrapper {
70
- :global(.kt-dialog-closex) {
71
- position: absolute;
72
- right: 24px;
73
- top: 24px;
70
+ :global {
71
+ .kt-modal-close-x {
72
+ margin: 10px 18px 0 0;
73
+ width: 12px;
74
+ height: 12px;
75
+ line-height: 20px;
76
+ color: var(--kt-notificationsCloseIcon-foreground);
77
+ }
78
+
79
+ .kt-modal-body {
80
+ padding-bottom: 8px;
81
+ }
74
82
  }
75
83
  }
@@ -8,6 +8,8 @@ import { IWorkspaceService } from '@opensumi/ide-workspace';
8
8
  import { IFileTreeAPI } from '../../common';
9
9
  import { Directory } from '../../common/file-tree-node.define';
10
10
 
11
+ import { FileDialogContextKey } from './file-dialog.contextkey';
12
+
11
13
  @Injectable({ multiple: true })
12
14
  export class FileTreeDialogService extends Tree {
13
15
  @Autowired(IFileTreeAPI)
@@ -19,6 +21,9 @@ export class FileTreeDialogService extends Tree {
19
21
  @Autowired(LabelService)
20
22
  public labelService: LabelService;
21
23
 
24
+ @Autowired(FileDialogContextKey)
25
+ private fileDialogContextKey: FileDialogContextKey;
26
+
22
27
  private workspaceRoot: FileStat;
23
28
 
24
29
  public _whenReady: Promise<void>;
@@ -111,6 +116,17 @@ export class FileTreeDialogService extends Tree {
111
116
  return a.type === TreeNodeType.CompositeTreeNode ? -1 : b.type === TreeNodeType.CompositeTreeNode ? 1 : 0;
112
117
  }
113
118
 
119
+ initContextKey(dom: HTMLDivElement) {
120
+ if (!dom) {
121
+ return;
122
+ }
123
+ this.fileDialogContextKey.initScopedContext(dom);
124
+ }
125
+
126
+ get contextKey() {
127
+ return this.fileDialogContextKey;
128
+ }
129
+
114
130
  dispose() {
115
131
  super.dispose();
116
132
  }
@@ -1,4 +1,4 @@
1
- import React, { useCallback, useEffect, useRef, useState } from 'react';
1
+ import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
2
2
 
3
3
  import {
4
4
  Button,
@@ -10,7 +10,7 @@ import {
10
10
  Select,
11
11
  TreeNodeType,
12
12
  } from '@opensumi/ide-components';
13
- import { URI, isMacintosh, localize, path, useInjectable } from '@opensumi/ide-core-browser';
13
+ import { Key, KeyCode, URI, isMacintosh, localize, path, useInjectable } from '@opensumi/ide-core-browser';
14
14
  import { Progress } from '@opensumi/ide-core-browser/lib/progress/progress-bar';
15
15
  import { IDialogService, IOpenDialogOptions, ISaveDialogOptions } from '@opensumi/ide-overlay';
16
16
 
@@ -19,19 +19,26 @@ import { Directory, File } from '../../common/file-tree-node.define';
19
19
  import { FileTreeDialogModel } from './file-dialog-model.service';
20
20
  import { FileTreeDialogNode } from './file-dialog-node';
21
21
  import styles from './file-dialog.module.less';
22
+ import { FileTreeDialogService } from './file-dialog.service';
22
23
 
23
24
  export interface IFileDialogProps {
24
25
  options: ISaveDialogOptions | IOpenDialogOptions;
25
26
  model: FileTreeDialogModel;
27
+ fileService: FileTreeDialogService;
26
28
  isOpenDialog: boolean;
27
29
  }
28
30
 
29
31
  export const FILE_TREE_DIALOG_HEIGHT = 22;
30
32
 
31
- export const FileDialog = ({ options, model, isOpenDialog }: React.PropsWithChildren<IFileDialogProps>) => {
33
+ export const FileDialog = ({
34
+ options,
35
+ model,
36
+ isOpenDialog,
37
+ fileService,
38
+ }: React.PropsWithChildren<IFileDialogProps>) => {
32
39
  const dialogService = useInjectable<IDialogService>(IDialogService);
33
40
  const wrapperRef = useRef<HTMLDivElement | null>(null);
34
- const [fileName, setFileName] = useState<string>('');
41
+ const [fileName, setFileName] = useState<string>((options as ISaveDialogOptions).defaultFileName || '');
35
42
  const [isReady, setIsReady] = useState<boolean>(false);
36
43
  const [selectPath, setSelectPath] = useState<string>('');
37
44
  const [directoryList, setDirectoryList] = useState<string[]>([]);
@@ -40,6 +47,7 @@ export const FileDialog = ({ options, model, isOpenDialog }: React.PropsWithChil
40
47
  if (model) {
41
48
  setIsReady(false);
42
49
  ensureIsReady();
50
+ fileService.contextKey.fileDialogViewVisibleContext?.set(true);
43
51
  }
44
52
  return () => {
45
53
  model.dispose();
@@ -59,7 +67,7 @@ export const FileDialog = ({ options, model, isOpenDialog }: React.PropsWithChil
59
67
  }
60
68
  }, [isReady]);
61
69
 
62
- const hide = useCallback(() => {
70
+ const ensure = useCallback(() => {
63
71
  const value: string[] = model.selectedFiles.map((file) => file.uri.path.toString());
64
72
  // 如果有文件名的,说明肯定是保存文件的情况
65
73
  if (fileName && (options as ISaveDialogOptions).showNameInput && (value?.length === 1 || options.defaultUri)) {
@@ -77,11 +85,13 @@ export const FileDialog = ({ options, model, isOpenDialog }: React.PropsWithChil
77
85
  }
78
86
  }
79
87
  setIsReady(false);
88
+ fileService.contextKey.fileDialogViewVisibleContext.set(false);
80
89
  }, [isReady, dialogService, model, fileName, options]);
81
90
 
82
91
  const close = useCallback(() => {
83
92
  setIsReady(false);
84
93
  dialogService.hide();
94
+ fileService.contextKey.fileDialogViewVisibleContext.set(false);
85
95
  }, [isReady, dialogService]);
86
96
 
87
97
  const ensureIsReady = useCallback(async () => {
@@ -100,7 +110,6 @@ export const FileDialog = ({ options, model, isOpenDialog }: React.PropsWithChil
100
110
  model.handleTreeHandler({
101
111
  ...handle,
102
112
  getModel: () => model.treeModel,
103
- hasDirectFocus: () => wrapperRef.current === document.activeElement,
104
113
  });
105
114
  },
106
115
  [model],
@@ -232,58 +241,83 @@ export const FileDialog = ({ options, model, isOpenDialog }: React.PropsWithChil
232
241
  }
233
242
  }, [directoryList, selectPath]);
234
243
 
235
- if (isOpenDialog) {
236
- return (
237
- <div className={styles.file_dialog_wrapper}>
238
- <div className={styles.file_dialog_directory_title}>{options.title || localize('dialog.file.openLabel')}</div>
239
- <div className={styles.file_dialog_directory}>{renderDirectorySelection()}</div>
240
- <div className={styles.file_dialog_content} ref={wrapperRef}>
241
- {renderDialogTree()}
242
- </div>
243
- <div className={styles.file_dialog_buttons}>
244
- <Button onClick={() => close()} type='secondary' className={styles.button}>
245
- {localize('dialog.file.close')}
246
- </Button>
247
- <Button onClick={() => hide()} type='primary' className={styles.button}>
248
- {(options as IOpenDialogOptions).openLabel || localize('dialog.file.ok')}
249
- </Button>
250
- </div>
251
- </div>
252
- );
253
- } else {
254
- return (
255
- <div className={styles.file_dialog_wrapper}>
256
- <div className={styles.file_dialog_directory_title}>
257
- {(options as ISaveDialogOptions).saveLabel || localize('dialog.file.saveLabel')}
258
- </div>
244
+ const handleKeyUp = useCallback(
245
+ (event: KeyboardEvent) => {
246
+ const { key } = KeyCode.createKeyCode(event);
247
+ const hasModifyKey = event.shiftKey || event.metaKey || event.altKey || event.ctrlKey;
248
+ if (key && Key.ENTER.keyCode === key.keyCode && !hasModifyKey) {
249
+ ensure();
250
+ }
251
+ },
252
+ [ensure],
253
+ );
254
+
255
+ useEffect(() => {
256
+ if (wrapperRef.current) {
257
+ fileService.initContextKey(wrapperRef.current);
258
+ fileService.contextKey.fileDialogViewVisibleContext.set(true);
259
+ wrapperRef.current?.addEventListener('keyup', handleKeyUp);
260
+ }
261
+ return () => {
262
+ wrapperRef.current?.removeEventListener('keyup', handleKeyUp);
263
+ };
264
+ }, []);
265
+
266
+ const DialogContent = useMemo(
267
+ () => (
268
+ <>
259
269
  <div className={styles.file_dialog_directory}>{renderDirectorySelection()}</div>
260
270
  <div className={styles.file_dialog_content}>{renderDialogTree()}</div>
261
- {(options as ISaveDialogOptions).showNameInput && (
262
- <div className={styles.file_dialog_file_container}>
263
- <span className={styles.file_dialog_file_name}>{localize('dialog.file.name')}: </span>
264
- <Input
265
- size='small'
266
- value={fileName}
267
- autoFocus={true}
268
- selection={{ start: 0, end: fileName.indexOf('.') || fileName.length }}
269
- onChange={(event) => setFileName(event.target.value)}
270
- ></Input>
271
- </div>
272
- )}
273
- <div className={styles.file_dialog_buttons}>
274
- <Button onClick={() => close()} type='secondary' className={styles.button}>
275
- {localize('dialog.file.close')}
276
- </Button>
277
- <Button
278
- onClick={() => hide()}
279
- type='primary'
280
- className={styles.button}
281
- disabled={(options as ISaveDialogOptions).showNameInput && fileName.length === 0 ? true : false}
282
- >
283
- {localize('dialog.file.ok')}
284
- </Button>
285
- </div>
271
+ </>
272
+ ),
273
+ [renderDirectorySelection, renderDialogTree],
274
+ );
275
+
276
+ const DialogButtons = useMemo(
277
+ () => (
278
+ <div className={styles.file_dialog_buttons}>
279
+ <Button onClick={close} type='secondary' className={styles.button}>
280
+ {localize('dialog.file.close')}
281
+ </Button>
282
+ <Button
283
+ onClick={ensure}
284
+ type='primary'
285
+ className={styles.button}
286
+ disabled={isSaveDialog && (options as ISaveDialogOptions).showNameInput && fileName.length === 0}
287
+ >
288
+ {isOpenDialog
289
+ ? (options as IOpenDialogOptions).openLabel || localize('dialog.file.ok')
290
+ : localize('dialog.file.ok')}
291
+ </Button>
292
+ </div>
293
+ ),
294
+ [close, ensure, isSaveDialog, isOpenDialog, fileName, options],
295
+ );
296
+
297
+ return (
298
+ <div className={styles.file_dialog_wrapper} ref={wrapperRef}>
299
+ <div className={styles.file_dialog_directory_title}>
300
+ {isOpenDialog
301
+ ? options.title || localize('dialog.file.openLabel')
302
+ : (options as ISaveDialogOptions).saveLabel || localize('dialog.file.saveLabel')}
286
303
  </div>
287
- );
288
- }
304
+
305
+ {DialogContent}
306
+
307
+ {!isOpenDialog && (options as ISaveDialogOptions).showNameInput && (
308
+ <div className={styles.file_dialog_file_container}>
309
+ <span className={styles.file_dialog_file_name}>{localize('dialog.file.name')}: </span>
310
+ <Input
311
+ size='small'
312
+ value={fileName}
313
+ autoFocus={true}
314
+ selection={{ start: 0, end: fileName.indexOf('.') || fileName.length }}
315
+ onChange={(event) => setFileName(event.target.value)}
316
+ />
317
+ </div>
318
+ )}
319
+
320
+ {DialogButtons}
321
+ </div>
322
+ );
289
323
  };
@@ -41,6 +41,7 @@ export class WindowDialogServiceImpl implements IWindowDialogService {
41
41
 
42
42
  private _whenReady: Promise<void>;
43
43
  private _defaultUri: URI;
44
+ private idx = 1;
44
45
 
45
46
  constructor() {
46
47
  this._whenReady = this.init();
@@ -72,6 +73,7 @@ export class WindowDialogServiceImpl implements IWindowDialogService {
72
73
 
73
74
  // https://code.visualstudio.com/api/references/vscode-api#OpenDialogOptions
74
75
  async showOpenDialog(options: IOpenDialogOptions = {}): Promise<URI[] | undefined> {
76
+ this.dialogService.reset();
75
77
  await this.whenReady;
76
78
  const defaultOptions: IOpenDialogOptions = {
77
79
  canSelectFiles: true,
@@ -131,7 +133,15 @@ export class WindowDialogServiceImpl implements IWindowDialogService {
131
133
  await fileTreeDialogService.whenReady;
132
134
  const model = FileTreeDialogModel.createModel(this.injector, fileTreeDialogService);
133
135
  const res = await this.dialogService.open<string[]>({
134
- message: <FileDialog model={model} options={{ ...defaultOptions, ...options }} isOpenDialog={true} />,
136
+ message: (
137
+ <FileDialog
138
+ key={this.idx++}
139
+ fileService={fileTreeDialogService}
140
+ model={model}
141
+ options={{ ...defaultOptions, ...options }}
142
+ isOpenDialog={true}
143
+ />
144
+ ),
135
145
  type: MessageType.Empty,
136
146
  buttons: [],
137
147
  closable: true,
@@ -180,7 +190,15 @@ export class WindowDialogServiceImpl implements IWindowDialogService {
180
190
  await fileTreeDialogService.whenReady;
181
191
  const model = FileTreeDialogModel.createModel(this.injector, fileTreeDialogService);
182
192
  const res = await this.dialogService.open<string[]>({
183
- message: <FileDialog model={model} options={options} isOpenDialog={false} />,
193
+ message: (
194
+ <FileDialog
195
+ key={this.idx++}
196
+ fileService={fileTreeDialogService}
197
+ model={model}
198
+ options={options}
199
+ isOpenDialog={false}
200
+ />
201
+ ),
184
202
  type: MessageType.Empty,
185
203
  buttons: [],
186
204
  closable: true,