From 3f2be6163ef803169f7b2c25cdcf46eadd7b03dc Mon Sep 17 00:00:00 2001 From: akmiller01 Date: Tue, 12 Mar 2024 13:10:58 -0400 Subject: [PATCH 1/5] Update OECD RHFP years --- .vscode/settings.json | 9 --------- src/core/oecd/TableThree.js | 33 +++++++++++++++++++++++++-------- src/core/oecd/TableTwo.js | 10 +++++----- src/index.html | 24 ++++++++++++------------ src/utils/constants.js | 6 +++--- 5 files changed, 45 insertions(+), 37 deletions(-) delete mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index a493dc86..00000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "editor.formatOnSave": true, - "editor.codeActionsOnSave": { - "source.fixAll.eslint": true - }, - "[javascript]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - } -} diff --git a/src/core/oecd/TableThree.js b/src/core/oecd/TableThree.js index e27c5f25..d3d1490a 100644 --- a/src/core/oecd/TableThree.js +++ b/src/core/oecd/TableThree.js @@ -3,26 +3,43 @@ import { render } from 'react-dom'; import { TableOne } from '../../components/TableOne/TableOne'; import { filterDataByCountry, filterDataByPurpose, formatNumber } from '../../utils/data'; import { addFilter, addFilterWrapper } from '../../widgets/filters'; -import { ALTERNATIVE_PURPOSE_TO_FILTER_BY, CHANNEL_FIELD, COUNTRY_FIELD, DEFAULT_COUNTRY, PURPOSE_FIELD, VALUE_FIELD } from '../../utils/constants'; +import { + ALTERNATIVE_PURPOSE_TO_FILTER_BY, + CHANNEL_FIELD, + COUNTRY_FIELD, + DEFAULT_COUNTRY, + PURPOSE_FIELD, + VALUE_FIELD, +} from '../../utils/constants'; const sumChannelData = (countryData) => { - const yearData = countryData.filter((item) => item['year'] === '2020'); + const yearData = countryData.filter((item) => item['year'] === '2022'); return yearData.reduce((acc, data) => { - return {...acc, [data[CHANNEL_FIELD]]: (parseFloat(acc[data[CHANNEL_FIELD]] || 0) + parseFloat(data[VALUE_FIELD] || 0)).toFixed(1) } + return { + ...acc, + [data[CHANNEL_FIELD]]: (parseFloat(acc[data[CHANNEL_FIELD]] || 0) + parseFloat(data[VALUE_FIELD] || 0)).toFixed( + 1, + ), + }; }, {}); }; const getRows = (tableData) => { - const sum = Object.keys(tableData).reduce((_sum, key) => formatNumber(_sum + formatNumber(Number(tableData[key]) || 0)), 0); + const sum = Object.keys(tableData).reduce( + (_sum, key) => formatNumber(_sum + formatNumber(Number(tableData[key]) || 0)), + 0, + ); - return Object.keys(tableData).map((dataKey) => { - return [dataKey, tableData[dataKey], (((tableData[dataKey]/sum)*100).toFixed(1) || 0)]; - }).concat([['Total', sum, '100%']]); + return Object.keys(tableData) + .map((dataKey) => { + return [dataKey, tableData[dataKey], ((tableData[dataKey] / sum) * 100).toFixed(1) || 0]; + }) + .concat([['Total', sum, '100%']]); }; const renderTable = (data, country, purpose, tableNode) => { - const rowHeader = ['Channel', '2020', '% Total']; + const rowHeader = ['Channel', '2022', '% Total']; const countryData = filterDataByPurpose( filterDataByCountry(data, country, COUNTRY_FIELD), purpose || 'Reproductive health care and family planning', diff --git a/src/core/oecd/TableTwo.js b/src/core/oecd/TableTwo.js index 76705556..c639d43b 100644 --- a/src/core/oecd/TableTwo.js +++ b/src/core/oecd/TableTwo.js @@ -14,7 +14,7 @@ const getGroupedData = (countryData) => { for (let count = 0; count < countryData.length; count++) { if (iteratorData.length >= 1) { let maxRow = iteratorData.reduce((prev, current) => { - if (Number(prev['2021']) < Number(current['2021'])) { + if (Number(prev['2022']) < Number(current['2022'])) { return current; } else { return prev; @@ -29,7 +29,7 @@ const getGroupedData = (countryData) => { for (let count = 0; count < 10; count++) { if (iteratorData.length >= 1) { let maxRow = iteratorData.reduce((prev, current) => { - if (Number(prev['2021']) < Number(current['2021'])) { + if (Number(prev['2022']) < Number(current['2022'])) { return current; } else { return prev; @@ -55,11 +55,11 @@ const sortedDataRows = (data) => { fullRows.push([ i + 1, data[i].recipient_name, - formatNumber(Number(data[i]['2017']), NO_DATA), formatNumber(Number(data[i]['2018']), NO_DATA), formatNumber(Number(data[i]['2019']), NO_DATA), formatNumber(Number(data[i]['2020']), NO_DATA), formatNumber(Number(data[i]['2021']), NO_DATA), + formatNumber(Number(data[i]['2022']), NO_DATA), ]); } } @@ -71,11 +71,11 @@ const sortedDataRows = (data) => { fullRows.push([ i + 1, data[i].recipient_name, - formatNumber(Number(data[i]['2017']), NO_DATA), formatNumber(Number(data[i]['2018']), NO_DATA), formatNumber(Number(data[i]['2019']), NO_DATA), formatNumber(Number(data[i]['2020']), NO_DATA), formatNumber(Number(data[i]['2021']), NO_DATA), + formatNumber(Number(data[i]['2012']), NO_DATA), ]); } } @@ -93,7 +93,7 @@ const getUnsortedDataRow = (data, years) => { }; const renderTable = (data, country, purpose, tableNode) => { - const YEARS = [2017, 2021]; + const YEARS = [2018, 2022]; const yearRange = YEARS[1] - YEARS[0] + 1; const count = []; for (const key of Array(yearRange).keys()) { diff --git a/src/index.html b/src/index.html index 4dc379a7..2528ea37 100644 --- a/src/index.html +++ b/src/index.html @@ -41,7 +41,7 @@

Donor Selector

- Table: ODA to reproductive health care and family planning, 2012−2021 + Table: ODA to reproductive health care and family planning, 2013−2022

@@ -65,7 +65,7 @@

- Chart: ODA to reproductive health care and family planning, 2012−2021 + Chart: ODA to reproductive health care and family planning, 2013−2022

@@ -85,7 +85,7 @@

-

Chart: ODA by aid type, 2017−2021

+

Chart: ODA by aid type, 2018−2022

@@ -104,7 +104,7 @@

Chart: ODA by aid type, 2017−2021

-

Table: Largest recipients by individual donor, 2017−2021

+

Table: Largest recipients by individual donor, 2018−2022

@@ -123,7 +123,7 @@

Table: Largest recipients by individual donor
-

Table: ODA by aid type, 2021

+

Table: ODA by aid type, 2022

@@ -142,7 +142,7 @@

Table: ODA by aid type, 2021

-

Table: ODA by channel of delivery, 2021

+

Table: ODA by channel of delivery, 2022

@@ -161,7 +161,7 @@

Table: ODA by channel of delivery, 2021

-

Chart: ODA by channel of delivery, 2021

+

Chart: ODA by channel of delivery, 2022

@@ -204,7 +204,7 @@

IATI Donor Selector

-

Table: Total trends, 2019–2021

+

Table: Total trends, 2019–2023

@@ -226,7 +226,7 @@

Table: Total trends, 2019–2021

-

Chart: Total trends, 2019–2021

+

Chart: Total trends, 2019–2023

@@ -245,7 +245,7 @@

Chart: Total trends, 2019–2021

-

Chart: Aid type, 2019–2021

+

Chart: Aid type, 2019–2023

@@ -264,7 +264,7 @@

Chart: Aid type, 2019–2021

-

Table: Largest recipients by individual donor, 2019–2021

+

Table: Largest recipients by individual donor, 2019–2023

@@ -283,7 +283,7 @@

Table: Largest recipients by individual donor
-

Table: Aid type, 2019–2021

+

Table: Aid type, 2019–2023

