mirror of
https://github.com/home-assistant/frontend
synced 2024-09-28 00:43:28 +02:00
Add hass-quick-bar-trigger event to trigger quickbar from supervisor (#12467)
This commit is contained in:
parent
66adecdfc9
commit
ebc807a6a4
@ -3,8 +3,8 @@ import { customElement, property } from "lit/decorators";
|
||||
import { atLeastVersion } from "../../src/common/config/version";
|
||||
import { applyThemesOnElement } from "../../src/common/dom/apply_themes_on_element";
|
||||
import { fireEvent } from "../../src/common/dom/fire_event";
|
||||
import { isNavigationClick } from "../../src/common/dom/is-navigation-click";
|
||||
import { mainWindow } from "../../src/common/dom/get_main_window";
|
||||
import { isNavigationClick } from "../../src/common/dom/is-navigation-click";
|
||||
import { navigate } from "../../src/common/navigate";
|
||||
import { HassioPanelInfo } from "../../src/data/hassio/supervisor";
|
||||
import { Supervisor } from "../../src/data/supervisor/supervisor";
|
||||
@ -73,6 +73,14 @@ export class HassioMain extends SupervisorBaseElement {
|
||||
});
|
||||
});
|
||||
|
||||
// Forward keydown events to the main window for quickbar access
|
||||
document.body.addEventListener("keydown", (ev) => {
|
||||
// @ts-ignore
|
||||
fireEvent(mainWindow, "hass-quick-bar-trigger", ev, {
|
||||
bubbles: false,
|
||||
});
|
||||
});
|
||||
|
||||
makeDialogManager(this, this.shadowRoot!);
|
||||
}
|
||||
|
||||
|
@ -14,6 +14,7 @@ import { HassElement } from "./hass-element";
|
||||
declare global {
|
||||
interface HASSDomEvents {
|
||||
"hass-quick-bar": QuickBarParams;
|
||||
"hass-quick-bar-trigger": KeyboardEvent;
|
||||
"hass-enable-shortcuts": HomeAssistant["enableShortcuts"];
|
||||
}
|
||||
}
|
||||
@ -28,6 +29,20 @@ export default <T extends Constructor<HassElement>>(superClass: T) =>
|
||||
storeState(this.hass!);
|
||||
});
|
||||
|
||||
mainWindow.addEventListener("hass-quick-bar-trigger", (ev) => {
|
||||
switch (ev.detail.key) {
|
||||
case "e":
|
||||
this._showQuickBar(ev.detail);
|
||||
break;
|
||||
case "c":
|
||||
this._showQuickBar(ev.detail, true);
|
||||
break;
|
||||
case "m":
|
||||
this._createMyLink(ev.detail);
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
this._registerShortcut();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user