From 882ecd30fe6337f26995a4154e7bb19bdcaa30df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adina=20=C8=9Aeudan?= Date: Fri, 8 Oct 2021 19:45:08 +0300 Subject: [PATCH] User listing fixes --- .../user-details/user-details.component.ts | 2 +- .../confirm-delete-users-dialog.component.html | 12 ++++++++---- .../confirm-delete-users-dialog.component.ts | 16 +++++----------- .../user-listing-screen.component.html | 2 +- .../user-listing-screen.component.ts | 7 ++++--- libs/common-ui | 2 +- 6 files changed, 20 insertions(+), 21 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.ts index 899bae8de..872bdc92e 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.ts @@ -123,7 +123,7 @@ export class UserDetailsComponent implements OnInit { } delete() { - this._dialogService.openDialog('deleteUsers', null, [this.user], () => { + this._dialogService.openDialog('deleteUsers', null, [this.user.id], () => { this.closeDialog.emit(true); }); } diff --git a/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-users-dialog/confirm-delete-users-dialog.component.html b/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-users-dialog/confirm-delete-users-dialog.component.html index 401771a9c..c4fd082b9 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-users-dialog/confirm-delete-users-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-users-dialog/confirm-delete-users-dialog.component.html @@ -1,5 +1,9 @@
-
+
@@ -22,7 +26,7 @@ | translate : { dossiersCount: dossiersCount, - usersCount: users.length + usersCount: userIds.length } }} @@ -30,11 +34,11 @@
diff --git a/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-users-dialog/confirm-delete-users-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-users-dialog/confirm-delete-users-dialog.component.ts index 0d07e6cc4..f2fd66060 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-users-dialog/confirm-delete-users-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-users-dialog/confirm-delete-users-dialog.component.ts @@ -2,7 +2,6 @@ import { Component, Inject } from '@angular/core'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { List, LoadingService } from '@iqser/common-ui'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; -import { User } from '@models/user'; import { DossiersService } from '../../../dossier/services/dossiers.service'; import { UserService } from '@services/user.service'; @@ -23,17 +22,12 @@ export class ConfirmDeleteUsersDialogComponent { private readonly _userService: UserService, private readonly _loadingService: LoadingService, private readonly _dossiersService: DossiersService, - @Inject(MAT_DIALOG_DATA) readonly users: List, + @Inject(MAT_DIALOG_DATA) readonly userIds: List, readonly dialogRef: MatDialogRef, ) { - this.dossiersCount = this._dossiersService.all.filter(dw => { - for (const user of this.users) { - if (dw.memberIds.indexOf(user.id) !== -1) { - return true; - } - } - return false; - }).length; + this.dossiersCount = this._dossiersService.all.filter(dw => + this.userIds.reduce((prev, userId) => prev || dw.memberIds.includes(userId), false), + ).length; } get valid() { @@ -43,7 +37,7 @@ export class ConfirmDeleteUsersDialogComponent { async deleteUser() { if (this.valid) { this._loadingService.start(); - await this._userService.delete(this.users.map(u => u.id)).toPromise(); + await this._userService.delete(this.userIds).toPromise(); this.dialogRef.close(true); } else { this.showToast = true; diff --git a/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.html b/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.html index a3d0c638a..fbc31b806 100644 --- a/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.html +++ b/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.html @@ -93,7 +93,7 @@ icon="iqser:edit" > implement }); } - openDeleteUsersDialog(users: User[], $event?: MouseEvent) { - this._dialogService.openDialog('deleteUsers', $event, users, async () => { + openDeleteUsersDialog(userIds: string[], $event?: MouseEvent) { + this._dialogService.openDialog('deleteUsers', $event, userIds, async () => { await this._loadData(); + this.listingService.updateSelection(); }); } @@ -99,7 +100,7 @@ export class UserListingScreenComponent extends ListingComponent implement } bulkDelete() { - this.openDeleteUsersDialog(this.entitiesService.all.filter(u => this.isSelected(u))); + this.openDeleteUsersDialog(this.listingService.selectedIds as string[]); } private async _loadData() { diff --git a/libs/common-ui b/libs/common-ui index ed518bbfd..6a13ac5e4 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit ed518bbfd4ec827b7849d9badd55fc38ed6bc1ee +Subproject commit 6a13ac5e483eee3438982bacdb38d3345614e1f3