allow users to set coordinate display type (#141)

This commit is contained in:
MaysWind
2025-05-27 01:01:55 +08:00
parent e338c7190d
commit 626d3895aa
36 changed files with 516 additions and 144 deletions
+25
View File
@@ -46,6 +46,10 @@ import {
CurrencySortingType
} from '@/core/currency.ts';
import {
CoordinateDisplayType
} from '@/core/coordinate.ts';
import {
PresetAmountColor
} from '@/core/color.ts';
@@ -385,6 +389,26 @@ export function useI18n() {
return ret;
}
function getLocalizedDisplayNameAndTypeWithSystemDefault(typeAndNames: TypeAndName[], defaultValue: number, defaultType: TypeAndName): TypeAndDisplayName[] {
const ret: TypeAndDisplayName[] = [];
ret.push({
type: defaultValue,
displayName: t('System Default') + (defaultType.name ? ` (${t(defaultType.name)})` : '')
});
for (let i = 0; i < typeAndNames.length; i++) {
const nameAndType = typeAndNames[i];
ret.push({
type: nameAndType.type,
displayName: t(nameAndType.name)
});
}
return ret;
}
function getLocalizedNumeralSeparatorFormats<T extends NumeralSymbolType>(allSeparatorArray: T[], localeDefaultType: T | undefined, systemDefaultType: T, languageDefaultValue: number): LocalizedNumeralSymbolType[] {
let defaultSeparatorType: T | undefined = localeDefaultType;
@@ -1699,6 +1723,7 @@ export function useI18n() {
getAllDigitGroupingTypes,
getAllCurrencyDisplayTypes,
getAllCurrencySortingTypes: () => getLocalizedDisplayNameAndType(CurrencySortingType.values()),
getAllCoordinateDisplayTypes: () => getLocalizedDisplayNameAndTypeWithSystemDefault(CoordinateDisplayType.values(), CoordinateDisplayType.SystemDefaultType, CoordinateDisplayType.Default),
getAllExpenseAmountColors: () => getAllExpenseIncomeAmountColors(CategoryType.Expense),
getAllIncomeAmountColors: () => getAllExpenseIncomeAmountColors(CategoryType.Income),
getAllAccountCategories,