Skip to content

Commit 7f4c53d

Browse files
committed
pr comments and fixes
1 parent 76e22ae commit 7f4c53d

File tree

7 files changed

+461
-745
lines changed

7 files changed

+461
-745
lines changed

web-app/admin/src/app/admin/admin-event/admin-events.module.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import { MatFormFieldModule } from '@angular/material/form-field';
1313
import { MatIconModule } from '@angular/material/icon';
1414
import { MatInputModule } from '@angular/material/input';
1515
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
16+
import { MatSelectModule } from '@angular/material/select';
1617
import { MatTooltipModule } from '@angular/material/tooltip';
1718
import { MatTableModule } from '@angular/material/table';
1819
import { MatPaginatorModule } from '@angular/material/paginator';
@@ -60,6 +61,7 @@ function stateParamsFactory(i: any): any {
6061
MatIconModule,
6162
MatInputModule,
6263
MatProgressSpinnerModule,
64+
MatSelectModule,
6365
MatTooltipModule,
6466
MatTableModule,
6567
MatPaginatorModule,

web-app/admin/src/app/admin/admin-event/delete-event/delete-event.component.ts

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Component, OnInit, Inject } from '@angular/core';
1+
import { Component, Inject } from '@angular/core';
22
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
33
import { EventsService } from '../events.service';
44
import { Event as MageEvent } from 'src/app/filter/filter.types';
@@ -12,7 +12,7 @@ import { Event as MageEvent } from 'src/app/filter/filter.types';
1212
templateUrl: './delete-event.component.html',
1313
styleUrls: ['./delete-event.component.scss']
1414
})
15-
export class DeleteEventComponent implements OnInit {
15+
export class DeleteEventComponent {
1616
event: MageEvent;
1717
deleting = false;
1818
confirm: { text?: string } = {};
@@ -31,12 +31,6 @@ export class DeleteEventComponent implements OnInit {
3131
this.event = data.event;
3232
}
3333

34-
/**
35-
* Component initialization lifecycle hook.
36-
*/
37-
ngOnInit(): void {
38-
}
39-
4034
/**
4135
* Deletes the event after confirmation.
4236
*/

web-app/admin/src/app/admin/admin-event/event-details/event-details.component.html

Lines changed: 48 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -121,14 +121,40 @@ <h3 class="danger-zone-title">Delete Event</h3>
121121
<span *ngIf="!editMembers" [class]="getRoleClass(user)">
122122
{{ getUserRole(user) }}
123123
</span>
124-
<select *ngIf="hasUpdatePermission && editMembers"
125-
class="role-select" [value]="getUserRole(user)"
126-
(change)="updateUserRole(user, $event)"
124+
<mat-form-field *ngIf="hasUpdatePermission && editMembers"
125+
class="role-select-field" appearance="outline"
127126
(click)="$event.stopPropagation()">
128-
<option value="GUEST">Guest</option>
129-
<option value="MANAGER">Manager</option>
130-
<option value="OWNER">Owner</option>
131-
</select>
127+
<mat-select [value]="getUserRole(user)"
128+
(selectionChange)="updateUserRole(user, $event)"
129+
(click)="$event.stopPropagation()"
130+
panelClass="role-select-panel"
131+
disableOptionCentering="true">
132+
<mat-select-trigger>
133+
{{ getUserRole(user) }}
134+
</mat-select-trigger>
135+
<mat-option value="GUEST">
136+
<div class="role-option">
137+
<div class="role-name">Guest</div>
138+
<div class="role-description">Can view and
139+
contribute observations</div>
140+
</div>
141+
</mat-option>
142+
<mat-option value="MANAGER">
143+
<div class="role-option">
144+
<div class="role-name">Manager</div>
145+
<div class="role-description">Can edit event
146+
settings and manage members</div>
147+
</div>
148+
</mat-option>
149+
<mat-option value="OWNER">
150+
<div class="role-option">
151+
<div class="role-name">Owner</div>
152+
<div class="role-description">Full control including
153+
deletion</div>
154+
</div>
155+
</mat-option>
156+
</mat-select>
157+
</mat-form-field>
132158
</div>
133159
<div class="row-actions" *ngIf="hasUpdatePermission && editMembers">
134160
<button class="action-button btn-danger btn-sm"
@@ -240,7 +266,7 @@ <h3 class="danger-zone-title">Delete Event</h3>
240266

241267
<div class="table-scroll">
242268
<table mat-table [class.mat-table]="true" [dataSource]="layersDataSource"
243-
class="mat-table-no-header" *ngIf="filteredLayers.length > 0">
269+
class="mat-table-no-header" *ngIf="layersPage.totalCount > 0 && !loadingLayers">
244270
<ng-container matColumnDef="content">
245271
<td mat-cell *matCellDef="let layer" class="table-row-content">
246272
<div class="row-item" (click)="gotoLayer(layer)">
@@ -267,16 +293,23 @@ <h3 class="danger-zone-title">Delete Event</h3>
267293
</tr>
268294
</table>
269295

270-
<div class="empty-state" *ngIf="filteredLayers.length === 0">
296+
<div class="empty-state" *ngIf="layersPage.totalCount === 0 && !loadingLayers">
271297
<div class="empty-state-content">
272298
<i class="fa fa-map empty-state-icon"></i>
273299
<div class="empty-state-text">No layers for {{ event?.name }}</div>
274300
</div>
275301
</div>
276302
</div>
277-
<mat-paginator [length]="filteredLayers.length" [pageSize]="layersPerPage"
303+
<mat-paginator [length]="layersPage.totalCount" [pageSize]="layersPageSize"
278304
[pageSizeOptions]="pageSizeOptions" (page)="onLayersPageChange($event)">
279305
</mat-paginator>
306+
307+
<div class="loading-overlay" *ngIf="loadingLayers">
308+
<div class="loading-content">
309+
<div class="loading-text">Loading</div>
310+
<i class="fa fa-spinner fa-spin loading-spinner"></i>
311+
</div>
312+
</div>
280313
</div>
281314
</div>
282315
</div>
@@ -293,7 +326,7 @@ <h3 class="danger-zone-title">Delete Event</h3>
293326
[@listAnimation]="formsAnimationState" #formsList>
294327
<div class="form-item" cdkDrag [cdkDragBoundary]="formsList"
295328
[class.form-moving]="animatingFormId === form.id"
296-
*ngFor="let form of filteredForms; let first = first; let last = last; trackBy: trackByFormId"
329+
*ngFor="let form of filteredForms; trackBy: trackByFormId"
297330
(click)="editForm(event, form)">
298331
<mat-icon cdkDragHandle class="drag-handle">drag_indicator</mat-icon>
299332
<mat-icon>description</mat-icon>
@@ -306,12 +339,12 @@ <h3 class="danger-zone-title">Delete Event</h3>
306339
<button mat-icon-button (click)="preview($event, form)" matTooltip="Preview Form">
307340
<mat-icon>visibility</mat-icon>
308341
</button>
309-
<button mat-icon-button *ngIf="!first" (click)="moveFormUp($event, form)"
310-
matTooltip="Move form up">
342+
<button mat-icon-button *ngIf="canMoveFormUp(form)"
343+
(click)="moveFormUp($event, form)" matTooltip="Move form up">
311344
<mat-icon>arrow_upward</mat-icon>
312345
</button>
313-
<button mat-icon-button *ngIf="!last" (click)="moveFormDown($event, form)"
314-
matTooltip="Move form down">
346+
<button mat-icon-button *ngIf="canMoveFormDown(form)"
347+
(click)="moveFormDown($event, form)" matTooltip="Move form down">
315348
<mat-icon>arrow_downward</mat-icon>
316349
</button>
317350
</div>

0 commit comments

Comments
 (0)