diff --git a/terminus-ssh/src/components/promptModal.component.pug b/terminus-ssh/src/components/promptModal.component.pug index 92369ab7..0e51382a 100644 --- a/terminus-ssh/src/components/promptModal.component.pug +++ b/terminus-ssh/src/components/promptModal.component.pug @@ -8,3 +8,12 @@ (keyup.enter)='ok()', (keyup.esc)='cancel()', ) + .d-flex.align-items-start.mt-2 + checkbox( + *ngIf='showRememberCheckbox', + [(model)]='remember', + text='Remember' + ) + button.btn.btn-primary.ml-auto( + (click)='ok()', + ) Enter diff --git a/terminus-ssh/src/components/promptModal.component.ts b/terminus-ssh/src/components/promptModal.component.ts index 38435e31..984f856a 100644 --- a/terminus-ssh/src/components/promptModal.component.ts +++ b/terminus-ssh/src/components/promptModal.component.ts @@ -8,6 +8,8 @@ import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' export class PromptModalComponent { @Input() value: string @Input() password: boolean + @Input() remember: boolean + @Input() showRememberCheckbox: boolean @ViewChild('input') input: ElementRef constructor ( diff --git a/terminus-ssh/src/services/ssh.service.ts b/terminus-ssh/src/services/ssh.service.ts index d0b85eda..8971312d 100644 --- a/terminus-ssh/src/services/ssh.service.ts +++ b/terminus-ssh/src/services/ssh.service.ts @@ -192,12 +192,16 @@ export class SSHService { const modal = this.ngbModal.open(PromptModalComponent) modal.componentInstance.prompt = `Password for ${session.connection.user}@${session.connection.host}` modal.componentInstance.password = true + modal.componentInstance.showRememberCheckbox = true try { - savedPassword = await modal.result + let password = await modal.result + if (modal.componentInstance.remember) { + savedPassword = password + } + return password } catch (_) { return '' } - return savedPassword }) })