2019-11-14T00:55:31.820Z
2020-11-25T15:18:15Z
2020-11-25T15:18:15+00:00
2002-02-02T00:00:00.000Z
<duet-date-picker
:id="inputId"
type="text"
:value="value"
v-on="maskedInputEvents()"
:localization.prop="localization()"
/>
public localization(): any {
return {
buttonLabel: "Choose date",
placeholder: "YYYY-MM-DD",
selectedDateMessage: "Selected date is",
prevMonthLabel: "Previous month",
nextMonthLabel: "Next month",
monthSelectLabel: "Month",
yearSelectLabel: "Year",
closeLabel: "Close window",
keyboardInstruction: "You can use arrow keys to navigate dates",
calendarHeading: "Choose a date",
dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
monthNames: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
monthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
};
}
public maskedInputEvents(): any {
const _vm = this as DateInput;
return Object.assign({},
// parent listeners
this.$listeners,
{
// custom listeners
input(event: any) {
// Emit updated value
_vm.$emit('input', event.target.value);
},
duetBlur(event: any) {
const value = _vm.value;
const matches = value ? value.match(/^(\d{0,4})(\d{0,2})(\d{0,2})$/) : value;
if (value && matches) {
_vm.$emit('input', `${matches[1]}-${matches[2]}-${matches[3]}`);
} else {
_vm.$emit('input', value);
}
},
duetChange(event: any) {
// Emit updated value
_vm.$emit('input', event.detail.value.length > 0 ? event.detail.value : undefined);
}
}
);
}