diff --git a/src/components/ha-data-table.ts b/src/components/ha-data-table.ts index 770c60eea4..73ccd31c79 100644 --- a/src/components/ha-data-table.ts +++ b/src/components/ha-data-table.ts @@ -32,10 +32,15 @@ declare global { // for fire event interface HASSDomEvents { "selection-changed": SelectionChangedEvent; + "row-click": RowClickedEvent; "sorting-changed": SortingChangedEvent; } } +export interface RowClickedEvent { + id: string; +} + export interface SelectionChangedEvent { id: string; selected: boolean; @@ -266,7 +271,11 @@ export class HaDataTable extends BaseElement { ), (row: DataTabelRowData) => row[this.id], (row: DataTabelRowData) => html` - + ${this.selectable ? html` html` - - ${stateObj.friendly_name} +
+ + ${stateObj.friendly_name} +
`, }, entity_id: { @@ -166,6 +169,15 @@ export class HuiUnusedEntities extends LitElement { } } + private _handleEntityClicked(ev: Event) { + const entityId = (ev.target as HTMLElement) + .closest("tr")! + .getAttribute("data-row-id")!; + fireEvent(this, "hass-more-info", { + entityId, + }); + } + private _selectView(): void { showSelectViewDialog(this, { lovelace: this.lovelace!,