diff --git a/src/utils/constants.js b/src/utils/constants.js index d57d6a5c..a4e8c765 100644 --- a/src/utils/constants.js +++ b/src/utils/constants.js @@ -9,9 +9,9 @@ export const ALTERNATIVE_PURPOSE_TO_FILTER_BY = [ ]; export const VALUE_FIELD = 'usd_disbursement_deflated'; export const CHANNEL_FIELD = 'oecd_aggregated_channel'; -export const YEARS = [2012, 2021]; -export const YEARSsmall = [2017, 2021]; -export const YEARsingle = 2021; +export const YEARS = [2013, 2022]; +export const YEARSsmall = [2018, 2022]; +export const YEARsingle = 2022; export const NO_DATA = 0; export const AIDTYPE_FIELD = 'aid_type_di_name'; export const VALUE_FIELD_AIDTYPE = 'usd_disbursement_deflated_Sum'; From 93ebd23a3890176d4b88febbb4b5d2bc9932f055 Mon Sep 17 00:00:00 2001 From: akmiller01 Date: Tue, 12 Mar 2024 13:11:14 -0400 Subject: [PATCH 2/5] Update CSV paths --- src/core/oecd/DonorFilter.js | 2 +- src/core/oecd/index.js | 27 +++++++++++++++++++++------ 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/src/core/oecd/DonorFilter.js b/src/core/oecd/DonorFilter.js index bde42fc3..6828aa9c 100644 --- a/src/core/oecd/DonorFilter.js +++ b/src/core/oecd/DonorFilter.js @@ -22,7 +22,7 @@ const init = (className) => { * * const chart = window.echarts.init(chartNode); */ - const csv = 'https://raw.githubusercontent.com/devinit/di-website-data/main/2022/rh-and-fp-dropdowns.csv'; + const csv = 'https://raw.githubusercontent.com/devinit/di-website-data/main/2024/rh-and-fp-dropdowns.csv'; fetchCSVData(csv).then((data) => { const filterWrapper = addFilterWrapper(chartNode); const countryFilter = addFilter({ diff --git a/src/core/oecd/index.js b/src/core/oecd/index.js index 28c84cd9..1e0d5503 100644 --- a/src/core/oecd/index.js +++ b/src/core/oecd/index.js @@ -13,12 +13,27 @@ import { fetchCoreData } from '../../utils/data'; // Your Code Goes Here i.e. functions const init = () => { - fetchCoreData([ - { url: 'https://raw.githubusercontent.com/devinit/di-website-data/main/2022/RH_and_FP_Purpose_code_trends_chart_OECD.csv', state: 'dataOne' }, - { url: 'https://raw.githubusercontent.com/devinit/di-website-data/main/2022/donor_by_recip_2019.csv', state: 'dataTwo' }, - { url: 'https://raw.githubusercontent.com/devinit/di-website-data/main/2022/RH_FP_aid_type_OECD.csv', state: 'odaAidType' }, - { url: 'https://raw.githubusercontent.com/devinit/di-website-data/main/2022/RH_FP_channels_OECD.csv', state: 'odaChannels' }, - ], { country: 'United States' }); + fetchCoreData( + [ + { + url: 'https://raw.githubusercontent.com/devinit/di-website-data/main/2024/RH_and_FP_Purpose_code_trends_chart_OECD.csv', + state: 'dataOne', + }, + { + url: 'https://raw.githubusercontent.com/devinit/di-website-data/main/2024/donor_by_recip_2019.csv', + state: 'dataTwo', + }, + { + url: 'https://raw.githubusercontent.com/devinit/di-website-data/main/2024/RH_FP_aid_type_OECD.csv', + state: 'odaAidType', + }, + { + url: 'https://raw.githubusercontent.com/devinit/di-website-data/main/2024/RH_FP_channels_OECD.csv', + state: 'odaChannels', + }, + ], + { country: 'United States' }, + ); initDonorFilter('dicharts--donor-selector'); initTableOne('dicharts--table-one'); initBarChartOne('dicharts--chart-one'); From 8339d2657855d01e9b524c847812f81b6f7a5988 Mon Sep 17 00:00:00 2001 From: akmiller01 Date: Tue, 12 Mar 2024 13:15:53 -0400 Subject: [PATCH 3/5] Build and gulp --- assets/core.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/core.js b/assets/core.js index 5c2f017a..d43f1852 100644 --- a/assets/core.js +++ b/assets/core.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{11:function(e,t,a){e.exports=a(27)},12:function(e,t,a){},13:function(e,t,a){},26:function(e,t,a){},27:function(e,t,a){"use strict";a.r(t);a(12);var n=a(3);window.DIState=new class{constructor(){this.id=Math.random(),this.state={},this.listeners=[],Object(n.d)(this,{state:n.e,setState:n.a,getState:n.c})}setState(e,t){void 0===t&&(t=!0),this.state=t?{...this.state,...e}:e}get getState(){return this.state}addListener(e){return this.listeners=this.listeners.concat(Object(n.b)(e)),this.listeners.length-1}removeListener(e){eo.a.createElement("div",{className:"table-styled"},o.a.createElement("table",null,e.children));const d=e=>{const t=function(e,t){return void 0===t&&(t=!1),e.map((e,a)=>o.a.createElement("tr",{key:a},e.map((e,a)=>t?o.a.createElement("th",{key:a},e):o.a.createElement("td",{key:a},e))))};return o.a.createElement(i,null,o.a.createElement("thead",null,t(e.rows.filter((e,t)=>0===t),!0)),o.a.createElement("tbody",null,t(e.rows.filter((e,t)=>t>0))))},c=["Reproductive health care","Family planning"],l=[2012,2021],u=[2017,2021];var p=a(9);const m=function(e,t){void 0===t&&(t="");const a=Number(e);return isNaN(a)?t:new Intl.NumberFormat("en-IN",{maximumFractionDigits:2}).format(a)},h=(e,t)=>e.map(e=>({...e,[t]:e[t]?Number(e[t]):"NA"})),w=e=>new Promise(t=>{Object(p.parse)(e,{download:!0,header:!0,complete:e=>{let{data:a}=e;return t(a)}})}),f=(e,t,a)=>e.filter(e=>e[a]===t),g=(e,t,a)=>e.filter(e=>e[a]===t),b=(e,t,a)=>e.filter(e=>t.includes(e[a])),y=(e,t)=>{window.DIState&&e.length?(t&&window.DIState.setState(t),e.forEach(e=>{let{url:t,state:a}=e;w(t).then(e=>{window.DIState.setState({[a]:e||[]})})})):console.log("State is not defined")},S=e=>{const t=e[1]-e[0]+1,a=[];for(const e of Array(t).keys())a.push(e);return a.map(t=>e[0]+t)},v=(e,t,a)=>t.reduce((t,n)=>{const r=e.filter(e=>""+e.year==""+n).reduce((e,t)=>e+Number(t[a]||0),0);return t.concat(r)},[]),I=(e,t)=>e.map(e=>({...e,year:Number(e[t])}));var D=w;const _=(e,t,a)=>{const n=S(l),o=["Purpose code"].concat(n),i=c.map(e=>{const a=b(t,[e],"purpose_name");return[e].concat(((e,t,a)=>t.map(t=>{const n=e.find(e=>""+e.year==""+t);return n?Number(n[a])||"":0}))(a,n,"usd_disbursement_deflated_Sum"))}),u=o.map((e,t)=>0===t?"Total":m(i.reduce((e,a)=>"number"==typeof a[t]?e+a[t]:e,0))),p=i.map(e=>e.map(e=>"number"==typeof e?m(e):e)),h=[o].concat(p,[u]);Object(s.render)(Object(r.createElement)(d,{country:a,rows:h}),e)};var E=e=>{window.DICharts.handler.addChart({className:e,d3:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();window.DIState?window.DIState.addListener(()=>{t.showLoading();const a=window.DIState.getState,{country:n,dataOne:r}=a;if(n&&r){const a=b(g(r,n||"United States","donor_name"),c,"purpose_name");_(e,a,n||"United States"),t.hideLoading(),e.parentElement.classList.add("auto-height")}}):console.log("State is not defined")})}}})};const N=e=>{const t=document.createElement("div");return t.classList.add("spotlight-banner","data-selector--wrapper"),e.parentElement.insertBefore(t,e),t},L=(e,t)=>{const a=document.createElement("option");a.value="string"==typeof t?t:t.value,a.text="string"==typeof t?t:t.label,e.appendChild(a)},C=e=>{let{wrapper:t,options:a,defaultOption:n,allItemsLabel:r,className:o,label:s}=e;const i=document.createElement("select");if(i.classList.add("data-selector","js-plotly-chart-data-selector",o),r&&L(i,{label:r,value:"*"}),a.forEach(e=>L(i,e)),i.classList.add("data-selector--active"),n&&(i.value=n),s){const e=document.createElement("label");e.innerHTML=s;const a=document.createElement("div");a.classList.add("labelled-data-selector--wrapper"),a.appendChild(e),a.appendChild(i),t.appendChild(a)}else t.appendChild(i);return i};var O=e=>{window.DICharts.handler.addChart({className:e,d3:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();D("https://raw.githubusercontent.com/devinit/di-website-data/main/2022/rh-and-fp-dropdowns.csv").then(a=>{const n=N(e),r=C({wrapper:n,options:a.map(e=>e.Donors),defaultOption:"United States",className:"country-filter",label:"Select donor"});window.DIState&&window.DIState.setState({country:"United States"}),r.addEventListener("change",e=>{const{value:t}=e.currentTarget;window.DIState&&window.DIState.setState({country:t})}),t.hideLoading(),e.parentElement.classList.add("auto-height")})})}}})},A=a(2),x=a.n(A);const U={rainbow:["#e84439","#eb642b","#f49b21","#109e68","#0089cc","#893f90","#c2135b","#f8c1b2","#f6bb9d","#fccc8e","#92cba9","#88bae5","#c189bb","#e4819b"],default:["#6c120a","#a21e25","#cd2b2a","#dc372d","#ec6250","#f6b0a0","#fbd7cb","#fce3dc"],sunflower:["#7d4712","#ba6b15","#df8000","#f7a838","#fac47e","#fedcab","#fee7c1","#feedd4"],marigold:["#7a2e05","#ac4622","#cb5730","#ee7644","#f4a57c","#facbad","#fcdbbf","#fde5d4"],rose:["#65093d","#8d0e56","#9f1459","#d12568","#e05c86","#f3a5b6","#f6b8c1","#f9cdd0"],lavendar:["#42184c","#632572","#732c85","#994d98","#af73ae","#cb98c4","#deb5d6","#ebcfe5"],bluebell:["#0a3a64","#00538e","#1060a3","#4397d3","#77adde","#a3c7eb","#bcd4f0","#d3e0f4"],leaf:["#08492f","#005b3e","#00694a","#3b8c62","#74bf93","#a2d1b0","#b1d8bb","#c5e1cb"]};var k={legend:{top:10,textStyle:{fontFamily:"Geomanist Regular,sans-serif"}},tooltip:{trigger:"axis",textStyle:{fontFamily:"Geomanist Regular,sans-serif"},axisPointer:{type:"none"}},toolbox:{showTitle:!1,feature:{saveAsImage:{show:!1,title:"Save as image",pixelRatio:2}},right:20,tooltip:{show:!0,textStyle:{fontFamily:"Geomanist Regular,sans-serif",formatter:e=>"
"+e.title+"
"}}},color:U.rainbow,xAxis:{axisLabel:{fontFamily:"Geomanist Regular,sans-serif",fontSize:13},splitLine:{show:!1}},yAxis:{axisLabel:{fontFamily:"Geomanist Regular,sans-serif",fontSize:13},splitLine:{show:!1}},axisPointer:{type:"none"},grid:{top:10}},T=o.a.createElement("div",{className:"no-data"},"No Data");var F=()=>T;const j=(e,t,a,n,r)=>{const o=b(e,[t],r);return v(o,a,n)},R=function(e,t){void 0===t&&(t=!0),t?e.classList.remove("invisible"):e.classList.add("invisible")},P=e=>{e.classList.add("no-data--wrapper"),Object(s.unmountComponentAtNode)(e),Object(s.render)(Object(r.createElement)(F),e)},G=e=>{e.classList.remove("no-data--wrapper"),Object(s.unmountComponentAtNode)(e)},$=(e,t)=>c.map(a=>({name:a,type:"bar",stack:"oda",tooltip:{valueFormatter:e=>"US$"+m(e)+" million"},data:j(e,a,t,"usd_disbursement_deflated_Sum","purpose_name")})).map((e,t,a)=>t===a.length-1?{...e,label:{normal:{show:!0,position:"top",fontFamily:"Geomanist Regular,sans-serif",formatter:e=>{const t=a.reduce((t,a)=>{const n=a.data[e.dataIndex];return t+parseFloat(n||0)},0);return m(t)},color:"#000000"}}}:e);var M=e=>{window.DICharts.handler.addChart({className:e,echarts:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();const a=N(e);window.DIState?window.DIState.addListener(()=>{t.showLoading();const n=window.DIState.getState,{country:r,dataOne:o}=n;if(r&&o){const n=b(g(o,r||"United States","donor_name"),c,"purpose_name");((e,t,a)=>{if(!a.length)return R(e,!1),void P(t);R(e),G(t);const n=window.echarts.init(e),r=S(l),o=x()(k,{legend:{show:!0,selectedMode:!1},xAxis:{type:"category",data:r},yAxis:{type:"value",name:"US$ millions (constant ".concat(r[r.length-1]," prices)"),nameLocation:"middle",nameGap:50},grid:{top:60},series:$(a,r)});o.color=["#e84439","#f8c1b2"].concat(o.color),n.setOption(o)})(e,a,n),t.hideLoading()}}):(console.log("State is not defined"),t.hideLoading())})}}})};const H=(e,t)=>{const a=e.reduce((e,t)=>(e.includes(t.aid_type_di_name)||e.push(t.aid_type_di_name),e),[]),n=a.map(a=>j(e,a,t,"usd_disbursement_deflated_Sum","aid_type_di_name")),r=((e,t)=>{const a=Object.keys(t).map(e=>({[e]:t[e].reduce((e,t)=>e+t,0)}));return e.map(e=>e.map((e,t)=>{const n=parseFloat(e),r=parseFloat(a[t]?a[t][t]:1);return isNaN(n)||isNaN(r)||0===n||0===n?0:n/r*100}))})(n,(e=>{let t={};for(let a=0;a({name:e,type:"bar",stack:"oda",data:r[t]}))},B=(e,t)=>{const a=m(((e,t,a)=>{const n=b(e,[t],"aid_type_di_name");return v(n,a,"usd_disbursement_deflated_Sum")})(e,t.seriesName,[t.name]));return'\n
\n '+t.marker+t.seriesName+':\n \n '+m(Number(t.value,10))+"% - US$"+a+" million\n \n
"},Y=(e,t,a)=>{if(!a.length)return R(e,!1),void P(t);R(e),G(t);const n=window.echarts.init(e),r=S(u),o=x()(k,{legend:{show:!0,selectedMode:!1},tooltip:{trigger:"axis",formatter:e=>e.map(e=>B(a,e)).join("")},xAxis:{type:"category",data:r},yAxis:{type:"value",axisLabel:{formatter:"{value}%"},max:100},grid:{top:60},series:H(a,r)});o.color=["#f8c1b2","#f0826d","#bc2629","#8f1b13"].concat(o.color),n.setOption(o,{replaceMerge:["series"]})};var z=e=>{window.DICharts.handler.addChart({className:e,echarts:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();const a=N(e),n=N(e);let r,o="Reproductive health care";window.DIState?window.DIState.addListener(()=>{t.showLoading();const s=window.DIState.getState,{country:i,odaAidType:d}=s;if(i&&d){const s=b(g(d,i||"United States","donor_name"),[o],"purpose_name");r||(r=C({wrapper:a,options:d.reduce((e,t)=>{const a=t.purpose_name;return a&&!e.includes(a)?e.concat(a):e},[]),defaultOption:o,className:"purpose-code-filter",label:"Select purpose code"}),r.addEventListener("change",t=>{o=t.target.value;const{country:a}=window.DIState.getState,r=b(g(d,a||"United States","donor_name"),[o],"purpose_name");Y(e,n,r)})),Y(e,n,s),t.hideLoading()}}):(console.log("State is not defined"),t.hideLoading())})}}})};const J=e=>{const t=function(e,t){return void 0===t&&(t=!1),e.map((a,n)=>o.a.createElement("tr",{key:n},a.map((a,r)=>t?o.a.createElement("th",{key:r},a):n===e.length-1&&0===r?o.a.createElement("td",{colSpan:2,key:r},a):o.a.createElement("td",{key:r},a))))};return o.a.createElement(i,null,o.a.createElement("thead",null,t(e.rows.filter((e,t)=>0===t),!0)),o.a.createElement("tbody",null,t(e.rows.filter((e,t)=>t>0))))},q=(e,t,a,n)=>{const o=[2017,2021],i=o[1]-o[0]+1,d=[];for(const e of Array(i).keys())d.push(e);const c=["Rank","Recipient"].concat(d.map(e=>o[0]+e)),l=e.filter(e=>a===e["Code type"]),u=g(l,t,"donor_name"),{sortedData:p,unsortedData:h}=(e=>{let t=[...e];const a=[];if(e.length<10)for(let n=0;n=1){let e=t.reduce((e,t)=>Number(e[2021])=1){let e=t.reduce((e,t)=>Number(e[2021])t.map(t=>{const a=e.map(e=>Number(e[t])).reduce((e,t)=>e+t,0);return m(a,0)}))(h,d.map(e=>(o[0]+e).toString())),f=[c].concat((e=>{const t=[];if(e.length<10){if(0===e.length)return t;for(let a=0;a=1&&t.push([a+1,e[a].recipient_name,m(Number(e[a][2017]),0),m(Number(e[a][2018]),0),m(Number(e[a][2019]),0),m(Number(e[a][2020]),0),m(Number(e[a][2021]),0)]);return t}for(let a=0;a<10;a++)e.length>=1&&t.push([a+1,e[a].recipient_name,m(Number(e[a][2017]),0),m(Number(e[a][2018]),0),m(Number(e[a][2019]),0),m(Number(e[a][2020]),0),m(Number(e[a][2021]),0)]);return t})(p)).concat([["Total of all other recipients"].concat(w)]);Object(s.render)(Object(r.createElement)(J,{rows:f}),n)};var K=e=>{window.DICharts.handler.addChart({className:e,echarts:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();const a=N(e);let n,r="Reproductive health care and family planning",o="United States";window.DIState?window.DIState.addListener(()=>{t.showLoading();const s=window.DIState.getState,{country:i,dataTwo:d}=s;o=i,o&&d&&(n||(n=C({wrapper:a,options:d.reduce((e,t)=>{const a=t["Code type"];return a&&!e.includes(a)?e.concat(a):e},[]),defaultOption:r,className:"purpose-code-filter",label:"Select purpose code"}),n.addEventListener("change",t=>{r=t.target.value,q(d,o,r,e)})),q(d,o,r,e),t.hideLoading(),e.parentElement.classList.add("auto-height"))}):(console.log("State is not defined"),t.hideLoading())})}}})};const Q=e=>{const t=function(e,t){return void 0===t&&(t=!1),e.map((e,a)=>o.a.createElement("tr",{key:a},e.map((e,a)=>t?o.a.createElement("th",{key:a},e):o.a.createElement("td",{key:a},e))))};return o.a.createElement(i,null,o.a.createElement("thead",null,t(e.rows.filter((e,t)=>0===t),!0)),o.a.createElement("tbody",null,t(e.rows.filter((e,t)=>t>0))))},V=(e,t,a,n)=>{const o=g(t,a||"United States","donor_name"),i=((e,t)=>{const a=[["Aid Type",2021,"% Total"]],n=e.reduce((e,t)=>{const a=t.aid_type_di_name;return a&&!e.includes(a)&&e.push(a),e},[]),r=t.map(e=>Number(e.usd_disbursement_deflated_Sum)).reduce((e,t)=>e+t,0),o=n.map(e=>{const a=t.find(t=>t.aid_type_di_name===e),n=a?a.usd_disbursement_deflated_Sum:0,o=0!==n?(m(n/r*100)||0)+"%":0;return[e].concat(m(n,0),[o])});return a.concat(o,[["Total",m(r,0),r?"100%":"0%"]])})(t,(e=>e.filter(e=>""+e.year=="2021"))(b(o,n,"purpose_name")));Object(s.render)(Object(r.createElement)(Q,{country:a,rows:i}),e)};var W=e=>{window.DICharts.handler.addChart({className:e,d3:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);let a;t.showLoading();let n="United States";window.DIState?window.DIState.addListener(()=>{t.showLoading();const r=window.DIState.getState,{country:o,odaAidType:s}=r;if(n=o,n&&s){const r=function(e,t){void 0===t&&(t="purpose_name");const a=[];return e.forEach(e=>{e[t]&&!a.includes(e[t])&&a.push(e[t])}),a}(s);let o=r[0];if(!a){const t=N(e);a=C({wrapper:t,options:r,defaultOption:o,className:"purpose-code-filter",label:"Select purpose code"}),a.addEventListener("change",t=>{o=t.target.value,V(e,s,n||"United States",o)})}V(e,s,n||"United States",o),t.hideLoading(),e.parentElement.classList.add("auto-height")}}):console.log("State is not defined")})}}})};var X=e=>{const t=function(e,t){return void 0===t&&(t=!1),e.map((e,a)=>o.a.createElement("tr",{key:a},e.map((e,a)=>t?o.a.createElement("th",{key:a},e):o.a.createElement("td",{key:a},e))))};return o.a.createElement(i,null,o.a.createElement("thead",null,t(e.rows.filter((e,t)=>0===t),!0)),o.a.createElement("tbody",null,t(e.rows.filter((e,t)=>t>0))))};const Z={"University, College Or Other Teaching Institution, Research Institute Or Think?Tank":"University, other teaching institution, research institute or think-tank"},ee=(e,t,a)=>{const n=["Channel"].concat(2021,"% Total"),o=(e=>{const t=Object.keys(e).reduce((t,a)=>t+Number(e[a]||0),0);return Object.keys(e).map(a=>[Z[a]||a,m(e[a]),(m(e[a]/t*100||0)||0)+"%"]).concat([["Total",m(t),t?"100%":"0%"]])})((e=>e.reduce((e,t)=>({...e,[t.oecd_aggregated_channel]:parseFloat(e[t.oecd_aggregated_channel]||0)+parseFloat(t.usd_disbursement_deflated_Sum||0)}),{}))(t)),i=[n].concat(o);Object(s.render)(Object(r.createElement)(X,{country:a,rows:i}),e)};var te=e=>{window.DICharts.handler.addChart({className:e,d3:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();const a=N(e);let n,r="United States";window.DIState?window.DIState.addListener(()=>{t.showLoading();const o=window.DIState.getState,{country:s,odaChannels:i,purpose:d}=o;if(r=s,r&&i){const s=(e=>e.reduce((e,t)=>t.purpose_name&&!e.includes(t.purpose_name)?e.concat(t.purpose_name):e,[]))(i),c=b(g(i,r||"United States","donor_name"),d||s[0],"purpose_name");n||(n=C({wrapper:a,options:s,defaultOption:s[0],className:"purpose-code-filter",label:"Select purpose code"}),o&&window.DIState.setState({purpose:s[0]}),n.addEventListener("change",e=>{window.DIState.setState({purpose:e.target.value})})),ee(e,c,r||"United States"),t.hideLoading(),e.parentElement.classList.add("auto-height")}}):console.log("State is not defined")})}}})},ae=a(10),ne=a.n(ae),re=a(6),oe=a.n(re);const se=e=>{let{data:t,position:a}=e;return o.a.createElement("div",{className:oe()("custom-legend",{right:"right"===a})},t.map((e,t)=>o.a.createElement("div",{className:oe()("legend-item",{label:e.label}),key:""+t},!e.label&&e.colour?o.a.createElement("span",{className:"badge",style:{backgroundColor:e.colour}}):null,o.a.createElement("span",{className:"text"},e.caption))))};se.defaultProps={data:[]};var ie=se;const de={"University, College Or Other Teaching Institution, Research Institute Or Think?Tank":"University, other teaching institution, research institute or think-tank"},ce=function(e,t,a){void 0===a&&(a="right"),Object(s.render)(Object(r.createElement)(ie,{data:t,position:a}),e)},le=(e,t,a,n,r)=>{n.push({caption:"Breakdown",label:!0}),n=n.concat(ue(t,a,r)),ce(e,n)},ue=(e,t,a)=>e.children.sort((e,t)=>e.value-t.value).reverse().map(e=>{if(e.value){const n=m(e.value/t.value*100),r=ne()(a).lighten(.2);return{caption:e.name+" | US$"+m(e.value)+" million - "+n+"%",colour:r.hex()}}return{caption:e.name,colour:"#333"}}),pe=(e,t,a,n,r)=>{((e,t,a)=>{if(!t.length)return e.classList.add("invisible"),void P(a);e.classList.remove("invisible"),G(a);const n=window.echarts.init(e),r=U.rainbow,o=t.map((e,t)=>({caption:e.name,colour:r[t]})),s=()=>ce(a,o),i={tooltip:{show:!0,trigger:"item",formatter:e=>{if(!e.name)return"Go Back";if(e.treePathInfo.length>1){const t=e.treePathInfo[e.treePathInfo.length-2],a=m(e.value/t.value*100);return e.name+" | US$"+m(e.value)+" million - "+a+"%"}return e.name+" | US$"+m(e.value)+" million"}},xAxis:{show:!1},yAxis:{show:!1},series:{type:"sunburst",nodeClick:!1,emphasis:{focus:"descendant"},sort:void 0,data:t.map((e,t)=>(e.itemStyle={color:r[t]},e)),radius:["20%","100%"],label:{show:!1},levels:[{itemStyle:{color:"#333",opacity:.7},r:120},{r:145},{radius:[150,170]}]},toolbox:{showTitle:!1,feature:{saveAsImage:{show:!1}}}};n.setOption({...x()(k,i),color:r}),s(),n.on("mouseover",(function(e){if(!e.name)return;let n=o.filter(t=>e.treePathInfo.find(e=>e.name===t.caption));if(e.treePathInfo.length>1){const r=t.find(t=>t.name===e.name);if(r&&r.children)return void le(a,r,e,n,e.color);const o=e.treePathInfo[e.treePathInfo.length-2],s=t.find(e=>e.name===o.name);s&&s.children?le(a,s,o,n,n[0].colour):ce(a,n)}})),n.on("mouseout",(function(){s()}))})(e,((e,t)=>{const a=e.map(e=>({...e,[t.parent]:de[e[t.parent]]||e[t.parent],[t.child]:de[e[t.child]]||e[t.child]}));return a.map(e=>e[t.value]?{...e,[t.value]:m(e[t.value])}:e).reduce((e,a)=>e.includes(a[t.parent])?e:e.concat(a[t.parent]),[]).map(e=>((e,t,a,n)=>{const r={name:t},o=e.filter(e=>e[a.parent]===("string"==typeof t?t:t[a.parent]));if(o.length)r.children=o.map(e=>({name:e[a.child],value:e[a.value]}));else if("string"==typeof t){const n=e.find(e=>e[a.parent]===t);r.value=n[a.value]}else r.value=t[a.value];return n&&(r.itemStyle={color:n}),r})(a,e,t))})(b(g(t,a||"United States","donor_name"),n,"purpose_name"),{parent:"oecd_aggregated_channel",child:"oecd_channel_parent_name",value:"usd_disbursement_deflated_Sum"}),r)};var me=e=>{window.DICharts.handler.addChart({className:e,d3:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement),a=N(e);let n,r,o="United States";if(!window.DIState)return void console.log("State is not defined");const s=N(e);window.DIState.addListener(()=>{t.showLoading();const i=window.DIState.getState,{country:d,odaChannels:c}=i;if(o=d,o&&c){if(!n){const t=((e,t)=>e.reduce((e,a)=>{const n=a[t];return n&&!e.includes(n)?e.concat(n):e},[]))(c,"purpose_name");r=t[0],n=C({wrapper:a,options:t,defaultOption:r,className:"purpose-code-filter",label:"Select purpose code"}),n.addEventListener("change",t=>{r=t.target.value,pe(e,h(c,"usd_disbursement_deflated_Sum"),o,r,s)})}pe(e,h(c,"usd_disbursement_deflated_Sum"),o,r,s),t.hideLoading(),e.parentElement.classList.add("auto-height")}})})}}})};var he=()=>{y([{url:"https://raw.githubusercontent.com/devinit/di-website-data/main/2022/RH_and_FP_Purpose_code_trends_chart_OECD.csv",state:"dataOne"},{url:"https://raw.githubusercontent.com/devinit/di-website-data/main/2022/donor_by_recip_2019.csv",state:"dataTwo"},{url:"https://raw.githubusercontent.com/devinit/di-website-data/main/2022/RH_FP_aid_type_OECD.csv",state:"odaAidType"},{url:"https://raw.githubusercontent.com/devinit/di-website-data/main/2022/RH_FP_channels_OECD.csv",state:"odaChannels"}],{country:"United States"}),O("dicharts--donor-selector"),E("dicharts--table-one"),M("dicharts--chart-one"),z("dicharts--chart-two"),K("dicharts--table-two"),W("dicharts--table-three"),te("dicharts--table-four"),me("dicharts--chart-three")};a(26);const we=["Reproductive health care","Family planning"],fe=[2019,2023],ge=(e,t)=>(e=>{const t={};return e.forEach(e=>{t[e.year]?t[e.year]={...t[e.year],value:(parseFloat(e.value?e.value:0)+parseFloat(t[e.year].value?t[e.year].value:0)).toFixed(3)}:t[e.year]=e}),Object.values(t).map(e=>e.value)})(Object(n.f)(e).filter(e=>e.purpose_name===t&&e.year>=2019&&e.year<=2023).map(e=>({year:e.year,value:e.x_transaction_value_usd_m_Sum}))),be=(e,t)=>we.map(t=>({name:t,type:"bar",stack:"oda",tooltip:{valueFormatter:e=>"US$"+m(e)+" million"},data:ge(e,t)})).map((e,t,a)=>t===a.length-1?{...e,label:{normal:{show:!0,position:"top",formatter:e=>{const t=a.reduce((t,a)=>{const n=a.data[e.dataIndex];return t+parseFloat(n||0)},0);return m(t)},color:"#000000"}}}:e);var ye=e=>{window.DICharts.handler.addChart({className:e,echarts:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();const a=N(e);window.DIState?window.DIState.addListener(()=>{t.showLoading();const n=window.DIState.getState,{countryIati:r,dataOneIati:o}=n;if(r&&o){const n=b(f(o,r||"US","Reporting Organisation Narrative"),we,"purpose_name");((e,t,a)=>{if(!a.length)return R(e,!1),void P(t);R(e),G(t);const n=window.echarts.init(e),r=S(fe),o=x()(k,{legend:{show:!0,selectedMode:!1},xAxis:{type:"category",data:r},yAxis:{type:"value",name:"USD$ millions (current prices)",nameLocation:"middle",nameGap:50},grid:{top:60},series:be(a)});o.color=["#e84439","#f8c1b2"].concat(o.color),n.setOption(o)})(e,a,n),t.hideLoading()}}):(console.log("State is not defined"),t.hideLoading())})}}})};const Se=[2019,2023],ve=(e,t)=>{const a=e.reduce((e,t)=>(e.includes(t["Aid Type Di Name"])||e.push(t["Aid Type Di Name"]),e),[]),n=a.map(a=>j(e,a,t,"Usd Disbursement Deflated Sum","Aid Type Di Name")),r=((e,t)=>{const a=Object.keys(t).map(e=>({[e]:t[e].reduce((e,t)=>e+t,0)}));return e.map(e=>e.map((e,t)=>{const n=parseFloat(e),r=parseFloat(a[t]?a[t][t]:1);return isNaN(n)||isNaN(r)||0===n||0===n?0:n/r*100}))})(n,(e=>{let t={};for(let a=0;a({name:e,type:"bar",stack:"oda",data:r[t]}))},Ie=(e,t)=>{const a=m(((e,t,a)=>{const n=b(e,[t],"Aid Type Di Name");return v(n,a,"Usd Disbursement Deflated Sum")})(e,t.seriesName,[t.name]));return'\n
\n '+t.marker+t.seriesName+':\n \n '+m(Number(t.value,10))+"% - US$"+a+" million\n \n
"},De=(e,t,a)=>{if(!a.length)return R(e,!1),void P(t);R(e),G(t);const n=window.echarts.init(e),r=S(Se),o=x()(k,{legend:{show:!0,selectedMode:!1},tooltip:{trigger:"axis",formatter:e=>e.map(e=>Ie(a,e)).join("")},xAxis:{type:"category",data:r},yAxis:{type:"value",axisLabel:{formatter:"{value}%"},max:100},grid:{top:60},series:ve(a,r)});o.color=["#f8c1b2","#f0826d","#e84439","#bc2629","#8f1b13"].concat(o.color),n.setOption(o,{replaceMerge:["series"]})};var _e=e=>{window.DICharts.handler.addChart({className:e,echarts:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();const a=N(e),n=N(e);let r,o="Reproductive health care";window.DIState?window.DIState.addListener(()=>{t.showLoading();const s=window.DIState.getState,{countryIati:i,dataFourIati:d}=s;if(i&&d){const s=I(b(f(d,i||"US","Donor Name"),[o],"Purpose Name"),"Year");r||(r=C({wrapper:a,options:d.reduce((e,t)=>{const a=t["Purpose Name"];return a&&!e.includes(a)?e.concat(a):e},[]),defaultOption:o,className:"purpose-code-filter",label:"Select purpose code"}),r.addEventListener("change",t=>{o=t.target.value;const{countryIati:a}=window.DIState.getState,r=I(b(f(d,a||"US","Donor Name"),[o],"Purpose Name"),"Year");De(e,n,r)})),De(e,n,s),t.hideLoading()}}):(console.log("State is not defined"),t.hideLoading())})}}})};var Ee=e=>{window.DICharts.handler.addChart({className:e,d3:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();let a=[];const n=N(e);window.DIState?window.DIState.addListener(()=>{t.showLoading();const r=window.DIState.getState,{dataOneIati:o}=r;if(o&&o.length&&!a.length){a=o.reduce((e,t)=>{const a=t["Reporting Organisation Narrative"];return e.includes(a)?e:e.concat(a)},[]).filter(e=>!!e).sort((e,t)=>{var a=e.toUpperCase(),n=t.toUpperCase();return an?1:0}).map(e=>({label:e,value:e}));const r=C({wrapper:n,options:a,defaultOption:"US",className:"country-filter-iati",label:"Select Donor"});window.DIState&&window.DIState.setState({countryIati:"US"}),r.addEventListener("change",e=>{const{value:t}=e.currentTarget;window.DIState.setState({countryIati:t})}),t.hideLoading(),e.parentElement.classList.add("auto-height")}}):console.log("State is not defined")})}}})};var Ne=e=>{window.DICharts.handler.addChart({className:e,d3:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading(),window.DIState?window.DIState.addListener(()=>{t.showLoading();const a=window.DIState.getState,{countryIati:n,dataOneIati:o}=a;if(n&&o){const a=b(f(o,n||"US","Reporting Organisation Narrative"),we,"purpose_name");((e,t,a)=>{const n=S(fe),o=["Purpose code"].concat(n),i=[o].concat(we.map(e=>{const a=b(t,[e],"purpose_name");return o.reduce((t,n,r)=>{if(0===r)return t.concat(e);const o=a.filter(e=>parseFloat(e.year)===n).reduce((e,t)=>e+Number(t.x_transaction_value_usd_m_Sum),0);return t.concat(m(o))},[])}));Object(s.render)(Object(r.createElement)(d,{country:a,rows:i}),e)})(e,a,n||"US"),t.hideLoading(),e.parentElement.classList.add("auto-height")}}):console.log("State is not defined")})}}})};const Le=e=>{const t=function(e,t){return void 0===t&&(t=!1),e.map((e,a)=>o.a.createElement("tr",{key:a},e.map((e,a)=>t?o.a.createElement("th",{key:a},e):o.a.createElement("td",{key:a},e))))};return o.a.createElement(i,null,o.a.createElement("thead",null,t(e.rows.filter((e,t)=>0===t),!0)),o.a.createElement("tbody",null,t(e.rows.filter((e,t)=>t>0))))},Ce=(e,t,a,n)=>{const o=f(t,a||"US","Donor Name"),i=((e,t)=>{const a=[["Aid Type",2023,"% Total"]],n=e.reduce((e,t)=>(e.includes(t["Aid Type Di Name"])||void 0!==t["Aid Type Di Name"]&""!==t["Aid Type Di Name"]&&e.push(t["Aid Type Di Name"]),e),[]),r=t.map(e=>Number(e["Usd Disbursement Deflated Sum"])).reduce((e,t)=>e+t,0),o=n.map(e=>{const a=t.find(t=>t["Aid Type Di Name"]===e),n=a?a["Usd Disbursement Deflated Sum"]:0,o=(m(n/r*100)||0)+"%";return[e].concat(m(n),[o])});return a.concat(o,[["Total",m(r),r?"100%":"0%"]])})(t,(e=>e.filter(e=>2023===Number(e.Year)))(b(o,n,"Purpose Name")));Object(s.render)(Object(r.createElement)(Le,{country:a,rows:i}),e)};var Oe=e=>{window.DICharts.handler.addChart({className:e,d3:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);let a;t.showLoading();let n="US";window.DIState?window.DIState.addListener(()=>{t.showLoading();const r=window.DIState.getState,{countryIati:o,dataFourIati:s}=r;if(n=o,n&&s){const r=(e=>{const t=[];return e.forEach(e=>{t.includes(e["Purpose Name"])||void 0!==e["Purpose Name"]&&t.push(e["Purpose Name"])}),t})(s);let o=r[0];if(!a){const t=N(e);a=C({wrapper:t,options:r,defaultOption:o,className:"purpose-code-filter",label:"Select Purpose Code"}),a.addEventListener("change",t=>{o=t.target.value,Ce(e,s,n||"US",o)})}Ce(e,s,n||"US",o),t.hideLoading(),e.parentElement.classList.add("auto-height")}}):console.log("State is not defined")})}}})};const Ae=[2019,2023],xe=e=>e+".0",Ue=(e,t,a,n)=>{const o=S(Ae),i=["Rank","Recipient"].concat(o),d=e.filter(e=>a===e["Code type"]),c=f(d,t,"Reporting Organisation Narrative"),{sortedData:l,unsortedData:u}=(e=>{let t=[...e];const a=[],n=Ae[1];for(let e=0;e<10;e++)if(t.length>=1){let e=t.reduce((e,t)=>Number(e[xe(n)]){let a=[];return t.forEach(t=>{const n=e.map(e=>parseFloat(Number(e[xe(t)]))||0).reduce((e,t)=>e+t,0);a.push(m(n))}),a})(u,o),h=[i].concat(((e,t)=>{const a=[];for(let n=0;n=1){const r=n+1;a.push([r,e[n].recipient_name].concat(t.map(t=>e[n][xe(t)]?m(e[n][xe(t)],0):0)))}return a})(l,o)).concat([["All other recipients (sum)"].concat(p)]);Object(s.render)(Object(r.createElement)(J,{rows:h}),n)};var ke=e=>{window.DICharts.handler.addChart({className:e,echarts:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();const a=N(e);let n;window.DIState?window.DIState.addListener(()=>{t.showLoading();const r=window.DIState.getState,{countryIati:o,dataTwoIati:s,purposeIati:i}=r;o&&s&&(n||(n=C({wrapper:a,options:s.reduce((e,t)=>{const a=t["Code type"];return e.includes(a)?e:e.concat(a)},[]).filter(e=>!!e).map(e=>({label:e,value:e})),defaultOption:"Reproductive health care and family planning",className:"purpose-code-filter",label:"Select Purpose Code"}),window.DIState.setState({purposeIati:"Reproductive health care and family planning"}),n.addEventListener("change",e=>{window.DIState.setState({purposeIati:e.target.value})})),Ue(s,o,i,e),t.hideLoading(),e.parentElement.classList.add("auto-height"))}):(console.log("State is not defined"),t.hideLoading())})}}})};var Te=()=>{y([{url:"https://raw.githubusercontent.com/devinit/di-website-data/main/2022/IATI-RHFP-data-v1.csv",state:"dataOneIati"},{url:"https://raw.githubusercontent.com/devinit/di-website-data/main/2022/IATI-RHFP-data-v2.csv",state:"dataTwoIati"},{url:"https://raw.githubusercontent.com/devinit/di-website-data/main/2022/iati_rhfp4.csv",state:"dataFourIati"}],{countryIati:"US"}),Ee("dicharts--donor-selector-iati"),Ne("dicharts--table-one-iati"),ye("dicharts--chart-one-iati"),ke("dicharts--table-two-iati"),Oe("dicharts--table-three-iati"),_e("dicharts--chart-two-iati")};window.addEventListener("load",()=>{he(),Te()})}},[[11,1,2]]]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{11:function(e,t,a){e.exports=a(27)},12:function(e,t,a){},13:function(e,t,a){},26:function(e,t,a){},27:function(e,t,a){"use strict";a.r(t);a(12);var n=a(3);window.DIState=new class{constructor(){this.id=Math.random(),this.state={},this.listeners=[],Object(n.d)(this,{state:n.e,setState:n.a,getState:n.c})}setState(e,t){void 0===t&&(t=!0),this.state=t?{...this.state,...e}:e}get getState(){return this.state}addListener(e){return this.listeners=this.listeners.concat(Object(n.b)(e)),this.listeners.length-1}removeListener(e){eo.a.createElement("div",{className:"table-styled"},o.a.createElement("table",null,e.children));const d=e=>{const t=function(e,t){return void 0===t&&(t=!1),e.map((e,a)=>o.a.createElement("tr",{key:a},e.map((e,a)=>t?o.a.createElement("th",{key:a},e):o.a.createElement("td",{key:a},e))))};return o.a.createElement(i,null,o.a.createElement("thead",null,t(e.rows.filter((e,t)=>0===t),!0)),o.a.createElement("tbody",null,t(e.rows.filter((e,t)=>t>0))))},c=["Reproductive health care","Family planning"],l=[2013,2022],u=[2018,2022];var p=a(9);const m=function(e,t){void 0===t&&(t="");const a=Number(e);return isNaN(a)?t:new Intl.NumberFormat("en-IN",{maximumFractionDigits:2}).format(a)},h=(e,t)=>e.map(e=>({...e,[t]:e[t]?Number(e[t]):"NA"})),w=e=>new Promise(t=>{Object(p.parse)(e,{download:!0,header:!0,complete:e=>{let{data:a}=e;return t(a)}})}),f=(e,t,a)=>e.filter(e=>e[a]===t),g=(e,t,a)=>e.filter(e=>e[a]===t),b=(e,t,a)=>e.filter(e=>t.includes(e[a])),y=(e,t)=>{window.DIState&&e.length?(t&&window.DIState.setState(t),e.forEach(e=>{let{url:t,state:a}=e;w(t).then(e=>{window.DIState.setState({[a]:e||[]})})})):console.log("State is not defined")},S=e=>{const t=e[1]-e[0]+1,a=[];for(const e of Array(t).keys())a.push(e);return a.map(t=>e[0]+t)},v=(e,t,a)=>t.reduce((t,n)=>{const r=e.filter(e=>""+e.year==""+n).reduce((e,t)=>e+Number(t[a]||0),0);return t.concat(r)},[]),I=(e,t)=>e.map(e=>({...e,year:Number(e[t])}));var D=w;const _=(e,t,a)=>{const n=S(l),o=["Purpose code"].concat(n),i=c.map(e=>{const a=b(t,[e],"purpose_name");return[e].concat(((e,t,a)=>t.map(t=>{const n=e.find(e=>""+e.year==""+t);return n?Number(n[a])||"":0}))(a,n,"usd_disbursement_deflated_Sum"))}),u=o.map((e,t)=>0===t?"Total":m(i.reduce((e,a)=>"number"==typeof a[t]?e+a[t]:e,0))),p=i.map(e=>e.map(e=>"number"==typeof e?m(e):e)),h=[o].concat(p,[u]);Object(s.render)(Object(r.createElement)(d,{country:a,rows:h}),e)};var E=e=>{window.DICharts.handler.addChart({className:e,d3:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();window.DIState?window.DIState.addListener(()=>{t.showLoading();const a=window.DIState.getState,{country:n,dataOne:r}=a;if(n&&r){const a=b(g(r,n||"United States","donor_name"),c,"purpose_name");_(e,a,n||"United States"),t.hideLoading(),e.parentElement.classList.add("auto-height")}}):console.log("State is not defined")})}}})};const N=e=>{const t=document.createElement("div");return t.classList.add("spotlight-banner","data-selector--wrapper"),e.parentElement.insertBefore(t,e),t},L=(e,t)=>{const a=document.createElement("option");a.value="string"==typeof t?t:t.value,a.text="string"==typeof t?t:t.label,e.appendChild(a)},C=e=>{let{wrapper:t,options:a,defaultOption:n,allItemsLabel:r,className:o,label:s}=e;const i=document.createElement("select");if(i.classList.add("data-selector","js-plotly-chart-data-selector",o),r&&L(i,{label:r,value:"*"}),a.forEach(e=>L(i,e)),i.classList.add("data-selector--active"),n&&(i.value=n),s){const e=document.createElement("label");e.innerHTML=s;const a=document.createElement("div");a.classList.add("labelled-data-selector--wrapper"),a.appendChild(e),a.appendChild(i),t.appendChild(a)}else t.appendChild(i);return i};var O=e=>{window.DICharts.handler.addChart({className:e,d3:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();D("https://raw.githubusercontent.com/devinit/di-website-data/main/2024/rh-and-fp-dropdowns.csv").then(a=>{const n=N(e),r=C({wrapper:n,options:a.map(e=>e.Donors),defaultOption:"United States",className:"country-filter",label:"Select donor"});window.DIState&&window.DIState.setState({country:"United States"}),r.addEventListener("change",e=>{const{value:t}=e.currentTarget;window.DIState&&window.DIState.setState({country:t})}),t.hideLoading(),e.parentElement.classList.add("auto-height")})})}}})},A=a(2),x=a.n(A);const U={rainbow:["#e84439","#eb642b","#f49b21","#109e68","#0089cc","#893f90","#c2135b","#f8c1b2","#f6bb9d","#fccc8e","#92cba9","#88bae5","#c189bb","#e4819b"],default:["#6c120a","#a21e25","#cd2b2a","#dc372d","#ec6250","#f6b0a0","#fbd7cb","#fce3dc"],sunflower:["#7d4712","#ba6b15","#df8000","#f7a838","#fac47e","#fedcab","#fee7c1","#feedd4"],marigold:["#7a2e05","#ac4622","#cb5730","#ee7644","#f4a57c","#facbad","#fcdbbf","#fde5d4"],rose:["#65093d","#8d0e56","#9f1459","#d12568","#e05c86","#f3a5b6","#f6b8c1","#f9cdd0"],lavendar:["#42184c","#632572","#732c85","#994d98","#af73ae","#cb98c4","#deb5d6","#ebcfe5"],bluebell:["#0a3a64","#00538e","#1060a3","#4397d3","#77adde","#a3c7eb","#bcd4f0","#d3e0f4"],leaf:["#08492f","#005b3e","#00694a","#3b8c62","#74bf93","#a2d1b0","#b1d8bb","#c5e1cb"]};var k={legend:{top:10,textStyle:{fontFamily:"Geomanist Regular,sans-serif"}},tooltip:{trigger:"axis",textStyle:{fontFamily:"Geomanist Regular,sans-serif"},axisPointer:{type:"none"}},toolbox:{showTitle:!1,feature:{saveAsImage:{show:!1,title:"Save as image",pixelRatio:2}},right:20,tooltip:{show:!0,textStyle:{fontFamily:"Geomanist Regular,sans-serif",formatter:e=>"
"+e.title+"
"}}},color:U.rainbow,xAxis:{axisLabel:{fontFamily:"Geomanist Regular,sans-serif",fontSize:13},splitLine:{show:!1}},yAxis:{axisLabel:{fontFamily:"Geomanist Regular,sans-serif",fontSize:13},splitLine:{show:!1}},axisPointer:{type:"none"},grid:{top:10}},T=o.a.createElement("div",{className:"no-data"},"No Data");var F=()=>T;const j=(e,t,a,n,r)=>{const o=b(e,[t],r);return v(o,a,n)},R=function(e,t){void 0===t&&(t=!0),t?e.classList.remove("invisible"):e.classList.add("invisible")},P=e=>{e.classList.add("no-data--wrapper"),Object(s.unmountComponentAtNode)(e),Object(s.render)(Object(r.createElement)(F),e)},G=e=>{e.classList.remove("no-data--wrapper"),Object(s.unmountComponentAtNode)(e)},$=(e,t)=>c.map(a=>({name:a,type:"bar",stack:"oda",tooltip:{valueFormatter:e=>"US$"+m(e)+" million"},data:j(e,a,t,"usd_disbursement_deflated_Sum","purpose_name")})).map((e,t,a)=>t===a.length-1?{...e,label:{normal:{show:!0,position:"top",fontFamily:"Geomanist Regular,sans-serif",formatter:e=>{const t=a.reduce((t,a)=>{const n=a.data[e.dataIndex];return t+parseFloat(n||0)},0);return m(t)},color:"#000000"}}}:e);var M=e=>{window.DICharts.handler.addChart({className:e,echarts:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();const a=N(e);window.DIState?window.DIState.addListener(()=>{t.showLoading();const n=window.DIState.getState,{country:r,dataOne:o}=n;if(r&&o){const n=b(g(o,r||"United States","donor_name"),c,"purpose_name");((e,t,a)=>{if(!a.length)return R(e,!1),void P(t);R(e),G(t);const n=window.echarts.init(e),r=S(l),o=x()(k,{legend:{show:!0,selectedMode:!1},xAxis:{type:"category",data:r},yAxis:{type:"value",name:"US$ millions (constant ".concat(r[r.length-1]," prices)"),nameLocation:"middle",nameGap:50},grid:{top:60},series:$(a,r)});o.color=["#e84439","#f8c1b2"].concat(o.color),n.setOption(o)})(e,a,n),t.hideLoading()}}):(console.log("State is not defined"),t.hideLoading())})}}})};const H=(e,t)=>{const a=e.reduce((e,t)=>(e.includes(t.aid_type_di_name)||e.push(t.aid_type_di_name),e),[]),n=a.map(a=>j(e,a,t,"usd_disbursement_deflated_Sum","aid_type_di_name")),r=((e,t)=>{const a=Object.keys(t).map(e=>({[e]:t[e].reduce((e,t)=>e+t,0)}));return e.map(e=>e.map((e,t)=>{const n=parseFloat(e),r=parseFloat(a[t]?a[t][t]:1);return isNaN(n)||isNaN(r)||0===n||0===n?0:n/r*100}))})(n,(e=>{let t={};for(let a=0;a({name:e,type:"bar",stack:"oda",data:r[t]}))},B=(e,t)=>{const a=m(((e,t,a)=>{const n=b(e,[t],"aid_type_di_name");return v(n,a,"usd_disbursement_deflated_Sum")})(e,t.seriesName,[t.name]));return'\n
\n '+t.marker+t.seriesName+':\n \n '+m(Number(t.value,10))+"% - US$"+a+" million\n \n
"},Y=(e,t,a)=>{if(!a.length)return R(e,!1),void P(t);R(e),G(t);const n=window.echarts.init(e),r=S(u),o=x()(k,{legend:{show:!0,selectedMode:!1},tooltip:{trigger:"axis",formatter:e=>e.map(e=>B(a,e)).join("")},xAxis:{type:"category",data:r},yAxis:{type:"value",axisLabel:{formatter:"{value}%"},max:100},grid:{top:60},series:H(a,r)});o.color=["#f8c1b2","#f0826d","#bc2629","#8f1b13"].concat(o.color),n.setOption(o,{replaceMerge:["series"]})};var z=e=>{window.DICharts.handler.addChart({className:e,echarts:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();const a=N(e),n=N(e);let r,o="Reproductive health care";window.DIState?window.DIState.addListener(()=>{t.showLoading();const s=window.DIState.getState,{country:i,odaAidType:d}=s;if(i&&d){const s=b(g(d,i||"United States","donor_name"),[o],"purpose_name");r||(r=C({wrapper:a,options:d.reduce((e,t)=>{const a=t.purpose_name;return a&&!e.includes(a)?e.concat(a):e},[]),defaultOption:o,className:"purpose-code-filter",label:"Select purpose code"}),r.addEventListener("change",t=>{o=t.target.value;const{country:a}=window.DIState.getState,r=b(g(d,a||"United States","donor_name"),[o],"purpose_name");Y(e,n,r)})),Y(e,n,s),t.hideLoading()}}):(console.log("State is not defined"),t.hideLoading())})}}})};const J=e=>{const t=function(e,t){return void 0===t&&(t=!1),e.map((a,n)=>o.a.createElement("tr",{key:n},a.map((a,r)=>t?o.a.createElement("th",{key:r},a):n===e.length-1&&0===r?o.a.createElement("td",{colSpan:2,key:r},a):o.a.createElement("td",{key:r},a))))};return o.a.createElement(i,null,o.a.createElement("thead",null,t(e.rows.filter((e,t)=>0===t),!0)),o.a.createElement("tbody",null,t(e.rows.filter((e,t)=>t>0))))},q=(e,t,a,n)=>{const o=[2018,2022],i=o[1]-o[0]+1,d=[];for(const e of Array(i).keys())d.push(e);const c=["Rank","Recipient"].concat(d.map(e=>o[0]+e)),l=e.filter(e=>a===e["Code type"]),u=g(l,t,"donor_name"),{sortedData:p,unsortedData:h}=(e=>{let t=[...e];const a=[];if(e.length<10)for(let n=0;n=1){let e=t.reduce((e,t)=>Number(e[2022])=1){let e=t.reduce((e,t)=>Number(e[2022])t.map(t=>{const a=e.map(e=>Number(e[t])).reduce((e,t)=>e+t,0);return m(a,0)}))(h,d.map(e=>(o[0]+e).toString())),f=[c].concat((e=>{const t=[];if(e.length<10){if(0===e.length)return t;for(let a=0;a=1&&t.push([a+1,e[a].recipient_name,m(Number(e[a][2018]),0),m(Number(e[a][2019]),0),m(Number(e[a][2020]),0),m(Number(e[a][2021]),0),m(Number(e[a][2022]),0)]);return t}for(let a=0;a<10;a++)e.length>=1&&t.push([a+1,e[a].recipient_name,m(Number(e[a][2018]),0),m(Number(e[a][2019]),0),m(Number(e[a][2020]),0),m(Number(e[a][2021]),0),m(Number(e[a][2012]),0)]);return t})(p)).concat([["Total of all other recipients"].concat(w)]);Object(s.render)(Object(r.createElement)(J,{rows:f}),n)};var K=e=>{window.DICharts.handler.addChart({className:e,echarts:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();const a=N(e);let n,r="Reproductive health care and family planning",o="United States";window.DIState?window.DIState.addListener(()=>{t.showLoading();const s=window.DIState.getState,{country:i,dataTwo:d}=s;o=i,o&&d&&(n||(n=C({wrapper:a,options:d.reduce((e,t)=>{const a=t["Code type"];return a&&!e.includes(a)?e.concat(a):e},[]),defaultOption:r,className:"purpose-code-filter",label:"Select purpose code"}),n.addEventListener("change",t=>{r=t.target.value,q(d,o,r,e)})),q(d,o,r,e),t.hideLoading(),e.parentElement.classList.add("auto-height"))}):(console.log("State is not defined"),t.hideLoading())})}}})};const Q=e=>{const t=function(e,t){return void 0===t&&(t=!1),e.map((e,a)=>o.a.createElement("tr",{key:a},e.map((e,a)=>t?o.a.createElement("th",{key:a},e):o.a.createElement("td",{key:a},e))))};return o.a.createElement(i,null,o.a.createElement("thead",null,t(e.rows.filter((e,t)=>0===t),!0)),o.a.createElement("tbody",null,t(e.rows.filter((e,t)=>t>0))))},V=(e,t,a,n)=>{const o=g(t,a||"United States","donor_name"),i=((e,t)=>{const a=[["Aid Type",2022,"% Total"]],n=e.reduce((e,t)=>{const a=t.aid_type_di_name;return a&&!e.includes(a)&&e.push(a),e},[]),r=t.map(e=>Number(e.usd_disbursement_deflated_Sum)).reduce((e,t)=>e+t,0),o=n.map(e=>{const a=t.find(t=>t.aid_type_di_name===e),n=a?a.usd_disbursement_deflated_Sum:0,o=0!==n?(m(n/r*100)||0)+"%":0;return[e].concat(m(n,0),[o])});return a.concat(o,[["Total",m(r,0),r?"100%":"0%"]])})(t,(e=>e.filter(e=>""+e.year=="2022"))(b(o,n,"purpose_name")));Object(s.render)(Object(r.createElement)(Q,{country:a,rows:i}),e)};var W=e=>{window.DICharts.handler.addChart({className:e,d3:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);let a;t.showLoading();let n="United States";window.DIState?window.DIState.addListener(()=>{t.showLoading();const r=window.DIState.getState,{country:o,odaAidType:s}=r;if(n=o,n&&s){const r=function(e,t){void 0===t&&(t="purpose_name");const a=[];return e.forEach(e=>{e[t]&&!a.includes(e[t])&&a.push(e[t])}),a}(s);let o=r[0];if(!a){const t=N(e);a=C({wrapper:t,options:r,defaultOption:o,className:"purpose-code-filter",label:"Select purpose code"}),a.addEventListener("change",t=>{o=t.target.value,V(e,s,n||"United States",o)})}V(e,s,n||"United States",o),t.hideLoading(),e.parentElement.classList.add("auto-height")}}):console.log("State is not defined")})}}})};var X=e=>{const t=function(e,t){return void 0===t&&(t=!1),e.map((e,a)=>o.a.createElement("tr",{key:a},e.map((e,a)=>t?o.a.createElement("th",{key:a},e):o.a.createElement("td",{key:a},e))))};return o.a.createElement(i,null,o.a.createElement("thead",null,t(e.rows.filter((e,t)=>0===t),!0)),o.a.createElement("tbody",null,t(e.rows.filter((e,t)=>t>0))))};const Z={"University, College Or Other Teaching Institution, Research Institute Or Think?Tank":"University, other teaching institution, research institute or think-tank"},ee=(e,t,a)=>{const n=["Channel"].concat(2022,"% Total"),o=(e=>{const t=Object.keys(e).reduce((t,a)=>t+Number(e[a]||0),0);return Object.keys(e).map(a=>[Z[a]||a,m(e[a]),(m(e[a]/t*100||0)||0)+"%"]).concat([["Total",m(t),t?"100%":"0%"]])})((e=>e.reduce((e,t)=>({...e,[t.oecd_aggregated_channel]:parseFloat(e[t.oecd_aggregated_channel]||0)+parseFloat(t.usd_disbursement_deflated_Sum||0)}),{}))(t)),i=[n].concat(o);Object(s.render)(Object(r.createElement)(X,{country:a,rows:i}),e)};var te=e=>{window.DICharts.handler.addChart({className:e,d3:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();const a=N(e);let n,r="United States";window.DIState?window.DIState.addListener(()=>{t.showLoading();const o=window.DIState.getState,{country:s,odaChannels:i,purpose:d}=o;if(r=s,r&&i){const s=(e=>e.reduce((e,t)=>t.purpose_name&&!e.includes(t.purpose_name)?e.concat(t.purpose_name):e,[]))(i),c=b(g(i,r||"United States","donor_name"),d||s[0],"purpose_name");n||(n=C({wrapper:a,options:s,defaultOption:s[0],className:"purpose-code-filter",label:"Select purpose code"}),o&&window.DIState.setState({purpose:s[0]}),n.addEventListener("change",e=>{window.DIState.setState({purpose:e.target.value})})),ee(e,c,r||"United States"),t.hideLoading(),e.parentElement.classList.add("auto-height")}}):console.log("State is not defined")})}}})},ae=a(10),ne=a.n(ae),re=a(6),oe=a.n(re);const se=e=>{let{data:t,position:a}=e;return o.a.createElement("div",{className:oe()("custom-legend",{right:"right"===a})},t.map((e,t)=>o.a.createElement("div",{className:oe()("legend-item",{label:e.label}),key:""+t},!e.label&&e.colour?o.a.createElement("span",{className:"badge",style:{backgroundColor:e.colour}}):null,o.a.createElement("span",{className:"text"},e.caption))))};se.defaultProps={data:[]};var ie=se;const de={"University, College Or Other Teaching Institution, Research Institute Or Think?Tank":"University, other teaching institution, research institute or think-tank"},ce=function(e,t,a){void 0===a&&(a="right"),Object(s.render)(Object(r.createElement)(ie,{data:t,position:a}),e)},le=(e,t,a,n,r)=>{n.push({caption:"Breakdown",label:!0}),n=n.concat(ue(t,a,r)),ce(e,n)},ue=(e,t,a)=>e.children.sort((e,t)=>e.value-t.value).reverse().map(e=>{if(e.value){const n=m(e.value/t.value*100),r=ne()(a).lighten(.2);return{caption:e.name+" | US$"+m(e.value)+" million - "+n+"%",colour:r.hex()}}return{caption:e.name,colour:"#333"}}),pe=(e,t,a,n,r)=>{((e,t,a)=>{if(!t.length)return e.classList.add("invisible"),void P(a);e.classList.remove("invisible"),G(a);const n=window.echarts.init(e),r=U.rainbow,o=t.map((e,t)=>({caption:e.name,colour:r[t]})),s=()=>ce(a,o),i={tooltip:{show:!0,trigger:"item",formatter:e=>{if(!e.name)return"Go Back";if(e.treePathInfo.length>1){const t=e.treePathInfo[e.treePathInfo.length-2],a=m(e.value/t.value*100);return e.name+" | US$"+m(e.value)+" million - "+a+"%"}return e.name+" | US$"+m(e.value)+" million"}},xAxis:{show:!1},yAxis:{show:!1},series:{type:"sunburst",nodeClick:!1,emphasis:{focus:"descendant"},sort:void 0,data:t.map((e,t)=>(e.itemStyle={color:r[t]},e)),radius:["20%","100%"],label:{show:!1},levels:[{itemStyle:{color:"#333",opacity:.7},r:120},{r:145},{radius:[150,170]}]},toolbox:{showTitle:!1,feature:{saveAsImage:{show:!1}}}};n.setOption({...x()(k,i),color:r}),s(),n.on("mouseover",(function(e){if(!e.name)return;let n=o.filter(t=>e.treePathInfo.find(e=>e.name===t.caption));if(e.treePathInfo.length>1){const r=t.find(t=>t.name===e.name);if(r&&r.children)return void le(a,r,e,n,e.color);const o=e.treePathInfo[e.treePathInfo.length-2],s=t.find(e=>e.name===o.name);s&&s.children?le(a,s,o,n,n[0].colour):ce(a,n)}})),n.on("mouseout",(function(){s()}))})(e,((e,t)=>{const a=e.map(e=>({...e,[t.parent]:de[e[t.parent]]||e[t.parent],[t.child]:de[e[t.child]]||e[t.child]}));return a.map(e=>e[t.value]?{...e,[t.value]:m(e[t.value])}:e).reduce((e,a)=>e.includes(a[t.parent])?e:e.concat(a[t.parent]),[]).map(e=>((e,t,a,n)=>{const r={name:t},o=e.filter(e=>e[a.parent]===("string"==typeof t?t:t[a.parent]));if(o.length)r.children=o.map(e=>({name:e[a.child],value:e[a.value]}));else if("string"==typeof t){const n=e.find(e=>e[a.parent]===t);r.value=n[a.value]}else r.value=t[a.value];return n&&(r.itemStyle={color:n}),r})(a,e,t))})(b(g(t,a||"United States","donor_name"),n,"purpose_name"),{parent:"oecd_aggregated_channel",child:"oecd_channel_parent_name",value:"usd_disbursement_deflated_Sum"}),r)};var me=e=>{window.DICharts.handler.addChart({className:e,d3:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement),a=N(e);let n,r,o="United States";if(!window.DIState)return void console.log("State is not defined");const s=N(e);window.DIState.addListener(()=>{t.showLoading();const i=window.DIState.getState,{country:d,odaChannels:c}=i;if(o=d,o&&c){if(!n){const t=((e,t)=>e.reduce((e,a)=>{const n=a[t];return n&&!e.includes(n)?e.concat(n):e},[]))(c,"purpose_name");r=t[0],n=C({wrapper:a,options:t,defaultOption:r,className:"purpose-code-filter",label:"Select purpose code"}),n.addEventListener("change",t=>{r=t.target.value,pe(e,h(c,"usd_disbursement_deflated_Sum"),o,r,s)})}pe(e,h(c,"usd_disbursement_deflated_Sum"),o,r,s),t.hideLoading(),e.parentElement.classList.add("auto-height")}})})}}})};var he=()=>{y([{url:"https://raw.githubusercontent.com/devinit/di-website-data/main/2024/RH_and_FP_Purpose_code_trends_chart_OECD.csv",state:"dataOne"},{url:"https://raw.githubusercontent.com/devinit/di-website-data/main/2024/donor_by_recip_2019.csv",state:"dataTwo"},{url:"https://raw.githubusercontent.com/devinit/di-website-data/main/2024/RH_FP_aid_type_OECD.csv",state:"odaAidType"},{url:"https://raw.githubusercontent.com/devinit/di-website-data/main/2024/RH_FP_channels_OECD.csv",state:"odaChannels"}],{country:"United States"}),O("dicharts--donor-selector"),E("dicharts--table-one"),M("dicharts--chart-one"),z("dicharts--chart-two"),K("dicharts--table-two"),W("dicharts--table-three"),te("dicharts--table-four"),me("dicharts--chart-three")};a(26);const we=["Reproductive health care","Family planning"],fe=[2019,2023],ge=(e,t)=>(e=>{const t={};return e.forEach(e=>{t[e.year]?t[e.year]={...t[e.year],value:(parseFloat(e.value?e.value:0)+parseFloat(t[e.year].value?t[e.year].value:0)).toFixed(3)}:t[e.year]=e}),Object.values(t).map(e=>e.value)})(Object(n.f)(e).filter(e=>e.purpose_name===t&&e.year>=2019&&e.year<=2023).map(e=>({year:e.year,value:e.x_transaction_value_usd_m_Sum}))),be=(e,t)=>we.map(t=>({name:t,type:"bar",stack:"oda",tooltip:{valueFormatter:e=>"US$"+m(e)+" million"},data:ge(e,t)})).map((e,t,a)=>t===a.length-1?{...e,label:{normal:{show:!0,position:"top",formatter:e=>{const t=a.reduce((t,a)=>{const n=a.data[e.dataIndex];return t+parseFloat(n||0)},0);return m(t)},color:"#000000"}}}:e);var ye=e=>{window.DICharts.handler.addChart({className:e,echarts:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();const a=N(e);window.DIState?window.DIState.addListener(()=>{t.showLoading();const n=window.DIState.getState,{countryIati:r,dataOneIati:o}=n;if(r&&o){const n=b(f(o,r||"US","Reporting Organisation Narrative"),we,"purpose_name");((e,t,a)=>{if(!a.length)return R(e,!1),void P(t);R(e),G(t);const n=window.echarts.init(e),r=S(fe),o=x()(k,{legend:{show:!0,selectedMode:!1},xAxis:{type:"category",data:r},yAxis:{type:"value",name:"USD$ millions (current prices)",nameLocation:"middle",nameGap:50},grid:{top:60},series:be(a)});o.color=["#e84439","#f8c1b2"].concat(o.color),n.setOption(o)})(e,a,n),t.hideLoading()}}):(console.log("State is not defined"),t.hideLoading())})}}})};const Se=[2019,2023],ve=(e,t)=>{const a=e.reduce((e,t)=>(e.includes(t["Aid Type Di Name"])||e.push(t["Aid Type Di Name"]),e),[]),n=a.map(a=>j(e,a,t,"Usd Disbursement Deflated Sum","Aid Type Di Name")),r=((e,t)=>{const a=Object.keys(t).map(e=>({[e]:t[e].reduce((e,t)=>e+t,0)}));return e.map(e=>e.map((e,t)=>{const n=parseFloat(e),r=parseFloat(a[t]?a[t][t]:1);return isNaN(n)||isNaN(r)||0===n||0===n?0:n/r*100}))})(n,(e=>{let t={};for(let a=0;a({name:e,type:"bar",stack:"oda",data:r[t]}))},Ie=(e,t)=>{const a=m(((e,t,a)=>{const n=b(e,[t],"Aid Type Di Name");return v(n,a,"Usd Disbursement Deflated Sum")})(e,t.seriesName,[t.name]));return'\n
\n '+t.marker+t.seriesName+':\n \n '+m(Number(t.value,10))+"% - US$"+a+" million\n \n
"},De=(e,t,a)=>{if(!a.length)return R(e,!1),void P(t);R(e),G(t);const n=window.echarts.init(e),r=S(Se),o=x()(k,{legend:{show:!0,selectedMode:!1},tooltip:{trigger:"axis",formatter:e=>e.map(e=>Ie(a,e)).join("")},xAxis:{type:"category",data:r},yAxis:{type:"value",axisLabel:{formatter:"{value}%"},max:100},grid:{top:60},series:ve(a,r)});o.color=["#f8c1b2","#f0826d","#e84439","#bc2629","#8f1b13"].concat(o.color),n.setOption(o,{replaceMerge:["series"]})};var _e=e=>{window.DICharts.handler.addChart({className:e,echarts:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();const a=N(e),n=N(e);let r,o="Reproductive health care";window.DIState?window.DIState.addListener(()=>{t.showLoading();const s=window.DIState.getState,{countryIati:i,dataFourIati:d}=s;if(i&&d){const s=I(b(f(d,i||"US","Donor Name"),[o],"Purpose Name"),"Year");r||(r=C({wrapper:a,options:d.reduce((e,t)=>{const a=t["Purpose Name"];return a&&!e.includes(a)?e.concat(a):e},[]),defaultOption:o,className:"purpose-code-filter",label:"Select purpose code"}),r.addEventListener("change",t=>{o=t.target.value;const{countryIati:a}=window.DIState.getState,r=I(b(f(d,a||"US","Donor Name"),[o],"Purpose Name"),"Year");De(e,n,r)})),De(e,n,s),t.hideLoading()}}):(console.log("State is not defined"),t.hideLoading())})}}})};var Ee=e=>{window.DICharts.handler.addChart({className:e,d3:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();let a=[];const n=N(e);window.DIState?window.DIState.addListener(()=>{t.showLoading();const r=window.DIState.getState,{dataOneIati:o}=r;if(o&&o.length&&!a.length){a=o.reduce((e,t)=>{const a=t["Reporting Organisation Narrative"];return e.includes(a)?e:e.concat(a)},[]).filter(e=>!!e).sort((e,t)=>{var a=e.toUpperCase(),n=t.toUpperCase();return an?1:0}).map(e=>({label:e,value:e}));const r=C({wrapper:n,options:a,defaultOption:"US",className:"country-filter-iati",label:"Select Donor"});window.DIState&&window.DIState.setState({countryIati:"US"}),r.addEventListener("change",e=>{const{value:t}=e.currentTarget;window.DIState.setState({countryIati:t})}),t.hideLoading(),e.parentElement.classList.add("auto-height")}}):console.log("State is not defined")})}}})};var Ne=e=>{window.DICharts.handler.addChart({className:e,d3:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading(),window.DIState?window.DIState.addListener(()=>{t.showLoading();const a=window.DIState.getState,{countryIati:n,dataOneIati:o}=a;if(n&&o){const a=b(f(o,n||"US","Reporting Organisation Narrative"),we,"purpose_name");((e,t,a)=>{const n=S(fe),o=["Purpose code"].concat(n),i=[o].concat(we.map(e=>{const a=b(t,[e],"purpose_name");return o.reduce((t,n,r)=>{if(0===r)return t.concat(e);const o=a.filter(e=>parseFloat(e.year)===n).reduce((e,t)=>e+Number(t.x_transaction_value_usd_m_Sum),0);return t.concat(m(o))},[])}));Object(s.render)(Object(r.createElement)(d,{country:a,rows:i}),e)})(e,a,n||"US"),t.hideLoading(),e.parentElement.classList.add("auto-height")}}):console.log("State is not defined")})}}})};const Le=e=>{const t=function(e,t){return void 0===t&&(t=!1),e.map((e,a)=>o.a.createElement("tr",{key:a},e.map((e,a)=>t?o.a.createElement("th",{key:a},e):o.a.createElement("td",{key:a},e))))};return o.a.createElement(i,null,o.a.createElement("thead",null,t(e.rows.filter((e,t)=>0===t),!0)),o.a.createElement("tbody",null,t(e.rows.filter((e,t)=>t>0))))},Ce=(e,t,a,n)=>{const o=f(t,a||"US","Donor Name"),i=((e,t)=>{const a=[["Aid Type",2023,"% Total"]],n=e.reduce((e,t)=>(e.includes(t["Aid Type Di Name"])||void 0!==t["Aid Type Di Name"]&""!==t["Aid Type Di Name"]&&e.push(t["Aid Type Di Name"]),e),[]),r=t.map(e=>Number(e["Usd Disbursement Deflated Sum"])).reduce((e,t)=>e+t,0),o=n.map(e=>{const a=t.find(t=>t["Aid Type Di Name"]===e),n=a?a["Usd Disbursement Deflated Sum"]:0,o=(m(n/r*100)||0)+"%";return[e].concat(m(n),[o])});return a.concat(o,[["Total",m(r),r?"100%":"0%"]])})(t,(e=>e.filter(e=>2023===Number(e.Year)))(b(o,n,"Purpose Name")));Object(s.render)(Object(r.createElement)(Le,{country:a,rows:i}),e)};var Oe=e=>{window.DICharts.handler.addChart({className:e,d3:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);let a;t.showLoading();let n="US";window.DIState?window.DIState.addListener(()=>{t.showLoading();const r=window.DIState.getState,{countryIati:o,dataFourIati:s}=r;if(n=o,n&&s){const r=(e=>{const t=[];return e.forEach(e=>{t.includes(e["Purpose Name"])||void 0!==e["Purpose Name"]&&t.push(e["Purpose Name"])}),t})(s);let o=r[0];if(!a){const t=N(e);a=C({wrapper:t,options:r,defaultOption:o,className:"purpose-code-filter",label:"Select Purpose Code"}),a.addEventListener("change",t=>{o=t.target.value,Ce(e,s,n||"US",o)})}Ce(e,s,n||"US",o),t.hideLoading(),e.parentElement.classList.add("auto-height")}}):console.log("State is not defined")})}}})};const Ae=[2019,2023],xe=e=>e+".0",Ue=(e,t,a,n)=>{const o=S(Ae),i=["Rank","Recipient"].concat(o),d=e.filter(e=>a===e["Code type"]),c=f(d,t,"Reporting Organisation Narrative"),{sortedData:l,unsortedData:u}=(e=>{let t=[...e];const a=[],n=Ae[1];for(let e=0;e<10;e++)if(t.length>=1){let e=t.reduce((e,t)=>Number(e[xe(n)]){let a=[];return t.forEach(t=>{const n=e.map(e=>parseFloat(Number(e[xe(t)]))||0).reduce((e,t)=>e+t,0);a.push(m(n))}),a})(u,o),h=[i].concat(((e,t)=>{const a=[];for(let n=0;n=1){const r=n+1;a.push([r,e[n].recipient_name].concat(t.map(t=>e[n][xe(t)]?m(e[n][xe(t)],0):0)))}return a})(l,o)).concat([["All other recipients (sum)"].concat(p)]);Object(s.render)(Object(r.createElement)(J,{rows:h}),n)};var ke=e=>{window.DICharts.handler.addChart({className:e,echarts:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();const a=N(e);let n;window.DIState?window.DIState.addListener(()=>{t.showLoading();const r=window.DIState.getState,{countryIati:o,dataTwoIati:s,purposeIati:i}=r;o&&s&&(n||(n=C({wrapper:a,options:s.reduce((e,t)=>{const a=t["Code type"];return e.includes(a)?e:e.concat(a)},[]).filter(e=>!!e).map(e=>({label:e,value:e})),defaultOption:"Reproductive health care and family planning",className:"purpose-code-filter",label:"Select Purpose Code"}),window.DIState.setState({purposeIati:"Reproductive health care and family planning"}),n.addEventListener("change",e=>{window.DIState.setState({purposeIati:e.target.value})})),Ue(s,o,i,e),t.hideLoading(),e.parentElement.classList.add("auto-height"))}):(console.log("State is not defined"),t.hideLoading())})}}})};var Te=()=>{y([{url:"https://raw.githubusercontent.com/devinit/di-website-data/main/2022/IATI-RHFP-data-v1.csv",state:"dataOneIati"},{url:"https://raw.githubusercontent.com/devinit/di-website-data/main/2022/IATI-RHFP-data-v2.csv",state:"dataTwoIati"},{url:"https://raw.githubusercontent.com/devinit/di-website-data/main/2022/iati_rhfp4.csv",state:"dataFourIati"}],{countryIati:"US"}),Ee("dicharts--donor-selector-iati"),Ne("dicharts--table-one-iati"),ye("dicharts--chart-one-iati"),ke("dicharts--table-two-iati"),Oe("dicharts--table-three-iati"),_e("dicharts--chart-two-iati")};window.addEventListener("load",()=>{he(),Te()})}},[[11,1,2]]]); \ No newline at end of file From 4d5ed6cf13bb0d96a165843df5cdf1ffe00290ad Mon Sep 17 00:00:00 2001 From: akmiller01 Date: Wed, 13 Mar 2024 10:35:09 -0400 Subject: [PATCH 4/5] Fix typo --- src/core/oecd/TableTwo.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/oecd/TableTwo.js b/src/core/oecd/TableTwo.js index c639d43b..0896a8e6 100644 --- a/src/core/oecd/TableTwo.js +++ b/src/core/oecd/TableTwo.js @@ -75,7 +75,7 @@ const sortedDataRows = (data) => { formatNumber(Number(data[i]['2019']), NO_DATA), formatNumber(Number(data[i]['2020']), NO_DATA), formatNumber(Number(data[i]['2021']), NO_DATA), - formatNumber(Number(data[i]['2012']), NO_DATA), + formatNumber(Number(data[i]['2022']), NO_DATA), ]); } } From 09763d0ca2420800154297e11184bfa7ca61a9d0 Mon Sep 17 00:00:00 2001 From: akmiller01 Date: Wed, 13 Mar 2024 10:36:13 -0400 Subject: [PATCH 5/5] Gulp --- assets/core.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/core.js b/assets/core.js index d43f1852..ad4ce05a 100644 --- a/assets/core.js +++ b/assets/core.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{11:function(e,t,a){e.exports=a(27)},12:function(e,t,a){},13:function(e,t,a){},26:function(e,t,a){},27:function(e,t,a){"use strict";a.r(t);a(12);var n=a(3);window.DIState=new class{constructor(){this.id=Math.random(),this.state={},this.listeners=[],Object(n.d)(this,{state:n.e,setState:n.a,getState:n.c})}setState(e,t){void 0===t&&(t=!0),this.state=t?{...this.state,...e}:e}get getState(){return this.state}addListener(e){return this.listeners=this.listeners.concat(Object(n.b)(e)),this.listeners.length-1}removeListener(e){eo.a.createElement("div",{className:"table-styled"},o.a.createElement("table",null,e.children));const d=e=>{const t=function(e,t){return void 0===t&&(t=!1),e.map((e,a)=>o.a.createElement("tr",{key:a},e.map((e,a)=>t?o.a.createElement("th",{key:a},e):o.a.createElement("td",{key:a},e))))};return o.a.createElement(i,null,o.a.createElement("thead",null,t(e.rows.filter((e,t)=>0===t),!0)),o.a.createElement("tbody",null,t(e.rows.filter((e,t)=>t>0))))},c=["Reproductive health care","Family planning"],l=[2013,2022],u=[2018,2022];var p=a(9);const m=function(e,t){void 0===t&&(t="");const a=Number(e);return isNaN(a)?t:new Intl.NumberFormat("en-IN",{maximumFractionDigits:2}).format(a)},h=(e,t)=>e.map(e=>({...e,[t]:e[t]?Number(e[t]):"NA"})),w=e=>new Promise(t=>{Object(p.parse)(e,{download:!0,header:!0,complete:e=>{let{data:a}=e;return t(a)}})}),f=(e,t,a)=>e.filter(e=>e[a]===t),g=(e,t,a)=>e.filter(e=>e[a]===t),b=(e,t,a)=>e.filter(e=>t.includes(e[a])),y=(e,t)=>{window.DIState&&e.length?(t&&window.DIState.setState(t),e.forEach(e=>{let{url:t,state:a}=e;w(t).then(e=>{window.DIState.setState({[a]:e||[]})})})):console.log("State is not defined")},S=e=>{const t=e[1]-e[0]+1,a=[];for(const e of Array(t).keys())a.push(e);return a.map(t=>e[0]+t)},v=(e,t,a)=>t.reduce((t,n)=>{const r=e.filter(e=>""+e.year==""+n).reduce((e,t)=>e+Number(t[a]||0),0);return t.concat(r)},[]),I=(e,t)=>e.map(e=>({...e,year:Number(e[t])}));var D=w;const _=(e,t,a)=>{const n=S(l),o=["Purpose code"].concat(n),i=c.map(e=>{const a=b(t,[e],"purpose_name");return[e].concat(((e,t,a)=>t.map(t=>{const n=e.find(e=>""+e.year==""+t);return n?Number(n[a])||"":0}))(a,n,"usd_disbursement_deflated_Sum"))}),u=o.map((e,t)=>0===t?"Total":m(i.reduce((e,a)=>"number"==typeof a[t]?e+a[t]:e,0))),p=i.map(e=>e.map(e=>"number"==typeof e?m(e):e)),h=[o].concat(p,[u]);Object(s.render)(Object(r.createElement)(d,{country:a,rows:h}),e)};var E=e=>{window.DICharts.handler.addChart({className:e,d3:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();window.DIState?window.DIState.addListener(()=>{t.showLoading();const a=window.DIState.getState,{country:n,dataOne:r}=a;if(n&&r){const a=b(g(r,n||"United States","donor_name"),c,"purpose_name");_(e,a,n||"United States"),t.hideLoading(),e.parentElement.classList.add("auto-height")}}):console.log("State is not defined")})}}})};const N=e=>{const t=document.createElement("div");return t.classList.add("spotlight-banner","data-selector--wrapper"),e.parentElement.insertBefore(t,e),t},L=(e,t)=>{const a=document.createElement("option");a.value="string"==typeof t?t:t.value,a.text="string"==typeof t?t:t.label,e.appendChild(a)},C=e=>{let{wrapper:t,options:a,defaultOption:n,allItemsLabel:r,className:o,label:s}=e;const i=document.createElement("select");if(i.classList.add("data-selector","js-plotly-chart-data-selector",o),r&&L(i,{label:r,value:"*"}),a.forEach(e=>L(i,e)),i.classList.add("data-selector--active"),n&&(i.value=n),s){const e=document.createElement("label");e.innerHTML=s;const a=document.createElement("div");a.classList.add("labelled-data-selector--wrapper"),a.appendChild(e),a.appendChild(i),t.appendChild(a)}else t.appendChild(i);return i};var O=e=>{window.DICharts.handler.addChart({className:e,d3:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();D("https://raw.githubusercontent.com/devinit/di-website-data/main/2024/rh-and-fp-dropdowns.csv").then(a=>{const n=N(e),r=C({wrapper:n,options:a.map(e=>e.Donors),defaultOption:"United States",className:"country-filter",label:"Select donor"});window.DIState&&window.DIState.setState({country:"United States"}),r.addEventListener("change",e=>{const{value:t}=e.currentTarget;window.DIState&&window.DIState.setState({country:t})}),t.hideLoading(),e.parentElement.classList.add("auto-height")})})}}})},A=a(2),x=a.n(A);const U={rainbow:["#e84439","#eb642b","#f49b21","#109e68","#0089cc","#893f90","#c2135b","#f8c1b2","#f6bb9d","#fccc8e","#92cba9","#88bae5","#c189bb","#e4819b"],default:["#6c120a","#a21e25","#cd2b2a","#dc372d","#ec6250","#f6b0a0","#fbd7cb","#fce3dc"],sunflower:["#7d4712","#ba6b15","#df8000","#f7a838","#fac47e","#fedcab","#fee7c1","#feedd4"],marigold:["#7a2e05","#ac4622","#cb5730","#ee7644","#f4a57c","#facbad","#fcdbbf","#fde5d4"],rose:["#65093d","#8d0e56","#9f1459","#d12568","#e05c86","#f3a5b6","#f6b8c1","#f9cdd0"],lavendar:["#42184c","#632572","#732c85","#994d98","#af73ae","#cb98c4","#deb5d6","#ebcfe5"],bluebell:["#0a3a64","#00538e","#1060a3","#4397d3","#77adde","#a3c7eb","#bcd4f0","#d3e0f4"],leaf:["#08492f","#005b3e","#00694a","#3b8c62","#74bf93","#a2d1b0","#b1d8bb","#c5e1cb"]};var k={legend:{top:10,textStyle:{fontFamily:"Geomanist Regular,sans-serif"}},tooltip:{trigger:"axis",textStyle:{fontFamily:"Geomanist Regular,sans-serif"},axisPointer:{type:"none"}},toolbox:{showTitle:!1,feature:{saveAsImage:{show:!1,title:"Save as image",pixelRatio:2}},right:20,tooltip:{show:!0,textStyle:{fontFamily:"Geomanist Regular,sans-serif",formatter:e=>"
"+e.title+"
"}}},color:U.rainbow,xAxis:{axisLabel:{fontFamily:"Geomanist Regular,sans-serif",fontSize:13},splitLine:{show:!1}},yAxis:{axisLabel:{fontFamily:"Geomanist Regular,sans-serif",fontSize:13},splitLine:{show:!1}},axisPointer:{type:"none"},grid:{top:10}},T=o.a.createElement("div",{className:"no-data"},"No Data");var F=()=>T;const j=(e,t,a,n,r)=>{const o=b(e,[t],r);return v(o,a,n)},R=function(e,t){void 0===t&&(t=!0),t?e.classList.remove("invisible"):e.classList.add("invisible")},P=e=>{e.classList.add("no-data--wrapper"),Object(s.unmountComponentAtNode)(e),Object(s.render)(Object(r.createElement)(F),e)},G=e=>{e.classList.remove("no-data--wrapper"),Object(s.unmountComponentAtNode)(e)},$=(e,t)=>c.map(a=>({name:a,type:"bar",stack:"oda",tooltip:{valueFormatter:e=>"US$"+m(e)+" million"},data:j(e,a,t,"usd_disbursement_deflated_Sum","purpose_name")})).map((e,t,a)=>t===a.length-1?{...e,label:{normal:{show:!0,position:"top",fontFamily:"Geomanist Regular,sans-serif",formatter:e=>{const t=a.reduce((t,a)=>{const n=a.data[e.dataIndex];return t+parseFloat(n||0)},0);return m(t)},color:"#000000"}}}:e);var M=e=>{window.DICharts.handler.addChart({className:e,echarts:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();const a=N(e);window.DIState?window.DIState.addListener(()=>{t.showLoading();const n=window.DIState.getState,{country:r,dataOne:o}=n;if(r&&o){const n=b(g(o,r||"United States","donor_name"),c,"purpose_name");((e,t,a)=>{if(!a.length)return R(e,!1),void P(t);R(e),G(t);const n=window.echarts.init(e),r=S(l),o=x()(k,{legend:{show:!0,selectedMode:!1},xAxis:{type:"category",data:r},yAxis:{type:"value",name:"US$ millions (constant ".concat(r[r.length-1]," prices)"),nameLocation:"middle",nameGap:50},grid:{top:60},series:$(a,r)});o.color=["#e84439","#f8c1b2"].concat(o.color),n.setOption(o)})(e,a,n),t.hideLoading()}}):(console.log("State is not defined"),t.hideLoading())})}}})};const H=(e,t)=>{const a=e.reduce((e,t)=>(e.includes(t.aid_type_di_name)||e.push(t.aid_type_di_name),e),[]),n=a.map(a=>j(e,a,t,"usd_disbursement_deflated_Sum","aid_type_di_name")),r=((e,t)=>{const a=Object.keys(t).map(e=>({[e]:t[e].reduce((e,t)=>e+t,0)}));return e.map(e=>e.map((e,t)=>{const n=parseFloat(e),r=parseFloat(a[t]?a[t][t]:1);return isNaN(n)||isNaN(r)||0===n||0===n?0:n/r*100}))})(n,(e=>{let t={};for(let a=0;a({name:e,type:"bar",stack:"oda",data:r[t]}))},B=(e,t)=>{const a=m(((e,t,a)=>{const n=b(e,[t],"aid_type_di_name");return v(n,a,"usd_disbursement_deflated_Sum")})(e,t.seriesName,[t.name]));return'\n
\n '+t.marker+t.seriesName+':\n \n '+m(Number(t.value,10))+"% - US$"+a+" million\n \n
"},Y=(e,t,a)=>{if(!a.length)return R(e,!1),void P(t);R(e),G(t);const n=window.echarts.init(e),r=S(u),o=x()(k,{legend:{show:!0,selectedMode:!1},tooltip:{trigger:"axis",formatter:e=>e.map(e=>B(a,e)).join("")},xAxis:{type:"category",data:r},yAxis:{type:"value",axisLabel:{formatter:"{value}%"},max:100},grid:{top:60},series:H(a,r)});o.color=["#f8c1b2","#f0826d","#bc2629","#8f1b13"].concat(o.color),n.setOption(o,{replaceMerge:["series"]})};var z=e=>{window.DICharts.handler.addChart({className:e,echarts:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();const a=N(e),n=N(e);let r,o="Reproductive health care";window.DIState?window.DIState.addListener(()=>{t.showLoading();const s=window.DIState.getState,{country:i,odaAidType:d}=s;if(i&&d){const s=b(g(d,i||"United States","donor_name"),[o],"purpose_name");r||(r=C({wrapper:a,options:d.reduce((e,t)=>{const a=t.purpose_name;return a&&!e.includes(a)?e.concat(a):e},[]),defaultOption:o,className:"purpose-code-filter",label:"Select purpose code"}),r.addEventListener("change",t=>{o=t.target.value;const{country:a}=window.DIState.getState,r=b(g(d,a||"United States","donor_name"),[o],"purpose_name");Y(e,n,r)})),Y(e,n,s),t.hideLoading()}}):(console.log("State is not defined"),t.hideLoading())})}}})};const J=e=>{const t=function(e,t){return void 0===t&&(t=!1),e.map((a,n)=>o.a.createElement("tr",{key:n},a.map((a,r)=>t?o.a.createElement("th",{key:r},a):n===e.length-1&&0===r?o.a.createElement("td",{colSpan:2,key:r},a):o.a.createElement("td",{key:r},a))))};return o.a.createElement(i,null,o.a.createElement("thead",null,t(e.rows.filter((e,t)=>0===t),!0)),o.a.createElement("tbody",null,t(e.rows.filter((e,t)=>t>0))))},q=(e,t,a,n)=>{const o=[2018,2022],i=o[1]-o[0]+1,d=[];for(const e of Array(i).keys())d.push(e);const c=["Rank","Recipient"].concat(d.map(e=>o[0]+e)),l=e.filter(e=>a===e["Code type"]),u=g(l,t,"donor_name"),{sortedData:p,unsortedData:h}=(e=>{let t=[...e];const a=[];if(e.length<10)for(let n=0;n=1){let e=t.reduce((e,t)=>Number(e[2022])=1){let e=t.reduce((e,t)=>Number(e[2022])t.map(t=>{const a=e.map(e=>Number(e[t])).reduce((e,t)=>e+t,0);return m(a,0)}))(h,d.map(e=>(o[0]+e).toString())),f=[c].concat((e=>{const t=[];if(e.length<10){if(0===e.length)return t;for(let a=0;a=1&&t.push([a+1,e[a].recipient_name,m(Number(e[a][2018]),0),m(Number(e[a][2019]),0),m(Number(e[a][2020]),0),m(Number(e[a][2021]),0),m(Number(e[a][2022]),0)]);return t}for(let a=0;a<10;a++)e.length>=1&&t.push([a+1,e[a].recipient_name,m(Number(e[a][2018]),0),m(Number(e[a][2019]),0),m(Number(e[a][2020]),0),m(Number(e[a][2021]),0),m(Number(e[a][2012]),0)]);return t})(p)).concat([["Total of all other recipients"].concat(w)]);Object(s.render)(Object(r.createElement)(J,{rows:f}),n)};var K=e=>{window.DICharts.handler.addChart({className:e,echarts:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();const a=N(e);let n,r="Reproductive health care and family planning",o="United States";window.DIState?window.DIState.addListener(()=>{t.showLoading();const s=window.DIState.getState,{country:i,dataTwo:d}=s;o=i,o&&d&&(n||(n=C({wrapper:a,options:d.reduce((e,t)=>{const a=t["Code type"];return a&&!e.includes(a)?e.concat(a):e},[]),defaultOption:r,className:"purpose-code-filter",label:"Select purpose code"}),n.addEventListener("change",t=>{r=t.target.value,q(d,o,r,e)})),q(d,o,r,e),t.hideLoading(),e.parentElement.classList.add("auto-height"))}):(console.log("State is not defined"),t.hideLoading())})}}})};const Q=e=>{const t=function(e,t){return void 0===t&&(t=!1),e.map((e,a)=>o.a.createElement("tr",{key:a},e.map((e,a)=>t?o.a.createElement("th",{key:a},e):o.a.createElement("td",{key:a},e))))};return o.a.createElement(i,null,o.a.createElement("thead",null,t(e.rows.filter((e,t)=>0===t),!0)),o.a.createElement("tbody",null,t(e.rows.filter((e,t)=>t>0))))},V=(e,t,a,n)=>{const o=g(t,a||"United States","donor_name"),i=((e,t)=>{const a=[["Aid Type",2022,"% Total"]],n=e.reduce((e,t)=>{const a=t.aid_type_di_name;return a&&!e.includes(a)&&e.push(a),e},[]),r=t.map(e=>Number(e.usd_disbursement_deflated_Sum)).reduce((e,t)=>e+t,0),o=n.map(e=>{const a=t.find(t=>t.aid_type_di_name===e),n=a?a.usd_disbursement_deflated_Sum:0,o=0!==n?(m(n/r*100)||0)+"%":0;return[e].concat(m(n,0),[o])});return a.concat(o,[["Total",m(r,0),r?"100%":"0%"]])})(t,(e=>e.filter(e=>""+e.year=="2022"))(b(o,n,"purpose_name")));Object(s.render)(Object(r.createElement)(Q,{country:a,rows:i}),e)};var W=e=>{window.DICharts.handler.addChart({className:e,d3:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);let a;t.showLoading();let n="United States";window.DIState?window.DIState.addListener(()=>{t.showLoading();const r=window.DIState.getState,{country:o,odaAidType:s}=r;if(n=o,n&&s){const r=function(e,t){void 0===t&&(t="purpose_name");const a=[];return e.forEach(e=>{e[t]&&!a.includes(e[t])&&a.push(e[t])}),a}(s);let o=r[0];if(!a){const t=N(e);a=C({wrapper:t,options:r,defaultOption:o,className:"purpose-code-filter",label:"Select purpose code"}),a.addEventListener("change",t=>{o=t.target.value,V(e,s,n||"United States",o)})}V(e,s,n||"United States",o),t.hideLoading(),e.parentElement.classList.add("auto-height")}}):console.log("State is not defined")})}}})};var X=e=>{const t=function(e,t){return void 0===t&&(t=!1),e.map((e,a)=>o.a.createElement("tr",{key:a},e.map((e,a)=>t?o.a.createElement("th",{key:a},e):o.a.createElement("td",{key:a},e))))};return o.a.createElement(i,null,o.a.createElement("thead",null,t(e.rows.filter((e,t)=>0===t),!0)),o.a.createElement("tbody",null,t(e.rows.filter((e,t)=>t>0))))};const Z={"University, College Or Other Teaching Institution, Research Institute Or Think?Tank":"University, other teaching institution, research institute or think-tank"},ee=(e,t,a)=>{const n=["Channel"].concat(2022,"% Total"),o=(e=>{const t=Object.keys(e).reduce((t,a)=>t+Number(e[a]||0),0);return Object.keys(e).map(a=>[Z[a]||a,m(e[a]),(m(e[a]/t*100||0)||0)+"%"]).concat([["Total",m(t),t?"100%":"0%"]])})((e=>e.reduce((e,t)=>({...e,[t.oecd_aggregated_channel]:parseFloat(e[t.oecd_aggregated_channel]||0)+parseFloat(t.usd_disbursement_deflated_Sum||0)}),{}))(t)),i=[n].concat(o);Object(s.render)(Object(r.createElement)(X,{country:a,rows:i}),e)};var te=e=>{window.DICharts.handler.addChart({className:e,d3:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();const a=N(e);let n,r="United States";window.DIState?window.DIState.addListener(()=>{t.showLoading();const o=window.DIState.getState,{country:s,odaChannels:i,purpose:d}=o;if(r=s,r&&i){const s=(e=>e.reduce((e,t)=>t.purpose_name&&!e.includes(t.purpose_name)?e.concat(t.purpose_name):e,[]))(i),c=b(g(i,r||"United States","donor_name"),d||s[0],"purpose_name");n||(n=C({wrapper:a,options:s,defaultOption:s[0],className:"purpose-code-filter",label:"Select purpose code"}),o&&window.DIState.setState({purpose:s[0]}),n.addEventListener("change",e=>{window.DIState.setState({purpose:e.target.value})})),ee(e,c,r||"United States"),t.hideLoading(),e.parentElement.classList.add("auto-height")}}):console.log("State is not defined")})}}})},ae=a(10),ne=a.n(ae),re=a(6),oe=a.n(re);const se=e=>{let{data:t,position:a}=e;return o.a.createElement("div",{className:oe()("custom-legend",{right:"right"===a})},t.map((e,t)=>o.a.createElement("div",{className:oe()("legend-item",{label:e.label}),key:""+t},!e.label&&e.colour?o.a.createElement("span",{className:"badge",style:{backgroundColor:e.colour}}):null,o.a.createElement("span",{className:"text"},e.caption))))};se.defaultProps={data:[]};var ie=se;const de={"University, College Or Other Teaching Institution, Research Institute Or Think?Tank":"University, other teaching institution, research institute or think-tank"},ce=function(e,t,a){void 0===a&&(a="right"),Object(s.render)(Object(r.createElement)(ie,{data:t,position:a}),e)},le=(e,t,a,n,r)=>{n.push({caption:"Breakdown",label:!0}),n=n.concat(ue(t,a,r)),ce(e,n)},ue=(e,t,a)=>e.children.sort((e,t)=>e.value-t.value).reverse().map(e=>{if(e.value){const n=m(e.value/t.value*100),r=ne()(a).lighten(.2);return{caption:e.name+" | US$"+m(e.value)+" million - "+n+"%",colour:r.hex()}}return{caption:e.name,colour:"#333"}}),pe=(e,t,a,n,r)=>{((e,t,a)=>{if(!t.length)return e.classList.add("invisible"),void P(a);e.classList.remove("invisible"),G(a);const n=window.echarts.init(e),r=U.rainbow,o=t.map((e,t)=>({caption:e.name,colour:r[t]})),s=()=>ce(a,o),i={tooltip:{show:!0,trigger:"item",formatter:e=>{if(!e.name)return"Go Back";if(e.treePathInfo.length>1){const t=e.treePathInfo[e.treePathInfo.length-2],a=m(e.value/t.value*100);return e.name+" | US$"+m(e.value)+" million - "+a+"%"}return e.name+" | US$"+m(e.value)+" million"}},xAxis:{show:!1},yAxis:{show:!1},series:{type:"sunburst",nodeClick:!1,emphasis:{focus:"descendant"},sort:void 0,data:t.map((e,t)=>(e.itemStyle={color:r[t]},e)),radius:["20%","100%"],label:{show:!1},levels:[{itemStyle:{color:"#333",opacity:.7},r:120},{r:145},{radius:[150,170]}]},toolbox:{showTitle:!1,feature:{saveAsImage:{show:!1}}}};n.setOption({...x()(k,i),color:r}),s(),n.on("mouseover",(function(e){if(!e.name)return;let n=o.filter(t=>e.treePathInfo.find(e=>e.name===t.caption));if(e.treePathInfo.length>1){const r=t.find(t=>t.name===e.name);if(r&&r.children)return void le(a,r,e,n,e.color);const o=e.treePathInfo[e.treePathInfo.length-2],s=t.find(e=>e.name===o.name);s&&s.children?le(a,s,o,n,n[0].colour):ce(a,n)}})),n.on("mouseout",(function(){s()}))})(e,((e,t)=>{const a=e.map(e=>({...e,[t.parent]:de[e[t.parent]]||e[t.parent],[t.child]:de[e[t.child]]||e[t.child]}));return a.map(e=>e[t.value]?{...e,[t.value]:m(e[t.value])}:e).reduce((e,a)=>e.includes(a[t.parent])?e:e.concat(a[t.parent]),[]).map(e=>((e,t,a,n)=>{const r={name:t},o=e.filter(e=>e[a.parent]===("string"==typeof t?t:t[a.parent]));if(o.length)r.children=o.map(e=>({name:e[a.child],value:e[a.value]}));else if("string"==typeof t){const n=e.find(e=>e[a.parent]===t);r.value=n[a.value]}else r.value=t[a.value];return n&&(r.itemStyle={color:n}),r})(a,e,t))})(b(g(t,a||"United States","donor_name"),n,"purpose_name"),{parent:"oecd_aggregated_channel",child:"oecd_channel_parent_name",value:"usd_disbursement_deflated_Sum"}),r)};var me=e=>{window.DICharts.handler.addChart({className:e,d3:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement),a=N(e);let n,r,o="United States";if(!window.DIState)return void console.log("State is not defined");const s=N(e);window.DIState.addListener(()=>{t.showLoading();const i=window.DIState.getState,{country:d,odaChannels:c}=i;if(o=d,o&&c){if(!n){const t=((e,t)=>e.reduce((e,a)=>{const n=a[t];return n&&!e.includes(n)?e.concat(n):e},[]))(c,"purpose_name");r=t[0],n=C({wrapper:a,options:t,defaultOption:r,className:"purpose-code-filter",label:"Select purpose code"}),n.addEventListener("change",t=>{r=t.target.value,pe(e,h(c,"usd_disbursement_deflated_Sum"),o,r,s)})}pe(e,h(c,"usd_disbursement_deflated_Sum"),o,r,s),t.hideLoading(),e.parentElement.classList.add("auto-height")}})})}}})};var he=()=>{y([{url:"https://raw.githubusercontent.com/devinit/di-website-data/main/2024/RH_and_FP_Purpose_code_trends_chart_OECD.csv",state:"dataOne"},{url:"https://raw.githubusercontent.com/devinit/di-website-data/main/2024/donor_by_recip_2019.csv",state:"dataTwo"},{url:"https://raw.githubusercontent.com/devinit/di-website-data/main/2024/RH_FP_aid_type_OECD.csv",state:"odaAidType"},{url:"https://raw.githubusercontent.com/devinit/di-website-data/main/2024/RH_FP_channels_OECD.csv",state:"odaChannels"}],{country:"United States"}),O("dicharts--donor-selector"),E("dicharts--table-one"),M("dicharts--chart-one"),z("dicharts--chart-two"),K("dicharts--table-two"),W("dicharts--table-three"),te("dicharts--table-four"),me("dicharts--chart-three")};a(26);const we=["Reproductive health care","Family planning"],fe=[2019,2023],ge=(e,t)=>(e=>{const t={};return e.forEach(e=>{t[e.year]?t[e.year]={...t[e.year],value:(parseFloat(e.value?e.value:0)+parseFloat(t[e.year].value?t[e.year].value:0)).toFixed(3)}:t[e.year]=e}),Object.values(t).map(e=>e.value)})(Object(n.f)(e).filter(e=>e.purpose_name===t&&e.year>=2019&&e.year<=2023).map(e=>({year:e.year,value:e.x_transaction_value_usd_m_Sum}))),be=(e,t)=>we.map(t=>({name:t,type:"bar",stack:"oda",tooltip:{valueFormatter:e=>"US$"+m(e)+" million"},data:ge(e,t)})).map((e,t,a)=>t===a.length-1?{...e,label:{normal:{show:!0,position:"top",formatter:e=>{const t=a.reduce((t,a)=>{const n=a.data[e.dataIndex];return t+parseFloat(n||0)},0);return m(t)},color:"#000000"}}}:e);var ye=e=>{window.DICharts.handler.addChart({className:e,echarts:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();const a=N(e);window.DIState?window.DIState.addListener(()=>{t.showLoading();const n=window.DIState.getState,{countryIati:r,dataOneIati:o}=n;if(r&&o){const n=b(f(o,r||"US","Reporting Organisation Narrative"),we,"purpose_name");((e,t,a)=>{if(!a.length)return R(e,!1),void P(t);R(e),G(t);const n=window.echarts.init(e),r=S(fe),o=x()(k,{legend:{show:!0,selectedMode:!1},xAxis:{type:"category",data:r},yAxis:{type:"value",name:"USD$ millions (current prices)",nameLocation:"middle",nameGap:50},grid:{top:60},series:be(a)});o.color=["#e84439","#f8c1b2"].concat(o.color),n.setOption(o)})(e,a,n),t.hideLoading()}}):(console.log("State is not defined"),t.hideLoading())})}}})};const Se=[2019,2023],ve=(e,t)=>{const a=e.reduce((e,t)=>(e.includes(t["Aid Type Di Name"])||e.push(t["Aid Type Di Name"]),e),[]),n=a.map(a=>j(e,a,t,"Usd Disbursement Deflated Sum","Aid Type Di Name")),r=((e,t)=>{const a=Object.keys(t).map(e=>({[e]:t[e].reduce((e,t)=>e+t,0)}));return e.map(e=>e.map((e,t)=>{const n=parseFloat(e),r=parseFloat(a[t]?a[t][t]:1);return isNaN(n)||isNaN(r)||0===n||0===n?0:n/r*100}))})(n,(e=>{let t={};for(let a=0;a({name:e,type:"bar",stack:"oda",data:r[t]}))},Ie=(e,t)=>{const a=m(((e,t,a)=>{const n=b(e,[t],"Aid Type Di Name");return v(n,a,"Usd Disbursement Deflated Sum")})(e,t.seriesName,[t.name]));return'\n
\n '+t.marker+t.seriesName+':\n \n '+m(Number(t.value,10))+"% - US$"+a+" million\n \n
"},De=(e,t,a)=>{if(!a.length)return R(e,!1),void P(t);R(e),G(t);const n=window.echarts.init(e),r=S(Se),o=x()(k,{legend:{show:!0,selectedMode:!1},tooltip:{trigger:"axis",formatter:e=>e.map(e=>Ie(a,e)).join("")},xAxis:{type:"category",data:r},yAxis:{type:"value",axisLabel:{formatter:"{value}%"},max:100},grid:{top:60},series:ve(a,r)});o.color=["#f8c1b2","#f0826d","#e84439","#bc2629","#8f1b13"].concat(o.color),n.setOption(o,{replaceMerge:["series"]})};var _e=e=>{window.DICharts.handler.addChart({className:e,echarts:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();const a=N(e),n=N(e);let r,o="Reproductive health care";window.DIState?window.DIState.addListener(()=>{t.showLoading();const s=window.DIState.getState,{countryIati:i,dataFourIati:d}=s;if(i&&d){const s=I(b(f(d,i||"US","Donor Name"),[o],"Purpose Name"),"Year");r||(r=C({wrapper:a,options:d.reduce((e,t)=>{const a=t["Purpose Name"];return a&&!e.includes(a)?e.concat(a):e},[]),defaultOption:o,className:"purpose-code-filter",label:"Select purpose code"}),r.addEventListener("change",t=>{o=t.target.value;const{countryIati:a}=window.DIState.getState,r=I(b(f(d,a||"US","Donor Name"),[o],"Purpose Name"),"Year");De(e,n,r)})),De(e,n,s),t.hideLoading()}}):(console.log("State is not defined"),t.hideLoading())})}}})};var Ee=e=>{window.DICharts.handler.addChart({className:e,d3:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();let a=[];const n=N(e);window.DIState?window.DIState.addListener(()=>{t.showLoading();const r=window.DIState.getState,{dataOneIati:o}=r;if(o&&o.length&&!a.length){a=o.reduce((e,t)=>{const a=t["Reporting Organisation Narrative"];return e.includes(a)?e:e.concat(a)},[]).filter(e=>!!e).sort((e,t)=>{var a=e.toUpperCase(),n=t.toUpperCase();return an?1:0}).map(e=>({label:e,value:e}));const r=C({wrapper:n,options:a,defaultOption:"US",className:"country-filter-iati",label:"Select Donor"});window.DIState&&window.DIState.setState({countryIati:"US"}),r.addEventListener("change",e=>{const{value:t}=e.currentTarget;window.DIState.setState({countryIati:t})}),t.hideLoading(),e.parentElement.classList.add("auto-height")}}):console.log("State is not defined")})}}})};var Ne=e=>{window.DICharts.handler.addChart({className:e,d3:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading(),window.DIState?window.DIState.addListener(()=>{t.showLoading();const a=window.DIState.getState,{countryIati:n,dataOneIati:o}=a;if(n&&o){const a=b(f(o,n||"US","Reporting Organisation Narrative"),we,"purpose_name");((e,t,a)=>{const n=S(fe),o=["Purpose code"].concat(n),i=[o].concat(we.map(e=>{const a=b(t,[e],"purpose_name");return o.reduce((t,n,r)=>{if(0===r)return t.concat(e);const o=a.filter(e=>parseFloat(e.year)===n).reduce((e,t)=>e+Number(t.x_transaction_value_usd_m_Sum),0);return t.concat(m(o))},[])}));Object(s.render)(Object(r.createElement)(d,{country:a,rows:i}),e)})(e,a,n||"US"),t.hideLoading(),e.parentElement.classList.add("auto-height")}}):console.log("State is not defined")})}}})};const Le=e=>{const t=function(e,t){return void 0===t&&(t=!1),e.map((e,a)=>o.a.createElement("tr",{key:a},e.map((e,a)=>t?o.a.createElement("th",{key:a},e):o.a.createElement("td",{key:a},e))))};return o.a.createElement(i,null,o.a.createElement("thead",null,t(e.rows.filter((e,t)=>0===t),!0)),o.a.createElement("tbody",null,t(e.rows.filter((e,t)=>t>0))))},Ce=(e,t,a,n)=>{const o=f(t,a||"US","Donor Name"),i=((e,t)=>{const a=[["Aid Type",2023,"% Total"]],n=e.reduce((e,t)=>(e.includes(t["Aid Type Di Name"])||void 0!==t["Aid Type Di Name"]&""!==t["Aid Type Di Name"]&&e.push(t["Aid Type Di Name"]),e),[]),r=t.map(e=>Number(e["Usd Disbursement Deflated Sum"])).reduce((e,t)=>e+t,0),o=n.map(e=>{const a=t.find(t=>t["Aid Type Di Name"]===e),n=a?a["Usd Disbursement Deflated Sum"]:0,o=(m(n/r*100)||0)+"%";return[e].concat(m(n),[o])});return a.concat(o,[["Total",m(r),r?"100%":"0%"]])})(t,(e=>e.filter(e=>2023===Number(e.Year)))(b(o,n,"Purpose Name")));Object(s.render)(Object(r.createElement)(Le,{country:a,rows:i}),e)};var Oe=e=>{window.DICharts.handler.addChart({className:e,d3:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);let a;t.showLoading();let n="US";window.DIState?window.DIState.addListener(()=>{t.showLoading();const r=window.DIState.getState,{countryIati:o,dataFourIati:s}=r;if(n=o,n&&s){const r=(e=>{const t=[];return e.forEach(e=>{t.includes(e["Purpose Name"])||void 0!==e["Purpose Name"]&&t.push(e["Purpose Name"])}),t})(s);let o=r[0];if(!a){const t=N(e);a=C({wrapper:t,options:r,defaultOption:o,className:"purpose-code-filter",label:"Select Purpose Code"}),a.addEventListener("change",t=>{o=t.target.value,Ce(e,s,n||"US",o)})}Ce(e,s,n||"US",o),t.hideLoading(),e.parentElement.classList.add("auto-height")}}):console.log("State is not defined")})}}})};const Ae=[2019,2023],xe=e=>e+".0",Ue=(e,t,a,n)=>{const o=S(Ae),i=["Rank","Recipient"].concat(o),d=e.filter(e=>a===e["Code type"]),c=f(d,t,"Reporting Organisation Narrative"),{sortedData:l,unsortedData:u}=(e=>{let t=[...e];const a=[],n=Ae[1];for(let e=0;e<10;e++)if(t.length>=1){let e=t.reduce((e,t)=>Number(e[xe(n)]){let a=[];return t.forEach(t=>{const n=e.map(e=>parseFloat(Number(e[xe(t)]))||0).reduce((e,t)=>e+t,0);a.push(m(n))}),a})(u,o),h=[i].concat(((e,t)=>{const a=[];for(let n=0;n=1){const r=n+1;a.push([r,e[n].recipient_name].concat(t.map(t=>e[n][xe(t)]?m(e[n][xe(t)],0):0)))}return a})(l,o)).concat([["All other recipients (sum)"].concat(p)]);Object(s.render)(Object(r.createElement)(J,{rows:h}),n)};var ke=e=>{window.DICharts.handler.addChart({className:e,echarts:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();const a=N(e);let n;window.DIState?window.DIState.addListener(()=>{t.showLoading();const r=window.DIState.getState,{countryIati:o,dataTwoIati:s,purposeIati:i}=r;o&&s&&(n||(n=C({wrapper:a,options:s.reduce((e,t)=>{const a=t["Code type"];return e.includes(a)?e:e.concat(a)},[]).filter(e=>!!e).map(e=>({label:e,value:e})),defaultOption:"Reproductive health care and family planning",className:"purpose-code-filter",label:"Select Purpose Code"}),window.DIState.setState({purposeIati:"Reproductive health care and family planning"}),n.addEventListener("change",e=>{window.DIState.setState({purposeIati:e.target.value})})),Ue(s,o,i,e),t.hideLoading(),e.parentElement.classList.add("auto-height"))}):(console.log("State is not defined"),t.hideLoading())})}}})};var Te=()=>{y([{url:"https://raw.githubusercontent.com/devinit/di-website-data/main/2022/IATI-RHFP-data-v1.csv",state:"dataOneIati"},{url:"https://raw.githubusercontent.com/devinit/di-website-data/main/2022/IATI-RHFP-data-v2.csv",state:"dataTwoIati"},{url:"https://raw.githubusercontent.com/devinit/di-website-data/main/2022/iati_rhfp4.csv",state:"dataFourIati"}],{countryIati:"US"}),Ee("dicharts--donor-selector-iati"),Ne("dicharts--table-one-iati"),ye("dicharts--chart-one-iati"),ke("dicharts--table-two-iati"),Oe("dicharts--table-three-iati"),_e("dicharts--chart-two-iati")};window.addEventListener("load",()=>{he(),Te()})}},[[11,1,2]]]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{11:function(e,t,a){e.exports=a(27)},12:function(e,t,a){},13:function(e,t,a){},26:function(e,t,a){},27:function(e,t,a){"use strict";a.r(t);a(12);var n=a(3);window.DIState=new class{constructor(){this.id=Math.random(),this.state={},this.listeners=[],Object(n.d)(this,{state:n.e,setState:n.a,getState:n.c})}setState(e,t){void 0===t&&(t=!0),this.state=t?{...this.state,...e}:e}get getState(){return this.state}addListener(e){return this.listeners=this.listeners.concat(Object(n.b)(e)),this.listeners.length-1}removeListener(e){eo.a.createElement("div",{className:"table-styled"},o.a.createElement("table",null,e.children));const d=e=>{const t=function(e,t){return void 0===t&&(t=!1),e.map((e,a)=>o.a.createElement("tr",{key:a},e.map((e,a)=>t?o.a.createElement("th",{key:a},e):o.a.createElement("td",{key:a},e))))};return o.a.createElement(i,null,o.a.createElement("thead",null,t(e.rows.filter((e,t)=>0===t),!0)),o.a.createElement("tbody",null,t(e.rows.filter((e,t)=>t>0))))},c=["Reproductive health care","Family planning"],l=[2013,2022],u=[2018,2022];var p=a(9);const m=function(e,t){void 0===t&&(t="");const a=Number(e);return isNaN(a)?t:new Intl.NumberFormat("en-IN",{maximumFractionDigits:2}).format(a)},h=(e,t)=>e.map(e=>({...e,[t]:e[t]?Number(e[t]):"NA"})),w=e=>new Promise(t=>{Object(p.parse)(e,{download:!0,header:!0,complete:e=>{let{data:a}=e;return t(a)}})}),f=(e,t,a)=>e.filter(e=>e[a]===t),g=(e,t,a)=>e.filter(e=>e[a]===t),b=(e,t,a)=>e.filter(e=>t.includes(e[a])),y=(e,t)=>{window.DIState&&e.length?(t&&window.DIState.setState(t),e.forEach(e=>{let{url:t,state:a}=e;w(t).then(e=>{window.DIState.setState({[a]:e||[]})})})):console.log("State is not defined")},S=e=>{const t=e[1]-e[0]+1,a=[];for(const e of Array(t).keys())a.push(e);return a.map(t=>e[0]+t)},v=(e,t,a)=>t.reduce((t,n)=>{const r=e.filter(e=>""+e.year==""+n).reduce((e,t)=>e+Number(t[a]||0),0);return t.concat(r)},[]),I=(e,t)=>e.map(e=>({...e,year:Number(e[t])}));var D=w;const _=(e,t,a)=>{const n=S(l),o=["Purpose code"].concat(n),i=c.map(e=>{const a=b(t,[e],"purpose_name");return[e].concat(((e,t,a)=>t.map(t=>{const n=e.find(e=>""+e.year==""+t);return n?Number(n[a])||"":0}))(a,n,"usd_disbursement_deflated_Sum"))}),u=o.map((e,t)=>0===t?"Total":m(i.reduce((e,a)=>"number"==typeof a[t]?e+a[t]:e,0))),p=i.map(e=>e.map(e=>"number"==typeof e?m(e):e)),h=[o].concat(p,[u]);Object(s.render)(Object(r.createElement)(d,{country:a,rows:h}),e)};var E=e=>{window.DICharts.handler.addChart({className:e,d3:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();window.DIState?window.DIState.addListener(()=>{t.showLoading();const a=window.DIState.getState,{country:n,dataOne:r}=a;if(n&&r){const a=b(g(r,n||"United States","donor_name"),c,"purpose_name");_(e,a,n||"United States"),t.hideLoading(),e.parentElement.classList.add("auto-height")}}):console.log("State is not defined")})}}})};const N=e=>{const t=document.createElement("div");return t.classList.add("spotlight-banner","data-selector--wrapper"),e.parentElement.insertBefore(t,e),t},L=(e,t)=>{const a=document.createElement("option");a.value="string"==typeof t?t:t.value,a.text="string"==typeof t?t:t.label,e.appendChild(a)},C=e=>{let{wrapper:t,options:a,defaultOption:n,allItemsLabel:r,className:o,label:s}=e;const i=document.createElement("select");if(i.classList.add("data-selector","js-plotly-chart-data-selector",o),r&&L(i,{label:r,value:"*"}),a.forEach(e=>L(i,e)),i.classList.add("data-selector--active"),n&&(i.value=n),s){const e=document.createElement("label");e.innerHTML=s;const a=document.createElement("div");a.classList.add("labelled-data-selector--wrapper"),a.appendChild(e),a.appendChild(i),t.appendChild(a)}else t.appendChild(i);return i};var O=e=>{window.DICharts.handler.addChart({className:e,d3:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();D("https://raw.githubusercontent.com/devinit/di-website-data/main/2024/rh-and-fp-dropdowns.csv").then(a=>{const n=N(e),r=C({wrapper:n,options:a.map(e=>e.Donors),defaultOption:"United States",className:"country-filter",label:"Select donor"});window.DIState&&window.DIState.setState({country:"United States"}),r.addEventListener("change",e=>{const{value:t}=e.currentTarget;window.DIState&&window.DIState.setState({country:t})}),t.hideLoading(),e.parentElement.classList.add("auto-height")})})}}})},A=a(2),x=a.n(A);const U={rainbow:["#e84439","#eb642b","#f49b21","#109e68","#0089cc","#893f90","#c2135b","#f8c1b2","#f6bb9d","#fccc8e","#92cba9","#88bae5","#c189bb","#e4819b"],default:["#6c120a","#a21e25","#cd2b2a","#dc372d","#ec6250","#f6b0a0","#fbd7cb","#fce3dc"],sunflower:["#7d4712","#ba6b15","#df8000","#f7a838","#fac47e","#fedcab","#fee7c1","#feedd4"],marigold:["#7a2e05","#ac4622","#cb5730","#ee7644","#f4a57c","#facbad","#fcdbbf","#fde5d4"],rose:["#65093d","#8d0e56","#9f1459","#d12568","#e05c86","#f3a5b6","#f6b8c1","#f9cdd0"],lavendar:["#42184c","#632572","#732c85","#994d98","#af73ae","#cb98c4","#deb5d6","#ebcfe5"],bluebell:["#0a3a64","#00538e","#1060a3","#4397d3","#77adde","#a3c7eb","#bcd4f0","#d3e0f4"],leaf:["#08492f","#005b3e","#00694a","#3b8c62","#74bf93","#a2d1b0","#b1d8bb","#c5e1cb"]};var k={legend:{top:10,textStyle:{fontFamily:"Geomanist Regular,sans-serif"}},tooltip:{trigger:"axis",textStyle:{fontFamily:"Geomanist Regular,sans-serif"},axisPointer:{type:"none"}},toolbox:{showTitle:!1,feature:{saveAsImage:{show:!1,title:"Save as image",pixelRatio:2}},right:20,tooltip:{show:!0,textStyle:{fontFamily:"Geomanist Regular,sans-serif",formatter:e=>"
"+e.title+"
"}}},color:U.rainbow,xAxis:{axisLabel:{fontFamily:"Geomanist Regular,sans-serif",fontSize:13},splitLine:{show:!1}},yAxis:{axisLabel:{fontFamily:"Geomanist Regular,sans-serif",fontSize:13},splitLine:{show:!1}},axisPointer:{type:"none"},grid:{top:10}},T=o.a.createElement("div",{className:"no-data"},"No Data");var F=()=>T;const j=(e,t,a,n,r)=>{const o=b(e,[t],r);return v(o,a,n)},R=function(e,t){void 0===t&&(t=!0),t?e.classList.remove("invisible"):e.classList.add("invisible")},P=e=>{e.classList.add("no-data--wrapper"),Object(s.unmountComponentAtNode)(e),Object(s.render)(Object(r.createElement)(F),e)},G=e=>{e.classList.remove("no-data--wrapper"),Object(s.unmountComponentAtNode)(e)},$=(e,t)=>c.map(a=>({name:a,type:"bar",stack:"oda",tooltip:{valueFormatter:e=>"US$"+m(e)+" million"},data:j(e,a,t,"usd_disbursement_deflated_Sum","purpose_name")})).map((e,t,a)=>t===a.length-1?{...e,label:{normal:{show:!0,position:"top",fontFamily:"Geomanist Regular,sans-serif",formatter:e=>{const t=a.reduce((t,a)=>{const n=a.data[e.dataIndex];return t+parseFloat(n||0)},0);return m(t)},color:"#000000"}}}:e);var M=e=>{window.DICharts.handler.addChart({className:e,echarts:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();const a=N(e);window.DIState?window.DIState.addListener(()=>{t.showLoading();const n=window.DIState.getState,{country:r,dataOne:o}=n;if(r&&o){const n=b(g(o,r||"United States","donor_name"),c,"purpose_name");((e,t,a)=>{if(!a.length)return R(e,!1),void P(t);R(e),G(t);const n=window.echarts.init(e),r=S(l),o=x()(k,{legend:{show:!0,selectedMode:!1},xAxis:{type:"category",data:r},yAxis:{type:"value",name:"US$ millions (constant ".concat(r[r.length-1]," prices)"),nameLocation:"middle",nameGap:50},grid:{top:60},series:$(a,r)});o.color=["#e84439","#f8c1b2"].concat(o.color),n.setOption(o)})(e,a,n),t.hideLoading()}}):(console.log("State is not defined"),t.hideLoading())})}}})};const H=(e,t)=>{const a=e.reduce((e,t)=>(e.includes(t.aid_type_di_name)||e.push(t.aid_type_di_name),e),[]),n=a.map(a=>j(e,a,t,"usd_disbursement_deflated_Sum","aid_type_di_name")),r=((e,t)=>{const a=Object.keys(t).map(e=>({[e]:t[e].reduce((e,t)=>e+t,0)}));return e.map(e=>e.map((e,t)=>{const n=parseFloat(e),r=parseFloat(a[t]?a[t][t]:1);return isNaN(n)||isNaN(r)||0===n||0===n?0:n/r*100}))})(n,(e=>{let t={};for(let a=0;a({name:e,type:"bar",stack:"oda",data:r[t]}))},B=(e,t)=>{const a=m(((e,t,a)=>{const n=b(e,[t],"aid_type_di_name");return v(n,a,"usd_disbursement_deflated_Sum")})(e,t.seriesName,[t.name]));return'\n
\n '+t.marker+t.seriesName+':\n \n '+m(Number(t.value,10))+"% - US$"+a+" million\n \n
"},Y=(e,t,a)=>{if(!a.length)return R(e,!1),void P(t);R(e),G(t);const n=window.echarts.init(e),r=S(u),o=x()(k,{legend:{show:!0,selectedMode:!1},tooltip:{trigger:"axis",formatter:e=>e.map(e=>B(a,e)).join("")},xAxis:{type:"category",data:r},yAxis:{type:"value",axisLabel:{formatter:"{value}%"},max:100},grid:{top:60},series:H(a,r)});o.color=["#f8c1b2","#f0826d","#bc2629","#8f1b13"].concat(o.color),n.setOption(o,{replaceMerge:["series"]})};var z=e=>{window.DICharts.handler.addChart({className:e,echarts:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();const a=N(e),n=N(e);let r,o="Reproductive health care";window.DIState?window.DIState.addListener(()=>{t.showLoading();const s=window.DIState.getState,{country:i,odaAidType:d}=s;if(i&&d){const s=b(g(d,i||"United States","donor_name"),[o],"purpose_name");r||(r=C({wrapper:a,options:d.reduce((e,t)=>{const a=t.purpose_name;return a&&!e.includes(a)?e.concat(a):e},[]),defaultOption:o,className:"purpose-code-filter",label:"Select purpose code"}),r.addEventListener("change",t=>{o=t.target.value;const{country:a}=window.DIState.getState,r=b(g(d,a||"United States","donor_name"),[o],"purpose_name");Y(e,n,r)})),Y(e,n,s),t.hideLoading()}}):(console.log("State is not defined"),t.hideLoading())})}}})};const J=e=>{const t=function(e,t){return void 0===t&&(t=!1),e.map((a,n)=>o.a.createElement("tr",{key:n},a.map((a,r)=>t?o.a.createElement("th",{key:r},a):n===e.length-1&&0===r?o.a.createElement("td",{colSpan:2,key:r},a):o.a.createElement("td",{key:r},a))))};return o.a.createElement(i,null,o.a.createElement("thead",null,t(e.rows.filter((e,t)=>0===t),!0)),o.a.createElement("tbody",null,t(e.rows.filter((e,t)=>t>0))))},q=(e,t,a,n)=>{const o=[2018,2022],i=o[1]-o[0]+1,d=[];for(const e of Array(i).keys())d.push(e);const c=["Rank","Recipient"].concat(d.map(e=>o[0]+e)),l=e.filter(e=>a===e["Code type"]),u=g(l,t,"donor_name"),{sortedData:p,unsortedData:h}=(e=>{let t=[...e];const a=[];if(e.length<10)for(let n=0;n=1){let e=t.reduce((e,t)=>Number(e[2022])=1){let e=t.reduce((e,t)=>Number(e[2022])t.map(t=>{const a=e.map(e=>Number(e[t])).reduce((e,t)=>e+t,0);return m(a,0)}))(h,d.map(e=>(o[0]+e).toString())),f=[c].concat((e=>{const t=[];if(e.length<10){if(0===e.length)return t;for(let a=0;a=1&&t.push([a+1,e[a].recipient_name,m(Number(e[a][2018]),0),m(Number(e[a][2019]),0),m(Number(e[a][2020]),0),m(Number(e[a][2021]),0),m(Number(e[a][2022]),0)]);return t}for(let a=0;a<10;a++)e.length>=1&&t.push([a+1,e[a].recipient_name,m(Number(e[a][2018]),0),m(Number(e[a][2019]),0),m(Number(e[a][2020]),0),m(Number(e[a][2021]),0),m(Number(e[a][2022]),0)]);return t})(p)).concat([["Total of all other recipients"].concat(w)]);Object(s.render)(Object(r.createElement)(J,{rows:f}),n)};var K=e=>{window.DICharts.handler.addChart({className:e,echarts:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();const a=N(e);let n,r="Reproductive health care and family planning",o="United States";window.DIState?window.DIState.addListener(()=>{t.showLoading();const s=window.DIState.getState,{country:i,dataTwo:d}=s;o=i,o&&d&&(n||(n=C({wrapper:a,options:d.reduce((e,t)=>{const a=t["Code type"];return a&&!e.includes(a)?e.concat(a):e},[]),defaultOption:r,className:"purpose-code-filter",label:"Select purpose code"}),n.addEventListener("change",t=>{r=t.target.value,q(d,o,r,e)})),q(d,o,r,e),t.hideLoading(),e.parentElement.classList.add("auto-height"))}):(console.log("State is not defined"),t.hideLoading())})}}})};const Q=e=>{const t=function(e,t){return void 0===t&&(t=!1),e.map((e,a)=>o.a.createElement("tr",{key:a},e.map((e,a)=>t?o.a.createElement("th",{key:a},e):o.a.createElement("td",{key:a},e))))};return o.a.createElement(i,null,o.a.createElement("thead",null,t(e.rows.filter((e,t)=>0===t),!0)),o.a.createElement("tbody",null,t(e.rows.filter((e,t)=>t>0))))},V=(e,t,a,n)=>{const o=g(t,a||"United States","donor_name"),i=((e,t)=>{const a=[["Aid Type",2022,"% Total"]],n=e.reduce((e,t)=>{const a=t.aid_type_di_name;return a&&!e.includes(a)&&e.push(a),e},[]),r=t.map(e=>Number(e.usd_disbursement_deflated_Sum)).reduce((e,t)=>e+t,0),o=n.map(e=>{const a=t.find(t=>t.aid_type_di_name===e),n=a?a.usd_disbursement_deflated_Sum:0,o=0!==n?(m(n/r*100)||0)+"%":0;return[e].concat(m(n,0),[o])});return a.concat(o,[["Total",m(r,0),r?"100%":"0%"]])})(t,(e=>e.filter(e=>""+e.year=="2022"))(b(o,n,"purpose_name")));Object(s.render)(Object(r.createElement)(Q,{country:a,rows:i}),e)};var W=e=>{window.DICharts.handler.addChart({className:e,d3:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);let a;t.showLoading();let n="United States";window.DIState?window.DIState.addListener(()=>{t.showLoading();const r=window.DIState.getState,{country:o,odaAidType:s}=r;if(n=o,n&&s){const r=function(e,t){void 0===t&&(t="purpose_name");const a=[];return e.forEach(e=>{e[t]&&!a.includes(e[t])&&a.push(e[t])}),a}(s);let o=r[0];if(!a){const t=N(e);a=C({wrapper:t,options:r,defaultOption:o,className:"purpose-code-filter",label:"Select purpose code"}),a.addEventListener("change",t=>{o=t.target.value,V(e,s,n||"United States",o)})}V(e,s,n||"United States",o),t.hideLoading(),e.parentElement.classList.add("auto-height")}}):console.log("State is not defined")})}}})};var X=e=>{const t=function(e,t){return void 0===t&&(t=!1),e.map((e,a)=>o.a.createElement("tr",{key:a},e.map((e,a)=>t?o.a.createElement("th",{key:a},e):o.a.createElement("td",{key:a},e))))};return o.a.createElement(i,null,o.a.createElement("thead",null,t(e.rows.filter((e,t)=>0===t),!0)),o.a.createElement("tbody",null,t(e.rows.filter((e,t)=>t>0))))};const Z={"University, College Or Other Teaching Institution, Research Institute Or Think?Tank":"University, other teaching institution, research institute or think-tank"},ee=(e,t,a)=>{const n=["Channel"].concat(2022,"% Total"),o=(e=>{const t=Object.keys(e).reduce((t,a)=>t+Number(e[a]||0),0);return Object.keys(e).map(a=>[Z[a]||a,m(e[a]),(m(e[a]/t*100||0)||0)+"%"]).concat([["Total",m(t),t?"100%":"0%"]])})((e=>e.reduce((e,t)=>({...e,[t.oecd_aggregated_channel]:parseFloat(e[t.oecd_aggregated_channel]||0)+parseFloat(t.usd_disbursement_deflated_Sum||0)}),{}))(t)),i=[n].concat(o);Object(s.render)(Object(r.createElement)(X,{country:a,rows:i}),e)};var te=e=>{window.DICharts.handler.addChart({className:e,d3:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();const a=N(e);let n,r="United States";window.DIState?window.DIState.addListener(()=>{t.showLoading();const o=window.DIState.getState,{country:s,odaChannels:i,purpose:d}=o;if(r=s,r&&i){const s=(e=>e.reduce((e,t)=>t.purpose_name&&!e.includes(t.purpose_name)?e.concat(t.purpose_name):e,[]))(i),c=b(g(i,r||"United States","donor_name"),d||s[0],"purpose_name");n||(n=C({wrapper:a,options:s,defaultOption:s[0],className:"purpose-code-filter",label:"Select purpose code"}),o&&window.DIState.setState({purpose:s[0]}),n.addEventListener("change",e=>{window.DIState.setState({purpose:e.target.value})})),ee(e,c,r||"United States"),t.hideLoading(),e.parentElement.classList.add("auto-height")}}):console.log("State is not defined")})}}})},ae=a(10),ne=a.n(ae),re=a(6),oe=a.n(re);const se=e=>{let{data:t,position:a}=e;return o.a.createElement("div",{className:oe()("custom-legend",{right:"right"===a})},t.map((e,t)=>o.a.createElement("div",{className:oe()("legend-item",{label:e.label}),key:""+t},!e.label&&e.colour?o.a.createElement("span",{className:"badge",style:{backgroundColor:e.colour}}):null,o.a.createElement("span",{className:"text"},e.caption))))};se.defaultProps={data:[]};var ie=se;const de={"University, College Or Other Teaching Institution, Research Institute Or Think?Tank":"University, other teaching institution, research institute or think-tank"},ce=function(e,t,a){void 0===a&&(a="right"),Object(s.render)(Object(r.createElement)(ie,{data:t,position:a}),e)},le=(e,t,a,n,r)=>{n.push({caption:"Breakdown",label:!0}),n=n.concat(ue(t,a,r)),ce(e,n)},ue=(e,t,a)=>e.children.sort((e,t)=>e.value-t.value).reverse().map(e=>{if(e.value){const n=m(e.value/t.value*100),r=ne()(a).lighten(.2);return{caption:e.name+" | US$"+m(e.value)+" million - "+n+"%",colour:r.hex()}}return{caption:e.name,colour:"#333"}}),pe=(e,t,a,n,r)=>{((e,t,a)=>{if(!t.length)return e.classList.add("invisible"),void P(a);e.classList.remove("invisible"),G(a);const n=window.echarts.init(e),r=U.rainbow,o=t.map((e,t)=>({caption:e.name,colour:r[t]})),s=()=>ce(a,o),i={tooltip:{show:!0,trigger:"item",formatter:e=>{if(!e.name)return"Go Back";if(e.treePathInfo.length>1){const t=e.treePathInfo[e.treePathInfo.length-2],a=m(e.value/t.value*100);return e.name+" | US$"+m(e.value)+" million - "+a+"%"}return e.name+" | US$"+m(e.value)+" million"}},xAxis:{show:!1},yAxis:{show:!1},series:{type:"sunburst",nodeClick:!1,emphasis:{focus:"descendant"},sort:void 0,data:t.map((e,t)=>(e.itemStyle={color:r[t]},e)),radius:["20%","100%"],label:{show:!1},levels:[{itemStyle:{color:"#333",opacity:.7},r:120},{r:145},{radius:[150,170]}]},toolbox:{showTitle:!1,feature:{saveAsImage:{show:!1}}}};n.setOption({...x()(k,i),color:r}),s(),n.on("mouseover",(function(e){if(!e.name)return;let n=o.filter(t=>e.treePathInfo.find(e=>e.name===t.caption));if(e.treePathInfo.length>1){const r=t.find(t=>t.name===e.name);if(r&&r.children)return void le(a,r,e,n,e.color);const o=e.treePathInfo[e.treePathInfo.length-2],s=t.find(e=>e.name===o.name);s&&s.children?le(a,s,o,n,n[0].colour):ce(a,n)}})),n.on("mouseout",(function(){s()}))})(e,((e,t)=>{const a=e.map(e=>({...e,[t.parent]:de[e[t.parent]]||e[t.parent],[t.child]:de[e[t.child]]||e[t.child]}));return a.map(e=>e[t.value]?{...e,[t.value]:m(e[t.value])}:e).reduce((e,a)=>e.includes(a[t.parent])?e:e.concat(a[t.parent]),[]).map(e=>((e,t,a,n)=>{const r={name:t},o=e.filter(e=>e[a.parent]===("string"==typeof t?t:t[a.parent]));if(o.length)r.children=o.map(e=>({name:e[a.child],value:e[a.value]}));else if("string"==typeof t){const n=e.find(e=>e[a.parent]===t);r.value=n[a.value]}else r.value=t[a.value];return n&&(r.itemStyle={color:n}),r})(a,e,t))})(b(g(t,a||"United States","donor_name"),n,"purpose_name"),{parent:"oecd_aggregated_channel",child:"oecd_channel_parent_name",value:"usd_disbursement_deflated_Sum"}),r)};var me=e=>{window.DICharts.handler.addChart({className:e,d3:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement),a=N(e);let n,r,o="United States";if(!window.DIState)return void console.log("State is not defined");const s=N(e);window.DIState.addListener(()=>{t.showLoading();const i=window.DIState.getState,{country:d,odaChannels:c}=i;if(o=d,o&&c){if(!n){const t=((e,t)=>e.reduce((e,a)=>{const n=a[t];return n&&!e.includes(n)?e.concat(n):e},[]))(c,"purpose_name");r=t[0],n=C({wrapper:a,options:t,defaultOption:r,className:"purpose-code-filter",label:"Select purpose code"}),n.addEventListener("change",t=>{r=t.target.value,pe(e,h(c,"usd_disbursement_deflated_Sum"),o,r,s)})}pe(e,h(c,"usd_disbursement_deflated_Sum"),o,r,s),t.hideLoading(),e.parentElement.classList.add("auto-height")}})})}}})};var he=()=>{y([{url:"https://raw.githubusercontent.com/devinit/di-website-data/main/2024/RH_and_FP_Purpose_code_trends_chart_OECD.csv",state:"dataOne"},{url:"https://raw.githubusercontent.com/devinit/di-website-data/main/2024/donor_by_recip_2019.csv",state:"dataTwo"},{url:"https://raw.githubusercontent.com/devinit/di-website-data/main/2024/RH_FP_aid_type_OECD.csv",state:"odaAidType"},{url:"https://raw.githubusercontent.com/devinit/di-website-data/main/2024/RH_FP_channels_OECD.csv",state:"odaChannels"}],{country:"United States"}),O("dicharts--donor-selector"),E("dicharts--table-one"),M("dicharts--chart-one"),z("dicharts--chart-two"),K("dicharts--table-two"),W("dicharts--table-three"),te("dicharts--table-four"),me("dicharts--chart-three")};a(26);const we=["Reproductive health care","Family planning"],fe=[2019,2023],ge=(e,t)=>(e=>{const t={};return e.forEach(e=>{t[e.year]?t[e.year]={...t[e.year],value:(parseFloat(e.value?e.value:0)+parseFloat(t[e.year].value?t[e.year].value:0)).toFixed(3)}:t[e.year]=e}),Object.values(t).map(e=>e.value)})(Object(n.f)(e).filter(e=>e.purpose_name===t&&e.year>=2019&&e.year<=2023).map(e=>({year:e.year,value:e.x_transaction_value_usd_m_Sum}))),be=(e,t)=>we.map(t=>({name:t,type:"bar",stack:"oda",tooltip:{valueFormatter:e=>"US$"+m(e)+" million"},data:ge(e,t)})).map((e,t,a)=>t===a.length-1?{...e,label:{normal:{show:!0,position:"top",formatter:e=>{const t=a.reduce((t,a)=>{const n=a.data[e.dataIndex];return t+parseFloat(n||0)},0);return m(t)},color:"#000000"}}}:e);var ye=e=>{window.DICharts.handler.addChart({className:e,echarts:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();const a=N(e);window.DIState?window.DIState.addListener(()=>{t.showLoading();const n=window.DIState.getState,{countryIati:r,dataOneIati:o}=n;if(r&&o){const n=b(f(o,r||"US","Reporting Organisation Narrative"),we,"purpose_name");((e,t,a)=>{if(!a.length)return R(e,!1),void P(t);R(e),G(t);const n=window.echarts.init(e),r=S(fe),o=x()(k,{legend:{show:!0,selectedMode:!1},xAxis:{type:"category",data:r},yAxis:{type:"value",name:"USD$ millions (current prices)",nameLocation:"middle",nameGap:50},grid:{top:60},series:be(a)});o.color=["#e84439","#f8c1b2"].concat(o.color),n.setOption(o)})(e,a,n),t.hideLoading()}}):(console.log("State is not defined"),t.hideLoading())})}}})};const Se=[2019,2023],ve=(e,t)=>{const a=e.reduce((e,t)=>(e.includes(t["Aid Type Di Name"])||e.push(t["Aid Type Di Name"]),e),[]),n=a.map(a=>j(e,a,t,"Usd Disbursement Deflated Sum","Aid Type Di Name")),r=((e,t)=>{const a=Object.keys(t).map(e=>({[e]:t[e].reduce((e,t)=>e+t,0)}));return e.map(e=>e.map((e,t)=>{const n=parseFloat(e),r=parseFloat(a[t]?a[t][t]:1);return isNaN(n)||isNaN(r)||0===n||0===n?0:n/r*100}))})(n,(e=>{let t={};for(let a=0;a({name:e,type:"bar",stack:"oda",data:r[t]}))},Ie=(e,t)=>{const a=m(((e,t,a)=>{const n=b(e,[t],"Aid Type Di Name");return v(n,a,"Usd Disbursement Deflated Sum")})(e,t.seriesName,[t.name]));return'\n
\n '+t.marker+t.seriesName+':\n \n '+m(Number(t.value,10))+"% - US$"+a+" million\n \n
"},De=(e,t,a)=>{if(!a.length)return R(e,!1),void P(t);R(e),G(t);const n=window.echarts.init(e),r=S(Se),o=x()(k,{legend:{show:!0,selectedMode:!1},tooltip:{trigger:"axis",formatter:e=>e.map(e=>Ie(a,e)).join("")},xAxis:{type:"category",data:r},yAxis:{type:"value",axisLabel:{formatter:"{value}%"},max:100},grid:{top:60},series:ve(a,r)});o.color=["#f8c1b2","#f0826d","#e84439","#bc2629","#8f1b13"].concat(o.color),n.setOption(o,{replaceMerge:["series"]})};var _e=e=>{window.DICharts.handler.addChart({className:e,echarts:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();const a=N(e),n=N(e);let r,o="Reproductive health care";window.DIState?window.DIState.addListener(()=>{t.showLoading();const s=window.DIState.getState,{countryIati:i,dataFourIati:d}=s;if(i&&d){const s=I(b(f(d,i||"US","Donor Name"),[o],"Purpose Name"),"Year");r||(r=C({wrapper:a,options:d.reduce((e,t)=>{const a=t["Purpose Name"];return a&&!e.includes(a)?e.concat(a):e},[]),defaultOption:o,className:"purpose-code-filter",label:"Select purpose code"}),r.addEventListener("change",t=>{o=t.target.value;const{countryIati:a}=window.DIState.getState,r=I(b(f(d,a||"US","Donor Name"),[o],"Purpose Name"),"Year");De(e,n,r)})),De(e,n,s),t.hideLoading()}}):(console.log("State is not defined"),t.hideLoading())})}}})};var Ee=e=>{window.DICharts.handler.addChart({className:e,d3:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();let a=[];const n=N(e);window.DIState?window.DIState.addListener(()=>{t.showLoading();const r=window.DIState.getState,{dataOneIati:o}=r;if(o&&o.length&&!a.length){a=o.reduce((e,t)=>{const a=t["Reporting Organisation Narrative"];return e.includes(a)?e:e.concat(a)},[]).filter(e=>!!e).sort((e,t)=>{var a=e.toUpperCase(),n=t.toUpperCase();return an?1:0}).map(e=>({label:e,value:e}));const r=C({wrapper:n,options:a,defaultOption:"US",className:"country-filter-iati",label:"Select Donor"});window.DIState&&window.DIState.setState({countryIati:"US"}),r.addEventListener("change",e=>{const{value:t}=e.currentTarget;window.DIState.setState({countryIati:t})}),t.hideLoading(),e.parentElement.classList.add("auto-height")}}):console.log("State is not defined")})}}})};var Ne=e=>{window.DICharts.handler.addChart({className:e,d3:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading(),window.DIState?window.DIState.addListener(()=>{t.showLoading();const a=window.DIState.getState,{countryIati:n,dataOneIati:o}=a;if(n&&o){const a=b(f(o,n||"US","Reporting Organisation Narrative"),we,"purpose_name");((e,t,a)=>{const n=S(fe),o=["Purpose code"].concat(n),i=[o].concat(we.map(e=>{const a=b(t,[e],"purpose_name");return o.reduce((t,n,r)=>{if(0===r)return t.concat(e);const o=a.filter(e=>parseFloat(e.year)===n).reduce((e,t)=>e+Number(t.x_transaction_value_usd_m_Sum),0);return t.concat(m(o))},[])}));Object(s.render)(Object(r.createElement)(d,{country:a,rows:i}),e)})(e,a,n||"US"),t.hideLoading(),e.parentElement.classList.add("auto-height")}}):console.log("State is not defined")})}}})};const Le=e=>{const t=function(e,t){return void 0===t&&(t=!1),e.map((e,a)=>o.a.createElement("tr",{key:a},e.map((e,a)=>t?o.a.createElement("th",{key:a},e):o.a.createElement("td",{key:a},e))))};return o.a.createElement(i,null,o.a.createElement("thead",null,t(e.rows.filter((e,t)=>0===t),!0)),o.a.createElement("tbody",null,t(e.rows.filter((e,t)=>t>0))))},Ce=(e,t,a,n)=>{const o=f(t,a||"US","Donor Name"),i=((e,t)=>{const a=[["Aid Type",2023,"% Total"]],n=e.reduce((e,t)=>(e.includes(t["Aid Type Di Name"])||void 0!==t["Aid Type Di Name"]&""!==t["Aid Type Di Name"]&&e.push(t["Aid Type Di Name"]),e),[]),r=t.map(e=>Number(e["Usd Disbursement Deflated Sum"])).reduce((e,t)=>e+t,0),o=n.map(e=>{const a=t.find(t=>t["Aid Type Di Name"]===e),n=a?a["Usd Disbursement Deflated Sum"]:0,o=(m(n/r*100)||0)+"%";return[e].concat(m(n),[o])});return a.concat(o,[["Total",m(r),r?"100%":"0%"]])})(t,(e=>e.filter(e=>2023===Number(e.Year)))(b(o,n,"Purpose Name")));Object(s.render)(Object(r.createElement)(Le,{country:a,rows:i}),e)};var Oe=e=>{window.DICharts.handler.addChart({className:e,d3:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);let a;t.showLoading();let n="US";window.DIState?window.DIState.addListener(()=>{t.showLoading();const r=window.DIState.getState,{countryIati:o,dataFourIati:s}=r;if(n=o,n&&s){const r=(e=>{const t=[];return e.forEach(e=>{t.includes(e["Purpose Name"])||void 0!==e["Purpose Name"]&&t.push(e["Purpose Name"])}),t})(s);let o=r[0];if(!a){const t=N(e);a=C({wrapper:t,options:r,defaultOption:o,className:"purpose-code-filter",label:"Select Purpose Code"}),a.addEventListener("change",t=>{o=t.target.value,Ce(e,s,n||"US",o)})}Ce(e,s,n||"US",o),t.hideLoading(),e.parentElement.classList.add("auto-height")}}):console.log("State is not defined")})}}})};const Ae=[2019,2023],xe=e=>e+".0",Ue=(e,t,a,n)=>{const o=S(Ae),i=["Rank","Recipient"].concat(o),d=e.filter(e=>a===e["Code type"]),c=f(d,t,"Reporting Organisation Narrative"),{sortedData:l,unsortedData:u}=(e=>{let t=[...e];const a=[],n=Ae[1];for(let e=0;e<10;e++)if(t.length>=1){let e=t.reduce((e,t)=>Number(e[xe(n)]){let a=[];return t.forEach(t=>{const n=e.map(e=>parseFloat(Number(e[xe(t)]))||0).reduce((e,t)=>e+t,0);a.push(m(n))}),a})(u,o),h=[i].concat(((e,t)=>{const a=[];for(let n=0;n=1){const r=n+1;a.push([r,e[n].recipient_name].concat(t.map(t=>e[n][xe(t)]?m(e[n][xe(t)],0):0)))}return a})(l,o)).concat([["All other recipients (sum)"].concat(p)]);Object(s.render)(Object(r.createElement)(J,{rows:h}),n)};var ke=e=>{window.DICharts.handler.addChart({className:e,echarts:{onAdd:e=>{Array.prototype.forEach.call(e,e=>{const t=new window.DICharts.Chart(e.parentElement);t.showLoading();const a=N(e);let n;window.DIState?window.DIState.addListener(()=>{t.showLoading();const r=window.DIState.getState,{countryIati:o,dataTwoIati:s,purposeIati:i}=r;o&&s&&(n||(n=C({wrapper:a,options:s.reduce((e,t)=>{const a=t["Code type"];return e.includes(a)?e:e.concat(a)},[]).filter(e=>!!e).map(e=>({label:e,value:e})),defaultOption:"Reproductive health care and family planning",className:"purpose-code-filter",label:"Select Purpose Code"}),window.DIState.setState({purposeIati:"Reproductive health care and family planning"}),n.addEventListener("change",e=>{window.DIState.setState({purposeIati:e.target.value})})),Ue(s,o,i,e),t.hideLoading(),e.parentElement.classList.add("auto-height"))}):(console.log("State is not defined"),t.hideLoading())})}}})};var Te=()=>{y([{url:"https://raw.githubusercontent.com/devinit/di-website-data/main/2022/IATI-RHFP-data-v1.csv",state:"dataOneIati"},{url:"https://raw.githubusercontent.com/devinit/di-website-data/main/2022/IATI-RHFP-data-v2.csv",state:"dataTwoIati"},{url:"https://raw.githubusercontent.com/devinit/di-website-data/main/2022/iati_rhfp4.csv",state:"dataFourIati"}],{countryIati:"US"}),Ee("dicharts--donor-selector-iati"),Ne("dicharts--table-one-iati"),ye("dicharts--chart-one-iati"),ke("dicharts--table-two-iati"),Oe("dicharts--table-three-iati"),_e("dicharts--chart-two-iati")};window.addEventListener("load",()=>{he(),Te()})}},[[11,1,2]]]); \ No newline at end of file