|
1 | 1 | import { getNowInCalendar } from '@dhis2/multi-calendar-dates' |
2 | 2 | import { IconInfo16, NoticeBox, TabBar, Tab, Transfer } from '@dhis2/ui' |
3 | 3 | import PropTypes from 'prop-types' |
4 | | -import React, { useState, useMemo } from 'react' |
| 4 | +import React, { useEffect, useState, useMemo } from 'react' |
5 | 5 | import PeriodIcon from '../../assets/DimensionItemIcons/PeriodIcon.js' //TODO: Reimplement the icon.js |
6 | 6 | import i18n from '../../locales/index.js' |
7 | 7 | import { |
@@ -149,6 +149,33 @@ const PeriodTransfer = ({ |
149 | 149 | year: defaultFixedPeriodYear.toString(), |
150 | 150 | }) |
151 | 151 |
|
| 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 | + |
152 | 179 | const isActive = (value) => { |
153 | 180 | const item = selectedItems.find((item) => item.id === value) |
154 | 181 | return !item || item.isActive |
|
0 commit comments