diff options
author | Iván Ávalos <avalos@disroot.org> | 2022-02-27 03:20:22 -0600 |
---|---|---|
committer | Iván Ávalos <avalos@disroot.org> | 2022-02-27 03:20:22 -0600 |
commit | 117778e29941e3623a2d8c6f9f099ce9b5d2df4b (patch) | |
tree | 14def1d01f631f5b458cbd17d46e7fbafc458e12 /iosApp/iosApp/Details/Reports/UnitReportsViewModel.swift | |
parent | eafb9788615fb733419f64f1b6501b5880922058 (diff) | |
download | etbsa-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.swift | 15 |
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, |