#dtPicker="ngbPopover"
[ngbPopover]="dt"
placement="bottom"
+ [attr.disabled]="readOnly ? true : null"
[autoClose]="'outside'"
popoverTitle="Select date and time"
i18n-popoverTitle
</div>
<ng-template #dt>
- <ngb-datepicker
- [(ngModel)]="dateModel"
- (ngModelChange)="modelChanged()"
- [footerTemplate]="time">
- </ngb-datepicker>
+ <div i18n *ngIf="readOnly">
+ Cannot edit this date or time.
+ </div>
+ <div *ngIf="!readOnly">
+ <ngb-datepicker
+ [(ngModel)]="dateModel"
+ (ngModelChange)="modelChanged()"
+ [footerTemplate]="time">
+ </ngb-datepicker>
+ </div>
</ng-template>
<ng-template #time>
<ngb-timepicker name="time"
@Input() minuteStep: number;
@Input() showTZ = true;
@Input() timezone: string;
+ @Input() readOnly = false;
@Input() initialIso: string;
[timezone]="timezone"
domId="{{idPrefix}}-{{field.name}}"
(onChangeAsIso)="record[field.name]($event)"
+ [readOnly]="field.readOnly"
initialIso="{{record[field.name]()}}">
</eg-datetime-select>
</ng-container>
idlClass="bresv"
datetimeFields="start_time,end_time"
hiddenFields="xact_finish,cancel_time,booking_interval"
- readonlyFields="usr,xact_start,request_time,capture_time,pickup_time,return_time,capture_staff,target_resource_type,current_resource,target_resource,unrecovered,request_library,pickup_library,fine_interval,fine_amount,max_fine">
+ [readonlyFields]="listReadOnlyFields()">
</eg-fm-record-editor>
<eg-confirm-dialog #confirmCancelReservationDialog
i18n-dialogTitle i18n-dialogBody
viewByResource: (rows: IdlObject[]) => void;
filterByCurrentPatronBarcode: () => void;
filterByCurrentResourceBarcode: () => void;
+ listReadOnlyFields: () => string;
reloadGrid: () => void;
(error) => { console.debug(error); }
));
};
+ this.listReadOnlyFields = () => {
+ let list = "usr,xact_start,request_time,capture_time,pickup_time,return_time,capture_staff,target_resource_type,current_resource,target_resource,unrecovered,request_library,pickup_library,fine_interval,fine_amount,max_fine";
+ if (this.status) { list = list + ",start_time"; }
+ if ('returnedToday' === this.status) { list = list + ",end_time"; }
+ return list;
+ }
}
showEditDialog(idlThing: IdlObject) {