1
0
mirror of https://github.com/home-assistant/frontend.git synced 2025-12-20 02:38:53 +00:00

Add keyboard shortcut for creating new items

This commit is contained in:
Jan-Philipp Benecke
2025-11-26 13:50:39 +01:00
parent dfc7116819
commit c91d90aef5
5 changed files with 38 additions and 2 deletions

View File

@@ -63,6 +63,11 @@ const _SHORTCUTS: Section[] = [
descriptionTranslationKey:
"ui.dialogs.shortcuts.searching.search_in_table",
},
{
shortcut: ["N"],
descriptionTranslationKey:
"ui.dialogs.shortcuts.searching.new_in_table",
},
],
},
{

View File

@@ -190,6 +190,21 @@ export class HaTabsSubpageDataTable extends KeyboardShortcutMixin(LitElement) {
};
}
protected supportedSingleKeyShortcuts(): SupportedShortcuts {
if (this.hasFab) {
return {
n: () => {
const fab = this.querySelector<HTMLElement>('[slot="fab"]');
if (fab) {
fab.click();
}
},
};
}
return {};
}
private _showPaneController = new ResizeController(this, {
callback: (entries) => entries[0]?.contentRect.width > 750,
});

View File

@@ -972,6 +972,12 @@ class HaConfigIntegrationsDashboard extends KeyboardShortcutMixin(
};
}
protected supportedSingleKeyShortcuts(): SupportedShortcuts {
return {
n: () => this._createFlow(),
};
}
static get styles(): CSSResultGroup {
return [
haStyle,

View File

@@ -47,9 +47,12 @@ import "../ha-config-section";
import { configSections } from "../ha-panel-config";
import { showHomeZoneDetailDialog } from "./show-dialog-home-zone-detail";
import { showZoneDetailDialog } from "./show-dialog-zone-detail";
import { KeyboardShortcutMixin } from "../../../mixins/keyboard-shortcut-mixin";
@customElement("ha-config-zone")
export class HaConfigZone extends SubscribeMixin(LitElement) {
export class HaConfigZone extends KeyboardShortcutMixin(
SubscribeMixin(LitElement)
) {
@property({ attribute: false }) public hass!: HomeAssistant;
@property({ attribute: "is-wide", type: Boolean }) public isWide = false;
@@ -537,6 +540,12 @@ export class HaConfigZone extends SubscribeMixin(LitElement) {
});
}
protected supportedSingleKeyShortcuts(): SupportedShortcuts {
return {
n: () => this._createZone(),
};
}
static styles = css`
hass-loading-screen {
--app-header-background-color: var(--sidebar-background-color);

View File

@@ -2135,7 +2135,8 @@
"search_command": "search command",
"search_entities": "search entities",
"search_devices": "search devices",
"search_in_table": "to search in tables"
"search_in_table": "to search in tables",
"new_in_table": "to create a new item in tables"
},
"assist": {
"title": "Assist",