@@ -36,9 +36,10 @@ export default function Cards() {
3636 field : "project_id.keyword" ,
3737 } ,
3838 } ,
39- should_ignore : {
39+ should_ignore_budget : {
4040 terms : {
41- field : "participant_ignore_total_budget" ,
41+ field : structure ? "participant_ignore_total_budget" : "region_ignore_total_budget" ,
42+ missing : 0 ,
4243 } ,
4344 aggregations : {
4445 sum_budget : {
@@ -48,9 +49,17 @@ export default function Cards() {
4849 } ,
4950 } ,
5051 } ,
51- sum_funding : {
52- sum : {
53- field : "participation_funding" ,
52+ should_ignore_funding : {
53+ terms : {
54+ field : structure ? "participant_ignore_funding" : "region_ignore_funding" ,
55+ missing : 0 ,
56+ } ,
57+ aggregations : {
58+ sum_funding : {
59+ sum : {
60+ field : "participation_funding" ,
61+ } ,
62+ } ,
5463 } ,
5564 } ,
5665 } ,
@@ -77,27 +86,27 @@ export default function Cards() {
7786 funders . forEach ( ( funder ) => {
7887 const dataByFunder = ( data ?. aggregations ?. by_project_type ?. buckets ?? [ ] ) . find ( ( bucket ) => bucket . key === funder ) ;
7988 dataFunders [ funder ] = {
80- projects : years . map ( ( year ) => ( {
89+ budget : years . map ( ( year ) => ( {
8190 x : year ,
82- y : dataByFunder ?. by_project_year ?. buckets ?. find ( ( bucket ) => bucket . key === year ) ?. by_unique_project ?. value ?? 0 ,
83- yDisplay : dataByFunder ?. by_project_year ?. buckets . find ( ( bucket ) => bucket . key === year ) ?. by_unique_project ?. value ?? 0 ,
91+ y : dataByFunder ?. by_project_year ?. buckets ?. find ( ( bucket ) => bucket . key === year ) ?. should_ignore_budget ?. buckets ?. find ( ( bucket ) => bucket . key . toString ( ) === '0' ) ?. sum_budget ?. value ?? 0 ,
92+ yDisplay : dataByFunder ?. by_project_year ?. buckets ? .find ( ( bucket ) => bucket . key === year ) ?. should_ignore_budget ?. buckets ?. find ( ( bucket ) => bucket . key . toString ( ) === '0' ) ?. sum_budget ?. value ?? 0 ,
8493 } ) ) ,
85- budget : years . map ( ( year ) => ( {
94+ funding : years . map ( ( year ) => ( {
8695 x : year ,
87- y : dataByFunder ?. by_project_year ?. buckets ?. find ( ( bucket ) => bucket . key === year ) ?. should_ignore ?. buckets ?. find ( ( bucket ) => bucket . key === 0 ) ?. sum_budget ?. value ?? 0 ,
88- yDisplay : dataByFunder ?. by_project_year ?. buckets ?. find ( ( bucket ) => bucket . key === year ) ?. should_ignore ?. buckets ?. find ( ( bucket ) => bucket . key === 0 ) ?. sum_budget ?. value ?? 0 ,
96+ y : dataByFunder ?. by_project_year ?. buckets ?. find ( ( bucket ) => bucket . key === year ) ?. should_ignore_funding ?. buckets ?. find ( ( bucket ) => bucket . key . toString ( ) === '0' ) ?. sum_funding ?. value ?? 0 ,
97+ yDisplay : dataByFunder ?. by_project_year ?. buckets ?. find ( ( bucket ) => bucket . key === year ) ?. should_ignore_funding ?. buckets ?. find ( ( bucket ) => bucket . key . toString ( ) === '0' ) ?. sum_funding ?. value ?? 0 ,
8998 } ) ) ,
90- participation : years . map ( ( year ) => ( {
99+ projects : years . map ( ( year ) => ( {
91100 x : year ,
92- y : dataByFunder ?. by_project_year ?. buckets ?. find ( ( bucket ) => bucket . key === year ) ?. sum_funding ?. value ?? 0 ,
93- yDisplay : dataByFunder ?. by_project_year ?. buckets ? .find ( ( bucket ) => bucket . key === year ) ?. sum_funding ?. value ?? 0 ,
101+ y : dataByFunder ?. by_project_year ?. buckets ?. find ( ( bucket ) => bucket . key === year ) ?. by_unique_project ?. value ?? 0 ,
102+ yDisplay : dataByFunder ?. by_project_year ?. buckets . find ( ( bucket ) => bucket . key === year ) ?. by_unique_project ?. value ?? 0 ,
94103 } ) ) ,
95104 } ;
96105 } ) ;
97106
98- const maxProjects : number = Math . max . apply ( null , Object . values ( dataFunders ) . map ( ( dataFunder : any ) => dataFunder . projects . map ( ( project ) => project . y ) ) . flat ( ) ) ;
99107 const maxBudget : number = Math . max . apply ( null , Object . values ( dataFunders ) . map ( ( dataFunder : any ) => dataFunder . budget . map ( ( budget ) => budget . y ) ) . flat ( ) ) ;
100- const maxParticipation : number = Math . max . apply ( null , Object . values ( dataFunders ) . map ( ( dataFunder : any ) => dataFunder . participation . map ( ( participation ) => participation . y ) ) . flat ( ) ) ;
108+ const maxFunding : number = Math . max . apply ( null , Object . values ( dataFunders ) . map ( ( dataFunder : any ) => dataFunder . funding . map ( ( funding ) => funding . y ) ) . flat ( ) ) ;
109+ const maxProjects : number = Math . max . apply ( null , Object . values ( dataFunders ) . map ( ( dataFunder : any ) => dataFunder . projects . map ( ( project ) => project . y ) ) . flat ( ) ) ;
101110
102111 return (
103112 < >
@@ -176,7 +185,7 @@ export default function Cards() {
176185 ) ) }
177186 </ Row >
178187 < Row gutters >
179- < Col xs = "12" md = "2" key = { `card-participation -intro` } >
188+ < Col xs = "12" md = "2" key = { `card-funding -intro` } >
180189 < div style = { { height : "100%" , display : "flex" , alignItems : "center" } } >
181190 < Title as = "h2" className = "fr-mb-0" style = { { fontSize : "0.8rem" , letterSpacing : "0.3px" , lineHeight : 1.3 , textTransform : "uppercase" } } >
182191 Financements perçus pour les projets auxquels { structure ? "l'établissement" : "la région" } participe
@@ -185,17 +194,17 @@ export default function Cards() {
185194 </ div >
186195 </ Col >
187196 { Object . keys ( dataFunders ) . map ( ( funder ) => (
188- < Col xs = "12" md = "2" key = { `card-participation -${ funder } ` } >
197+ < Col xs = "12" md = "2" key = { `card-funding -${ funder } ` } >
189198 { isLoading ? < DefaultSkeleton height = "250px" /> :
190199 < ChartCard
191200 color = { getCssColor ( { name : funder , prefix : "funder" } ) }
192- data = { dataFunders [ funder ] . participation }
201+ data = { dataFunders [ funder ] . funding }
193202 detail = { getYearRangeLabel ( { yearMax, yearMin } ) }
194203 title = { `Financements perçus des projets ${ funder } ` }
195204 titleAs = "h3"
196205 tooltipFormatter = { function ( this : any ) { return `${ formatCompactNumber ( this . y ) } € par ${ funder } en ${ this . key } ` } }
197- value = { `${ formatCompactNumber ( dataFunders [ funder ] . participation . filter ( ( participation ) => yearMin && yearMax && participation . x >= yearMin && participation . x <= yearMax ) . reduce ( ( acc , cur ) => acc + cur . yDisplay , 0 ) ) } €` }
198- yAxisMax = { maxParticipation }
206+ value = { `${ formatCompactNumber ( dataFunders [ funder ] . funding . filter ( ( funding ) => yearMin && yearMax && funding . x >= yearMin && funding . x <= yearMax ) . reduce ( ( acc , cur ) => acc + cur . yDisplay , 0 ) ) } €` }
207+ yAxisMax = { maxFunding }
199208 />
200209 }
201210 </ Col >
0 commit comments