From 47f0d748126980e7f8464c2a90c5b17848c6082b Mon Sep 17 00:00:00 2001 From: Philip Allgaier Date: Thu, 15 Oct 2020 15:57:05 +0200 Subject: [PATCH] New "clickable" property for (#7351) --- src/components/data-table/ha-data-table.ts | 6 ++++++ src/layouts/hass-tabs-subpage-data-table.ts | 7 +++++++ src/panels/config/areas/ha-config-areas-dashboard.ts | 1 + src/panels/config/devices/ha-config-devices-dashboard.ts | 1 + src/panels/config/entities/ha-config-entities.ts | 1 + src/panels/config/helpers/ha-config-helpers.ts | 1 + .../integration-panels/ozw/ozw-network-nodes.ts | 1 + .../integration-panels/zha/zha-groups-dashboard.ts | 1 + .../lovelace/dashboards/ha-config-lovelace-dashboards.ts | 1 + .../lovelace/resources/ha-config-lovelace-resources.ts | 1 + src/panels/config/users/ha-config-users.ts | 1 + 11 files changed, 22 insertions(+) diff --git a/src/components/data-table/ha-data-table.ts b/src/components/data-table/ha-data-table.ts index d460edf743..ea593d1b1d 100644 --- a/src/components/data-table/ha-data-table.ts +++ b/src/components/data-table/ha-data-table.ts @@ -94,6 +94,8 @@ export class HaDataTable extends LitElement { @property({ type: Boolean }) public selectable = false; + @property({ type: Boolean }) public clickable = false; + @property({ type: Boolean }) public hasFab = false; @property({ type: Boolean, attribute: "auto-height" }) @@ -333,6 +335,7 @@ export class HaDataTable extends LitElement { "mdc-data-table__row--selected": this._checkedRows.includes( String(row[this.id]) ), + clickable: this.clickable, })}" aria-selected=${ifDefined( this._checkedRows.includes(String(row[this.id])) @@ -886,6 +889,9 @@ export class HaDataTable extends LitElement { .forceLTR { direction: ltr; } + .clickable { + cursor: pointer; + } `; } } diff --git a/src/layouts/hass-tabs-subpage-data-table.ts b/src/layouts/hass-tabs-subpage-data-table.ts index 5476653f9e..2785eac9d8 100644 --- a/src/layouts/hass-tabs-subpage-data-table.ts +++ b/src/layouts/hass-tabs-subpage-data-table.ts @@ -48,6 +48,12 @@ export class HaTabsSubpageDataTable extends LitElement { */ @property({ type: Boolean }) public selectable = false; + /** + * Should rows be clickable. + * @type {Boolean} + */ + @property({ type: Boolean }) public clickable = false; + /** * Do we need to add padding for a fab. * @type {Boolean} @@ -164,6 +170,7 @@ export class HaTabsSubpageDataTable extends LitElement { .id=${this.id} .noDataText=${this.noDataText} .dir=${computeRTLDirection(this.hass)} + .clickable=${this.clickable} > ${!this.narrow ? html` diff --git a/src/panels/config/areas/ha-config-areas-dashboard.ts b/src/panels/config/areas/ha-config-areas-dashboard.ts index b8b16d2933..4b39809d33 100644 --- a/src/panels/config/areas/ha-config-areas-dashboard.ts +++ b/src/panels/config/areas/ha-config-areas-dashboard.ts @@ -117,6 +117,7 @@ export class HaConfigAreasDashboard extends LitElement { )} id="area_id" hasFab + clickable > `; diff --git a/src/panels/config/entities/ha-config-entities.ts b/src/panels/config/entities/ha-config-entities.ts index 357addf53e..1ab567785a 100644 --- a/src/panels/config/entities/ha-config-entities.ts +++ b/src/panels/config/entities/ha-config-entities.ts @@ -594,6 +594,7 @@ export class HaConfigEntities extends SubscribeMixin(LitElement) { .data=${entityData} .filter=${this._filter} selectable + clickable @selection-changed=${this._handleSelectionChanged} @row-click=${this._openEditEntry} id="entity_id" diff --git a/src/panels/config/helpers/ha-config-helpers.ts b/src/panels/config/helpers/ha-config-helpers.ts index 02e5eef9a4..8179474639 100644 --- a/src/panels/config/helpers/ha-config-helpers.ts +++ b/src/panels/config/helpers/ha-config-helpers.ts @@ -153,6 +153,7 @@ export class HaConfigHelpers extends LitElement { .data=${this._getItems(this._stateItems)} @row-click=${this._openEditDialog} hasFab + clickable .noDataText=${this.hass.localize( "ui.panel.config.helpers.picker.no_helpers" )} diff --git a/src/panels/config/integrations/integration-panels/ozw/ozw-network-nodes.ts b/src/panels/config/integrations/integration-panels/ozw/ozw-network-nodes.ts index f492cf579f..bd796519a4 100644 --- a/src/panels/config/integrations/integration-panels/ozw/ozw-network-nodes.ts +++ b/src/panels/config/integrations/integration-panels/ozw/ozw-network-nodes.ts @@ -117,6 +117,7 @@ class OZWNetworkNodes extends LitElement { .data=${this._nodes} id="node_id" @row-click=${this._handleRowClicked} + clickable > `; diff --git a/src/panels/config/integrations/integration-panels/zha/zha-groups-dashboard.ts b/src/panels/config/integrations/integration-panels/zha/zha-groups-dashboard.ts index 87fba52273..ba4342b1fd 100644 --- a/src/panels/config/integrations/integration-panels/zha/zha-groups-dashboard.ts +++ b/src/panels/config/integrations/integration-panels/zha/zha-groups-dashboard.ts @@ -124,6 +124,7 @@ export class ZHAGroupsDashboard extends LitElement { .columns=${this._columns(this.narrow)} .data=${this._formattedGroups(this._groups)} @row-click=${this._handleRowClicked} + clickable >