Flatpicker instance can now handle flatpickr:change event

With:
```
detail: {
  startDate: "2022-10-02",
  endDate: "2022-10-10"
}
```
This commit is contained in:
Jean-Baptiste Bellet
2022-11-03 16:57:03 +01:00
parent 66a684920a
commit 228e484f02

View File

@@ -51,6 +51,7 @@ export default class extends Flatpickr {
plugins: this.plugins(mode, datetimepicker),
mode,
};
window.addEventListener("flatpickr:change", this.onChangeEvent.bind(this));
}
clear(e) {
@@ -60,6 +61,23 @@ export default class extends Flatpickr {
open() {
this.fp.element.dispatchEvent(new Event("focus"));
}
onChangeEvent(e) {
if (
this.modeValue == "range" &&
this.hasStartTarget &&
this.hasEndTarget &&
e.detail.startDate &&
e.detail.endDate
) {
// date range mode
this.startTarget.value = e.detail.startDate;
this.endTarget.value = e.detail.endDate;
this.fp.setDate([e.detail.startDate, e.detail.endDate]);
} else if (e.detail.date) {
// single date mode
this.fp.setDate(e.detail.date);
}
}
change(selectedDates, dateStr, instance) {
if (this.hasStartTarget && this.hasEndTarget && this.modeValue == "range") {