@theia/filesystem 1.17.0-next.ff9e0507 → 1.18.0-next.0221c617

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 (158) hide show
  1. package/lib/browser/breadcrumbs/filepath-breadcrumb.d.ts +31 -0
  2. package/lib/browser/breadcrumbs/filepath-breadcrumb.d.ts.map +1 -0
  3. package/lib/browser/breadcrumbs/filepath-breadcrumb.js +42 -0
  4. package/lib/browser/breadcrumbs/filepath-breadcrumb.js.map +1 -0
  5. package/lib/browser/breadcrumbs/filepath-breadcrumbs-container.d.ts +31 -0
  6. package/lib/browser/breadcrumbs/filepath-breadcrumbs-container.d.ts.map +1 -0
  7. package/lib/browser/breadcrumbs/filepath-breadcrumbs-container.js +81 -0
  8. package/lib/browser/breadcrumbs/filepath-breadcrumbs-container.js.map +1 -0
  9. package/lib/browser/breadcrumbs/filepath-breadcrumbs-contribution.d.ts +43 -0
  10. package/lib/browser/breadcrumbs/filepath-breadcrumbs-contribution.d.ts.map +1 -0
  11. package/lib/browser/breadcrumbs/filepath-breadcrumbs-contribution.js +127 -0
  12. package/lib/browser/breadcrumbs/filepath-breadcrumbs-contribution.js.map +1 -0
  13. package/lib/browser/download/file-download-command-contribution.js +35 -80
  14. package/lib/browser/download/file-download-command-contribution.js.map +1 -1
  15. package/lib/browser/download/file-download-frontend-module.js +5 -5
  16. package/lib/browser/download/file-download-frontend-module.js.map +1 -1
  17. package/lib/browser/download/file-download-service.js +112 -205
  18. package/lib/browser/download/file-download-service.js.map +1 -1
  19. package/lib/browser/file-dialog/file-dialog-container.js +11 -22
  20. package/lib/browser/file-dialog/file-dialog-container.js.map +1 -1
  21. package/lib/browser/file-dialog/file-dialog-model.js +62 -137
  22. package/lib/browser/file-dialog/file-dialog-model.js.map +1 -1
  23. package/lib/browser/file-dialog/file-dialog-module.js +11 -11
  24. package/lib/browser/file-dialog/file-dialog-module.js.map +1 -1
  25. package/lib/browser/file-dialog/file-dialog-service.js +71 -156
  26. package/lib/browser/file-dialog/file-dialog-service.js.map +1 -1
  27. package/lib/browser/file-dialog/file-dialog-tree-filters-renderer.js +36 -71
  28. package/lib/browser/file-dialog/file-dialog-tree-filters-renderer.js.map +1 -1
  29. package/lib/browser/file-dialog/file-dialog-tree.js +24 -87
  30. package/lib/browser/file-dialog/file-dialog-tree.js.map +1 -1
  31. package/lib/browser/file-dialog/file-dialog-widget.js +36 -56
  32. package/lib/browser/file-dialog/file-dialog-widget.js.map +1 -1
  33. package/lib/browser/file-dialog/file-dialog.d.ts.map +1 -1
  34. package/lib/browser/file-dialog/file-dialog.js +194 -287
  35. package/lib/browser/file-dialog/file-dialog.js.map +1 -1
  36. package/lib/browser/file-resource.js +257 -460
  37. package/lib/browser/file-resource.js.map +1 -1
  38. package/lib/browser/file-selection.js +8 -24
  39. package/lib/browser/file-selection.js.map +1 -1
  40. package/lib/browser/file-service.js +1011 -1881
  41. package/lib/browser/file-service.js.map +1 -1
  42. package/lib/browser/file-tree/file-tree-container.js +5 -5
  43. package/lib/browser/file-tree/file-tree-container.js.map +1 -1
  44. package/lib/browser/file-tree/file-tree-label-provider.js +27 -30
  45. package/lib/browser/file-tree/file-tree-label-provider.js.map +1 -1
  46. package/lib/browser/file-tree/file-tree-model.js +152 -319
  47. package/lib/browser/file-tree/file-tree-model.js.map +1 -1
  48. package/lib/browser/file-tree/file-tree-widget.js +142 -289
  49. package/lib/browser/file-tree/file-tree-widget.js.map +1 -1
  50. package/lib/browser/file-tree/file-tree.js +62 -148
  51. package/lib/browser/file-tree/file-tree.js.map +1 -1
  52. package/lib/browser/file-upload-service.d.ts +32 -7
  53. package/lib/browser/file-upload-service.d.ts.map +1 -1
  54. package/lib/browser/file-upload-service.js +345 -531
  55. package/lib/browser/file-upload-service.js.map +1 -1
  56. package/lib/browser/filesystem-frontend-contribution.js +211 -424
  57. package/lib/browser/filesystem-frontend-contribution.js.map +1 -1
  58. package/lib/browser/filesystem-frontend-module.d.ts.map +1 -1
  59. package/lib/browser/filesystem-frontend-module.js +149 -335
  60. package/lib/browser/filesystem-frontend-module.js.map +1 -1
  61. package/lib/browser/filesystem-preferences.d.ts +1 -0
  62. package/lib/browser/filesystem-preferences.d.ts.map +1 -1
  63. package/lib/browser/filesystem-preferences.js +41 -34
  64. package/lib/browser/filesystem-preferences.js.map +1 -1
  65. package/lib/browser/filesystem-watcher-error-handler.js +37 -89
  66. package/lib/browser/filesystem-watcher-error-handler.js.map +1 -1
  67. package/lib/browser/filesystem-watcher.js +57 -121
  68. package/lib/browser/filesystem-watcher.js.map +1 -1
  69. package/lib/browser/location/location-renderer.d.ts.map +1 -1
  70. package/lib/browser/location/location-renderer.js +174 -259
  71. package/lib/browser/location/location-renderer.js.map +1 -1
  72. package/lib/browser/remote-file-service-contribution.js +15 -21
  73. package/lib/browser/remote-file-service-contribution.js.map +1 -1
  74. package/lib/common/delegating-file-system-provider.js +65 -98
  75. package/lib/common/delegating-file-system-provider.js.map +1 -1
  76. package/lib/common/file-upload.d.ts +17 -0
  77. package/lib/common/file-upload.d.ts.map +1 -0
  78. package/lib/common/file-upload.js +20 -0
  79. package/lib/common/file-upload.js.map +1 -0
  80. package/lib/common/files.js +59 -94
  81. package/lib/common/files.js.map +1 -1
  82. package/lib/common/filesystem-utils.js +5 -6
  83. package/lib/common/filesystem-utils.js.map +1 -1
  84. package/lib/common/filesystem-watcher-protocol.js +30 -71
  85. package/lib/common/filesystem-watcher-protocol.js.map +1 -1
  86. package/lib/common/filesystem.js +22 -22
  87. package/lib/common/filesystem.js.map +1 -1
  88. package/lib/common/io.js +62 -131
  89. package/lib/common/io.js.map +1 -1
  90. package/lib/common/remote-file-system-provider.js +237 -414
  91. package/lib/common/remote-file-system-provider.js.map +1 -1
  92. package/lib/electron-browser/file-dialog/electron-file-dialog-module.js +4 -4
  93. package/lib/electron-browser/file-dialog/electron-file-dialog-module.js.map +1 -1
  94. package/lib/electron-browser/file-dialog/electron-file-dialog-service.d.ts +1 -0
  95. package/lib/electron-browser/file-dialog/electron-file-dialog-service.d.ts.map +1 -1
  96. package/lib/electron-browser/file-dialog/electron-file-dialog-service.js +82 -227
  97. package/lib/electron-browser/file-dialog/electron-file-dialog-service.js.map +1 -1
  98. package/lib/node/disk-file-system-provider.js +580 -1009
  99. package/lib/node/disk-file-system-provider.js.map +1 -1
  100. package/lib/node/download/directory-archiver.js +82 -231
  101. package/lib/node/download/directory-archiver.js.map +1 -1
  102. package/lib/node/download/directory-archiver.spec.js +41 -118
  103. package/lib/node/download/directory-archiver.spec.js.map +1 -1
  104. package/lib/node/download/file-download-backend-module.js +7 -7
  105. package/lib/node/download/file-download-backend-module.js.map +1 -1
  106. package/lib/node/download/file-download-cache.js +34 -93
  107. package/lib/node/download/file-download-cache.js.map +1 -1
  108. package/lib/node/download/file-download-endpoint.js +37 -42
  109. package/lib/node/download/file-download-endpoint.js.map +1 -1
  110. package/lib/node/download/file-download-handler.js +249 -505
  111. package/lib/node/download/file-download-handler.js.map +1 -1
  112. package/lib/node/download/test/mock-directory-archiver.js +9 -65
  113. package/lib/node/download/test/mock-directory-archiver.js.map +1 -1
  114. package/lib/node/file-change-collection.js +19 -40
  115. package/lib/node/file-change-collection.js.map +1 -1
  116. package/lib/node/file-change-collection.spec.js +13 -39
  117. package/lib/node/file-change-collection.spec.js.map +1 -1
  118. package/lib/node/filesystem-backend-module.d.ts.map +1 -1
  119. package/lib/node/filesystem-backend-module.js +51 -86
  120. package/lib/node/filesystem-backend-module.js.map +1 -1
  121. package/lib/node/filesystem-watcher-client.js +34 -107
  122. package/lib/node/filesystem-watcher-client.js.map +1 -1
  123. package/lib/node/filesystem-watcher-dispatcher.js +35 -127
  124. package/lib/node/filesystem-watcher-dispatcher.js.map +1 -1
  125. package/lib/node/node-file-upload-service.d.ts +14 -7
  126. package/lib/node/node-file-upload-service.d.ts.map +1 -1
  127. package/lib/node/node-file-upload-service.js +50 -142
  128. package/lib/node/node-file-upload-service.js.map +1 -1
  129. package/lib/node/node-file-upload.d.ts +3 -0
  130. package/lib/node/node-file-upload.d.ts.map +1 -1
  131. package/lib/node/node-file-upload.js +28 -93
  132. package/lib/node/node-file-upload.js.map +1 -1
  133. package/lib/node/nsfw-watcher/index.js +7 -7
  134. package/lib/node/nsfw-watcher/index.js.map +1 -1
  135. package/lib/node/nsfw-watcher/nsfw-filesystem-service.js +206 -422
  136. package/lib/node/nsfw-watcher/nsfw-filesystem-service.js.map +1 -1
  137. package/lib/node/nsfw-watcher/nsfw-filesystem-watcher.js +120 -258
  138. package/lib/node/nsfw-watcher/nsfw-filesystem-watcher.js.map +1 -1
  139. package/lib/node/nsfw-watcher/nsfw-filesystem-watcher.spec.js +79 -180
  140. package/lib/node/nsfw-watcher/nsfw-filesystem-watcher.spec.js.map +1 -1
  141. package/package.json +7 -3
  142. package/src/browser/breadcrumbs/filepath-breadcrumb.ts +43 -0
  143. package/src/browser/breadcrumbs/filepath-breadcrumbs-container.ts +66 -0
  144. package/src/browser/breadcrumbs/filepath-breadcrumbs-contribution.ts +129 -0
  145. package/src/browser/file-dialog/file-dialog.ts +6 -5
  146. package/src/browser/file-upload-service.ts +232 -116
  147. package/src/browser/filesystem-frontend-module.ts +8 -1
  148. package/src/browser/filesystem-preferences.ts +45 -36
  149. package/src/browser/location/location-renderer.tsx +2 -1
  150. package/src/browser/style/file-dialog.css +3 -4
  151. package/src/browser/style/file-icons.css +10 -1
  152. package/src/browser/style/filepath-breadcrumbs.css +20 -0
  153. package/src/browser/style/index.css +1 -0
  154. package/src/common/file-upload.ts +17 -0
  155. package/src/electron-browser/file-dialog/electron-file-dialog-service.ts +13 -3
  156. package/src/node/filesystem-backend-module.ts +2 -3
  157. package/src/node/node-file-upload-service.ts +47 -70
  158. package/src/node/node-file-upload.ts +3 -0
