[ngClass]="isDialog() ? 'modal-header' : 'alert mt-3'">
<h4 class="modal-title" i18n>Course Users</h4>
<ng-container *ngIf="isDialog()">
- <button type="button" class="close"
- i18n-aria-label aria-label="Close" (click)="close()">
- <span aria-hidden="true">×</span>
- </button>
+ <button type="button" class="btn-close btn-close-white"
+ i18n-aria-label aria-label="Close" (click)="close()"></button>
</ng-container>
</div>
<div [ngClass]="isDialog() ? 'modal-body' : ''">
<div class="row" [ngClass]="isDialog() ? '' : 'mt-3'">
<div class="d-flex" [ngClass]="isDialog() ? 'col-md-6' : 'col-md-12'">
<div class="input-group">
- <div class="input-group-prepend">
- <label for="associate-user-barcode" class="input-group-text" i18n>Patron Barcode</label>
- </div>
+ <label for="associate-user-barcode" class="form-label input-group-text" i18n>Patron Barcode</label>
<input type="text" class="flex-grow-1" id="associate-user-barcode"
[(ngModel)]="userBarcode" (click)="$event.target.select()"
[disabled]="currentCourse && (courseIsArchived || currentCourse.is_archived()) === 't'"
</div>
<div class="d-flex" [ngClass]="isDialog() ? 'col-md-6' : 'col-md-12 mt-3'">
<div class="input-group">
- <div class="input-group-prepend">
- <label for="associate-user-role" class="input-group-text" i18n>Role</label>
- </div>
+ <label for="associate-user-role input-group-text" class="form-label input-group-text" i18n>Role</label>
<eg-combobox idlClass="acmr" [(ngModel)]="userRoleInput"
[asyncSupportsEmptyTermClick]="true"
[disabled]="currentCourse && (courseIsArchived || currentCourse.is_archived()) === 't'">
</div>
</div>
<div class="row mt-3">
- <div class="text-right" [ngClass]="isDialog() ? 'col-md-2' : 'col-md-6'">
+ <div class="text-end" [ngClass]="isDialog() ? 'col-md-2' : 'col-md-6'">
<button class="btn btn-primary"
[disabled]="currentCourse && (courseIsArchived || currentCourse.is_archived()) === 't'"
i18n [disabled]="!userBarcode" (click)="associateUser(userBarcode)">