@if (showForm) {

{{ (editingId === null ? 'New Locker Class' : 'Edit Locker Class') | translate }} {{ 'Sr No' | translate }}: {{ editingId ?? ('Auto' | translate) }}

@if (isSuperUser) { {{ 'Branch' | translate }} @for (office of offices; track office.id) { {{ office.name }} } } @else {
{{ 'Branch' | translate }} {{ ownOfficeName }}
} {{ 'Class' | translate }} {{ 'Letters and digits, e.g. A1, B2' }} @if (classForm.get('classCode')?.hasError('pattern')) { {{ 'Only letters and digits' | translate }} } {{ 'Class Name' | translate }} @for (name of classNames; track name) { {{ name }} } {{ 'Area' | translate }} {{ 'Locker size' | translate }}
{{ 'Rent (yearly)' | translate }} {{ 'Member Rent (yearly)' | translate }} {{ 'Blank = same as Rent' | translate }} {{ 'Deposit' | translate }} {{ 'Member Deposit' | translate }} {{ 'Blank = same as Deposit' | translate }}
{{ 'Start Locker No' | translate }} {{ 'End Locker No' | translate }}
{{ 'Total Lockers' | translate }} {{ totalLockers }}
@if (classForm.hasError('endBeforeStart')) {
{{ 'End Locker No cannot be less than Start Locker No' | translate }}
} @if (overlappingRange; as clash) {
{{ 'Class' | translate }} {{ clash.classCode }} {{ 'already has lockers' | translate }} {{ clash.startLockerNo }}–{{ clash.endLockerNo }}
} @if (editingId !== null) {
{{ 'Class and locker numbers cannot be changed. Add a new row for a different range.' }}
}
{{ 'Effective From' | translate }} {{ 'Effective To' | translate }} {{ 'Blank = no end date' | translate }}
@if (classForm.hasError('toBeforeFrom')) {
{{ 'Effective To cannot be before Effective From' | translate }}
}
}
@for (s of ['ACTIVE', 'INACTIVE']; track s) { }
{{ 'Sr No' | translate }} {{ c.id }} {{ 'Branch' | translate }} {{ c.officeName }} {{ 'Class' | translate }} {{ c.classCode }} {{ 'Class Name' | translate }} {{ c.className }} {{ 'Area' | translate }} {{ c.area }} {{ 'Rent / Member' | translate }} {{ c.rent | number: '1.0-2' }}
{{ c.memberRent | number: '1.0-2' }}
{{ 'Locker No' | translate }} {{ c.startLockerNo }} – {{ c.endLockerNo }} {{ 'Total' | translate }} {{ c.endLockerNo - c.startLockerNo + 1 }} {{ 'Occupied' | translate }} {{ c.occupied ?? 0 }} {{ 'Deposit / Member' | translate }} {{ c.deposit | number: '1.0-2' }}
{{ c.memberDeposit | number: '1.0-2' }}
{{ 'Effective From' | translate }} {{ c.effectiveFromDate | dateFormat }} {{ 'Effective To' | translate }} {{ c.effectiveToDate ? (c.effectiveToDate | dateFormat) : '-' }} {{ 'labels.inputs.Status' | translate }} {{ c.active ? 'Active' : 'Inactive' }} @if (c.active) { }
@if (loadFailed) {
{{ 'Could not load locker classes.' }}
} @else if (classList.length === 0) {
{{ 'labels.text.No records to display' | translate }}
} @if (totalRecords > 0) { }