Files
barker/bookie/src/app/roles/role-list/role-list.component.html
T

48 lines
1.4 KiB
HTML

<h2 class="row-container space-between">
<span>Roles</span>
<a mat-button [routerLink]="['/roles', 'new']">
<mat-icon>add_box</mat-icon>
Add
</a>
</h2>
<mat-table #table [dataSource]="dataSource" aria-label="Elements">
<!-- Name Column -->
<ng-container matColumnDef="name">
<mat-header-cell *matHeaderCellDef>Name</mat-header-cell>
<mat-cell *matCellDef="let row"
><a [routerLink]="['/roles', row.id]">{{ row.name }}</a></mat-cell
>
</ng-container>
<!-- Included Roles Column (NEW) -->
<ng-container matColumnDef="includedRoles">
<mat-header-cell *matHeaderCellDef>Includes</mat-header-cell>
<mat-cell *matCellDef="let row">
@if (row.includedRoles?.length) {
<ul>
@for (r of row.includedRoles; track r) {
<li>{{ r }}</li>
}
</ul>
} @else {
<span>-</span>
}
</mat-cell>
</ng-container>
<!-- Permissions Column -->
<ng-container matColumnDef="permissions">
<mat-header-cell *matHeaderCellDef>Permissions</mat-header-cell>
<mat-cell *matCellDef="let row">
<ul>
@for (permission of row.permissions; track permission) {
<li>{{ permission }}</li>
}
</ul>
</mat-cell>
</ng-container>
<mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row>
<mat-row *matRowDef="let row; columns: displayedColumns"></mat-row>
</mat-table>