Commits

Tim Donohue authored 9117ac005f5
Address feedback.

Run empty search on init. Reorder sections to list current members before add members (for both eperson and groups)
No tags

src/app/access-control/group-registry/group-form/members-list/members-list.component.html

Modified
1 1 <ng-container>
2 2 <h3 class="border-bottom pb-2">{{messagePrefix + '.head' | translate}}</h3>
3 3
4 + <h4>{{messagePrefix + '.headMembers' | translate}}</h4>
5 +
6 + <ds-pagination *ngIf="(ePeopleMembersOfGroup | async)?.totalElements > 0"
7 + [paginationOptions]="config"
8 + [pageInfoState]="(ePeopleMembersOfGroup | async)"
9 + [collectionSize]="(ePeopleMembersOfGroup | async)?.totalElements"
10 + [hideGear]="true"
11 + [hidePagerWhenSinglePage]="true">
12 +
13 + <div class="table-responsive">
14 + <table id="ePeopleMembersOfGroup" class="table table-striped table-hover table-bordered">
15 + <thead>
16 + <tr>
17 + <th scope="col" class="align-middle">{{messagePrefix + '.table.id' | translate}}</th>
18 + <th scope="col" class="align-middle">{{messagePrefix + '.table.name' | translate}}</th>
19 + <th scope="col" class="align-middle">{{messagePrefix + '.table.identity' | translate}}</th>
20 + <th class="align-middle">{{messagePrefix + '.table.edit' | translate}}</th>
21 + </tr>
22 + </thead>
23 + <tbody>
24 + <tr *ngFor="let eperson of (ePeopleMembersOfGroup | async)?.page">
25 + <td class="align-middle">{{eperson.id}}</td>
26 + <td class="align-middle">
27 + <a (click)="ePersonDataService.startEditingNewEPerson(eperson)"
28 + [routerLink]="[ePersonDataService.getEPeoplePageRouterLink()]">
29 + {{ dsoNameService.getName(eperson) }}
30 + </a>
31 + </td>
32 + <td class="align-middle">
33 + {{messagePrefix + '.table.email' | translate}}: {{ eperson.email ? eperson.email : '-' }}<br/>
34 + {{messagePrefix + '.table.netid' | translate}}: {{ eperson.netid ? eperson.netid : '-' }}
35 + </td>
36 + <td class="align-middle">
37 + <div class="btn-group edit-field">
38 + <button (click)="deleteMemberFromGroup(eperson)"
39 + [disabled]="actionConfig.remove.disabled"
40 + [ngClass]="['btn btn-sm', actionConfig.remove.css]"
41 + title="{{messagePrefix + '.table.edit.buttons.remove' | translate: { name: dsoNameService.getName(eperson) } }}">
42 + <i [ngClass]="actionConfig.remove.icon"></i>
43 + </button>
44 + </div>
45 + </td>
46 + </tr>
47 + </tbody>
48 + </table>
49 + </div>
50 +
51 + </ds-pagination>
52 +
53 + <div *ngIf="(ePeopleMembersOfGroup | async) == undefined || (ePeopleMembersOfGroup | async)?.totalElements == 0" class="alert alert-info w-100 mb-2"
54 + role="alert">
55 + {{messagePrefix + '.no-members-yet' | translate}}
56 + </div>
57 +
4 58 <h4 id="search" class="border-bottom pb-2">
5 59 <span
6 60 *dsContextHelp="{
7 61 content: 'admin.access-control.groups.form.tooltip.editGroup.addEpeople',
8 62 id: 'edit-group-add-epeople',
9 63 iconPlacement: 'right',
10 64 tooltipPlacement: ['top', 'right', 'bottom']
11 65 }"
12 66 >
13 67 {{messagePrefix + '.search.head' | translate}}
77 131 </div>
78 132
79 133 </ds-pagination>
80 134
81 135 <div *ngIf="(ePeopleSearch | async)?.totalElements == 0 && searchDone"
82 136 class="alert alert-info w-100 mb-2"
83 137 role="alert">
84 138 {{messagePrefix + '.no-items' | translate}}
85 139 </div>
86 140
87 - <h4>{{messagePrefix + '.headMembers' | translate}}</h4>
88 -
89 - <ds-pagination *ngIf="(ePeopleMembersOfGroup | async)?.totalElements > 0"
90 - [paginationOptions]="config"
91 - [pageInfoState]="(ePeopleMembersOfGroup | async)"
92 - [collectionSize]="(ePeopleMembersOfGroup | async)?.totalElements"
93 - [hideGear]="true"
94 - [hidePagerWhenSinglePage]="true">
95 -
96 - <div class="table-responsive">
97 - <table id="ePeopleMembersOfGroup" class="table table-striped table-hover table-bordered">
98 - <thead>
99 - <tr>
100 - <th scope="col" class="align-middle">{{messagePrefix + '.table.id' | translate}}</th>
101 - <th scope="col" class="align-middle">{{messagePrefix + '.table.name' | translate}}</th>
102 - <th scope="col" class="align-middle">{{messagePrefix + '.table.identity' | translate}}</th>
103 - <th class="align-middle">{{messagePrefix + '.table.edit' | translate}}</th>
104 - </tr>
105 - </thead>
106 - <tbody>
107 - <tr *ngFor="let eperson of (ePeopleMembersOfGroup | async)?.page">
108 - <td class="align-middle">{{eperson.id}}</td>
109 - <td class="align-middle">
110 - <a (click)="ePersonDataService.startEditingNewEPerson(eperson)"
111 - [routerLink]="[ePersonDataService.getEPeoplePageRouterLink()]">
112 - {{ dsoNameService.getName(eperson) }}
113 - </a>
114 - </td>
115 - <td class="align-middle">
116 - {{messagePrefix + '.table.email' | translate}}: {{ eperson.email ? eperson.email : '-' }}<br/>
117 - {{messagePrefix + '.table.netid' | translate}}: {{ eperson.netid ? eperson.netid : '-' }}
118 - </td>
119 - <td class="align-middle">
120 - <div class="btn-group edit-field">
121 - <button (click)="deleteMemberFromGroup(eperson)"
122 - [disabled]="actionConfig.remove.disabled"
123 - [ngClass]="['btn btn-sm', actionConfig.remove.css]"
124 - title="{{messagePrefix + '.table.edit.buttons.remove' | translate: { name: dsoNameService.getName(eperson) } }}">
125 - <i [ngClass]="actionConfig.remove.icon"></i>
126 - </button>
127 - </div>
128 - </td>
129 - </tr>
130 - </tbody>
131 - </table>
132 - </div>
133 -
134 - </ds-pagination>
135 -
136 - <div *ngIf="(ePeopleMembersOfGroup | async) == undefined || (ePeopleMembersOfGroup | async)?.totalElements == 0" class="alert alert-info w-100 mb-2"
137 - role="alert">
138 - {{messagePrefix + '.no-members-yet' | translate}}
139 - </div>
140 -
141 141 </ng-container>

Everything looks good. We'll let you know here if there's anything you should know about.

Add shortcut