friend_trend_controller.dart
1.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import 'package:doublefeel_flutter/data/models/friend/friend_models.dart';
import 'package:get/get.dart';
import '../../health_trend/controllers/health_trend_control.dart';
import '../../report_common/models/health_report_query.dart';
import '../../report_common/models/report_period.dart';
class FriendTrendArguments {
const FriendTrendArguments({
required this.friendItem,
this.initialDate,
this.initialPeriod,
this.initialTypeIndex = 0,
});
final FriendItem? friendItem;
final DateTime? initialDate;
final ReportPeriod? initialPeriod;
final int initialTypeIndex;
}
class FriendTrendController extends GetxController with HealthTrendControl {
FriendTrendController({
required this.friendItem,
DateTime? initialDate,
ReportPeriod? initialPeriod,
int initialTypeIndex = 0,
}) {
changeType(initialTypeIndex);
if (initialPeriod != null) changePeriod(initialPeriod);
if (initialDate != null) changeDate(initialDate);
}
final FriendItem? friendItem;
HealthReportQuery get query => HealthReportQuery(
targetUserId: friendItem?.id,
period: selectedPeriod.value,
date: selectedDate.value,
);
}