From c82a44fbab7c1b85ac961dad4174938f2d89be20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Henrik=20=C3=98verland?= Date: Tue, 10 Mar 2026 10:43:10 +0100 Subject: [PATCH 1/6] fix: export --- src/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/index.js b/src/index.js index d098c5c01..aeac6ce41 100644 --- a/src/index.js +++ b/src/index.js @@ -353,6 +353,7 @@ export { WEEKLY, WEEKLYWED, WEEKLYTHU, + WEEKLYFRI, WEEKLYSAT, WEEKLYSUN, WEEKS_THIS_YEAR, From 8668f5b255faaee7f6f56ad405a1dcf9c7e4cd80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Henrik=20=C3=98verland?= Date: Tue, 10 Mar 2026 12:04:53 +0100 Subject: [PATCH 2/6] fix: 43 periods --- .../PeriodDimension/PeriodTransfer.js | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/components/PeriodDimension/PeriodTransfer.js b/src/components/PeriodDimension/PeriodTransfer.js index 4d99acf40..f3396720c 100644 --- a/src/components/PeriodDimension/PeriodTransfer.js +++ b/src/components/PeriodDimension/PeriodTransfer.js @@ -20,7 +20,15 @@ import { filterEnabledRelativePeriodTypes, } from './utils/enabledPeriodTypes.js' import { getFixedPeriodsOptions } from './utils/fixedPeriods.js' -import { MONTHLY, QUARTERLY, filterPeriodTypesById } from './utils/index.js' +import { + FYFEB, + FYAUG, + FYSEP, + MONTHLY, + QUARTERLY, + WEEKLYFRI, + filterPeriodTypesById, +} from './utils/index.js' import { getRelativePeriodsOptions } from './utils/relativePeriods.js' const RightHeader = ({ infoBoxMessage }) => ( @@ -91,15 +99,20 @@ const PeriodTransfer = ({ } else { const allFixed = getFixedPeriodsOptions(periodsSettings) const allRelative = getRelativePeriodsOptions() + const v43OnlyPeriodTypes = [WEEKLYFRI, FYFEB, FYAUG, FYSEP] + const allExcludedPeriodTypes = [ + ...excludedPeriodTypes, + ...v43OnlyPeriodTypes, + ] return { filteredFixedOptions: filterPeriodTypesById( allFixed, - excludedPeriodTypes + allExcludedPeriodTypes ), filteredRelativeOptions: filterPeriodTypesById( allRelative, - excludedPeriodTypes + allExcludedPeriodTypes ), } } From de2b52e53725bb047677281a754f2f09ef1f51a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Henrik=20=C3=98verland?= Date: Tue, 10 Mar 2026 15:33:58 +0100 Subject: [PATCH 3/6] fix: code smell --- src/components/PeriodDimension/PeriodTransfer.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/components/PeriodDimension/PeriodTransfer.js b/src/components/PeriodDimension/PeriodTransfer.js index f3396720c..43d29d365 100644 --- a/src/components/PeriodDimension/PeriodTransfer.js +++ b/src/components/PeriodDimension/PeriodTransfer.js @@ -152,11 +152,14 @@ const PeriodTransfer = ({ // there is still a pending decision in Temporal regarding which era to use by default: https://github.com/js-temporal/temporal-polyfill/blob/9350ee7dd0d29f329fc097debf923a517c32f813/lib/calendar.ts#L1964 const defaultFixedPeriodYear = now.eraYear || now.year - const fixedPeriodConfig = (year) => ({ - offset: year - defaultFixedPeriodYear, - filterFuturePeriods: false, - reversePeriods: false, - }) + const fixedPeriodConfig = useCallback( + (year) => ({ + offset: year - defaultFixedPeriodYear, + filterFuturePeriods: false, + reversePeriods: false, + }), + [defaultFixedPeriodYear] + ) const [userPeriods, setUserPeriods] = useState(null) const [isRelative, setIsRelative] = useState(true) From faa824075bc883d2bc695717b81137b21e60e9e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Henrik=20=C3=98verland?= Date: Tue, 10 Mar 2026 15:36:05 +0100 Subject: [PATCH 4/6] chore: rename --- src/components/PeriodDimension/PeriodTransfer.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/PeriodDimension/PeriodTransfer.js b/src/components/PeriodDimension/PeriodTransfer.js index 43d29d365..ff99f1bb7 100644 --- a/src/components/PeriodDimension/PeriodTransfer.js +++ b/src/components/PeriodDimension/PeriodTransfer.js @@ -99,10 +99,10 @@ const PeriodTransfer = ({ } else { const allFixed = getFixedPeriodsOptions(periodsSettings) const allRelative = getRelativePeriodsOptions() - const v43OnlyPeriodTypes = [WEEKLYFRI, FYFEB, FYAUG, FYSEP] + const v43PeriodTypes = [WEEKLYFRI, FYFEB, FYAUG, FYSEP] const allExcludedPeriodTypes = [ ...excludedPeriodTypes, - ...v43OnlyPeriodTypes, + ...v43PeriodTypes, ] return { From f4c2dd38186d0c22c6f596b7b5c6e44ae66ab73d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Henrik=20=C3=98verland?= Date: Tue, 10 Mar 2026 15:46:04 +0100 Subject: [PATCH 5/6] fix: error --- src/components/PeriodDimension/PeriodTransfer.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/PeriodDimension/PeriodTransfer.js b/src/components/PeriodDimension/PeriodTransfer.js index ff99f1bb7..858556059 100644 --- a/src/components/PeriodDimension/PeriodTransfer.js +++ b/src/components/PeriodDimension/PeriodTransfer.js @@ -1,7 +1,7 @@ import { getNowInCalendar } from '@dhis2/multi-calendar-dates' import { IconInfo16, NoticeBox, TabBar, Tab, Transfer } from '@dhis2/ui' import PropTypes from 'prop-types' -import React, { useRef, useState, useMemo } from 'react' +import React, { useCallback, useRef, useState, useMemo } from 'react' import PeriodIcon from '../../assets/DimensionItemIcons/PeriodIcon.js' //TODO: Reimplement the icon.js import i18n from '../../locales/index.js' import { @@ -231,6 +231,7 @@ const PeriodTransfer = ({ filteredRelativeOptions, filteredFixedOptions, fixedFilter.year, + fixedPeriodConfig, ]) const allPeriods = userPeriods ?? derivedPeriods From 35c95c2884fb3fc2b0ef77af8ea4ae5357437822 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Henrik=20=C3=98verland?= Date: Tue, 10 Mar 2026 16:21:04 +0100 Subject: [PATCH 6/6] fix: export new fy types --- src/index.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/index.js b/src/index.js index aeac6ce41..976210f68 100644 --- a/src/index.js +++ b/src/index.js @@ -365,10 +365,13 @@ export { SIXMONTHLYAPR, YEARLY, FINANCIAL, - FYNOV, - FYOCT, - FYJUL, + FYFEB, FYAPR, + FYJUL, + FYAUG, + FYSEP, + FYOCT, + FYNOV, } from './components/PeriodDimension/utils/index.js' export { getRelativePeriodsOptionsById,