From 6053b64b2e042fc0134e265f7abd0964003e8d3f Mon Sep 17 00:00:00 2001 From: Kuba Wolanin Date: Fri, 14 Jan 2022 17:01:39 +0100 Subject: [PATCH] DevTools: Navigate to History from last changed/last updated (#11133) --- .../state/developer-tools-state.js | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/panels/developer-tools/state/developer-tools-state.js b/src/panels/developer-tools/state/developer-tools-state.js index 6887354c93..4ba1aed54d 100644 --- a/src/panels/developer-tools/state/developer-tools-state.js +++ b/src/panels/developer-tools/state/developer-tools-state.js @@ -1,3 +1,4 @@ +import { addHours } from "date-fns"; import "@material/mwc-button"; import { mdiClipboardTextMultipleOutline, @@ -200,12 +201,18 @@ class HaPanelDevState extends EventsMixin(LocalizeMixin(PolymerElement)) {

[[localize('ui.panel.developer-tools.tabs.states.last_changed')]]:
[[lastChangedString(_entity)]] + >
+ [[lastChangedString(_entity)]]

[[localize('ui.panel.developer-tools.tabs.states.last_updated')]]:
[[lastUpdatedString(_entity)]] + >
+ [[lastUpdatedString(_entity)]]

@@ -407,6 +414,20 @@ class HaPanelDevState extends EventsMixin(LocalizeMixin(PolymerElement)) { this._expanded = true; } + _getHistoryURL(entityId, inputDate) { + const date = new Date(inputDate); + const hourBefore = addHours(date, -1).toISOString(); + return `/history?entity_id=${entityId}&start_date=${hourBefore}`; + } + + historyFromLastChanged(entity) { + return this._getHistoryURL(entity.entity_id, entity.last_changed); + } + + historyFromLastUpdated(entity) { + return this._getHistoryURL(entity.entity_id, entity.last_updated); + } + expandedChanged(ev) { this._expanded = ev.detail.expanded; }