password history component

This commit is contained in:
Kyle Spearrin 2018-07-30 10:04:20 -04:00
parent 0b29dc10bf
commit c0f6fa2db1
2 changed files with 38 additions and 0 deletions

View File

@ -0,0 +1,32 @@
import { ToasterService } from 'angular2-toaster';
import { Angulartics2 } from 'angulartics2';
import { OnInit } from '@angular/core';
import { CipherService } from '../../abstractions/cipher.service';
import { I18nService } from '../../abstractions/i18n.service';
import { PlatformUtilsService } from '../../abstractions/platformUtils.service';
import { PasswordHistoryView } from '../../models/view/passwordHistoryView';
export class PasswordHistoryComponent implements OnInit {
cipherId: string;
history: PasswordHistoryView[] = [];
constructor(protected cipherService: CipherService, protected analytics: Angulartics2,
protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,
protected toasterService: ToasterService, private win: Window) { }
async ngOnInit() {
const cipher = await this.cipherService.get(this.cipherId);
const decCipher = await cipher.decrypt();
this.history = decCipher.passwordHistory == null ? [] : decCipher.passwordHistory;
}
copy(password: string) {
this.analytics.eventTrack.next({ action: 'Copied Password History' });
const copyOptions = this.win != null ? { doc: this.win.document } : null;
this.platformUtilsService.copyToClipboard(password, copyOptions);
this.toasterService.popAsync('info', null, this.i18nService.t('valueCopied', this.i18nService.t('password')));
}
}

View File

@ -27,6 +27,7 @@ import { LoginUriView } from '../../models/view/loginUriView';
export class ViewComponent implements OnDestroy {
@Input() cipherId: string;
@Output() onEditCipher = new EventEmitter<CipherView>();
@Output() onViewCipherPasswordHistory = new EventEmitter<CipherView>();
cipher: CipherView;
showPassword: boolean;
@ -159,6 +160,11 @@ export class ViewComponent implements OnDestroy {
a.downloading = false;
}
viewHistory() {
this.analytics.eventTrack.next({ action: 'View Password History' });
this.onViewCipherPasswordHistory.emit(this.cipher);
}
private cleanUp() {
this.totpCode = null;
this.cipher = null;