mirror of
https://github.com/mayswind/ezbookkeeping.git
synced 2026-05-17 08:14:25 +08:00
allow users to set coordinate display type (#141)
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import type { PartialRecord } from '@/core/base.ts';
|
||||
import type { YearMonth, StartEndTime } from '@/core/datetime.ts';
|
||||
import type { MapPosition } from '@/core/map.ts';
|
||||
import { type Coordinate, getNormalizedCoordinate } from '@/core/coordinate.ts';
|
||||
import { TransactionType } from '@/core/transaction.ts';
|
||||
|
||||
import { Account, type AccountInfoResponse } from './account.ts';
|
||||
@@ -74,7 +74,7 @@ export class Transaction implements TransactionInfoResponse {
|
||||
}
|
||||
|
||||
|
||||
public set geoLocation(value: MapPosition) {
|
||||
public set geoLocation(value: Coordinate) {
|
||||
this._geoLocation = TransactionGeoLocation.of(value);
|
||||
}
|
||||
|
||||
@@ -196,8 +196,20 @@ export class Transaction implements TransactionInfoResponse {
|
||||
this._pictures = [];
|
||||
}
|
||||
|
||||
public setGeoLocation(geoLocation?: TransactionGeoLocation): void {
|
||||
this._geoLocation = geoLocation;
|
||||
public getNormalizedGeoLocation(): Coordinate | undefined {
|
||||
if (!this._geoLocation) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
return this._geoLocation.toNormalizedCoordinate();
|
||||
}
|
||||
|
||||
public setGeoLocation(geoLocation?: Coordinate): void {
|
||||
if (geoLocation) {
|
||||
this._geoLocation = TransactionGeoLocation.createNewGeoLocation(geoLocation.latitude, geoLocation.longitude);
|
||||
} else {
|
||||
this._geoLocation = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
public setLatitudeAndLongitude(latitude: number, longitude: number): void {
|
||||
@@ -228,7 +240,7 @@ export class Transaction implements TransactionInfoResponse {
|
||||
tagIds: this.tagIds,
|
||||
pictureIds: this.getPictureIds(),
|
||||
comment: this.comment,
|
||||
geoLocation: this.geoLocation,
|
||||
geoLocation: this.getNormalizedGeoLocation(),
|
||||
clientSessionId: clientSessionId
|
||||
};
|
||||
}
|
||||
@@ -247,7 +259,7 @@ export class Transaction implements TransactionInfoResponse {
|
||||
tagIds: this.tagIds,
|
||||
pictureIds: this.getPictureIds(),
|
||||
comment: this.comment,
|
||||
geoLocation: this.geoLocation
|
||||
geoLocation: this.getNormalizedGeoLocation()
|
||||
};
|
||||
}
|
||||
|
||||
@@ -410,8 +422,12 @@ export class TransactionGeoLocation implements TransactionGeoLocationRequest {
|
||||
return new TransactionGeoLocation(latitude, longitude);
|
||||
}
|
||||
|
||||
public static of(mapPosition: MapPosition): TransactionGeoLocation {
|
||||
return new TransactionGeoLocation(mapPosition.latitude, mapPosition.longitude);
|
||||
public static of(coordinate: Coordinate): TransactionGeoLocation {
|
||||
return new TransactionGeoLocation(coordinate.latitude, coordinate.longitude);
|
||||
}
|
||||
|
||||
public toNormalizedCoordinate(): Coordinate {
|
||||
return getNormalizedCoordinate(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -502,7 +518,7 @@ export interface TransactionListInMonthByPageRequest {
|
||||
readonly keyword: string;
|
||||
}
|
||||
|
||||
export type TransactionGeoLocationResponse = MapPosition;
|
||||
export type TransactionGeoLocationResponse = Coordinate;
|
||||
|
||||
export interface TransactionInfoResponse {
|
||||
readonly id: string;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { LongDateFormat, ShortDateFormat, LongTimeFormat, ShortTimeFormat } from '@/core/datetime.ts';
|
||||
import { DecimalSeparator, DigitGroupingSymbol, DigitGroupingType } from '@/core/numeral.ts';
|
||||
import { CurrencyDisplayType } from '@/core/currency.ts';
|
||||
import { CoordinateDisplayType } from '@/core/coordinate.ts';
|
||||
import { PresetAmountColor } from '@/core/color.ts';
|
||||
import type { LocalizedPresetCategory } from '@/core/category.ts';
|
||||
import { TransactionEditScopeType } from '@/core/transaction.ts';
|
||||
@@ -25,6 +26,7 @@ export class User {
|
||||
public digitGroupingSymbol: number = 0;
|
||||
public digitGrouping: number = 0;
|
||||
public currencyDisplayType: number = 0;
|
||||
public coordinateDisplayType: number = 0;
|
||||
public expenseAmountColor: number = 0;
|
||||
public incomeAmountColor: number = 0;
|
||||
|
||||
@@ -51,6 +53,7 @@ export class User {
|
||||
this.digitGroupingSymbol = user.digitGroupingSymbol;
|
||||
this.digitGrouping = user.digitGrouping;
|
||||
this.currencyDisplayType = user.currencyDisplayType;
|
||||
this.coordinateDisplayType = user.coordinateDisplayType;
|
||||
this.expenseAmountColor = user.expenseAmountColor;
|
||||
this.incomeAmountColor = user.incomeAmountColor;
|
||||
}
|
||||
@@ -87,6 +90,7 @@ export class User {
|
||||
digitGroupingSymbol: this.digitGroupingSymbol,
|
||||
digitGrouping: this.digitGrouping,
|
||||
currencyDisplayType: this.currencyDisplayType,
|
||||
coordinateDisplayType: this.coordinateDisplayType,
|
||||
expenseAmountColor: this.expenseAmountColor,
|
||||
incomeAmountColor: this.incomeAmountColor
|
||||
};
|
||||
@@ -104,6 +108,7 @@ export class User {
|
||||
user.digitGroupingSymbol = userInfo.digitGroupingSymbol;
|
||||
user.digitGrouping = userInfo.digitGrouping;
|
||||
user.currencyDisplayType = userInfo.currencyDisplayType;
|
||||
user.coordinateDisplayType = userInfo.coordinateDisplayType;
|
||||
user.expenseAmountColor = userInfo.expenseAmountColor;
|
||||
user.incomeAmountColor = userInfo.incomeAmountColor;
|
||||
|
||||
@@ -134,6 +139,7 @@ export interface UserBasicInfo {
|
||||
readonly digitGroupingSymbol: number;
|
||||
readonly digitGrouping: number;
|
||||
readonly currencyDisplayType: number;
|
||||
readonly coordinateDisplayType: number;
|
||||
readonly expenseAmountColor: number;
|
||||
readonly incomeAmountColor: number;
|
||||
readonly emailVerified: boolean;
|
||||
@@ -184,6 +190,7 @@ export interface UserProfileUpdateRequest {
|
||||
readonly digitGroupingSymbol?: number;
|
||||
readonly digitGrouping?: number;
|
||||
readonly currencyDisplayType?: number;
|
||||
readonly coordinateDisplayType?: number;
|
||||
readonly expenseAmountColor?: number;
|
||||
readonly incomeAmountColor?: number;
|
||||
}
|
||||
@@ -216,6 +223,7 @@ export const EMPTY_USER_BASIC_INFO: UserBasicInfo = {
|
||||
digitGroupingSymbol: DigitGroupingSymbol.LanguageDefaultType,
|
||||
digitGrouping: DigitGroupingType.LanguageDefaultType,
|
||||
currencyDisplayType: CurrencyDisplayType.Default.type,
|
||||
coordinateDisplayType: CoordinateDisplayType.Default.type,
|
||||
expenseAmountColor: PresetAmountColor.DefaultExpenseColor.type,
|
||||
incomeAmountColor: PresetAmountColor.DefaultIncomeColor.type,
|
||||
emailVerified: false
|
||||
|
||||
Reference in New Issue
Block a user