From 8ea8eab6f6c30ef9d9a2a6e362f848d8eb4dbc73 Mon Sep 17 00:00:00 2001 From: Shayokh144 Date: Sat, 31 Aug 2024 20:59:51 +0700 Subject: [PATCH] LAST 2 WEEK OPTION ADDED --- .../Graph/LineChart/LineChartViewModel.swift | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/visualization/app/VisualReport/VisualReport/Graph/LineChart/LineChartViewModel.swift b/visualization/app/VisualReport/VisualReport/Graph/LineChart/LineChartViewModel.swift index 7410537d..5a0e5e40 100644 --- a/visualization/app/VisualReport/VisualReport/Graph/LineChart/LineChartViewModel.swift +++ b/visualization/app/VisualReport/VisualReport/Graph/LineChart/LineChartViewModel.swift @@ -46,6 +46,9 @@ final class LineChartViewModel: ObservableObject { case .last2Months: let last60Elements = Array(viewModelData.lineChartDataList.suffix(60)) createUIModelForAllData(dataList: last60Elements) + case .last2Weeks: + let last14Elements = Array(viewModelData.lineChartDataList.suffix(14)) + createUIModelForAllData(dataList: last14Elements) case .year(let string): let yearData = filterData(forYear: string, from: viewModelData.lineChartDataList) createUIModelForAllData(dataList: yearData) @@ -127,6 +130,9 @@ final class LineChartViewModel: ObservableObject { dateFormat = "" } else if selectedChartOption.value == LineChartOption.allMonthlyAverage.value { dayInterval = 32 + } else if selectedChartOption.value == LineChartOption.last2Weeks.value { + dayInterval = 2 + dateFormat = "" } var currentDate = firstDate let calendar = Calendar.current @@ -202,7 +208,7 @@ struct LineChartViewModelData { enum LineChartOption { - case allYear, allMonthlyAverage, last2Months + case allYear, allMonthlyAverage, last2Months, last2Weeks case year(String) var value: String { @@ -213,6 +219,8 @@ enum LineChartOption { "All Monthly Average" case .last2Months: "Last 2 Months" + case .last2Weeks: + "Last 2 Weeks" case .year(let string): string } @@ -222,7 +230,8 @@ enum LineChartOption { [ LineChartOption.allYear.value, LineChartOption.allMonthlyAverage.value, - LineChartOption.last2Months.value + LineChartOption.last2Months.value, + LineChartOption.last2Weeks.value ] } @@ -235,6 +244,8 @@ enum LineChartOption { self = .allMonthlyAverage case LineChartOption.last2Months.value: self = .last2Months + case LineChartOption.last2Weeks.value: + self = .last2Weeks default: self = .year(value) }