-<div class="input-group">
- <input
- class="form-control"
- ngbDatepicker
- #datePicker="ngbDatepicker"
- [attr.id]="domId.length ? domId : null"
- placeholder="yyyy-mm-dd"
- class="form-control"
- name="{{fieldName}}"
- [disabled]="_disabled"
- [required]="required"
- [(ngModel)]="current"
- (dateSelect)="onDateSelect($event)"/>
- <div class="input-group-append">
- <button class="btn btn-outline-secondary" [disabled]="_disabled"
- (click)="datePicker.toggle()" type="button">
- <span title="Select Date" i18n-title
- class="material-icons mat-icon-in-button">calendar_today</span>
- </button>
+<ng-container *ngIf="readOnly">
+ {{initialDate | formatValue:'timestamp'}}
+</ng-container>
+<ng-container *ngIf="!readOnly">
+ <div class="input-group">
+ <input
+ class="form-control"
+ type="text"
+ ngbDatepicker
+ #datePicker="ngbDatepicker"
+ [attr.id]="domId.length ? domId : null"
+ placeholder="yyyy-mm-dd"
+ class="form-control"
+ name="{{fieldName}}"
+ [disabled]="disabled"
+ [required]="required"
+ [(ngModel)]="current"
+ (dateSelect)="onDateSelect($event)"/>
+ <div class="input-group-append">
+ <button class="btn btn-outline-secondary" [disabled]="disabled"
+ (click)="datePicker.toggle()" type="button">
+ <span title="Select Date" i18n-title
+ class="material-icons mat-icon-in-button">calendar_today</span>
+ </button>
+ </div>
</div>
-</div>
+</ng-container>
@Component({
selector: 'eg-date-select',
- templateUrl: './date-select.component.html'
+ templateUrl: './date-select.component.html',
+ /* prevent the calendar mat icon from expanding the button */
+ styles: ['.material-icons {font-size: 15px}']
})
export class DateSelectComponent implements OnInit {
@Input() required: boolean;
@Input() fieldName: string;
@Input() domId = '';
-
- _disabled: boolean;
- @Input() set disabled(d: boolean) {
- this._disabled = d;
- }
+ @Input() disabled: boolean;
+ @Input() readOnly: boolean;
current: NgbDateStruct;
<ng-container *ngSwitchCase="'timestamp'">
<eg-date-select
domId="{{idPrefix}}-{{field.name}}"
+ [readOnly]="field.readOnly"
(onChangeAsIso)="record[field.name]($event)"
initialIso="{{record[field.name]()}}">
</eg-date-select>
<h4>PCRUD auto flesh and FormatService detection</h4>
<div *ngIf="aMetarecord">Fingerprint: {{aMetarecord}}</div>
+<eg-fm-record-editor #bresvEditor
+ idlClass="bresv"
+ readonlyFields="cancel_time">
+</eg-fm-record-editor>
+<button class="btn btn-info" (click)="bresvEditor.open({})">
+ Test Readonly Date
+</button>
+
+
@ViewChild('fmRecordEditor')
private fmRecordEditor: FmRecordEditorComponent;
+ @ViewChild('bresvEditor')
+ private bresvEditor: FmRecordEditorComponent;
+
// @ViewChild('helloStr') private helloStr: StringComponent;
gridDataSource: GridDataSource = new GridDataSource();
idlField: 'metarecord'
});
});
+
+ const b = this.idl.create('bresv');
+ b.cancel_time('2019-03-25T11:07:59-0400');
+ this.bresvEditor.mode = 'create';
+ this.bresvEditor.record = b;
}
openEditor() {