[fix] fallback-datetime-input

This commit is contained in:
fenris 2026-03-31 19:15:57 +02:00
parent 9fdafe3536
commit 05d1d67936

View file

@ -316,7 +316,11 @@ namespace _dali.helpers
date : string;
time : string;
},
lib_plankton.pit.type_datetime
(
null
|
lib_plankton.pit.type_datetime
)
>(
new lib_plankton.zoo_input.class_input_group(
[
@ -343,50 +347,91 @@ namespace _dali.helpers
]
),
(inner) => {
const date_parts : Array<string> = inner.date.split("-");
const time_parts : Array<string> = inner.time.split(":");
const datetime_raw : lib_plankton.pit.type_datetime = {
"timezone_shift": 0,
"date": {
"year": parseInt(date_parts[0]),
"month": parseInt(date_parts[1]),
"day": parseInt(date_parts[2]),
},
"time": {
"hour": parseInt(time_parts[0]),
"minute": parseInt(time_parts[1]),
"second": 0,
},
};
return {
"timezone_shift": (
_dali.conf.get().misc.use_central_europe_specific_datetime_inputs
if (inner === null)
{
return null;
}
else
{
const date_parts : Array<string> = ((inner.date === "") ? null : inner.date.split("-"));
const time_parts : (null | Array<string>) = ((inner.time === "") ? null : inner.time.split(":"));
const datetime_raw : (null | lib_plankton.pit.type_datetime) = (
(date_parts === null)
?
lib_plankton.pit.timezone_shift_ce(lib_plankton.pit.from_datetime(datetime_raw))
null
:
0
),
"date": datetime_raw.date,
"time": datetime_raw.time,
};
{
"timezone_shift": 0,
"date": {
"year": parseInt(date_parts[0]),
"month": parseInt(date_parts[1]),
"day": parseInt(date_parts[2]),
},
"time": (
(time_parts === null)
?
null
:
{
"hour": parseInt(time_parts[0]),
"minute": parseInt(time_parts[1]),
"second": 0,
}
),
}
);
return (
(datetime_raw === null)
?
null
:
{
"timezone_shift": (
_dali.conf.get().misc.use_central_europe_specific_datetime_inputs
?
lib_plankton.pit.timezone_shift_ce(lib_plankton.pit.from_datetime(datetime_raw))
:
0
),
"date": datetime_raw.date,
"time": datetime_raw.time,
}
);
}
},
(outer) => {
return {
"date": lib_plankton.string.coin(
"{{year}}-{{month}}-{{day}}",
{
"year": outer.date.year.toFixed(0).padStart(4, "0"),
"month": outer.date.month.toFixed(0).padStart(2, "0"),
"day": outer.date.day.toFixed(0).padStart(2, "0"),
}
),
"time": lib_plankton.string.coin(
"{{hour}}:{{minute}}",
{
"hour": outer.time.hour.toFixed(0).padStart(2, "0"),
"minute": outer.time.minute.toFixed(0).padStart(2, "0"),
}
),
if (outer === null)
{
return {
"date": "",
"time": "",
};
}
else
{
return {
"date": lib_plankton.string.coin(
"{{year}}-{{month}}-{{day}}",
{
"year": outer.date.year.toFixed(0).padStart(4, "0"),
"month": outer.date.month.toFixed(0).padStart(2, "0"),
"day": outer.date.day.toFixed(0).padStart(2, "0"),
}
),
"time": (
(outer.time === null)
?
""
:
lib_plankton.string.coin(
"{{hour}}:{{minute}}",
{
"hour": outer.time.hour.toFixed(0).padStart(2, "0"),
"minute": outer.time.minute.toFixed(0).padStart(2, "0"),
}
)
),
};
}
}
)