mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-22 16:56:35 +00:00
Add sidebar actions to external bus (#15999)
This commit is contained in:
parent
b0b7998757
commit
36c5d70597
@ -44,6 +44,22 @@ const handleExternalMessage = (
|
||||
success: true,
|
||||
result: null,
|
||||
});
|
||||
} else if (msg.command === "sidebar/toggle") {
|
||||
fireEvent(hassMainEl, "hass-toggle-menu");
|
||||
bus.fireMessage({
|
||||
id: msg.id,
|
||||
type: "result",
|
||||
success: true,
|
||||
result: null,
|
||||
});
|
||||
} else if (msg.command === "sidebar/show") {
|
||||
fireEvent(hassMainEl, "hass-toggle-menu", { open: true });
|
||||
bus.fireMessage({
|
||||
id: msg.id,
|
||||
type: "result",
|
||||
success: true,
|
||||
result: null,
|
||||
});
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
@ -121,9 +121,23 @@ interface EMIncomingMessageShowNotifications {
|
||||
command: "notifications/show";
|
||||
}
|
||||
|
||||
interface EMIncomingMessageToggleSidebar {
|
||||
id: number;
|
||||
type: "command";
|
||||
command: "sidebar/toggle";
|
||||
}
|
||||
|
||||
interface EMIncomingMessageShowSidebar {
|
||||
id: number;
|
||||
type: "command";
|
||||
command: "sidebar/show";
|
||||
}
|
||||
|
||||
export type EMIncomingMessageCommands =
|
||||
| EMIncomingMessageRestart
|
||||
| EMIncomingMessageShowNotifications;
|
||||
| EMIncomingMessageShowNotifications
|
||||
| EMIncomingMessageToggleSidebar
|
||||
| EMIncomingMessageShowSidebar;
|
||||
|
||||
type EMIncomingMessage =
|
||||
| EMMessageResultSuccess
|
||||
|
@ -19,12 +19,13 @@ import "./partial-panel-resolver";
|
||||
declare global {
|
||||
// for fire event
|
||||
interface HASSDomEvents {
|
||||
"hass-toggle-menu": undefined;
|
||||
"hass-toggle-menu": undefined | { open?: boolean };
|
||||
"hass-edit-sidebar": EditSideBarEvent;
|
||||
"hass-show-notifications": undefined;
|
||||
}
|
||||
interface HTMLElementEventMap {
|
||||
"hass-edit-sidebar": HASSDomEvent<EditSideBarEvent>;
|
||||
"hass-toggle-menu": HASSDomEvent<HASSDomEvents["hass-toggle-menu"]>;
|
||||
}
|
||||
}
|
||||
|
||||
@ -107,7 +108,7 @@ export class HomeAssistantMain extends LitElement {
|
||||
}
|
||||
);
|
||||
|
||||
this.addEventListener("hass-toggle-menu", () => {
|
||||
this.addEventListener("hass-toggle-menu", (ev) => {
|
||||
if (this._sidebarEditMode) {
|
||||
return;
|
||||
}
|
||||
@ -118,10 +119,16 @@ export class HomeAssistantMain extends LitElement {
|
||||
return;
|
||||
}
|
||||
if (this._sidebarNarrow) {
|
||||
this._drawerOpen = !this._drawerOpen;
|
||||
this._drawerOpen = ev.detail?.open ?? !this._drawerOpen;
|
||||
} else {
|
||||
fireEvent(this, "hass-dock-sidebar", {
|
||||
dock: this.hass.dockedSidebar === "auto" ? "docked" : "auto",
|
||||
dock: ev.detail?.open
|
||||
? "docked"
|
||||
: ev.detail?.open === false
|
||||
? "auto"
|
||||
: this.hass.dockedSidebar === "auto"
|
||||
? "docked"
|
||||
: "auto",
|
||||
});
|
||||
}
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user