From c285b89b6c33af98887dab71061a6e71a2023f2e Mon Sep 17 00:00:00 2001 From: Eugene Pankov Date: Tue, 4 Sep 2018 23:14:10 +0200 Subject: [PATCH] fixed #297 --- .../src/components/editConnectionModal.component.pug | 6 +++++- .../src/components/editConnectionModal.component.ts | 12 ++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/terminus-ssh/src/components/editConnectionModal.component.pug b/terminus-ssh/src/components/editConnectionModal.component.pug index 110851a3..ba99b909 100644 --- a/terminus-ssh/src/components/editConnectionModal.component.pug +++ b/terminus-ssh/src/components/editConnectionModal.component.pug @@ -41,7 +41,11 @@ type='text', [(ngModel)]='connection.user', ) - + + .alert.alert-info.d-flex.bg-transparent.text-white.align-items-center(*ngIf='hasSavedPassword') + .mr-auto There is a saved password for this connection + button.btn.btn-danger.ml-4((click)='clearSavedPassword()') Forget + .form-group label Private key .input-group diff --git a/terminus-ssh/src/components/editConnectionModal.component.ts b/terminus-ssh/src/components/editConnectionModal.component.ts index 200f938c..f67a01ff 100644 --- a/terminus-ssh/src/components/editConnectionModal.component.ts +++ b/terminus-ssh/src/components/editConnectionModal.component.ts @@ -1,6 +1,7 @@ import { Component } from '@angular/core' import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' import { ElectronService, HostAppService } from 'terminus-core' +import { PasswordStorageService } from '../services/passwordStorage.service' import { SSHConnection, LoginScript } from '../api' @Component({ @@ -9,15 +10,26 @@ import { SSHConnection, LoginScript } from '../api' export class EditConnectionModalComponent { connection: SSHConnection newScript: LoginScript + hasSavedPassword: boolean constructor ( private modalInstance: NgbActiveModal, private electron: ElectronService, private hostApp: HostAppService, + private passwordStorage: PasswordStorageService, ) { this.newScript = { expect: '', send: '' } } + async ngOnInit () { + this.hasSavedPassword = !!(await this.passwordStorage.loadPassword(this.connection)) + } + + clearSavedPassword () { + this.hasSavedPassword = false + this.passwordStorage.deletePassword(this.connection) + } + selectPrivateKey () { let path = this.electron.dialog.showOpenDialog( this.hostApp.getWindow(),