diff --git a/src/core/explorer.ts b/src/core/explorer.ts index 530f78c0..2153f126 100644 --- a/src/core/explorer.ts +++ b/src/core/explorer.ts @@ -210,6 +210,7 @@ export enum TransactionExplorerDataDimensionType { DateTimeByMonthOfYear = 'dateTimeByMonthOfYear', DateTimeByQuarterOfYear = 'dateTimeByQuarterOfYear', DateTimeByHourOfDay = 'dateTimeByHourOfDay', + TimezoneOffset = 'timezoneOffset', TransactionType = 'transactionType', SourceAccount = 'sourceAccount', SourceAccountCategory = 'sourceAccountCategory', @@ -240,6 +241,7 @@ export class TransactionExplorerDataDimension implements NameValue { public static readonly DateTimeByMonthOfYear = new TransactionExplorerDataDimension('Transaction Month of Year', TransactionExplorerDataDimensionType.DateTimeByMonthOfYear); public static readonly DateTimeByQuarterOfYear = new TransactionExplorerDataDimension('Transaction Quarter of Year', TransactionExplorerDataDimensionType.DateTimeByQuarterOfYear); public static readonly DateTimeByHourOfDay = new TransactionExplorerDataDimension('Transaction Hour of Day', TransactionExplorerDataDimensionType.DateTimeByHourOfDay); + public static readonly TimezoneOffset = new TransactionExplorerDataDimension('Transaction Timezone', TransactionExplorerDataDimensionType.TimezoneOffset); public static readonly TransactionType = new TransactionExplorerDataDimension('Transaction Type', TransactionExplorerDataDimensionType.TransactionType); public static readonly SourceAccount = new TransactionExplorerDataDimension('Source Account', TransactionExplorerDataDimensionType.SourceAccount); public static readonly SourceAccountCategory = new TransactionExplorerDataDimension('Source Account Category', TransactionExplorerDataDimensionType.SourceAccountCategory); diff --git a/src/stores/explorer.ts b/src/stores/explorer.ts index f74421e3..34882cef 100644 --- a/src/stores/explorer.ts +++ b/src/stores/explorer.ts @@ -43,6 +43,7 @@ import { isEquals, } from '@/lib/common.ts'; import { + getUtcOffsetByUtcOffsetMinutes, parseDateTimeFromUnixTime, parseDateTimeFromUnixTimeWithTimezoneOffset, getDateRangeByDateType, @@ -289,6 +290,13 @@ export const useExplorersStore = defineStore('explorers', () => { categoryIdType: TransactionExplorerDimensionType.Other, categoryDisplayOrders: [dateTime.getHour()] }; + } else if (dimension === TransactionExplorerDataDimension.TimezoneOffset) { + return { + categoryName: getUtcOffsetByUtcOffsetMinutes(transaction.utcOffset), + categoryId: transaction.utcOffset.toString(10), + categoryIdType: TransactionExplorerDimensionType.Other, + categoryDisplayOrders: [transaction.utcOffset] + }; } else if (dimension === TransactionExplorerDataDimension.TransactionType) { let transactionTypeName = 'Unknown';