fix(datepicker): fix for empty or browser-filled inputs
This commit is contained in:
parent
8388812b51
commit
3c24e5f187
@ -126,13 +126,19 @@ export class Datepicker {
|
|||||||
// FIXME dirty hack below; fix tail.datetime instead
|
// FIXME dirty hack below; fix tail.datetime instead
|
||||||
|
|
||||||
// get date object from internal format before datetime does nasty things with it
|
// get date object from internal format before datetime does nasty things with it
|
||||||
const parsedMomentDate = moment(this._element.value).toDate();
|
var parsedMomentDate = moment(this._element.value, [ FORM_DATE_FORMAT[this.elementType], FORM_DATE_FORMAT_MOMENT[this.elementType] ], true);
|
||||||
|
if (parsedMomentDate && parsedMomentDate.isValid()) {
|
||||||
|
parsedMomentDate = parsedMomentDate.toDate();
|
||||||
|
} else {
|
||||||
|
parsedMomentDate = undefined;
|
||||||
|
}
|
||||||
|
|
||||||
// initialize tail.datetime (datepicker) instance and let it do weird stuff with the element value
|
// initialize tail.datetime (datepicker) instance and let it do weird stuff with the element value
|
||||||
this.datepickerInstance = datetime(this._element, { ...datepickerGlobalConfig, ...datepickerConfig });
|
this.datepickerInstance = datetime(this._element, { ...datepickerGlobalConfig, ...datepickerConfig });
|
||||||
|
|
||||||
// reset date to something sane
|
// reset date to something sane
|
||||||
this.datepickerInstance.selectDate(parsedMomentDate);
|
if (parsedMomentDate)
|
||||||
|
this.datepickerInstance.selectDate(parsedMomentDate);
|
||||||
|
|
||||||
// insert the datepicker element (dt) after the form
|
// insert the datepicker element (dt) after the form
|
||||||
this._element.form.parentNode.insertBefore(this.datepickerInstance.dt, this._element.form.nextSibling);
|
this._element.form.parentNode.insertBefore(this.datepickerInstance.dt, this._element.form.nextSibling);
|
||||||
|
|||||||
Reference in New Issue
Block a user