Allow search for integration name in log search (#18668)

This commit is contained in:
karwosts 2023-11-16 03:08:10 -08:00 committed by GitHub
parent 75626431b1
commit 244340f211
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -4,6 +4,7 @@ import "@polymer/paper-item/paper-item-body";
import { css, CSSResultGroup, html, LitElement, nothing } from "lit"; import { css, CSSResultGroup, html, LitElement, nothing } from "lit";
import { customElement, property, state } from "lit/decorators"; import { customElement, property, state } from "lit/decorators";
import memoizeOne from "memoize-one"; import memoizeOne from "memoize-one";
import { LocalizeFunc } from "../../../common/translations/localize";
import "../../../components/buttons/ha-call-service-button"; import "../../../components/buttons/ha-call-service-button";
import "../../../components/buttons/ha-progress-button"; import "../../../components/buttons/ha-progress-button";
import "../../../components/ha-card"; import "../../../components/ha-card";
@ -60,15 +61,20 @@ export class SystemLogCard extends LitElement {
} }
private _getFilteredItems = memoizeOne( private _getFilteredItems = memoizeOne(
(items: LoggedError[], filter: string) => (localize: LocalizeFunc, items: LoggedError[], filter: string) =>
items.filter((item: LoggedError) => { items.filter((item: LoggedError) => {
if (filter) { if (filter) {
const integration = getLoggedErrorIntegration(item);
return ( return (
item.message.some((message: string) => item.message.some((message: string) =>
message.toLowerCase().includes(filter) message.toLowerCase().includes(filter)
) || ) ||
item.source[0].toLowerCase().includes(filter) || item.source[0].toLowerCase().includes(filter) ||
item.name.toLowerCase().includes(filter) || item.name.toLowerCase().includes(filter) ||
(integration &&
domainToName(localize, integration)
.toLowerCase()
.includes(filter)) ||
this._timestamp(item).toLowerCase().includes(filter) || this._timestamp(item).toLowerCase().includes(filter) ||
this._multipleMessages(item).toLowerCase().includes(filter) this._multipleMessages(item).toLowerCase().includes(filter)
); );
@ -79,7 +85,11 @@ export class SystemLogCard extends LitElement {
protected render() { protected render() {
const filteredItems = this._items const filteredItems = this._items
? this._getFilteredItems(this._items, this.filter.toLowerCase()) ? this._getFilteredItems(
this.hass.localize,
this._items,
this.filter.toLowerCase()
)
: []; : [];
const integrations = filteredItems.length const integrations = filteredItems.length
? filteredItems.map((item) => getLoggedErrorIntegration(item)) ? filteredItems.map((item) => getLoggedErrorIntegration(item))