support clicking on map to set specified geographic location

This commit is contained in:
MaysWind
2025-05-02 00:32:22 +08:00
parent 65a0e48988
commit 381d063295
23 changed files with 191 additions and 24 deletions
+9 -6
View File
@@ -1,5 +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 { TransactionType } from '@/core/transaction.ts';
import { Account, type AccountInfoResponse } from './account.ts';
@@ -72,6 +73,11 @@ export class Transaction implements TransactionInfoResponse {
return this._geoLocation;
}
public set geoLocation(value: MapPosition) {
this._geoLocation = TransactionGeoLocation.of(value);
}
public get categoryId(): string {
return this.getCategoryId();
}
@@ -404,8 +410,8 @@ export class TransactionGeoLocation implements TransactionGeoLocationRequest {
return new TransactionGeoLocation(latitude, longitude);
}
public static of(geoLocation: TransactionGeoLocationRequest): TransactionGeoLocation {
return new TransactionGeoLocation(geoLocation.latitude, geoLocation.longitude);
public static of(mapPosition: MapPosition): TransactionGeoLocation {
return new TransactionGeoLocation(mapPosition.latitude, mapPosition.longitude);
}
}
@@ -496,10 +502,7 @@ export interface TransactionListInMonthByPageRequest {
readonly keyword: string;
}
export interface TransactionGeoLocationResponse {
readonly latitude: number;
readonly longitude: number;
}
export type TransactionGeoLocationResponse = MapPosition;
export interface TransactionInfoResponse {
readonly id: string;