diff options
author | Iván Ávalos <avalos@disroot.org> | 2023-09-21 20:46:37 -0600 |
---|---|---|
committer | Iván Ávalos <avalos@disroot.org> | 2023-09-21 20:46:37 -0600 |
commit | 6b6b521c157dfe03797b1dec64f8a615e73a8dfa (patch) | |
tree | b14ea8b0b7be260e548566e8afb4a985d4d191c0 /iosApp/iosApp/Details/Reports/UnitReportsViewModel.swift | |
parent | 9f9c6b247900a3a08e2b2322896d4f185a12d047 (diff) | |
download | etbsa-trackermap-mobile-6b6b521c157dfe03797b1dec64f8a615e73a8dfa.tar.gz etbsa-trackermap-mobile-6b6b521c157dfe03797b1dec64f8a615e73a8dfa.tar.bz2 etbsa-trackermap-mobile-6b6b521c157dfe03797b1dec64f8a615e73a8dfa.zip |
- [ios] Add direction arrows to reports.
- [ios] Use scales for marker sizes and labels.
- [ios] Fix builds in Xcode 15.
Diffstat (limited to 'iosApp/iosApp/Details/Reports/UnitReportsViewModel.swift')
-rw-r--r-- | iosApp/iosApp/Details/Reports/UnitReportsViewModel.swift | 49 |
1 files changed, 28 insertions, 21 deletions
diff --git a/iosApp/iosApp/Details/Reports/UnitReportsViewModel.swift b/iosApp/iosApp/Details/Reports/UnitReportsViewModel.swift index 0132685..3a99f16 100644 --- a/iosApp/iosApp/Details/Reports/UnitReportsViewModel.swift +++ b/iosApp/iosApp/Details/Reports/UnitReportsViewModel.swift @@ -19,6 +19,7 @@ import Foundation import Combine import shared +@MainActor class UnitReportsViewModel: ObservableObject { @Inject var reportController: ReportController @Inject var geofencesController: GeofencesController @@ -38,25 +39,27 @@ class UnitReportsViewModel: ObservableObject { } @Published var periodType: ReportDates.PeriodTypes = .today { didSet { - switch periodType { - case .today: - reportPeriod = ReportDates.ReportPeriodToday() - case .last24: - reportPeriod = ReportDates.ReportPeriodLast24() - case .yesterday: - reportPeriod = ReportDates.ReportPeriodYesterday() - case .thisWeek: - reportPeriod = ReportDates.ReportPeriodThisWeek() - case .last7: - reportPeriod = ReportDates.ReportPeriodLast7() - case .thisMonth: - reportPeriod = ReportDates.ReportPeriodThisMonth() - case .last30: - reportPeriod = ReportDates.ReportPeriodLast30() - case .custom: - reportPeriod = ReportDates.ReportPeriodCustom(from: nil, to: nil) - default: - reportPeriod = ReportDates.ReportPeriodToday() + Task { @MainActor in + switch periodType { + case .today: + reportPeriod = ReportDates.ReportPeriodToday() + case .last24: + reportPeriod = ReportDates.ReportPeriodLast24() + case .yesterday: + reportPeriod = ReportDates.ReportPeriodYesterday() + case .thisWeek: + reportPeriod = ReportDates.ReportPeriodThisWeek() + case .last7: + reportPeriod = ReportDates.ReportPeriodLast7() + case .thisMonth: + reportPeriod = ReportDates.ReportPeriodThisMonth() + case .last30: + reportPeriod = ReportDates.ReportPeriodLast30() + case .custom: + reportPeriod = ReportDates.ReportPeriodCustom(from: nil, to: nil) + default: + reportPeriod = ReportDates.ReportPeriodToday() + } } } } @@ -136,11 +139,15 @@ class UnitReportsViewModel: ObservableObject { } func setReport (report: ReportController.Report) { - self.report = report + Task { @MainActor in + self.report = report + } } private func setGeofences(geofences: [Int: Geofence]) { - self.geofences = geofences + Task { @MainActor in + self.geofences = geofences + } } func fetchReport(xlsx: Bool = false) { |