aboutsummaryrefslogtreecommitdiff
path: root/iosApp/iosApp/Details/Reports
diff options
context:
space:
mode:
Diffstat (limited to 'iosApp/iosApp/Details/Reports')
-rw-r--r--iosApp/iosApp/Details/Reports/UnitReportsView.swift55
-rw-r--r--iosApp/iosApp/Details/Reports/UnitReportsViewModel.swift14
2 files changed, 63 insertions, 6 deletions
diff --git a/iosApp/iosApp/Details/Reports/UnitReportsView.swift b/iosApp/iosApp/Details/Reports/UnitReportsView.swift
index 322e853..b73c9e7 100644
--- a/iosApp/iosApp/Details/Reports/UnitReportsView.swift
+++ b/iosApp/iosApp/Details/Reports/UnitReportsView.swift
@@ -34,11 +34,60 @@ struct UnitReportsView: View {
VStack {
MapView(layer: $unitReportsViewModel.layer,
markers: $unitReportsViewModel.markers,
- selected: $unitReportsViewModel.selectedMarker)
+ selected: $unitReportsViewModel.selectedMarker,
+ isReport: true)
VStack {
HStack {
- Text("period")
- }
+ Text("report-period")
+ Spacer()
+ Picker(selection: $unitReportsViewModel.reportPeriod) {
+ Text("period-today").tag(ReportDates.ReportPeriod.today)
+ Text("period-last-24").tag(ReportDates.ReportPeriod.last24)
+ Text("period-yesterday").tag(ReportDates.ReportPeriod.yesterday)
+ Text("period-this-week").tag(ReportDates.ReportPeriod.thisWeek)
+ Text("period-last-7").tag(ReportDates.ReportPeriod.last7)
+ Text("period-this-month").tag(ReportDates.ReportPeriod.thisMonth)
+ Text("period-last-30").tag(ReportDates.ReportPeriod.last30)
+ } label: {
+ switch unitReportsViewModel.reportPeriod {
+ case .today:
+ Text("period-today")
+ case .last24:
+ Text("period-last-24")
+ case .yesterday:
+ Text("period-yesterday")
+ case .thisWeek:
+ Text("period-this-week")
+ case .last7:
+ Text("period-last-7")
+ case .thisMonth:
+ Text("period-this-month")
+ case .last30:
+ Text("period-last-30")
+ default:
+ Text("period-today")
+ }
+ }
+ }.padding()
+ Picker(selection: $unitReportsViewModel.reportType) {
+ Text("report-positions").tag(ReportController.ReportType.positions)
+ Text("report-events").tag(ReportController.ReportType.events)
+ Text("report-stops").tag(ReportController.ReportType.stops)
+ } label: {
+ EmptyView()
+ }.pickerStyle(SegmentedPickerStyle())
+
+ HStack {
+ Group {
+ Button {} label: {
+ Text("report-save")
+ }
+
+ Button {} label: {
+ Text("report-share")
+ }
+ }.frame(maxWidth: .infinity)
+ }.padding()
}.padding()
}.onAppear {
unitReportsViewModel.fetchReport()
diff --git a/iosApp/iosApp/Details/Reports/UnitReportsViewModel.swift b/iosApp/iosApp/Details/Reports/UnitReportsViewModel.swift
index 8f67d7a..5e85e89 100644
--- a/iosApp/iosApp/Details/Reports/UnitReportsViewModel.swift
+++ b/iosApp/iosApp/Details/Reports/UnitReportsViewModel.swift
@@ -14,8 +14,16 @@ class UnitReportsViewModel: ObservableObject {
@Inject var reportController: ReportController
@Published var deviceId: Int32? = nil
- @Published var reportType: ReportController.ReportType = .positions
- @Published var reportPeriod: ReportDates.ReportPeriod = .today
+ @Published var reportType: ReportController.ReportType = .positions {
+ didSet {
+ fetchReport()
+ }
+ }
+ @Published var reportPeriod: ReportDates.ReportPeriod = .today {
+ didSet {
+ fetchReport()
+ }
+ }
@Published var report: ReportController.Report? = nil {
didSet {
switch report {
@@ -65,7 +73,7 @@ class UnitReportsViewModel: ObservableObject {
.textMessage,
.driverChanged,
.unknown
- ])
+ ]) { _, _ in }
}
}
}