mirror of
https://github.com/bitwarden/browser.git
synced 2024-11-27 12:36:14 +01:00
password history component
This commit is contained in:
parent
0b29dc10bf
commit
c0f6fa2db1
32
src/angular/components/password-history.component.ts
Normal file
32
src/angular/components/password-history.component.ts
Normal 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')));
|
||||||
|
}
|
||||||
|
}
|
@ -27,6 +27,7 @@ import { LoginUriView } from '../../models/view/loginUriView';
|
|||||||
export class ViewComponent implements OnDestroy {
|
export class ViewComponent implements OnDestroy {
|
||||||
@Input() cipherId: string;
|
@Input() cipherId: string;
|
||||||
@Output() onEditCipher = new EventEmitter<CipherView>();
|
@Output() onEditCipher = new EventEmitter<CipherView>();
|
||||||
|
@Output() onViewCipherPasswordHistory = new EventEmitter<CipherView>();
|
||||||
|
|
||||||
cipher: CipherView;
|
cipher: CipherView;
|
||||||
showPassword: boolean;
|
showPassword: boolean;
|
||||||
@ -159,6 +160,11 @@ export class ViewComponent implements OnDestroy {
|
|||||||
a.downloading = false;
|
a.downloading = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
viewHistory() {
|
||||||
|
this.analytics.eventTrack.next({ action: 'View Password History' });
|
||||||
|
this.onViewCipherPasswordHistory.emit(this.cipher);
|
||||||
|
}
|
||||||
|
|
||||||
private cleanUp() {
|
private cleanUp() {
|
||||||
this.totpCode = null;
|
this.totpCode = null;
|
||||||
this.cipher = null;
|
this.cipher = null;
|
||||||
|
Loading…
Reference in New Issue
Block a user