@dhis2/analytics 24.4.1 → 24.5.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -182,20 +182,6 @@
182
182
  "Fixed periods": "Fixed periods",
183
183
  "Selected Periods": "Selected Periods",
184
184
  "No periods selected": "No periods selected",
185
- "January": "January",
186
- "February": "February",
187
- "March": "March",
188
- "April": "April",
189
- "May": "May",
190
- "June": "June",
191
- "July": "July",
192
- "August": "August",
193
- "September": "September",
194
- "October": "October",
195
- "November": "November",
196
- "December": "December",
197
- "Week {{weekNumber}}": "Week {{weekNumber}}",
198
- "Bi-Week {{biWeekNumber}}": "Bi-Week {{biWeekNumber}}",
199
185
  "Daily": "Daily",
200
186
  "Weekly": "Weekly",
201
187
  "Weekly (Start Wednesday)": "Weekly (Start Wednesday)",
@@ -124,7 +124,12 @@ export const OpenFileDialog = _ref2 => {
124
124
  data,
125
125
  refetch
126
126
  } = useDataQuery(filesQuery, {
127
- lazy: true
127
+ lazy: true,
128
+ onComplete: response => {
129
+ if (page !== response.files.pager.page) {
130
+ setPage(response.files.pager.page);
131
+ }
132
+ }
128
133
  });
129
134
 
130
135
  const resetFilters = () => {
@@ -295,7 +300,7 @@ export const OpenFileDialog = _ref2 => {
295
300
  })))), (data === null || data === void 0 ? void 0 : data.files[AOTypeMap[type].apiEndpoint].length) > 0 && /*#__PURE__*/React.createElement("div", {
296
301
  className: "jsx-".concat(styles.__hash) + " " + "pagination-controls"
297
302
  }, /*#__PURE__*/React.createElement(PaginationControls, {
298
- page: page,
303
+ page: data.files.pager.page,
299
304
  pager: data.files.pager,
300
305
  onPageChange: setPage
301
306
  }))), /*#__PURE__*/React.createElement(_JSXStyle, {
@@ -2,6 +2,8 @@ import _JSXStyle from "styled-jsx/style";
2
2
 
3
3
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
4
4
 
5
+ import { useConfig } from '@dhis2/app-runtime';
6
+ import { getNowInCalendar } from '@dhis2/multi-calendar-dates';
5
7
  import { TabBar, Tab, Transfer } from '@dhis2/ui';
6
8
  import PropTypes from 'prop-types';
7
9
  import React, { useState } from 'react';
@@ -25,9 +27,18 @@ const PeriodTransfer = _ref => {
25
27
  rightFooter,
26
28
  excludedPeriodTypes
27
29
  } = _ref;
30
+ const {
31
+ systemInfo
32
+ } = useConfig();
33
+ const {
34
+ calendar = 'gregory'
35
+ } = systemInfo;
28
36
  const defaultRelativePeriodType = excludedPeriodTypes.includes(MONTHLY) ? getRelativePeriodsOptionsById(QUARTERLY) : getRelativePeriodsOptionsById(MONTHLY);
29
- const defaultFixedPeriodType = excludedPeriodTypes.includes(MONTHLY) ? getFixedPeriodsOptionsById(QUARTERLY) : getFixedPeriodsOptionsById(MONTHLY);
30
- const defaultFixedPeriodYear = new Date().getFullYear();
37
+ const defaultFixedPeriodType = excludedPeriodTypes.includes(MONTHLY) ? getFixedPeriodsOptionsById(QUARTERLY, calendar) : getFixedPeriodsOptionsById(MONTHLY, calendar);
38
+ const now = getNowInCalendar(calendar); // use ".eraYear" rather than ".year" because in Ethiopian calendar, eraYear is what our users expect to see (for other calendars, it doesn't matter)
39
+ // 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
40
+
41
+ const defaultFixedPeriodYear = now.eraYear || now.year;
31
42
 
32
43
  const fixedPeriodConfig = year => ({
33
44
  offset: year - defaultFixedPeriodYear,
@@ -49,7 +60,7 @@ const PeriodTransfer = _ref => {
49
60
  const onIsRelativeClick = state => {
50
61
  if (state !== isRelative) {
51
62
  setIsRelative(state);
52
- setAllPeriods(state ? getRelativePeriodsOptionsById(relativeFilter.periodType).getPeriods() : getFixedPeriodsOptionsById(fixedFilter.periodType).getPeriods(fixedPeriodConfig(Number(fixedFilter.year))));
63
+ setAllPeriods(state ? getRelativePeriodsOptionsById(relativeFilter.periodType).getPeriods() : getFixedPeriodsOptionsById(fixedFilter.periodType, calendar).getPeriods(fixedPeriodConfig(Number(fixedFilter.year))));
53
64
  }
54
65
  };
55
66
 
@@ -102,7 +113,7 @@ const PeriodTransfer = _ref => {
102
113
 
103
114
  const onSelectFixedPeriods = filter => {
104
115
  setFixedFilter(filter);
105
- setAllPeriods(getFixedPeriodsOptionsById(filter.periodType).getPeriods(fixedPeriodConfig(Number(filter.year))));
116
+ setAllPeriods(getFixedPeriodsOptionsById(filter.periodType, calendar).getPeriods(fixedPeriodConfig(Number(filter.year)), calendar));
106
117
  };
107
118
 
108
119
  const renderEmptySelection = () => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("p", {
@@ -1,6 +1,11 @@
1
1
  import { shallow } from 'enzyme';
2
2
  import React from 'react';
3
3
  import PeriodTransfer from '../PeriodTransfer.js';
4
+ jest.mock('@dhis2/app-runtime', () => ({
5
+ useConfig: () => ({
6
+ systemInfo: {}
7
+ })
8
+ }));
4
9
  describe('The Period Selector component', () => {
5
10
  let props;
6
11
  let shallowPeriodTransfer;