@theia/navigator 1.67.0-next.56 → 1.67.0-next.86

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 (121) hide show
  1. package/lib/browser/abstract-navigator-tree-widget.d.ts +11 -0
  2. package/lib/browser/abstract-navigator-tree-widget.d.ts.map +1 -0
  3. package/lib/browser/abstract-navigator-tree-widget.js +62 -0
  4. package/lib/browser/abstract-navigator-tree-widget.js.map +1 -0
  5. package/lib/browser/file-navigator-commands.d.ts +19 -0
  6. package/lib/browser/file-navigator-commands.d.ts.map +1 -0
  7. package/lib/browser/file-navigator-commands.js +76 -0
  8. package/lib/browser/file-navigator-commands.js.map +1 -0
  9. package/lib/browser/index.d.ts +5 -0
  10. package/lib/browser/index.d.ts.map +1 -0
  11. package/lib/browser/index.js +23 -0
  12. package/lib/browser/index.js.map +1 -0
  13. package/lib/browser/navigator-container.d.ts +7 -0
  14. package/lib/browser/navigator-container.d.ts.map +1 -0
  15. package/lib/browser/navigator-container.js +48 -0
  16. package/lib/browser/navigator-container.js.map +1 -0
  17. package/lib/browser/navigator-context-key-service.d.ts +21 -0
  18. package/lib/browser/navigator-context-key-service.d.ts.map +1 -0
  19. package/lib/browser/navigator-context-key-service.js +65 -0
  20. package/lib/browser/navigator-context-key-service.js.map +1 -0
  21. package/lib/browser/navigator-contribution.d.ts +111 -0
  22. package/lib/browser/navigator-contribution.d.ts.map +1 -0
  23. package/lib/browser/navigator-contribution.js +616 -0
  24. package/lib/browser/navigator-contribution.js.map +1 -0
  25. package/lib/browser/navigator-decorator-service.d.ts +14 -0
  26. package/lib/browser/navigator-decorator-service.d.ts.map +1 -0
  27. package/lib/browser/navigator-decorator-service.js +43 -0
  28. package/lib/browser/navigator-decorator-service.js.map +1 -0
  29. package/lib/browser/navigator-diff.d.ts +39 -0
  30. package/lib/browser/navigator-diff.d.ts.map +1 -0
  31. package/lib/browser/navigator-diff.js +131 -0
  32. package/lib/browser/navigator-diff.js.map +1 -0
  33. package/lib/browser/navigator-diff.spec.d.ts +2 -0
  34. package/lib/browser/navigator-diff.spec.d.ts.map +1 -0
  35. package/lib/browser/navigator-diff.spec.js +100 -0
  36. package/lib/browser/navigator-diff.spec.js.map +1 -0
  37. package/lib/browser/navigator-filter.d.ts +72 -0
  38. package/lib/browser/navigator-filter.d.ts.map +1 -0
  39. package/lib/browser/navigator-filter.js +130 -0
  40. package/lib/browser/navigator-filter.js.map +1 -0
  41. package/lib/browser/navigator-filter.spec.d.ts +2 -0
  42. package/lib/browser/navigator-filter.spec.d.ts.map +1 -0
  43. package/lib/browser/navigator-filter.spec.js +131 -0
  44. package/lib/browser/navigator-filter.spec.js.map +1 -0
  45. package/lib/browser/navigator-frontend-module.d.ts +6 -0
  46. package/lib/browser/navigator-frontend-module.d.ts.map +1 -0
  47. package/lib/browser/navigator-frontend-module.js +76 -0
  48. package/lib/browser/navigator-frontend-module.js.map +1 -0
  49. package/lib/browser/navigator-layout-migrations.d.ts +10 -0
  50. package/lib/browser/navigator-layout-migrations.d.ts.map +1 -0
  51. package/lib/browser/navigator-layout-migrations.js +76 -0
  52. package/lib/browser/navigator-layout-migrations.js.map +1 -0
  53. package/lib/browser/navigator-model.d.ts +44 -0
  54. package/lib/browser/navigator-model.d.ts.map +1 -0
  55. package/lib/browser/navigator-model.js +229 -0
  56. package/lib/browser/navigator-model.js.map +1 -0
  57. package/lib/browser/navigator-symlink-decorator.d.ts +14 -0
  58. package/lib/browser/navigator-symlink-decorator.d.ts.map +1 -0
  59. package/lib/browser/navigator-symlink-decorator.js +74 -0
  60. package/lib/browser/navigator-symlink-decorator.js.map +1 -0
  61. package/lib/browser/navigator-tab-bar-decorator.d.ts +17 -0
  62. package/lib/browser/navigator-tab-bar-decorator.d.ts.map +1 -0
  63. package/lib/browser/navigator-tab-bar-decorator.js +71 -0
  64. package/lib/browser/navigator-tab-bar-decorator.js.map +1 -0
  65. package/lib/browser/navigator-tree.d.ts +43 -0
  66. package/lib/browser/navigator-tree.d.ts.map +1 -0
  67. package/lib/browser/navigator-tree.js +125 -0
  68. package/lib/browser/navigator-tree.js.map +1 -0
  69. package/lib/browser/navigator-widget-factory.d.ts +13 -0
  70. package/lib/browser/navigator-widget-factory.d.ts.map +1 -0
  71. package/lib/browser/navigator-widget-factory.js +76 -0
  72. package/lib/browser/navigator-widget-factory.js.map +1 -0
  73. package/lib/browser/navigator-widget.d.ts +46 -0
  74. package/lib/browser/navigator-widget.d.ts.map +1 -0
  75. package/lib/browser/navigator-widget.js +210 -0
  76. package/lib/browser/navigator-widget.js.map +1 -0
  77. package/lib/browser/open-editors-widget/navigator-deleted-editor-decorator.d.ts +16 -0
  78. package/lib/browser/open-editors-widget/navigator-deleted-editor-decorator.d.ts.map +1 -0
  79. package/lib/browser/open-editors-widget/navigator-deleted-editor-decorator.js +105 -0
  80. package/lib/browser/open-editors-widget/navigator-deleted-editor-decorator.js.map +1 -0
  81. package/lib/browser/open-editors-widget/navigator-open-editors-commands.d.ts +8 -0
  82. package/lib/browser/open-editors-widget/navigator-open-editors-commands.d.ts.map +1 -0
  83. package/lib/browser/open-editors-widget/navigator-open-editors-commands.js +48 -0
  84. package/lib/browser/open-editors-widget/navigator-open-editors-commands.js.map +1 -0
  85. package/lib/browser/open-editors-widget/navigator-open-editors-decorator-service.d.ts +8 -0
  86. package/lib/browser/open-editors-widget/navigator-open-editors-decorator-service.d.ts.map +1 -0
  87. package/lib/browser/open-editors-widget/navigator-open-editors-decorator-service.js +37 -0
  88. package/lib/browser/open-editors-widget/navigator-open-editors-decorator-service.js.map +1 -0
  89. package/lib/browser/open-editors-widget/navigator-open-editors-menus.d.ts +10 -0
  90. package/lib/browser/open-editors-widget/navigator-open-editors-menus.d.ts.map +1 -0
  91. package/lib/browser/open-editors-widget/navigator-open-editors-menus.js +28 -0
  92. package/lib/browser/open-editors-widget/navigator-open-editors-menus.js.map +1 -0
  93. package/lib/browser/open-editors-widget/navigator-open-editors-tree-model.d.ts +39 -0
  94. package/lib/browser/open-editors-widget/navigator-open-editors-tree-model.d.ts.map +1 -0
  95. package/lib/browser/open-editors-widget/navigator-open-editors-tree-model.js +251 -0
  96. package/lib/browser/open-editors-widget/navigator-open-editors-tree-model.js.map +1 -0
  97. package/lib/browser/open-editors-widget/navigator-open-editors-widget.d.ts +46 -0
  98. package/lib/browser/open-editors-widget/navigator-open-editors-widget.d.ts.map +1 -0
  99. package/lib/browser/open-editors-widget/navigator-open-editors-widget.js +225 -0
  100. package/lib/browser/open-editors-widget/navigator-open-editors-widget.js.map +1 -0
  101. package/lib/common/navigator-preferences.d.ts +15 -0
  102. package/lib/common/navigator-preferences.d.ts.map +1 -0
  103. package/lib/common/navigator-preferences.js +58 -0
  104. package/lib/common/navigator-preferences.js.map +1 -0
  105. package/lib/electron-browser/electron-navigator-menu-contribution.d.ts +22 -0
  106. package/lib/electron-browser/electron-navigator-menu-contribution.d.ts.map +1 -0
  107. package/lib/electron-browser/electron-navigator-menu-contribution.js +120 -0
  108. package/lib/electron-browser/electron-navigator-menu-contribution.js.map +1 -0
  109. package/lib/electron-browser/electron-navigator-module.d.ts +4 -0
  110. package/lib/electron-browser/electron-navigator-module.d.ts.map +1 -0
  111. package/lib/electron-browser/electron-navigator-module.js +27 -0
  112. package/lib/electron-browser/electron-navigator-module.js.map +1 -0
  113. package/lib/node/navigator-backend-module.d.ts +4 -0
  114. package/lib/node/navigator-backend-module.d.ts.map +1 -0
  115. package/lib/node/navigator-backend-module.js +23 -0
  116. package/lib/node/navigator-backend-module.js.map +1 -0
  117. package/lib/package.spec.d.ts +1 -0
  118. package/lib/package.spec.d.ts.map +1 -0
  119. package/lib/package.spec.js +26 -0
  120. package/lib/package.spec.js.map +1 -0
  121. package/package.json +5 -5
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2021 Ericsson 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-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.NavigatorSymlinkDecorator = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const inversify_1 = require("@theia/core/shared/inversify");
21
+ const core_1 = require("@theia/core");
22
+ const browser_1 = require("@theia/core/lib/browser");
23
+ const browser_2 = require("@theia/filesystem/lib/browser");
24
+ const decorations_service_1 = require("@theia/core/lib/browser/decorations-service");
25
+ let NavigatorSymlinkDecorator = class NavigatorSymlinkDecorator {
26
+ constructor() {
27
+ this.id = 'theia-navigator-symlink-decorator';
28
+ this.onDidChangeDecorationsEmitter = new core_1.Emitter();
29
+ }
30
+ init() {
31
+ this.decorationsService.onDidChangeDecorations(() => {
32
+ this.fireDidChangeDecorations((tree) => this.collectDecorator(tree));
33
+ });
34
+ }
35
+ async decorations(tree) {
36
+ return this.collectDecorator(tree);
37
+ }
38
+ collectDecorator(tree) {
39
+ const result = new Map();
40
+ if (tree.root === undefined) {
41
+ return result;
42
+ }
43
+ for (const node of new browser_1.DepthFirstTreeIterator(tree.root)) {
44
+ if (browser_2.FileStatNode.is(node) && node.fileStat.isSymbolicLink) {
45
+ const decorations = {
46
+ tailDecorations: [{ data: '⤷', tooltip: core_1.nls.localizeByDefault('Symbolic Link') }]
47
+ };
48
+ result.set(node.id, decorations);
49
+ }
50
+ }
51
+ return result;
52
+ }
53
+ get onDidChangeDecorations() {
54
+ return this.onDidChangeDecorationsEmitter.event;
55
+ }
56
+ fireDidChangeDecorations(event) {
57
+ this.onDidChangeDecorationsEmitter.fire(event);
58
+ }
59
+ };
60
+ exports.NavigatorSymlinkDecorator = NavigatorSymlinkDecorator;
61
+ tslib_1.__decorate([
62
+ (0, inversify_1.inject)(decorations_service_1.DecorationsService),
63
+ tslib_1.__metadata("design:type", Object)
64
+ ], NavigatorSymlinkDecorator.prototype, "decorationsService", void 0);
65
+ tslib_1.__decorate([
66
+ (0, inversify_1.postConstruct)(),
67
+ tslib_1.__metadata("design:type", Function),
68
+ tslib_1.__metadata("design:paramtypes", []),
69
+ tslib_1.__metadata("design:returntype", void 0)
70
+ ], NavigatorSymlinkDecorator.prototype, "init", null);
71
+ exports.NavigatorSymlinkDecorator = NavigatorSymlinkDecorator = tslib_1.__decorate([
72
+ (0, inversify_1.injectable)()
73
+ ], NavigatorSymlinkDecorator);
74
+ //# sourceMappingURL=navigator-symlink-decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigator-symlink-decorator.js","sourceRoot":"","sources":["../../src/browser/navigator-symlink-decorator.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAAiF;AACjF,sCAAkD;AAClD,qDAAsG;AACtG,2DAA6D;AAC7D,qFAAiF;AAG1E,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAA/B;QAEM,OAAE,GAAG,mCAAmC,CAAC;QAgC/B,kCAA6B,GAAG,IAAI,cAAO,EAAoD,CAAC;IAUvH,CAAC;IApCa,IAAI;QACV,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,GAAG,EAAE;YAChD,IAAI,CAAC,wBAAwB,CAAC,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAU;QACxB,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAES,gBAAgB,CAAC,IAAU;QACjC,MAAM,MAAM,GAAG,IAAI,GAAG,EAA+B,CAAC;QACtD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,IAAI,gCAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,IAAI,sBAAY,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;gBACxD,MAAM,WAAW,GAAwB;oBACrC,eAAe,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,UAAG,CAAC,iBAAiB,CAAC,eAAe,CAAC,EAAE,CAAC;iBACpF,CAAC;gBACF,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;YACrC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAID,IAAI,sBAAsB;QACtB,OAAO,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC;IACpD,CAAC;IAED,wBAAwB,CAAC,KAAuD;QAC5E,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;CAEJ,CAAA;AA5CY,8DAAyB;AAKf;IADlB,IAAA,kBAAM,EAAC,wCAAkB,CAAC;;qEAC+B;AAGhD;IADT,IAAA,yBAAa,GAAE;;;;qDAKf;oCAZQ,yBAAyB;IADrC,IAAA,sBAAU,GAAE;GACA,yBAAyB,CA4CrC"}
@@ -0,0 +1,17 @@
1
+ import { Emitter, Event } from '@theia/core/lib/common/event';
2
+ import { TabBarDecorator } from '@theia/core/lib/browser/shell/tab-bar-decorator';
3
+ import { ApplicationShell, FrontendApplication, FrontendApplicationContribution, Title, Widget } from '@theia/core/lib/browser';
4
+ import { WidgetDecoration } from '@theia/core/lib/browser/widget-decoration';
5
+ export declare class NavigatorTabBarDecorator implements TabBarDecorator, FrontendApplicationContribution {
6
+ readonly id = "theia-navigator-tabbar-decorator";
7
+ protected applicationShell: ApplicationShell;
8
+ protected readonly emitter: Emitter<void>;
9
+ private readonly toDispose;
10
+ private readonly toDisposeOnDirtyChanged;
11
+ onStart(app: FrontendApplication): void;
12
+ decorate(title: Title<Widget>): WidgetDecoration.Data[];
13
+ protected getDirtyEditorsCount(): number;
14
+ get onDidChangeDecorations(): Event<void>;
15
+ protected fireDidChangeDecorations(): void;
16
+ }
17
+ //# sourceMappingURL=navigator-tab-bar-decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigator-tab-bar-decorator.d.ts","sourceRoot":"","sources":["../../src/browser/navigator-tab-bar-decorator.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,+BAA+B,EAAY,KAAK,EAAiB,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACzJ,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAI7E,qBACa,wBAAyB,YAAW,eAAe,EAAE,+BAA+B;IAC7F,QAAQ,CAAC,EAAE,sCAAsC;IACjD,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAE7C,SAAS,CAAC,QAAQ,CAAC,OAAO,gBAAuB;IACjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8B;IACxD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAiC;IAEzE,OAAO,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI;IAgBvC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,gBAAgB,CAAC,IAAI,EAAE;IAUvD,SAAS,CAAC,oBAAoB,IAAI,MAAM;IAIxC,IAAI,sBAAsB,IAAI,KAAK,CAAC,IAAI,CAAC,CAExC;IAED,SAAS,CAAC,wBAAwB,IAAI,IAAI;CAG7C"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2020 Ericsson 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-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.NavigatorTabBarDecorator = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const inversify_1 = require("@theia/core/shared/inversify");
21
+ const event_1 = require("@theia/core/lib/common/event");
22
+ const browser_1 = require("@theia/core/lib/browser");
23
+ const disposable_1 = require("@theia/core/lib/common/disposable");
24
+ const navigator_open_editors_widget_1 = require("./open-editors-widget/navigator-open-editors-widget");
25
+ let NavigatorTabBarDecorator = class NavigatorTabBarDecorator {
26
+ constructor() {
27
+ this.id = 'theia-navigator-tabbar-decorator';
28
+ this.emitter = new event_1.Emitter();
29
+ this.toDispose = new disposable_1.DisposableCollection();
30
+ this.toDisposeOnDirtyChanged = new Map();
31
+ }
32
+ onStart(app) {
33
+ this.applicationShell = app.shell;
34
+ if (!!this.getDirtyEditorsCount()) {
35
+ this.fireDidChangeDecorations();
36
+ }
37
+ this.toDispose.pushAll([
38
+ this.applicationShell.onDidAddWidget(widget => {
39
+ const saveable = browser_1.Saveable.get(widget);
40
+ if (saveable) {
41
+ this.toDisposeOnDirtyChanged.set(widget.id, saveable.onDirtyChanged(() => this.fireDidChangeDecorations()));
42
+ }
43
+ }),
44
+ this.applicationShell.onDidRemoveWidget(widget => { var _a; return (_a = this.toDisposeOnDirtyChanged.get(widget.id)) === null || _a === void 0 ? void 0 : _a.dispose(); })
45
+ ]);
46
+ }
47
+ decorate(title) {
48
+ const { owner } = title;
49
+ if (owner instanceof browser_1.ViewContainer && owner.getParts().find(part => part.wrapped instanceof navigator_open_editors_widget_1.OpenEditorsWidget)) {
50
+ const changes = this.getDirtyEditorsCount();
51
+ return changes > 0 ? [{ badge: changes }] : [];
52
+ }
53
+ else {
54
+ return [];
55
+ }
56
+ }
57
+ getDirtyEditorsCount() {
58
+ return this.applicationShell.widgets.filter(widget => browser_1.Saveable.isDirty(widget)).length;
59
+ }
60
+ get onDidChangeDecorations() {
61
+ return this.emitter.event;
62
+ }
63
+ fireDidChangeDecorations() {
64
+ this.emitter.fire(undefined);
65
+ }
66
+ };
67
+ exports.NavigatorTabBarDecorator = NavigatorTabBarDecorator;
68
+ exports.NavigatorTabBarDecorator = NavigatorTabBarDecorator = tslib_1.__decorate([
69
+ (0, inversify_1.injectable)()
70
+ ], NavigatorTabBarDecorator);
71
+ //# sourceMappingURL=navigator-tab-bar-decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigator-tab-bar-decorator.js","sourceRoot":"","sources":["../../src/browser/navigator-tab-bar-decorator.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAA0D;AAC1D,wDAA8D;AAE9D,qDAAyJ;AAEzJ,kEAAqF;AACrF,uGAAwF;AAGjF,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAA9B;QACM,OAAE,GAAG,kCAAkC,CAAC;QAG9B,YAAO,GAAG,IAAI,eAAO,EAAQ,CAAC;QAChC,cAAS,GAAG,IAAI,iCAAoB,EAAE,CAAC;QACvC,4BAAuB,GAAG,IAAI,GAAG,EAAsB,CAAC;IAuC7E,CAAC;IArCG,OAAO,CAAC,GAAwB;QAC5B,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAChC,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YACnB,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;gBAC1C,MAAM,QAAQ,GAAG,kBAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACtC,IAAI,QAAQ,EAAE,CAAC;oBACX,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;gBAChH,CAAC;YACL,CAAC,CAAC;YACF,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,0CAAE,OAAO,EAAE,CAAA,EAAA,CAAC;SAC5G,CAAC,CAAC;IACP,CAAC;IAED,QAAQ,CAAC,KAAoB;QACzB,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QACxB,IAAI,KAAK,YAAY,uBAAa,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,YAAY,iDAAiB,CAAC,EAAE,CAAC;YAC7G,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5C,OAAO,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,CAAC;aAAM,CAAC;YACJ,OAAO,EAAE,CAAC;QACd,CAAC;IACL,CAAC;IAES,oBAAoB;QAC1B,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,kBAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3F,CAAC;IAED,IAAI,sBAAsB;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9B,CAAC;IAES,wBAAwB;QAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;CACJ,CAAA;AA7CY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,sBAAU,GAAE;GACA,wBAAwB,CA6CpC"}
@@ -0,0 +1,43 @@
1
+ import { FileTree, DirNode } from '@theia/filesystem/lib/browser';
2
+ import { FileStat } from '@theia/filesystem/lib/common/files';
3
+ import URI from '@theia/core/lib/common/uri';
4
+ import { TreeNode, CompositeTreeNode, SelectableTreeNode, CompressionToggle } from '@theia/core/lib/browser';
5
+ import { FileNavigatorFilter } from './navigator-filter';
6
+ import { FileNavigatorPreferences } from '../common/navigator-preferences';
7
+ export declare class FileNavigatorTree extends FileTree {
8
+ protected readonly filter: FileNavigatorFilter;
9
+ protected readonly navigatorPreferences: FileNavigatorPreferences;
10
+ protected readonly compressionToggle: CompressionToggle;
11
+ protected init(): void;
12
+ protected toggleCompression(): void;
13
+ resolveChildren(parent: CompositeTreeNode): Promise<TreeNode[]>;
14
+ protected toNodeId(uri: URI, parent: CompositeTreeNode): string;
15
+ createId(root: WorkspaceRootNode, uri: URI): string;
16
+ createWorkspaceRoot(rootFolder: FileStat, workspaceNode: WorkspaceNode): Promise<WorkspaceRootNode>;
17
+ }
18
+ /**
19
+ * File tree root node for multi-root workspaces.
20
+ */
21
+ export interface WorkspaceNode extends CompositeTreeNode, SelectableTreeNode {
22
+ children: WorkspaceRootNode[];
23
+ }
24
+ export declare namespace WorkspaceNode {
25
+ const id = "WorkspaceNodeId";
26
+ const name = "WorkspaceNode";
27
+ function is(node: TreeNode | undefined): node is WorkspaceNode;
28
+ /**
29
+ * Create a `WorkspaceNode` that can be used as a `Tree` root.
30
+ */
31
+ function createRoot(multiRootName?: string): WorkspaceNode;
32
+ }
33
+ /**
34
+ * A node representing a folder from a multi-root workspace.
35
+ */
36
+ export interface WorkspaceRootNode extends DirNode {
37
+ parent: WorkspaceNode;
38
+ }
39
+ export declare namespace WorkspaceRootNode {
40
+ function is(node: unknown): node is WorkspaceRootNode;
41
+ function find(node: TreeNode | undefined): WorkspaceRootNode | undefined;
42
+ }
43
+ //# sourceMappingURL=navigator-tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigator-tree.d.ts","sourceRoot":"","sources":["../../src/browser/navigator-tree.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC7G,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAA4B,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAErG,qBACa,iBAAkB,SAAQ,QAAQ;IAEd,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IAE1C,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,wBAAwB,CAAC;IAEzE,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGnF,SAAS,CAAC,IAAI,IAAI,IAAI;IAUtB,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAKpB,eAAe,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;cAO3D,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,iBAAiB,GAAG,MAAM;IAOxE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,GAAG,MAAM;IAK7C,mBAAmB,CAAC,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAO5G;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,iBAAiB,EAAE,kBAAkB;IACxE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CACjC;AACD,yBAAiB,aAAa,CAAC;IAEpB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,MAAM,IAAI,kBAAkB,CAAC;IAEpC,SAAgB,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI,IAAI,aAAa,CAEpE;IAED;;OAEG;IACH,SAAgB,UAAU,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,aAAa,CAShE;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,OAAO;IAC9C,MAAM,EAAE,aAAa,CAAC;CACzB;AACD,yBAAiB,iBAAiB,CAAC;IAE/B,SAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,iBAAiB,CAE3D;IAED,SAAgB,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,iBAAiB,GAAG,SAAS,CAO9E;CACJ"}
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2017 TypeFox 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-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.WorkspaceRootNode = exports.WorkspaceNode = exports.FileNavigatorTree = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const inversify_1 = require("@theia/core/shared/inversify");
21
+ const browser_1 = require("@theia/filesystem/lib/browser");
22
+ const browser_2 = require("@theia/core/lib/browser");
23
+ const navigator_filter_1 = require("./navigator-filter");
24
+ const navigator_preferences_1 = require("../common/navigator-preferences");
25
+ let FileNavigatorTree = class FileNavigatorTree extends browser_1.FileTree {
26
+ init() {
27
+ this.toDispose.push(this.filter.onFilterChanged(() => this.refresh()));
28
+ this.navigatorPreferences.ready.then(() => this.toggleCompression());
29
+ this.toDispose.push(this.navigatorPreferences.onPreferenceChanged(({ preferenceName }) => {
30
+ if (preferenceName === navigator_preferences_1.EXPLORER_COMPACT_FOLDERS) {
31
+ this.toggleCompression();
32
+ }
33
+ }));
34
+ }
35
+ toggleCompression() {
36
+ this.compressionToggle.compress = this.navigatorPreferences.get(navigator_preferences_1.EXPLORER_COMPACT_FOLDERS, true);
37
+ this.refresh();
38
+ }
39
+ async resolveChildren(parent) {
40
+ if (WorkspaceNode.is(parent)) {
41
+ return parent.children;
42
+ }
43
+ return this.filter.filter(super.resolveChildren(parent));
44
+ }
45
+ toNodeId(uri, parent) {
46
+ const workspaceRootNode = WorkspaceRootNode.find(parent);
47
+ if (workspaceRootNode) {
48
+ return this.createId(workspaceRootNode, uri);
49
+ }
50
+ return super.toNodeId(uri, parent);
51
+ }
52
+ createId(root, uri) {
53
+ const id = super.toNodeId(uri, root);
54
+ return id === root.id ? id : `${root.id}:${id}`;
55
+ }
56
+ async createWorkspaceRoot(rootFolder, workspaceNode) {
57
+ const node = this.toNode(rootFolder, workspaceNode);
58
+ Object.assign(node, {
59
+ visible: workspaceNode.name !== WorkspaceNode.name,
60
+ });
61
+ return node;
62
+ }
63
+ };
64
+ exports.FileNavigatorTree = FileNavigatorTree;
65
+ tslib_1.__decorate([
66
+ (0, inversify_1.inject)(navigator_filter_1.FileNavigatorFilter),
67
+ tslib_1.__metadata("design:type", navigator_filter_1.FileNavigatorFilter)
68
+ ], FileNavigatorTree.prototype, "filter", void 0);
69
+ tslib_1.__decorate([
70
+ (0, inversify_1.inject)(navigator_preferences_1.FileNavigatorPreferences),
71
+ tslib_1.__metadata("design:type", Object)
72
+ ], FileNavigatorTree.prototype, "navigatorPreferences", void 0);
73
+ tslib_1.__decorate([
74
+ (0, inversify_1.inject)(browser_2.CompressionToggle),
75
+ tslib_1.__metadata("design:type", Object)
76
+ ], FileNavigatorTree.prototype, "compressionToggle", void 0);
77
+ tslib_1.__decorate([
78
+ (0, inversify_1.postConstruct)(),
79
+ tslib_1.__metadata("design:type", Function),
80
+ tslib_1.__metadata("design:paramtypes", []),
81
+ tslib_1.__metadata("design:returntype", void 0)
82
+ ], FileNavigatorTree.prototype, "init", null);
83
+ exports.FileNavigatorTree = FileNavigatorTree = tslib_1.__decorate([
84
+ (0, inversify_1.injectable)()
85
+ ], FileNavigatorTree);
86
+ var WorkspaceNode;
87
+ (function (WorkspaceNode) {
88
+ WorkspaceNode.id = 'WorkspaceNodeId';
89
+ WorkspaceNode.name = 'WorkspaceNode';
90
+ function is(node) {
91
+ return browser_2.CompositeTreeNode.is(node) && node.id === WorkspaceNode.id;
92
+ }
93
+ WorkspaceNode.is = is;
94
+ /**
95
+ * Create a `WorkspaceNode` that can be used as a `Tree` root.
96
+ */
97
+ function createRoot(multiRootName) {
98
+ return {
99
+ id: WorkspaceNode.id,
100
+ name: multiRootName || WorkspaceNode.name,
101
+ parent: undefined,
102
+ children: [],
103
+ visible: false,
104
+ selected: false
105
+ };
106
+ }
107
+ WorkspaceNode.createRoot = createRoot;
108
+ })(WorkspaceNode || (exports.WorkspaceNode = WorkspaceNode = {}));
109
+ var WorkspaceRootNode;
110
+ (function (WorkspaceRootNode) {
111
+ function is(node) {
112
+ return browser_1.DirNode.is(node) && WorkspaceNode.is(node.parent);
113
+ }
114
+ WorkspaceRootNode.is = is;
115
+ function find(node) {
116
+ if (node) {
117
+ if (is(node)) {
118
+ return node;
119
+ }
120
+ return find(node.parent);
121
+ }
122
+ }
123
+ WorkspaceRootNode.find = find;
124
+ })(WorkspaceRootNode || (exports.WorkspaceRootNode = WorkspaceRootNode = {}));
125
+ //# sourceMappingURL=navigator-tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigator-tree.js","sourceRoot":"","sources":["../../src/browser/navigator-tree.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { ViewContainer, ViewContainerTitleOptions, WidgetFactory, WidgetManager } from '@theia/core/lib/browser';
2
+ export declare const EXPLORER_VIEW_CONTAINER_ID = "explorer-view-container";
3
+ export declare const EXPLORER_VIEW_CONTAINER_TITLE_OPTIONS: ViewContainerTitleOptions;
4
+ export declare class NavigatorWidgetFactory implements WidgetFactory {
5
+ static ID: string;
6
+ readonly id: string;
7
+ protected openEditorsWidgetOptions: ViewContainer.Factory.WidgetOptions;
8
+ protected fileNavigatorWidgetOptions: ViewContainer.Factory.WidgetOptions;
9
+ protected readonly viewContainerFactory: ViewContainer.Factory;
10
+ protected readonly widgetManager: WidgetManager;
11
+ createWidget(): Promise<ViewContainer>;
12
+ }
13
+ //# sourceMappingURL=navigator-widget-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigator-widget-factory.d.ts","sourceRoot":"","sources":["../../src/browser/navigator-widget-factory.ts"],"names":[],"mappings":"AAiBA,OAAO,EAEH,aAAa,EACb,yBAAyB,EACzB,aAAa,EACb,aAAa,EAChB,MAAM,yBAAyB,CAAC;AAKjC,eAAO,MAAM,0BAA0B,4BAA4B,CAAC;AACpE,eAAO,MAAM,qCAAqC,EAAE,yBAInD,CAAC;AAEF,qBACa,sBAAuB,YAAW,aAAa;IAExD,MAAM,CAAC,EAAE,SAA8B;IAEvC,QAAQ,CAAC,EAAE,SAA6B;IAExC,SAAS,CAAC,wBAAwB,EAAE,aAAa,CAAC,OAAO,CAAC,aAAa,CAMrE;IAEF,SAAS,CAAC,0BAA0B,EAAE,aAAa,CAAC,OAAO,CAAC,aAAa,CAMvE;IAGF,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,aAAa,CAAC,OAAO,CAAC;IACxC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEjE,YAAY,IAAI,OAAO,CAAC,aAAa,CAAC;CAY/C"}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2021 SAP SE or an SAP affiliate company 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-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ var NavigatorWidgetFactory_1;
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.NavigatorWidgetFactory = exports.EXPLORER_VIEW_CONTAINER_TITLE_OPTIONS = exports.EXPLORER_VIEW_CONTAINER_ID = void 0;
20
+ const tslib_1 = require("tslib");
21
+ const inversify_1 = require("@theia/core/shared/inversify");
22
+ const browser_1 = require("@theia/core/lib/browser");
23
+ const navigator_widget_1 = require("./navigator-widget");
24
+ const navigator_open_editors_widget_1 = require("./open-editors-widget/navigator-open-editors-widget");
25
+ const nls_1 = require("@theia/core/lib/common/nls");
26
+ exports.EXPLORER_VIEW_CONTAINER_ID = 'explorer-view-container';
27
+ exports.EXPLORER_VIEW_CONTAINER_TITLE_OPTIONS = {
28
+ label: nls_1.nls.localizeByDefault('Explorer'),
29
+ iconClass: (0, browser_1.codicon)('files'),
30
+ closeable: true
31
+ };
32
+ let NavigatorWidgetFactory = NavigatorWidgetFactory_1 = class NavigatorWidgetFactory {
33
+ constructor() {
34
+ this.id = NavigatorWidgetFactory_1.ID;
35
+ this.openEditorsWidgetOptions = {
36
+ order: 0,
37
+ canHide: true,
38
+ initiallyCollapsed: true,
39
+ // this property currently has no effect (https://github.com/eclipse-theia/theia/issues/7755)
40
+ weight: 20
41
+ };
42
+ this.fileNavigatorWidgetOptions = {
43
+ order: 1,
44
+ canHide: false,
45
+ initiallyCollapsed: false,
46
+ weight: 80,
47
+ disableDraggingToOtherContainers: true
48
+ };
49
+ }
50
+ async createWidget() {
51
+ const viewContainer = this.viewContainerFactory({
52
+ id: exports.EXPLORER_VIEW_CONTAINER_ID,
53
+ progressLocationId: 'explorer'
54
+ });
55
+ viewContainer.setTitleOptions(exports.EXPLORER_VIEW_CONTAINER_TITLE_OPTIONS);
56
+ const openEditorsWidget = await this.widgetManager.getOrCreateWidget(navigator_open_editors_widget_1.OpenEditorsWidget.ID);
57
+ const navigatorWidget = await this.widgetManager.getOrCreateWidget(navigator_widget_1.FILE_NAVIGATOR_ID);
58
+ viewContainer.addWidget(navigatorWidget, this.fileNavigatorWidgetOptions);
59
+ viewContainer.addWidget(openEditorsWidget, this.openEditorsWidgetOptions);
60
+ return viewContainer;
61
+ }
62
+ };
63
+ exports.NavigatorWidgetFactory = NavigatorWidgetFactory;
64
+ NavigatorWidgetFactory.ID = exports.EXPLORER_VIEW_CONTAINER_ID;
65
+ tslib_1.__decorate([
66
+ (0, inversify_1.inject)(browser_1.ViewContainer.Factory),
67
+ tslib_1.__metadata("design:type", Function)
68
+ ], NavigatorWidgetFactory.prototype, "viewContainerFactory", void 0);
69
+ tslib_1.__decorate([
70
+ (0, inversify_1.inject)(browser_1.WidgetManager),
71
+ tslib_1.__metadata("design:type", browser_1.WidgetManager)
72
+ ], NavigatorWidgetFactory.prototype, "widgetManager", void 0);
73
+ exports.NavigatorWidgetFactory = NavigatorWidgetFactory = NavigatorWidgetFactory_1 = tslib_1.__decorate([
74
+ (0, inversify_1.injectable)()
75
+ ], NavigatorWidgetFactory);
76
+ //# sourceMappingURL=navigator-widget-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigator-widget-factory.js","sourceRoot":"","sources":["../../src/browser/navigator-widget-factory.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oEAAoE;AACpE,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;;AAEhF,4DAAkE;AAClE,qDAMiC;AACjC,yDAAuD;AACvD,uGAAwF;AACxF,oDAAiD;AAEpC,QAAA,0BAA0B,GAAG,yBAAyB,CAAC;AACvD,QAAA,qCAAqC,GAA8B;IAC5E,KAAK,EAAE,SAAG,CAAC,iBAAiB,CAAC,UAAU,CAAC;IACxC,SAAS,EAAE,IAAA,iBAAO,EAAC,OAAO,CAAC;IAC3B,SAAS,EAAE,IAAI;CAClB,CAAC;AAGK,IAAM,sBAAsB,8BAA5B,MAAM,sBAAsB;IAA5B;QAIM,OAAE,GAAG,wBAAsB,CAAC,EAAE,CAAC;QAE9B,6BAAwB,GAAwC;YACtE,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,IAAI;YACb,kBAAkB,EAAE,IAAI;YACxB,6FAA6F;YAC7F,MAAM,EAAE,EAAE;SACb,CAAC;QAEQ,+BAA0B,GAAwC;YACxE,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,KAAK;YACd,kBAAkB,EAAE,KAAK;YACzB,MAAM,EAAE,EAAE;YACV,gCAAgC,EAAE,IAAI;SACzC,CAAC;IAkBN,CAAC;IAZG,KAAK,CAAC,YAAY;QACd,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC;YAC5C,EAAE,EAAE,kCAA0B;YAC9B,kBAAkB,EAAE,UAAU;SACjC,CAAC,CAAC;QACH,aAAa,CAAC,eAAe,CAAC,6CAAqC,CAAC,CAAC;QACrE,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,iDAAiB,CAAC,EAAE,CAAC,CAAC;QAC3F,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,oCAAiB,CAAC,CAAC;QACtF,aAAa,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC1E,aAAa,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC1E,OAAO,aAAa,CAAC;IACzB,CAAC;;AArCQ,wDAAsB;AAExB,yBAAE,GAAG,kCAA0B,AAA7B,CAA8B;AAqBpB;IADlB,IAAA,kBAAM,EAAC,uBAAa,CAAC,OAAO,CAAC;;oEACiC;AACrB;IAAzC,IAAA,kBAAM,EAAC,uBAAa,CAAC;sCAAmC,uBAAa;6DAAC;iCAxB9D,sBAAsB;IADlC,IAAA,sBAAU,GAAE;GACA,sBAAsB,CAsClC"}
@@ -0,0 +1,46 @@
1
+ /// <reference types="react" />
2
+ import { Message } from '@theia/core/shared/@lumino/messaging';
3
+ import { CommandService } from '@theia/core/lib/common';
4
+ import { TreeModel, ContextMenuRenderer, TreeProps, TreeNode } from '@theia/core/lib/browser';
5
+ import { WorkspaceService } from '@theia/workspace/lib/browser';
6
+ import { FileNavigatorModel } from './navigator-model';
7
+ import * as React from '@theia/core/shared/react';
8
+ import { NavigatorContextKeyService } from './navigator-context-key-service';
9
+ import { AbstractNavigatorTreeWidget } from './abstract-navigator-tree-widget';
10
+ export declare const FILE_NAVIGATOR_ID = "files";
11
+ export declare const LABEL: string;
12
+ export declare const CLASS = "theia-Files";
13
+ export declare class FileNavigatorWidget extends AbstractNavigatorTreeWidget {
14
+ readonly model: FileNavigatorModel;
15
+ protected readonly commandService: CommandService;
16
+ protected readonly contextKeyService: NavigatorContextKeyService;
17
+ protected readonly workspaceService: WorkspaceService;
18
+ constructor(props: TreeProps, model: FileNavigatorModel, contextMenuRenderer: ContextMenuRenderer);
19
+ protected init(): void;
20
+ protected doUpdateRows(): void;
21
+ getContainerTreeNode(): TreeNode | undefined;
22
+ protected renderTree(model: TreeModel): React.ReactNode;
23
+ protected shouldShowWelcomeView(): boolean;
24
+ protected onAfterAttach(msg: Message): void;
25
+ protected handleCopy(event: ClipboardEvent): void;
26
+ protected handlePaste(event: ClipboardEvent): void;
27
+ protected canOpenWorkspaceFileAndFolder: boolean;
28
+ protected readonly openWorkspace: () => void;
29
+ protected doOpenWorkspace(): void;
30
+ protected readonly openFolder: () => void;
31
+ protected doOpenFolder(): void;
32
+ protected readonly addFolder: () => void;
33
+ protected doAddFolder(): void;
34
+ protected readonly keyUpHandler: (e: React.KeyboardEvent) => void;
35
+ /**
36
+ * When a multi-root workspace is opened, a user can remove all the folders from it.
37
+ * Instead of displaying an empty navigator tree, this will show a button to add more folders.
38
+ */
39
+ protected renderEmptyMultiRootWorkspace(): React.ReactNode;
40
+ protected isEmptyMultiRootWorkspace(model: TreeModel): boolean;
41
+ protected tapNode(node?: TreeNode): void;
42
+ protected onAfterShow(msg: Message): void;
43
+ protected onAfterHide(msg: Message): void;
44
+ protected updateSelectionContextKeys(): void;
45
+ }
46
+ //# sourceMappingURL=navigator-widget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigator-widget.d.ts","sourceRoot":"","sources":["../../src/browser/navigator-widget.tsx"],"names":[],"mappings":";AAiBA,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAO,SAAS,EAAE,mBAAmB,EAAsB,SAAS,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEvH,OAAO,EAAE,gBAAgB,EAAqB,MAAM,8BAA8B,CAAC;AAEnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAE/E,eAAO,MAAM,iBAAiB,UAAU,CAAC;AACzC,eAAO,MAAM,KAAK,QAA4C,CAAC;AAC/D,eAAO,MAAM,KAAK,gBAAgB,CAAC;AAEnC,qBACa,mBAAoB,SAAQ,2BAA2B;aAQd,KAAK,EAAE,kBAAkB;IANnD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACtC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;IAC3E,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;gBAGzD,KAAK,EAAE,SAAS,EACW,KAAK,EAAE,kBAAkB,EAC1C,mBAAmB,EAAE,mBAAmB;cAQtD,IAAI,IAAI,IAAI;cAuBZ,YAAY,IAAI,IAAI;IAmB9B,oBAAoB,IAAI,QAAQ,GAAG,SAAS;cAWlC,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,CAAC,SAAS;cAO7C,qBAAqB,IAAI,OAAO;cAIhC,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAMpD,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAQjD,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAkBlD,SAAS,CAAC,6BAA6B,EAAE,OAAO,CAAuC;IAEvF,SAAS,CAAC,QAAQ,CAAC,aAAa,aAAgC;IAChE,SAAS,CAAC,eAAe,IAAI,IAAI;IAIjC,SAAS,CAAC,QAAQ,CAAC,UAAU,aAA6B;IAC1D,SAAS,CAAC,YAAY,IAAI,IAAI;IAI9B,SAAS,CAAC,QAAQ,CAAC,SAAS,aAA4B;IACxD,SAAS,CAAC,WAAW,IAAI,IAAI;IAI7B,SAAS,CAAC,QAAQ,CAAC,YAAY,MAAO,mBAAmB,UAIvD;IAEF;;;OAGG;IACH,SAAS,CAAC,6BAA6B,IAAI,KAAK,CAAC,SAAS;IAa1D,SAAS,CAAC,yBAAyB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;cAI3C,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI;cAO9B,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;cAK/B,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAKlD,SAAS,CAAC,0BAA0B,IAAI,IAAI;CAQ/C"}