From 844c31885ef9b66f9032657db0e1fa44835e39ab Mon Sep 17 00:00:00 2001 From: Johann Hoffmann Date: Thu, 20 Feb 2025 16:25:57 +0100 Subject: [PATCH] defined row min height & event max height props; month event click opens lv modal; fixed off by one date state; --- public/js/components/Calendar/Day.js | 2 +- public/js/components/Calendar/Day/Page.js | 6 ++- public/js/components/Calendar/Month/Page.js | 6 +-- public/js/components/Calendar/Week/Page.js | 5 ++- .../components/Cis/Stundenplan/Stundenplan.js | 45 ++++++++++++++----- 5 files changed, 44 insertions(+), 20 deletions(-) diff --git a/public/js/components/Calendar/Day.js b/public/js/components/Calendar/Day.js index c1d0a6dfb..c0f1040f5 100644 --- a/public/js/components/Calendar/Day.js +++ b/public/js/components/Calendar/Day.js @@ -31,7 +31,7 @@ export default { }, next() { this.$refs.pane.next(); - this.$emit('change:offset', { y: 0, m: 0, d: -1 }); + this.$emit('change:offset', { y: 0, m: 0, d: 1 }); }, selectEvent(event) { this.$emit('input', ['select:event', event]); diff --git a/public/js/components/Calendar/Day/Page.js b/public/js/components/Calendar/Day/Page.js index 70bccc49d..a57fb97af 100644 --- a/public/js/components/Calendar/Day/Page.js +++ b/public/js/components/Calendar/Day/Page.js @@ -36,6 +36,7 @@ export default { 'calendarClientHeight', 'setSelectedEvent', 'selectedEvent', + 'rowMinHeight' ], props: { year: Number, @@ -372,11 +373,12 @@ export default {
-
{{hour}}:00
+
{{hour}}:00
-
+
diff --git a/public/js/components/Calendar/Month/Page.js b/public/js/components/Calendar/Month/Page.js index 04e3a8e64..8ec700ce7 100644 --- a/public/js/components/Calendar/Month/Page.js +++ b/public/js/components/Calendar/Month/Page.js @@ -143,16 +143,16 @@ export default { {{week.no}} - {{day.getDate()}} + {{day.getDate()}} -

this is a placeholder which means that no template was passed to the Calendar Page slot

diff --git a/public/js/components/Calendar/Week/Page.js b/public/js/components/Calendar/Week/Page.js index 15ab08071..c9f751f66 100644 --- a/public/js/components/Calendar/Week/Page.js +++ b/public/js/components/Calendar/Week/Page.js @@ -23,7 +23,8 @@ export default { 'noMonthView', 'isSliding', 'selectedEvent', - 'setSelectedEvent' + 'setSelectedEvent', + 'rowMinHeight' ], props: { year: Number, @@ -38,7 +39,7 @@ export default { computed: { getGridStyle() { return { - 'min-height': '100px', + 'min-height': this.rowMinHeight, // this.size is the magic number anyway which directs font-size, // which in turn influences a lot of layout width: '42px' diff --git a/public/js/components/Cis/Stundenplan/Stundenplan.js b/public/js/components/Cis/Stundenplan/Stundenplan.js index 0eb21d5b1..1e455a6c9 100644 --- a/public/js/components/Cis/Stundenplan/Stundenplan.js +++ b/public/js/components/Cis/Stundenplan/Stundenplan.js @@ -24,7 +24,21 @@ const Stundenplan = { } }, props: { - propsViewData: Object + propsViewData: Object, + rowMinHeight: { + type: String, + default: '100px' + }, + eventMaxHeight: { + type: String, + default: '125px' + } + }, + provide() { + return { + rowMinHeight: this.rowMinHeight, + eventMaxHeight: this.eventMaxHeight + } }, watch: { weekFirstDay: { @@ -94,7 +108,7 @@ const Stundenplan = { const date = day.getFullYear() + "-" + String(day.getMonth() + 1).padStart(2, "0") + "-" + String(day.getDate()).padStart(2, "0"); - + this.$router.push({ name: "Stundenplan", params: { @@ -128,19 +142,23 @@ const Stundenplan = { }, handleChangeMode(mode) { const modeCapitalized = mode.charAt(0).toUpperCase() + mode.slice(1) + const date = this.currentDay.getFullYear() + "-" + + String(this.currentDay.getMonth() + 1).padStart(2, "0") + "-" + + String(this.currentDay.getDate()).padStart(2, "0"); this.$router.push({ name: "Stundenplan", params: { mode: modeCapitalized, - focus_date: this.currentDay.toISOString().split("T")[0], + focus_date: date, lv_id: this.propsViewData?.lv_id ?? null } }) this.calendarMode = mode }, - showModal: function(event){ + showModal: function(e, event){ + e.stopPropagation() this.currentlySelectedEvent = event; Vue.nextTick(() => { this.$refs.lvmodal.show(); @@ -241,12 +259,15 @@ const Stundenplan = {