mirror of
https://github.com/home-assistant/frontend.git
synced 2025-08-09 09:27:46 +00:00
Fix some date-range bugs (#26441)
This commit is contained in:
parent
a7db401b62
commit
c5010b8502
@ -132,15 +132,13 @@ export const shiftDateRange = (
|
|||||||
end = calcDate(endDate, addDays, locale, config, difference);
|
end = calcDate(endDate, addDays, locale, config, difference);
|
||||||
} else {
|
} else {
|
||||||
const difference =
|
const difference =
|
||||||
((calcDateDifferenceProperty(
|
(calcDateDifferenceProperty(
|
||||||
endDate,
|
endDate,
|
||||||
startDate,
|
startDate,
|
||||||
differenceInMilliseconds,
|
differenceInMilliseconds,
|
||||||
locale,
|
locale,
|
||||||
config
|
config
|
||||||
) as number) +
|
) as number) * (forward ? 1 : -1);
|
||||||
1) *
|
|
||||||
(forward ? 1 : -1);
|
|
||||||
start = calcDate(startDate, addMilliseconds, locale, config, difference);
|
start = calcDate(startDate, addMilliseconds, locale, config, difference);
|
||||||
end = calcDate(endDate, addMilliseconds, locale, config, difference);
|
end = calcDate(endDate, addMilliseconds, locale, config, difference);
|
||||||
}
|
}
|
||||||
|
@ -254,21 +254,37 @@ export class HaDateRangePicker extends LitElement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private _applyDateRange() {
|
private _applyDateRange() {
|
||||||
if (this.hass.locale.time_zone === TimeZone.server) {
|
let start = new Date(this._dateRangePicker.start);
|
||||||
const dateRangePicker = this._dateRangePicker;
|
let end = new Date(this._dateRangePicker.end);
|
||||||
|
|
||||||
const startDate = fromZonedTime(
|
if (this.timePicker) {
|
||||||
dateRangePicker.start,
|
start.setSeconds(0);
|
||||||
this.hass.config.time_zone
|
start.setMilliseconds(0);
|
||||||
);
|
end.setSeconds(0);
|
||||||
const endDate = fromZonedTime(
|
end.setMilliseconds(0);
|
||||||
dateRangePicker.end,
|
|
||||||
this.hass.config.time_zone
|
|
||||||
);
|
|
||||||
|
|
||||||
dateRangePicker.clickRange([startDate, endDate]);
|
if (
|
||||||
|
end.getHours() === 0 &&
|
||||||
|
end.getMinutes() === 0 &&
|
||||||
|
start.getFullYear() === end.getFullYear() &&
|
||||||
|
start.getMonth() === end.getMonth() &&
|
||||||
|
start.getDate() === end.getDate()
|
||||||
|
) {
|
||||||
|
end.setDate(end.getDate() + 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this.hass.locale.time_zone === TimeZone.server) {
|
||||||
|
start = fromZonedTime(start, this.hass.config.time_zone);
|
||||||
|
end = fromZonedTime(end, this.hass.config.time_zone);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
|
start.getTime() !== this._dateRangePicker.start.getTime() ||
|
||||||
|
end.getTime() !== this._dateRangePicker.end.getTime()
|
||||||
|
) {
|
||||||
|
this._dateRangePicker.clickRange([start, end]);
|
||||||
|
}
|
||||||
this._dateRangePicker.clickedApply();
|
this._dateRangePicker.clickedApply();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -426,13 +426,7 @@ class HaPanelHistory extends LitElement {
|
|||||||
|
|
||||||
private _dateRangeChanged(ev) {
|
private _dateRangeChanged(ev) {
|
||||||
this._startDate = ev.detail.value.startDate;
|
this._startDate = ev.detail.value.startDate;
|
||||||
const endDate = ev.detail.value.endDate;
|
this._endDate = ev.detail.value.endDate;
|
||||||
if (endDate.getHours() === 0 && endDate.getMinutes() === 0) {
|
|
||||||
endDate.setDate(endDate.getDate() + 1);
|
|
||||||
endDate.setMilliseconds(endDate.getMilliseconds() - 1);
|
|
||||||
}
|
|
||||||
this._endDate = endDate;
|
|
||||||
|
|
||||||
this._updatePath();
|
this._updatePath();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -236,10 +236,6 @@ export class HaPanelLogbook extends LitElement {
|
|||||||
private _dateRangeChanged(ev) {
|
private _dateRangeChanged(ev) {
|
||||||
const startDate = ev.detail.value.startDate;
|
const startDate = ev.detail.value.startDate;
|
||||||
const endDate = ev.detail.value.endDate;
|
const endDate = ev.detail.value.endDate;
|
||||||
if (endDate.getHours() === 0 && endDate.getMinutes() === 0) {
|
|
||||||
endDate.setDate(endDate.getDate() + 1);
|
|
||||||
endDate.setMilliseconds(endDate.getMilliseconds() - 1);
|
|
||||||
}
|
|
||||||
this._time = {
|
this._time = {
|
||||||
range: [startDate, endDate],
|
range: [startDate, endDate],
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user