@theia/remote 1.67.0-next.56 → 1.67.0-next.59
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/electron-browser/local-backend-services.d.ts +11 -0
- package/lib/electron-browser/local-backend-services.d.ts.map +1 -0
- package/lib/electron-browser/local-backend-services.js +37 -0
- package/lib/electron-browser/local-backend-services.js.map +1 -0
- package/lib/electron-browser/port-forwarding/port-forwading-contribution.d.ts +6 -0
- package/lib/electron-browser/port-forwarding/port-forwading-contribution.d.ts.map +1 -0
- package/lib/electron-browser/port-forwarding/port-forwading-contribution.js +40 -0
- package/lib/electron-browser/port-forwarding/port-forwading-contribution.js.map +1 -0
- package/lib/electron-browser/port-forwarding/port-forwarding-service.d.ts +20 -0
- package/lib/electron-browser/port-forwarding/port-forwarding-service.d.ts.map +1 -0
- package/lib/electron-browser/port-forwarding/port-forwarding-service.js +89 -0
- package/lib/electron-browser/port-forwarding/port-forwarding-service.js.map +1 -0
- package/lib/electron-browser/port-forwarding/port-forwarding-widget.d.ts +17 -0
- package/lib/electron-browser/port-forwarding/port-forwarding-widget.d.ts.map +1 -0
- package/lib/electron-browser/port-forwarding/port-forwarding-widget.js +125 -0
- package/lib/electron-browser/port-forwarding/port-forwarding-widget.js.map +1 -0
- package/lib/electron-browser/remote-electron-file-dialog-service.d.ts +14 -0
- package/lib/electron-browser/remote-electron-file-dialog-service.d.ts.map +1 -0
- package/lib/electron-browser/remote-electron-file-dialog-service.js +50 -0
- package/lib/electron-browser/remote-electron-file-dialog-service.js.map +1 -0
- package/lib/electron-browser/remote-frontend-contribution.d.ts +26 -0
- package/lib/electron-browser/remote-frontend-contribution.d.ts.map +1 -0
- package/lib/electron-browser/remote-frontend-contribution.js +160 -0
- package/lib/electron-browser/remote-frontend-contribution.js.map +1 -0
- package/lib/electron-browser/remote-frontend-module.d.ts +5 -0
- package/lib/electron-browser/remote-frontend-module.d.ts.map +1 -0
- package/lib/electron-browser/remote-frontend-module.js +70 -0
- package/lib/electron-browser/remote-frontend-module.js.map +1 -0
- package/lib/electron-browser/remote-registry-contribution.d.ts +19 -0
- package/lib/electron-browser/remote-registry-contribution.d.ts.map +1 -0
- package/lib/electron-browser/remote-registry-contribution.js +70 -0
- package/lib/electron-browser/remote-registry-contribution.js.map +1 -0
- package/lib/electron-browser/remote-service.d.ts +6 -0
- package/lib/electron-browser/remote-service.d.ts.map +1 -0
- package/lib/electron-browser/remote-service.js +33 -0
- package/lib/electron-browser/remote-service.js.map +1 -0
- package/lib/electron-browser/remote-ssh-contribution.d.ts +23 -0
- package/lib/electron-browser/remote-ssh-contribution.d.ts.map +1 -0
- package/lib/electron-browser/remote-ssh-contribution.js +183 -0
- package/lib/electron-browser/remote-ssh-contribution.js.map +1 -0
- package/lib/electron-browser/remote-user-storage-provider.d.ts +21 -0
- package/lib/electron-browser/remote-user-storage-provider.d.ts.map +1 -0
- package/lib/electron-browser/remote-user-storage-provider.js +75 -0
- package/lib/electron-browser/remote-user-storage-provider.js.map +1 -0
- package/lib/electron-common/remote-port-forwarding-provider.d.ts +12 -0
- package/lib/electron-common/remote-port-forwarding-provider.d.ts.map +1 -0
- package/lib/electron-common/remote-port-forwarding-provider.js +21 -0
- package/lib/electron-common/remote-port-forwarding-provider.js.map +1 -0
- package/lib/electron-common/remote-preferences.d.ts +13 -0
- package/lib/electron-common/remote-preferences.d.ts.map +1 -0
- package/lib/electron-common/remote-preferences.js +54 -0
- package/lib/electron-common/remote-preferences.js.map +1 -0
- package/lib/electron-common/remote-ssh-connection-provider.d.ts +16 -0
- package/lib/electron-common/remote-ssh-connection-provider.d.ts.map +1 -0
- package/lib/electron-common/remote-ssh-connection-provider.js +21 -0
- package/lib/electron-common/remote-ssh-connection-provider.js.map +1 -0
- package/lib/electron-common/remote-status-service.d.ts +16 -0
- package/lib/electron-common/remote-status-service.d.ts.map +1 -0
- package/lib/electron-common/remote-status-service.js +21 -0
- package/lib/electron-common/remote-status-service.js.map +1 -0
- package/lib/electron-node/backend-remote-service-impl.d.ts +12 -0
- package/lib/electron-node/backend-remote-service-impl.d.ts.map +1 -0
- package/lib/electron-node/backend-remote-service-impl.js +46 -0
- package/lib/electron-node/backend-remote-service-impl.js.map +1 -0
- package/lib/electron-node/remote-backend-module.d.ts +5 -0
- package/lib/electron-node/remote-backend-module.d.ts.map +1 -0
- package/lib/electron-node/remote-backend-module.js +83 -0
- package/lib/electron-node/remote-backend-module.js.map +1 -0
- package/lib/electron-node/remote-connection-service.d.ts +15 -0
- package/lib/electron-node/remote-connection-service.d.ts.map +1 -0
- package/lib/electron-node/remote-connection-service.js +64 -0
- package/lib/electron-node/remote-connection-service.js.map +1 -0
- package/lib/electron-node/remote-connection-socket-provider.d.ts +9 -0
- package/lib/electron-node/remote-connection-socket-provider.d.ts.map +1 -0
- package/lib/electron-node/remote-connection-socket-provider.js +33 -0
- package/lib/electron-node/remote-connection-socket-provider.js.map +1 -0
- package/lib/electron-node/remote-port-forwarding-provider.d.ts +19 -0
- package/lib/electron-node/remote-port-forwarding-provider.d.ts.map +1 -0
- package/lib/electron-node/remote-port-forwarding-provider.js +59 -0
- package/lib/electron-node/remote-port-forwarding-provider.js.map +1 -0
- package/lib/electron-node/remote-proxy-server-provider.d.ts +6 -0
- package/lib/electron-node/remote-proxy-server-provider.d.ts.map +1 -0
- package/lib/electron-node/remote-proxy-server-provider.js +39 -0
- package/lib/electron-node/remote-proxy-server-provider.js.map +1 -0
- package/lib/electron-node/remote-status-service.d.ts +8 -0
- package/lib/electron-node/remote-status-service.d.ts.map +1 -0
- package/lib/electron-node/remote-status-service.js +53 -0
- package/lib/electron-node/remote-status-service.js.map +1 -0
- package/lib/electron-node/remote-types.d.ts +49 -0
- package/lib/electron-node/remote-types.d.ts.map +1 -0
- package/lib/electron-node/remote-types.js +18 -0
- package/lib/electron-node/remote-types.js.map +1 -0
- package/lib/electron-node/setup/app-native-dependency-contribution.d.ts +8 -0
- package/lib/electron-node/setup/app-native-dependency-contribution.d.ts.map +1 -0
- package/lib/electron-node/setup/app-native-dependency-contribution.js +53 -0
- package/lib/electron-node/setup/app-native-dependency-contribution.js.map +1 -0
- package/lib/electron-node/setup/main-copy-contribution.d.ts +5 -0
- package/lib/electron-node/setup/main-copy-contribution.d.ts.map +1 -0
- package/lib/electron-node/setup/main-copy-contribution.js +33 -0
- package/lib/electron-node/setup/main-copy-contribution.js.map +1 -0
- package/lib/electron-node/setup/remote-copy-contribution.d.ts +13 -0
- package/lib/electron-node/setup/remote-copy-contribution.d.ts.map +1 -0
- package/lib/electron-node/setup/remote-copy-contribution.js +74 -0
- package/lib/electron-node/setup/remote-copy-contribution.js.map +1 -0
- package/lib/electron-node/setup/remote-copy-service.d.ts +21 -0
- package/lib/electron-node/setup/remote-copy-service.d.ts.map +1 -0
- package/lib/electron-node/setup/remote-copy-service.js +120 -0
- package/lib/electron-node/setup/remote-copy-service.js.map +1 -0
- package/lib/electron-node/setup/remote-native-dependency-contribution.d.ts +36 -0
- package/lib/electron-node/setup/remote-native-dependency-contribution.d.ts.map +1 -0
- package/lib/electron-node/setup/remote-native-dependency-contribution.js +35 -0
- package/lib/electron-node/setup/remote-native-dependency-contribution.js.map +1 -0
- package/lib/electron-node/setup/remote-native-dependency-service.d.ts +25 -0
- package/lib/electron-node/setup/remote-native-dependency-service.d.ts.map +1 -0
- package/lib/electron-node/setup/remote-native-dependency-service.js +116 -0
- package/lib/electron-node/setup/remote-native-dependency-service.js.map +1 -0
- package/lib/electron-node/setup/remote-node-setup-service.d.ts +23 -0
- package/lib/electron-node/setup/remote-node-setup-service.d.ts.map +1 -0
- package/lib/electron-node/setup/remote-node-setup-service.js +125 -0
- package/lib/electron-node/setup/remote-node-setup-service.js.map +1 -0
- package/lib/electron-node/setup/remote-setup-script-service.d.ts +41 -0
- package/lib/electron-node/setup/remote-setup-script-service.d.ts.map +1 -0
- package/lib/electron-node/setup/remote-setup-script-service.js +125 -0
- package/lib/electron-node/setup/remote-setup-script-service.js.map +1 -0
- package/lib/electron-node/setup/remote-setup-service.d.ts +36 -0
- package/lib/electron-node/setup/remote-setup-service.d.ts.map +1 -0
- package/lib/electron-node/setup/remote-setup-service.js +215 -0
- package/lib/electron-node/setup/remote-setup-service.js.map +1 -0
- package/lib/electron-node/ssh/remote-ssh-connection-provider.d.ts +60 -0
- package/lib/electron-node/ssh/remote-ssh-connection-provider.d.ts.map +1 -0
- package/lib/electron-node/ssh/remote-ssh-connection-provider.js +394 -0
- package/lib/electron-node/ssh/remote-ssh-connection-provider.js.map +1 -0
- package/lib/electron-node/ssh/ssh-identity-file-collector.d.ts +13 -0
- package/lib/electron-node/ssh/ssh-identity-file-collector.d.ts.map +1 -0
- package/lib/electron-node/ssh/ssh-identity-file-collector.js +127 -0
- package/lib/electron-node/ssh/ssh-identity-file-collector.js.map +1 -0
- package/lib/package.spec.d.ts +1 -0
- package/lib/package.spec.d.ts.map +1 -0
- package/lib/package.spec.js +26 -0
- package/lib/package.spec.js.map +1 -0
- package/package.json +6 -6
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { RpcProxy } from '@theia/core';
|
|
2
|
+
import { RemoteFileSystemProvider, RemoteFileSystemServer } from '@theia/filesystem/lib/common/remote-file-system-provider';
|
|
3
|
+
export declare const LocalEnvVariablesServer: unique symbol;
|
|
4
|
+
export declare const LocalRemoteFileSytemServer: unique symbol;
|
|
5
|
+
/**
|
|
6
|
+
* provide file access to local files while connected to a remote workspace or dev container.
|
|
7
|
+
*/
|
|
8
|
+
export declare class LocalRemoteFileSystemProvider extends RemoteFileSystemProvider {
|
|
9
|
+
protected readonly server: RpcProxy<RemoteFileSystemServer>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=local-backend-services.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-backend-services.d.ts","sourceRoot":"","sources":["../../src/electron-browser/local-backend-services.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,0DAA0D,CAAC;AAE5H,eAAO,MAAM,uBAAuB,eAA0C,CAAC;AAC/E,eAAO,MAAM,0BAA0B,eAAuC,CAAC;AAE/E;;GAEG;AACH,qBACa,6BAA8B,SAAQ,wBAAwB;IACvE,mBAC4B,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC;CACxE"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2024 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.LocalRemoteFileSystemProvider = exports.LocalRemoteFileSytemServer = exports.LocalEnvVariablesServer = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
+
const remote_file_system_provider_1 = require("@theia/filesystem/lib/common/remote-file-system-provider");
|
|
22
|
+
exports.LocalEnvVariablesServer = Symbol('LocalEnviromentVariableServer');
|
|
23
|
+
exports.LocalRemoteFileSytemServer = Symbol('LocalRemoteFileSytemServer');
|
|
24
|
+
/**
|
|
25
|
+
* provide file access to local files while connected to a remote workspace or dev container.
|
|
26
|
+
*/
|
|
27
|
+
let LocalRemoteFileSystemProvider = class LocalRemoteFileSystemProvider extends remote_file_system_provider_1.RemoteFileSystemProvider {
|
|
28
|
+
};
|
|
29
|
+
exports.LocalRemoteFileSystemProvider = LocalRemoteFileSystemProvider;
|
|
30
|
+
tslib_1.__decorate([
|
|
31
|
+
(0, inversify_1.inject)(exports.LocalRemoteFileSytemServer),
|
|
32
|
+
tslib_1.__metadata("design:type", Object)
|
|
33
|
+
], LocalRemoteFileSystemProvider.prototype, "server", void 0);
|
|
34
|
+
exports.LocalRemoteFileSystemProvider = LocalRemoteFileSystemProvider = tslib_1.__decorate([
|
|
35
|
+
(0, inversify_1.injectable)()
|
|
36
|
+
], LocalRemoteFileSystemProvider);
|
|
37
|
+
//# sourceMappingURL=local-backend-services.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-backend-services.js","sourceRoot":"","sources":["../../src/electron-browser/local-backend-services.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAGhF,4DAAkE;AAClE,0GAA4H;AAE/G,QAAA,uBAAuB,GAAG,MAAM,CAAC,+BAA+B,CAAC,CAAC;AAClE,QAAA,0BAA0B,GAAG,MAAM,CAAC,4BAA4B,CAAC,CAAC;AAE/E;;GAEG;AAEI,IAAM,6BAA6B,GAAnC,MAAM,6BAA8B,SAAQ,sDAAwB;CAG1E,CAAA;AAHY,sEAA6B;AAEV;IAD3B,IAAA,kBAAM,EAAC,kCAA0B,CAAC;;6DACkC;wCAF5D,6BAA6B;IADzC,IAAA,sBAAU,GAAE;GACA,6BAA6B,CAGzC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { AbstractViewContribution } from '@theia/core/lib/browser';
|
|
2
|
+
import { PortForwardingWidget } from './port-forwarding-widget';
|
|
3
|
+
export declare class PortForwardingContribution extends AbstractViewContribution<PortForwardingWidget> {
|
|
4
|
+
constructor();
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=port-forwading-contribution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"port-forwading-contribution.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/port-forwarding/port-forwading-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,oBAAoB,EAA6B,MAAM,0BAA0B,CAAC;AAE3F,qBACa,0BAA2B,SAAQ,wBAAwB,CAAC,oBAAoB,CAAC;;CAU7F"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2024 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.PortForwardingContribution = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const core_1 = require("@theia/core");
|
|
21
|
+
const browser_1 = require("@theia/core/lib/browser");
|
|
22
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
23
|
+
const port_forwarding_widget_1 = require("./port-forwarding-widget");
|
|
24
|
+
let PortForwardingContribution = class PortForwardingContribution extends browser_1.AbstractViewContribution {
|
|
25
|
+
constructor() {
|
|
26
|
+
super({
|
|
27
|
+
widgetId: port_forwarding_widget_1.PORT_FORWARDING_WIDGET_ID,
|
|
28
|
+
widgetName: core_1.nls.localizeByDefault('Ports'),
|
|
29
|
+
defaultWidgetOptions: {
|
|
30
|
+
area: 'bottom'
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
exports.PortForwardingContribution = PortForwardingContribution;
|
|
36
|
+
exports.PortForwardingContribution = PortForwardingContribution = tslib_1.__decorate([
|
|
37
|
+
(0, inversify_1.injectable)(),
|
|
38
|
+
tslib_1.__metadata("design:paramtypes", [])
|
|
39
|
+
], PortForwardingContribution);
|
|
40
|
+
//# sourceMappingURL=port-forwading-contribution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"port-forwading-contribution.js","sourceRoot":"","sources":["../../../src/electron-browser/port-forwarding/port-forwading-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,sCAAkC;AAClC,qDAAmE;AACnE,4DAA0D;AAC1D,qEAA2F;AAGpF,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,kCAA8C;IAC1F;QACI,KAAK,CAAC;YACF,QAAQ,EAAE,kDAAyB;YACnC,UAAU,EAAE,UAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC;YAC1C,oBAAoB,EAAE;gBAClB,IAAI,EAAE,QAAQ;aACjB;SACJ,CAAC,CAAC;IACP,CAAC;CACJ,CAAA;AAVY,gEAA0B;qCAA1B,0BAA0B;IADtC,IAAA,sBAAU,GAAE;;GACA,0BAA0B,CAUtC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Emitter } from '@theia/core';
|
|
2
|
+
import { RemotePortForwardingProvider } from '../../electron-common/remote-port-forwarding-provider';
|
|
3
|
+
export interface ForwardedPort {
|
|
4
|
+
localPort?: number;
|
|
5
|
+
address?: string;
|
|
6
|
+
origin?: string;
|
|
7
|
+
editing: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare class PortForwardingService {
|
|
10
|
+
readonly provider: RemotePortForwardingProvider;
|
|
11
|
+
protected readonly onDidChangePortsEmitter: Emitter<void>;
|
|
12
|
+
readonly onDidChangePorts: import("@theia/core").Event<void>;
|
|
13
|
+
forwardedPorts: ForwardedPort[];
|
|
14
|
+
init(): void;
|
|
15
|
+
forwardNewPort(origin?: string): ForwardedPort;
|
|
16
|
+
updatePort(port: ForwardedPort, newAdress: string): void;
|
|
17
|
+
removePort(port: ForwardedPort): void;
|
|
18
|
+
isValidAddress(address: string): boolean;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=port-forwarding-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"port-forwarding-service.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/port-forwarding/port-forwarding-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,4BAA4B,EAAE,MAAM,uDAAuD,CAAC;AAGrG,MAAM,WAAW,aAAa;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,qBACa,qBAAqB;IAG9B,QAAQ,CAAC,QAAQ,EAAE,4BAA4B,CAAC;IAEhD,SAAS,CAAC,QAAQ,CAAC,uBAAuB,gBAAuB;IACjE,QAAQ,CAAC,gBAAgB,oCAAsC;IAE/D,cAAc,EAAE,aAAa,EAAE,CAAM;IAGrC,IAAI,IAAI,IAAI;IAOZ,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,aAAa;IAK9C,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAqBxD,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IASrC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAU3C"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2024 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.PortForwardingService = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const core_1 = require("@theia/core");
|
|
21
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
22
|
+
const remote_port_forwarding_provider_1 = require("../../electron-common/remote-port-forwarding-provider");
|
|
23
|
+
const electron_local_ws_connection_source_1 = require("@theia/core/lib/electron-browser/messaging/electron-local-ws-connection-source");
|
|
24
|
+
let PortForwardingService = class PortForwardingService {
|
|
25
|
+
constructor() {
|
|
26
|
+
this.onDidChangePortsEmitter = new core_1.Emitter();
|
|
27
|
+
this.onDidChangePorts = this.onDidChangePortsEmitter.event;
|
|
28
|
+
this.forwardedPorts = [];
|
|
29
|
+
}
|
|
30
|
+
init() {
|
|
31
|
+
this.provider.getForwardedPorts().then(ports => {
|
|
32
|
+
this.forwardedPorts.push(...ports.map(p => ({ address: p.address, localPort: p.port, editing: false })));
|
|
33
|
+
this.onDidChangePortsEmitter.fire();
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
forwardNewPort(origin) {
|
|
37
|
+
const index = this.forwardedPorts.push({ editing: true, origin });
|
|
38
|
+
return this.forwardedPorts[index - 1];
|
|
39
|
+
}
|
|
40
|
+
updatePort(port, newAdress) {
|
|
41
|
+
const connectionPort = (0, electron_local_ws_connection_source_1.getCurrentPort)();
|
|
42
|
+
if (!connectionPort) {
|
|
43
|
+
// if there is no open remote connection we can't forward a port
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const parts = newAdress.split(':');
|
|
47
|
+
if (parts.length === 2) {
|
|
48
|
+
port.address = parts[0];
|
|
49
|
+
port.localPort = parseInt(parts[1]);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
port.localPort = parseInt(parts[0]);
|
|
53
|
+
}
|
|
54
|
+
port.editing = false;
|
|
55
|
+
this.provider.forwardPort(parseInt(connectionPort), { port: port.localPort, address: port.address });
|
|
56
|
+
this.onDidChangePortsEmitter.fire();
|
|
57
|
+
}
|
|
58
|
+
removePort(port) {
|
|
59
|
+
const index = this.forwardedPorts.indexOf(port);
|
|
60
|
+
if (index !== -1) {
|
|
61
|
+
this.forwardedPorts.splice(index, 1);
|
|
62
|
+
this.provider.portRemoved({ port: port.localPort });
|
|
63
|
+
this.onDidChangePortsEmitter.fire();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
isValidAddress(address) {
|
|
67
|
+
const match = address.match(/^(.*:)?\d+$/);
|
|
68
|
+
if (!match) {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
const port = parseInt(address.includes(':') ? address.split(':')[1] : address);
|
|
72
|
+
return !this.forwardedPorts.some(p => p.localPort === port);
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
exports.PortForwardingService = PortForwardingService;
|
|
76
|
+
tslib_1.__decorate([
|
|
77
|
+
(0, inversify_1.inject)(remote_port_forwarding_provider_1.RemotePortForwardingProvider),
|
|
78
|
+
tslib_1.__metadata("design:type", Object)
|
|
79
|
+
], PortForwardingService.prototype, "provider", void 0);
|
|
80
|
+
tslib_1.__decorate([
|
|
81
|
+
(0, inversify_1.postConstruct)(),
|
|
82
|
+
tslib_1.__metadata("design:type", Function),
|
|
83
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
84
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
85
|
+
], PortForwardingService.prototype, "init", null);
|
|
86
|
+
exports.PortForwardingService = PortForwardingService = tslib_1.__decorate([
|
|
87
|
+
(0, inversify_1.injectable)()
|
|
88
|
+
], PortForwardingService);
|
|
89
|
+
//# sourceMappingURL=port-forwarding-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"port-forwarding-service.js","sourceRoot":"","sources":["../../../src/electron-browser/port-forwarding/port-forwarding-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ReactNode } from '@theia/core/shared/react';
|
|
3
|
+
import { OpenerService, ReactWidget } from '@theia/core/lib/browser';
|
|
4
|
+
import { ForwardedPort, PortForwardingService } from './port-forwarding-service';
|
|
5
|
+
import { ClipboardService } from '@theia/core/lib/browser/clipboard-service';
|
|
6
|
+
export declare const PORT_FORWARDING_WIDGET_ID = "port-forwarding-widget";
|
|
7
|
+
export declare class PortForwardingWidget extends ReactWidget {
|
|
8
|
+
protected readonly portForwardingService: PortForwardingService;
|
|
9
|
+
protected readonly openerService: OpenerService;
|
|
10
|
+
protected readonly clipboardService: ClipboardService;
|
|
11
|
+
protected init(): void;
|
|
12
|
+
protected render(): ReactNode;
|
|
13
|
+
protected renderForwardPortButton(): ReactNode;
|
|
14
|
+
protected renderAddressColumn(port: ForwardedPort): ReactNode;
|
|
15
|
+
protected renderPortColumn(port: ForwardedPort): ReactNode;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=port-forwarding-widget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"port-forwarding-widget.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/port-forwarding/port-forwarding-widget.tsx"],"names":[],"mappings":";AAiBA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGrE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAE7E,eAAO,MAAM,yBAAyB,2BAA2B,CAAC;AAElE,qBACa,oBAAqB,SAAQ,WAAW;IAGjD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IAGhE,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,IAAI,IAAI,IAAI;IAWtB,SAAS,CAAC,MAAM,IAAI,SAAS;IAmC7B,SAAS,CAAC,uBAAuB,IAAI,SAAS;IAQ9C,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS;IAsB7D,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS;CAc7D"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2024 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.PortForwardingWidget = exports.PORT_FORWARDING_WIDGET_ID = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const React = require("@theia/core/shared/react");
|
|
21
|
+
const browser_1 = require("@theia/core/lib/browser");
|
|
22
|
+
const core_1 = require("@theia/core");
|
|
23
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
24
|
+
const port_forwarding_service_1 = require("./port-forwarding-service");
|
|
25
|
+
const clipboard_service_1 = require("@theia/core/lib/browser/clipboard-service");
|
|
26
|
+
exports.PORT_FORWARDING_WIDGET_ID = 'port-forwarding-widget';
|
|
27
|
+
let PortForwardingWidget = class PortForwardingWidget extends browser_1.ReactWidget {
|
|
28
|
+
init() {
|
|
29
|
+
this.id = exports.PORT_FORWARDING_WIDGET_ID;
|
|
30
|
+
this.node.tabIndex = -1;
|
|
31
|
+
this.title.label = core_1.nls.localizeByDefault('Ports');
|
|
32
|
+
this.title.caption = this.title.label;
|
|
33
|
+
this.title.closable = true;
|
|
34
|
+
this.update();
|
|
35
|
+
this.portForwardingService.onDidChangePorts(() => this.update());
|
|
36
|
+
}
|
|
37
|
+
render() {
|
|
38
|
+
if (this.portForwardingService.forwardedPorts.length === 0) {
|
|
39
|
+
return React.createElement("div", null,
|
|
40
|
+
React.createElement("p", { style: { marginLeft: 'calc(var(--theia-ui-padding) * 2)' } }, core_1.nls.localizeByDefault('No forwarded ports. Forward a port to access your locally running services over the internet.\n[Forward a Port]({0})').split('\n')[0]),
|
|
41
|
+
this.renderForwardPortButton());
|
|
42
|
+
}
|
|
43
|
+
return React.createElement("div", null,
|
|
44
|
+
React.createElement("table", { className: 'port-table' },
|
|
45
|
+
React.createElement("thead", null,
|
|
46
|
+
React.createElement("tr", null,
|
|
47
|
+
React.createElement("th", { className: 'port-table-header' }, core_1.nls.localizeByDefault('Port')),
|
|
48
|
+
React.createElement("th", { className: 'port-table-header' }, core_1.nls.localizeByDefault('Address')),
|
|
49
|
+
React.createElement("th", { className: 'port-table-header' }, core_1.nls.localizeByDefault('Running Process')),
|
|
50
|
+
React.createElement("th", { className: 'port-table-header' }, core_1.nls.localizeByDefault('Origin')))),
|
|
51
|
+
React.createElement("tbody", null,
|
|
52
|
+
this.portForwardingService.forwardedPorts.map(port => {
|
|
53
|
+
var _a;
|
|
54
|
+
return (React.createElement("tr", { key: (_a = `${port.address}:${port.localPort}`) !== null && _a !== void 0 ? _a : 'editing' },
|
|
55
|
+
this.renderPortColumn(port),
|
|
56
|
+
this.renderAddressColumn(port),
|
|
57
|
+
React.createElement("td", null),
|
|
58
|
+
React.createElement("td", null, port.origin ? core_1.nls.localizeByDefault(port.origin) : '')));
|
|
59
|
+
}),
|
|
60
|
+
!this.portForwardingService.forwardedPorts.some(port => port.editing) && React.createElement("tr", null,
|
|
61
|
+
React.createElement("td", null, this.renderForwardPortButton())))));
|
|
62
|
+
}
|
|
63
|
+
renderForwardPortButton() {
|
|
64
|
+
return React.createElement("button", { className: 'theia-button', onClick: () => {
|
|
65
|
+
this.portForwardingService.forwardNewPort('User Forwarded');
|
|
66
|
+
this.update();
|
|
67
|
+
} }, core_1.nls.localizeByDefault('Forward a Port'));
|
|
68
|
+
}
|
|
69
|
+
renderAddressColumn(port) {
|
|
70
|
+
var _a;
|
|
71
|
+
const address = `${(_a = port.address) !== null && _a !== void 0 ? _a : '0.0.0.0'}:${port.localPort}`;
|
|
72
|
+
return React.createElement("td", null,
|
|
73
|
+
React.createElement("div", { className: 'button-cell' },
|
|
74
|
+
React.createElement("span", { style: { flexGrow: 1 }, className: 'forwarded-address', onClick: async (e) => {
|
|
75
|
+
if (e.ctrlKey) {
|
|
76
|
+
const uri = new core_1.URI(`http://${address}`);
|
|
77
|
+
(await this.openerService.getOpener(uri)).open(uri);
|
|
78
|
+
}
|
|
79
|
+
}, title: core_1.nls.localizeByDefault('Follow link') + ' (ctrl/cmd + click)' }, port.localPort ? address : ''),
|
|
80
|
+
port.localPort &&
|
|
81
|
+
React.createElement("span", { className: 'codicon codicon-clippy action-label', title: core_1.nls.localizeByDefault('Copy Local Address'), onClick: () => {
|
|
82
|
+
this.clipboardService.writeText(address);
|
|
83
|
+
} })));
|
|
84
|
+
}
|
|
85
|
+
renderPortColumn(port) {
|
|
86
|
+
return port.editing ?
|
|
87
|
+
React.createElement("td", null,
|
|
88
|
+
React.createElement(PortEditingInput, { port: port, service: this.portForwardingService })) :
|
|
89
|
+
React.createElement("td", null,
|
|
90
|
+
React.createElement("div", { className: 'button-cell' },
|
|
91
|
+
React.createElement("span", { style: { flexGrow: 1 } }, port.localPort),
|
|
92
|
+
React.createElement("span", { className: 'codicon codicon-close action-label', title: core_1.nls.localizeByDefault('Stop Forwarding Port'), onClick: () => {
|
|
93
|
+
this.portForwardingService.removePort(port);
|
|
94
|
+
this.update();
|
|
95
|
+
} })));
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
exports.PortForwardingWidget = PortForwardingWidget;
|
|
99
|
+
tslib_1.__decorate([
|
|
100
|
+
(0, inversify_1.inject)(port_forwarding_service_1.PortForwardingService),
|
|
101
|
+
tslib_1.__metadata("design:type", port_forwarding_service_1.PortForwardingService)
|
|
102
|
+
], PortForwardingWidget.prototype, "portForwardingService", void 0);
|
|
103
|
+
tslib_1.__decorate([
|
|
104
|
+
(0, inversify_1.inject)(browser_1.OpenerService),
|
|
105
|
+
tslib_1.__metadata("design:type", Object)
|
|
106
|
+
], PortForwardingWidget.prototype, "openerService", void 0);
|
|
107
|
+
tslib_1.__decorate([
|
|
108
|
+
(0, inversify_1.inject)(clipboard_service_1.ClipboardService),
|
|
109
|
+
tslib_1.__metadata("design:type", Object)
|
|
110
|
+
], PortForwardingWidget.prototype, "clipboardService", void 0);
|
|
111
|
+
tslib_1.__decorate([
|
|
112
|
+
(0, inversify_1.postConstruct)(),
|
|
113
|
+
tslib_1.__metadata("design:type", Function),
|
|
114
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
115
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
116
|
+
], PortForwardingWidget.prototype, "init", null);
|
|
117
|
+
exports.PortForwardingWidget = PortForwardingWidget = tslib_1.__decorate([
|
|
118
|
+
(0, inversify_1.injectable)()
|
|
119
|
+
], PortForwardingWidget);
|
|
120
|
+
function PortEditingInput({ port, service }) {
|
|
121
|
+
var _a;
|
|
122
|
+
const [error, setError] = React.useState(false);
|
|
123
|
+
return React.createElement("input", { className: `theia-input forward-port-button${error ? ' port-edit-input-error' : ''}`, "port-edit-input-error": error, autoFocus: true, defaultValue: port.address ? `${port.address}:${port.localPort}` : (_a = port.localPort) !== null && _a !== void 0 ? _a : '', placeholder: core_1.nls.localizeByDefault('Port number or address (eg. 3000 or 10.10.10.10:2000).'), onKeyDown: e => e.key === 'Enter' && !error && service.updatePort(port, e.currentTarget.value), onKeyUp: e => setError(!service.isValidAddress(e.currentTarget.value)) });
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=port-forwarding-widget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"port-forwarding-widget.js","sourceRoot":"","sources":["../../../src/electron-browser/port-forwarding/port-forwarding-widget.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { MaybeArray, URI } from '@theia/core';
|
|
2
|
+
import { OpenFileDialogProps, SaveFileDialogProps } from '@theia/filesystem/lib/browser/file-dialog';
|
|
3
|
+
import { FileStat } from '@theia/filesystem/lib/common/files';
|
|
4
|
+
import { ElectronFileDialogService } from '@theia/filesystem/lib/electron-browser/file-dialog/electron-file-dialog-service';
|
|
5
|
+
import { RemoteService } from './remote-service';
|
|
6
|
+
export declare class RemoteElectronFileDialogService extends ElectronFileDialogService {
|
|
7
|
+
protected readonly remoteService: RemoteService;
|
|
8
|
+
showOpenDialog(props: OpenFileDialogProps & {
|
|
9
|
+
canSelectMany: true;
|
|
10
|
+
}, folder?: FileStat | undefined): Promise<MaybeArray<URI> | undefined>;
|
|
11
|
+
showOpenDialog(props: OpenFileDialogProps, folder?: FileStat | undefined): Promise<URI | undefined>;
|
|
12
|
+
showSaveDialog(props: SaveFileDialogProps, folder?: FileStat | undefined): Promise<URI | undefined>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=remote-electron-file-dialog-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-electron-file-dialog-service.d.ts","sourceRoot":"","sources":["../../src/electron-browser/remote-electron-file-dialog-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AACrG,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAE9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,iFAAiF,CAAC;AAC5H,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,qBACa,+BAAgC,SAAQ,yBAAyB;IAEnD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAE9D,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG;QAAE,aAAa,EAAE,IAAI,CAAC;KAAE,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAC1I,cAAc,CAAC,KAAK,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;IASnG,cAAc,CAAC,KAAK,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;CAO/G"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2023 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.RemoteElectronFileDialogService = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
+
const file_dialog_service_1 = require("@theia/filesystem/lib/browser/file-dialog/file-dialog-service");
|
|
22
|
+
const electron_file_dialog_service_1 = require("@theia/filesystem/lib/electron-browser/file-dialog/electron-file-dialog-service");
|
|
23
|
+
const remote_service_1 = require("./remote-service");
|
|
24
|
+
let RemoteElectronFileDialogService = class RemoteElectronFileDialogService extends electron_file_dialog_service_1.ElectronFileDialogService {
|
|
25
|
+
showOpenDialog(props, folder) {
|
|
26
|
+
if (this.remoteService.isConnected()) {
|
|
27
|
+
return file_dialog_service_1.DefaultFileDialogService.prototype.showOpenDialog.call(this, props, folder);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
return super.showOpenDialog(props, folder);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
showSaveDialog(props, folder) {
|
|
34
|
+
if (this.remoteService.isConnected()) {
|
|
35
|
+
return file_dialog_service_1.DefaultFileDialogService.prototype.showSaveDialog.call(this, props, folder);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
return super.showSaveDialog(props, folder);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
exports.RemoteElectronFileDialogService = RemoteElectronFileDialogService;
|
|
43
|
+
tslib_1.__decorate([
|
|
44
|
+
(0, inversify_1.inject)(remote_service_1.RemoteService),
|
|
45
|
+
tslib_1.__metadata("design:type", remote_service_1.RemoteService)
|
|
46
|
+
], RemoteElectronFileDialogService.prototype, "remoteService", void 0);
|
|
47
|
+
exports.RemoteElectronFileDialogService = RemoteElectronFileDialogService = tslib_1.__decorate([
|
|
48
|
+
(0, inversify_1.injectable)()
|
|
49
|
+
], RemoteElectronFileDialogService);
|
|
50
|
+
//# sourceMappingURL=remote-electron-file-dialog-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-electron-file-dialog-service.js","sourceRoot":"","sources":["../../src/electron-browser/remote-electron-file-dialog-service.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAGhF,4DAAkE;AAGlE,uGAAyG;AACzG,kIAA4H;AAC5H,qDAAiD;AAG1C,IAAM,+BAA+B,GAArC,MAAM,+BAAgC,SAAQ,wDAAyB;IAMjE,cAAc,CAAC,KAA0B,EAAE,MAAiB;QACjE,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,EAAE,CAAC;YACnC,OAAO,8CAAwB,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACvF,CAAC;aAAM,CAAC;YACJ,OAAO,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC;IACL,CAAC;IAEQ,cAAc,CAAC,KAA0B,EAAE,MAA6B;QAC7E,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,EAAE,CAAC;YACnC,OAAO,8CAAwB,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACvF,CAAC;aAAM,CAAC;YACJ,OAAO,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC;IACL,CAAC;CACJ,CAAA;AArBY,0EAA+B;AAEE;IAAzC,IAAA,kBAAM,EAAC,8BAAa,CAAC;sCAAmC,8BAAa;sEAAC;0CAF9D,+BAA+B;IAD3C,IAAA,sBAAU,GAAE;GACA,+BAA+B,CAqB3C"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Command, CommandContribution, CommandRegistry, ContributionProvider, QuickInputService } from '@theia/core';
|
|
2
|
+
import { FrontendApplicationContribution, StatusBar } from '@theia/core/lib/browser';
|
|
3
|
+
import { RemoteStatus, RemoteStatusService } from '../electron-common/remote-status-service';
|
|
4
|
+
import { RemoteRegistry, RemoteRegistryContribution } from './remote-registry-contribution';
|
|
5
|
+
import { RemoteService } from './remote-service';
|
|
6
|
+
import { WindowService } from '@theia/core/lib/browser/window/window-service';
|
|
7
|
+
export declare namespace RemoteCommands {
|
|
8
|
+
const REMOTE_SELECT: Command;
|
|
9
|
+
const REMOTE_DISCONNECT: Command;
|
|
10
|
+
}
|
|
11
|
+
export declare class RemoteFrontendContribution implements CommandContribution, FrontendApplicationContribution {
|
|
12
|
+
protected readonly statusBar: StatusBar;
|
|
13
|
+
protected readonly quickInputService?: QuickInputService;
|
|
14
|
+
protected readonly commandRegistry: CommandRegistry;
|
|
15
|
+
protected readonly remoteService: RemoteService;
|
|
16
|
+
protected readonly remoteStatusService: RemoteStatusService;
|
|
17
|
+
protected readonly windowService: WindowService;
|
|
18
|
+
protected readonly remoteRegistryContributions: ContributionProvider<RemoteRegistryContribution>;
|
|
19
|
+
protected remoteRegistry: RemoteRegistry;
|
|
20
|
+
configure(): Promise<void>;
|
|
21
|
+
protected setStatusBar(info: RemoteStatus): Promise<void>;
|
|
22
|
+
registerCommands(commands: CommandRegistry): void;
|
|
23
|
+
protected disconnectRemote(): Promise<void>;
|
|
24
|
+
protected selectRemote(): Promise<void>;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=remote-frontend-contribution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-frontend-contribution.d.ts","sourceRoot":"","sources":["../../src/electron-browser/remote-frontend-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,oBAAoB,EAAO,iBAAiB,EAAkB,MAAM,aAAa,CAAC;AAC1I,OAAO,EAAE,+BAA+B,EAAE,SAAS,EAAsC,MAAM,yBAAyB,CAAC;AAEzH,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC7F,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAG9E,yBAAiB,cAAc,CAAC;IACrB,MAAM,aAAa,EAAE,OAE3B,CAAC;IACK,MAAM,iBAAiB,EAAE,OAG9B,CAAC;CACN;AAED,qBACa,0BAA2B,YAAW,mBAAmB,EAAE,+BAA+B;IAGnG,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAGxC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAGzD,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAGpD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAG5D,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,2BAA2B,EAAE,oBAAoB,CAAC,0BAA0B,CAAC,CAAC;IAEjG,SAAS,CAAC,cAAc,iBAAwB;IAE1C,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;cAYhB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB/D,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;cAejC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;cAUjC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;CA6BhD"}
|