@@ -0,0 +1,31 @@
1
+ /********************************************************************************
2
+ * Copyright (C) 2019 TypeFox and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ import URI from '@theia/core/lib/common/uri';
17
+ import { Breadcrumb } from '@theia/core/lib/browser/breadcrumbs/breadcrumbs-constants';
18
+ export declare class FilepathBreadcrumb implements Breadcrumb {
19
+ readonly uri: URI;
20
+ readonly label: string;
21
+ readonly longLabel: string;
22
+ readonly iconClass: string;
23
+ readonly containerClass: string;
24
+ constructor(uri: URI, label: string, longLabel: string, iconClass: string, containerClass: string);
25
+ get id(): string;
26
+ get type(): symbol;
27
+ }
28
+ export declare namespace FilepathBreadcrumb {
29
+ function is(breadcrumb: Breadcrumb): breadcrumb is FilepathBreadcrumb;
30
+ }
31
+ //# sourceMappingURL=filepath-breadcrumb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filepath-breadcrumb.d.ts","sourceRoot":"","sources":["../../../src/browser/breadcrumbs/filepath-breadcrumb.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,2DAA2D,CAAC;AAGvF,qBAAa,kBAAmB,YAAW,UAAU;IAE7C,QAAQ,CAAC,GAAG,EAAE,GAAG;IACjB,QAAQ,CAAC,KAAK,EAAE,MAAM;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM;gBAJtB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM;IAGnC,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;CACJ;AAED,yBAAiB,kBAAkB,CAAC;IAChC,SAAgB,EAAE,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,IAAI,kBAAkB,CAE3E;CACJ"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ /********************************************************************************
3
+ * Copyright (C) 2019 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 WITH Classpath-exception-2.0
16
+ ********************************************************************************/
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.FilepathBreadcrumb = void 0;
19
+ const filepath_breadcrumbs_contribution_1 = require("./filepath-breadcrumbs-contribution");
20
+ class FilepathBreadcrumb {
21
+ constructor(uri, label, longLabel, iconClass, containerClass) {
22
+ this.uri = uri;
23
+ this.label = label;
24
+ this.longLabel = longLabel;
25
+ this.iconClass = iconClass;
26
+ this.containerClass = containerClass;
27
+ }
28
+ get id() {
29
+ return this.type.toString() + '_' + this.uri.toString();
30
+ }
31
+ get type() {
32
+ return filepath_breadcrumbs_contribution_1.FilepathBreadcrumbType;
33
+ }
34
+ }
35
+ exports.FilepathBreadcrumb = FilepathBreadcrumb;
36
+ (function (FilepathBreadcrumb) {
37
+ function is(breadcrumb) {
38
+ return 'uri' in breadcrumb;
39
+ }
40
+ FilepathBreadcrumb.is = is;
41
+ })(FilepathBreadcrumb = exports.FilepathBreadcrumb || (exports.FilepathBreadcrumb = {}));
42
+ //# sourceMappingURL=filepath-breadcrumb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filepath-breadcrumb.js","sourceRoot":"","sources":["../../../src/browser/breadcrumbs/filepath-breadcrumb.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAIlF,2FAA6E;AAE7E,MAAa,kBAAkB;IAC3B,YACa,GAAQ,EACR,KAAa,EACb,SAAiB,EACjB,SAAiB,EACjB,cAAsB;QAJtB,QAAG,GAAH,GAAG,CAAK;QACR,UAAK,GAAL,KAAK,CAAQ;QACb,cAAS,GAAT,SAAS,CAAQ;QACjB,cAAS,GAAT,SAAS,CAAQ;QACjB,mBAAc,GAAd,cAAc,CAAQ;IAC/B,CAAC;IAEL,IAAI,EAAE;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC5D,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,0DAAsB,CAAC;IAClC,CAAC;CACJ;AAhBD,gDAgBC;AAED,WAAiB,kBAAkB;IAC/B,SAAgB,EAAE,CAAC,UAAsB;QACrC,OAAO,KAAK,IAAI,UAAU,CAAC;IAC/B,CAAC;IAFe,qBAAE,KAEjB,CAAA;AACL,CAAC,EAJgB,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAIlC"}
@@ -0,0 +1,31 @@
1
+ /********************************************************************************
2
+ * Copyright (C) 2019 TypeFox and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ /// <reference types="react" />
17
+ import { Container, interfaces } from '@theia/core/shared/inversify';
18
+ import { TreeProps, ContextMenuRenderer, TreeNode, OpenerService, NodeProps } from '@theia/core/lib/browser';
19
+ import { FileTreeWidget } from '../';
20
+ import { FileTreeModel } from '../file-tree';
21
+ export declare function createFileTreeBreadcrumbsContainer(parent: interfaces.Container): Container;
22
+ export declare function createFileTreeBreadcrumbsWidget(parent: interfaces.Container): BreadcrumbsFileTreeWidget;
23
+ export declare class BreadcrumbsFileTreeWidget extends FileTreeWidget {
24
+ readonly props: TreeProps;
25
+ readonly model: FileTreeModel;
26
+ protected readonly openerService: OpenerService;
27
+ constructor(props: TreeProps, model: FileTreeModel, contextMenuRenderer: ContextMenuRenderer);
28
+ protected createNodeAttributes(node: TreeNode, props: NodeProps): React.Attributes & React.HTMLAttributes<HTMLElement>;
29
+ protected handleClickEvent(node: TreeNode | undefined, event: React.MouseEvent<HTMLElement>): void;
30
+ }
31
+ //# sourceMappingURL=filepath-breadcrumbs-container.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filepath-breadcrumbs-container.d.ts","sourceRoot":"","sources":["../../../src/browser/breadcrumbs/filepath-breadcrumbs-container.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;;AAElF,OAAO,EAAE,SAAS,EAAE,UAAU,EAAsB,MAAM,8BAA8B,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,QAAQ,EAAE,aAAa,EAAQ,SAAS,EAAoB,MAAM,yBAAyB,CAAC;AACrI,OAAO,EAA2B,cAAc,EAAE,MAAM,KAAK,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAgB,MAAM,cAAc,CAAC;AAI3D,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,UAAU,CAAC,SAAS,GAAG,SAAS,CAM1F;AAED,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,UAAU,CAAC,SAAS,GAAG,yBAAyB,CAEvG;AAED,qBACa,yBAA0B,SAAQ,cAAc;IAMlC,QAAQ,CAAC,KAAK,EAAE,SAAS;IACrB,QAAQ,CAAC,KAAK,EAAE,aAAa;IAJxD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;gBAGhB,KAAK,EAAE,SAAS,EACZ,KAAK,EAAE,aAAa,EACvB,mBAAmB,EAAE,mBAAmB;IAMzE,SAAS,CAAC,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,GAAG,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IAQtH,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI;CAOrG"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ /********************************************************************************
3
+ * Copyright (C) 2019 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 WITH Classpath-exception-2.0
16
+ ********************************************************************************/
17
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
20
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
21
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
22
+ };
23
+ var __metadata = (this && this.__metadata) || function (k, v) {
24
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
25
+ };
26
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
27
+ return function (target, key) { decorator(target, key, paramIndex); }
28
+ };
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ exports.BreadcrumbsFileTreeWidget = exports.createFileTreeBreadcrumbsWidget = exports.createFileTreeBreadcrumbsContainer = void 0;
31
+ const inversify_1 = require("@theia/core/shared/inversify");
32
+ const browser_1 = require("@theia/core/lib/browser");
33
+ const __1 = require("../");
34
+ const file_tree_1 = require("../file-tree");
35
+ const BREADCRUMBS_FILETREE_CLASS = 'theia-FilepathBreadcrumbFileTree';
36
+ function createFileTreeBreadcrumbsContainer(parent) {
37
+ const child = __1.createFileTreeContainer(parent);
38
+ child.unbind(__1.FileTreeWidget);
39
+ child.rebind(browser_1.TreeProps).toConstantValue(Object.assign(Object.assign({}, browser_1.defaultTreeProps), { virtualized: false }));
40
+ child.bind(BreadcrumbsFileTreeWidget).toSelf();
41
+ return child;
42
+ }
43
+ exports.createFileTreeBreadcrumbsContainer = createFileTreeBreadcrumbsContainer;
44
+ function createFileTreeBreadcrumbsWidget(parent) {
45
+ return createFileTreeBreadcrumbsContainer(parent).get(BreadcrumbsFileTreeWidget);
46
+ }
47
+ exports.createFileTreeBreadcrumbsWidget = createFileTreeBreadcrumbsWidget;
48
+ let BreadcrumbsFileTreeWidget = class BreadcrumbsFileTreeWidget extends __1.FileTreeWidget {
49
+ constructor(props, model, contextMenuRenderer) {
50
+ super(props, model, contextMenuRenderer);
51
+ this.props = props;
52
+ this.model = model;
53
+ this.addClass(BREADCRUMBS_FILETREE_CLASS);
54
+ }
55
+ createNodeAttributes(node, props) {
56
+ const elementAttrs = super.createNodeAttributes(node, props);
57
+ return Object.assign(Object.assign({}, elementAttrs), { draggable: false });
58
+ }
59
+ handleClickEvent(node, event) {
60
+ if (file_tree_1.FileStatNode.is(node) && !node.fileStat.isDirectory) {
61
+ browser_1.open(this.openerService, node.uri, { preview: true });
62
+ }
63
+ else {
64
+ super.handleClickEvent(node, event);
65
+ }
66
+ }
67
+ };
68
+ __decorate([
69
+ inversify_1.inject(browser_1.OpenerService),
70
+ __metadata("design:type", Object)
71
+ ], BreadcrumbsFileTreeWidget.prototype, "openerService", void 0);
72
+ BreadcrumbsFileTreeWidget = __decorate([
73
+ inversify_1.injectable(),
74
+ __param(0, inversify_1.inject(browser_1.TreeProps)),
75
+ __param(1, inversify_1.inject(file_tree_1.FileTreeModel)),
76
+ __param(2, inversify_1.inject(browser_1.ContextMenuRenderer)),
77
+ __metadata("design:paramtypes", [Object, file_tree_1.FileTreeModel,
78
+ browser_1.ContextMenuRenderer])
79
+ ], BreadcrumbsFileTreeWidget);
80
+ exports.BreadcrumbsFileTreeWidget = BreadcrumbsFileTreeWidget;
81
+ //# sourceMappingURL=filepath-breadcrumbs-container.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filepath-breadcrumbs-container.js","sourceRoot":"","sources":["../../../src/browser/breadcrumbs/filepath-breadcrumbs-container.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;;;;AAElF,4DAAyF;AACzF,qDAAqI;AACrI,2BAA8D;AAC9D,4CAA2D;AAE3D,MAAM,0BAA0B,GAAG,kCAAkC,CAAC;AAEtE,SAAgB,kCAAkC,CAAC,MAA4B;IAC3E,MAAM,KAAK,GAAG,2BAAuB,CAAC,MAAM,CAAC,CAAC;IAC9C,KAAK,CAAC,MAAM,CAAC,kBAAc,CAAC,CAAC;IAC7B,KAAK,CAAC,MAAM,CAAC,mBAAS,CAAC,CAAC,eAAe,iCAAM,0BAAgB,KAAE,WAAW,EAAE,KAAK,IAAG,CAAC;IACrF,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,MAAM,EAAE,CAAC;IAC/C,OAAO,KAAK,CAAC;AACjB,CAAC;AAND,gFAMC;AAED,SAAgB,+BAA+B,CAAC,MAA4B;IACxE,OAAO,kCAAkC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACrF,CAAC;AAFD,0EAEC;AAGD,IAAa,yBAAyB,GAAtC,MAAa,yBAA0B,SAAQ,kBAAc;IAKzD,YACgC,KAAgB,EACZ,KAAoB,EACvB,mBAAwC;QAErE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC;QAJb,UAAK,GAAL,KAAK,CAAW;QACZ,UAAK,GAAL,KAAK,CAAe;QAIpD,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IAES,oBAAoB,CAAC,IAAc,EAAE,KAAgB;QAC3D,MAAM,YAAY,GAAG,KAAK,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7D,uCACO,YAAY,KACf,SAAS,EAAE,KAAK,IAClB;IACN,CAAC;IAES,gBAAgB,CAAC,IAA0B,EAAE,KAAoC;QACvF,IAAI,wBAAY,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;YACrD,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;SACzD;aAAM;YACH,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACvC;IACL,CAAC;CACJ,CAAA;AA1BG;IADC,kBAAM,CAAC,uBAAa,CAAC;;gEAC0B;AAHvC,yBAAyB;IADrC,sBAAU,EAAE;IAOJ,WAAA,kBAAM,CAAC,mBAAS,CAAC,CAAA;IACjB,WAAA,kBAAM,CAAC,yBAAa,CAAC,CAAA;IACrB,WAAA,kBAAM,CAAC,6BAAmB,CAAC,CAAA;6CADW,yBAAa;QACF,6BAAmB;GARhE,yBAAyB,CA6BrC;AA7BY,8DAAyB"}
@@ -0,0 +1,43 @@
1
+ /********************************************************************************
2
+ * Copyright (C) 2019 TypeFox and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ import { Disposable, Emitter, Event } from '@theia/core';
17
+ import URI from '@theia/core/lib/common/uri';
18
+ import { Breadcrumb, BreadcrumbsContribution, LabelProvider } from '@theia/core/lib/browser';
19
+ import { FilepathBreadcrumb } from './filepath-breadcrumb';
20
+ import { BreadcrumbsFileTreeWidget } from './filepath-breadcrumbs-container';
21
+ import { DirNode } from '../file-tree';
22
+ import { FileService } from '../file-service';
23
+ import { FileStat } from '../../common/files';
24
+ export declare const FilepathBreadcrumbType: unique symbol;
25
+ export interface FilepathBreadcrumbClassNameFactory {
26
+ (location: URI, index: number): string;
27
+ }
28
+ export declare class FilepathBreadcrumbsContribution implements BreadcrumbsContribution {
29
+ protected readonly labelProvider: LabelProvider;
30
+ protected readonly fileSystem: FileService;
31
+ protected readonly breadcrumbsFileTreeWidget: BreadcrumbsFileTreeWidget;
32
+ protected readonly onDidChangeBreadcrumbsEmitter: Emitter<URI>;
33
+ get onDidChangeBreadcrumbs(): Event<URI>;
34
+ readonly type: symbol;
35
+ readonly priority: number;
36
+ computeBreadcrumbs(uri: URI): Promise<Breadcrumb[]>;
37
+ protected getContainerClassCreator(fileURI: URI): FilepathBreadcrumbClassNameFactory;
38
+ protected getIconClassCreator(fileURI: URI): FilepathBreadcrumbClassNameFactory;
39
+ protected filterBreadcrumbs(_: URI, breadcrumb: FilepathBreadcrumb): boolean;
40
+ attachPopupContent(breadcrumb: Breadcrumb, parent: HTMLElement): Promise<Disposable | undefined>;
41
+ protected createRootNode(folderToOpen: FileStat): Promise<DirNode | undefined>;
42
+ }
43
+ //# sourceMappingURL=filepath-breadcrumbs-contribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filepath-breadcrumbs-contribution.d.ts","sourceRoot":"","sources":["../../../src/browser/breadcrumbs/filepath-breadcrumbs-contribution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAqB,aAAa,EAA8B,MAAM,yBAAyB,CAAC;AAC5I,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,eAAO,MAAM,sBAAsB,eAA+B,CAAC;AAEnE,MAAM,WAAW,kCAAkC;IAC/C,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1C;AAED,qBACa,+BAAgC,YAAW,uBAAuB;IAG3E,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;IAG3C,SAAS,CAAC,QAAQ,CAAC,yBAAyB,EAAE,yBAAyB,CAAC;IAExE,SAAS,CAAC,QAAQ,CAAC,6BAA6B,eAAsB;IACtE,IAAI,sBAAsB,IAAI,KAAK,CAAC,GAAG,CAAC,CAEvC;IAED,QAAQ,CAAC,IAAI,SAA0B;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAO;IAE1B,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAsBzD,SAAS,CAAC,wBAAwB,CAAC,OAAO,EAAE,GAAG,GAAG,kCAAkC;IAIpF,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,GAAG,GAAG,kCAAkC;IAI/E,SAAS,CAAC,iBAAiB,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,kBAAkB,GAAG,OAAO;IAItE,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;cAkCtF,cAAc,CAAC,YAAY,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;CAQvF"}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ /********************************************************************************
3
+ * Copyright (C) 2019 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 WITH Classpath-exception-2.0
16
+ ********************************************************************************/
17
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
20
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
21
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
22
+ };
23
+ var __metadata = (this && this.__metadata) || function (k, v) {
24
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.FilepathBreadcrumbsContribution = exports.FilepathBreadcrumbType = void 0;
28
+ const core_1 = require("@theia/core");
29
+ const inversify_1 = require("@theia/core/shared/inversify");
30
+ const browser_1 = require("@theia/core/lib/browser");
31
+ const filepath_breadcrumb_1 = require("./filepath-breadcrumb");
32
+ const filepath_breadcrumbs_container_1 = require("./filepath-breadcrumbs-container");
33
+ const file_tree_1 = require("../file-tree");
34
+ const file_service_1 = require("../file-service");
35
+ exports.FilepathBreadcrumbType = Symbol('FilepathBreadcrumb');
36
+ let FilepathBreadcrumbsContribution = class FilepathBreadcrumbsContribution {
37
+ constructor() {
38
+ this.onDidChangeBreadcrumbsEmitter = new core_1.Emitter();
39
+ this.type = exports.FilepathBreadcrumbType;
40
+ this.priority = 100;
41
+ }
42
+ get onDidChangeBreadcrumbs() {
43
+ return this.onDidChangeBreadcrumbsEmitter.event;
44
+ }
45
+ async computeBreadcrumbs(uri) {
46
+ if (uri.scheme !== 'file') {
47
+ return [];
48
+ }
49
+ const getContainerClass = this.getContainerClassCreator(uri);
50
+ const getIconClass = this.getIconClassCreator(uri);
51
+ return uri.allLocations
52
+ .map((location, index) => {
53
+ const icon = getIconClass(location, index);
54
+ const containerClass = getContainerClass(location, index);
55
+ return new filepath_breadcrumb_1.FilepathBreadcrumb(location, this.labelProvider.getName(location), this.labelProvider.getLongName(location), icon, containerClass);
56
+ })
57
+ .filter(b => this.filterBreadcrumbs(uri, b))
58
+ .reverse();
59
+ }
60
+ getContainerClassCreator(fileURI) {
61
+ return (location, index) => location.isEqual(fileURI) ? 'file' : 'folder';
62
+ }
63
+ getIconClassCreator(fileURI) {
64
+ return (location, index) => location.isEqual(fileURI) ? this.labelProvider.getIcon(location) + ' file-icon' : '';
65
+ }
66
+ filterBreadcrumbs(_, breadcrumb) {
67
+ return !breadcrumb.uri.path.isRoot;
68
+ }
69
+ async attachPopupContent(breadcrumb, parent) {
70
+ if (!filepath_breadcrumb_1.FilepathBreadcrumb.is(breadcrumb)) {
71
+ return undefined;
72
+ }
73
+ const folderFileStat = await this.fileSystem.resolve(breadcrumb.uri.parent);
74
+ if (folderFileStat) {
75
+ const rootNode = await this.createRootNode(folderFileStat);
76
+ if (rootNode) {
77
+ const { model } = this.breadcrumbsFileTreeWidget;
78
+ await model.navigateTo(Object.assign(Object.assign({}, rootNode), { visible: false }));
79
+ browser_1.Widget.attach(this.breadcrumbsFileTreeWidget, parent);
80
+ const toDisposeOnTreePopulated = model.onChanged(() => {
81
+ if (browser_1.CompositeTreeNode.is(model.root) && model.root.children.length > 0) {
82
+ toDisposeOnTreePopulated.dispose();
83
+ const targetNode = model.getNode(breadcrumb.uri.path.toString());
84
+ if (targetNode && browser_1.SelectableTreeNode.is(targetNode)) {
85
+ model.selectNode(targetNode);
86
+ }
87
+ this.breadcrumbsFileTreeWidget.activate();
88
+ }
89
+ });
90
+ return {
91
+ dispose: () => {
92
+ // Clear model otherwise the next time a popup is opened the old model is rendered first
93
+ // and is shown for a short time period.
94
+ toDisposeOnTreePopulated.dispose();
95
+ this.breadcrumbsFileTreeWidget.model.root = undefined;
96
+ browser_1.Widget.detach(this.breadcrumbsFileTreeWidget);
97
+ }
98
+ };
99
+ }
100
+ }
101
+ }
102
+ async createRootNode(folderToOpen) {
103
+ const folderUri = folderToOpen.resource;
104
+ const rootUri = folderToOpen.isDirectory ? folderUri : folderUri.parent;
105
+ const rootStat = await this.fileSystem.resolve(rootUri);
106
+ if (rootStat) {
107
+ return file_tree_1.DirNode.createRoot(rootStat);
108
+ }
109
+ }
110
+ };
111
+ __decorate([
112
+ inversify_1.inject(browser_1.LabelProvider),
113
+ __metadata("design:type", browser_1.LabelProvider)
114
+ ], FilepathBreadcrumbsContribution.prototype, "labelProvider", void 0);
115
+ __decorate([
116
+ inversify_1.inject(file_service_1.FileService),
117
+ __metadata("design:type", file_service_1.FileService)
118
+ ], FilepathBreadcrumbsContribution.prototype, "fileSystem", void 0);
119
+ __decorate([
120
+ inversify_1.inject(filepath_breadcrumbs_container_1.BreadcrumbsFileTreeWidget),
121
+ __metadata("design:type", filepath_breadcrumbs_container_1.BreadcrumbsFileTreeWidget)
122
+ ], FilepathBreadcrumbsContribution.prototype, "breadcrumbsFileTreeWidget", void 0);
123
+ FilepathBreadcrumbsContribution = __decorate([
124
+ inversify_1.injectable()
125
+ ], FilepathBreadcrumbsContribution);
126
+ exports.FilepathBreadcrumbsContribution = FilepathBreadcrumbsContribution;
127
+ //# sourceMappingURL=filepath-breadcrumbs-contribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filepath-breadcrumbs-contribution.js","sourceRoot":"","sources":["../../../src/browser/breadcrumbs/filepath-breadcrumbs-contribution.ts"],"names":[],"mappings":"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"}
@@ -23,93 +23,48 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
23
23
  var __metadata = (this && this.__metadata) || function (k, v) {
24
24
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
25
25
  };
26
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
27
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
28
- return new (P || (P = Promise))(function (resolve, reject) {
29
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
30
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
31
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
32
- step((generator = generator.apply(thisArg, _arguments || [])).next());
33
- });
34
- };
35
- var __generator = (this && this.__generator) || function (thisArg, body) {
36
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
37
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
38
- function verb(n) { return function (v) { return step([n, v]); }; }
39
- function step(op) {
40
- if (f) throw new TypeError("Generator is already executing.");
41
- while (_) try {
42
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
43
- if (y = 0, t) op = [op[0] & 2, t.value];
44
- switch (op[0]) {
45
- case 0: case 1: t = op; break;
46
- case 4: _.label++; return { value: op[1], done: false };
47
- case 5: _.label++; y = op[1]; op = [0]; continue;
48
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
49
- default:
50
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
51
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
52
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
53
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
54
- if (t[2]) _.ops.pop();
55
- _.trys.pop(); continue;
56
- }
57
- op = body.call(thisArg, _);
58
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
59
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
60
- }
61
- };
62
26
  Object.defineProperty(exports, "__esModule", { value: true });
63
27
  exports.FileDownloadCommands = exports.FileDownloadCommandContribution = void 0;
64
- var inversify_1 = require("@theia/core/shared/inversify");
65
- var browser_1 = require("@theia/core/lib/browser/browser");
66
- var environment_1 = require("@theia/core/shared/@theia/application-package/lib/environment");
67
- var selection_service_1 = require("@theia/core/lib/common/selection-service");
68
- var uri_command_handler_1 = require("@theia/core/lib/common/uri-command-handler");
69
- var file_download_service_1 = require("./file-download-service");
70
- var FileDownloadCommandContribution = /** @class */ (function () {
71
- function FileDownloadCommandContribution() {
72
- }
73
- FileDownloadCommandContribution.prototype.registerCommands = function (registry) {
74
- var _this = this;
28
+ const inversify_1 = require("@theia/core/shared/inversify");
29
+ const browser_1 = require("@theia/core/lib/browser/browser");
30
+ const environment_1 = require("@theia/core/shared/@theia/application-package/lib/environment");
31
+ const selection_service_1 = require("@theia/core/lib/common/selection-service");
32
+ const uri_command_handler_1 = require("@theia/core/lib/common/uri-command-handler");
33
+ const file_download_service_1 = require("./file-download-service");
34
+ let FileDownloadCommandContribution = class FileDownloadCommandContribution {
35
+ registerCommands(registry) {
75
36
  registry.registerCommand(FileDownloadCommands.DOWNLOAD, uri_command_handler_1.UriAwareCommandHandler.MultiSelect(this.selectionService, {
76
- execute: function (uris) { return _this.executeDownload(uris); },
77
- isEnabled: function (uris) { return _this.isDownloadEnabled(uris); },
78
- isVisible: function (uris) { return _this.isDownloadVisible(uris); },
37
+ execute: uris => this.executeDownload(uris),
38
+ isEnabled: uris => this.isDownloadEnabled(uris),
39
+ isVisible: uris => this.isDownloadVisible(uris),
79
40
  }));
80
41
  registry.registerCommand(FileDownloadCommands.COPY_DOWNLOAD_LINK, uri_command_handler_1.UriAwareCommandHandler.MultiSelect(this.selectionService, {
81
- execute: function (uris) { return _this.executeDownload(uris, { copyLink: true }); },
82
- isEnabled: function (uris) { return browser_1.isChrome && _this.isDownloadEnabled(uris); },
83
- isVisible: function (uris) { return browser_1.isChrome && _this.isDownloadVisible(uris); },
42
+ execute: uris => this.executeDownload(uris, { copyLink: true }),
43
+ isEnabled: uris => browser_1.isChrome && this.isDownloadEnabled(uris),
44
+ isVisible: uris => browser_1.isChrome && this.isDownloadVisible(uris),
84
45
  }));
85
- };
86
- FileDownloadCommandContribution.prototype.executeDownload = function (uris, options) {
87
- return __awaiter(this, void 0, void 0, function () {
88
- return __generator(this, function (_a) {
89
- this.downloadService.download(uris, options);
90
- return [2 /*return*/];
91
- });
92
- });
93
- };
94
- FileDownloadCommandContribution.prototype.isDownloadEnabled = function (uris) {
95
- return !environment_1.environment.electron.is() && uris.length > 0 && uris.every(function (u) { return u.scheme === 'file'; });
96
- };
97
- FileDownloadCommandContribution.prototype.isDownloadVisible = function (uris) {
46
+ }
47
+ async executeDownload(uris, options) {
48
+ this.downloadService.download(uris, options);
49
+ }
50
+ isDownloadEnabled(uris) {
51
+ return !environment_1.environment.electron.is() && uris.length > 0 && uris.every(u => u.scheme === 'file');
52
+ }
53
+ isDownloadVisible(uris) {
98
54
  return this.isDownloadEnabled(uris);
99
- };
100
- __decorate([
101
- inversify_1.inject(file_download_service_1.FileDownloadService),
102
- __metadata("design:type", file_download_service_1.FileDownloadService)
103
- ], FileDownloadCommandContribution.prototype, "downloadService", void 0);
104
- __decorate([
105
- inversify_1.inject(selection_service_1.SelectionService),
106
- __metadata("design:type", selection_service_1.SelectionService)
107
- ], FileDownloadCommandContribution.prototype, "selectionService", void 0);
108
- FileDownloadCommandContribution = __decorate([
109
- inversify_1.injectable()
110
- ], FileDownloadCommandContribution);
111
- return FileDownloadCommandContribution;
112
- }());
55
+ }
56
+ };
57
+ __decorate([
58
+ inversify_1.inject(file_download_service_1.FileDownloadService),
59
+ __metadata("design:type", file_download_service_1.FileDownloadService)
60
+ ], FileDownloadCommandContribution.prototype, "downloadService", void 0);
61
+ __decorate([
62
+ inversify_1.inject(selection_service_1.SelectionService),
63
+ __metadata("design:type", selection_service_1.SelectionService)
64
+ ], FileDownloadCommandContribution.prototype, "selectionService", void 0);
65
+ FileDownloadCommandContribution = __decorate([
66
+ inversify_1.injectable()
67
+ ], FileDownloadCommandContribution);
113
68
  exports.FileDownloadCommandContribution = FileDownloadCommandContribution;
114
69
  var FileDownloadCommands;
115
70
  (function (FileDownloadCommands) {