wrap TerminalTab into SSHTab

This commit is contained in:
Eugene Pankov 2019-01-05 15:17:41 +01:00
parent 2101c18657
commit deb99b0865
4 changed files with 34 additions and 4 deletions

View File

@ -0,0 +1,13 @@
:host {
flex: auto;
display: flex;
overflow: hidden;
&> .content {
flex: auto;
position: relative;
display: block;
overflow: hidden;
margin: 15px;
}
}

View File

@ -0,0 +1,14 @@
import { Component } from '@angular/core'
import { TerminalTabComponent } from 'terminus-terminal'
@Component({
template: `
<div
#content
class="content"
></div>
`,
styles: [require('./sshTab.component.scss')],
})
export class SSHTabComponent extends TerminalTabComponent {
}

View File

@ -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 { }

View File

@ -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<TerminalTabComponent> {
async connect (connection: SSHConnection): Promise<SSHTabComponent> {
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