From c44624282ce92be884b6bf28226c748113a95061 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Tue, 5 Oct 2021 18:11:02 +0200 Subject: [PATCH] Fix lint warnings (#10157) --- .eslintrc.json | 3 +- .../ha-selector/ha-selector-device.ts | 6 +-- .../ha-selector/ha-selector-entity.ts | 6 +-- .../ha-selector/ha-selector-target.ts | 19 +++++---- .../config/automation/ha-automation-editor.ts | 6 +-- .../config/automation/ha-automation-picker.ts | 6 +-- .../config/automation/ha-automation-trace.ts | 8 +++- .../automation/thingtalk/dialog-thingtalk.ts | 6 +-- .../thingtalk/ha-thingtalk-placeholders.ts | 1 + .../config/blueprint/ha-blueprint-overview.ts | 20 +++++----- .../zha/zha-network-visualization-page.ts | 6 +-- src/panels/config/scene/ha-scene-dashboard.ts | 6 +-- src/panels/config/scene/ha-scene-editor.ts | 6 +-- src/panels/config/script/ha-script-editor.ts | 6 +-- src/panels/config/script/ha-script-picker.ts | 6 +-- src/panels/config/script/ha-script-trace.ts | 6 ++- src/panels/config/tags/ha-config-tags.ts | 40 ++++++++++--------- .../statistics/developer-tools-statistics.ts | 11 ++--- .../card-editor/hui-dialog-create-card.ts | 3 +- 19 files changed, 88 insertions(+), 83 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 20f8188b31..407ef663dd 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -111,8 +111,7 @@ ], "unused-imports/no-unused-imports": "error", "lit/attribute-value-entities": "off", - "lit/no-template-map": "off", - "lit/no-template-arrow": "warn" + "lit/no-template-map": "off" }, "plugins": ["disable", "unused-imports"], "processor": "disable/disable" diff --git a/src/components/ha-selector/ha-selector-device.ts b/src/components/ha-selector/ha-selector-device.ts index bdf945899c..60da624665 100644 --- a/src/components/ha-selector/ha-selector-device.ts +++ b/src/components/ha-selector/ha-selector-device.ts @@ -34,7 +34,7 @@ export class HaDeviceSelector extends LitElement { .hass=${this.hass} .value=${this.value} .label=${this.label} - .deviceFilter=${(device) => this._filterDevices(device)} + .deviceFilter=${this._filterDevices} .includeDeviceClasses=${this.selector.device.entity?.device_class ? [this.selector.device.entity.device_class] : undefined} @@ -46,7 +46,7 @@ export class HaDeviceSelector extends LitElement { >`; } - private _filterDevices(device: DeviceRegistryEntry): boolean { + private _filterDevices = (device: DeviceRegistryEntry): boolean => { if ( this.selector.device?.manufacturer && device.manufacturer !== this.selector.device.manufacturer @@ -70,7 +70,7 @@ export class HaDeviceSelector extends LitElement { } } return true; - } + }; private async _loadConfigEntries() { this._configEntries = (await getConfigEntries(this.hass)).filter( diff --git a/src/components/ha-selector/ha-selector-entity.ts b/src/components/ha-selector/ha-selector-entity.ts index a2cb042c72..2facd604ba 100644 --- a/src/components/ha-selector/ha-selector-entity.ts +++ b/src/components/ha-selector/ha-selector-entity.ts @@ -27,7 +27,7 @@ export class HaEntitySelector extends SubscribeMixin(LitElement) { .hass=${this.hass} .value=${this.value} .label=${this.label} - .entityFilter=${(entity) => this._filterEntities(entity)} + .entityFilter=${this._filterEntities} .disabled=${this.disabled} allow-custom-entity >`; @@ -48,7 +48,7 @@ export class HaEntitySelector extends SubscribeMixin(LitElement) { ]; } - private _filterEntities(entity: HassEntity): boolean { + private _filterEntities = (entity: HassEntity): boolean => { if (this.selector.entity?.domain) { if (computeStateDomain(entity) !== this.selector.entity.domain) { return false; @@ -72,7 +72,7 @@ export class HaEntitySelector extends SubscribeMixin(LitElement) { } } return true; - } + }; } declare global { diff --git a/src/components/ha-selector/ha-selector-target.ts b/src/components/ha-selector/ha-selector-target.ts index 6299f60bf1..6ed0251665 100644 --- a/src/components/ha-selector/ha-selector-target.ts +++ b/src/components/ha-selector/ha-selector-target.ts @@ -69,10 +69,9 @@ export class HaTargetSelector extends SubscribeMixin(LitElement) { return html` this._filterDevices(device)} - .entityRegFilter=${(entity: EntityRegistryEntry) => - this._filterRegEntities(entity)} - .entityFilter=${(entity: HassEntity) => this._filterEntities(entity)} + .deviceFilter=${this._filterDevices} + .entityRegFilter=${this._filterRegEntities} + .entityFilter=${this._filterEntities} .includeDeviceClasses=${this.selector.target.entity?.device_class ? [this.selector.target.entity.device_class] : undefined} @@ -83,7 +82,7 @@ export class HaTargetSelector extends SubscribeMixin(LitElement) { >`; } - private _filterEntities(entity: HassEntity): boolean { + private _filterEntities = (entity: HassEntity): boolean => { if ( this.selector.target.entity?.integration || this.selector.target.device?.integration @@ -98,18 +97,18 @@ export class HaTargetSelector extends SubscribeMixin(LitElement) { } } return true; - } + }; - private _filterRegEntities(entity: EntityRegistryEntry): boolean { + private _filterRegEntities = (entity: EntityRegistryEntry): boolean => { if (this.selector.target.entity?.integration) { if (entity.platform !== this.selector.target.entity.integration) { return false; } } return true; - } + }; - private _filterDevices(device: DeviceRegistryEntry): boolean { + private _filterDevices = (device: DeviceRegistryEntry): boolean => { if ( this.selector.target.device?.manufacturer && device.manufacturer !== this.selector.target.device.manufacturer @@ -135,7 +134,7 @@ export class HaTargetSelector extends SubscribeMixin(LitElement) { } } return true; - } + }; private async _loadConfigEntries() { this._configEntries = (await getConfigEntries(this.hass)).filter( diff --git a/src/panels/config/automation/ha-automation-editor.ts b/src/panels/config/automation/ha-automation-editor.ts index 00ed5d2060..8ab69fa05f 100644 --- a/src/panels/config/automation/ha-automation-editor.ts +++ b/src/panels/config/automation/ha-automation-editor.ts @@ -113,7 +113,7 @@ export class HaAutomationEditor extends KeyboardShortcutMixin(LitElement) { .hass=${this.hass} .narrow=${this.narrow} .route=${this.route} - .backCallback=${() => this._backTapped()} + .backCallback=${this._backTapped} .tabs=${configSections.automation} > { if (this._dirty) { showConfirmationDialog(this, { text: this.hass!.localize( @@ -448,7 +448,7 @@ export class HaAutomationEditor extends KeyboardShortcutMixin(LitElement) { } else { history.back(); } - } + }; private async _duplicate() { if (this._dirty) { diff --git a/src/panels/config/automation/ha-automation-picker.ts b/src/panels/config/automation/ha-automation-picker.ts index 45de3dae36..21eedd5009 100644 --- a/src/panels/config/automation/ha-automation-picker.ts +++ b/src/panels/config/automation/ha-automation-picker.ts @@ -135,7 +135,7 @@ class HaAutomationPicker extends LitElement { template: (_info, automation: any) => html` this._runActions(ev)} + @click=${this._runActions} .disabled=${UNAVAILABLE_STATES.includes(automation.state)} > ${this.hass.localize("ui.card.automation.trigger")} @@ -313,10 +313,10 @@ class HaAutomationPicker extends LitElement { }); } - private _runActions(ev) { + private _runActions = (ev) => { const entityId = ev.currentTarget.automation.entity_id; triggerAutomationActions(this.hass, entityId); - } + }; private _createNew() { if ( diff --git a/src/panels/config/automation/ha-automation-trace.ts b/src/panels/config/automation/ha-automation-trace.ts index b4ba49cc05..c4066847cb 100644 --- a/src/panels/config/automation/ha-automation-trace.ts +++ b/src/panels/config/automation/ha-automation-trace.ts @@ -90,7 +90,7 @@ export class HaAutomationTrace extends LitElement { } const actionButtons = html` - this._loadTraces()}> + ${this.narrow - ? html` ${title} + ? html`${title}
${actionButtons}
` : ""}
@@ -335,6 +335,10 @@ export class HaAutomationTrace extends LitElement { this._selected = ev.detail; } + private _refreshTraces() { + this._loadTraces(); + } + private async _loadTraces(runId?: string) { this._traces = await loadTraces(this.hass, "automation", this.automationId); // Newest will be on top. diff --git a/src/panels/config/automation/thingtalk/dialog-thingtalk.ts b/src/panels/config/automation/thingtalk/dialog-thingtalk.ts index d42730a2ee..3c6752ad46 100644 --- a/src/panels/config/automation/thingtalk/dialog-thingtalk.ts +++ b/src/panels/config/automation/thingtalk/dialog-thingtalk.ts @@ -78,7 +78,7 @@ class DialogThingtalk extends LitElement { .hass=${this.hass} .placeholders=${this._placeholders} .opened=${this._opened} - .skip=${() => this._skip()} + .skip=${this._skip} @opened-changed=${this._openedChanged} @placeholders-filled=${this._handlePlaceholders} > @@ -229,10 +229,10 @@ class DialogThingtalk extends LitElement { this.closeDialog(); } - private _skip() { + private _skip = () => { this._params!.callback(undefined); this.closeDialog(); - } + }; private _openedChanged(ev: PolymerChangedEvent): void { if (!ev.detail.value) { diff --git a/src/panels/config/automation/thingtalk/ha-thingtalk-placeholders.ts b/src/panels/config/automation/thingtalk/ha-thingtalk-placeholders.ts index 0e06c744af..0f62bb0f39 100644 --- a/src/panels/config/automation/thingtalk/ha-thingtalk-placeholders.ts +++ b/src/panels/config/automation/thingtalk/ha-thingtalk-placeholders.ts @@ -1,3 +1,4 @@ +/* eslint-disable lit/no-template-arrow */ import { HassEntity } from "home-assistant-js-websocket"; import { css, diff --git a/src/panels/config/blueprint/ha-blueprint-overview.ts b/src/panels/config/blueprint/ha-blueprint-overview.ts index 71b071b208..e5bfb0c997 100644 --- a/src/panels/config/blueprint/ha-blueprint-overview.ts +++ b/src/panels/config/blueprint/ha-blueprint-overview.ts @@ -127,13 +127,13 @@ class HaBlueprintOverview extends LitElement { title=${this.hass.localize( "ui.panel.config.blueprint.overview.use_blueprint" )} - @click=${(ev) => this._createNew(ev)} + @click=${this._createNew} > ` : html` this._createNew(ev)} + @click=${this._createNew} > ${this.hass.localize( "ui.panel.config.blueprint.overview.use_blueprint" @@ -154,7 +154,7 @@ class HaBlueprintOverview extends LitElement { ? "ui.panel.config.blueprint.overview.share_blueprint" : "ui.panel.config.blueprint.overview.share_blueprint_no_url" )} - @click=${(ev) => this._share(ev)} + @click=${this._share} >`, }, @@ -169,7 +169,7 @@ class HaBlueprintOverview extends LitElement { .label=${this.hass.localize( "ui.panel.config.blueprint.overview.delete_blueprint" )} - @click=${(ev) => this._delete(ev)} + @click=${this._delete} >`, }, @@ -275,12 +275,12 @@ class HaBlueprintOverview extends LitElement { fireEvent(this, "reload-blueprints"); } - private _createNew(ev) { + private _createNew = (ev) => { const blueprint = ev.currentTarget.blueprint as BlueprintMetaDataPath; createNewFunctions[blueprint.domain](blueprint); - } + }; - private _share(ev) { + private _share = (ev) => { const blueprint = ev.currentTarget.blueprint; const params = new URLSearchParams(); params.append("redirect", "blueprint_import"); @@ -288,9 +288,9 @@ class HaBlueprintOverview extends LitElement { window.open( `https://my.home-assistant.io/create-link/?${params.toString()}` ); - } + }; - private async _delete(ev) { + private _delete = async (ev) => { const blueprint = ev.currentTarget.blueprint; if ( !(await showConfirmationDialog(this, { @@ -306,7 +306,7 @@ class HaBlueprintOverview extends LitElement { } await deleteBlueprint(this.hass, blueprint.domain, blueprint.path); fireEvent(this, "reload-blueprints"); - } + }; static get styles(): CSSResultGroup { return haStyle; diff --git a/src/panels/config/integrations/integration-panels/zha/zha-network-visualization-page.ts b/src/panels/config/integrations/integration-panels/zha/zha-network-visualization-page.ts index 9923da8054..737f504a2f 100644 --- a/src/panels/config/integrations/integration-panels/zha/zha-network-visualization-page.ts +++ b/src/panels/config/integrations/integration-panels/zha/zha-network-visualization-page.ts @@ -173,7 +173,7 @@ export class ZHANetworkVisualizationPage extends LitElement { .label=${this.hass.localize( "ui.panel.config.zha.visualization.zoom_label" )} - .deviceFilter=${(device) => this._filterDevices(device)} + .deviceFilter=${this._filterDevices} @value-changed=${this._onZoomToDevice} >
@@ -359,7 +359,7 @@ export class ZHANetworkVisualizationPage extends LitElement { await refreshTopology(this.hass); } - private _filterDevices(device: DeviceRegistryEntry): boolean { + private _filterDevices = (device: DeviceRegistryEntry): boolean => { if (!this.hass) { return false; } @@ -371,7 +371,7 @@ export class ZHANetworkVisualizationPage extends LitElement { } } return false; - } + }; private _handleCheckboxChange(ev: Event) { this._autoZoom = (ev.target as HaCheckbox).checked; diff --git a/src/panels/config/scene/ha-scene-dashboard.ts b/src/panels/config/scene/ha-scene-dashboard.ts index 7e16e04578..a3399fc85a 100644 --- a/src/panels/config/scene/ha-scene-dashboard.ts +++ b/src/panels/config/scene/ha-scene-dashboard.ts @@ -77,7 +77,7 @@ class HaSceneDashboard extends LitElement { title=${this.hass.localize( "ui.panel.config.scene.picker.activate_scene" )} - @click=${(ev: Event) => this._activateScene(ev)} + @click=${this._activateScene} > @@ -213,7 +213,7 @@ class HaSceneDashboard extends LitElement { fireEvent(this, "hass-more-info", { entityId }); } - private async _activateScene(ev) { + private _activateScene = async (ev) => { ev.stopPropagation(); const scene = ev.currentTarget.scene as SceneEntity; await activateScene(this.hass, scene.entity_id); @@ -225,7 +225,7 @@ class HaSceneDashboard extends LitElement { ), }); forwardHaptic("light"); - } + }; private _showHelp() { showAlertDialog(this, { diff --git a/src/panels/config/scene/ha-scene-editor.ts b/src/panels/config/scene/ha-scene-editor.ts index 460c04b4bd..6c51a61af4 100644 --- a/src/panels/config/scene/ha-scene-editor.ts +++ b/src/panels/config/scene/ha-scene-editor.ts @@ -201,7 +201,7 @@ export class HaSceneEditor extends SubscribeMixin( .hass=${this.hass} .narrow=${this.narrow} .route=${this.route} - .backCallback=${() => this._backTapped()} + .backCallback=${this._backTapped} .tabs=${configSections.automation} > { if (this._dirty) { showConfirmationDialog(this, { text: this.hass!.localize( @@ -711,7 +711,7 @@ export class HaSceneEditor extends SubscribeMixin( } else { this._goBack(); } - } + }; private _goBack(): void { applyScene(this.hass, this._storedStates); diff --git a/src/panels/config/script/ha-script-editor.ts b/src/panels/config/script/ha-script-editor.ts index 5830b81e45..ccba2b3ecd 100644 --- a/src/panels/config/script/ha-script-editor.ts +++ b/src/panels/config/script/ha-script-editor.ts @@ -87,7 +87,7 @@ export class HaScriptEditor extends KeyboardShortcutMixin(LitElement) { .hass=${this.hass} .narrow=${this.narrow} .route=${this.route} - .backCallback=${() => this._backTapped()} + .backCallback=${this._backTapped} .tabs=${configSections.automation} > { if (this._dirty) { showConfirmationDialog(this, { text: this.hass!.localize( @@ -591,7 +591,7 @@ export class HaScriptEditor extends KeyboardShortcutMixin(LitElement) { } else { history.back(); } - } + }; private async _duplicate() { if (this._dirty) { diff --git a/src/panels/config/script/ha-script-picker.ts b/src/panels/config/script/ha-script-picker.ts index 3cdd49aff0..c29c647d4d 100644 --- a/src/panels/config/script/ha-script-picker.ts +++ b/src/panels/config/script/ha-script-picker.ts @@ -79,7 +79,7 @@ class HaScriptPicker extends LitElement { title=${this.hass.localize( "ui.panel.config.script.picker.run_script" )} - @click=${(ev: Event) => this._runScript(ev)} + @click=${this._runScript} > @@ -234,7 +234,7 @@ class HaScriptPicker extends LitElement { this._filterValue = undefined; } - private async _runScript(ev) { + private _runScript = async (ev) => { ev.stopPropagation(); const script = ev.currentTarget.script as HassEntity; await triggerScript(this.hass, script.entity_id); @@ -245,7 +245,7 @@ class HaScriptPicker extends LitElement { computeStateName(script) ), }); - } + }; private _showInfo(ev) { ev.stopPropagation(); diff --git a/src/panels/config/script/ha-script-trace.ts b/src/panels/config/script/ha-script-trace.ts index ca0a916b92..01a6f81c74 100644 --- a/src/panels/config/script/ha-script-trace.ts +++ b/src/panels/config/script/ha-script-trace.ts @@ -88,7 +88,7 @@ export class HaScriptTrace extends LitElement { } const actionButtons = html` - this._loadTraces()}> + html` - this._openWrite((ev.currentTarget as any).tag)} + @click=${this._handleWriteClick} title=${this.hass.localize("ui.panel.config.tag.write")} > @@ -120,8 +119,7 @@ export class HaConfigTags extends SubscribeMixin(LitElement) { type: "icon-button", template: (_automation, tag: any) => html` - this._createAutomation((ev.currentTarget as any).tag)} + @click=${this._handleAutomationClick} title=${this.hass.localize("ui.panel.config.tag.create_automation")} > @@ -132,8 +130,7 @@ export class HaConfigTags extends SubscribeMixin(LitElement) { type: "icon-button", template: (_settings, tag: any) => html` - this._openDialog((ev.currentTarget as any).tag)} + @click=${this._handleEditClick} title=${this.hass.localize("ui.panel.config.tag.edit")} > @@ -209,6 +206,25 @@ export class HaConfigTags extends SubscribeMixin(LitElement) { `; } + private _handleWriteClick = (ev: Event) => + this._openWrite((ev.currentTarget as any).tag); + + private _handleAutomationClick = (ev: Event) => { + const tag = (ev.currentTarget as any).tag; + const data = { + alias: this.hass.localize( + "ui.panel.config.tag.automation_title", + "name", + tag.name || tag.id + ), + trigger: [{ platform: "tag", tag_id: tag.id } as TagTrigger], + }; + showAutomationEditor(data); + }; + + private _handleEditClick = (ev: Event) => + this._openDialog((ev.currentTarget as any).tag); + private _showHelp() { showAlertDialog(this, { title: this.hass.localize("ui.panel.config.tag.caption"), @@ -251,18 +267,6 @@ export class HaConfigTags extends SubscribeMixin(LitElement) { }); } - private _createAutomation(tag: Tag) { - const data = { - alias: this.hass.localize( - "ui.panel.config.tag.automation_title", - "name", - tag.name || tag.id - ), - trigger: [{ platform: "tag", tag_id: tag.id } as TagTrigger], - }; - showAutomationEditor(data); - } - private _addTag() { this._openDialog(); } diff --git a/src/panels/developer-tools/statistics/developer-tools-statistics.ts b/src/panels/developer-tools/statistics/developer-tools-statistics.ts index 12dce6fb75..f0d9c13504 100644 --- a/src/panels/developer-tools/statistics/developer-tools-statistics.ts +++ b/src/panels/developer-tools/statistics/developer-tools-statistics.ts @@ -41,7 +41,6 @@ class HaPanelDevStatistics extends LitElement { this._validateStatistics(); } - /* eslint-disable lit/no-template-arrow */ private _columns = memoizeOne( (localize): DataTableColumnContainer => ({ state: { @@ -88,10 +87,7 @@ class HaPanelDevStatistics extends LitElement { title: "", template: (_, data: any) => html`${data.issues - ? html` this._fixIssue(ev)} - .data=${data.issues} - > + ? html` Fix issue ` : ""}`, @@ -99,7 +95,6 @@ class HaPanelDevStatistics extends LitElement { }, }) ); - /* eslint-enable lit/no-template-arrow */ protected render() { return html` @@ -150,7 +145,7 @@ class HaPanelDevStatistics extends LitElement { }); } - private _fixIssue(ev) { + private _fixIssue = (ev) => { const issues = (ev.currentTarget.data as StatisticsValidationResult[]).sort( (itemA, itemB) => (FIX_ISSUES_ORDER[itemA.type] ?? 99) - @@ -236,7 +231,7 @@ class HaPanelDevStatistics extends LitElement { text: "Fixing this issue is not supported yet.", }); } - } + }; static get styles(): CSSResultGroup { return [ diff --git a/src/panels/lovelace/editor/card-editor/hui-dialog-create-card.ts b/src/panels/lovelace/editor/card-editor/hui-dialog-create-card.ts index 0c7a2a74c4..33e8e8b443 100644 --- a/src/panels/lovelace/editor/card-editor/hui-dialog-create-card.ts +++ b/src/panels/lovelace/editor/card-editor/hui-dialog-create-card.ts @@ -90,8 +90,7 @@ export class HuiCreateDialogCard - this._handleTabChanged(ev)} + @MDCTabBar:activated=${this._handleTabChanged} >