@@ -77,7 +77,7 @@ export interface RiskDataItem {
7777 annual_average ?: number | null ,
7878}
7979
80- export const monthNumberToNameMap : Record < number , keyof RiskDataItem > = {
80+ const monthToKeyMap : Record < number , keyof RiskDataItem > = {
8181 0 : 'january' ,
8282 1 : 'february' ,
8383 2 : 'march' ,
@@ -90,6 +90,10 @@ export const monthNumberToNameMap: Record<number, keyof RiskDataItem> = {
9090 9 : 'october' ,
9191 10 : 'november' ,
9292 11 : 'december' ,
93+ } ;
94+
95+ export const monthNumberToNameMap : Record < number , keyof RiskDataItem > = {
96+ ...monthToKeyMap ,
9397 // FIXME: we should not have these different
9498 // class of data into same list
9599 12 : 'annual_average' ,
@@ -100,8 +104,42 @@ export function getValueForSelectedMonths(
100104 riskDataItem : RiskDataItem | undefined ,
101105 aggregationMode : 'sum' | 'max' = 'sum' ,
102106) {
103- if ( isNotDefined ( selectedMonths ) ) {
104- return riskDataItem ?. annual_average ?? undefined ;
107+ let annualValue ;
108+
109+ if ( aggregationMode === 'sum' ) {
110+ annualValue = sumSafe ( [
111+ riskDataItem ?. january ,
112+ riskDataItem ?. february ,
113+ riskDataItem ?. march ,
114+ riskDataItem ?. april ,
115+ riskDataItem ?. may ,
116+ riskDataItem ?. june ,
117+ riskDataItem ?. july ,
118+ riskDataItem ?. august ,
119+ riskDataItem ?. september ,
120+ riskDataItem ?. october ,
121+ riskDataItem ?. november ,
122+ riskDataItem ?. december ,
123+ ] ) ;
124+ } else if ( aggregationMode === 'max' ) {
125+ annualValue = maxSafe ( [
126+ riskDataItem ?. january ,
127+ riskDataItem ?. february ,
128+ riskDataItem ?. march ,
129+ riskDataItem ?. april ,
130+ riskDataItem ?. may ,
131+ riskDataItem ?. june ,
132+ riskDataItem ?. july ,
133+ riskDataItem ?. august ,
134+ riskDataItem ?. september ,
135+ riskDataItem ?. october ,
136+ riskDataItem ?. november ,
137+ riskDataItem ?. december ,
138+ ] ) ;
139+ }
140+
141+ if ( isNotDefined ( selectedMonths ) || selectedMonths [ 12 ] === true ) {
142+ return riskDataItem ?. annual_average ?? annualValue ?? undefined ;
105143 }
106144
107145 const monthKeys = Object . keys (
@@ -269,7 +307,7 @@ export function riskScoreToCategory(
269307 score : number | undefined | null ,
270308 hazardType : HazardType ,
271309) {
272- if ( isNotDefined ( score ) || score <= 0 ) {
310+ if ( isNotDefined ( score ) || score < 0 ) {
273311 return undefined ;
274312 }
275313
0 commit comments