mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-27 03:06:41 +00:00
Update logs on activate tab (#3716)
* Update logs on activate tab * Only update if we already loaded data
This commit is contained in:
parent
125616aa99
commit
3b51e55f2d
@ -5,6 +5,8 @@ import {
|
|||||||
css,
|
css,
|
||||||
TemplateResult,
|
TemplateResult,
|
||||||
property,
|
property,
|
||||||
|
query,
|
||||||
|
customElement,
|
||||||
} from "lit-element";
|
} from "lit-element";
|
||||||
|
|
||||||
import { HomeAssistant } from "../../../types";
|
import { HomeAssistant } from "../../../types";
|
||||||
@ -12,10 +14,22 @@ import { haStyle } from "../../../resources/styles";
|
|||||||
|
|
||||||
import "../logs/system-log-card";
|
import "../logs/system-log-card";
|
||||||
import "../logs/error-log-card";
|
import "../logs/error-log-card";
|
||||||
|
// tslint:disable-next-line
|
||||||
|
import { SystemLogCard } from "../logs/system-log-card";
|
||||||
|
|
||||||
class HaPanelDevLogs extends LitElement {
|
@customElement("developer-tools-logs")
|
||||||
|
export class HaPanelDevLogs extends LitElement {
|
||||||
@property() public hass!: HomeAssistant;
|
@property() public hass!: HomeAssistant;
|
||||||
|
|
||||||
|
@query("system-log-card") private systemLog?: SystemLogCard;
|
||||||
|
|
||||||
|
public connectedCallback() {
|
||||||
|
super.connectedCallback();
|
||||||
|
if (this.systemLog && this.systemLog.loaded) {
|
||||||
|
this.systemLog.fetchData();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
protected render(): TemplateResult | void {
|
protected render(): TemplateResult | void {
|
||||||
return html`
|
return html`
|
||||||
<div class="content">
|
<div class="content">
|
||||||
@ -48,5 +62,3 @@ declare global {
|
|||||||
"developer-tools-logs": HaPanelDevLogs;
|
"developer-tools-logs": HaPanelDevLogs;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
customElements.define("developer-tools-logs", HaPanelDevLogs);
|
|
||||||
|
@ -5,6 +5,7 @@ import {
|
|||||||
css,
|
css,
|
||||||
PropertyDeclarations,
|
PropertyDeclarations,
|
||||||
TemplateResult,
|
TemplateResult,
|
||||||
|
customElement,
|
||||||
} from "lit-element";
|
} from "lit-element";
|
||||||
import "@polymer/paper-icon-button/paper-icon-button";
|
import "@polymer/paper-icon-button/paper-icon-button";
|
||||||
import "@polymer/paper-item/paper-item-body";
|
import "@polymer/paper-item/paper-item-body";
|
||||||
@ -29,8 +30,10 @@ const formatLogTime = (date, language: string) => {
|
|||||||
: formatTime(dateTime, language);
|
: formatTime(dateTime, language);
|
||||||
};
|
};
|
||||||
|
|
||||||
class SystemLogCard extends LitElement {
|
@customElement("system-log-card")
|
||||||
|
export class SystemLogCard extends LitElement {
|
||||||
public hass?: HomeAssistant;
|
public hass?: HomeAssistant;
|
||||||
|
public loaded = false;
|
||||||
private _items?: LoggedError[];
|
private _items?: LoggedError[];
|
||||||
|
|
||||||
static get properties(): PropertyDeclarations {
|
static get properties(): PropertyDeclarations {
|
||||||
@ -40,6 +43,11 @@ class SystemLogCard extends LitElement {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async fetchData(): Promise<void> {
|
||||||
|
this._items = undefined;
|
||||||
|
this._items = await fetchSystemLog(this.hass!);
|
||||||
|
}
|
||||||
|
|
||||||
protected render(): TemplateResult | void {
|
protected render(): TemplateResult | void {
|
||||||
return html`
|
return html`
|
||||||
<div class="system-log-intro">
|
<div class="system-log-intro">
|
||||||
@ -91,7 +99,7 @@ class SystemLogCard extends LitElement {
|
|||||||
service="clear"
|
service="clear"
|
||||||
>Clear</ha-call-service-button
|
>Clear</ha-call-service-button
|
||||||
>
|
>
|
||||||
<ha-progress-button @click=${this._fetchData}
|
<ha-progress-button @click=${this.fetchData}
|
||||||
>Refresh</ha-progress-button
|
>Refresh</ha-progress-button
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
@ -103,7 +111,8 @@ class SystemLogCard extends LitElement {
|
|||||||
|
|
||||||
protected firstUpdated(changedProps): void {
|
protected firstUpdated(changedProps): void {
|
||||||
super.firstUpdated(changedProps);
|
super.firstUpdated(changedProps);
|
||||||
this._fetchData();
|
this.fetchData();
|
||||||
|
this.loaded = true;
|
||||||
this.addEventListener("hass-service-called", (ev) =>
|
this.addEventListener("hass-service-called", (ev) =>
|
||||||
this.serviceCalled(ev)
|
this.serviceCalled(ev)
|
||||||
);
|
);
|
||||||
@ -119,11 +128,6 @@ class SystemLogCard extends LitElement {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private async _fetchData(): Promise<void> {
|
|
||||||
this._items = undefined;
|
|
||||||
this._items = await fetchSystemLog(this.hass!);
|
|
||||||
}
|
|
||||||
|
|
||||||
private _openLog(ev: Event): void {
|
private _openLog(ev: Event): void {
|
||||||
const item = (ev.currentTarget as any).logItem;
|
const item = (ev.currentTarget as any).logItem;
|
||||||
showSystemLogDetailDialog(this, { item });
|
showSystemLogDetailDialog(this, { item });
|
||||||
@ -153,4 +157,8 @@ class SystemLogCard extends LitElement {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
customElements.define("system-log-card", SystemLogCard);
|
declare global {
|
||||||
|
interface HTMLElementTagNameMap {
|
||||||
|
"system-log-card": SystemLogCard;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user