|
|
|
@ -9,6 +9,7 @@ import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart';
|
|
|
|
|
import 'package:charts_flutter/flutter.dart' as charts;
|
|
|
|
|
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
|
|
|
|
|
import '../../../locator.dart';
|
|
|
|
|
import 'dart:math' as math;
|
|
|
|
|
|
|
|
|
|
class H2OViewModel extends BaseViewModel {
|
|
|
|
|
H2OService _h2OService = locator<H2OService>();
|
|
|
|
@ -91,13 +92,21 @@ class H2OViewModel extends BaseViewModel {
|
|
|
|
|
_h2OService.userProgressForWeekDataList.forEach((UserProgressForWeekDataModel data) {
|
|
|
|
|
globalData.add(new ChartSeries(data.dayName, data.percentageConsumed));
|
|
|
|
|
});
|
|
|
|
|
Iterable<int> minMaxList = globalData.map((e) => e.x).toList();
|
|
|
|
|
int maxValue = minMaxList.isEmpty ? 0 : minMaxList.reduce(math.max);
|
|
|
|
|
int minValue = minMaxList.isEmpty ? 0 : minMaxList.reduce(math.min);
|
|
|
|
|
|
|
|
|
|
if (maxValue == 0 && minValue == 0) {
|
|
|
|
|
maxValue = 1;
|
|
|
|
|
minValue = -1;
|
|
|
|
|
}
|
|
|
|
|
return [
|
|
|
|
|
new charts.Series<ChartSeries, String>(
|
|
|
|
|
id: 'Global Revenue',
|
|
|
|
|
domainFn: (ChartSeries sales, _) => sales.y,
|
|
|
|
|
measureFn: (ChartSeries sales, _) => sales.x,
|
|
|
|
|
measureLowerBoundFn: (ChartSeries sales, _) => sales.x - 1,
|
|
|
|
|
measureUpperBoundFn: (ChartSeries sales, _) => sales.x + 1,
|
|
|
|
|
measureLowerBoundFn: (ChartSeries sales, _) => minValue,
|
|
|
|
|
measureUpperBoundFn: (ChartSeries sales, _) => maxValue,
|
|
|
|
|
data: globalData,
|
|
|
|
|
),
|
|
|
|
|
];
|
|
|
|
|