}]
})
export class DateSelectNativeComponent implements OnInit, ControlValueAccessor {
-
static domAutoId = 1;
@Input() fieldName = '';
// Emits YYYY-MM-DD on value change, null on empty.
@Output() dateChange: EventEmitter<string> = new EventEmitter<string>();
+ // Emits Date object
+ @Output() dateChangeAsDate: EventEmitter<Date> = new EventEmitter<Date>();
+ // Emits ISO8601 date string
+ @Output() dateChangeAsIso: EventEmitter<string> = new EventEmitter<string>();
// Stub functions required by ControlValueAccessor
propagateChange = (_: any) => {};
inputChange(evt: Event) {
const value = this.input().value;
- this.dateChange.emit(value || null);
this.propagateChange(value);
+
+ if (!value) {
+ this.dateChange.emit(null);
+ this.dateChangeAsDate.emit(null);
+ this.dateChangeAsIso.emit(null);
+
+ } else {
+
+ let date = DateUtil.localDateFromYmd(value);
+ this.dateChange.emit(value);
+ this.dateChangeAsDate.emit(date);
+ this.dateChangeAsIso.emit(date.toISOString());
+ }
}
writeValue(ymd: string) {