102 lines
3.0 KiB
Dart
102 lines
3.0 KiB
Dart
enum ResultItem {
|
|
calorie,
|
|
development_percent_bodypart,
|
|
distance,
|
|
fatburn_percent,
|
|
bpm_avg,
|
|
bpm_min,
|
|
bpm_max,
|
|
speed_max,
|
|
reps_volume,
|
|
steps,
|
|
//time,
|
|
weight_volume
|
|
}
|
|
|
|
extension ResultItemExt on ResultItem {
|
|
static const ResultItemDesc = {
|
|
ResultItem.calorie: "Calorie",
|
|
ResultItem.development_percent_bodypart: "Development in %",
|
|
ResultItem.distance: "Distance",
|
|
ResultItem.bpm_avg: "Average BPM",
|
|
ResultItem.bpm_min: "Min BPM",
|
|
ResultItem.bpm_max: "Max BPM",
|
|
ResultItem.speed_max: "Max speed",
|
|
ResultItem.reps_volume: "Repeats volume",
|
|
ResultItem.steps: "Steps",
|
|
//ResultItem.time: "Time",
|
|
ResultItem.weight_volume: "Weight volume",
|
|
ResultItem.fatburn_percent: "Fatburn %",
|
|
};
|
|
|
|
static const ResultItemImg = {
|
|
ResultItem.calorie: "pict_calorie.png",
|
|
ResultItem.development_percent_bodypart: "pic_development_by_bodypart_percent.png",
|
|
ResultItem.distance: "pict_distance_m.png",
|
|
ResultItem.bpm_avg: "pict_hravg_bpm.png",
|
|
ResultItem.bpm_min: "pict_hrmin_bpm.png",
|
|
ResultItem.bpm_max: "pict_hrmax_bpm.png",
|
|
ResultItem.speed_max: "pict_maxspeed_kmh.png",
|
|
ResultItem.reps_volume: "pict_reps_volumen_db.png",
|
|
ResultItem.steps: "pict_steps.png",
|
|
//ResultItem.time: "pict_time_h.png",
|
|
ResultItem.weight_volume: "pict_weight_volumen_tonna.png",
|
|
ResultItem.fatburn_percent: "pict_fatburn_percent.png",
|
|
};
|
|
|
|
static const HardwareData = {
|
|
ResultItem.calorie: true,
|
|
ResultItem.development_percent_bodypart: false,
|
|
ResultItem.distance: true,
|
|
ResultItem.bpm_avg: true,
|
|
ResultItem.bpm_min: true,
|
|
ResultItem.bpm_max: true,
|
|
ResultItem.speed_max: true,
|
|
ResultItem.reps_volume: false,
|
|
ResultItem.steps: true,
|
|
//ResultItem.time: false,
|
|
ResultItem.weight_volume: false,
|
|
ResultItem.fatburn_percent: true,
|
|
};
|
|
|
|
bool equals(ResultItem item) => this.toString() == item.toString();
|
|
bool equalsString(String item) => this.description == item;
|
|
|
|
String? get description => ResultItemDesc[this];
|
|
String? get image => ResultItemImg[this];
|
|
bool? get isHardware => HardwareData[this];
|
|
|
|
String? displayString() => description;
|
|
}
|
|
|
|
class ResultExt {
|
|
late final String itemString;
|
|
late ResultItem item;
|
|
double data = 0;
|
|
int? exerciseId;
|
|
DateTime? dateFrom;
|
|
|
|
DateTime? dateTo;
|
|
|
|
ResultExt({required this.itemString}) {
|
|
ResultItem.values.forEach((element) {
|
|
if (element.equalsString(itemString)) {
|
|
item = element;
|
|
}
|
|
});
|
|
}
|
|
|
|
String? getDescription() => item.description;
|
|
String getImage() => "asset/image/" + item.image!;
|
|
bool? isHardware() => item.isHardware;
|
|
int? get getExerciseId => exerciseId;
|
|
set setExerciseId(int exerciseId) => this.exerciseId = exerciseId;
|
|
set setDateFrom(DateTime dateFrom) => this.dateFrom = dateFrom;
|
|
DateTime? get getDateFrom => dateFrom;
|
|
set setDateTo(DateTime dateTo) => this.dateTo = dateTo;
|
|
DateTime? get getDateTo => dateTo;
|
|
|
|
bool equals(ResultItem item) => this.item.equals(item);
|
|
bool equalsString(String item) => this.item.equalsString(item);
|
|
}
|