get timezone inside the components that require it

This commit is contained in:
chfhtw
2026-04-08 09:45:08 +02:00
parent 01e6a1061c
commit 8ca5849b14
9 changed files with 15 additions and 28 deletions
@@ -20,7 +20,8 @@ export default {
},
inject: {
mode: "mode",
dropableEvents: "dropableEvents"
dropableEvents: "dropableEvents",
timezone: "timezone"
},
props: {
events: Array,
+1 -4
View File
@@ -15,10 +15,6 @@ export default {
FhcCalendar
},
props: {
timezone: {
type: String,
required: true
},
date: {
type: [Date, String, Number, luxon.DateTime],
default: luxon.DateTime.local()
@@ -39,6 +35,7 @@ export default {
],
data() {
return {
timezone: FHC_JS_DATA_STORAGE_OBJECT.timezone,
modes: {
day: Vue.markRaw(ModeDay),
week: Vue.markRaw(ModeWeek),
+3 -5
View File
@@ -11,18 +11,16 @@ export default {
FhcCalendar
},
props: {
timezone: {
type: String,
required: true
},
getPromiseFunc: {
type: Function,
required: true
}
},
data() {
const timezone = FHC_JS_DATA_STORAGE_OBJECT.timezone;
return {
now: luxon.DateTime.now().setZone(this.timezone),
timezone,
now: luxon.DateTime.now().setZone(timezone),
modes: {
list: Vue.markRaw(ModeList)
},
@@ -22,7 +22,7 @@ export default {
computed:{
currentDay() {
if (!this.propsViewData?.focus_date || isNaN(new Date(this.propsViewData?.focus_date)))
return luxon.DateTime.now().setZone(this.viewData.timezone).toISODate();
return luxon.DateTime.now().setZone(FHC_JS_DATA_STORAGE_OBJECT.timezone).toISODate();
return this.propsViewData?.focus_date;
},
currentMode() {
@@ -95,7 +95,6 @@ export default {
<fhc-calendar
v-else-if="lv"
ref="calendar"
:timezone="viewData.timezone"
:get-promise-func="getPromiseFunc"
:date="currentDay"
:mode="currentMode"
+2 -4
View File
@@ -15,7 +15,6 @@ export default {
propsViewData: Object
},
data() {
const now = luxon.DateTime.now().setZone(this.viewData.timezone);
return {
studiensemester_kurzbz: null,
studiensemester_start: null,
@@ -26,7 +25,7 @@ export default {
},
computed:{
currentDay() {
return this.propsViewData?.focus_date || luxon.DateTime.now().setZone(this.viewData.timezone).toISODate();
return this.propsViewData?.focus_date || luxon.DateTime.now().setZone(FHC_JS_DATA_STORAGE_OBJECT.timezone).toISODate();
},
currentMode() {
return this.propsViewData?.mode || DEFAULT_MODE_LVPLAN;
@@ -35,7 +34,7 @@ export default {
if (!this.studiensemester_start || !this.studiensemester_ende || !this.uid)
return false;
const opts = { zone: this.viewData.timezone };
const opts = { zone: FHC_JS_DATA_STORAGE_OBJECT.timezone };
const start = luxon.DateTime
.fromISO(this.studiensemester_start, opts)
.toUnixInteger();
@@ -115,7 +114,6 @@ export default {
<fhc-calendar
ref="calendar"
v-model:lv="lv"
:timezone="viewData.timezone"
:get-promise-func="getPromiseFunc"
:date="currentDay"
:mode="currentMode"
+2 -3
View File
@@ -27,7 +27,7 @@ export default {
computed:{
currentDay() {
if (!this.propsViewData?.focus_date || isNaN(new Date(this.propsViewData?.focus_date)))
return luxon.DateTime.now().setZone(this.viewData.timezone).toISODate();
return luxon.DateTime.now().setZone(FHC_JS_DATA_STORAGE_OBJECT.timezone).toISODate();
return this.propsViewData?.focus_date;
},
currentMode() {
@@ -47,7 +47,7 @@ export default {
return;
}
const opts = { zone: this.viewData.timezone };
const opts = { zone: FHC_JS_DATA_STORAGE_OBJECT.timezone };
const start = luxon.DateTime
.fromISO(this.studiensemester_start, opts)
.toUnixInteger();
@@ -124,7 +124,6 @@ export default {
<hr>
<fhc-calendar
ref="calendar"
:timezone="viewData.timezone"
:get-promise-func="getPromiseFunc"
:date="currentDay"
:mode="currentMode"
@@ -15,7 +15,7 @@ export default {
},
computed: {
currentDay() {
return this.propsViewData?.focus_date || luxon.DateTime.now().setZone(this.viewData.timezone).toISODate();
return this.propsViewData?.focus_date || luxon.DateTime.now().setZone(FHC_JS_DATA_STORAGE_OBJECT.timezone).toISODate();
},
currentMode() {
return this.propsViewData?.mode || DEFAULT_MODE_RAUMINFO;
@@ -51,7 +51,6 @@ export default {
<hr>
<fhc-calendar
ref="calendar"
:timezone="viewData.timezone"
:get-promise-func="getPromiseFunc"
:date="currentDay"
:mode="currentMode"
+2 -3
View File
@@ -21,7 +21,7 @@ export default {
type: Object,
required: true,
validator(value) {
return value && value.name && value.timezone
return value && value.name
}
}
},
@@ -36,8 +36,7 @@ export default {
provide() {
return {
editMode: Vue.computed(()=>this.editMode),
widgetsSetup: Vue.computed(() => this.widgetsSetup),
timezone: Vue.computed(() => this.viewData.timezone)
widgetsSetup: Vue.computed(() => this.widgetsSetup)
}
},
methods: {
@@ -11,9 +11,6 @@ export default {
mixins: [
AbstractWidget
],
inject: [
"timezone"
],
methods: {
getPromiseFunc(start, end) {
return [
@@ -27,6 +24,6 @@ export default {
},
template: /*html*/`
<div class="dashboard-widget-lvplan d-flex flex-column h-100">
<fhc-calendar :timezone="timezone" :get-promise-func="getPromiseFunc" />
<fhc-calendar :get-promise-func="getPromiseFunc" />
</div>`
}