diff --git a/apps/red-ui/src/app/modules/admin/screens/trash/trash-screen.component.html b/apps/red-ui/src/app/modules/admin/screens/trash/trash-screen.component.html
index aeecab805..72a9d6c3d 100644
--- a/apps/red-ui/src/app/modules/admin/screens/trash/trash-screen.component.html
+++ b/apps/red-ui/src/app/modules/admin/screens/trash/trash-screen.component.html
@@ -29,7 +29,7 @@
@@ -154,7 +154,7 @@
diff --git a/apps/red-ui/src/app/modules/admin/screens/trash/trash-screen.component.scss b/apps/red-ui/src/app/modules/admin/screens/trash/trash-screen.component.scss
index f7cb8f52a..bfedd995b 100644
--- a/apps/red-ui/src/app/modules/admin/screens/trash/trash-screen.component.scss
+++ b/apps/red-ui/src/app/modules/admin/screens/trash/trash-screen.component.scss
@@ -3,6 +3,10 @@
.header-item {
padding: 0 24px 0 10px;
+
+ redaction-circle-button:not(:last-child) {
+ margin-right: 4px !important;
+ }
}
redaction-table-col-name::ng-deep {
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 bcea4753b..f83253c24 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
@@ -54,9 +54,9 @@
diff --git a/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.ts
index e29a141bb..adb0bf99e 100644
--- a/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.ts
+++ b/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.ts
@@ -1,4 +1,11 @@
-import { Component, Injector, OnInit, QueryList, ViewChildren } from '@angular/core';
+import {
+ ChangeDetectionStrategy,
+ Component,
+ Injector,
+ OnInit,
+ QueryList,
+ ViewChildren
+} from '@angular/core';
import { PermissionsService } from '@services/permissions.service';
import { UserService } from '@services/user.service';
import { User, UserControllerService } from '@redaction/red-ui-http';
@@ -13,10 +20,13 @@ import { SearchService } from '../../../shared/services/search.service';
import { ScreenStateService } from '../../../shared/services/screen-state.service';
import { SortingService } from '../../../../services/sorting.service';
import { NewBaseListingComponent } from '../../../shared/base/new-base-listing.component';
+import { Observable } from 'rxjs';
+import { map } from 'rxjs/operators';
@Component({
templateUrl: './user-listing-screen.component.html',
styleUrls: ['./user-listing-screen.component.scss'],
+ changeDetection: ChangeDetectionStrategy.OnPush,
providers: [FilterService, SearchService, ScreenStateService, SortingService]
})
export class UserListingScreenComponent extends NewBaseListingComponent implements OnInit {
@@ -39,8 +49,9 @@ export class UserListingScreenComponent extends NewBaseListingComponent im
this._screenStateService.setIdKey('userId');
}
- get canDeleteSelected(): boolean {
- return this._screenStateService.selectedEntitiesIds.indexOf(this.userService.userId) === -1;
+ get canDeleteSelected$(): Observable {
+ const entities$ = this._screenStateService.selectedEntitiesIds$;
+ return entities$.pipe(map(all => all.indexOf(this.userService.userId) === -1));
}
async ngOnInit() {
@@ -74,11 +85,7 @@ export class UserListingScreenComponent extends NewBaseListingComponent im
this._avatars.find(item => item.userId === user.userId).detectChanges();
}
- toggleCollapsedDetails() {
- this.collapsedDetails = !this.collapsedDetails;
- }
-
- async bulkDelete() {
+ bulkDelete() {
this.openDeleteUsersDialog(
this._screenStateService.entities.filter(u => this.isSelected(u))
);
@@ -88,10 +95,6 @@ export class UserListingScreenComponent extends NewBaseListingComponent im
return user.userId;
}
- protected _searchField(user: any): string {
- return this.userService.getName(user);
- }
-
private async _loadData() {
this._screenStateService.setEntities(
await this._userControllerService.getAllUsers().toPromise()
diff --git a/apps/red-ui/src/app/modules/icons/icons.module.ts b/apps/red-ui/src/app/modules/icons/icons.module.ts
index 0fdd3947e..a8dace459 100644
--- a/apps/red-ui/src/app/modules/icons/icons.module.ts
+++ b/apps/red-ui/src/app/modules/icons/icons.module.ts
@@ -62,6 +62,7 @@ export class IconsModule {
'pages',
'plus',
'preview',
+ 'put-back',
'radio-indeterminate',
'radio-selected',
'read-only',
diff --git a/apps/red-ui/src/assets/icons/general/put-back.svg b/apps/red-ui/src/assets/icons/general/put-back.svg
new file mode 100644
index 000000000..3a0466e50
--- /dev/null
+++ b/apps/red-ui/src/assets/icons/general/put-back.svg
@@ -0,0 +1,20 @@
+
+