diff --git a/src/components/mobile/DateRangeSelectionSheet.vue b/src/components/mobile/DateRangeSelectionSheet.vue index 0dd75448..df4f6f6d 100644 --- a/src/components/mobile/DateRangeSelectionSheet.vue +++ b/src/components/mobile/DateRangeSelectionSheet.vue @@ -11,19 +11,41 @@ @@ -33,7 +55,7 @@ @click="confirm">
- +
@@ -62,31 +84,41 @@ export default { maxDate = self.maxTime; } + minDate = self.$utilities.getDummyUnixTimeForLocalUsage(minDate, self.$utilities.getTimezoneOffsetMinutes(), self.$utilities.getBrowserTimezoneOffsetMinutes()); + maxDate = self.$utilities.getDummyUnixTimeForLocalUsage(maxDate, self.$utilities.getTimezoneOffsetMinutes(), self.$utilities.getBrowserTimezoneOffsetMinutes()); + return { - currentMinDate: self.$utilities.formatUnixTime(minDate, 'YYYY-MM-DDTHH:mm'), - currentMaxDate: self.$utilities.formatUnixTime(maxDate, 'YYYY-MM-DDTHH:mm') + currentMinDate: [self.$utilities.getLocalDatetimeFromUnixTime(minDate)], + currentMaxDate: [self.$utilities.getLocalDatetimeFromUnixTime(maxDate)] + } + }, + computed: { + defaultFirstDayOfWeek() { + return this.$store.getters.currentUserFirstDayOfWeek; } }, watch: { 'currentMinDate': function (newValue) { if (!newValue) { - this.currentMinDate = this.$utilities.formatUnixTime(this.$utilities.getCurrentUnixTime(), 'YYYY-MM-DDTHH:mm'); + this.currentMinDate = [this.$utilities.getLocalDatetimeFromUnixTime(this.$utilities.getCurrentUnixTime())]; } }, 'currentMaxDate': function (newValue) { if (!newValue) { - this.currentMaxDate = this.$utilities.formatUnixTime(this.$utilities.getCurrentUnixTime(), 'YYYY-MM-DDTHH:mm'); + this.currentMaxDate = [this.$utilities.getLocalDatetimeFromUnixTime(this.$utilities.getCurrentUnixTime())]; } } }, methods: { onSheetOpen() { if (this.minTime) { - this.currentMinDate = this.$utilities.formatUnixTime(this.minTime, 'YYYY-MM-DDTHH:mm'); + const minTime = this.$utilities.getDummyUnixTimeForLocalUsage(this.minTime, this.$utilities.getTimezoneOffsetMinutes(), this.$utilities.getBrowserTimezoneOffsetMinutes()); + this.currentMinDate = [this.$utilities.getLocalDatetimeFromUnixTime(minTime)]; } if (this.maxTime) { - this.currentMaxDate = this.$utilities.formatUnixTime(this.maxTime, 'YYYY-MM-DDTHH:mm'); + const maxTime = this.$utilities.getDummyUnixTimeForLocalUsage(this.maxTime, this.$utilities.getTimezoneOffsetMinutes(), this.$utilities.getBrowserTimezoneOffsetMinutes()); + this.currentMaxDate = [this.$utilities.getLocalDatetimeFromUnixTime(maxTime)]; } }, onSheetClosed() { @@ -97,14 +129,29 @@ export default { return; } - const minUnixTime = this.$utilities.getMinuteFirstUnixTime(this.currentMinDate); - const maxUnixTime = this.$utilities.getMinuteLastUnixTime(this.currentMaxDate); + let currentMinDate = this.currentMinDate; + + if (this.$utilities.isArray(this.currentMinDate)) { + currentMinDate = this.currentMinDate[0]; + } + + let currentMaxDate = this.currentMaxDate; + + if (this.$utilities.isArray(this.currentMaxDate)) { + currentMaxDate = this.currentMaxDate[0]; + } + + let minUnixTime = this.$utilities.getMinuteFirstUnixTime(currentMinDate); + let maxUnixTime = this.$utilities.getMinuteLastUnixTime(currentMaxDate); if (minUnixTime < 0 || maxUnixTime < 0) { this.$toast('Date is too early'); return; } + minUnixTime = this.$utilities.getActualUnixTimeForStore(minUnixTime, this.$utilities.getTimezoneOffsetMinutes(), this.$utilities.getBrowserTimezoneOffsetMinutes()); + maxUnixTime = this.$utilities.getActualUnixTimeForStore(maxUnixTime, this.$utilities.getTimezoneOffsetMinutes(), this.$utilities.getBrowserTimezoneOffsetMinutes()); + this.$emit('dateRange:change', minUnixTime, maxUnixTime); }, cancel() { @@ -115,10 +162,6 @@ export default {