fix cannot shift month when selected month is current month and in transaction calendar mode
This commit is contained in:
+5
-5
@@ -761,7 +761,7 @@ export function getRecentMonthDateRanges(monthCount: number): RecentMonthDateRan
|
||||
return recentDateRanges;
|
||||
}
|
||||
|
||||
export function getRecentDateRangeTypeByDateType(allRecentMonthDateRanges: LocalizedRecentMonthDateRange[], dateType: number): number {
|
||||
export function getRecentDateRangeIndexByDateType(allRecentMonthDateRanges: LocalizedRecentMonthDateRange[], dateType: number): number {
|
||||
for (let i = 0; i < allRecentMonthDateRanges.length; i++) {
|
||||
if (!allRecentMonthDateRanges[i].isPreset && allRecentMonthDateRanges[i].dateType === dateType) {
|
||||
return i;
|
||||
@@ -771,15 +771,15 @@ export function getRecentDateRangeTypeByDateType(allRecentMonthDateRanges: Local
|
||||
return -1;
|
||||
}
|
||||
|
||||
export function getRecentDateRangeType(allRecentMonthDateRanges: LocalizedRecentMonthDateRange[], dateType: number, minTime: number, maxTime: number, firstDayOfWeek: number): number {
|
||||
export function getRecentDateRangeIndex(allRecentMonthDateRanges: LocalizedRecentMonthDateRange[], dateType: number, minTime: number, maxTime: number, firstDayOfWeek: number): number {
|
||||
let dateRange = getDateRangeByDateType(dateType, firstDayOfWeek);
|
||||
|
||||
if (dateRange && dateRange.dateType === DateRange.All.type) {
|
||||
return getRecentDateRangeTypeByDateType(allRecentMonthDateRanges, DateRange.All.type);
|
||||
return getRecentDateRangeIndexByDateType(allRecentMonthDateRanges, DateRange.All.type);
|
||||
}
|
||||
|
||||
if (!dateRange && (!maxTime || !minTime)) {
|
||||
return getRecentDateRangeTypeByDateType(allRecentMonthDateRanges, DateRange.Custom.type);
|
||||
return getRecentDateRangeIndexByDateType(allRecentMonthDateRanges, DateRange.Custom.type);
|
||||
}
|
||||
|
||||
if (!dateRange) {
|
||||
@@ -798,7 +798,7 @@ export function getRecentDateRangeType(allRecentMonthDateRanges: LocalizedRecent
|
||||
}
|
||||
}
|
||||
|
||||
return getRecentDateRangeTypeByDateType(allRecentMonthDateRanges, DateRange.Custom.type);
|
||||
return getRecentDateRangeIndexByDateType(allRecentMonthDateRanges, DateRange.Custom.type);
|
||||
}
|
||||
|
||||
export function getFullMonthDateRange(minTime: number, maxTime: number, firstDayOfWeek: number): TimeRangeAndDateType | null {
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
/>
|
||||
</div>
|
||||
<v-tabs show-arrows class="my-4" direction="vertical"
|
||||
:disabled="loading" v-model="recentDateRangeType">
|
||||
:disabled="loading" v-model="recentDateRangeIndex">
|
||||
<v-tab class="tab-text-truncate" :key="idx" :value="idx" v-for="(recentDateRange, idx) in recentMonthDateRanges"
|
||||
@click="changeDateFilter(recentDateRange)">
|
||||
<span class="text-truncate">{{ recentDateRange.displayName }}</span>
|
||||
@@ -694,7 +694,7 @@ import {
|
||||
getDateTypeByBillingCycleDateRange,
|
||||
getDateRangeByDateType,
|
||||
getDateRangeByBillingCycleDateType,
|
||||
getRecentDateRangeType,
|
||||
getRecentDateRangeIndex,
|
||||
getFullMonthDateRange,
|
||||
getMonthFirstDayOrCurrentDayShortDate,
|
||||
isDateRangeMatchOneMonth
|
||||
@@ -954,8 +954,8 @@ const currentMonthTransactionData = computed<TransactionMonthList | null>(() =>
|
||||
return null;
|
||||
});
|
||||
|
||||
const recentDateRangeType = computed<number>({
|
||||
get: () => getRecentDateRangeType(recentMonthDateRanges.value, query.value.dateType, query.value.minTime, query.value.maxTime, firstDayOfWeek.value),
|
||||
const recentDateRangeIndex = computed<number>({
|
||||
get: () => getRecentDateRangeIndex(recentMonthDateRanges.value, query.value.dateType, query.value.minTime, query.value.maxTime, firstDayOfWeek.value),
|
||||
set: (value) => {
|
||||
if (value < 0 || value >= recentMonthDateRanges.value.length) {
|
||||
value = 0;
|
||||
@@ -1339,9 +1339,9 @@ function changeCustomDateFilter(minTime: number, maxTime: number): void {
|
||||
}
|
||||
|
||||
function shiftDateRange(startTime: number, endTime: number, scale: number): void {
|
||||
if (recentDateRangeType.value === DateRange.All.type) {
|
||||
if (pageType.value === TransactionListPageType.List.type && recentDateRangeIndex.value === 0) { // first item is "All"
|
||||
return;
|
||||
}
|
||||
} // transaction calendar mode not display "All" item
|
||||
|
||||
let newDateRange: TimeRangeAndDateType | null = null;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user