Skip to content

Commit 70a1447

Browse files
fix: avoid edge case crash
1 parent 1425a86 commit 70a1447

1 file changed

Lines changed: 28 additions & 1 deletion

File tree

src/components/PeriodDimension/PeriodTransfer.js

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { getNowInCalendar } from '@dhis2/multi-calendar-dates'
22
import { IconInfo16, NoticeBox, TabBar, Tab, Transfer } from '@dhis2/ui'
33
import PropTypes from 'prop-types'
4-
import React, { useState, useMemo } from 'react'
4+
import React, { useEffect, useState, useMemo } from 'react'
55
import PeriodIcon from '../../assets/DimensionItemIcons/PeriodIcon.js' //TODO: Reimplement the icon.js
66
import i18n from '../../locales/index.js'
77
import {
@@ -149,6 +149,33 @@ const PeriodTransfer = ({
149149
year: defaultFixedPeriodYear.toString(),
150150
})
151151

152+
useEffect(() => {
153+
if (!defaultRelativePeriodType) {
154+
return
155+
}
156+
setRelativeFilter({ periodType: defaultRelativePeriodType.id })
157+
if (isRelative) {
158+
setAllPeriods(defaultRelativePeriodType.getPeriods())
159+
}
160+
}, [defaultRelativePeriodType]) // eslint-disable-line react-hooks/exhaustive-deps
161+
162+
useEffect(() => {
163+
if (!defaultFixedPeriodType) {
164+
return
165+
}
166+
setFixedFilter((prev) => ({
167+
...prev,
168+
periodType: defaultFixedPeriodType.id,
169+
}))
170+
if (!isRelative) {
171+
setAllPeriods(
172+
defaultFixedPeriodType.getPeriods(
173+
fixedPeriodConfig(Number(fixedFilter.year))
174+
) || []
175+
)
176+
}
177+
}, [defaultFixedPeriodType]) // eslint-disable-line react-hooks/exhaustive-deps
178+
152179
const isActive = (value) => {
153180
const item = selectedItems.find((item) => item.id === value)
154181
return !item || item.isActive

0 commit comments

Comments
 (0)