diff --git a/resources/i18n/en.json5 b/resources/i18n/en.json5 index 72a9530b54..c955ef737c 100644 --- a/resources/i18n/en.json5 +++ b/resources/i18n/en.json5 @@ -192,9 +192,9 @@ "admin.access-control.epeople.table.edit": "Edit", - "item.access-control.epeople.table.edit.buttons.edit": "Edit", + "admin.access-control.epeople.table.edit.buttons.edit": "Edit", - "item.access-control.epeople.table.edit.buttons.remove": "Remove", + "admin.access-control.epeople.table.edit.buttons.remove": "Remove", "admin.access-control.epeople.no-items": "No EPeople to show.", @@ -241,6 +241,7 @@ "admin.access-control.epeople.notification.deleted.success": "Successfully deleted EPerson: \"{{name}}\"", + "admin.access-control.groups.title": "DSpace Angular :: Groups", "admin.access-control.groups.head": "Groups", @@ -276,8 +277,6 @@ "admin.access-control.groups.form.groupDescription": "Description", - "admin.access-control.groups.form.button.return": "Return", - "admin.access-control.groups.form.notification.created.success": "Successfully created group \"{{name}}\"", "admin.access-control.groups.form.notification.created.failure": "Failed to create group \"{{name}}\"", @@ -350,7 +349,7 @@ "admin.access-control.groups.form.subgroups-list.button.see-all": "Search all", - "admin.access-control.groups.form.return": "Return", + "admin.access-control.groups.form.return": "Return to groups", diff --git a/src/app/+admin/admin-access-control/epeople-registry/epeople-registry.component.ts b/src/app/+admin/admin-access-control/epeople-registry/epeople-registry.component.ts index 4fd663a6b8..591fe272d1 100644 --- a/src/app/+admin/admin-access-control/epeople-registry/epeople-registry.component.ts +++ b/src/app/+admin/admin-access-control/epeople-registry/epeople-registry.component.ts @@ -1,7 +1,8 @@ -import { Component } from '@angular/core'; +import { Component, OnDestroy, OnInit } from '@angular/core'; import { FormBuilder } from '@angular/forms'; import { TranslateService } from '@ngx-translate/core'; import { Observable } from 'rxjs'; +import { Subscription } from 'rxjs/internal/Subscription'; import { map, take } from 'rxjs/operators'; import { PaginatedList } from '../../../core/data/paginated-list'; import { RemoteData } from '../../../core/data/remote-data'; @@ -19,7 +20,7 @@ import { PaginationComponentOptions } from '../../../shared/pagination/paginatio * A component used for managing all existing epeople within the repository. * The admin can create, edit or delete epeople here. */ -export class EPeopleRegistryComponent { +export class EPeopleRegistryComponent implements OnInit, OnDestroy { labelPrefix = 'admin.access-control.epeople.'; @@ -45,15 +46,28 @@ export class EPeopleRegistryComponent { // The search form searchForm; + /** + * List of subscriptions + */ + subs: Subscription[] = []; + constructor(private epersonService: EPersonDataService, private translateService: TranslateService, private notificationsService: NotificationsService, private formBuilder: FormBuilder) { + } + + ngOnInit() { + this.isEPersonFormShown = false; this.updateEPeople({ currentPage: 1, elementsPerPage: this.config.pageSize }); - this.isEPersonFormShown = false; + this.subs.push(this.epersonService.getActiveEPerson().subscribe((eperson: EPerson) => { + if (eperson != null && eperson.id) { + this.isEPersonFormShown = true; + } + })); this.searchForm = this.formBuilder.group(({ scope: 'metadata', query: '', @@ -151,6 +165,13 @@ export class EPeopleRegistryComponent { } } + /** + * Unsub all subscriptions + */ + ngOnDestroy(): void { + this.subs.filter((sub) => hasValue(sub)).forEach((sub) => sub.unsubscribe()); + } + scrollToTop() { (function smoothscroll() { const currentScroll = document.documentElement.scrollTop || document.body.scrollTop; diff --git a/src/app/+admin/admin-access-control/epeople-registry/eperson-form/eperson-form.component.html b/src/app/+admin/admin-access-control/epeople-registry/eperson-form/eperson-form.component.html index 5ab10c94a3..578862b561 100644 --- a/src/app/+admin/admin-access-control/epeople-registry/eperson-form/eperson-form.component.html +++ b/src/app/+admin/admin-access-control/epeople-registry/eperson-form/eperson-form.component.html @@ -39,7 +39,8 @@ {{group.id}} - {{group.name}} + {{group.name}} diff --git a/src/app/+admin/admin-access-control/group-registry/group-form/group-form.component.ts b/src/app/+admin/admin-access-control/group-registry/group-form/group-form.component.ts index 415a0bb12e..0b8889fb28 100644 --- a/src/app/+admin/admin-access-control/group-registry/group-form/group-form.component.ts +++ b/src/app/+admin/admin-access-control/group-registry/group-form/group-form.component.ts @@ -134,7 +134,6 @@ export class GroupFormComponent implements OnInit, OnDestroy { onCancel() { this.groupDataService.cancelEditGroup(); this.cancelForm.emit(); - this.router.navigate([this.groupDataService.getGroupRegistryRouterLink()]); } /** diff --git a/src/app/+admin/admin-access-control/group-registry/group-form/members-list/members-list.component.html b/src/app/+admin/admin-access-control/group-registry/group-form/members-list/members-list.component.html index 5fb30ecf82..2025419e52 100644 --- a/src/app/+admin/admin-access-control/group-registry/group-form/members-list/members-list.component.html +++ b/src/app/+admin/admin-access-control/group-registry/group-form/members-list/members-list.component.html @@ -22,12 +22,12 @@ + [paginationOptions]="config" + [pageInfoState]="(ePeople | async)?.payload" + [collectionSize]="(ePeople | async)?.payload?.totalElements" + [hideGear]="true" + [hidePagerWhenSinglePage]="true" + (pageChange)="onPageChange($event)">
@@ -41,7 +41,8 @@ - +
{{ePerson.id}}{{ePerson.name}}{{ePerson.name}}
+
-