From b939978de161f784f687dc114b2c38faac05923b Mon Sep 17 00:00:00 2001 From: Philip Allgaier Date: Mon, 12 Dec 2022 15:48:26 +0100 Subject: [PATCH] Enable full day event mode in calendar card day grid (#14716) --- src/panels/calendar/ha-full-calendar.ts | 5 +++++ src/panels/lovelace/cards/hui-calendar-card.ts | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/panels/calendar/ha-full-calendar.ts b/src/panels/calendar/ha-full-calendar.ts index c0acd174c6..d3007ba5e6 100644 --- a/src/panels/calendar/ha-full-calendar.ts +++ b/src/panels/calendar/ha-full-calendar.ts @@ -234,6 +234,10 @@ export class HAFullCalendar extends LitElement { this._fireViewChanged(); } + if (changedProps.has("eventDisplay")) { + this.calendar!.setOption("eventDisplay", this.eventDisplay); + } + const oldHass = changedProps.get("hass") as HomeAssistant; if (oldHass && oldHass.language !== this.hass.language) { @@ -322,6 +326,7 @@ export class HAFullCalendar extends LitElement { this._activeView = "dayGridDay"; this.calendar!.changeView("dayGridDay"); this.calendar!.gotoDate(info.dateStr); + this._fireViewChanged(); } private _handleNext(): void { diff --git a/src/panels/lovelace/cards/hui-calendar-card.ts b/src/panels/lovelace/cards/hui-calendar-card.ts index 2e5b3e6123..abd69bf654 100644 --- a/src/panels/lovelace/cards/hui-calendar-card.ts +++ b/src/panels/lovelace/cards/hui-calendar-card.ts @@ -66,6 +66,8 @@ export class HuiCalendarCard extends LitElement implements LovelaceCard { @state() private _calendars: Calendar[] = []; + @state() private _eventDisplay = "list-item"; + @state() private _narrow = false; @state() private _veryNarrow = false; @@ -134,7 +136,7 @@ export class HuiCalendarCard extends LitElement implements LovelaceCard { .hass=${this.hass} .views=${views} .initialView=${this._config.initial_view!} - .eventDisplay=${"list-item"} + .eventDisplay=${this._eventDisplay} .error=${this._error} @view-changed=${this._handleViewChanged} > @@ -164,6 +166,8 @@ export class HuiCalendarCard extends LitElement implements LovelaceCard { } private _handleViewChanged(ev: HASSDomEvent): void { + this._eventDisplay = + ev.detail.view === "dayGridMonth" ? "list-item" : "auto"; this._startDate = ev.detail.start; this._endDate = ev.detail.end; this._fetchCalendarEvents();