130 lines
5.6 KiB
Dart
130 lines
5.6 KiB
Dart
part of 'chart_bloc.dart';
|
|
|
|
final class ChartState extends Equatable {
|
|
final List<Transaction> transactions;
|
|
final List<TransactionLine> transactionsLines;
|
|
|
|
final double globalTotal;
|
|
final Map<String, double> accountsTotals;
|
|
|
|
final DateTime? firstDate;
|
|
final DateTime? lastDate;
|
|
|
|
final num currentYear;
|
|
|
|
final Map<String, double> categoriesTotals;
|
|
final List<FlSpot> monthlyTotals;
|
|
final Map<String, Map<String, double>> categoriesMonthlyTotals;
|
|
|
|
final List<ChartItem> scopedCategoriesPositiveTotals;
|
|
final List<ChartItem> scopedCategoriesPositiveTotalsPercents;
|
|
final List<ChartItem> scopedCategoriesNegativeTotals;
|
|
final List<ChartItem> scopedCategoriesNegativeTotalsPercents;
|
|
|
|
final List<ChartItem> scopedSimplifiedCategoriesPositiveTotals;
|
|
final List<ChartItem> scopedSimplifiedCategoriesPositiveTotalsPercents;
|
|
final List<ChartItem> scopedSimplifiedCategoriesNegativeTotals;
|
|
final List<ChartItem> scopedSimplifiedCategoriesNegativeTotalsPercents;
|
|
|
|
final List<FlSpot> scopedMonthlyTotals;
|
|
final Map<int, Map<String, double>> scopedCategoriesMonthlyTotals;
|
|
|
|
final Map<String, Color> categoriesColors;
|
|
|
|
const ChartState({
|
|
this.transactions = const [],
|
|
this.transactionsLines = const [],
|
|
this.globalTotal = 0,
|
|
this.accountsTotals = const {},
|
|
this.firstDate,
|
|
this.lastDate,
|
|
this.currentYear = 2000,
|
|
this.categoriesTotals = const {},
|
|
this.monthlyTotals = const [],
|
|
this.categoriesMonthlyTotals = const {},
|
|
this.scopedCategoriesPositiveTotals = const [],
|
|
this.scopedCategoriesPositiveTotalsPercents = const [],
|
|
this.scopedCategoriesNegativeTotals = const [],
|
|
this.scopedCategoriesNegativeTotalsPercents = const [],
|
|
this.scopedSimplifiedCategoriesPositiveTotals = const [],
|
|
this.scopedSimplifiedCategoriesPositiveTotalsPercents = const [],
|
|
this.scopedSimplifiedCategoriesNegativeTotals = const [],
|
|
this.scopedSimplifiedCategoriesNegativeTotalsPercents = const [],
|
|
this.scopedMonthlyTotals = const [],
|
|
this.scopedCategoriesMonthlyTotals = const {},
|
|
this.categoriesColors = const {},
|
|
});
|
|
|
|
ChartState copyWith({
|
|
List<Transaction>? transactions,
|
|
List<TransactionLine>? transactionsLines,
|
|
double? globalTotal,
|
|
Map<String, double>? accountsTotals,
|
|
DateTime? firstDate,
|
|
DateTime? lastDate,
|
|
num? currentYear,
|
|
Map<String, double>? categoriesTotals,
|
|
List<FlSpot>? monthlyTotals,
|
|
Map<String, Map<String, double>>? categoriesMonthlyTotals,
|
|
List<ChartItem>? scopedCategoriesPositiveTotals,
|
|
List<ChartItem>? scopedCategoriesPositiveTotalsPercents,
|
|
List<ChartItem>? scopedCategoriesNegativeTotals,
|
|
List<ChartItem>? scopedCategoriesNegativeTotalsPercents,
|
|
List<ChartItem>? scopedSimplifiedCategoriesPositiveTotals,
|
|
List<ChartItem>? scopedSimplifiedCategoriesPositiveTotalsPercents,
|
|
List<ChartItem>? scopedSimplifiedCategoriesNegativeTotals,
|
|
List<ChartItem>? scopedSimplifiedCategoriesNegativeTotalsPercents,
|
|
List<FlSpot>? scopedMonthlyTotals,
|
|
Map<int, Map<String, double>>? scopedCategoriesMonthlyTotals,
|
|
Map<String, Color>? categoriesColors,
|
|
}) {
|
|
return ChartState(
|
|
transactions: transactions ?? this.transactions,
|
|
transactionsLines: transactionsLines ?? this.transactionsLines,
|
|
globalTotal: globalTotal ?? this.globalTotal,
|
|
accountsTotals: accountsTotals ?? this.accountsTotals,
|
|
firstDate: firstDate ?? this.firstDate,
|
|
lastDate: lastDate ?? this.lastDate,
|
|
currentYear: currentYear ?? this.currentYear,
|
|
categoriesTotals: categoriesTotals ?? this.categoriesTotals,
|
|
monthlyTotals: monthlyTotals ?? this.monthlyTotals,
|
|
categoriesMonthlyTotals: categoriesMonthlyTotals ?? this.categoriesMonthlyTotals,
|
|
scopedCategoriesPositiveTotals: scopedCategoriesPositiveTotals ?? this.scopedCategoriesPositiveTotals,
|
|
scopedCategoriesPositiveTotalsPercents: scopedCategoriesPositiveTotalsPercents ?? this.scopedCategoriesPositiveTotalsPercents,
|
|
scopedCategoriesNegativeTotals: scopedCategoriesNegativeTotals ?? this.scopedCategoriesNegativeTotals,
|
|
scopedCategoriesNegativeTotalsPercents: scopedCategoriesNegativeTotalsPercents ?? this.scopedCategoriesNegativeTotalsPercents,
|
|
scopedSimplifiedCategoriesPositiveTotals: scopedSimplifiedCategoriesPositiveTotals ?? this.scopedSimplifiedCategoriesPositiveTotals,
|
|
scopedSimplifiedCategoriesPositiveTotalsPercents: scopedSimplifiedCategoriesPositiveTotalsPercents ?? this.scopedSimplifiedCategoriesPositiveTotalsPercents,
|
|
scopedSimplifiedCategoriesNegativeTotals: scopedSimplifiedCategoriesNegativeTotals ?? this.scopedSimplifiedCategoriesNegativeTotals,
|
|
scopedSimplifiedCategoriesNegativeTotalsPercents: scopedSimplifiedCategoriesNegativeTotalsPercents ?? this.scopedSimplifiedCategoriesNegativeTotalsPercents,
|
|
scopedMonthlyTotals: scopedMonthlyTotals ?? this.scopedMonthlyTotals,
|
|
scopedCategoriesMonthlyTotals: scopedCategoriesMonthlyTotals ?? this.scopedCategoriesMonthlyTotals,
|
|
categoriesColors: categoriesColors ?? this.categoriesColors,
|
|
);
|
|
}
|
|
|
|
@override
|
|
List<Object> get props => [
|
|
transactions,
|
|
transactionsLines,
|
|
globalTotal,
|
|
accountsTotals,
|
|
currentYear,
|
|
categoriesTotals,
|
|
monthlyTotals,
|
|
categoriesMonthlyTotals,
|
|
scopedCategoriesPositiveTotals,
|
|
scopedCategoriesPositiveTotalsPercents,
|
|
scopedCategoriesNegativeTotals,
|
|
scopedCategoriesNegativeTotalsPercents,
|
|
scopedSimplifiedCategoriesPositiveTotals,
|
|
scopedSimplifiedCategoriesPositiveTotalsPercents,
|
|
scopedSimplifiedCategoriesNegativeTotals,
|
|
scopedSimplifiedCategoriesNegativeTotalsPercents,
|
|
scopedMonthlyTotals,
|
|
scopedCategoriesMonthlyTotals,
|
|
categoriesColors,
|
|
];
|
|
}
|
|
|