reconciliation statement page / dialog supports account balance trends chart (#184)

This commit is contained in:
MaysWind
2025-08-04 01:22:36 +08:00
parent 15d1d269ae
commit 14b4e40039
26 changed files with 917 additions and 29 deletions
+10 -8
View File
@@ -151,23 +151,25 @@ export class ChartSortingType implements TypeAndName {
}
}
export class ChartDateAggregationType implements TypeAndName {
export class ChartDateAggregationType {
private static readonly allInstances: ChartDateAggregationType[] = [];
private static readonly allInstancesByType: Record<number, ChartDateAggregationType> = {};
public static readonly Month = new ChartDateAggregationType(0, 'Aggregate by Month');
public static readonly Quarter = new ChartDateAggregationType(1, 'Aggregate by Quarter');
public static readonly Year = new ChartDateAggregationType(2, 'Aggregate by Year');
public static readonly FiscalYear = new ChartDateAggregationType(3, 'Aggregate by Fiscal Year');
public static readonly Month = new ChartDateAggregationType(0, 'Monthly', 'Aggregate by Month');
public static readonly Quarter = new ChartDateAggregationType(1, 'Quarterly', 'Aggregate by Quarter');
public static readonly Year = new ChartDateAggregationType(2, 'Yearly', 'Aggregate by Year');
public static readonly FiscalYear = new ChartDateAggregationType(3, 'FiscalYearly', 'Aggregate by Fiscal Year');
public static readonly Default = ChartDateAggregationType.Month;
public readonly type: number;
public readonly name: string;
public readonly shortName: string;
public readonly fullName: string;
private constructor(type: number, name: string) {
private constructor(type: number, shortName: string, fullName: string) {
this.type = type;
this.name = name;
this.shortName = shortName;
this.fullName = fullName;
ChartDateAggregationType.allInstances.push(this);
ChartDateAggregationType.allInstancesByType[type] = this;