moved spinner intro baseTerminalTab

This commit is contained in:
Eugene Pankov
2021-07-05 22:14:42 +02:00
parent 025d2d1748
commit 07095f3476
12 changed files with 61 additions and 91 deletions

View File

@@ -1,5 +1,4 @@
import colors from 'ansi-colors'
import { Spinner } from 'cli-spinner'
import { Component, Injector, HostListener } from '@angular/core'
import { NgbModal } from '@ng-bootstrap/ng-bootstrap'
import { first } from 'rxjs/operators'
@@ -26,13 +25,6 @@ export class SSHTabComponent extends BaseTerminalTabComponent {
private sessionStack: SSHSession[] = []
private recentInputs = ''
private reconnectOffered = false
private spinner = new Spinner({
text: 'Connecting',
stream: {
write: x => this.write(x),
},
})
private spinnerActive = false
constructor (
injector: Injector,
@@ -120,13 +112,11 @@ export class SSHTabComponent extends BaseTerminalTabComponent {
this.write('\r\n' + colors.black.bgWhite(' SSH ') + ` Connecting to ${session.profile.options.host}\r\n`)
this.startSpinner()
this.startSpinner('Connecting')
this.attachSessionHandler(session.serviceMessage$, msg => {
this.pauseSpinner(() => {
this.write(`\r${colors.black.bgWhite(' SSH ')} ${msg}\r\n`)
session.resize(this.size.columns, this.size.rows)
})
this.write(`\r${colors.black.bgWhite(' SSH ')} ${msg}\r\n`)
session.resize(this.size.columns, this.size.rows)
})
try {
@@ -232,24 +222,4 @@ export class SSHTabComponent extends BaseTerminalTabComponent {
onClick (): void {
this.sftpPanelVisible = false
}
private startSpinner () {
this.spinner.setSpinnerString(6)
this.spinner.start()
this.spinnerActive = true
}
private stopSpinner () {
this.spinner.stop(true)
this.spinnerActive = false
}
private pauseSpinner (work: () => void) {
const wasActive = this.spinnerActive
this.stopSpinner()
work()
if (wasActive) {
this.startSpinner()
}
}
}

View File

@@ -1,6 +1,6 @@
import colors from 'ansi-colors'
import { Duplex } from 'stream'
import { Injectable, Injector, NgZone } from '@angular/core'
import { Injectable, NgZone } from '@angular/core'
import { NgbModal } from '@ng-bootstrap/ng-bootstrap'
import { Client } from 'ssh2'
import { exec } from 'child_process'
@@ -16,8 +16,7 @@ export class SSHService {
private detectedWinSCPPath: string | null
private constructor (
private injector: Injector,
private log: LogService,
log: LogService,
private zone: NgZone,
private ngbModal: NgbModal,
private passwordStorage: PasswordStorageService,