@iapps/ng-dhis2-ui 1.0.1 → 1.0.3
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.
- package/esm2022/index.mjs +4 -1
- package/esm2022/lib/modules/button/button.component.mjs +2 -2
- package/esm2022/lib/modules/header-bar/header-bar.component.mjs +7 -8
- package/esm2022/lib/modules/organisation-unit-selector/components/OrgUnitDimension.mjs +212 -0
- package/esm2022/lib/modules/organisation-unit-selector/components/index.mjs +6 -0
- package/esm2022/lib/modules/organisation-unit-selector/components/styles/OrgUnitDimension.style.mjs +83 -0
- package/esm2022/lib/modules/organisation-unit-selector/components/utils/index.mjs +6 -0
- package/esm2022/lib/modules/organisation-unit-selector/components/utils/ouIdHelper/index.mjs +18 -0
- package/esm2022/lib/modules/organisation-unit-selector/components/utils/ouLevelUtils/index.mjs +27 -0
- package/esm2022/lib/modules/organisation-unit-selector/index.mjs +6 -0
- package/esm2022/lib/modules/organisation-unit-selector/models/index.mjs +5 -0
- package/esm2022/lib/modules/organisation-unit-selector/models/organisation-unit-config.model.mjs +16 -0
- package/esm2022/lib/modules/organisation-unit-selector/organisation-unit-selector.component.mjs +78 -0
- package/esm2022/lib/modules/organisation-unit-selector/organisation-unit-selector.module.mjs +19 -0
- package/esm2022/lib/modules/period-selector/components/FixedPeriodFilter.mjs +44 -0
- package/esm2022/lib/modules/period-selector/components/PeriodDimension.mjs +41 -0
- package/esm2022/lib/modules/period-selector/components/PeriodTransfer.mjs +110 -0
- package/esm2022/lib/modules/period-selector/components/RelativePeriodFilter.mjs +28 -0
- package/esm2022/lib/modules/period-selector/components/utils/fixedPeriods.mjs +308 -0
- package/esm2022/lib/modules/period-selector/components/utils/index.mjs +5 -0
- package/esm2022/lib/modules/period-selector/components/utils/periodTypes.mjs +23 -0
- package/esm2022/lib/modules/period-selector/components/utils/relativePeriods.mjs +139 -0
- package/esm2022/lib/modules/period-selector/index.mjs +6 -0
- package/esm2022/lib/modules/period-selector/period-selector.component.mjs +66 -0
- package/esm2022/lib/modules/period-selector/period-selector.module.mjs +19 -0
- package/esm2022/lib/modules/react-wrapper/index.mjs +6 -0
- package/esm2022/lib/modules/react-wrapper/react-wrapper.component.mjs +53 -0
- package/esm2022/lib/modules/react-wrapper/react-wrapper.module.mjs +18 -0
- package/esm2022/lib/shared/assets/AssignedCategoriesIcon.mjs +12 -0
- package/esm2022/lib/shared/assets/DimensionItemIcons/PeriodIcon.mjs +4 -0
- package/esm2022/lib/shared/components/TransferOption.mjs +130 -0
- package/esm2022/lib/shared/components/index.mjs +2 -3
- package/esm2022/lib/shared/index.mjs +7 -0
- package/esm2022/lib/shared/styles/DimensionSelector.style.mjs +39 -0
- package/esm2022/lib/shared/styles/index.mjs +5 -0
- package/esm2022/lib/shared/utils/axis.mjs +25 -0
- package/esm2022/lib/shared/utils/axisGetDimension.mjs +5 -0
- package/esm2022/lib/shared/utils/axisHasDimension.mjs +3 -0
- package/esm2022/lib/shared/utils/dimension.mjs +52 -0
- package/esm2022/lib/shared/utils/dimensionGetItems.mjs +6 -0
- package/esm2022/lib/shared/utils/dimensionIs.mjs +3 -0
- package/esm2022/lib/shared/utils/dimensionIsEmpty.mjs +5 -0
- package/esm2022/lib/shared/utils/dimensionIsValid.mjs +16 -0
- package/esm2022/lib/shared/utils/dimensionSelectorHelper.mjs +4 -0
- package/esm2022/lib/shared/utils/index.mjs +15 -0
- package/esm2022/lib/shared/utils/layoutGetAllAxes.mjs +7 -0
- package/esm2022/lib/shared/utils/layoutGetAllDimensions.mjs +6 -0
- package/esm2022/lib/shared/utils/layoutGetDimension.mjs +4 -0
- package/esm2022/lib/shared/utils/layoutReplaceDimension.mjs +17 -0
- package/esm2022/lib/shared/utils/list.mjs +15 -0
- package/esm2022/lib/shared/utils/predefinedDimensions.mjs +45 -0
- package/fesm2022/iapps-ng-dhis2-ui.mjs +1652 -77
- package/fesm2022/iapps-ng-dhis2-ui.mjs.map +1 -1
- package/index.d.ts +3 -0
- package/lib/modules/button/button.component.d.ts +1 -1
- package/lib/modules/header-bar/header-bar.component.d.ts +1 -4
- package/lib/modules/organisation-unit-selector/components/OrgUnitDimension.d.ts +26 -0
- package/lib/modules/organisation-unit-selector/components/index.d.ts +2 -0
- package/lib/modules/organisation-unit-selector/components/styles/OrgUnitDimension.style.d.ts +1 -0
- package/lib/modules/organisation-unit-selector/components/utils/index.d.ts +2 -0
- package/lib/modules/organisation-unit-selector/components/utils/ouIdHelper/index.d.ts +10 -0
- package/lib/modules/organisation-unit-selector/components/utils/ouLevelUtils/index.d.ts +1 -0
- package/lib/modules/organisation-unit-selector/index.d.ts +2 -0
- package/lib/modules/organisation-unit-selector/models/index.d.ts +1 -0
- package/lib/modules/organisation-unit-selector/models/organisation-unit-config.model.d.ts +12 -0
- package/lib/modules/organisation-unit-selector/organisation-unit-selector.component.d.ts +26 -0
- package/lib/modules/organisation-unit-selector/organisation-unit-selector.module.d.ts +9 -0
- package/lib/modules/period-selector/components/FixedPeriodFilter.d.ts +18 -0
- package/lib/modules/period-selector/components/PeriodDimension.d.ts +15 -0
- package/lib/modules/period-selector/components/PeriodTransfer.d.ts +28 -0
- package/lib/modules/period-selector/components/RelativePeriodFilter.d.ts +11 -0
- package/lib/modules/period-selector/components/utils/fixedPeriods.d.ts +17 -0
- package/lib/modules/period-selector/components/utils/index.d.ts +4 -0
- package/lib/modules/period-selector/components/utils/periodTypes.d.ts +19 -0
- package/lib/modules/period-selector/components/utils/relativePeriods.d.ts +17 -0
- package/lib/modules/period-selector/index.d.ts +2 -0
- package/lib/modules/period-selector/period-selector.component.d.ts +21 -0
- package/lib/modules/period-selector/period-selector.module.d.ts +9 -0
- package/lib/modules/react-wrapper/index.d.ts +2 -0
- package/lib/modules/react-wrapper/react-wrapper.module.d.ts +8 -0
- package/lib/shared/assets/AssignedCategoriesIcon.d.ts +2 -0
- package/lib/shared/assets/DimensionItemIcons/PeriodIcon.d.ts +3 -0
- package/lib/shared/components/TransferOption.d.ts +19 -0
- package/lib/shared/components/index.d.ts +1 -2
- package/lib/shared/index.d.ts +3 -0
- package/lib/shared/styles/DimensionSelector.style.d.ts +2 -0
- package/lib/shared/styles/index.d.ts +1 -0
- package/lib/shared/utils/axis.d.ts +11 -0
- package/lib/shared/utils/axisGetDimension.d.ts +1 -0
- package/lib/shared/utils/axisHasDimension.d.ts +1 -0
- package/lib/shared/utils/dimension.d.ts +45 -0
- package/lib/shared/utils/dimensionGetItems.d.ts +1 -0
- package/lib/shared/utils/dimensionIs.d.ts +1 -0
- package/lib/shared/utils/dimensionIsEmpty.d.ts +1 -0
- package/lib/shared/utils/dimensionIsValid.d.ts +1 -0
- package/lib/shared/utils/dimensionSelectorHelper.d.ts +3 -0
- package/lib/shared/utils/index.d.ts +11 -0
- package/lib/shared/utils/layoutGetAllAxes.d.ts +1 -0
- package/lib/shared/utils/layoutGetAllDimensions.d.ts +1 -0
- package/lib/shared/utils/layoutGetDimension.d.ts +1 -0
- package/lib/shared/utils/layoutReplaceDimension.d.ts +1 -0
- package/lib/shared/utils/list.d.ts +1 -0
- package/lib/shared/utils/predefinedDimensions.d.ts +65 -0
- package/package.json +1 -1
- package/esm2022/lib/shared/components/react-component-wrapper/react-wrapper.component.mjs +0 -53
- /package/lib/{shared/components/react-component-wrapper → modules/react-wrapper}/react-wrapper.component.d.ts +0 -0
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
import { generateFixedPeriods, getNowInCalendar, } from '@dhis2/multi-calendar-dates';
|
|
2
|
+
import i18n from '@dhis2/d2-i18n';
|
|
3
|
+
import { DAILY, WEEKLY, WEEKLYWED, WEEKLYTHU, WEEKLYSAT, WEEKLYSUN, BIWEEKLY, MONTHLY, BIMONTHLY, QUARTERLY, SIXMONTHLY, SIXMONTHLYAPR, YEARLY, FYNOV, FYOCT, FYJUL, FYAPR, } from './periodTypes';
|
|
4
|
+
const PERIOD_TYPE_REGEX = {
|
|
5
|
+
[DAILY]: /^([0-9]{4})([0-9]{2})([0-9]{2})$/,
|
|
6
|
+
[WEEKLY]: /^([0-9]{4})()W([0-9]{1,2})$/,
|
|
7
|
+
[BIWEEKLY]: /^([0-9]{4})BiW([0-9]{1,2})$/,
|
|
8
|
+
[WEEKLYWED]: /^([0-9]{4})(Wed)W([0-9]{1,2})$/,
|
|
9
|
+
[WEEKLYTHU]: /^([0-9]{4})(Thu)W([0-9]{1,2})$/,
|
|
10
|
+
[WEEKLYSAT]: /^([0-9]{4})(Sat)W([0-9]{1,2})$/,
|
|
11
|
+
[WEEKLYSUN]: /^([0-9]{4})(Sun)W([0-9]{1,2})$/,
|
|
12
|
+
[MONTHLY]: /^([0-9]{4})([0-9]{2})$/,
|
|
13
|
+
[BIMONTHLY]: /^([0-9]{4})([0-9]{2})B$/,
|
|
14
|
+
[QUARTERLY]: /^([0-9]{4})Q([1234])$/,
|
|
15
|
+
[SIXMONTHLY]: /^([0-9]{4})S([12])$/,
|
|
16
|
+
[SIXMONTHLYAPR]: /^([0-9]{4})AprilS([12])$/,
|
|
17
|
+
// [SIXMONTHLYNOV]: /^([0-9]{4})NovS([12])$/, // YYYY"NovS"[1/2] Not supported?
|
|
18
|
+
[YEARLY]: /^([0-9]{4})$/,
|
|
19
|
+
[FYNOV]: /^([0-9]{4})Nov$/,
|
|
20
|
+
[FYOCT]: /^([0-9]{4})Oct$/,
|
|
21
|
+
[FYJUL]: /^([0-9]{4})July$/,
|
|
22
|
+
[FYAPR]: /^([0-9]{4})April$/, // YYYY"April"
|
|
23
|
+
};
|
|
24
|
+
const getPeriods = ({ periodType, config, fnFilter, periodSettings = {}, }) => {
|
|
25
|
+
const offset = parseInt(config.offset, 10);
|
|
26
|
+
const isFilter = config.filterFuturePeriods;
|
|
27
|
+
const isReverse = periodType.match(/^FY|YEARLY/)
|
|
28
|
+
? true
|
|
29
|
+
: config.reversePeriods;
|
|
30
|
+
const { calendar = 'gregory', locale = 'en' } = periodSettings;
|
|
31
|
+
const now = getNowInCalendar(calendar);
|
|
32
|
+
const year = (now.eraYear || now.year) + offset;
|
|
33
|
+
const params = {
|
|
34
|
+
periodType,
|
|
35
|
+
year,
|
|
36
|
+
calendar,
|
|
37
|
+
locale,
|
|
38
|
+
startingDay: config.startDay,
|
|
39
|
+
};
|
|
40
|
+
let periods = generateFixedPeriods(params);
|
|
41
|
+
periods = isFilter ? fnFilter(periods) : periods;
|
|
42
|
+
periods = !isReverse ? periods : periods.reverse();
|
|
43
|
+
return periods;
|
|
44
|
+
};
|
|
45
|
+
const getDailyPeriodType = (fnFilter, periodSettings) => {
|
|
46
|
+
return (config) => {
|
|
47
|
+
return getPeriods({
|
|
48
|
+
periodType: 'DAILY',
|
|
49
|
+
config,
|
|
50
|
+
fnFilter,
|
|
51
|
+
periodSettings,
|
|
52
|
+
});
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
const getWeeklyPeriodType = (weekObj, fnFilter, periodSettings) => {
|
|
56
|
+
return (config) => {
|
|
57
|
+
return getPeriods({
|
|
58
|
+
periodType: 'WEEKLY',
|
|
59
|
+
config: {
|
|
60
|
+
...config,
|
|
61
|
+
startDay: weekObj.startDay,
|
|
62
|
+
},
|
|
63
|
+
fnFilter,
|
|
64
|
+
periodSettings,
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
const getBiWeeklyPeriodType = (fnFilter, periodSettings) => {
|
|
69
|
+
return (config) => {
|
|
70
|
+
return getPeriods({
|
|
71
|
+
periodType: 'BIWEEKLY',
|
|
72
|
+
config,
|
|
73
|
+
fnFilter,
|
|
74
|
+
periodSettings,
|
|
75
|
+
});
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
const getMonthlyPeriodType = (fnFilter, periodSettings) => {
|
|
79
|
+
return (config) => {
|
|
80
|
+
return getPeriods({
|
|
81
|
+
periodType: 'MONTHLY',
|
|
82
|
+
config,
|
|
83
|
+
fnFilter,
|
|
84
|
+
periodSettings,
|
|
85
|
+
});
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
const getBiMonthlyPeriodType = (fnFilter, periodSettings) => {
|
|
89
|
+
return (config) => {
|
|
90
|
+
return getPeriods({
|
|
91
|
+
periodType: 'BIMONTHLY',
|
|
92
|
+
config,
|
|
93
|
+
fnFilter,
|
|
94
|
+
periodSettings,
|
|
95
|
+
});
|
|
96
|
+
};
|
|
97
|
+
};
|
|
98
|
+
const getQuarterlyPeriodType = (fnFilter, periodSettings) => {
|
|
99
|
+
return (config) => {
|
|
100
|
+
return getPeriods({
|
|
101
|
+
periodType: 'QUARTERLY',
|
|
102
|
+
config,
|
|
103
|
+
fnFilter,
|
|
104
|
+
periodSettings,
|
|
105
|
+
});
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
const getSixMonthlyPeriodType = (fnFilter, periodSettings) => {
|
|
109
|
+
return (config) => {
|
|
110
|
+
return getPeriods({
|
|
111
|
+
periodType: 'SIXMONTHLY',
|
|
112
|
+
config,
|
|
113
|
+
fnFilter,
|
|
114
|
+
periodSettings,
|
|
115
|
+
});
|
|
116
|
+
};
|
|
117
|
+
};
|
|
118
|
+
const getSixMonthlyAprilPeriodType = (fnFilter, periodSettings) => {
|
|
119
|
+
return (config) => {
|
|
120
|
+
return getPeriods({
|
|
121
|
+
periodType: 'SIXMONTHLYAPR',
|
|
122
|
+
config,
|
|
123
|
+
fnFilter,
|
|
124
|
+
periodSettings,
|
|
125
|
+
});
|
|
126
|
+
};
|
|
127
|
+
};
|
|
128
|
+
const getYearlyPeriodType = (fnFilter, periodSettings) => {
|
|
129
|
+
return (config) => {
|
|
130
|
+
return getPeriods({
|
|
131
|
+
periodType: 'YEARLY',
|
|
132
|
+
config,
|
|
133
|
+
fnFilter,
|
|
134
|
+
periodSettings,
|
|
135
|
+
});
|
|
136
|
+
};
|
|
137
|
+
};
|
|
138
|
+
const getFinancialOctoberPeriodType = (fnFilter, periodSettings) => {
|
|
139
|
+
return (config) => {
|
|
140
|
+
return getPeriods({
|
|
141
|
+
periodType: 'FYOCT',
|
|
142
|
+
config,
|
|
143
|
+
fnFilter,
|
|
144
|
+
periodSettings,
|
|
145
|
+
});
|
|
146
|
+
};
|
|
147
|
+
};
|
|
148
|
+
const getFinancialNovemberPeriodType = (fnFilter, periodSettings) => {
|
|
149
|
+
return (config) => {
|
|
150
|
+
return getPeriods({
|
|
151
|
+
periodType: 'FYNOV',
|
|
152
|
+
config,
|
|
153
|
+
fnFilter,
|
|
154
|
+
periodSettings,
|
|
155
|
+
});
|
|
156
|
+
};
|
|
157
|
+
};
|
|
158
|
+
const getFinancialJulyPeriodType = (fnFilter, periodSettings) => {
|
|
159
|
+
return (config) => {
|
|
160
|
+
return getPeriods({
|
|
161
|
+
periodType: 'FYJUL',
|
|
162
|
+
config,
|
|
163
|
+
fnFilter,
|
|
164
|
+
periodSettings,
|
|
165
|
+
});
|
|
166
|
+
};
|
|
167
|
+
};
|
|
168
|
+
const getFinancialAprilPeriodType = (fnFilter, periodSettings) => {
|
|
169
|
+
return (config) => {
|
|
170
|
+
return getPeriods({
|
|
171
|
+
periodType: 'FYAPR',
|
|
172
|
+
config,
|
|
173
|
+
fnFilter,
|
|
174
|
+
periodSettings,
|
|
175
|
+
});
|
|
176
|
+
};
|
|
177
|
+
};
|
|
178
|
+
const filterFuturePeriods = (periods) => {
|
|
179
|
+
const array = [];
|
|
180
|
+
const now = new Date(Date.now());
|
|
181
|
+
for (let i = 0; i < periods.length; i++) {
|
|
182
|
+
if (new Date(periods[i].startDate) <= now) {
|
|
183
|
+
array.push(periods[i]);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
return array;
|
|
187
|
+
};
|
|
188
|
+
const getOptions = (periodSettings) => {
|
|
189
|
+
return [
|
|
190
|
+
{
|
|
191
|
+
id: DAILY,
|
|
192
|
+
getPeriods: getDailyPeriodType(filterFuturePeriods, periodSettings),
|
|
193
|
+
name: i18n.t('Daily'),
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
id: WEEKLY,
|
|
197
|
+
getPeriods: getWeeklyPeriodType({ startDay: 1 }, filterFuturePeriods, periodSettings),
|
|
198
|
+
name: i18n.t('Weekly'),
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
id: WEEKLYWED,
|
|
202
|
+
getPeriods: getWeeklyPeriodType({ startDay: 3 }, filterFuturePeriods, periodSettings),
|
|
203
|
+
name: i18n.t('Weekly (Start Wednesday)'),
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
id: WEEKLYTHU,
|
|
207
|
+
getPeriods: getWeeklyPeriodType({ startDay: 4 }, filterFuturePeriods, periodSettings),
|
|
208
|
+
name: i18n.t('Weekly (Start Thursday)'),
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
id: WEEKLYSAT,
|
|
212
|
+
getPeriods: getWeeklyPeriodType({ startDay: 6 }, filterFuturePeriods, periodSettings),
|
|
213
|
+
name: i18n.t('Weekly (Start Saturday)'),
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
id: WEEKLYSUN,
|
|
217
|
+
getPeriods: getWeeklyPeriodType({ startDay: 7 }, filterFuturePeriods, periodSettings),
|
|
218
|
+
name: i18n.t('Weekly (Start Sunday)'),
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
id: BIWEEKLY,
|
|
222
|
+
getPeriods: getBiWeeklyPeriodType(filterFuturePeriods, periodSettings),
|
|
223
|
+
name: i18n.t('Bi-weekly'),
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
id: MONTHLY,
|
|
227
|
+
getPeriods: getMonthlyPeriodType(filterFuturePeriods, periodSettings),
|
|
228
|
+
name: i18n.t('Monthly'),
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
id: BIMONTHLY,
|
|
232
|
+
getPeriods: getBiMonthlyPeriodType(filterFuturePeriods, periodSettings),
|
|
233
|
+
name: i18n.t('Bi-monthly'),
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
id: QUARTERLY,
|
|
237
|
+
getPeriods: getQuarterlyPeriodType(filterFuturePeriods, periodSettings),
|
|
238
|
+
name: i18n.t('Quarterly'),
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
id: SIXMONTHLY,
|
|
242
|
+
getPeriods: getSixMonthlyPeriodType(filterFuturePeriods, periodSettings),
|
|
243
|
+
name: i18n.t('Six-monthly'),
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
id: SIXMONTHLYAPR,
|
|
247
|
+
getPeriods: getSixMonthlyAprilPeriodType(filterFuturePeriods, periodSettings),
|
|
248
|
+
name: i18n.t('Six-monthly April'),
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
id: YEARLY,
|
|
252
|
+
getPeriods: getYearlyPeriodType(filterFuturePeriods, periodSettings),
|
|
253
|
+
name: i18n.t('Yearly'),
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
id: FYNOV,
|
|
257
|
+
getPeriods: getFinancialNovemberPeriodType(filterFuturePeriods, periodSettings),
|
|
258
|
+
name: i18n.t('Financial year (Start November)'),
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
id: FYOCT,
|
|
262
|
+
getPeriods: getFinancialOctoberPeriodType(filterFuturePeriods, periodSettings),
|
|
263
|
+
name: i18n.t('Financial year (Start October)'),
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
id: FYJUL,
|
|
267
|
+
getPeriods: getFinancialJulyPeriodType(filterFuturePeriods, periodSettings),
|
|
268
|
+
name: i18n.t('Financial year (Start July)'),
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
id: FYAPR,
|
|
272
|
+
getPeriods: getFinancialAprilPeriodType(filterFuturePeriods, periodSettings),
|
|
273
|
+
name: i18n.t('Financial year (Start April)'),
|
|
274
|
+
},
|
|
275
|
+
];
|
|
276
|
+
};
|
|
277
|
+
export const getFixedPeriodsOptionsById = (id, periodSettings) => {
|
|
278
|
+
return getOptions(periodSettings).find((option) => option.id === id);
|
|
279
|
+
};
|
|
280
|
+
export const getFixedPeriodsOptions = () => getOptions();
|
|
281
|
+
export const getYearOffsetFromNow = (yearStr) => parseInt(yearStr) - new Date(Date.now()).getFullYear();
|
|
282
|
+
export const parsePeriodCode = (code, allowedTypes) => {
|
|
283
|
+
const periodTypes = Object.keys(PERIOD_TYPE_REGEX);
|
|
284
|
+
let i = 0;
|
|
285
|
+
let type = '';
|
|
286
|
+
let match = undefined;
|
|
287
|
+
while (i < periodTypes.length && !match) {
|
|
288
|
+
type = periodTypes[i];
|
|
289
|
+
match = code.match(PERIOD_TYPE_REGEX[type]);
|
|
290
|
+
i++;
|
|
291
|
+
}
|
|
292
|
+
if (!match ||
|
|
293
|
+
(Array.isArray(allowedTypes) && !allowedTypes.some((t) => t === type))) {
|
|
294
|
+
return undefined;
|
|
295
|
+
}
|
|
296
|
+
const period = getFixedPeriodsOptionsById(type);
|
|
297
|
+
const offset = getYearOffsetFromNow(match[1]);
|
|
298
|
+
const options = period?.getPeriods({ offset });
|
|
299
|
+
return period
|
|
300
|
+
? {
|
|
301
|
+
id: period.id,
|
|
302
|
+
name: period.name,
|
|
303
|
+
year: match[1],
|
|
304
|
+
options,
|
|
305
|
+
}
|
|
306
|
+
: null;
|
|
307
|
+
};
|
|
308
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4ZWRQZXJpb2RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbmctZGhpczItdWkvc3JjL2xpYi9tb2R1bGVzL3BlcmlvZC1zZWxlY3Rvci9jb21wb25lbnRzL3V0aWxzL2ZpeGVkUGVyaW9kcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixnQkFBZ0IsR0FDakIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLElBQUksTUFBTSxnQkFBZ0IsQ0FBQztBQUNsQyxPQUFPLEVBQ0wsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsRUFDVCxTQUFTLEVBQ1QsUUFBUSxFQUNSLE9BQU8sRUFDUCxTQUFTLEVBQ1QsU0FBUyxFQUNULFVBQVUsRUFDVixhQUFhLEVBQ2IsTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsS0FBSyxFQUNMLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUV2QixNQUFNLGlCQUFpQixHQUFHO0lBQ3hCLENBQUMsS0FBSyxDQUFDLEVBQUUsa0NBQWtDO0lBQzNDLENBQUMsTUFBTSxDQUFDLEVBQUUsNkJBQTZCO0lBQ3ZDLENBQUMsUUFBUSxDQUFDLEVBQUUsNkJBQTZCO0lBQ3pDLENBQUMsU0FBUyxDQUFDLEVBQUUsZ0NBQWdDO0lBQzdDLENBQUMsU0FBUyxDQUFDLEVBQUUsZ0NBQWdDO0lBQzdDLENBQUMsU0FBUyxDQUFDLEVBQUUsZ0NBQWdDO0lBQzdDLENBQUMsU0FBUyxDQUFDLEVBQUUsZ0NBQWdDO0lBQzdDLENBQUMsT0FBTyxDQUFDLEVBQUUsd0JBQXdCO0lBQ25DLENBQUMsU0FBUyxDQUFDLEVBQUUseUJBQXlCO0lBQ3RDLENBQUMsU0FBUyxDQUFDLEVBQUUsdUJBQXVCO0lBQ3BDLENBQUMsVUFBVSxDQUFDLEVBQUUscUJBQXFCO0lBQ25DLENBQUMsYUFBYSxDQUFDLEVBQUUsMEJB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LEtBQUssRUFBRTtRQUN2QyxJQUFJLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFFLGlCQUF5QixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDckQsQ0FBQyxFQUFFLENBQUM7S0FDTDtJQUVELElBQ0UsQ0FBQyxLQUFLO1FBQ04sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEVBQ3RFO1FBQ0EsT0FBTyxTQUFTLENBQUM7S0FDbEI7SUFFRCxNQUFNLE1BQU0sR0FBRywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoRCxNQUFNLE1BQU0sR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5QyxNQUFNLE9BQU8sR0FBRyxNQUFNLEVBQUUsVUFBVSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUUvQyxPQUFPLE1BQU07UUFDWCxDQUFDLENBQUM7WUFDRSxFQUFFLEVBQUUsTUFBTSxDQUFDLEVBQUU7WUFDYixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7WUFDakIsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDZCxPQUFPO1NBQ1I7UUFDSCxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ1gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgZ2VuZXJhdGVGaXhlZFBlcmlvZHMsXG4gIGdldE5vd0luQ2FsZW5kYXIsXG59IGZyb20gJ0BkaGlzMi9tdWx0aS1jYWxlbmRhci1kYXRlcyc7XG5pbXBvcnQgaTE4biBmcm9tICdAZGhpczIvZDItaTE4bic7XG5pbXBvcnQge1xuICBEQUlMWSxcbiAgV0VFS0xZLFxuICBXRUVLTFlXRUQsXG4gIFdFRUtMWVRIVSxcbiAgV0VFS0xZU0FULFxuICBXRUVLTFlTVU4sXG4gIEJJV0VFS0xZLFxuICBNT05USExZLFxuICBCSU1PTlRITFksXG4gIFFVQVJURVJMWSxcbiAgU0lYTU9OVEhMWSxcbiAgU0lYTU9OVEhMWUFQUixcbiAgWUVBUkxZLFxuICBGWU5PVixcbiAgRllPQ1QsXG4gIEZZSlVMLFxuICBGWUFQUixcbn0gZnJvbSAnLi9wZXJpb2RUeXBlcyc7XG5cbmNvbnN0IFBFUklPRF9UWVBFX1JFR0VYID0ge1xuICBbREFJTFldOiAvXihbMC05XXs0fSkoWzAtOV17Mn0pKFswLTldezJ9KSQvLCAvLyBZWVlZTU1ERFxuICBbV0VFS0xZXTogL14oWzAtOV17NH0pKClXKFswLTldezEsMn0pJC8sIC8vIFlZWVlcIldcIlsxLTUzXVxuICBbQklXRUVLTFldOiAvXihbMC05XXs0fSlCaVcoWzAtOV17MSwyfSkkLywgLy8gWVlZWVwiQmlXXCJbMS0yN11cbiAgW1dFRUtMWVdFRF06IC9eKFswLTldezR9KShXZWQpVyhbMC05XXsxLDJ9KSQvLCAvLyBZWVlZXCJXZWRXXCJbMS01M11cbiAgW1dFRUtMWVRIVV06IC9eKFswLTldezR9KShUaHUpVyhbMC05XXsxLDJ9KSQvLCAvLyBZWVlZXCJUaHVXXCJbMS01M11cbiAgW1dFRUtMWVNBVF06IC9eKFswLTldezR9KShTYXQpVyhbMC05XXsxLDJ9KSQvLCAvLyBZWVlZXCJTYXRXXCJbMS01M11cbiAgW1dFRUtMWVNVTl06IC9eKFswLTldezR9KShTdW4pVyhbMC05XXsxLDJ9KSQvLCAvLyBZWVlZXCJTdW5XXCJbMS01M11cbiAgW01PTlRITFldOiAvXihbMC05XXs0fSkoWzAtOV17Mn0pJC8sIC8vIFlZWVlNTVxuICBbQklNT05USExZXTogL14oWzAtOV17NH0pKFswLTldezJ9KUIkLywgLy8gWVlZWTBbMS02XVwiQlwiXG4gIFtRVUFSVEVSTFldOiAvXihbMC05XXs0fSlRKFsxMjM0XSkkLywgLy8gWVlZWVwiUVwiWzEtNF1cbiAgW1NJWE1PTlRITFldOiAvXihbMC05XXs0fSlTKFsxMl0pJC8sIC8vIFlZWVlcIlNcIlsxLzJdXG4gIFtTSVhNT05USExZQVBSXTogL14oWzAtOV17NH0pQXByaWxTKFsxMl0pJC8sIC8vIFlZWVlcIkFwcmlsU1wiWzEvMl1cbiAgLy8gW1NJWE1PTlRITFlOT1ZdOiAvXihbMC05XXs0fSlOb3ZTKFsxMl0pJC8sIC8vIFlZWVlcIk5vdlNcIlsxLzJdIE5vdCBzdXBwb3J0ZWQ/XG4gIFtZRUFSTFldOiAvXihbMC05XXs0fSkkLywgLy8gWVlZWVxuICBbRllOT1ZdOiAvXihbMC05XXs0fSlOb3YkLywgLy8gWVlZWVwiTm92XCJcbiAgW0ZZT0NUXTogL14oWzAtOV17NH0pT2N0JC8sIC8vIFlZWVlcIk9jdFwiXG4gIFtGWUpVTF06IC9eKFswLTldezR9KUp1bHkkLywgLy8gWVlZWVwiSnVseVwiXG4gIFtGWUFQUl06IC9eKFswLTldezR9KUFwcmlsJC8sIC8vIFlZWVlcIkFwcmlsXCJcbn07XG5cbmNvbnN0IGdldFBlcmlvZHMgPSAoe1xuICBwZXJpb2RUeXBlLFxuICBjb25maWcsXG4gIGZuRmlsdGVyLFxuICBwZXJpb2RTZXR0aW5ncyA9IHt9LFxufTogYW55KSA9PiB7XG4gIGNvbnN0IG9mZnNldCA9IHBhcnNlSW50KGNvbmZpZy5vZmZzZXQsIDEwKTtcbiAgY29uc3QgaXNGaWx0ZXIgPSBjb25maWcuZmlsdGVyRnV0dXJlUGVyaW9kcztcbiAgY29uc3QgaXNSZXZlcnNlID0gcGVyaW9kVHlwZS5tYXRjaCgvXkZZfFlFQVJMWS8pXG4gICAgPyB0cnVlXG4gICAgOiBjb25maWcucmV2ZXJzZVBlcmlvZHM7XG5cbiAgY29uc3QgeyBjYWxlbmRhciA9ICdncmVnb3J5JywgbG9jYWxlID0gJ2VuJyB9ID0gcGVyaW9kU2V0dGluZ3MgYXMgYW55O1xuICBjb25zdCBub3cgPSBnZXROb3dJbkNhbGVuZGFyKGNhbGVuZGFyKTtcbiAgY29uc3QgeWVhciA9IChub3cuZXJhWWVhciB8fCBub3cueWVhcikgKyBvZmZzZXQ7XG5cbiAgY29uc3QgcGFyYW1zID0ge1xuICAgIHBlcmlvZFR5cGUsXG4gICAgeWVhcixcbiAgICBjYWxlbmRhcixcbiAgICBsb2NhbGUsXG4gICAgc3RhcnRpbmdEYXk6IGNvbmZpZy5zdGFydERheSxcbiAgfTtcblxuICBsZXQgcGVyaW9kcyA9IGdlbmVyYXRlRml4ZWRQZXJpb2RzKHBhcmFtcyk7XG5cbiAgcGVyaW9kcyA9IGlzRmlsdGVyID8gZm5GaWx0ZXIocGVyaW9kcykgOiBwZXJpb2RzO1xuICBwZXJpb2RzID0gIWlzUmV2ZXJzZSA/IHBlcmlvZHMgOiBwZXJpb2RzLnJldmVyc2UoKTtcblxuICByZXR1cm4gcGVyaW9kcztcbn07XG5cbmNvbnN0IGdldERhaWx5UGVyaW9kVHlwZSA9IChmbkZpbHRlcjogYW55LCBwZXJpb2RTZXR0aW5ncz86IGFueSkgPT4ge1xuICByZXR1cm4gKGNvbmZpZzogYW55KSA9PiB7XG4gICAgcmV0dXJuIGdldFBlcmlvZHMoe1xuICAgICAgcGVyaW9kVHlwZTogJ0RBSUxZJyxcbiAgICAgIGNvbmZpZyxcbiAgICAgIGZuRmlsdGVyLFxuICAgICAgcGVyaW9kU2V0dGluZ3MsXG4gICAgfSk7XG4gIH07XG59O1xuXG5jb25zdCBnZXRXZWVrbHlQZXJpb2RUeXBlID0gKFxuICB3ZWVrT2JqOiBhbnksXG4gIGZuRmlsdGVyOiBhbnksXG4gIHBlcmlvZFNldHRpbmdzOiBhbnlcbikgPT4ge1xuICByZXR1cm4gKGNvbmZpZzogYW55KSA9PiB7XG4gICAgcmV0dXJuIGdldFBlcmlvZHMoe1xuICAgICAgcGVyaW9kVHlwZTogJ1dFRUtMWScsXG4gICAgICBjb25maWc6IHtcbiAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICBzdGFydERheTogd2Vla09iai5zdGFydERheSxcbiAgICAgIH0sXG4gICAgICBmbkZpbHRlcixcbiAgICAgIHBlcmlvZFNldHRpbmdzLFxuICAgIH0pO1xuICB9O1xufTtcblxuY29uc3QgZ2V0QmlXZWVrbHlQZXJpb2RUeXBlID0gKGZuRmlsdGVyOiBhbnksIHBlcmlvZFNldHRpbmdzOiBhbnkpID0+IHtcbiAgcmV0dXJuIChjb25maWc6IGFueSkgPT4ge1xuICAgIHJldHVybiBnZXRQZXJpb2RzKHtcbiAgICAgIHBlcmlvZFR5cGU6ICdCSVdFRUtMWScsXG4gICAgICBjb25maWcsXG4gICAgICBmbkZpbHRlcixcbiAgICAgIHBlcmlvZFNldHRpbmdzLFxuICAgIH0pO1xuICB9O1xufTtcblxuY29uc3QgZ2V0TW9udGhseVBlcmlvZFR5cGUgPSAoZm5GaWx0ZXI6IGFueSwgcGVyaW9kU2V0dGluZ3M6IGFueSkgPT4ge1xuICByZXR1cm4gKGNvbmZpZzogYW55KSA9PiB7XG4gICAgcmV0dXJuIGdldFBlcmlvZHMoe1xuICAgICAgcGVyaW9kVHlwZTogJ01PTlRITFknLFxuICAgICAgY29uZmlnLFxuICAgICAgZm5GaWx0ZXIsXG4gICAgICBwZXJpb2RTZXR0aW5ncyxcbiAgICB9KTtcbiAgfTtcbn07XG5cbmNvbnN0IGdldEJpTW9udGhseVBlcmlvZFR5cGUgPSAoZm5GaWx0ZXI6IGFueSwgcGVyaW9kU2V0dGluZ3M6IGFueSkgPT4ge1xuICByZXR1cm4gKGNvbmZpZzogYW55KSA9PiB7XG4gICAgcmV0dXJuIGdldFBlcmlvZHMoe1xuICAgICAgcGVyaW9kVHlwZTogJ0JJTU9OVEhMWScsXG4gICAgICBjb25maWcsXG4gICAgICBmbkZpbHRlcixcbiAgICAgIHBlcmlvZFNldHRpbmdzLFxuICAgIH0pO1xuICB9O1xufTtcblxuY29uc3QgZ2V0UXVhcnRlcmx5UGVyaW9kVHlwZSA9IChmbkZpbHRlcjogYW55LCBwZXJpb2RTZXR0aW5nczogYW55KSA9PiB7XG4gIHJldHVybiAoY29uZmlnOiBhbnkpID0+IHtcbiAgICByZXR1cm4gZ2V0UGVyaW9kcyh7XG4gICAgICBwZXJpb2RUeXBlOiAnUVVBUlRFUkxZJyxcbiAgICAgIGNvbmZpZyxcbiAgICAgIGZuRmlsdGVyLFxuICAgICAgcGVyaW9kU2V0dGluZ3MsXG4gICAgfSk7XG4gIH07XG59O1xuXG5jb25zdCBnZXRTaXhNb250aGx5UGVyaW9kVHlwZSA9IChmbkZpbHRlcjogYW55LCBwZXJpb2RTZXR0aW5nczogYW55KSA9PiB7XG4gIHJldHVybiAoY29uZmlnOiBhbnkpID0+IHtcbiAgICByZXR1cm4gZ2V0UGVyaW9kcyh7XG4gICAgICBwZXJpb2RUeXBlOiAnU0lYTU9OVEhMWScsXG4gICAgICBjb25maWcsXG4gICAgICBmbkZpbHRlcixcbiAgICAgIHBlcmlvZFNldHRpbmdzLFxuICAgIH0pO1xuICB9O1xufTtcblxuY29uc3QgZ2V0U2l4TW9udGhseUFwcmlsUGVyaW9kVHlwZSA9IChmbkZpbHRlcjogYW55LCBwZXJpb2RTZXR0aW5nczogYW55KSA9PiB7XG4gIHJldHVybiAoY29uZmlnOiBhbnkpID0+IHtcbiAgICByZXR1cm4gZ2V0UGVyaW9kcyh7XG4gICAgICBwZXJpb2RUeXBlOiAnU0lYTU9OVEhMWUFQUicsXG4gICAgICBjb25maWcsXG4gICAgICBmbkZpbHRlcixcbiAgICAgIHBlcmlvZFNldHRpbmdzLFxuICAgIH0pO1xuICB9O1xufTtcblxuY29uc3QgZ2V0WWVhcmx5UGVyaW9kVHlwZSA9IChmbkZpbHRlcjogYW55LCBwZXJpb2RTZXR0aW5nczogYW55KSA9PiB7XG4gIHJldHVybiAoY29uZmlnOiBhbnkpID0+IHtcbiAgICByZXR1cm4gZ2V0UGVyaW9kcyh7XG4gICAgICBwZXJpb2RUeXBlOiAnWUVBUkxZJyxcbiAgICAgIGNvbmZpZyxcbiAgICAgIGZuRmlsdGVyLFxuICAgICAgcGVyaW9kU2V0dGluZ3MsXG4gICAgfSk7XG4gIH07XG59O1xuXG5jb25zdCBnZXRGaW5hbmNpYWxPY3RvYmVyUGVyaW9kVHlwZSA9IChmbkZpbHRlcjogYW55LCBwZXJpb2RTZXR0aW5nczogYW55KSA9PiB7XG4gIHJldHVybiAoY29uZmlnOiBhbnkpID0+IHtcbiAgICByZXR1cm4gZ2V0UGVyaW9kcyh7XG4gICAgICBwZXJpb2RUeXBlOiAnRllPQ1QnLFxuICAgICAgY29uZmlnLFxuICAgICAgZm5GaWx0ZXIsXG4gICAgICBwZXJpb2RTZXR0aW5ncyxcbiAgICB9KTtcbiAgfTtcbn07XG5cbmNvbnN0IGdldEZpbmFuY2lhbE5vdmVtYmVyUGVyaW9kVHlwZSA9IChmbkZpbHRlcjogYW55LCBwZXJpb2RTZXR0aW5nczogYW55KSA9PiB7XG4gIHJldHVybiAoY29uZmlnOiBhbnkpID0+IHtcbiAgICByZXR1cm4gZ2V0UGVyaW9kcyh7XG4gICAgICBwZXJpb2RUeXBlOiAnRllOT1YnLFxuICAgICAgY29uZmlnLFxuICAgICAgZm5GaWx0ZXIsXG4gICAgICBwZXJpb2RTZXR0aW5ncyxcbiAgICB9KTtcbiAgfTtcbn07XG5cbmNvbnN0IGdldEZpbmFuY2lhbEp1bHlQZXJpb2RUeXBlID0gKGZuRmlsdGVyOiBhbnksIHBlcmlvZFNldHRpbmdzOiBhbnkpID0+IHtcbiAgcmV0dXJuIChjb25maWc6IGFueSkgPT4ge1xuICAgIHJldHVybiBnZXRQZXJpb2RzKHtcbiAgICAgIHBlcmlvZFR5cGU6ICdGWUpVTCcsXG4gICAgICBjb25maWcsXG4gICAgICBmbkZpbHRlcixcbiAgICAgIHBlcmlvZFNldHRpbmdzLFxuICAgIH0pO1xuICB9O1xufTtcblxuY29uc3QgZ2V0RmluYW5jaWFsQXByaWxQZXJpb2RUeXBlID0gKGZuRmlsdGVyOiBhbnksIHBlcmlvZFNldHRpbmdzOiBhbnkpID0+IHtcbiAgcmV0dXJuIChjb25maWc6IGFueSkgPT4ge1xuICAgIHJldHVybiBnZXRQZXJpb2RzKHtcbiAgICAgIHBlcmlvZFR5cGU6ICdGWUFQUicsXG4gICAgICBjb25maWcsXG4gICAgICBmbkZpbHRlcixcbiAgICAgIHBlcmlvZFNldHRpbmdzLFxuICAgIH0pO1xuICB9O1xufTtcblxuY29uc3QgZmlsdGVyRnV0dXJlUGVyaW9kcyA9IChwZXJpb2RzOiBhbnkpID0+IHtcbiAgY29uc3QgYXJyYXkgPSBbXTtcbiAgY29uc3Qgbm93ID0gbmV3IERhdGUoRGF0ZS5ub3coKSk7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBwZXJpb2RzLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKG5ldyBEYXRlKHBlcmlvZHNbaV0uc3RhcnREYXRlKSA8PSBub3cpIHtcbiAgICAgIGFycmF5LnB1c2gocGVyaW9kc1tpXSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGFycmF5O1xufTtcblxuY29uc3QgZ2V0T3B0aW9ucyA9IChwZXJpb2RTZXR0aW5ncz86IGFueSkgPT4ge1xuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIGlkOiBEQUlMWSxcbiAgICAgIGdldFBlcmlvZHM6IGdldERhaWx5UGVyaW9kVHlwZShmaWx0ZXJGdXR1cmVQZXJpb2RzLCBwZXJpb2RTZXR0aW5ncyksXG4gICAgICBuYW1lOiBpMThuLnQoJ0RhaWx5JyksXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogV0VFS0xZLFxuICAgICAgZ2V0UGVyaW9kczogZ2V0V2Vla2x5UGVyaW9kVHlwZShcbiAgICAgICAgeyBzdGFydERheTogMSB9LFxuICAgICAgICBmaWx0ZXJGdXR1cmVQZXJpb2RzLFxuICAgICAgICBwZXJpb2RTZXR0aW5nc1xuICAgICAgKSxcbiAgICAgIG5hbWU6IGkxOG4udCgnV2Vla2x5JyksXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogV0VFS0xZV0VELFxuICAgICAgZ2V0UGVyaW9kczogZ2V0V2Vla2x5UGVyaW9kVHlwZShcbiAgICAgICAgeyBzdGFydERheTogMyB9LFxuICAgICAgICBmaWx0ZXJGdXR1cmVQZXJpb2RzLFxuICAgICAgICBwZXJpb2RTZXR0aW5nc1xuICAgICAgKSxcbiAgICAgIG5hbWU6IGkxOG4udCgnV2Vla2x5IChTdGFydCBXZWRuZXNkYXkpJyksXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogV0VFS0xZVEhVLFxuICAgICAgZ2V0UGVyaW9kczogZ2V0V2Vla2x5UGVyaW9kVHlwZShcbiAgICAgICAgeyBzdGFydERheTogNCB9LFxuICAgICAgICBmaWx0ZXJGdXR1cmVQZXJpb2RzLFxuICAgICAgICBwZXJpb2RTZXR0aW5nc1xuICAgICAgKSxcbiAgICAgIG5hbWU6IGkxOG4udCgnV2Vla2x5IChTdGFydCBUaHVyc2RheSknKSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiBXRUVLTFlTQVQsXG4gICAgICBnZXRQZXJpb2RzOiBnZXRXZWVrbHlQZXJpb2RUeXBlKFxuICAgICAgICB7IHN0YXJ0RGF5OiA2IH0sXG4gICAgICAgIGZpbHRlckZ1dHVyZVBlcmlvZHMsXG4gICAgICAgIHBlcmlvZFNldHRpbmdzXG4gICAgICApLFxuICAgICAgbmFtZTogaTE4bi50KCdXZWVrbHkgKFN0YXJ0IFNhdHVyZGF5KScpLFxuICAgIH0sXG4gICAge1xuICAgICAgaWQ6IFdFRUtMWVNVTixcbiAgICAgIGdldFBlcmlvZHM6IGdldFdlZWtseVBlcmlvZFR5cGUoXG4gICAgICAgIHsgc3RhcnREYXk6IDcgfSxcbiAgICAgICAgZmlsdGVyRnV0dXJlUGVyaW9kcyxcbiAgICAgICAgcGVyaW9kU2V0dGluZ3NcbiAgICAgICksXG4gICAgICBuYW1lOiBpMThuLnQoJ1dlZWtseSAoU3RhcnQgU3VuZGF5KScpLFxuICAgIH0sXG4gICAge1xuICAgICAgaWQ6IEJJV0VFS0xZLFxuICAgICAgZ2V0UGVyaW9kczogZ2V0QmlXZWVrbHlQZXJpb2RUeXBlKGZpbHRlckZ1dHVyZVBlcmlvZHMsIHBlcmlvZFNldHRpbmdzKSxcbiAgICAgIG5hbWU6IGkxOG4udCgnQmktd2Vla2x5JyksXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogTU9OVEhMWSxcbiAgICAgIGdldFBlcmlvZHM6IGdldE1vbnRobHlQZXJpb2RUeXBlKGZpbHRlckZ1dHVyZVBlcmlvZHMsIHBlcmlvZFNldHRpbmdzKSxcbiAgICAgIG5hbWU6IGkxOG4udCgnTW9udGhseScpLFxuICAgIH0sXG4gICAge1xuICAgICAgaWQ6IEJJTU9OVEhMWSxcbiAgICAgIGdldFBlcmlvZHM6IGdldEJpTW9udGhseVBlcmlvZFR5cGUoZmlsdGVyRnV0dXJlUGVyaW9kcywgcGVyaW9kU2V0dGluZ3MpLFxuICAgICAgbmFtZTogaTE4bi50KCdCaS1tb250aGx5JyksXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogUVVBUlRFUkxZLFxuICAgICAgZ2V0UGVyaW9kczogZ2V0UXVhcnRlcmx5UGVyaW9kVHlwZShmaWx0ZXJGdXR1cmVQZXJpb2RzLCBwZXJpb2RTZXR0aW5ncyksXG4gICAgICBuYW1lOiBpMThuLnQoJ1F1YXJ0ZXJseScpLFxuICAgIH0sXG4gICAge1xuICAgICAgaWQ6IFNJWE1PTlRITFksXG4gICAgICBnZXRQZXJpb2RzOiBnZXRTaXhNb250aGx5UGVyaW9kVHlwZShmaWx0ZXJGdXR1cmVQZXJpb2RzLCBwZXJpb2RTZXR0aW5ncyksXG4gICAgICBuYW1lOiBpMThuLnQoJ1NpeC1tb250aGx5JyksXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogU0lYTU9OVEhMWUFQUixcbiAgICAgIGdldFBlcmlvZHM6IGdldFNpeE1vbnRobHlBcHJpbFBlcmlvZFR5cGUoXG4gICAgICAgIGZpbHRlckZ1dHVyZVBlcmlvZHMsXG4gICAgICAgIHBlcmlvZFNldHRpbmdzXG4gICAgICApLFxuICAgICAgbmFtZTogaTE4bi50KCdTaXgtbW9udGhseSBBcHJpbCcpLFxuICAgIH0sXG4gICAge1xuICAgICAgaWQ6IFlFQVJMWSxcbiAgICAgIGdldFBlcmlvZHM6IGdldFllYXJseVBlcmlvZFR5cGUoZmlsdGVyRnV0dXJlUGVyaW9kcywgcGVyaW9kU2V0dGluZ3MpLFxuICAgICAgbmFtZTogaTE4bi50KCdZZWFybHknKSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiBGWU5PVixcbiAgICAgIGdldFBlcmlvZHM6IGdldEZpbmFuY2lhbE5vdmVtYmVyUGVyaW9kVHlwZShcbiAgICAgICAgZmlsdGVyRnV0dXJlUGVyaW9kcyxcbiAgICAgICAgcGVyaW9kU2V0dGluZ3NcbiAgICAgICksXG4gICAgICBuYW1lOiBpMThuLnQoJ0ZpbmFuY2lhbCB5ZWFyIChTdGFydCBOb3ZlbWJlciknKSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiBGWU9DVCxcbiAgICAgIGdldFBlcmlvZHM6IGdldEZpbmFuY2lhbE9jdG9iZXJQZXJpb2RUeXBlKFxuICAgICAgICBmaWx0ZXJGdXR1cmVQZXJpb2RzLFxuICAgICAgICBwZXJpb2RTZXR0aW5nc1xuICAgICAgKSxcbiAgICAgIG5hbWU6IGkxOG4udCgnRmluYW5jaWFsIHllYXIgKFN0YXJ0IE9jdG9iZXIpJyksXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogRllKVUwsXG4gICAgICBnZXRQZXJpb2RzOiBnZXRGaW5hbmNpYWxKdWx5UGVyaW9kVHlwZShcbiAgICAgICAgZmlsdGVyRnV0dXJlUGVyaW9kcyxcbiAgICAgICAgcGVyaW9kU2V0dGluZ3NcbiAgICAgICksXG4gICAgICBuYW1lOiBpMThuLnQoJ0ZpbmFuY2lhbCB5ZWFyIChTdGFydCBKdWx5KScpLFxuICAgIH0sXG4gICAge1xuICAgICAgaWQ6IEZZQVBSLFxuICAgICAgZ2V0UGVyaW9kczogZ2V0RmluYW5jaWFsQXByaWxQZXJpb2RUeXBlKFxuICAgICAgICBmaWx0ZXJGdXR1cmVQZXJpb2RzLFxuICAgICAgICBwZXJpb2RTZXR0aW5nc1xuICAgICAgKSxcbiAgICAgIG5hbWU6IGkxOG4udCgnRmluYW5jaWFsIHllYXIgKFN0YXJ0IEFwcmlsKScpLFxuICAgIH0sXG4gIF07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Rml4ZWRQZXJpb2RzT3B0aW9uc0J5SWQgPSAoXG4gIGlkOiBzdHJpbmcsXG4gIHBlcmlvZFNldHRpbmdzPzogYW55XG4pID0+IHtcbiAgcmV0dXJuIGdldE9wdGlvbnMocGVyaW9kU2V0dGluZ3MpLmZpbmQoKG9wdGlvbikgPT4gb3B0aW9uLmlkID09PSBpZCk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Rml4ZWRQZXJpb2RzT3B0aW9ucyA9ICgpID0+IGdldE9wdGlvbnMoKTtcblxuZXhwb3J0IGNvbnN0IGdldFllYXJPZmZzZXRGcm9tTm93ID0gKHllYXJTdHI6IGFueSkgPT5cbiAgcGFyc2VJbnQoeWVhclN0cikgLSBuZXcgRGF0ZShEYXRlLm5vdygpKS5nZXRGdWxsWWVhcigpO1xuXG5leHBvcnQgY29uc3QgcGFyc2VQZXJpb2RDb2RlID0gKGNvZGU6IGFueSwgYWxsb3dlZFR5cGVzOiBhbnkpID0+IHtcbiAgY29uc3QgcGVyaW9kVHlwZXMgPSBPYmplY3Qua2V5cyhQRVJJT0RfVFlQRV9SRUdFWCk7XG4gIGxldCBpID0gMDtcbiAgbGV0IHR5cGUgPSAnJztcbiAgbGV0IG1hdGNoID0gdW5kZWZpbmVkO1xuXG4gIHdoaWxlIChpIDwgcGVyaW9kVHlwZXMubGVuZ3RoICYmICFtYXRjaCkge1xuICAgIHR5cGUgPSBwZXJpb2RUeXBlc1tpXTtcbiAgICBtYXRjaCA9IGNvZGUubWF0Y2goKFBFUklPRF9UWVBFX1JFR0VYIGFzIGFueSlbdHlwZV0pO1xuICAgIGkrKztcbiAgfVxuXG4gIGlmIChcbiAgICAhbWF0Y2ggfHxcbiAgICAoQXJyYXkuaXNBcnJheShhbGxvd2VkVHlwZXMpICYmICFhbGxvd2VkVHlwZXMuc29tZSgodCkgPT4gdCA9PT0gdHlwZSkpXG4gICkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdCBwZXJpb2QgPSBnZXRGaXhlZFBlcmlvZHNPcHRpb25zQnlJZCh0eXBlKTtcbiAgY29uc3Qgb2Zmc2V0ID0gZ2V0WWVhck9mZnNldEZyb21Ob3cobWF0Y2hbMV0pO1xuICBjb25zdCBvcHRpb25zID0gcGVyaW9kPy5nZXRQZXJpb2RzKHsgb2Zmc2V0IH0pO1xuXG4gIHJldHVybiBwZXJpb2RcbiAgICA/IHtcbiAgICAgICAgaWQ6IHBlcmlvZC5pZCxcbiAgICAgICAgbmFtZTogcGVyaW9kLm5hbWUsXG4gICAgICAgIHllYXI6IG1hdGNoWzFdLFxuICAgICAgICBvcHRpb25zLFxuICAgICAgfVxuICAgIDogbnVsbDtcbn07XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export const filterPeriodTypesById = (allPeriodTypes = [], excludedPeriodTypes = []) => allPeriodTypes.filter((period) => !excludedPeriodTypes.includes(period['id']));
|
|
2
|
+
export * from './relativePeriods';
|
|
3
|
+
export * from './fixedPeriods';
|
|
4
|
+
export * from './periodTypes';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9uZy1kaGlzMi11aS9zcmMvbGliL21vZHVsZXMvcGVyaW9kLXNlbGVjdG9yL2NvbXBvbmVudHMvdXRpbHMvaW5kZXgudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQ25DLGNBQWMsR0FBRyxFQUFFLEVBQ25CLG1CQUFtQixHQUFHLEVBQUUsRUFDeEIsRUFBRSxDQUNGLGNBQWMsQ0FBQyxNQUFNLENBQ25CLENBQUMsTUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBRSxNQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQzVFLENBQUM7QUFFSixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZmlsdGVyUGVyaW9kVHlwZXNCeUlkID0gKFxuICBhbGxQZXJpb2RUeXBlcyA9IFtdLFxuICBleGNsdWRlZFBlcmlvZFR5cGVzID0gW11cbikgPT5cbiAgYWxsUGVyaW9kVHlwZXMuZmlsdGVyKFxuICAgIChwZXJpb2Q6IHVua25vd24pID0+ICFleGNsdWRlZFBlcmlvZFR5cGVzLmluY2x1ZGVzKChwZXJpb2QgYXMgbmV2ZXIpWydpZCddKVxuICApO1xuXG5leHBvcnQgKiBmcm9tICcuL3JlbGF0aXZlUGVyaW9kcyc7XG5leHBvcnQgKiBmcm9tICcuL2ZpeGVkUGVyaW9kcyc7XG5leHBvcnQgKiBmcm9tICcuL3BlcmlvZFR5cGVzJztcbiJdfQ==
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Copyright 2023 UDSM DHIS2 Lab. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
export const DAILY = 'DAILY';
|
|
5
|
+
export const WEEKLY = 'WEEKLY';
|
|
6
|
+
export const WEEKLYWED = 'WEEKLYWED';
|
|
7
|
+
export const WEEKLYTHU = 'WEEKLYTHU';
|
|
8
|
+
export const WEEKLYSAT = 'WEEKLYSAT';
|
|
9
|
+
export const WEEKLYSUN = 'WEEKLYSUN';
|
|
10
|
+
export const WEEKS_THIS_YEAR = 'WEEKS_THIS_YEAR';
|
|
11
|
+
export const BIWEEKLY = 'BIWEEKLY';
|
|
12
|
+
export const MONTHLY = 'MONTHLY';
|
|
13
|
+
export const BIMONTHLY = 'BIMONTHLY';
|
|
14
|
+
export const QUARTERLY = 'QUARTERLY';
|
|
15
|
+
export const SIXMONTHLY = 'SIXMONTHLY';
|
|
16
|
+
export const SIXMONTHLYAPR = 'SIXMONTHLYAPR';
|
|
17
|
+
export const YEARLY = 'YEARLY';
|
|
18
|
+
export const FINANCIAL = 'FINANCIAL';
|
|
19
|
+
export const FYNOV = 'FYNOV';
|
|
20
|
+
export const FYOCT = 'FYOCT';
|
|
21
|
+
export const FYJUL = 'FYJUL';
|
|
22
|
+
export const FYAPR = 'FYAPR';
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyaW9kVHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9uZy1kaGlzMi11aS9zcmMvbGliL21vZHVsZXMvcGVyaW9kLXNlbGVjdG9yL2NvbXBvbmVudHMvdXRpbHMvcGVyaW9kVHlwZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNEQUFzRDtBQUN0RCxxREFBcUQ7QUFDckQsaURBQWlEO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUM7QUFDN0IsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQztBQUMvQixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDO0FBQ3JDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUM7QUFDckMsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQztBQUNyQyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDO0FBQ3JDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxpQkFBaUIsQ0FBQztBQUNqRCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDO0FBQ25DLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUM7QUFDakMsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQztBQUNyQyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDO0FBQ3JDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLGVBQWUsQ0FBQztBQUM3QyxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDO0FBQy9CLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUM7QUFDckMsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQztBQUM3QixNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDO0FBQzdCLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUM7QUFDN0IsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDIzIFVEU00gREhJUzIgTGFiLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGVcbi8vIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS5cbmV4cG9ydCBjb25zdCBEQUlMWSA9ICdEQUlMWSc7XG5leHBvcnQgY29uc3QgV0VFS0xZID0gJ1dFRUtMWSc7XG5leHBvcnQgY29uc3QgV0VFS0xZV0VEID0gJ1dFRUtMWVdFRCc7XG5leHBvcnQgY29uc3QgV0VFS0xZVEhVID0gJ1dFRUtMWVRIVSc7XG5leHBvcnQgY29uc3QgV0VFS0xZU0FUID0gJ1dFRUtMWVNBVCc7XG5leHBvcnQgY29uc3QgV0VFS0xZU1VOID0gJ1dFRUtMWVNVTic7XG5leHBvcnQgY29uc3QgV0VFS1NfVEhJU19ZRUFSID0gJ1dFRUtTX1RISVNfWUVBUic7XG5leHBvcnQgY29uc3QgQklXRUVLTFkgPSAnQklXRUVLTFknO1xuZXhwb3J0IGNvbnN0IE1PTlRITFkgPSAnTU9OVEhMWSc7XG5leHBvcnQgY29uc3QgQklNT05USExZID0gJ0JJTU9OVEhMWSc7XG5leHBvcnQgY29uc3QgUVVBUlRFUkxZID0gJ1FVQVJURVJMWSc7XG5leHBvcnQgY29uc3QgU0lYTU9OVEhMWSA9ICdTSVhNT05USExZJztcbmV4cG9ydCBjb25zdCBTSVhNT05USExZQVBSID0gJ1NJWE1PTlRITFlBUFInO1xuZXhwb3J0IGNvbnN0IFlFQVJMWSA9ICdZRUFSTFknO1xuZXhwb3J0IGNvbnN0IEZJTkFOQ0lBTCA9ICdGSU5BTkNJQUwnO1xuZXhwb3J0IGNvbnN0IEZZTk9WID0gJ0ZZTk9WJztcbmV4cG9ydCBjb25zdCBGWU9DVCA9ICdGWU9DVCc7XG5leHBvcnQgY29uc3QgRllKVUwgPSAnRllKVUwnO1xuZXhwb3J0IGNvbnN0IEZZQVBSID0gJ0ZZQVBSJztcbiJdfQ==
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import i18n from '@dhis2/d2-i18n';
|
|
2
|
+
import { DAILY, WEEKLY, BIWEEKLY, WEEKS_THIS_YEAR, MONTHLY, BIMONTHLY, QUARTERLY, SIXMONTHLY, FINANCIAL, YEARLY, } from './periodTypes';
|
|
3
|
+
const getDaysPeriodType = () => [
|
|
4
|
+
{ id: 'TODAY', name: i18n.t('Today') },
|
|
5
|
+
{ id: 'YESTERDAY', name: i18n.t('Yesterday') },
|
|
6
|
+
{ id: 'LAST_3_DAYS', name: i18n.t('Last 3 days') },
|
|
7
|
+
{ id: 'LAST_7_DAYS', name: i18n.t('Last 7 days') },
|
|
8
|
+
{ id: 'LAST_14_DAYS', name: i18n.t('Last 14 days') },
|
|
9
|
+
{ id: 'LAST_30_DAYS', name: i18n.t('Last 30 days') },
|
|
10
|
+
{ id: 'LAST_60_DAYS', name: i18n.t('Last 60 days') },
|
|
11
|
+
{ id: 'LAST_90_DAYS', name: i18n.t('Last 90 days') },
|
|
12
|
+
{ id: 'LAST_180_DAYS', name: i18n.t('Last 180 days') },
|
|
13
|
+
];
|
|
14
|
+
const getWeeksPeriodType = () => [
|
|
15
|
+
{ id: 'THIS_WEEK', name: i18n.t('This week') },
|
|
16
|
+
{ id: 'LAST_WEEK', name: i18n.t('Last week') },
|
|
17
|
+
{ id: 'LAST_4_WEEKS', name: i18n.t('Last 4 weeks') },
|
|
18
|
+
{ id: 'LAST_12_WEEKS', name: i18n.t('Last 12 weeks') },
|
|
19
|
+
{ id: 'LAST_52_WEEKS', name: i18n.t('Last 52 weeks') },
|
|
20
|
+
{ id: WEEKS_THIS_YEAR, name: i18n.t('Weeks this year') },
|
|
21
|
+
];
|
|
22
|
+
const getBiWeeksPeriodType = () => [
|
|
23
|
+
{ id: 'THIS_BIWEEK', name: i18n.t('This bi-week') },
|
|
24
|
+
{ id: 'LAST_BIWEEK', name: i18n.t('Last bi-week') },
|
|
25
|
+
{ id: 'LAST_4_BIWEEKS', name: i18n.t('Last 4 bi-weeks') },
|
|
26
|
+
];
|
|
27
|
+
const getMonthsPeriodType = () => [
|
|
28
|
+
{ id: 'THIS_MONTH', name: i18n.t('This month') },
|
|
29
|
+
{ id: 'LAST_MONTH', name: i18n.t('Last month') },
|
|
30
|
+
{ id: 'LAST_3_MONTHS', name: i18n.t('Last 3 months') },
|
|
31
|
+
{ id: 'LAST_6_MONTHS', name: i18n.t('Last 6 months') },
|
|
32
|
+
{ id: 'LAST_12_MONTHS', name: i18n.t('Last 12 months') },
|
|
33
|
+
{
|
|
34
|
+
id: 'MONTHS_THIS_YEAR',
|
|
35
|
+
name: i18n.t('Months this year'),
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
const getBiMonthsPeriodType = () => [
|
|
39
|
+
{ id: 'THIS_BIMONTH', name: i18n.t('This bi-month') },
|
|
40
|
+
{ id: 'LAST_BIMONTH', name: i18n.t('Last bi-month') },
|
|
41
|
+
{
|
|
42
|
+
id: 'LAST_6_BIMONTHS',
|
|
43
|
+
name: i18n.t('Last 6 bi-months'),
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
id: 'BIMONTHS_THIS_YEAR',
|
|
47
|
+
name: i18n.t('Bi-months this year'),
|
|
48
|
+
},
|
|
49
|
+
];
|
|
50
|
+
const getQuartersPeriodType = () => [
|
|
51
|
+
{ id: 'THIS_QUARTER', name: i18n.t('This quarter') },
|
|
52
|
+
{ id: 'LAST_QUARTER', name: i18n.t('Last quarter') },
|
|
53
|
+
{ id: 'LAST_4_QUARTERS', name: i18n.t('Last 4 quarters') },
|
|
54
|
+
{
|
|
55
|
+
id: 'QUARTERS_THIS_YEAR',
|
|
56
|
+
name: i18n.t('Quarters this year'),
|
|
57
|
+
},
|
|
58
|
+
];
|
|
59
|
+
const getSixMonthsPeriodType = () => [
|
|
60
|
+
{ id: 'THIS_SIX_MONTH', name: i18n.t('This six-month') },
|
|
61
|
+
{ id: 'LAST_SIX_MONTH', name: i18n.t('Last six-month') },
|
|
62
|
+
{
|
|
63
|
+
id: 'LAST_2_SIXMONTHS',
|
|
64
|
+
name: i18n.t('Last 2 six-month'),
|
|
65
|
+
},
|
|
66
|
+
];
|
|
67
|
+
const getFinancialYearsPeriodType = () => [
|
|
68
|
+
{
|
|
69
|
+
id: 'THIS_FINANCIAL_YEAR',
|
|
70
|
+
name: i18n.t('This financial year'),
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
id: 'LAST_FINANCIAL_YEAR',
|
|
74
|
+
name: i18n.t('Last financial year'),
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
id: 'LAST_5_FINANCIAL_YEARS',
|
|
78
|
+
name: i18n.t('Last 5 financial years'),
|
|
79
|
+
},
|
|
80
|
+
];
|
|
81
|
+
const getYearsPeriodType = () => [
|
|
82
|
+
{ id: 'THIS_YEAR', name: i18n.t('This year') },
|
|
83
|
+
{ id: 'LAST_YEAR', name: i18n.t('Last year') },
|
|
84
|
+
{ id: 'LAST_5_YEARS', name: i18n.t('Last 5 years') },
|
|
85
|
+
{ id: 'LAST_10_YEARS', name: i18n.t('Last 10 years') },
|
|
86
|
+
];
|
|
87
|
+
const getOptions = () => [
|
|
88
|
+
{
|
|
89
|
+
id: DAILY,
|
|
90
|
+
getPeriods: () => getDaysPeriodType(),
|
|
91
|
+
name: i18n.t('Days'),
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
id: WEEKLY,
|
|
95
|
+
getPeriods: () => getWeeksPeriodType(),
|
|
96
|
+
name: i18n.t('Weeks'),
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
id: BIWEEKLY,
|
|
100
|
+
getPeriods: () => getBiWeeksPeriodType(),
|
|
101
|
+
name: i18n.t('Bi-weeks'),
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
id: MONTHLY,
|
|
105
|
+
getPeriods: () => getMonthsPeriodType(),
|
|
106
|
+
name: i18n.t('Months'),
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
id: BIMONTHLY,
|
|
110
|
+
getPeriods: () => getBiMonthsPeriodType(),
|
|
111
|
+
name: i18n.t('Bi-months'),
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
id: QUARTERLY,
|
|
115
|
+
getPeriods: () => getQuartersPeriodType(),
|
|
116
|
+
name: i18n.t('Quarters'),
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
id: SIXMONTHLY,
|
|
120
|
+
getPeriods: () => getSixMonthsPeriodType(),
|
|
121
|
+
name: i18n.t('Six-months'),
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
id: FINANCIAL,
|
|
125
|
+
getPeriods: () => getFinancialYearsPeriodType(),
|
|
126
|
+
name: i18n.t('Financial Years'),
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
id: YEARLY,
|
|
130
|
+
getPeriods: () => getYearsPeriodType(),
|
|
131
|
+
name: i18n.t('Years'),
|
|
132
|
+
},
|
|
133
|
+
];
|
|
134
|
+
export const getRelativePeriodsOptionsById = (id) => getOptions().find((option) => option.id === id);
|
|
135
|
+
export const getRelativePeriodsOptions = () => getOptions();
|
|
136
|
+
export const getRelativePeriodIds = () => Object.values(getOptions())
|
|
137
|
+
.map((option) => option.getPeriods().map((period) => period.id))
|
|
138
|
+
.flat();
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpdmVQZXJpb2RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbmctZGhpczItdWkvc3JjL2xpYi9tb2R1bGVzL3BlcmlvZC1zZWxlY3Rvci9jb21wb25lbnRzL3V0aWxzL3JlbGF0aXZlUGVyaW9kcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEMsT0FBTyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sUUFBUSxFQUNSLGVBQWUsRUFDZixPQUFPLEVBQ1AsU0FBUyxFQUNULFNBQVMsRUFDVCxVQUFVLEVBQ1YsU0FBUyxFQUNULE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixNQUFNLGlCQUFpQixHQUFHLEdBQUcsRUFBRSxDQUFDO0lBQzlCLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRTtJQUN0QyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUU7SUFDOUMsRUFBRSxFQUFFLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxFQUFFO0lBQ2xELEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsRUFBRTtJQUNsRCxFQUFFLEVBQUUsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLEVBQUU7SUFDcEQsRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxFQUFFO0lBQ3BELEVBQUUsRUFBRSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsSUFB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QixHQUFHLEdBQUcsRUFBRSxDQUN2QyxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO0tBQ3hCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQy9ELElBQUksRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGkxOG4gZnJvbSAnQGRoaXMyL2QyLWkxOG4nO1xuaW1wb3J0IHtcbiAgREFJTFksXG4gIFdFRUtMWSxcbiAgQklXRUVLTFksXG4gIFdFRUtTX1RISVNfWUVBUixcbiAgTU9OVEhMWSxcbiAgQklNT05USExZLFxuICBRVUFSVEVSTFksXG4gIFNJWE1PTlRITFksXG4gIEZJTkFOQ0lBTCxcbiAgWUVBUkxZLFxufSBmcm9tICcuL3BlcmlvZFR5cGVzJztcblxuY29uc3QgZ2V0RGF5c1BlcmlvZFR5cGUgPSAoKSA9PiBbXG4gIHsgaWQ6ICdUT0RBWScsIG5hbWU6IGkxOG4udCgnVG9kYXknKSB9LFxuICB7IGlkOiAnWUVTVEVSREFZJywgbmFtZTogaTE4bi50KCdZZXN0ZXJkYXknKSB9LFxuICB7IGlkOiAnTEFTVF8zX0RBWVMnLCBuYW1lOiBpMThuLnQoJ0xhc3QgMyBkYXlzJykgfSxcbiAgeyBpZDogJ0xBU1RfN19EQVlTJywgbmFtZTogaTE4bi50KCdMYXN0IDcgZGF5cycpIH0sXG4gIHsgaWQ6ICdMQVNUXzE0X0RBWVMnLCBuYW1lOiBpMThuLnQoJ0xhc3QgMTQgZGF5cycpIH0sXG4gIHsgaWQ6ICdMQVNUXzMwX0RBWVMnLCBuYW1lOiBpMThuLnQoJ0xhc3QgMzAgZGF5cycpIH0sXG4gIHsgaWQ6ICdMQVNUXzYwX0RBWVMnLCBuYW1lOiBpMThuLnQoJ0xhc3QgNjAgZGF5cycpIH0sXG4gIHsgaWQ6ICdMQVNUXzkwX0RBWVMnLCBuYW1lOiBpMThuLnQoJ0xhc3QgOTAgZGF5cycpIH0sXG4gIHsgaWQ6ICdMQVNUXzE4MF9EQVlTJywgbmFtZTogaTE4bi50KCdMYXN0IDE4MCBkYXlzJykgfSxcbl07XG5cbmNvbnN0IGdldFdlZWtzUGVyaW9kVHlwZSA9ICgpID0+IFtcbiAgeyBpZDogJ1RISVNfV0VFSycsIG5hbWU6IGkxOG4udCgnVGhpcyB3ZWVrJykgfSxcbiAgeyBpZDogJ0xBU1RfV0VFSycsIG5hbWU6IGkxOG4udCgnTGFzdCB3ZWVrJykgfSxcbiAgeyBpZDogJ0xBU1RfNF9XRUVLUycsIG5hbWU6IGkxOG4udCgnTGFzdCA0IHdlZWtzJykgfSxcbiAgeyBpZDogJ0xBU1RfMTJfV0VFS1MnLCBuYW1lOiBpMThuLnQoJ0xhc3QgMTIgd2Vla3MnKSB9LFxuICB7IGlkOiAnTEFTVF81Ml9XRUVLUycsIG5hbWU6IGkxOG4udCgnTGFzdCA1MiB3ZWVrcycpIH0sXG4gIHsgaWQ6IFdFRUtTX1RISVNfWUVBUiwgbmFtZTogaTE4bi50KCdXZWVrcyB0aGlzIHllYXInKSB9LFxuXTtcblxuY29uc3QgZ2V0QmlXZWVrc1BlcmlvZFR5cGUgPSAoKSA9PiBbXG4gIHsgaWQ6ICdUSElTX0JJV0VFSycsIG5hbWU6IGkxOG4udCgnVGhpcyBiaS13ZWVrJykgfSxcbiAgeyBpZDogJ0xBU1RfQklXRUVLJywgbmFtZTogaTE4bi50KCdMYXN0IGJpLXdlZWsnKSB9LFxuICB7IGlkOiAnTEFTVF80X0JJV0VFS1MnLCBuYW1lOiBpMThuLnQoJ0xhc3QgNCBiaS13ZWVrcycpIH0sXG5dO1xuXG5jb25zdCBnZXRNb250aHNQZXJpb2RUeXBlID0gKCkgPT4gW1xuICB7IGlkOiAnVEhJU19NT05USCcsIG5hbWU6IGkxOG4udCgnVGhpcyBtb250aCcpIH0sXG4gIHsgaWQ6ICdMQVNUX01PTlRIJywgbmFtZTogaTE4bi50KCdMYXN0IG1vbnRoJykgfSxcbiAgeyBpZDogJ0xBU1RfM19NT05USFMnLCBuYW1lOiBpMThuLnQoJ0xhc3QgMyBtb250aHMnKSB9LFxuICB7IGlkOiAnTEFTVF82X01PTlRIUycsIG5hbWU6IGkxOG4udCgnTGFzdCA2IG1vbnRocycpIH0sXG4gIHsgaWQ6ICdMQVNUXzEyX01PTlRIUycsIG5hbWU6IGkxOG4udCgnTGFzdCAxMiBtb250aHMnKSB9LFxuICB7XG4gICAgaWQ6ICdNT05USFNfVEhJU19ZRUFSJyxcbiAgICBuYW1lOiBpMThuLnQoJ01vbnRocyB0aGlzIHllYXInKSxcbiAgfSxcbl07XG5cbmNvbnN0IGdldEJpTW9udGhzUGVyaW9kVHlwZSA9ICgpID0+IFtcbiAgeyBpZDogJ1RISVNfQklNT05USCcsIG5hbWU6IGkxOG4udCgnVGhpcyBiaS1tb250aCcpIH0sXG4gIHsgaWQ6ICdMQVNUX0JJTU9OVEgnLCBuYW1lOiBpMThuLnQoJ0xhc3QgYmktbW9udGgnKSB9LFxuICB7XG4gICAgaWQ6ICdMQVNUXzZfQklNT05USFMnLFxuICAgIG5hbWU6IGkxOG4udCgnTGFzdCA2IGJpLW1vbnRocycpLFxuICB9LFxuICB7XG4gICAgaWQ6ICdCSU1PTlRIU19USElTX1lFQVInLFxuICAgIG5hbWU6IGkxOG4udCgnQmktbW9udGhzIHRoaXMgeWVhcicpLFxuICB9LFxuXTtcblxuY29uc3QgZ2V0UXVhcnRlcnNQZXJpb2RUeXBlID0gKCkgPT4gW1xuICB7IGlkOiAnVEhJU19RVUFSVEVSJywgbmFtZTogaTE4bi50KCdUaGlzIHF1YXJ0ZXInKSB9LFxuICB7IGlkOiAnTEFTVF9RVUFSVEVSJywgbmFtZTogaTE4bi50KCdMYXN0IHF1YXJ0ZXInKSB9LFxuICB7IGlkOiAnTEFTVF80X1FVQVJURVJTJywgbmFtZTogaTE4bi50KCdMYXN0IDQgcXVhcnRlcnMnKSB9LFxuICB7XG4gICAgaWQ6ICdRVUFSVEVSU19USElTX1lFQVInLFxuICAgIG5hbWU6IGkxOG4udCgnUXVhcnRlcnMgdGhpcyB5ZWFyJyksXG4gIH0sXG5dO1xuXG5jb25zdCBnZXRTaXhNb250aHNQZXJpb2RUeXBlID0gKCkgPT4gW1xuICB7IGlkOiAnVEhJU19TSVhfTU9OVEgnLCBuYW1lOiBpMThuLnQoJ1RoaXMgc2l4LW1vbnRoJykgfSxcbiAgeyBpZDogJ0xBU1RfU0lYX01PTlRIJywgbmFtZTogaTE4bi50KCdMYXN0IHNpeC1tb250aCcpIH0sXG4gIHtcbiAgICBpZDogJ0xBU1RfMl9TSVhNT05USFMnLFxuICAgIG5hbWU6IGkxOG4udCgnTGFzdCAyIHNpeC1tb250aCcpLFxuICB9LFxuXTtcblxuY29uc3QgZ2V0RmluYW5jaWFsWWVhcnNQZXJpb2RUeXBlID0gKCkgPT4gW1xuICB7XG4gICAgaWQ6ICdUSElTX0ZJTkFOQ0lBTF9ZRUFSJyxcbiAgICBuYW1lOiBpMThuLnQoJ1RoaXMgZmluYW5jaWFsIHllYXInKSxcbiAgfSxcbiAge1xuICAgIGlkOiAnTEFTVF9GSU5BTkNJQUxfWUVBUicsXG4gICAgbmFtZTogaTE4bi50KCdMYXN0IGZpbmFuY2lhbCB5ZWFyJyksXG4gIH0sXG4gIHtcbiAgICBpZDogJ0xBU1RfNV9GSU5BTkNJQUxfWUVBUlMnLFxuICAgIG5hbWU6IGkxOG4udCgnTGFzdCA1IGZpbmFuY2lhbCB5ZWFycycpLFxuICB9LFxuXTtcblxuY29uc3QgZ2V0WWVhcnNQZXJpb2RUeXBlID0gKCkgPT4gW1xuICB7IGlkOiAnVEhJU19ZRUFSJywgbmFtZTogaTE4bi50KCdUaGlzIHllYXInKSB9LFxuICB7IGlkOiAnTEFTVF9ZRUFSJywgbmFtZTogaTE4bi50KCdMYXN0IHllYXInKSB9LFxuICB7IGlkOiAnTEFTVF81X1lFQVJTJywgbmFtZTogaTE4bi50KCdMYXN0IDUgeWVhcnMnKSB9LFxuICB7IGlkOiAnTEFTVF8xMF9ZRUFSUycsIG5hbWU6IGkxOG4udCgnTGFzdCAxMCB5ZWFycycpIH0sXG5dO1xuXG5jb25zdCBnZXRPcHRpb25zID0gKCkgPT4gW1xuICB7XG4gICAgaWQ6IERBSUxZLFxuICAgIGdldFBlcmlvZHM6ICgpID0+IGdldERheXNQZXJpb2RUeXBlKCksXG4gICAgbmFtZTogaTE4bi50KCdEYXlzJyksXG4gIH0sXG4gIHtcbiAgICBpZDogV0VFS0xZLFxuICAgIGdldFBlcmlvZHM6ICgpID0+IGdldFdlZWtzUGVyaW9kVHlwZSgpLFxuICAgIG5hbWU6IGkxOG4udCgnV2Vla3MnKSxcbiAgfSxcbiAge1xuICAgIGlkOiBCSVdFRUtMWSxcbiAgICBnZXRQZXJpb2RzOiAoKSA9PiBnZXRCaVdlZWtzUGVyaW9kVHlwZSgpLFxuICAgIG5hbWU6IGkxOG4udCgnQmktd2Vla3MnKSxcbiAgfSxcbiAge1xuICAgIGlkOiBNT05USExZLFxuICAgIGdldFBlcmlvZHM6ICgpID0+IGdldE1vbnRoc1BlcmlvZFR5cGUoKSxcbiAgICBuYW1lOiBpMThuLnQoJ01vbnRocycpLFxuICB9LFxuICB7XG4gICAgaWQ6IEJJTU9OVEhMWSxcbiAgICBnZXRQZXJpb2RzOiAoKSA9PiBnZXRCaU1vbnRoc1BlcmlvZFR5cGUoKSxcbiAgICBuYW1lOiBpMThuLnQoJ0JpLW1vbnRocycpLFxuICB9LFxuICB7XG4gICAgaWQ6IFFVQVJURVJMWSxcbiAgICBnZXRQZXJpb2RzOiAoKSA9PiBnZXRRdWFydGVyc1BlcmlvZFR5cGUoKSxcbiAgICBuYW1lOiBpMThuLnQoJ1F1YXJ0ZXJzJyksXG4gIH0sXG4gIHtcbiAgICBpZDogU0lYTU9OVEhMWSxcbiAgICBnZXRQZXJpb2RzOiAoKSA9PiBnZXRTaXhNb250aHNQZXJpb2RUeXBlKCksXG4gICAgbmFtZTogaTE4bi50KCdTaXgtbW9udGhzJyksXG4gIH0sXG4gIHtcbiAgICBpZDogRklOQU5DSUFMLFxuICAgIGdldFBlcmlvZHM6ICgpID0+IGdldEZpbmFuY2lhbFllYXJzUGVyaW9kVHlwZSgpLFxuICAgIG5hbWU6IGkxOG4udCgnRmluYW5jaWFsIFllYXJzJyksXG4gIH0sXG4gIHtcbiAgICBpZDogWUVBUkxZLFxuICAgIGdldFBlcmlvZHM6ICgpID0+IGdldFllYXJzUGVyaW9kVHlwZSgpLFxuICAgIG5hbWU6IGkxOG4udCgnWWVhcnMnKSxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBnZXRSZWxhdGl2ZVBlcmlvZHNPcHRpb25zQnlJZCA9IChpZDogc3RyaW5nKSA9PlxuICBnZXRPcHRpb25zKCkuZmluZCgob3B0aW9uKSA9PiBvcHRpb24uaWQgPT09IGlkKTtcblxuZXhwb3J0IGNvbnN0IGdldFJlbGF0aXZlUGVyaW9kc09wdGlvbnMgPSAoKSA9PiBnZXRPcHRpb25zKCk7XG5cbmV4cG9ydCBjb25zdCBnZXRSZWxhdGl2ZVBlcmlvZElkcyA9ICgpID0+XG4gIE9iamVjdC52YWx1ZXMoZ2V0T3B0aW9ucygpKVxuICAgIC5tYXAoKG9wdGlvbikgPT4gb3B0aW9uLmdldFBlcmlvZHMoKS5tYXAoKHBlcmlvZCkgPT4gcGVyaW9kLmlkKSlcbiAgICAuZmxhdCgpO1xuIl19
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// Copyright 2023 UDSM DHIS2 Lab. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
export * from './period-selector.module';
|
|
5
|
+
export * from './period-selector.component';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9uZy1kaGlzMi11aS9zcmMvbGliL21vZHVsZXMvcGVyaW9kLXNlbGVjdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNEQUFzRDtBQUN0RCxxREFBcUQ7QUFDckQsaURBQWlEO0FBQ2pELGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDIzIFVEU00gREhJUzIgTGFiLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGVcbi8vIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS5cbmV4cG9ydCAqIGZyb20gJy4vcGVyaW9kLXNlbGVjdG9yLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3BlcmlvZC1zZWxlY3Rvci5jb21wb25lbnQnO1xuIl19
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Component, Input, ElementRef, Output, EventEmitter, } from '@angular/core';
|
|
2
|
+
import { DataProvider } from '@dhis2/app-runtime';
|
|
3
|
+
import { NgxDhis2HttpClientService } from '@iapps/ngx-dhis2-http-client';
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import * as ReactDOM from 'react-dom/client';
|
|
6
|
+
import { firstValueFrom } from 'rxjs';
|
|
7
|
+
import { PeriodDimension } from './components/PeriodDimension';
|
|
8
|
+
import { BIMONTHLY, BIWEEKLY, DAILY, MONTHLY, WEEKLY, WEEKLYSAT, WEEKLYSUN, WEEKLYTHU, WEEKLYWED, } from './components/utils';
|
|
9
|
+
import { ReactWrapperComponent } from '../react-wrapper/react-wrapper.component';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@iapps/ngx-dhis2-http-client";
|
|
12
|
+
export class PeriodSelectorComponent extends ReactWrapperComponent {
|
|
13
|
+
constructor(elementRef, httpClient) {
|
|
14
|
+
super(elementRef);
|
|
15
|
+
this.httpClient = httpClient;
|
|
16
|
+
this.selectedPeriods = [];
|
|
17
|
+
this.selectPeriods = new EventEmitter();
|
|
18
|
+
this.props = {
|
|
19
|
+
onSelect: (e) => {
|
|
20
|
+
this.onSelectItems(e);
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
this.getExcludedPeriodTypes = (systemSettings = {}) => {
|
|
24
|
+
const types = [];
|
|
25
|
+
if (systemSettings['hideDailyPeriods']) {
|
|
26
|
+
types.push(DAILY);
|
|
27
|
+
}
|
|
28
|
+
if (systemSettings['hideWeeklyPeriods']) {
|
|
29
|
+
types.push(WEEKLY, WEEKLYWED, WEEKLYTHU, WEEKLYSAT, WEEKLYSUN);
|
|
30
|
+
}
|
|
31
|
+
if (systemSettings['hideBiWeeklyPeriods']) {
|
|
32
|
+
types.push(BIWEEKLY);
|
|
33
|
+
}
|
|
34
|
+
if (systemSettings['hideMonthlyPeriods']) {
|
|
35
|
+
types.push(MONTHLY);
|
|
36
|
+
}
|
|
37
|
+
if (systemSettings['hideBiMonthlyPeriods']) {
|
|
38
|
+
types.push(BIMONTHLY);
|
|
39
|
+
}
|
|
40
|
+
return types;
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
async ngAfterViewInit() {
|
|
44
|
+
if (!this.elementRef)
|
|
45
|
+
throw new Error('No element ref');
|
|
46
|
+
this.reactDomRoot = ReactDOM.createRoot(this.elementRef.nativeElement);
|
|
47
|
+
const systemInfo = await firstValueFrom(this.httpClient.systemInfo());
|
|
48
|
+
const excludedPeriodTypes = this.getExcludedPeriodTypes(systemInfo);
|
|
49
|
+
this.component = () => (React.createElement(DataProvider, null, React.createElement(PeriodDimension, { selectedPeriods: this.selectedPeriods, onSelect: (selectionEvent) => this.onSelectItems(selectionEvent), excludedPeriodTypes: excludedPeriodTypes, systemInfo: systemInfo })));
|
|
50
|
+
this.render();
|
|
51
|
+
}
|
|
52
|
+
onSelectItems(selectionEvent) {
|
|
53
|
+
this.selectPeriods.emit(selectionEvent.items);
|
|
54
|
+
}
|
|
55
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PeriodSelectorComponent, deps: [{ token: i0.ElementRef }, { token: i1.NgxDhis2HttpClientService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
56
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PeriodSelectorComponent, selector: "ng-dhis2-ui-period-selector", inputs: { selectedPeriods: "selectedPeriods" }, outputs: { selectPeriods: "selectPeriods" }, usesInheritance: true, ngImport: i0, template: `<ng-container></ng-container>`, isInline: true, styles: ["::ng-deep .content-container{z-index:0!important}\n"] }); }
|
|
57
|
+
}
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PeriodSelectorComponent, decorators: [{
|
|
59
|
+
type: Component,
|
|
60
|
+
args: [{ selector: 'ng-dhis2-ui-period-selector', template: `<ng-container></ng-container>`, styles: ["::ng-deep .content-container{z-index:0!important}\n"] }]
|
|
61
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.NgxDhis2HttpClientService }]; }, propDecorators: { selectedPeriods: [{
|
|
62
|
+
type: Input
|
|
63
|
+
}], selectPeriods: [{
|
|
64
|
+
type: Output
|
|
65
|
+
}] } });
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyaW9kLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL25nLWRoaXMyLXVpL3NyYy9saWIvbW9kdWxlcy9wZXJpb2Qtc2VsZWN0b3IvcGVyaW9kLXNlbGVjdG9yLmNvbXBvbmVudC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE1BQU0sRUFDTixZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3pFLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEtBQUssUUFBUSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFDTCxTQUFTLEVBQ1QsUUFBUSxFQUNSLEtBQUssRUFDTCxPQUFPLEVBQ1AsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsR0FDVixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7QUFrQmpGLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxxQkFBcUI7SUFXaEUsWUFDRSxVQUFtQyxFQUMzQixVQUFxQztRQUU3QyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFGVixlQUFVLEdBQVYsVUFBVSxDQUEyQjtRQVp0QyxvQkFBZSxHQUFVLEVBQUUsQ0FBQztRQUUzQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFcEMsVUFBSyxHQUE0QjtZQUN4QyxRQUFRLEVBQUUsQ0FBQyxDQUFNLEVBQUUsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4QixDQUFDO1NBQ0YsQ0FBQztRQW9DRiwyQkFBc0IsR0FBRyxDQUFDLGlCQUFzQixFQUFFLEVBQUUsRUFBRTtZQUNwRCxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDakIsSUFBSSxjQUFjLENBQUMsa0JBQWtCLENBQUMsRUFBRTtnQkFDdEMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNuQjtZQUNELElBQUksY0FBYyxDQUFDLG1CQUFtQixDQUFDLEVBQUU7Z0JBQ3ZDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2FBQ2hFO1lBQ0QsSUFBSSxjQUFjLENBQUMscUJBQXFCLENBQUMsRUFBRTtnQkFDekMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN0QjtZQUNELElBQUksY0FBYyxDQUFDLG9CQUFvQixDQUFDLEVBQUU7Z0JBQ3hDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDckI7WUFDRCxJQUFJLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFO2dCQUMxQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3ZCO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUM7SUEvQ0YsQ0FBQztJQUVRLEtBQUssQ0FBQyxlQUFlO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN2RSxNQUFNLFVBQVUsR0FBRyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDdEUsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFcEUsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUNyQixvQkFBQyxZQUFZLFFBRVQsb0JBQUMsZUFBZSxJQUNkLGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUNyQyxRQUFRLEVBQUUsQ0FBQyxjQUFvQyxFQUFFLEVBQUUsQ0FDakQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsRUFFcEMsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQ3hDLFVBQVUsRUFBRSxVQUFVLEdBQ3RCLENBRVMsQ0FDaEIsQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsYUFBYSxDQUFDLGNBQW9DO1FBQ2hELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoRCxDQUFDOytHQTNDVSx1QkFBdUI7bUdBQXZCLHVCQUF1Qix1TEFUeEIsK0JBQStCOzs0RkFTOUIsdUJBQXVCO2tCQVhuQyxTQUFTOytCQUNFLDZCQUE2QixZQUM3QiwrQkFBK0I7eUlBVWhDLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIEVsZW1lbnRSZWYsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGFQcm92aWRlciB9IGZyb20gJ0BkaGlzMi9hcHAtcnVudGltZSc7XG5pbXBvcnQgeyBOZ3hEaGlzMkh0dHBDbGllbnRTZXJ2aWNlIH0gZnJvbSAnQGlhcHBzL25neC1kaGlzMi1odHRwLWNsaWVudCc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0ICogYXMgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tL2NsaWVudCc7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUGVyaW9kRGltZW5zaW9uIH0gZnJvbSAnLi9jb21wb25lbnRzL1BlcmlvZERpbWVuc2lvbic7XG5pbXBvcnQge1xuICBCSU1PTlRITFksXG4gIEJJV0VFS0xZLFxuICBEQUlMWSxcbiAgTU9OVEhMWSxcbiAgV0VFS0xZLFxuICBXRUVLTFlTQVQsXG4gIFdFRUtMWVNVTixcbiAgV0VFS0xZVEhVLFxuICBXRUVLTFlXRUQsXG59IGZyb20gJy4vY29tcG9uZW50cy91dGlscyc7XG5pbXBvcnQgeyBSZWFjdFdyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi9yZWFjdC13cmFwcGVyL3JlYWN0LXdyYXBwZXIuY29tcG9uZW50JztcblxudHlwZSBQZXJpb2RTZWxlY3Rpb25FdmVudCA9IHtcbiAgZGltZW5zaW9uSWQ6IHN0cmluZztcbiAgaXRlbXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W107XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1kaGlzMi11aS1wZXJpb2Qtc2VsZWN0b3InLFxuICB0ZW1wbGF0ZTogYDxuZy1jb250YWluZXI+PC9uZy1jb250YWluZXI+YCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOjpuZy1kZWVwIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIHotaW5kZXg6IDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQZXJpb2RTZWxlY3RvckNvbXBvbmVudCBleHRlbmRzIFJlYWN0V3JhcHBlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHNlbGVjdGVkUGVyaW9kczogYW55W10gPSBbXTtcblxuICBAT3V0cHV0KCkgc2VsZWN0UGVyaW9kcyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBvdmVycmlkZSBwcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7XG4gICAgb25TZWxlY3Q6IChlOiBhbnkpID0+IHtcbiAgICAgIHRoaXMub25TZWxlY3RJdGVtcyhlKTtcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgaHR0cENsaWVudDogTmd4RGhpczJIdHRwQ2xpZW50U2VydmljZVxuICApIHtcbiAgICBzdXBlcihlbGVtZW50UmVmKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuZWxlbWVudFJlZikgdGhyb3cgbmV3IEVycm9yKCdObyBlbGVtZW50IHJlZicpO1xuICAgIHRoaXMucmVhY3REb21Sb290ID0gUmVhY3RET00uY3JlYXRlUm9vdCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgY29uc3Qgc3lzdGVtSW5mbyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cENsaWVudC5zeXN0ZW1JbmZvKCkpO1xuICAgIGNvbnN0IGV4Y2x1ZGVkUGVyaW9kVHlwZXMgPSB0aGlzLmdldEV4Y2x1ZGVkUGVyaW9kVHlwZXMoc3lzdGVtSW5mbyk7XG5cbiAgICB0aGlzLmNvbXBvbmVudCA9ICgpID0+IChcbiAgICAgIDxEYXRhUHJvdmlkZXI+XG4gICAgICAgIHtcbiAgICAgICAgICA8UGVyaW9kRGltZW5zaW9uXG4gICAgICAgICAgICBzZWxlY3RlZFBlcmlvZHM9e3RoaXMuc2VsZWN0ZWRQZXJpb2RzfVxuICAgICAgICAgICAgb25TZWxlY3Q9eyhzZWxlY3Rpb25FdmVudDogUGVyaW9kU2VsZWN0aW9uRXZlbnQpID0+XG4gICAgICAgICAgICAgIHRoaXMub25TZWxlY3RJdGVtcyhzZWxlY3Rpb25FdmVudClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGV4Y2x1ZGVkUGVyaW9kVHlwZXM9e2V4Y2x1ZGVkUGVyaW9kVHlwZXN9XG4gICAgICAgICAgICBzeXN0ZW1JbmZvPXtzeXN0ZW1JbmZvfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvRGF0YVByb3ZpZGVyPlxuICAgICk7XG4gICAgdGhpcy5yZW5kZXIoKTtcbiAgfVxuXG4gIG9uU2VsZWN0SXRlbXMoc2VsZWN0aW9uRXZlbnQ6IFBlcmlvZFNlbGVjdGlvbkV2ZW50KSB7XG4gICAgdGhpcy5zZWxlY3RQZXJpb2RzLmVtaXQoc2VsZWN0aW9uRXZlbnQuaXRlbXMpO1xuICB9XG5cbiAgZ2V0RXhjbHVkZWRQZXJpb2RUeXBlcyA9IChzeXN0ZW1TZXR0aW5nczogYW55ID0ge30pID0+IHtcbiAgICBjb25zdCB0eXBlcyA9IFtdO1xuICAgIGlmIChzeXN0ZW1TZXR0aW5nc1snaGlkZURhaWx5UGVyaW9kcyddKSB7XG4gICAgICB0eXBlcy5wdXNoKERBSUxZKTtcbiAgICB9XG4gICAgaWYgKHN5c3RlbVNldHRpbmdzWydoaWRlV2Vla2x5UGVyaW9kcyddKSB7XG4gICAgICB0eXBlcy5wdXNoKFdFRUtMWSwgV0VFS0xZV0VELCBXRUVLTFlUSFUsIFdFRUtMWVNBVCwgV0VFS0xZU1VOKTtcbiAgICB9XG4gICAgaWYgKHN5c3RlbVNldHRpbmdzWydoaWRlQmlXZWVrbHlQZXJpb2RzJ10pIHtcbiAgICAgIHR5cGVzLnB1c2goQklXRUVLTFkpO1xuICAgIH1cbiAgICBpZiAoc3lzdGVtU2V0dGluZ3NbJ2hpZGVNb250aGx5UGVyaW9kcyddKSB7XG4gICAgICB0eXBlcy5wdXNoKE1PTlRITFkpO1xuICAgIH1cbiAgICBpZiAoc3lzdGVtU2V0dGluZ3NbJ2hpZGVCaU1vbnRobHlQZXJpb2RzJ10pIHtcbiAgICAgIHR5cGVzLnB1c2goQklNT05USExZKTtcbiAgICB9XG4gICAgcmV0dXJuIHR5cGVzO1xuICB9O1xufVxuIl19
|