@@ -94,14 +94,14 @@ export default function Classifications({ name }: { name: string | undefined })
9494 } ,
9595 } ,
9696 } ,
97- by_classifications_participation : {
97+ by_classifications_funding : {
9898 terms : {
9999 field : "project_classification.primary_field.keyword" ,
100- order : { "sum_budget_participation " : "desc" } ,
100+ order : { "sum_budget_funding " : "desc" } ,
101101 size : 15 ,
102102 } ,
103103 aggregations : {
104- sum_budget_participation : {
104+ sum_budget_funding : {
105105 sum : {
106106 field : "participation_funding" ,
107107 } ,
@@ -122,7 +122,7 @@ export default function Classifications({ name }: { name: string | undefined })
122122 missing : false ,
123123 } ,
124124 aggregations : {
125- sum_budget_participation : {
125+ sum_budget_funding : {
126126 sum : {
127127 field : "participation_funding" ,
128128 } ,
@@ -154,8 +154,11 @@ export default function Classifications({ name }: { name: string | undefined })
154154 const seriesBudget : any = [ ] ;
155155 const seriesFunding : any = [ ] ;
156156 const seriesProject : any = [ ] ;
157+ const seriesBudgetRegion : any = [ ] ;
158+ const seriesFundingRegion : any = [ ] ;
159+ const seriesProjectRegion : any = [ ] ;
157160 const classificationsBudget = data ?. aggregations ?. by_classifications_budget ?. buckets ?? [ ] ;
158- const classificationsFunding = data ?. aggregations ?. by_classifications_participation ?. buckets ?? [ ] ;
161+ const classificationsFunding = data ?. aggregations ?. by_classifications_funding ?. buckets ?? [ ] ;
159162 const classificationsProject = data ?. aggregations ?. by_classifications_project ?. buckets ?? [ ] ;
160163 funders . forEach ( ( funder ) => {
161164 seriesBudget . push ( {
@@ -174,22 +177,38 @@ export default function Classifications({ name }: { name: string | undefined })
174177 ?. find ( ( bucket ) => bucket . key === 0 ) ?. sum_budget ?. value ?? 0 ) ,
175178 name : [ funder , getI18nLabel ( i18n , 'not-coordinator' ) ] . join ( ' - ' ) ,
176179 } ) ;
180+ seriesBudgetRegion . push ( {
181+ color : getCssColor ( { name : funder , prefix : "funder" } ) ,
182+ data : classificationsBudget . map ( ( classification ) => classification
183+ ?. by_project_type . buckets ?. find ( ( project ) => project . key === funder )
184+ ?. is_coordinator ?. buckets ?. reduce ( ( acc , curr ) => acc + ( curr ?. should_ignore_budget ?. buckets ?. find ( ( bucket ) => bucket . key == 0 ) ?. sum_budget ?. value ?? 0 ) , 0 )
185+ ?? 0 ) ,
186+ name : funder ,
187+ } ) ;
177188 seriesFunding . push ( {
178189 color : { pattern : { ...pattern , backgroundColor : getCssColor ( { name : funder , prefix : "funder" } ) } } ,
179190 data : classificationsFunding . map ( ( classification ) => classification . by_project_type . buckets
180191 ?. find ( ( project ) => project . key === funder ) ?. is_coordinator ?. buckets
181192 ?. find ( ( bucket ) => bucket . key === 1 ) ?. should_ignore_funding ?. buckets
182- ?. find ( ( bucket ) => bucket . key === 0 ) ?. sum_budget_participation ?. value ?? 0 ) ,
193+ ?. find ( ( bucket ) => bucket . key === 0 ) ?. sum_budget_funding ?. value ?? 0 ) ,
183194 name : [ funder , getI18nLabel ( i18n , 'coordinator' ) ] . join ( ' - ' ) ,
184195 } ) ;
185196 seriesFunding . push ( {
186197 color : getCssColor ( { name : funder , prefix : "funder" } ) ,
187198 data : classificationsFunding . map ( ( classification ) => classification . by_project_type . buckets
188199 ?. find ( ( project ) => project . key === funder ) ?. is_coordinator ?. buckets
189200 ?. find ( ( bucket ) => bucket . key === 0 ) ?. should_ignore_funding ?. buckets
190- ?. find ( ( bucket ) => bucket . key === 0 ) ?. sum_budget_participation ?. value ?? 0 ) ,
201+ ?. find ( ( bucket ) => bucket . key === 0 ) ?. sum_budget_funding ?. value ?? 0 ) ,
191202 name : [ funder , getI18nLabel ( i18n , 'not-coordinator' ) ] . join ( ' - ' ) ,
192203 } ) ;
204+ seriesFundingRegion . push ( {
205+ color : getCssColor ( { name : funder , prefix : "funder" } ) ,
206+ data : classificationsFunding . map ( ( classification ) => classification
207+ ?. by_project_type . buckets ?. find ( ( project ) => project . key === funder )
208+ ?. is_coordinator ?. buckets ?. reduce ( ( acc , curr ) => acc + ( curr ?. should_ignore_funding ?. buckets ?. find ( ( bucket ) => bucket . key == 0 ) ?. sum_budget_funding ?. value ?? 0 ) , 0 )
209+ ?? 0 ) ,
210+ name : funder ,
211+ } ) ;
193212 seriesProject . push ( {
194213 color : { pattern : { ...pattern , backgroundColor : getCssColor ( { name : funder , prefix : "funder" } ) } } ,
195214 data : classificationsProject . map ( ( classification ) => classification . by_project_type . buckets
@@ -204,6 +223,14 @@ export default function Classifications({ name }: { name: string | undefined })
204223 ?. find ( ( bucket ) => bucket . key === 0 ) ?. unique_projects ?. value ?? 0 ) ,
205224 name : [ funder , getI18nLabel ( i18n , 'not-coordinator' ) ] . join ( ' - ' ) ,
206225 } ) ;
226+ seriesProjectRegion . push ( {
227+ color : getCssColor ( { name : funder , prefix : "funder" } ) ,
228+ data : classificationsProject . map ( ( classification ) => classification
229+ ?. by_project_type . buckets ?. find ( ( project ) => project . key === funder )
230+ ?. is_coordinator ?. buckets ?. reduce ( ( acc , curr ) => acc + ( curr ?. unique_projects ?. value ?? 0 ) , 0 )
231+ ?? 0 ) ,
232+ name : funder ,
233+ } ) ;
207234 } ) ;
208235 const categoriesProject = classificationsProject . map ( ( classification ) => classification . key ) ;
209236 const categoriesBudget = classificationsBudget . map ( ( classification ) => classification . key ) ;
@@ -216,7 +243,7 @@ export default function Classifications({ name }: { name: string | undefined })
216243 let dataLabel = function ( this : any ) {
217244 return `${ this . y } projet${ this . y > 1 ? 's' : '' } ` ;
218245 } ;
219- let series = seriesProject . reverse ( ) ;
246+ let series = structure ? seriesProject . reverse ( ) : seriesProjectRegion . reverse ( ) ;
220247 let stackLabel = function ( this : any ) {
221248 return `${ this . total } projet${ this . total > 1 ? 's' : '' } ` ;
222249 } ;
@@ -231,7 +258,7 @@ export default function Classifications({ name }: { name: string | undefined })
231258 dataLabel = function ( this : any ) {
232259 return `${ formatCompactNumber ( this . y ) } €` ;
233260 } ;
234- series = seriesBudget . reverse ( ) ;
261+ series = structure ? seriesBudget . reverse ( ) : seriesBudgetRegion . reverse ( ) ;
235262 stackLabel = function ( this : any ) {
236263 return `${ formatCompactNumber ( this . total ) } €` ;
237264 } ;
@@ -246,7 +273,7 @@ export default function Classifications({ name }: { name: string | undefined })
246273 dataLabel = function ( this : any ) {
247274 return `${ formatCompactNumber ( this . y ) } €` ;
248275 } ;
249- series = seriesFunding . reverse ( ) ;
276+ series = structure ? seriesFunding . reverse ( ) : seriesFundingRegion . reverse ( ) ;
250277 stackLabel = function ( this : any ) {
251278 return `${ formatCompactNumber ( this . total ) } €` ;
252279 } ;
0 commit comments