28 lines
1.1 KiB
HTML
28 lines
1.1 KiB
HTML
<ng-container *transloco="let t; read:'role-selector'">
|
|
<div class="d-flex justify-content-between">
|
|
<div class="col-auto">
|
|
<h4>{{t('title')}}</h4>
|
|
</div>
|
|
<div class="col-auto">
|
|
@if(selectedRoles.length > 0) {
|
|
<span class="form-check float-end">
|
|
<input id="role--select-all" type="checkbox" class="form-check-input"
|
|
[ngModel]="selectAll" (change)="toggleAll()" [indeterminate]="hasSomeSelected">
|
|
<label for="role--select-all" class="form-check-label">{{selectAll ? t('deselect-all') : t('select-all')}}</label>
|
|
</span>
|
|
}
|
|
</div>
|
|
</div>
|
|
|
|
<ul class="list-group">
|
|
@for(role of selectedRoles; track role; let i = $index) {
|
|
<li class="list-group-item">
|
|
<div class="form-check">
|
|
<input id="role-{{i}}" type="checkbox" class="form-check-input"
|
|
[(ngModel)]="role.selected" [disabled]="role.disabled" name="role" (ngModelChange)="handleModelUpdate()">
|
|
<label for="role-{{i}}" class="form-check-label">{{role.data}}</label>
|
|
</div>
|
|
</li>
|
|
}
|
|
</ul>
|
|
</ng-container>
|