From 35461992f598497515a05f96feb4d40750c3fbbb Mon Sep 17 00:00:00 2001 From: okorie2 Date: Tue, 28 Feb 2023 12:13:27 +0100 Subject: [PATCH 01/69] feat: funding request design implementation --- src/app/components/Table/Simple/index.tsx | 1 + .../sub-modules/overview/index.tsx | 2 +- .../components/dataset-grid/index.tsx | 22 +++ src/app/modules/viz-module/index.tsx | 5 + .../table/data-wrappers/generic.tsx | 186 ++++++++++++++++++ .../table/data-wrappers/location.tsx | 140 +++++++++++++ .../fundingRequests/table/index.tsx | 37 ++++ 7 files changed, 392 insertions(+), 1 deletion(-) create mode 100644 src/app/modules/viz-module/sub-modules/fundingRequests/table/data-wrappers/generic.tsx create mode 100644 src/app/modules/viz-module/sub-modules/fundingRequests/table/data-wrappers/location.tsx create mode 100644 src/app/modules/viz-module/sub-modules/fundingRequests/table/index.tsx diff --git a/src/app/components/Table/Simple/index.tsx b/src/app/components/Table/Simple/index.tsx index f99388463..94178a1f6 100644 --- a/src/app/components/Table/Simple/index.tsx +++ b/src/app/components/Table/Simple/index.tsx @@ -133,6 +133,7 @@ function Row(props: { ))} + - {locationInfoData.coordinatingMechanismContacts.length > 0 && ( + {locationInfoData.coordinatingMechanismContacts?.length > 0 && ( + + ); + })} + + + + {props.rows.map((row: SimpleTableRow) => ( + + ))} + + + +
+
); } diff --git a/src/app/components/ToolBoxPanel/components/filters/data.ts b/src/app/components/ToolBoxPanel/components/filters/data.ts index 122b78254..bf2384f97 100644 --- a/src/app/components/ToolBoxPanel/components/filters/data.ts +++ b/src/app/components/ToolBoxPanel/components/filters/data.ts @@ -215,7 +215,6 @@ export const pathnameToFilterGroups = { filtergroups, (fg: FilterGroupProps) => fg.name !== "Donors" && - fg.name !== "Replenishment Periods" && fg.name !== "Document Types" && fg.name !== "Portfolio Categorization" && fg.name !== "TRP Window" @@ -363,7 +362,6 @@ export const pathnameToFilterGroups = { filtergroups, (fg: FilterGroupProps) => fg.name !== "Donors" && - fg.name !== "Replenishment Periods" && fg.name !== "Document Types" && fg.name !== "Portfolio Categorization" && fg.name !== "TRP Window" diff --git a/src/app/modules/grant-detail-module/index.tsx b/src/app/modules/grant-detail-module/index.tsx index e9bbaed8a..fb77af7be 100644 --- a/src/app/modules/grant-detail-module/index.tsx +++ b/src/app/modules/grant-detail-module/index.tsx @@ -210,6 +210,7 @@ export default function GrantDetail() { /> )} +
Date: Fri, 19 May 2023 15:11:35 +0100 Subject: [PATCH 32/69] fix: remove replenishment period from budgets and grants --- src/app/components/ToolBoxPanel/components/filters/data.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/app/components/ToolBoxPanel/components/filters/data.ts b/src/app/components/ToolBoxPanel/components/filters/data.ts index bf2384f97..122b78254 100644 --- a/src/app/components/ToolBoxPanel/components/filters/data.ts +++ b/src/app/components/ToolBoxPanel/components/filters/data.ts @@ -215,6 +215,7 @@ export const pathnameToFilterGroups = { filtergroups, (fg: FilterGroupProps) => fg.name !== "Donors" && + fg.name !== "Replenishment Periods" && fg.name !== "Document Types" && fg.name !== "Portfolio Categorization" && fg.name !== "TRP Window" @@ -362,6 +363,7 @@ export const pathnameToFilterGroups = { filtergroups, (fg: FilterGroupProps) => fg.name !== "Donors" && + fg.name !== "Replenishment Periods" && fg.name !== "Document Types" && fg.name !== "Portfolio Categorization" && fg.name !== "TRP Window" From 473030d753b0dd91f44fb10e392900af7643e26f Mon Sep 17 00:00:00 2001 From: okorie2 Date: Mon, 22 May 2023 14:59:20 +0100 Subject: [PATCH 33/69] feat: add All filter to allocation period filter --- .../components/allocationsperiods/index.tsx | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/app/components/ToolBoxPanel/components/allocationsperiods/index.tsx b/src/app/components/ToolBoxPanel/components/allocationsperiods/index.tsx index 965b6509e..ccd230d5b 100644 --- a/src/app/components/ToolBoxPanel/components/allocationsperiods/index.tsx +++ b/src/app/components/ToolBoxPanel/components/allocationsperiods/index.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import React, { useEffect } from "react"; import get from "lodash/get"; import { useStoreState, useStoreActions } from "app/state/store/hooks"; import { ToolBoxPanelAggregateBy } from "app/components/ToolBoxPanel/components/aggregateby"; @@ -8,6 +8,21 @@ export function AllocationsPeriods() { (state) => get(state.AllocationsPeriods.data, "data", []) as string[] ); + const minMaxPeriod = `${ + dataPeriodOptions[dataPeriodOptions.length - 1].split("-")[1] + } - ${dataPeriodOptions[0].split("-")[0]}`; + + const [periodList, setPeriodList] = React.useState( + dataPeriodOptions.map((period: string) => ({ + label: period, + value: period, + })) + ); + + useEffect(() => { + setPeriodList([...periodList, { label: "All", value: minMaxPeriod }]); + }, []); + const selectedPeriod = useStoreState( (state) => state.ToolBoxPanelAllocationsPeriodState.value ); @@ -25,10 +40,7 @@ export function AllocationsPeriods() { title="Period" selected={selectedPeriod} setSelected={setSelectedPeriod} - options={dataPeriodOptions.map((period: string) => ({ - label: period, - value: period, - }))} + options={periodList} /> ); } From 72874f7dd5e643f59d34ef0e51dc5e48f2c770c5 Mon Sep 17 00:00:00 2001 From: Stefanos Hadjipetrou Date: Mon, 22 May 2023 17:49:12 +0300 Subject: [PATCH 34/69] fix: allocations all periods filter --- .../components/allocationsperiods/index.tsx | 25 +++++++++++-------- .../sub-modules/allocations/geomap/index.tsx | 9 ++++--- .../sub-modules/allocations/index.tsx | 19 +++++++++----- 3 files changed, 33 insertions(+), 20 deletions(-) diff --git a/src/app/components/ToolBoxPanel/components/allocationsperiods/index.tsx b/src/app/components/ToolBoxPanel/components/allocationsperiods/index.tsx index ccd230d5b..7573b362f 100644 --- a/src/app/components/ToolBoxPanel/components/allocationsperiods/index.tsx +++ b/src/app/components/ToolBoxPanel/components/allocationsperiods/index.tsx @@ -1,4 +1,4 @@ -import React, { useEffect } from "react"; +import React from "react"; import get from "lodash/get"; import { useStoreState, useStoreActions } from "app/state/store/hooks"; import { ToolBoxPanelAggregateBy } from "app/components/ToolBoxPanel/components/aggregateby"; @@ -8,19 +8,22 @@ export function AllocationsPeriods() { (state) => get(state.AllocationsPeriods.data, "data", []) as string[] ); - const minMaxPeriod = `${ - dataPeriodOptions[dataPeriodOptions.length - 1].split("-")[1] - } - ${dataPeriodOptions[0].split("-")[0]}`; - - const [periodList, setPeriodList] = React.useState( - dataPeriodOptions.map((period: string) => ({ + const [periodList, setPeriodList] = React.useState([ + { label: "All", value: "All" }, + ...dataPeriodOptions.map((period: string) => ({ label: period, value: period, - })) - ); + })), + ]); - useEffect(() => { - setPeriodList([...periodList, { label: "All", value: minMaxPeriod }]); + React.useEffect(() => { + setPeriodList([ + { label: "All", value: "All" }, + ...dataPeriodOptions.map((period: string) => ({ + label: period, + value: period, + })), + ]); }, []); const selectedPeriod = useStoreState( diff --git a/src/app/modules/viz-module/sub-modules/allocations/geomap/index.tsx b/src/app/modules/viz-module/sub-modules/allocations/geomap/index.tsx index 99c2a5818..e9b6dacea 100644 --- a/src/app/modules/viz-module/sub-modules/allocations/geomap/index.tsx +++ b/src/app/modules/viz-module/sub-modules/allocations/geomap/index.tsx @@ -76,9 +76,12 @@ export function AllocationsGeoMap(props: Props) { ); if (geomapView === "countries") { fetchData({ - filterString: `periods=${selectedPeriod}${ - filterString.length > 0 ? `&${filterString}` : "" - }`, + filterString: + selectedPeriod !== "All" + ? `periods=${selectedPeriod}${ + filterString.length > 0 ? `&${filterString}` : "" + }` + : "", }); } else if (geomapView === "multicountries") { fetchMCData({ filterString }); diff --git a/src/app/modules/viz-module/sub-modules/allocations/index.tsx b/src/app/modules/viz-module/sub-modules/allocations/index.tsx index 0bf1ba7ec..8098e70b9 100644 --- a/src/app/modules/viz-module/sub-modules/allocations/index.tsx +++ b/src/app/modules/viz-module/sub-modules/allocations/index.tsx @@ -269,9 +269,12 @@ export function AllocationsModule(props: AllocationsModuleProps) { ); fetchData({ - filterString: `periods=${selectedPeriod}${ - filterString.length > 0 ? `&${filterString}` : "" - }`, + filterString: + selectedPeriod !== "All" + ? `periods=${selectedPeriod}${ + filterString.length > 0 ? `&${filterString}` : "" + }` + : "", }); }, [props.code, appliedFilters, selectedPeriod]); @@ -309,9 +312,13 @@ export function AllocationsModule(props: AllocationsModuleProps) { ) .split(",") .map((s: string) => `'${s}'`) - .join(",")})&periods=${selectedPeriod}${ - filterString.length > 0 ? `&${filterString}` : "" - }`, + .join(",")})${ + selectedPeriod !== "All" + ? `&periods=${selectedPeriod}${ + filterString.length > 0 ? `&${filterString}` : "" + }` + : "" + }${filterString.length > 0 ? `&${filterString}` : ""}`, }); } else { [...items].forEach((item: Element) => { From e91a67016e9e6c309b0fd8b201aff306752b0be4 Mon Sep 17 00:00:00 2001 From: okorie2 Date: Fri, 26 May 2023 08:23:55 +0100 Subject: [PATCH 35/69] feat: rearrange access to funding content --- .../accessToFunding/fundingRequest/table.tsx | 15 ---- .../fundingRequest/tableWrapper.tsx | 47 +++++++++- .../sub-modules/accessToFunding/location.tsx | 85 ++++++++++++------- 3 files changed, 99 insertions(+), 48 deletions(-) diff --git a/src/app/modules/viz-module/sub-modules/accessToFunding/fundingRequest/table.tsx b/src/app/modules/viz-module/sub-modules/accessToFunding/fundingRequest/table.tsx index 04e167820..3e93c5847 100644 --- a/src/app/modules/viz-module/sub-modules/accessToFunding/fundingRequest/table.tsx +++ b/src/app/modules/viz-module/sub-modules/accessToFunding/fundingRequest/table.tsx @@ -19,8 +19,6 @@ interface FundingRequestTableProps { } export function Table(props: FundingRequestTableProps) { - const cmsData = useCMSData({ returnData: true }); - return (
-
-
- {get(cmsData, "modulesFundingRequests.tableDisclaimer", "")} -
-
); } diff --git a/src/app/modules/viz-module/sub-modules/accessToFunding/fundingRequest/tableWrapper.tsx b/src/app/modules/viz-module/sub-modules/accessToFunding/fundingRequest/tableWrapper.tsx index 46c3b6724..f7c3d68e7 100644 --- a/src/app/modules/viz-module/sub-modules/accessToFunding/fundingRequest/tableWrapper.tsx +++ b/src/app/modules/viz-module/sub-modules/accessToFunding/fundingRequest/tableWrapper.tsx @@ -14,6 +14,7 @@ import { ToolBoxPanelFilters } from "app/components/ToolBoxPanel/components/filt import { FilterGroupProps } from "app/components/ToolBoxPanel/components/filters/data"; import { Table } from "app/modules/viz-module/sub-modules/accessToFunding/fundingRequest/table"; import { fundingRequestColumns } from "app/modules/viz-module/sub-modules/fundingRequests/table/data-wrappers/data"; +import TablePagination from "@material-ui/core/TablePagination"; interface Props { code: string; @@ -35,6 +36,25 @@ export function AccessToFundingRequestTableWrapper(props: Props) { ) as SimpleTableRow[] ); + const [page, setPage] = React.useState(0); + const [rowsPerPage, setRowsPerPage] = React.useState(10); + + const handleChangePage = ( + _event: React.MouseEvent | null, + newPage: number + ) => { + setPage(newPage); + }; + + const handleChangeRowsPerPage = ( + event: React.ChangeEvent + ) => { + setRowsPerPage(parseInt(event.target.value, 10)); + setPage(0); + }; + + console.log(data, "data"); + const fetchData = useStoreActions( (store) => store.LocationAccessToFunding.FundingRequestsTable.fetch ); @@ -212,7 +232,14 @@ export function AccessToFundingRequestTableWrapper(props: Props) { forceExpand search={search} sortBy={sortBy} - data={props.code ? get(data, "[0].children", []) : data} + data={ + props.code + ? get(data, "[0].children", []).slice( + page * rowsPerPage, + (page + 1) * rowsPerPage + ) + : data.slice(page * rowsPerPage, (page + 1) * rowsPerPage) + } setSearch={setSearch} setSortBy={setSortBy} columns={ @@ -220,6 +247,24 @@ export function AccessToFundingRequestTableWrapper(props: Props) { } title={cycle || ""} /> +
); } diff --git a/src/app/modules/viz-module/sub-modules/accessToFunding/location.tsx b/src/app/modules/viz-module/sub-modules/accessToFunding/location.tsx index 6d7850011..d608859d0 100644 --- a/src/app/modules/viz-module/sub-modules/accessToFunding/location.tsx +++ b/src/app/modules/viz-module/sub-modules/accessToFunding/location.tsx @@ -16,6 +16,7 @@ import { import { AccessToFundingRequestTableWrapper } from "app/modules/viz-module/sub-modules/accessToFunding/fundingRequest/tableWrapper"; import { AccessToFundingEligibilityTableWrapper } from "app/modules/viz-module/sub-modules/accessToFunding/eligibility/tableWrapper"; import { Link } from "react-router-dom"; +import { useCMSData } from "app/hooks/useCMSData"; interface Props { code: string; @@ -24,6 +25,8 @@ interface Props { } export default function LocationAccessToFundingWrapper(props: Props) { + const cmsData = useCMSData({ returnData: true }); + const [cycle, setCycle] = useRecoilState(locationAccessToFundingCycleAtom); const grantCycles = useStoreState( @@ -87,11 +90,12 @@ export default function LocationAccessToFundingWrapper(props: Props) { return ( <>
+

Access to Funding

- Eligibility, Allocation & Funding Requests + Allocation, Funding Requests & Eligibility

Eligibility for Global Fund support is determined by the income @@ -130,37 +134,8 @@ export default function LocationAccessToFundingWrapper(props: Props) {

- {props.code.length === 3 && ( -
-

- Eligibility -

-
-
-

- Below are the components which are eligible for an allocation - for the selected allocation period, according to the Global Fund - Eligibility Policy. Eligibility does not guarantee a funding - allocation. Learn more about Eligibility{" "} - - here - {" "} - or{" "} - - see the full history of eligibility for this country. - -

-
- - -
- )} + +

Allocation @@ -263,12 +238,58 @@ export default function LocationAccessToFundingWrapper(props: Props) { Funding Requests


+
+ {get(cmsData, "modulesFundingRequests.tableDisclaimer", "")} +
+
+
+ {props.code.length === 3 && ( +
+ + +

+ Eligibility +

+
+
+

+ Below are the components which are eligible for an allocation + for the selected allocation period, according to the Global Fund + Eligibility Policy. Eligibility does not guarantee a funding + allocation. Learn more about Eligibility{" "} + + here + {" "} + or{" "} + + see the full history of eligibility for this country. + +

+
+ + +
+ )}
From 4aa44c04ab28ab0c3815364c2073867f3831123d Mon Sep 17 00:00:00 2001 From: okorie2 Date: Fri, 26 May 2023 08:34:38 +0100 Subject: [PATCH 36/69] feat: rearrange access to funding content --- .../modules/viz-module/sub-modules/accessToFunding/location.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/modules/viz-module/sub-modules/accessToFunding/location.tsx b/src/app/modules/viz-module/sub-modules/accessToFunding/location.tsx index d608859d0..cefbeb445 100644 --- a/src/app/modules/viz-module/sub-modules/accessToFunding/location.tsx +++ b/src/app/modules/viz-module/sub-modules/accessToFunding/location.tsx @@ -249,7 +249,7 @@ export default function LocationAccessToFundingWrapper(props: Props) { > {get(cmsData, "modulesFundingRequests.tableDisclaimer", "")}
-
+
Date: Fri, 26 May 2023 16:09:36 +0300 Subject: [PATCH 37/69] chore: minor alignments --- .../useClearDataPathStepsOnDatasetChange.tsx | 1 - .../fundingRequest/tableWrapper.tsx | 2 - .../sub-modules/accessToFunding/location.tsx | 130 +++++++++--------- .../sub-modules/allocations/index.tsx | 2 - 4 files changed, 64 insertions(+), 71 deletions(-) diff --git a/src/app/hooks/useClearDataPathStepsOnDatasetChange.tsx b/src/app/hooks/useClearDataPathStepsOnDatasetChange.tsx index 50cda0f71..16684f35b 100644 --- a/src/app/hooks/useClearDataPathStepsOnDatasetChange.tsx +++ b/src/app/hooks/useClearDataPathStepsOnDatasetChange.tsx @@ -92,7 +92,6 @@ export function useClearDataPathStepsOnDatasetChange() { if (newDataPathSteps.length > 0) { newDataPathSteps[newDataPathSteps.length - 1].path = location.pathname; - console.log("newDataPathSteps", newDataPathSteps); setDataPathSteps(newDataPathSteps); } } diff --git a/src/app/modules/viz-module/sub-modules/accessToFunding/fundingRequest/tableWrapper.tsx b/src/app/modules/viz-module/sub-modules/accessToFunding/fundingRequest/tableWrapper.tsx index f7c3d68e7..a2cb1642c 100644 --- a/src/app/modules/viz-module/sub-modules/accessToFunding/fundingRequest/tableWrapper.tsx +++ b/src/app/modules/viz-module/sub-modules/accessToFunding/fundingRequest/tableWrapper.tsx @@ -53,8 +53,6 @@ export function AccessToFundingRequestTableWrapper(props: Props) { setPage(0); }; - console.log(data, "data"); - const fetchData = useStoreActions( (store) => store.LocationAccessToFunding.FundingRequestsTable.fetch ); diff --git a/src/app/modules/viz-module/sub-modules/accessToFunding/location.tsx b/src/app/modules/viz-module/sub-modules/accessToFunding/location.tsx index cefbeb445..8e461caf2 100644 --- a/src/app/modules/viz-module/sub-modules/accessToFunding/location.tsx +++ b/src/app/modules/viz-module/sub-modules/accessToFunding/location.tsx @@ -135,7 +135,6 @@ export default function LocationAccessToFundingWrapper(props: Props) {
-

Allocation @@ -145,6 +144,7 @@ export default function LocationAccessToFundingWrapper(props: Props) { css={` gap: 1rem; display: flex; + min-height: 500px; position: relative; align-items: center; justify-content: space-evenly; @@ -156,81 +156,79 @@ export default function LocationAccessToFundingWrapper(props: Props) { keys={keys} isLoading={isLoading} /> -
+ {!isLoading && (
-

- {formatFinancialValue(total)} -

-

+

+ {formatFinancialValue(total)} +

+

+ Allocated to {locationInfoData.locationName} for{" "} + {cycle} +

+
+
- Allocated to {locationInfoData.locationName} for{" "} - {cycle} -

-
-
- {values.map((val, index) => ( -
+ {values.map((val, index) => (
-

- - {formatLargeAmountsWithPrefix(val) - .replace("$", "") - .replace("bln", "billion") - .replace("mln", "million")} -
- {keys[index]} -
-

-
- ))} +
+

+ + {formatLargeAmountsWithPrefix(val) + .replace("$", "") + .replace("bln", "billion") + .replace("mln", "million")} +
+ {keys[index]} +
+

+
+ ))} +
-
+ )}

diff --git a/src/app/modules/viz-module/sub-modules/allocations/index.tsx b/src/app/modules/viz-module/sub-modules/allocations/index.tsx index 0bf1ba7ec..6abb376ce 100644 --- a/src/app/modules/viz-module/sub-modules/allocations/index.tsx +++ b/src/app/modules/viz-module/sub-modules/allocations/index.tsx @@ -457,11 +457,9 @@ export function AllocationsModule(props: AllocationsModuleProps) { selected={vizSelected || ""} onChange={(value: string) => { const prevValue = vizSelected || ""; - console.log("prevValue", prevValue); const fItemIndex = findIndex(dataPathSteps, { vizSelected: { id: prevValue, filterStr: prevValue }, }); - console.log("fItemIndex", fItemIndex); setVizSelected(value); let newDataPathSteps = [...dataPathSteps]; if (fItemIndex > -1) { From c878533c583d99262b35affd814a50d103c01ba1 Mon Sep 17 00:00:00 2001 From: okorie2 Date: Mon, 29 May 2023 06:17:20 +0100 Subject: [PATCH 38/69] fix: RHCP slide component change --- .../eligibility/tableWrapper.tsx | 106 +++++++++--------- .../fundingRequest/tableWrapper.tsx | 88 ++++++++------- 2 files changed, 99 insertions(+), 95 deletions(-) diff --git a/src/app/modules/viz-module/sub-modules/accessToFunding/eligibility/tableWrapper.tsx b/src/app/modules/viz-module/sub-modules/accessToFunding/eligibility/tableWrapper.tsx index 9b827c7e3..6ec788323 100644 --- a/src/app/modules/viz-module/sub-modules/accessToFunding/eligibility/tableWrapper.tsx +++ b/src/app/modules/viz-module/sub-modules/accessToFunding/eligibility/tableWrapper.tsx @@ -252,6 +252,8 @@ export function AccessToFundingEligibilityTableWrapper(props: Props) {
{isLoading && } @@ -275,7 +277,7 @@ export function AccessToFundingEligibilityTableWrapper(props: Props) { border-radius: 10px 0px 0px 10px; transition: all 0.2s ease-in-out; - right: ${openToolboxPanel ? "48%" : 0}; + right: ${openToolboxPanel ? "49.4%" : 0}; &:hover { background: #13183f; @@ -294,64 +296,64 @@ export function AccessToFundingEligibilityTableWrapper(props: Props) {
)} {props.code && ( - +
-
- - -
+ +
- +
)} {isLoading && } @@ -160,7 +162,7 @@ export function AccessToFundingRequestTableWrapper(props: Props) { border-radius: 10px 0px 0px 10px; transition: all 0.2s ease-in-out; - right: ${openToolboxPanel ? "48%" : 0}; + right: ${openToolboxPanel ? "49.4%" : 0}; &:hover { background: #13183f; @@ -177,55 +179,55 @@ export function AccessToFundingRequestTableWrapper(props: Props) { >
- +
-
- -
+
- +
+ Date: Wed, 31 May 2023 12:56:39 +0300 Subject: [PATCH 39/69] feat: location access to funding changes --- src/app/assets/icons/HIV.tsx | 37 ++++ src/app/assets/icons/Malaria.tsx | 31 +++ src/app/assets/icons/TB.tsx | 28 +++ src/app/components/Table/funding/index.tsx | 49 +++-- .../allocations/radialChart.tsx | 184 ------------------ .../eligibility/tableWrapper.tsx | 2 +- .../fundingRequest/tableWrapper.tsx | 105 +++++----- .../sub-modules/accessToFunding/location.tsx | 72 +++---- .../sub-modules/accessToFunding/style.ts | 1 - 9 files changed, 225 insertions(+), 284 deletions(-) create mode 100644 src/app/assets/icons/HIV.tsx create mode 100644 src/app/assets/icons/Malaria.tsx create mode 100644 src/app/assets/icons/TB.tsx delete mode 100644 src/app/modules/viz-module/sub-modules/accessToFunding/allocations/radialChart.tsx diff --git a/src/app/assets/icons/HIV.tsx b/src/app/assets/icons/HIV.tsx new file mode 100644 index 000000000..3a4e78922 --- /dev/null +++ b/src/app/assets/icons/HIV.tsx @@ -0,0 +1,37 @@ +import React from "react"; + +export const HIV = () => ( + + + + + + + + + +); diff --git a/src/app/assets/icons/Malaria.tsx b/src/app/assets/icons/Malaria.tsx new file mode 100644 index 000000000..b14d1f818 --- /dev/null +++ b/src/app/assets/icons/Malaria.tsx @@ -0,0 +1,31 @@ +import React from "react"; + +export const Malaria = () => ( + + + + + + + + + +); diff --git a/src/app/assets/icons/TB.tsx b/src/app/assets/icons/TB.tsx new file mode 100644 index 000000000..f6c0d5a32 --- /dev/null +++ b/src/app/assets/icons/TB.tsx @@ -0,0 +1,28 @@ +import React from "react"; + +export const Tuberculosis = () => ( + + + + + + + + + +); diff --git a/src/app/components/Table/funding/index.tsx b/src/app/components/Table/funding/index.tsx index 62d8f7644..4d86b1a21 100644 --- a/src/app/components/Table/funding/index.tsx +++ b/src/app/components/Table/funding/index.tsx @@ -24,6 +24,7 @@ import { cellData, cellData2, } from "app/modules/viz-module/sub-modules/fundingRequests/table/data-wrappers/data"; +import IconChevronRight from "app/assets/icons/IconChevronRight"; export interface FundingTableRow { [key: string]: any; @@ -83,10 +84,12 @@ function Row(props: {
svg { - margin-left: -12px; transition: transform 0.1s ease-in-out; - transform: rotate(${open ? "0deg" : "-180deg"}); + transform: rotate(${open ? "-90deg" : "90deg"}); + + > path { + fill: ${appColors.TABLE.ROW_TEXT_COLOR}; + } } `} > {index === 0 && props.row.children && - props.row.children.length > 0 && } + props.row.children.length > 0 && } {column.key === "grant" ? (
div:first-of-type { + font-size: 14px; + } `} > button { ${tablecell} @@ -432,7 +451,7 @@ export function FundingRequestTable(props: FundingTableProps) { text-transform: none; > span { - font-size: 16px; + font-size: 12px; font-weight: bold; justify-content: flex-start; font-family: "GothamNarrow-Bold", "Helvetica Neue", diff --git a/src/app/modules/viz-module/sub-modules/accessToFunding/allocations/radialChart.tsx b/src/app/modules/viz-module/sub-modules/accessToFunding/allocations/radialChart.tsx deleted file mode 100644 index b09804e8d..000000000 --- a/src/app/modules/viz-module/sub-modules/accessToFunding/allocations/radialChart.tsx +++ /dev/null @@ -1,184 +0,0 @@ -import React from "react"; -import max from "lodash/max"; -import { useMeasure } from "react-use"; -import findIndex from "lodash/findIndex"; -import { ApexOptions } from "apexcharts"; -import ReactApexCharts from "react-apexcharts"; -import useMediaQuery from "@material-ui/core/useMediaQuery"; -import { PageLoader } from "app/modules/common/page-loader"; -import { formatFinancialValue } from "app/utils/formatFinancialValue"; -import { NoDataLabel } from "app/components/Charts/common/nodatalabel"; -import { NoDataAllocations } from "../../allocations/components/nodata"; -import { getKeysPercentages } from "app/modules/viz-module/sub-modules/allocations/data"; - -interface Props { - total: number; - keys: string[]; - values: number[]; - isLoading: boolean; -} - -export default function RadialChart(props: Props) { - const isMobile = useMediaQuery("(max-width: 767px)"); - - const [ref, { width }] = useMeasure(); - - const maxValue = max(props.values); - const [keysPercentagesColors, setKeysPercentagesColors] = React.useState<{ - percentages: number[]; - colors: string[]; - }>(getKeysPercentages(maxValue ? maxValue * 1.2 : props.total, props.values)); - - React.useEffect(() => { - setKeysPercentagesColors( - getKeysPercentages(maxValue ? maxValue * 1.2 : props.total, props.values) - ); - }, [props.values]); - - if (props.isLoading) { - return ( -
- -
- ); - } - - const options: ApexOptions = { - plotOptions: { - radialBar: { - offsetY: 0, - startAngle: 0, - endAngle: 300, - hollow: { - margin: 5, - size: "50%", - background: "transparent", - image: undefined, - }, - track: { - show: true, - strokeWidth: "1px", - background: "#262C34", - }, - dataLabels: { - name: { - show: true, - color: "#262c34", - fontFamily: "GothamNarrow-Book", - }, - value: { - show: true, - fontFamily: "GothamNarrow-Book", - formatter: (value: number) => { - const fkeyIndex = findIndex( - keysPercentagesColors.percentages, - (p: number) => p.toString() === value.toString() - ); - if (fkeyIndex > -1) { - return formatFinancialValue(props.values[fkeyIndex]); - } - return ""; - }, - }, - total: { - show: false, - }, - }, - }, - }, - colors: ["#252C34", "#C9CAD4", "#595D70"], - labels: props.keys, - legend: { - show: true, - floating: true, - fontSize: !isMobile ? "14px" : "10px", - fontFamily: "GothamNarrow-Book", - horizontalAlign: "left", - fontWeight: "bold", - position: "right", - offsetX: width / 2, - offsetY: !isMobile ? 25 : 15, - markers: { - width: 0, - }, - formatter: (seriesName: string, opts: any) => { - if (isMobile) { - return seriesName; - } - return `${seriesName}: ${Math.floor( - opts.w.globals.series[opts.seriesIndex] - )}%`; - }, - itemMargin: { - vertical: !isMobile ? 8 : 2, - }, - onItemClick: { - toggleDataSeries: false, - }, - onItemHover: { - highlightDataSeries: false, - }, - }, - responsive: [ - { - breakpoint: 480, - options: { - legend: { - show: true, - }, - }, - }, - ], - }; - - return ( -
-
- {props.total === 0 ? ( -
- - -
- ) : ( - - )} -
-
- ); -} diff --git a/src/app/modules/viz-module/sub-modules/accessToFunding/eligibility/tableWrapper.tsx b/src/app/modules/viz-module/sub-modules/accessToFunding/eligibility/tableWrapper.tsx index 6ec788323..bbbdea115 100644 --- a/src/app/modules/viz-module/sub-modules/accessToFunding/eligibility/tableWrapper.tsx +++ b/src/app/modules/viz-module/sub-modules/accessToFunding/eligibility/tableWrapper.tsx @@ -362,7 +362,7 @@ export function AccessToFundingEligibilityTableWrapper(props: Props) { setSearch={setSearch} setSortBy={setSortBy} columns={columns} - title={props.code ? cycle || "" : ""} + title={props.code ? "Eligibility" : ""} forceExpand={props.forceExpand} /> - get( - state.LocationAccessToFunding.FundingRequestsTable.data, - "data", - [] - ) as SimpleTableRow[] - ); - - const [page, setPage] = React.useState(0); const [rowsPerPage, setRowsPerPage] = React.useState(10); - - const handleChangePage = ( - _event: React.MouseEvent | null, - newPage: number - ) => { - setPage(newPage); - }; - - const handleChangeRowsPerPage = ( - event: React.ChangeEvent - ) => { - setRowsPerPage(parseInt(event.target.value, 10)); - setPage(0); - }; - - const fetchData = useStoreActions( - (store) => store.LocationAccessToFunding.FundingRequestsTable.fetch - ); - - const isLoading = useStoreState( - (state) => state.LocationAccessToFunding.FundingRequestsTable.loading - ); - - const cycle = useRecoilValue(locationAccessToFundingCycleAtom); - + const [openToolboxPanel, setOpenToolboxPanel] = React.useState(false); + const [expandedGroup, setExpandedGroup] = + React.useState(null); const [appliedFilters, setAppliedFilters] = React.useState<{ [key: string]: string[]; }>({ @@ -70,8 +38,6 @@ export function AccessToFundingRequestTableWrapper(props: Props) { trpWindows: [], portfolioCategories: [], }); - const [expandedGroup, setExpandedGroup] = - React.useState(null); const filterGroups = [ { @@ -91,6 +57,39 @@ export function AccessToFundingRequestTableWrapper(props: Props) { "Portfolio Categorization": "portfolioCategories", }; + const cycle = useRecoilValue(locationAccessToFundingCycleAtom); + + const data = useStoreState( + (state) => + get( + state.LocationAccessToFunding.FundingRequestsTable.data, + "data", + [] + ) as SimpleTableRow[] + ); + + const isLoading = useStoreState( + (state) => state.LocationAccessToFunding.FundingRequestsTable.loading + ); + + const fetchData = useStoreActions( + (store) => store.LocationAccessToFunding.FundingRequestsTable.fetch + ); + + function handleChangePage( + _event: React.MouseEvent | null, + newPage: number + ) { + setPage(newPage); + } + + function handleChangeRowsPerPage( + event: React.ChangeEvent + ) { + setRowsPerPage(parseInt(event.target.value, 10)); + setPage(0); + } + function reloadData() { const filterStr: string[] = [`locations=${props.code}`]; if (search.length > 0) { @@ -118,6 +117,20 @@ export function AccessToFundingRequestTableWrapper(props: Props) { }); } + const tableData = React.useMemo(() => { + if (props.code) { + const result = get(data, "[0].children", []).slice( + page * rowsPerPage, + (page + 1) * rowsPerPage + ); + if (sortBy.length > 0) { + return result; + } + return orderBy(result, "children", "desc"); + } + return data.slice(page * rowsPerPage, (page + 1) * rowsPerPage); + }, [data, page, rowsPerPage, sortBy]); + React.useEffect(() => { if ((props.code && cycle) || !props.code) { reloadData(); @@ -227,25 +240,17 @@ export function AccessToFundingRequestTableWrapper(props: Props) { />
-
store.Allocations.fetch); const isLoading = useStoreState((state) => state.Allocations.loading); - const colors = ["#252C34", "#C9CAD4", "#595D70"]; + + function getAllocationIcon(key: string) { + if (key === "HIV") { + return ; + } + if (key === "Malaria") { + return ; + } + if (key === "Tuberculosis") { + return ; + } + return null; + } React.useEffect(() => { return () => { @@ -142,20 +156,13 @@ export default function LocationAccessToFundingWrapper(props: Props) {
- {!isLoading && (
@@ -183,10 +190,10 @@ export default function LocationAccessToFundingWrapper(props: Props) {
+ {getAllocationIcon(keys[index])}
-

@@ -220,10 +221,9 @@ export default function LocationAccessToFundingWrapper(props: Props) { .replace("$", "") .replace("bln", "billion") .replace("mln", "million")} -
- {keys[index]}
-

+
+ {keys[index]}
))}
@@ -235,7 +235,11 @@ export default function LocationAccessToFundingWrapper(props: Props) {

Funding Requests

-
+
- -

Eligibility

-
+

Below are the components which are eligible for an allocation diff --git a/src/app/modules/viz-module/sub-modules/accessToFunding/style.ts b/src/app/modules/viz-module/sub-modules/accessToFunding/style.ts index 1ecbf86d0..a44690ba8 100644 --- a/src/app/modules/viz-module/sub-modules/accessToFunding/style.ts +++ b/src/app/modules/viz-module/sub-modules/accessToFunding/style.ts @@ -57,6 +57,5 @@ export const vizcss = css` border: 0.5px solid #000000; width: 100%; height: 0px; - margin-bottom: 3rem; } `; From c82f60ea0d4f179bd310e3e386959bd7b9a14b9d Mon Sep 17 00:00:00 2001 From: Stefanos Hadjipetrou Date: Wed, 31 May 2023 13:43:09 +0300 Subject: [PATCH 40/69] fix: mobile view detail page view controller --- .../components/Mobile/ViewsControl/index.tsx | 41 +++++++++++++++++-- .../PageHeader/components/tabs/data.ts | 7 ++++ .../PageHeader/components/tabs/index.tsx | 22 +++++++++- 3 files changed, 64 insertions(+), 6 deletions(-) diff --git a/src/app/components/Mobile/ViewsControl/index.tsx b/src/app/components/Mobile/ViewsControl/index.tsx index b66e01581..8b139b6f0 100644 --- a/src/app/components/Mobile/ViewsControl/index.tsx +++ b/src/app/components/Mobile/ViewsControl/index.tsx @@ -227,12 +227,45 @@ export function MobileViewControl(props: MobileViewControlProps) { ) )} - {props.tabs && - props.tabs.map((tab: TabProps) => ( + {(props.tabs ?? []).map((tab: TabProps) => { + if (tab.tabs) { + const result = tab.tabs.map((subTab: TabProps) => ( + + + + )); + return [...result]; + } + return ( - + - ))} + ); + })}

{props.name}; + if (props.onlyLink && props.params) { + return ( + + {props.name} + + ); } return ( From f557cf1b73140f2ad5af8c63c9501f5d82007dcd Mon Sep 17 00:00:00 2001 From: Stefanos Hadjipetrou Date: Wed, 31 May 2023 13:47:45 +0300 Subject: [PATCH 41/69] style: mobile view select control colors --- src/app/components/Mobile/ViewsControl/index.tsx | 10 +++++----- src/app/theme/index.ts | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/app/components/Mobile/ViewsControl/index.tsx b/src/app/components/Mobile/ViewsControl/index.tsx index 8b139b6f0..f885c6231 100644 --- a/src/app/components/Mobile/ViewsControl/index.tsx +++ b/src/app/components/Mobile/ViewsControl/index.tsx @@ -291,14 +291,14 @@ export function MobileViewControl(props: MobileViewControlProps) { ? "border-radius: 0 20px 20px 0;" : ""} background: ${selectedView === option.value - ? appColors.MOBILE_VIEWS_CONTROL.LINK_BACKGROUND_COLOR - : appColors.MOBILE_VIEWS_CONTROL - .LINK_BACKGROUND_SELECTED_COLOR}; + ? appColors.MOBILE_VIEWS_CONTROL + .LINK_BACKGROUND_SELECTED_COLOR + : appColors.MOBILE_VIEWS_CONTROL.LINK_BACKGROUND_COLOR}; path { fill: ${selectedView === option.value - ? appColors.MOBILE_VIEWS_CONTROL.LINK_ICON_COLOR - : appColors.MOBILE_VIEWS_CONTROL.LINK_ICON_SELECTED_COLOR}; + ? appColors.MOBILE_VIEWS_CONTROL.LINK_ICON_SELECTED_COLOR + : appColors.MOBILE_VIEWS_CONTROL.LINK_ICON_COLOR}; } `} > diff --git a/src/app/theme/index.ts b/src/app/theme/index.ts index 88c708aec..225e4d06d 100644 --- a/src/app/theme/index.ts +++ b/src/app/theme/index.ts @@ -591,8 +591,8 @@ export const appColors = { MENU_ITEM_COLOR: PRIMARY_COLOR_1, BUTTON_BACKGROUND_COLOR: SECONDARY_COLOR_7, BUTTON_BACKGROUND_HOVER_COLOR: SECONDARY_COLOR_7, - LINK_BACKGROUND_COLOR: PRIMARY_COLOR_1, - LINK_BACKGROUND_SELECTED_COLOR: SECONDARY_COLOR_7, + LINK_BACKGROUND_COLOR: SECONDARY_COLOR_7, + LINK_BACKGROUND_SELECTED_COLOR: PRIMARY_COLOR_1, LINK_ICON_COLOR: "#868A9D", LINK_ICON_SELECTED_COLOR: WHITE, BUTTON_COLOR: SECONDARY_COLOR_7, From 1c26af188ba2e9e078f57893bbf25fd71e88d4de Mon Sep 17 00:00:00 2001 From: Stefanos Hadjipetrou Date: Wed, 31 May 2023 15:44:46 +0300 Subject: [PATCH 42/69] style: access to funding visual alignments --- src/app/components/Table/Simple/data.ts | 1 + src/app/components/Table/Simple/index.tsx | 30 ++++++++++++++++--- src/app/components/Table/funding/index.tsx | 6 ++-- .../eligibility/eligibilityTable.tsx | 2 ++ .../eligibility/tableWrapper.tsx | 1 + .../fundingRequest/tableWrapper.tsx | 6 +++- .../table/data-wrappers/generic.tsx | 11 ++++++- 7 files changed, 49 insertions(+), 8 deletions(-) diff --git a/src/app/components/Table/Simple/data.ts b/src/app/components/Table/Simple/data.ts index 4fff3e218..13d7060ae 100644 --- a/src/app/components/Table/Simple/data.ts +++ b/src/app/components/Table/Simple/data.ts @@ -13,6 +13,7 @@ export interface SimpleTableProps { title: string; search: string; sortBy: string; + condensed?: boolean; forceExpand?: boolean; rows: SimpleTableRow[]; formatNumbers?: boolean; diff --git a/src/app/components/Table/Simple/index.tsx b/src/app/components/Table/Simple/index.tsx index 187c581db..4c554ef94 100644 --- a/src/app/components/Table/Simple/index.tsx +++ b/src/app/components/Table/Simple/index.tsx @@ -40,6 +40,7 @@ function Row(props: { visibleColumnsIndexes: number[]; formatNumbers?: boolean; forceExpand?: boolean; + condensed?: boolean; }) { const classes = useRowStyles(); const [open, setOpen] = React.useState(Boolean(props.forceExpand)); @@ -67,7 +68,7 @@ function Row(props: { }} css={` transition: background 0.2s ease-in-out; - background: ${props.paddingLeft + background: ${props.paddingLeft || props.condensed ? appColors.TABLE.ROW_BACKGROUND_COLOR_1 : appColors.TABLE.ROW_BACKGROUND_COLOR_2}; @@ -112,8 +113,9 @@ function Row(props: { "Helvetica Neue", sans-serif; width: calc(${columnWidthCalc}); ${index === 0 - ? `padding-left: ${firstColumnPadding}px;width: ${firstColumnWidth}` + ? `padding-left: ${firstColumnPadding}px;width: ${firstColumnWidth};` : ""} + ${props.condensed ? "font-size: 12px;" : ""} `} >
div:first-of-type { + font-size: 14px; + } + }`} `} >
- + {filter( props.columns, (_c, index) => visibleColumnsIndexes.indexOf(index) > -1 @@ -289,7 +310,7 @@ export function SimpleTable(props: SimpleTableProps) { padding-${monetaryColumn ? "right" : "left"}: 0; > span { - font-size: 16px; + ${props.condensed ? "font-size: 12px;" : ""} font-weight: bold; justify-content: flex-start; font-family: "GothamNarrow-Bold", "Helvetica Neue", @@ -315,6 +336,7 @@ export function SimpleTable(props: SimpleTableProps) { key={row.name} row={row} columns={props.columns} + condensed={props.condensed} forceExpand={props.forceExpand} formatNumbers={props.formatNumbers} visibleColumnsIndexes={visibleColumnsIndexes} diff --git a/src/app/components/Table/funding/index.tsx b/src/app/components/Table/funding/index.tsx index 4d86b1a21..216a05dfb 100644 --- a/src/app/components/Table/funding/index.tsx +++ b/src/app/components/Table/funding/index.tsx @@ -15,16 +15,15 @@ import TableCell from "@material-ui/core/TableCell"; import { makeStyles } from "@material-ui/core/styles"; import ArrowUpward from "@material-ui/icons/ArrowUpward"; import ArrowDownward from "@material-ui/icons/ArrowDownward"; -import { TriangleXSIcon } from "app/assets/icons/TriangleXS"; import TableContainer from "@material-ui/core/TableContainer"; import { tablecell } from "app/components/Table/Simple/styles"; +import IconChevronRight from "app/assets/icons/IconChevronRight"; import { TableToolbar } from "app/components/Table/Expandable/Toolbar"; import { TableToolbarCols } from "app/components/Table/Expandable/data"; import { cellData, cellData2, } from "app/modules/viz-module/sub-modules/fundingRequests/table/data-wrappers/data"; -import IconChevronRight from "app/assets/icons/IconChevronRight"; export interface FundingTableRow { [key: string]: any; @@ -278,6 +277,8 @@ function Row(props: { padding: 16px 10px; // padding-left: ${index === 0 ? "4rem" : "auto"}; ${tablecell} + font-size: 12px; + background: #f5f5f7; `} >
div:first-of-type { font-size: 14px; } + } `} > void; title: string; forceExpand?: boolean; + isLocation?: boolean; } export function EligibilityTable(props: EligibilityTableProps) { @@ -31,6 +32,7 @@ export function EligibilityTable(props: EligibilityTableProps) { onSortByChange={props.setSortBy} forceExpand={props.forceExpand} multiVizPageDataKey="eligibility" + condensed={props.isLocation} /> ); } diff --git a/src/app/modules/viz-module/sub-modules/accessToFunding/eligibility/tableWrapper.tsx b/src/app/modules/viz-module/sub-modules/accessToFunding/eligibility/tableWrapper.tsx index bbbdea115..3c30836be 100644 --- a/src/app/modules/viz-module/sub-modules/accessToFunding/eligibility/tableWrapper.tsx +++ b/src/app/modules/viz-module/sub-modules/accessToFunding/eligibility/tableWrapper.tsx @@ -361,6 +361,7 @@ export function AccessToFundingEligibilityTableWrapper(props: Props) { data={sortedData.slice(page * rowsPerPage, (page + 1) * rowsPerPage)} setSearch={setSearch} setSortBy={setSortBy} + isLocation={props.code !== undefined} columns={columns} title={props.code ? "Eligibility" : ""} forceExpand={props.forceExpand} diff --git a/src/app/modules/viz-module/sub-modules/accessToFunding/fundingRequest/tableWrapper.tsx b/src/app/modules/viz-module/sub-modules/accessToFunding/fundingRequest/tableWrapper.tsx index 3858bd180..0e18be90d 100644 --- a/src/app/modules/viz-module/sub-modules/accessToFunding/fundingRequest/tableWrapper.tsx +++ b/src/app/modules/viz-module/sub-modules/accessToFunding/fundingRequest/tableWrapper.tsx @@ -128,7 +128,11 @@ export function AccessToFundingRequestTableWrapper(props: Props) { } return orderBy(result, "children", "desc"); } - return data.slice(page * rowsPerPage, (page + 1) * rowsPerPage); + const result = data.map((item) => ({ + ...item, + children: orderBy(item.children, "children", "desc"), + })); + return result.slice(page * rowsPerPage, (page + 1) * rowsPerPage); }, [data, page, rowsPerPage, sortBy]); React.useEffect(() => { diff --git a/src/app/modules/viz-module/sub-modules/fundingRequests/table/data-wrappers/generic.tsx b/src/app/modules/viz-module/sub-modules/fundingRequests/table/data-wrappers/generic.tsx index aefbbf04a..76f1b8f1d 100644 --- a/src/app/modules/viz-module/sub-modules/fundingRequests/table/data-wrappers/generic.tsx +++ b/src/app/modules/viz-module/sub-modules/fundingRequests/table/data-wrappers/generic.tsx @@ -2,6 +2,7 @@ import React from "react"; import get from "lodash/get"; import find from "lodash/find"; +import orderBy from "lodash/orderBy"; import uniqueId from "lodash/uniqueId"; import { useHistory } from "react-router-dom"; import { useDebounce, useTitle } from "react-use"; @@ -92,6 +93,14 @@ export function GenericFundingRequestWrapper() { setPage(0); }; + const tableData = React.useMemo(() => { + const result = data.map((item) => ({ + ...item, + children: orderBy(item.children, "children", "desc"), + })); + return result.slice(page * rowsPerPage, (page + 1) * rowsPerPage); + }, [data, page, rowsPerPage, sortBy]); + if (isLoading) { return ; } @@ -124,7 +133,7 @@ export function GenericFundingRequestWrapper() {
Date: Thu, 1 Jun 2023 17:32:41 +0300 Subject: [PATCH 43/69] chore: move board approval date field to ip level --- src/app/components/Table/funding/index.tsx | 88 +++++++++---------- .../table/data-wrappers/data.ts | 10 +-- 2 files changed, 47 insertions(+), 51 deletions(-) diff --git a/src/app/components/Table/funding/index.tsx b/src/app/components/Table/funding/index.tsx index 216a05dfb..5ae07713d 100644 --- a/src/app/components/Table/funding/index.tsx +++ b/src/app/components/Table/funding/index.tsx @@ -265,66 +265,62 @@ function Row(props: {
- {rowSelected === "child" && - props.index === 0 && - !secondLevelRow && ( - - {cellData.map((name, index) => ( - + {cellData.map((name, index) => ( + +
-
* { - @supports (-webkit-touch-callout: none) and - (not (translate: none)) { - &:not(:last-child) { - margin-right: 12px; - } + > * { + @supports (-webkit-touch-callout: none) and + (not (translate: none)) { + &:not(:last-child) { + margin-right: 12px; } } + } - > svg { - transition: transform 0.1s ease-in-out; - transform: rotate( - ${open ? "0deg" : "-180deg"} - ); - } - `} - > - {name} -
+ > svg { + transition: transform 0.1s ease-in-out; + transform: rotate(${open ? "0deg" : "-180deg"}); + } + `} + > + {name}
- - ))} - - )} +
+
+ ))} +
+ )} {props.row.children && props.row.children.map( (child: FundingTableRow, index: number) => diff --git a/src/app/modules/viz-module/sub-modules/fundingRequests/table/data-wrappers/data.ts b/src/app/modules/viz-module/sub-modules/fundingRequests/table/data-wrappers/data.ts index e31581d27..c52c6933a 100644 --- a/src/app/modules/viz-module/sub-modules/fundingRequests/table/data-wrappers/data.ts +++ b/src/app/modules/viz-module/sub-modules/fundingRequests/table/data-wrappers/data.ts @@ -11,6 +11,10 @@ export const fundingRequestColumns = [ key: "gac", name: "", }, + { + key: "board", + name: "", + }, { key: "grant", name: "", @@ -53,10 +57,6 @@ export const fundingRequestColumns = [ key: "portfolioCategory", name: "Portfolio Categorization", }, - { - key: "board", - name: "Board Approval", - }, ], }, ]; @@ -68,11 +68,11 @@ export const cellData = [ "TRP Window", "TRP Outcome", "Portfolio Categorization", - "Board Approval", ]; export const cellData2 = [ "GAC Meeting", + "Board Approval", "Grant", "Starting Date", "End Date", From 4c88f11b1b716a3ac64eba6c4062295ecf00eaf3 Mon Sep 17 00:00:00 2001 From: Stefanos Hadjipetrou Date: Tue, 6 Jun 2023 13:22:37 +0300 Subject: [PATCH 44/69] chore: hide board approval date --- .../fundingRequests/table/data-wrappers/data.ts | 10 +++++----- src/app/utils/exportCSV.ts | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/app/modules/viz-module/sub-modules/fundingRequests/table/data-wrappers/data.ts b/src/app/modules/viz-module/sub-modules/fundingRequests/table/data-wrappers/data.ts index c52c6933a..1176b84e2 100644 --- a/src/app/modules/viz-module/sub-modules/fundingRequests/table/data-wrappers/data.ts +++ b/src/app/modules/viz-module/sub-modules/fundingRequests/table/data-wrappers/data.ts @@ -11,10 +11,10 @@ export const fundingRequestColumns = [ key: "gac", name: "", }, - { - key: "board", - name: "", - }, + // { + // key: "board", + // name: "", + // }, { key: "grant", name: "", @@ -72,7 +72,7 @@ export const cellData = [ export const cellData2 = [ "GAC Meeting", - "Board Approval", + // "Board Approval", "Grant", "Starting Date", "End Date", diff --git a/src/app/utils/exportCSV.ts b/src/app/utils/exportCSV.ts index 7dcbfdeba..a791d4d01 100644 --- a/src/app/utils/exportCSV.ts +++ b/src/app/utils/exportCSV.ts @@ -827,7 +827,7 @@ export function exportCSV( approach: subItem.approach, window: subItem.window, outcome: subItem.outcome, - board: subItem.board, + board: subSubItem.board, portfolioCategory: subItem.portfolioCategory, grant: subSubItem.grant1, gac: subSubItem.gac, @@ -849,9 +849,9 @@ export function exportCSV( { label: "TRP Window", key: "window" }, { label: "TRP Outcome", key: "outcome" }, { label: "GAC Meeting", key: "gac" }, - { label: "Board approval", key: "board" }, { label: "Portfolio Categorization", key: "portfolioCategory" }, { label: "GAC Meeting", key: "gac" }, + // { label: "Board approval", key: "board" }, { label: "Grant", key: "grant" }, { label: "Starting date", key: "start" }, { label: "End date", key: "end" }, From bb7fec9ec2e2dc47bbe95bd21e3706d36bfe1df6 Mon Sep 17 00:00:00 2001 From: Stefanos Hadjipetrou Date: Tue, 6 Jun 2023 13:39:42 +0300 Subject: [PATCH 45/69] chore: access to funding text changes --- .../sub-modules/accessToFunding/location.tsx | 26 +++++++++++-------- .../sub-modules/accessToFunding/style.ts | 23 ++++++++++------ 2 files changed, 30 insertions(+), 19 deletions(-) diff --git a/src/app/modules/viz-module/sub-modules/accessToFunding/location.tsx b/src/app/modules/viz-module/sub-modules/accessToFunding/location.tsx index d7d2dcec1..080cd2e94 100644 --- a/src/app/modules/viz-module/sub-modules/accessToFunding/location.tsx +++ b/src/app/modules/viz-module/sub-modules/accessToFunding/location.tsx @@ -111,13 +111,13 @@ export default function LocationAccessToFundingWrapper(props: Props) {

Allocation, Funding Requests & Eligibility

-

- Eligibility for Global Fund support is determined by the income - classification and disease burden of a country or region. Resources - are allocated to eligible countries or regions with the highest - disease burden, the least economic capacity, and where key and - vulnerable populations are disproportionately affected by the three - diseases. +

+ The Global Fund allocates funding to eligible countries every three + years. Countries access these funds by developing Funding Requests + which are informed by country dialogues. Information on the current + status of Funding Requests is found below. For those interested in + participating in country dialogue, the “Overview” tab above includes + contact information for the Country Coordinating Mechanism.

@@ -271,10 +271,14 @@ export default function LocationAccessToFundingWrapper(props: Props) { />

- Below are the components which are eligible for an allocation - for the selected allocation period, according to the Global Fund - Eligibility Policy. Eligibility does not guarantee a funding - allocation. Learn more about Eligibility{" "} + Eligibility for funding from the Global Fund is determined by + country income classification and disease burden for HIV, + tuberculosis and malaria. Below are the components which are + eligible for an allocation for the selected allocation period, + according to the Global Fund Eligibility Policy. Eligibility for + the 2023-2025 Allocation Period was determined in 2022 and + documented in the 2023 Eligibility List. Eligibility does not + guarantee a funding allocation. Learn more about Eligibility{" "} css` export const descriptioncss = css` text-align: center; font-family: "Gotham Narrow"; + p { - font-weight: 325; - font-size: 14px; - color: #000000; - width: 60%; + color: #000; + width: 100%; margin: auto; + font-size: 14px; + font-weight: 400; line-height: 17px; + + a { + font-weight: 700; + } } + h1 { - font-weight: 700; - font-size: 24px; color: #252c34; + font-size: 24px; + font-weight: 700; margin-bottom: 0px; } + h3 { - font-weight: 400; - font-size: 18px; color: #252c34; margin-top: 3px; + font-size: 18px; + font-weight: 400; } `; From c8b45955eddb8e6b57cf9c0bff4386a75ce12973 Mon Sep 17 00:00:00 2001 From: Stefanos Hadjipetrou Date: Tue, 6 Jun 2023 14:10:50 +0300 Subject: [PATCH 46/69] chore: remove drill down popup notice --- src/app/components/Charts/Grants/index.tsx | 32 +++++++++++++------ .../sub-modules/allocations/index.tsx | 13 +++++--- .../sub-modules/budgets/flow/index.tsx | 13 +++++--- .../sub-modules/budgets/time-cycle/index.tsx | 13 +++++--- .../investments/disbursed/index.tsx | 13 +++++--- .../investments/time-cycle/index.tsx | 13 +++++--- 6 files changed, 67 insertions(+), 30 deletions(-) diff --git a/src/app/components/Charts/Grants/index.tsx b/src/app/components/Charts/Grants/index.tsx index bf973d23c..3ecce3574 100644 --- a/src/app/components/Charts/Grants/index.tsx +++ b/src/app/components/Charts/Grants/index.tsx @@ -15,6 +15,7 @@ import Button from "@material-ui/core/Button"; import CloseIcon from "@material-ui/icons/Close"; import { useCMSData } from "app/hooks/useCMSData"; import IconButton from "@material-ui/core/IconButton"; +import { useStoreActions } from "app/state/store/hooks"; import { isTouchDevice } from "app/utils/isTouchDevice"; import useMousePosition from "app/hooks/useMousePosition"; import useMediaQuery from "@material-ui/core/useMediaQuery"; @@ -63,6 +64,9 @@ export function GrantsViz(props: GrantsVizProps) { component: string; rating: string | null; } | null>(null); + const clearDataPathSteps = useStoreActions( + (actions) => actions.DataPathSteps.clear + ); const components = uniq(data.map((item: any) => item.component)); const yearItemWidth = (width - 120) / 2 / datayears.length; const allValues: number[] = []; @@ -136,11 +140,15 @@ export function GrantsViz(props: GrantsVizProps) { {(isMobile || isTouchDevice()) && (

{props.row.children && - props.row.children.map((child: SimpleTableRow) => ( + props.row.children.map((child: SimpleTableRow, index) => ( - {props.rows.map((row: SimpleTableRow) => ( + {props.rows.map((row: SimpleTableRow, index: number) => ( Date: Thu, 15 Jun 2023 14:09:39 +0200 Subject: [PATCH 55/69] chore: access to funding page text changes --- .../sub-modules/accessToFunding/location.tsx | 17 ++++++++++++----- .../sub-modules/accessToFunding/style.ts | 1 + 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/app/modules/viz-module/sub-modules/accessToFunding/location.tsx b/src/app/modules/viz-module/sub-modules/accessToFunding/location.tsx index 080cd2e94..ca2680b79 100644 --- a/src/app/modules/viz-module/sub-modules/accessToFunding/location.tsx +++ b/src/app/modules/viz-module/sub-modules/accessToFunding/location.tsx @@ -114,10 +114,17 @@ export default function LocationAccessToFundingWrapper(props: Props) {

The Global Fund allocates funding to eligible countries every three years. Countries access these funds by developing Funding Requests - which are informed by country dialogues. Information on the current - status of Funding Requests is found below. For those interested in - participating in country dialogue, the “Overview” tab above includes - contact information for the Country Coordinating Mechanism. + which are informed by{" "} + + country dialogues + + . Information on the current status of Funding Requests is found + below. For those interested in participating in country dialogue, the + “Overview” tab above includes contact information for the Country + Coordinating Mechanism.

@@ -127,7 +134,7 @@ export default function LocationAccessToFundingWrapper(props: Props) { text-align: center; `} > - Cycle + Allocation Period

Date: Thu, 15 Jun 2023 14:21:35 +0200 Subject: [PATCH 56/69] chore: funding requests search fix --- .../accessToFunding/fundingRequest/tableWrapper.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/app/modules/viz-module/sub-modules/accessToFunding/fundingRequest/tableWrapper.tsx b/src/app/modules/viz-module/sub-modules/accessToFunding/fundingRequest/tableWrapper.tsx index 7bdcb4912..927df4dd4 100644 --- a/src/app/modules/viz-module/sub-modules/accessToFunding/fundingRequest/tableWrapper.tsx +++ b/src/app/modules/viz-module/sub-modules/accessToFunding/fundingRequest/tableWrapper.tsx @@ -2,8 +2,8 @@ import React from "react"; import get from "lodash/get"; import orderBy from "lodash/orderBy"; -import { useDebounce } from "react-use"; import { useRecoilValue } from "recoil"; +import { useDebounce, useUpdateEffect } from "react-use"; import { useStoreActions, useStoreState } from "app/state/store/hooks"; /* project */ import { PageLoader } from "app/modules/common/page-loader"; @@ -141,6 +141,12 @@ export function AccessToFundingRequestTableWrapper(props: Props) { } }, [props.code, appliedFilters, sortBy, cycle]); + useUpdateEffect(() => { + if (search.length === 0) { + reloadData(); + } + }, [search]); + const [,] = useDebounce( () => { if (search.length > 0) { From 77b52c58f108f6c06aadbf7b0c35b20162b5c4ed Mon Sep 17 00:00:00 2001 From: Stefanos Hadjipetrou Date: Thu, 15 Jun 2023 15:20:59 +0200 Subject: [PATCH 57/69] feat: open eligibility table search by default --- src/app/components/Table/Expandable/Toolbar.tsx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/app/components/Table/Expandable/Toolbar.tsx b/src/app/components/Table/Expandable/Toolbar.tsx index c1b8eecba..840933fce 100644 --- a/src/app/components/Table/Expandable/Toolbar.tsx +++ b/src/app/components/Table/Expandable/Toolbar.tsx @@ -58,6 +58,13 @@ export function TableToolbar(props: TableToolbarProps) { (state) => state.ToolBoxPanelResultsYearState.value ); + React.useEffect(() => { + if (searchInputRef.current && isEligibilityTable) { + setOpenSearch(true); + searchInputRef.current.focus(); + } + }, [searchInputRef, isEligibilityTable]); + React.useEffect(() => { if (props.search.length > 0 && !openSearch) { setOpenSearch(true); From 90e7766be995975b9925677908c4f1b11975a28a Mon Sep 17 00:00:00 2001 From: Stefanos Hadjipetrou Date: Fri, 16 Jun 2023 13:07:49 +0200 Subject: [PATCH 58/69] chore: hide popover on scroll --- src/app/components/Table/Expandable/Toolbar.tsx | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/app/components/Table/Expandable/Toolbar.tsx b/src/app/components/Table/Expandable/Toolbar.tsx index 840933fce..b9bf749b4 100644 --- a/src/app/components/Table/Expandable/Toolbar.tsx +++ b/src/app/components/Table/Expandable/Toolbar.tsx @@ -71,6 +71,15 @@ export function TableToolbar(props: TableToolbarProps) { } }, [props.search]); + function handleScroll() { + setAnchorEl(null); + } + + React.useEffect(() => { + document.addEventListener("scroll", handleScroll); + return () => document.removeEventListener("scroll", handleScroll); + }, []); + return (
setAnchorEl(null)} From a146f78140f8417a4f841996c1136f4c88847237 Mon Sep 17 00:00:00 2001 From: Stefanos Hadjipetrou Date: Fri, 16 Jun 2023 13:38:32 +0200 Subject: [PATCH 59/69] style: adjust app bar height as per design --- public/gflogo.png | Bin 3195 -> 6066 bytes src/app/Providers.tsx | 2 +- src/app/components/AppBar/index.tsx | 2 +- .../Charts/common/breadcrumbs/index.tsx | 2 +- .../modules/country-detail-module/index.tsx | 2 +- src/app/modules/documents-module/index.tsx | 2 +- src/app/modules/grant-detail-module/index.tsx | 2 +- src/app/modules/grants-module/index.tsx | 2 +- .../modules/partner-detail-module/index.tsx | 2 +- src/app/modules/results-module/index.tsx | 2 +- src/app/modules/viz-module/index.tsx | 2 +- 11 files changed, 10 insertions(+), 10 deletions(-) diff --git a/public/gflogo.png b/public/gflogo.png index 8514310c3e0891eeb9a51f5006b7563246ad95c7..d2b31d88cd67a96406d975601ce691381ef5453e 100644 GIT binary patch literal 6066 zcmcI|hgTCy^L79QsgbULGzF0+Aiabdq<3inL5e6HLazoyBy@sE386PB(p#h`O7CEh z8hR+wkw^*rxc9w(!uRbtyED5p&+N>eJ!khkF$Q{1sVP_}0002BriPjk06_BKT35YA zdOf<)e+|ACnZ~PHHnlLFKz+= z%uhAdluZJNcCxp9XPX;)n)X_;pY?A>ns_29RLn$B6zayX>}xHlnOK1FdzliFVi^LH zX8c}4%;pY#@{aHJ;|K;GLb!{U#X2Q`ocI^e^)}JLGu2W z>u{F3NHe3d1A^~;wa8KFM8I2H;(y_t8Qf_UFLlZ9d>g#;_e}18ivT3>oycK4-DqX7 zsUC>-Uq|Uj0Tt7(km>f@(&U#P)wv_X8?`2fPLjEkx3&8Rw&y;?#>Q@3{NrlN;YOGHY4tdUOfeD_zgdOs+k;D9e2Ud_Y1dt6EE}+j7yy0 zowxE!e3lxfe7tKe_#qiGVFLl|s{O)2> zr+{-8RTg4%`a^~DaCotfM$j1jiT$PvKk;}d`PhTkBj3Zb-Z|upbqwa6ifu*bOT|+d z8$6dmrx46NrzG~9_mCy-;db!mnv}S!4_S2L^Ub$> zZn8^(>ncsY2T&z;*Z#as__8f!f5BWqp`Yl;k24{uz|{+H8A^C$4iF8R+wj}P5C$_rJhSEJ zQSJ}#FFXWoGcYGGuH}3tr6B>@bqH?AJ*#D$r&!w9`BK;QYn-x-EAWGgj6x+m?crX{C<*r2CX!34# ztM8FX^rt7$df{b*1fAj_p!Z1b<&R#~w98U7$32-crj$!1p|d==%)x?pse9u#TXDcx z#pI!f^5W{~#M}6n&3Ybb+^OQH8eU*Z@Ysu}l=AeineO*@3nfd(9jyoz zKFz1{9M1M1@$&<@d%h^^qdk4+%8glf;rHz6B)lYFbeqPiV$VJV>d0}wDJl-vcrfzv z6a+?vPsxQju|fLURWA1w5gf+y^aRPzscn=g3#uJ@J}SDO*%YI@snppATRU<7P&rEd zvvsJTBeq`<;XbdHm}UY~`*W$!QXkW~pJ4gbLAR20HS{HRl^Z8QIN@b;jBg;UFeFTOP8CueILMe7PS{<2znLazYqL|_2ljhohue;xP}>J5B-TTU z3!Wo*e2s#yVBw=XDsRV3smm^SbbB&q$U8d>*_{ugrGvr`~uhh+RD;^~n zt|7YlP2?;MS;bn##@7=V$*n;a=AmTU1TSEqrd1cch7S2XYU6et`o)mu+ae>9hD%}0krb40h$Opebx_Nq!l zovaCl>g?vXTWP40_qHcm<>yA*?dn*1Ng&F6wuXCH^8N-UHy{Z*KZ<+*kvuc+g$ znY`f`O%QtZ(&txxrYl9;!5of%F~gN@>by$mm6Z&KFUp($9us?joF}35tfWh&h5t}7 z@!Ln>4)9TXzS6N*6k*1o?_EwJByLS3}v?u=XTh)cS;&p1wLS`^9@N*0`Nm}~rSE&s6AJgr{6hH3SA z(;TNrZ6!r|1i~t8nsrwpSv*YZ8DX;@c1XoW@LzxZDKm3A%`!ej^PVGZSvlO;$;L17 z=gXqlhDW87lL=(}Gy49z=Z13?5eA8wGwn^QUsxfES0CHtC)4Cp>mkf4{X<+oYxv`IRo7tM&9WsOZ*`To2^^{@wCO`!&)?BdBYr$%rn4e!g!~G$Ggosr&Zuy zem;?KF;kJ7pKeFNj!<4#NW)n3W+8{JHCwpBduSQ{5x<#jyhw$Fz$ zdb+269#eP_g$uYRptgU?9U?EJF|f#5J;|I5g%rAiV)fz0yR{yY7&jAIck}6RzqOVH zm#7pybs4=fhxv&1MEvvTb`{6@F_rQqUyY=Q#uKi1W)ZmKOg%vYQUl^l zG3C$AneOiL>}AnC#V623)VOI@sMAJ3=Wp$nL_T@k6vIcd9A;H8dQF&5VW;51Ya_Hy zdSxF-+E!8OCz9T|ol=EVMzHTldzX|g&*-#IGlfa`5muJ1#?>bsa{4$E@29-^SN5>& zYb84~e`7(Wh56|a^g^!aD|LakKrtVRRg7h^_iX?6uNQxBh#$2b)jg8Of7+_|os*>Rwr&6eP11)P)?J zXEs;wQZYcVC+<;9|M7tLu-!M|V%BJtX!{d>vt?=^wokQGC^WznA+2W_RLiuB?oxynpzbga9?6saz|RK_-1@$)bEt_F0*0yc)&?E zr&d&EF%D#B`@3$=q}yXx!%Dc&wNF6;9F;FEpsd+L-h`7^s{QbR(2X4vE0ynIgw|EckDq|mZ46r)(Gfg%e@JYT0(ci*JMEGp* zLM@d}IR3D1TC{&}#w#qvL(H5?l>mgqnATH;V5g_4rN#2%uox%7s)Bj87{(#NI5t_r zoViug9b8CK@?>ga=D2})Lc3=kvE&g;PW1P_WLGZQBTQ0Se_<}_rRAXA6jw^aEs>}d z22{xLP1B^heBM{g`mm?--7&zLLMGITWD|*BM$4bMI&M!NjjJvu?JUOM2+$#8EbN}P zTB*~34BS##=`LEpc{Vch1ozN^x*NK2{IGD3KeXRPc5OXsneqKq-V^({0Zcj2+n8%Q z&Yv-`EZ>hPGwIp%W0Hi=ufh*lJzM{RT)`#Ey1TW_3Dk72ijd`qrN;XXqWm`1aV4$dV3)DKCXqFSeYzI2|n+RX+J18@l@E zY(=hn5T>Q*oU&<6{1UXCdWZ}$T+QhpR(`3M5x40qHyH@r-L$MSR$WxbDb--V@aAsi zk8ZeLkCxGdj_|7tD+y;7^6;tgV#YRAs}Y(ViWSOlo?Cevb#^uHLK~16=3*!?HT3$* z{T3gYH{m^y8lljrLeHniS$mXQRY91f2=L{l3j$pxA17TpU;AXQ&v_u9-J$31YIV{V zVg9Ze-5Gq=F|8#mFlm`ig8>GOU=94ZKWc#m8F7x^X%Wx-gUpot`tiAzjM?hc+?k-} z*!$%Op#b3*rJQJ`W!7H@oShGKXbxa{(K9cLv|98#WiAEve#4-_nvInAALO zOMM>$n&MO{{EBJ>eB8+0?_00Lm33UHmMBuhmSfuL*XHz~kl`MCt0tAyJi=vJegNiJ z^5rUkxBShSU4rN~m6qv*WBQRNGu@3vByKG(rnVt6ooCwUP-3|@mk9L*Ipdqa(=H`# zSO_vfP3$@t+@^3bwvKlMKe*2!j%9^yT=xrm|3vl#PQ}x z%;u**E?m#GCo9dSgbtxa_hOy2(JxM%MjpYH?k1XcSB+GO=Brs*-9_7V*Qf@T1_l0I zWi8Q~JwQY;%c|CzYsePTRXBJFFIdeOfTX&6K8~0rtT;U~M2T`)jv2AM3GONUriWf} z(J>~Bd2mOqm7x6IR#KRuTvYn|vV$~9$HvVjzw?h@6jVj+S{#ARrrh_ypl{{#;xvo zRC1n&Mm?Uf?dMJQ8;3(3ep9`{wNBcV`bMJ!QwkH)eeG&syqN_?0!$Py9#i z)@Esm9TT2|Jsd-+eC91(29~GQ(Rp$6z*HJao$M?T57vZ1Crhout3AqhzTM;->)cfs z`8%h!JR@3uUTqdRSw#=ZmBz>Dbtq?`<8YcH-=z)05(mtXp`_s9#&8LD7+JCHRn42;gsdClTqlRxk6hrcCc|Mb&9qMLPM z747<-qC?Wla#c`M4x1-S8F3%{A`L(v*6v~nayg9l!TAUAMAB73=h4EwBlM2n#iTPS zcnB;L78lKPW(@3Z-uE`#eS}?!N6PzXMF(;pBhx1N-C9qI9xtX}0UHo5GYu5(4yVNH zE*=0@1PH5o_v*;Q=2S()>jmMbq=i+(yR**ATr95jr^2351;E;ZaR=`Ov~Q=UrIC3& z-+u_V%-gIhoZZ>(NOb9ctK(#wR~XFk>0`8e&X#qim=wcclsmII+cKHZtu)t$tQ77g z7kNCD^P9}0M$|b2`I;tp>{jOXW0L+SX_bCiK~1uc`%~2OaCttd6J}T5)wPA^#`?e# zFByZ~_~8LK-I9v}p61@KsA4==zsnTe@yN#7m}JU&Q<`ExAr+NY2}%mC33Dko!a>&h zpSlKjzxX=PEAC$3;kK|rz=z_RaRzOI^b=Q1i1v~%GFvs1>OG6Se zbZoS>(w59ix`tuMT_Pygj18t%=dQ%Y_Kz1Ug;SGRWSrD>+h`n~UN#Ra@w7Cnq?Xs# zXgteT?jg`P#5h0R!K_a4b;e}0~Un-XC zBfifIq}U_TutN#iC(DVCbWhgozWWw@c&XP!Y}VwC($c8Aii;GwWA_uf21|s>Sh-t1 zt9!k|;(4py=FDa+VzfHxZ9X4~tQ83ziOW!%@SPx1%9vzKHtLD+nMpRIRE1(0?R{Fel@1OSK(*4%nf)%U@kmo1VW zw*7{xA~3}o{Msk77_VJvY^2Ae)r^!V`nu*I1@mVn@)~=XpCbRIDWe}8TuHo3+dl*S zl9f&sSdD`?=kdxDXgw~02q}rM-y(m!FZ1Sv>DM8zr0?*a36pX65p+H}NyxDNX zA!{=?01L)kn-9?;dZQRqag;E}GuyLa4>|Q$si*4l*as)pH9vPe`g`t_v)XJ2@k;2v zH^eo!XZThDJ0QaXkRlBIqy&zzYJCL`BdTL>#%C^{KHdFT?|w~ZBITItZGE-{zW5@& z!xv+k7d4Vv3*)RM{w!DJ5HI`H(_`qWxNWtLcab!cO;P!?xAf*D<-43ot|>Su16ql` zBCemwl=+Rt=%vW(bhc|k833p@5GlL&R&0Qc&MhW)MJ8vy-YU<^Ma!m>`XB4{(Fkue z{n!qGY%bmG6<+(Rj-Gy{*7YwDYc4L|bz?-almF4UZc6CAYYE=IZ|EC~Zx{eqwebVfgH; lu+?Mpjobg>|DTG1)sBe^4dn&kvj0DEHNkpnRVua-{|C$vg24a) literal 3195 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 O2P{mjP0BFmLjMgIWT5*1 diff --git a/src/app/Providers.tsx b/src/app/Providers.tsx index b02fa0248..7b191771a 100644 --- a/src/app/Providers.tsx +++ b/src/app/Providers.tsx @@ -30,7 +30,7 @@ function Providers(props: ProviderProps) { maxWidth="lg" css={` padding: 0 24px; - min-height: calc(100vh - 48px); + min-height: calc(100vh - 45px); @media (max-width: 767px) { padding: 0 16px; diff --git a/src/app/components/AppBar/index.tsx b/src/app/components/AppBar/index.tsx index 8fdec2aba..ffa16b8b1 100644 --- a/src/app/components/AppBar/index.tsx +++ b/src/app/components/AppBar/index.tsx @@ -175,7 +175,7 @@ export function AppBar() { css={` gap: 32px; width: 100%; - height: 48px; + height: 45px; display: flex; flex-direction: row; align-items: center; diff --git a/src/app/components/Charts/common/breadcrumbs/index.tsx b/src/app/components/Charts/common/breadcrumbs/index.tsx index 42603708c..0a6bd7b89 100644 --- a/src/app/components/Charts/common/breadcrumbs/index.tsx +++ b/src/app/components/Charts/common/breadcrumbs/index.tsx @@ -44,7 +44,7 @@ export default function BreadCrumbs() {
Date: Fri, 16 Jun 2023 13:54:52 +0200 Subject: [PATCH 60/69] chore: remove currency in allocation t headers --- src/app/components/Table/Simple/data.ts | 3 +++ src/app/components/Table/Simple/index.tsx | 10 ++++------ .../viz-module/sub-modules/allocations/table/index.tsx | 10 +++++++--- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/app/components/Table/Simple/data.ts b/src/app/components/Table/Simple/data.ts index 13d7060ae..5821f64db 100644 --- a/src/app/components/Table/Simple/data.ts +++ b/src/app/components/Table/Simple/data.ts @@ -7,6 +7,9 @@ export interface SimpleTableColumn { name: string; key: string; valueToColorMap?: { [key: string]: string }; + isMonetary?: { + currency: string; + }; } export interface SimpleTableProps { diff --git a/src/app/components/Table/Simple/index.tsx b/src/app/components/Table/Simple/index.tsx index 7b6f68297..597a4ad92 100644 --- a/src/app/components/Table/Simple/index.tsx +++ b/src/app/components/Table/Simple/index.tsx @@ -114,8 +114,8 @@ function Row(props: { let formattedValue = props.formatNumbers && !Number.isNaN(parseInt(value)) && - column.name.indexOf("(USD)") > -1 - ? formatFinancialValue(value, true) + column.isMonetary + ? formatFinancialValue(value) : value; return ( -1 || - column.name === "Grants") + (column.isMonetary || column.name === "Grants") ? "flex-end" : "flex-start"}; `} @@ -303,8 +302,7 @@ export function SimpleTable(props: SimpleTableProps) { ).map((column: SimpleTableColumn, index: number) => { let icon = undefined; const monetaryColumn = - column.name.indexOf("(USD)") > -1 || - column.name === "Grants"; + column.isMonetary || column.name === "Grants"; if ( sortBySplits.length > 1 && sortBySplits[0] === column.key diff --git a/src/app/modules/viz-module/sub-modules/allocations/table/index.tsx b/src/app/modules/viz-module/sub-modules/allocations/table/index.tsx index e6446f260..c00856059 100644 --- a/src/app/modules/viz-module/sub-modules/allocations/table/index.tsx +++ b/src/app/modules/viz-module/sub-modules/allocations/table/index.tsx @@ -6,7 +6,10 @@ import useDebounce from "react-use/lib/useDebounce"; import { SimpleTable } from "app/components/Table/Simple"; import { PageLoader } from "app/modules/common/page-loader"; import useUpdateEffect from "react-use/lib/useUpdateEffect"; -import { SimpleTableRow } from "app/components/Table/Simple/data"; +import { + SimpleTableColumn, + SimpleTableRow, +} from "app/components/Table/Simple/data"; import { useStoreActions, useStoreState } from "app/state/store/hooks"; import { getAPIFormattedFilters } from "app/utils/getAPIFormattedFilters"; @@ -74,12 +77,13 @@ export function AllocationsTableModule(props: AllocationsTableProps) { return ; } - const columns = + const columns: SimpleTableColumn[] = data.length > 0 ? filter(Object.keys(data[0]), (key) => key !== "children").map( (key) => ({ - name: key === "name" ? "Component/Location" : `${key} (USD)`, + name: key === "name" ? "Component/Location" : key, key, + isMonetary: key === "name" ? undefined : { currency: "USD" }, }) ) : []; From afcfe16c4aa0cc890bd93a9aff4c3e9707e25685 Mon Sep 17 00:00:00 2001 From: Stefanos Hadjipetrou Date: Tue, 4 Jul 2023 19:16:49 +0300 Subject: [PATCH 61/69] chore: merge incremental --- src/app/components/Table/Simple/index.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/components/Table/Simple/index.tsx b/src/app/components/Table/Simple/index.tsx index 9b3b5c09a..fb575fd64 100644 --- a/src/app/components/Table/Simple/index.tsx +++ b/src/app/components/Table/Simple/index.tsx @@ -49,8 +49,6 @@ function Row(props: { const history = useHistory(); const classes = useRowStyles(); - const [open, setOpen] = React.useState(rowExpanded); - const isEligibilityTable = location.pathname.includes("eligibility/table"); let rowExpanded = Boolean(props.forceExpand); @@ -66,6 +64,8 @@ function Row(props: { } } + const [open, setOpen] = React.useState(rowExpanded); + const firstColBig = props.columns[0].key !== "year" && props.columns[0].key !== "level1" ? props.columns.length > 3 From 657724a832f252d775dd5a29bfc53e7300fa5d43 Mon Sep 17 00:00:00 2001 From: Stefanos Hadjipetrou Date: Wed, 5 Jul 2023 17:15:53 +0300 Subject: [PATCH 62/69] feat: funding requests documents download --- src/app/components/AppBar/index.tsx | 5 ++ .../Charts/common/breadcrumbs/index.tsx | 1 - src/app/components/PageHeader/index.tsx | 2 +- src/app/components/Table/funding/index.tsx | 63 ++++++++++++++++++- .../table/data-wrappers/data.ts | 4 ++ 5 files changed, 70 insertions(+), 5 deletions(-) diff --git a/src/app/components/AppBar/index.tsx b/src/app/components/AppBar/index.tsx index ffa16b8b1..d02c1f8b7 100644 --- a/src/app/components/AppBar/index.tsx +++ b/src/app/components/AppBar/index.tsx @@ -177,6 +177,7 @@ export function AppBar() { width: 100%; height: 45px; display: flex; + min-height: 45px; flex-direction: row; align-items: center; justify-content: space-between; @@ -299,6 +300,8 @@ export function AppBar() { setOpenSearch(!openSearch)} css={` + width: 45px; + height: 45px; margin-right: -12px; `} > @@ -333,6 +336,8 @@ export function AppBar() { href="https://github.com/globalfund/data-explorer-client" css={` right: 0; + width: 45px; + height: 45px; position: absolute; path { diff --git a/src/app/components/Charts/common/breadcrumbs/index.tsx b/src/app/components/Charts/common/breadcrumbs/index.tsx index 0a6bd7b89..4808de1db 100644 --- a/src/app/components/Charts/common/breadcrumbs/index.tsx +++ b/src/app/components/Charts/common/breadcrumbs/index.tsx @@ -47,7 +47,6 @@ export default function BreadCrumbs() { top: 45px; z-index: 10; position: sticky; - margin-top: 3rem; background: ${appColors.COMMON.WHITE}; `} > diff --git a/src/app/components/PageHeader/index.tsx b/src/app/components/PageHeader/index.tsx index 8526d2bf2..6700b6bdf 100644 --- a/src/app/components/PageHeader/index.tsx +++ b/src/app/components/PageHeader/index.tsx @@ -93,7 +93,7 @@ export function PageHeader(props: PageHeaderProps) { } return ( -
+
void; } +const FRIconDownload = (props: { + documents: { + url: string; + name: string; + }[]; +}) => { + const [anchorEl, setAnchorEl] = React.useState(null); + + const handleClick = (event: React.MouseEvent) => { + event.stopPropagation(); + setAnchorEl(event.currentTarget); + }; + + const handleClose = (event: React.MouseEvent) => { + event.stopPropagation(); + setAnchorEl(null); + }; + + if (props.documents.length === 0) { + return ; + } + + return ( + + + + + + {props.documents.map((item) => ( + + {item.name} + + ))} + + + ); +}; + const useRowStyles = makeStyles({ root: { "& > *": { @@ -229,7 +282,10 @@ function Row(props: { {index === 0 && props.row.children && props.row.children.length > 0 && } - {column.key === "grant" ? ( + {column.key !== "grant" && + column.key !== "documents" && + get(props.row, column.key, "")} + {column.key === "grant" && ( {get(props.row, column.key, "")} - ) : ( - get(props.row, column.key, "") + )} + {column.key === "documents" && ( + )}
diff --git a/src/app/modules/viz-module/sub-modules/fundingRequests/table/data-wrappers/data.ts b/src/app/modules/viz-module/sub-modules/fundingRequests/table/data-wrappers/data.ts index 1176b84e2..61c268a00 100644 --- a/src/app/modules/viz-module/sub-modules/fundingRequests/table/data-wrappers/data.ts +++ b/src/app/modules/viz-module/sub-modules/fundingRequests/table/data-wrappers/data.ts @@ -57,6 +57,10 @@ export const fundingRequestColumns = [ key: "portfolioCategory", name: "Portfolio Categorization", }, + { + key: "documents", + name: "", + }, ], }, ]; From 8c57767a059826ece77b361ea427e53410ea123d Mon Sep 17 00:00:00 2001 From: Stefanos Hadjipetrou Date: Fri, 7 Jul 2023 12:36:36 +0300 Subject: [PATCH 63/69] fix: fr documents download dropdown item label --- src/app/components/Table/funding/index.tsx | 20 ++++++++++++++++--- .../modules/common/page-top-spacer/index.tsx | 2 +- .../sub-modules/accessToFunding/location.tsx | 1 - 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/app/components/Table/funding/index.tsx b/src/app/components/Table/funding/index.tsx index f69224bbe..1a68086c1 100644 --- a/src/app/components/Table/funding/index.tsx +++ b/src/app/components/Table/funding/index.tsx @@ -54,7 +54,7 @@ export interface FundingTableProps { const FRIconDownload = (props: { documents: { url: string; - name: string; + lang: string; }[]; }) => { const [anchorEl, setAnchorEl] = React.useState(null); @@ -69,6 +69,15 @@ const FRIconDownload = (props: { setAnchorEl(null); }; + const handleScroll = () => { + setAnchorEl(null); + }; + + React.useEffect(() => { + document.addEventListener("scroll", handleScroll); + return () => document.removeEventListener("scroll", handleScroll); + }, []); + if (props.documents.length === 0) { return ; } @@ -80,19 +89,24 @@ const FRIconDownload = (props: {
{props.documents.map((item) => ( - {item.name} + {item.lang} ))} diff --git a/src/app/modules/common/page-top-spacer/index.tsx b/src/app/modules/common/page-top-spacer/index.tsx index dbae0e17a..0289ace4b 100644 --- a/src/app/modules/common/page-top-spacer/index.tsx +++ b/src/app/modules/common/page-top-spacer/index.tsx @@ -4,7 +4,7 @@ export const PageTopSpacer = () => (
-

Access to Funding

From 88a5035cc4539fd207fc03aedc3be3fd9a8f79d9 Mon Sep 17 00:00:00 2001 From: Stefanos Hadjipetrou Date: Tue, 11 Jul 2023 13:17:20 +0300 Subject: [PATCH 64/69] chore: add funding request table disclaimer --- .../modules/viz-module/sub-modules/accessToFunding/location.tsx | 1 + .../sub-modules/fundingRequests/table/data-wrappers/generic.tsx | 1 + 2 files changed, 2 insertions(+) diff --git a/src/app/modules/viz-module/sub-modules/accessToFunding/location.tsx b/src/app/modules/viz-module/sub-modules/accessToFunding/location.tsx index 02cca1653..b20552be4 100644 --- a/src/app/modules/viz-module/sub-modules/accessToFunding/location.tsx +++ b/src/app/modules/viz-module/sub-modules/accessToFunding/location.tsx @@ -253,6 +253,7 @@ export default function LocationAccessToFundingWrapper(props: Props) { font-size: 14px; line-height: 17px; text-align: center; + white-space: pre-line; `} > {get(cmsData, "modulesFundingRequests.tableDisclaimer", "")} diff --git a/src/app/modules/viz-module/sub-modules/fundingRequests/table/data-wrappers/generic.tsx b/src/app/modules/viz-module/sub-modules/fundingRequests/table/data-wrappers/generic.tsx index 0f2066bf8..9e6fd79bb 100644 --- a/src/app/modules/viz-module/sub-modules/fundingRequests/table/data-wrappers/generic.tsx +++ b/src/app/modules/viz-module/sub-modules/fundingRequests/table/data-wrappers/generic.tsx @@ -172,6 +172,7 @@ export function GenericFundingRequestWrapper() { font-size: 14px; line-height: 17px; text-align: center; + white-space: pre-line; `} > {get(cmsData, "modulesFundingRequests.tableDisclaimer", "")} From aab08179f00a96f9d9e7f7100c5ec738a51d7ccd Mon Sep 17 00:00:00 2001 From: Stefanos Hadjipetrou Date: Tue, 11 Jul 2023 13:39:49 +0300 Subject: [PATCH 65/69] chore: update github actions config --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 32a387a61..e36518f9c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -35,7 +35,7 @@ jobs: ] extra_plugins: | "@semantic-release/commit-analyzer" - "@semantic-release/release-notes-generator@10.0.3" + "@semantic-release/release-notes-generator" "@semantic-release/github" env: GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} From 4b1d9a98f79ee9019483650a981afd5639b64222 Mon Sep 17 00:00:00 2001 From: Stefanos Hadjipetrou Date: Tue, 11 Jul 2023 13:42:09 +0300 Subject: [PATCH 66/69] chore: remove semantic version --- .github/workflows/main.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e36518f9c..997240dad 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -24,7 +24,6 @@ jobs: - name: Semantic Release uses: cycjimmy/semantic-release-action@v3 with: - semantic_version: 18 branches: | [ "main", From 8807e2616f93fdafb23ff9b4a285366ccc1850cd Mon Sep 17 00:00:00 2001 From: Stefanos Hadjipetrou Date: Tue, 11 Jul 2023 13:44:13 +0300 Subject: [PATCH 67/69] chore: update semantic version --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 997240dad..edbee2fa5 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -24,6 +24,7 @@ jobs: - name: Semantic Release uses: cycjimmy/semantic-release-action@v3 with: + semantic_version: 20.1.0 branches: | [ "main", From 8ec55081c51694e4cbca5279988f96bf2c1c409b Mon Sep 17 00:00:00 2001 From: Stefanos Hadjipetrou Date: Tue, 11 Jul 2023 13:48:52 +0300 Subject: [PATCH 68/69] chore: incremental --- .github/workflows/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index edbee2fa5..d610fa10f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -24,7 +24,7 @@ jobs: - name: Semantic Release uses: cycjimmy/semantic-release-action@v3 with: - semantic_version: 20.1.0 + semantic_version: 18 branches: | [ "main", @@ -34,8 +34,8 @@ jobs: } ] extra_plugins: | - "@semantic-release/commit-analyzer" - "@semantic-release/release-notes-generator" + "@semantic-release/commit-analyzer@9.0.2" + "@semantic-release/release-notes-generator@10.0.3" "@semantic-release/github" env: GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} From c79e350e90f48c6be3bc722f893331509c349efd Mon Sep 17 00:00:00 2001 From: Stefanos Hadjipetrou Date: Tue, 11 Jul 2023 13:52:53 +0300 Subject: [PATCH 69/69] chore: incremental --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d610fa10f..1f5b8ffa6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -36,7 +36,7 @@ jobs: extra_plugins: | "@semantic-release/commit-analyzer@9.0.2" "@semantic-release/release-notes-generator@10.0.3" - "@semantic-release/github" + "@semantic-release/github@8.1.0" env: GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} RUNNER_DEBUG: 1