diff --git a/src/views/desktop/transactions/ListPage.vue b/src/views/desktop/transactions/ListPage.vue index 95bf5590..c08d4ee4 100644 --- a/src/views/desktop/transactions/ListPage.vue +++ b/src/views/desktop/transactions/ListPage.vue @@ -66,9 +66,21 @@
{{ $t('Date Range') }} - - {{ $t('All') }} - {{ `${queryMinTime} - ${queryMaxTime}` }} + + {{ $t('All') }} + + + + {{ `${queryMinTime} - ${queryMaxTime}` }} +
@@ -357,6 +369,7 @@ import { getTimezoneOffsetMinutes, getBrowserTimezoneOffsetMinutes, getActualUnixTimeForStore, + getShiftedDateRangeAndDateType, getDateRangeByDateType, getRecentDateRangeType, isDateRangeMatchOneMonth @@ -375,6 +388,7 @@ import { mdiMenu, mdiMenuDown, mdiPencilBoxOutline, + mdiArrowLeft, mdiArrowRight, mdiDotsVertical } from '@mdi/js'; @@ -415,6 +429,7 @@ export default { menu: mdiMenu, dropdownMenu: mdiMenuDown, modifyBalance: mdiPencilBoxOutline, + arrowLeft: mdiArrowLeft, arrowRight: mdiArrowRight, more: mdiDotsVertical } @@ -730,6 +745,24 @@ export default { } }); }, + shiftDateRange(startTime, endTime, scale) { + if (this.recentDateRangeType === datetimeConstants.allDateRanges.All.type) { + return; + } + + const newDateRange = getShiftedDateRangeAndDateType(startTime, endTime, scale, this.firstDayOfWeek); + + this.transactionsStore.updateTransactionListFilter({ + dateType: newDateRange.dateType, + maxTime: newDateRange.maxTime, + minTime: newDateRange.minTime + }); + + this.loading = true; + this.currentPageTransactions = []; + this.transactionsStore.clearTransactions(); + this.$router.push(this.getFilterLinkUrl()); + }, changeDateFilter(recentDateRange) { if (recentDateRange.dateType === datetimeConstants.allDateRanges.Custom.type && !recentDateRange.minTime && !recentDateRange.maxTime) { // Custom