From 12c5b0254ae50330a2405c7015b0ff7719fdc020 Mon Sep 17 00:00:00 2001 From: Andrea Vos Date: Wed, 6 Dec 2023 20:18:52 +0100 Subject: [PATCH 1/3] (calendar) add filtering to the event list --- assets/style.scss | 11 +++++++++++ components/CalendarEventsList.vue | 24 ++++++++++++++++++++++++ components/CalendarMonthEvents.vue | 14 ++++++++++++-- routes/calendar.vue | 22 ++-------------------- 4 files changed, 49 insertions(+), 22 deletions(-) create mode 100644 components/CalendarEventsList.vue diff --git a/assets/style.scss b/assets/style.scss index a00de472d..a651575dd 100644 --- a/assets/style.scss +++ b/assets/style.scss @@ -294,3 +294,14 @@ body:not(.reduced-colours) { .headers-nowrap th { white-space: nowrap; } + +@for $i from 3 to 5 { + @include media-breakpoint-up('lg', $grid-breakpoints) { + .columns-#{$i} { + column-count: $i; + > * { + break-inside: avoid-column; + } + } + } +} diff --git a/components/CalendarEventsList.vue b/components/CalendarEventsList.vue new file mode 100644 index 000000000..195ddf581 --- /dev/null +++ b/components/CalendarEventsList.vue @@ -0,0 +1,24 @@ + + + diff --git a/components/CalendarMonthEvents.vue b/components/CalendarMonthEvents.vue index d25e9cb39..73436c5cb 100644 --- a/components/CalendarMonthEvents.vue +++ b/components/CalendarMonthEvents.vue @@ -1,7 +1,8 @@ @@ -13,19 +14,28 @@ props: { year: { required: true }, month: { required: true }, + filter: { default: '' }, }, computed: { events() { let events = []; for (let day of iterateMonth(this.year.year, this.month)) { for (let event of this.year.eventsByDate[day.toString()] || []) { - if (event.isFirstDay(day)) { + if (event.isFirstDay(day) && this.visible(event)) { events.push(event); } } } return events; } + }, + methods: { + visible(event) { + if (!this.filter) { return true; } + const [name, param] = event.name.split('$'); + const translatedName = this.$te(`calendar.events.${name}`, true) ? this.$t(`calendar.events.${name}`, {param}) : name; + return translatedName.toLowerCase().includes(this.filter.toLowerCase()); + } } } diff --git a/routes/calendar.vue b/routes/calendar.vue index 3b94c1c1d..f076c39d1 100644 --- a/routes/calendar.vue +++ b/routes/calendar.vue @@ -46,11 +46,8 @@ From c71b6efcfbe215567758c3cd9bdfb561c6610744 Mon Sep 17 00:00:00 2001 From: Andrea Vos Date: Sat, 9 Dec 2023 21:49:17 +0100 Subject: [PATCH 3/3] (calendar) add filtering to the event list - optimisation --- components/CalendarMonthEvents.vue | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/components/CalendarMonthEvents.vue b/components/CalendarMonthEvents.vue index f75e905af..ad50dce53 100644 --- a/components/CalendarMonthEvents.vue +++ b/components/CalendarMonthEvents.vue @@ -1,7 +1,7 @@