46 lines
1.4 KiB
HTML
46 lines
1.4 KiB
HTML
@if (itemResource.isLoading()) {
|
|
<app-skeleton-loader type="card" [count]="1" />
|
|
} @else if (itemResource.error()) {
|
|
<app-error-state (retryAction)="itemResource.reload()" />
|
|
} @else {
|
|
<h2>Role</h2>
|
|
<form class="flex-col">
|
|
<div class="row-container">
|
|
<mat-form-field class="flex-auto">
|
|
<mat-label>Name</mat-label>
|
|
<input matInput [formField]="form.name" />
|
|
</mat-form-field>
|
|
</div>
|
|
|
|
<div class="two-col">
|
|
<div class="col">
|
|
<h3>Permissions</h3>
|
|
@for (p of form.permissions; track p.id().value() || i; let i = $index) {
|
|
<div class="row-container">
|
|
<mat-checkbox
|
|
[formField]="p.enabled"
|
|
[disabled]="impliedPermissions().has(p.id().value())"
|
|
class="flex-auto"
|
|
>{{ p.name().value() }}</mat-checkbox
|
|
>
|
|
</div>
|
|
}
|
|
</div>
|
|
|
|
<div class="col">
|
|
<h3>Includes Roles</h3>
|
|
@for (r of form.includedRoles; track r.id().value() || i; let i = $index) {
|
|
<div class="row-container">
|
|
<mat-checkbox [formField]="r.enabled" class="flex-auto">{{ r.name().value() }}</mat-checkbox>
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
</form>
|
|
|
|
<div class="row-container">
|
|
<button type="button" mat-raised-button color="primary" class="" (click)="save()">Save</button>
|
|
<button type="button" mat-raised-button color="warn" (click)="confirmDelete()">Delete</button>
|
|
</div>
|
|
}
|