From 5939d590e3e826cedbdff0547126a48c03c33df1 Mon Sep 17 00:00:00 2001 From: Oscar Hinton Date: Thu, 10 Jun 2021 16:36:30 +0200 Subject: [PATCH] Ensure we only select all visible users (#1025) --- src/app/app.module.ts | 2 +- src/app/organizations/manage/people.component.ts | 14 ++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/app/app.module.ts b/src/app/app.module.ts index aee6e9c6e2..bafc22a08f 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -481,7 +481,7 @@ registerLocaleData(localeZhTw, 'zh-TW'); TwoFactorYubiKeyComponent, UpdateKeyComponent, ], - providers: [DatePipe], + providers: [DatePipe, SearchPipe], bootstrap: [AppComponent], }) export class AppModule { } diff --git a/src/app/organizations/manage/people.component.ts b/src/app/organizations/manage/people.component.ts index 755d4ef3f6..640d892835 100644 --- a/src/app/organizations/manage/people.component.ts +++ b/src/app/organizations/manage/people.component.ts @@ -37,6 +37,8 @@ import { OrganizationUserStatusType } from 'jslib-common/enums/organizationUserS import { OrganizationUserType } from 'jslib-common/enums/organizationUserType'; import { PolicyType } from 'jslib-common/enums/policyType'; +import { SearchPipe } from 'jslib-angular/pipes/search.pipe'; + import { Utils } from 'jslib-common/misc/utils'; import { ModalComponent } from '../../modal.component'; @@ -95,7 +97,8 @@ export class PeopleComponent implements OnInit { private platformUtilsService: PlatformUtilsService, private toasterService: ToasterService, private cryptoService: CryptoService, private userService: UserService, private router: Router, private storageService: StorageService, private searchService: SearchService, - private validationService: ValidationService, private policyService: PolicyService) { } + private validationService: ValidationService, private policyService: PolicyService, + private searchPipe: SearchPipe) { } async ngOnInit() { this.route.parent.parent.params.subscribe(async params => { @@ -545,11 +548,14 @@ export class PeopleComponent implements OnInit { if (select) { this.selectAll(false); } - const selectCount = select && this.users.length > MaxCheckedCount + + const filteredUsers = this.searchPipe.transform(this.users, this.searchText, 'name', 'email', 'id'); + + const selectCount = select && filteredUsers.length > MaxCheckedCount ? MaxCheckedCount - : this.users.length; + : filteredUsers.length; for (let i = 0; i < selectCount; i++) { - this.checkUser(this.users[i], select); + this.checkUser(filteredUsers[i], select); } }