aboutsummaryrefslogtreecommitdiff
path: root/iosApp/iosApp/Details/Reports/UnitReportsViewModel.swift
diff options
context:
space:
mode:
authorIván Ávalos <avalos@disroot.org>2022-02-27 03:20:22 -0600
committerIván Ávalos <avalos@disroot.org>2022-02-27 03:20:22 -0600
commit117778e29941e3623a2d8c6f9f099ce9b5d2df4b (patch)
tree14def1d01f631f5b458cbd17d46e7fbafc458e12 /iosApp/iosApp/Details/Reports/UnitReportsViewModel.swift
parenteafb9788615fb733419f64f1b6501b5880922058 (diff)
downloadetbsa-trackermap-mobile-117778e29941e3623a2d8c6f9f099ce9b5d2df4b.tar.gz
etbsa-trackermap-mobile-117778e29941e3623a2d8c6f9f099ce9b5d2df4b.tar.bz2
etbsa-trackermap-mobile-117778e29941e3623a2d8c6f9f099ce9b5d2df4b.zip
Polygon geofences implemented successfuly
Diffstat (limited to 'iosApp/iosApp/Details/Reports/UnitReportsViewModel.swift')
-rw-r--r--iosApp/iosApp/Details/Reports/UnitReportsViewModel.swift15
1 files changed, 15 insertions, 0 deletions
diff --git a/iosApp/iosApp/Details/Reports/UnitReportsViewModel.swift b/iosApp/iosApp/Details/Reports/UnitReportsViewModel.swift
index 5e85e89..4731a57 100644
--- a/iosApp/iosApp/Details/Reports/UnitReportsViewModel.swift
+++ b/iosApp/iosApp/Details/Reports/UnitReportsViewModel.swift
@@ -12,6 +12,7 @@ import shared
class UnitReportsViewModel: ObservableObject {
@Inject var reportController: ReportController
+ @Inject var geofencesController: GeofencesController
@Published var deviceId: Int32? = nil
@Published var reportType: ReportController.ReportType = .positions {
@@ -42,16 +43,30 @@ class UnitReportsViewModel: ObservableObject {
@Published var markers = [Marker]()
@Published var selectedMarker: Marker? = nil
+ @Published var geofences: [Int: Geofence] = [:] {
+ didSet {
+ flatGeofences = Array(geofences.values)
+ }
+ }
+ @Published var flatGeofences: [Geofence] = []
+
init(deviceId id: Int32?) {
deviceId = id
let collector = Collector<ReportController.Report>(callback: setReport)
reportController.reportFlow.collect(collector: collector) { _, _ in }
+
+ let geofencesCollector = Collector<[Int: Geofence]>(callback: setGeofences)
+ geofencesController.geofencesFlow.collect(collector: geofencesCollector) { unit, error in }
}
func setReport (report: ReportController.Report) {
self.report = report
}
+ private func setGeofences(geofences: [Int: Geofence]) {
+ self.geofences = geofences
+ }
+
func fetchReport(xlsx: Bool = false) {
if let id = deviceId {
reportController.fetchReport(deviceId: id,