1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-11-09 09:51:02 +01:00

moved some cipher selection logic to base component

This commit is contained in:
Addison Beck 2020-07-16 15:39:19 -05:00
parent 36012e7d6f
commit 44903ef807

View File

@ -31,6 +31,8 @@ export class CiphersComponent {
private pagedCiphersCount = 0;
private refreshing = false;
private maxCheckedCount = 500;
constructor(protected searchService: SearchService) { }
async load(filter: (cipher: CipherView) => boolean = null, deleted: boolean = false) {
@ -126,4 +128,29 @@ export class CiphersComponent {
this.pagedCiphers = [];
this.loadMore();
}
selectAll(select: boolean) {
if (select) {
this.selectAll(false);
}
const selectCount = select && this.ciphers.length > this.maxCheckedCount ? this.maxCheckedCount : this.ciphers.length;
for (let i = 0; i < selectCount; i++) {
this.checkCipher(this.ciphers[i], select);
}
}
checkCipher(c: CipherView, select?: boolean) {
(c as any).checked = select == null ? !(c as any).checked : select;
}
getSelected(): CipherView[] {
if (this.ciphers == null) {
return [];
}
return this.ciphers.filter((c) => !!(c as any).checked);
}
getSelectedIds(): string[] {
return this.getSelected().map((c) => c.id);
}
}