From deb99b08657d37c2ad1c06edacfb7ee5e6bdb882 Mon Sep 17 00:00:00 2001 From: Eugene Pankov Date: Sat, 5 Jan 2019 15:17:41 +0100 Subject: [PATCH] wrap TerminalTab into SSHTab --- terminus-ssh/src/components/sshTab.component.scss | 13 +++++++++++++ terminus-ssh/src/components/sshTab.component.ts | 14 ++++++++++++++ terminus-ssh/src/index.ts | 3 +++ terminus-ssh/src/services/ssh.service.ts | 8 ++++---- 4 files changed, 34 insertions(+), 4 deletions(-) create mode 100644 terminus-ssh/src/components/sshTab.component.scss create mode 100644 terminus-ssh/src/components/sshTab.component.ts diff --git a/terminus-ssh/src/components/sshTab.component.scss b/terminus-ssh/src/components/sshTab.component.scss new file mode 100644 index 00000000..45e3de33 --- /dev/null +++ b/terminus-ssh/src/components/sshTab.component.scss @@ -0,0 +1,13 @@ +:host { + flex: auto; + display: flex; + overflow: hidden; + + &> .content { + flex: auto; + position: relative; + display: block; + overflow: hidden; + margin: 15px; + } +} diff --git a/terminus-ssh/src/components/sshTab.component.ts b/terminus-ssh/src/components/sshTab.component.ts new file mode 100644 index 00000000..634ecc65 --- /dev/null +++ b/terminus-ssh/src/components/sshTab.component.ts @@ -0,0 +1,14 @@ +import { Component } from '@angular/core' +import { TerminalTabComponent } from 'terminus-terminal' + +@Component({ + template: ` +
+ `, + styles: [require('./sshTab.component.scss')], +}) +export class SSHTabComponent extends TerminalTabComponent { +} diff --git a/terminus-ssh/src/index.ts b/terminus-ssh/src/index.ts index 77f31ee7..cc94dddc 100644 --- a/terminus-ssh/src/index.ts +++ b/terminus-ssh/src/index.ts @@ -10,6 +10,7 @@ import { EditConnectionModalComponent } from './components/editConnectionModal.c import { SSHModalComponent } from './components/sshModal.component' import { PromptModalComponent } from './components/promptModal.component' import { SSHSettingsTabComponent } from './components/sshSettingsTab.component' +import { SSHTabComponent } from './components/sshTab.component' import { ButtonProvider } from './buttonProvider' import { SSHConfigProvider } from './config' @@ -33,12 +34,14 @@ import { SSHSettingsTabProvider } from './settings' PromptModalComponent, SSHModalComponent, SSHSettingsTabComponent, + SSHTabComponent, ], declarations: [ EditConnectionModalComponent, PromptModalComponent, SSHModalComponent, SSHSettingsTabComponent, + SSHTabComponent, ], }) export default class SSHModule { } diff --git a/terminus-ssh/src/services/ssh.service.ts b/terminus-ssh/src/services/ssh.service.ts index 76e46fdd..19405f20 100644 --- a/terminus-ssh/src/services/ssh.service.ts +++ b/terminus-ssh/src/services/ssh.service.ts @@ -5,9 +5,9 @@ import * as fs from 'mz/fs' import * as path from 'path' import { ToastrService } from 'ngx-toastr' import { AppService, HostAppService, Platform, Logger, LogService } from 'terminus-core' -import { TerminalTabComponent } from 'terminus-terminal' import { SSHConnection, SSHSession } from '../api' import { PromptModalComponent } from '../components/promptModal.component' +import { SSHTabComponent } from '../components/sshTab.component' import { PasswordStorageService } from './passwordStorage.service' const { SSH2Stream } = require('ssh2-streams') @@ -33,7 +33,7 @@ export class SSHService { this.logger = log.create('ssh') } - async connect (connection: SSHConnection): Promise { + async connect (connection: SSHConnection): Promise { let privateKey: string = null let privateKeyPassphrase: string = null let privateKeyPath = connection.privateKey @@ -171,9 +171,9 @@ export class SSHService { let session = new SSHSession(shell, connection) return this.zone.run(() => this.app.openNewTab( - TerminalTabComponent, + SSHTabComponent, { session, sessionOptions: {} } - ) as TerminalTabComponent) + ) as SSHTabComponent) } catch (error) { console.log(error) throw error