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 { atLeastVersion } from "../../src/common/config/version";
|
||||||
import { applyThemesOnElement } from "../../src/common/dom/apply_themes_on_element";
|
import { applyThemesOnElement } from "../../src/common/dom/apply_themes_on_element";
|
||||||
import { fireEvent } from "../../src/common/dom/fire_event";
|
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 { mainWindow } from "../../src/common/dom/get_main_window";
|
||||||
|
import { isNavigationClick } from "../../src/common/dom/is-navigation-click";
|
||||||
import { navigate } from "../../src/common/navigate";
|
import { navigate } from "../../src/common/navigate";
|
||||||
import { HassioPanelInfo } from "../../src/data/hassio/supervisor";
|
import { HassioPanelInfo } from "../../src/data/hassio/supervisor";
|
||||||
import { Supervisor } from "../../src/data/supervisor/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!);
|
makeDialogManager(this, this.shadowRoot!);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,6 +14,7 @@ import { HassElement } from "./hass-element";
|
|||||||
declare global {
|
declare global {
|
||||||
interface HASSDomEvents {
|
interface HASSDomEvents {
|
||||||
"hass-quick-bar": QuickBarParams;
|
"hass-quick-bar": QuickBarParams;
|
||||||
|
"hass-quick-bar-trigger": KeyboardEvent;
|
||||||
"hass-enable-shortcuts": HomeAssistant["enableShortcuts"];
|
"hass-enable-shortcuts": HomeAssistant["enableShortcuts"];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -28,6 +29,20 @@ export default <T extends Constructor<HassElement>>(superClass: T) =>
|
|||||||
storeState(this.hass!);
|
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();
|
this._registerShortcut();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user