mirror of
https://github.com/eitchtee/WYGIWYH.git
synced 2026-07-04 20:11:45 +02:00
feat(datepicker): improve value handling
This commit is contained in:
@@ -148,9 +148,14 @@ class AirDateTimePickerInput(widgets.DateTimeInput):
|
|||||||
|
|
||||||
def format_value(self, value):
|
def format_value(self, value):
|
||||||
"""Format the value for display in the widget."""
|
"""Format the value for display in the widget."""
|
||||||
if value:
|
if value and isinstance(value, (datetime.date, datetime.datetime)):
|
||||||
self.attrs["data-value"] = datetime.datetime.strftime(
|
self.attrs["data-value"] = datetime.datetime.strftime(
|
||||||
value, "%Y-%m-%d %H:%M:00"
|
value, "%Y-%m-%dT%H:%M:00"
|
||||||
|
)
|
||||||
|
elif value and isinstance(value, str):
|
||||||
|
value = datetime.datetime.strptime(value, "%Y-%m-%d %H:%M:00")
|
||||||
|
self.attrs["data-value"] = datetime.datetime.strftime(
|
||||||
|
value, "%Y-%m-%dT%H:%M:00"
|
||||||
)
|
)
|
||||||
|
|
||||||
if value is None:
|
if value is None:
|
||||||
@@ -195,6 +200,7 @@ class AirMonthYearPickerInput(AirDatePickerInput):
|
|||||||
|
|
||||||
# Add data attributes for AirDatepicker configuration
|
# Add data attributes for AirDatepicker configuration
|
||||||
attrs["data-now-button-txt"] = _("Today")
|
attrs["data-now-button-txt"] = _("Today")
|
||||||
|
attrs["data-date-format"] = "MMMM yyyy"
|
||||||
|
|
||||||
return attrs
|
return attrs
|
||||||
|
|
||||||
|
|||||||
@@ -163,8 +163,8 @@ window.MonthYearPicker = function createDynamicDatePicker(element) {
|
|||||||
let opts = {...baseOpts, ...positionConfig};
|
let opts = {...baseOpts, ...positionConfig};
|
||||||
|
|
||||||
if (element.dataset.value) {
|
if (element.dataset.value) {
|
||||||
opts["selectedDates"] = [element.dataset.value];
|
opts["selectedDates"] = [new Date(element.dataset.value + "T00:00:00")];
|
||||||
opts["startDate"] = [element.dataset.value];
|
opts["startDate"] = [new Date(element.dataset.value + "T00:00:00")];
|
||||||
}
|
}
|
||||||
return new AirDatepicker(element, opts);
|
return new AirDatepicker(element, opts);
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user