@dhis2/analytics 22.0.0-alpha.3 → 22.0.0
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/CHANGELOG.md +2990 -0
- package/build/cjs/__fixtures__/fixtures.js +1 -0
- package/build/cjs/__fixtures__/json/api/analytics/enrollments.json +206 -0
- package/build/cjs/api/analytics/Analytics.js +6 -0
- package/build/cjs/api/analytics/AnalyticsEnrollments.js +48 -0
- package/build/cjs/api/analytics/__tests__/AnalyticsEnrollments.spec.js +50 -0
- package/build/cjs/api/analytics/__tests__/__snapshots__/AnalyticsEnrollments.spec.js.snap +3 -0
- package/build/cjs/components/CachedDataQueryProvider.js +4 -10
- package/build/cjs/components/OpenFileDialog/OpenFileDialog.styles.js +2 -2
- package/build/cjs/locales/ar/translations.json +7 -0
- package/build/cjs/locales/ar_EG/translations.json +7 -0
- package/build/cjs/locales/ar_IQ/translations.json +7 -0
- package/build/cjs/locales/ckb/translations.json +7 -0
- package/build/cjs/locales/cs/translations.json +7 -0
- package/build/cjs/locales/da/translations.json +7 -0
- package/build/cjs/locales/es/translations.json +7 -0
- package/build/cjs/locales/fr/translations.json +7 -0
- package/build/cjs/locales/id/translations.json +7 -0
- package/build/cjs/locales/km/translations.json +7 -0
- package/build/cjs/locales/lo/translations.json +7 -0
- package/build/cjs/locales/my/translations.json +7 -0
- package/build/cjs/locales/nb/translations.json +7 -0
- package/build/cjs/locales/nl/translations.json +7 -0
- package/build/cjs/locales/prs/translations.json +7 -0
- package/build/cjs/locales/ps/translations.json +7 -0
- package/build/cjs/locales/pt/translations.json +7 -0
- package/build/cjs/locales/pt_BR/translations.json +7 -0
- package/build/cjs/locales/ru/translations.json +7 -0
- package/build/cjs/locales/sv/translations.json +7 -0
- package/build/cjs/locales/tet/translations.json +7 -0
- package/build/cjs/locales/tg/translations.json +7 -0
- package/build/cjs/locales/uk/translations.json +7 -0
- package/build/cjs/locales/ur/translations.json +7 -0
- package/build/cjs/locales/uz/translations.json +7 -0
- package/build/cjs/locales/uz_Latn/translations.json +7 -0
- package/build/cjs/locales/vi/translations.json +7 -0
- package/build/cjs/locales/zh/translations.json +8 -1
- package/build/cjs/locales/zh_CN/translations.json +7 -0
- package/build/cjs/modules/layoutUiRules/rules.js +5 -1
- package/build/cjs/modules/visTypes.js +3 -1
- package/build/es/__fixtures__/fixtures.js +1 -0
- package/build/es/__fixtures__/json/api/analytics/enrollments.json +206 -0
- package/build/es/api/analytics/Analytics.js +5 -0
- package/build/es/api/analytics/AnalyticsEnrollments.js +38 -0
- package/build/es/api/analytics/__tests__/AnalyticsEnrollments.spec.js +40 -0
- package/build/es/api/analytics/__tests__/__snapshots__/AnalyticsEnrollments.spec.js.snap +3 -0
- package/build/es/components/CachedDataQueryProvider.js +4 -10
- package/build/es/components/OpenFileDialog/OpenFileDialog.styles.js +2 -2
- package/build/es/locales/ar/translations.json +7 -0
- package/build/es/locales/ar_EG/translations.json +7 -0
- package/build/es/locales/ar_IQ/translations.json +7 -0
- package/build/es/locales/ckb/translations.json +7 -0
- package/build/es/locales/cs/translations.json +7 -0
- package/build/es/locales/da/translations.json +7 -0
- package/build/es/locales/es/translations.json +7 -0
- package/build/es/locales/fr/translations.json +7 -0
- package/build/es/locales/id/translations.json +7 -0
- package/build/es/locales/km/translations.json +7 -0
- package/build/es/locales/lo/translations.json +7 -0
- package/build/es/locales/my/translations.json +7 -0
- package/build/es/locales/nb/translations.json +7 -0
- package/build/es/locales/nl/translations.json +7 -0
- package/build/es/locales/prs/translations.json +7 -0
- package/build/es/locales/ps/translations.json +7 -0
- package/build/es/locales/pt/translations.json +7 -0
- package/build/es/locales/pt_BR/translations.json +7 -0
- package/build/es/locales/ru/translations.json +7 -0
- package/build/es/locales/sv/translations.json +7 -0
- package/build/es/locales/tet/translations.json +7 -0
- package/build/es/locales/tg/translations.json +7 -0
- package/build/es/locales/uk/translations.json +7 -0
- package/build/es/locales/ur/translations.json +7 -0
- package/build/es/locales/uz/translations.json +7 -0
- package/build/es/locales/uz_Latn/translations.json +7 -0
- package/build/es/locales/vi/translations.json +7 -0
- package/build/es/locales/zh/translations.json +8 -1
- package/build/es/locales/zh_CN/translations.json +7 -0
- package/build/es/modules/layoutUiRules/rules.js +6 -2
- package/build/es/modules/visTypes.js +1 -0
- package/package.json +2 -2
- package/build/cjs/components/OpenFileDialog/styles/FileList.style.js +0 -10
- package/build/cjs/visualizations/package-lock.json +0 -1788
- package/build/es/components/OpenFileDialog/styles/FileList.style.js +0 -3
- package/build/es/visualizations/package-lock.json +0 -1788
|
@@ -115,6 +115,13 @@
|
|
|
115
115
|
"No event reports found. Click New event report to get started.": "",
|
|
116
116
|
"No event reports found. Try adjusting your search or filter options to find what you're looking for.": "",
|
|
117
117
|
"New event report": "",
|
|
118
|
+
"Open an event visualization": "",
|
|
119
|
+
"Loading event visualizations": "",
|
|
120
|
+
"Couldn't load event visualizations": "",
|
|
121
|
+
"There was a problem loading event visualizations. Try again or contact your system administrator.": "",
|
|
122
|
+
"No event visualizations found. Click New event visualization to get started.": "",
|
|
123
|
+
"No event visualizations found. Try adjusting your search or filter options to find what you're looking for.": "",
|
|
124
|
+
"New event visualization": "",
|
|
118
125
|
"Options": "Opções",
|
|
119
126
|
"Hide": "Esconder",
|
|
120
127
|
"Update": "Actualizar",
|
|
@@ -115,6 +115,13 @@
|
|
|
115
115
|
"No event reports found. Click New event report to get started.": "",
|
|
116
116
|
"No event reports found. Try adjusting your search or filter options to find what you're looking for.": "",
|
|
117
117
|
"New event report": "",
|
|
118
|
+
"Open an event visualization": "",
|
|
119
|
+
"Loading event visualizations": "",
|
|
120
|
+
"Couldn't load event visualizations": "",
|
|
121
|
+
"There was a problem loading event visualizations. Try again or contact your system administrator.": "",
|
|
122
|
+
"No event visualizations found. Click New event visualization to get started.": "",
|
|
123
|
+
"No event visualizations found. Try adjusting your search or filter options to find what you're looking for.": "",
|
|
124
|
+
"New event visualization": "",
|
|
118
125
|
"Options": "Opções",
|
|
119
126
|
"Hide": "",
|
|
120
127
|
"Update": "Actualizar",
|
|
@@ -117,6 +117,13 @@
|
|
|
117
117
|
"No event reports found. Click New event report to get started.": "",
|
|
118
118
|
"No event reports found. Try adjusting your search or filter options to find what you're looking for.": "",
|
|
119
119
|
"New event report": "",
|
|
120
|
+
"Open an event visualization": "",
|
|
121
|
+
"Loading event visualizations": "",
|
|
122
|
+
"Couldn't load event visualizations": "",
|
|
123
|
+
"There was a problem loading event visualizations. Try again or contact your system administrator.": "",
|
|
124
|
+
"No event visualizations found. Click New event visualization to get started.": "",
|
|
125
|
+
"No event visualizations found. Try adjusting your search or filter options to find what you're looking for.": "",
|
|
126
|
+
"New event visualization": "",
|
|
120
127
|
"Options": "Параметры",
|
|
121
128
|
"Hide": "Скрыть",
|
|
122
129
|
"Update": "Обновить",
|
|
@@ -115,6 +115,13 @@
|
|
|
115
115
|
"No event reports found. Click New event report to get started.": "",
|
|
116
116
|
"No event reports found. Try adjusting your search or filter options to find what you're looking for.": "",
|
|
117
117
|
"New event report": "",
|
|
118
|
+
"Open an event visualization": "",
|
|
119
|
+
"Loading event visualizations": "",
|
|
120
|
+
"Couldn't load event visualizations": "",
|
|
121
|
+
"There was a problem loading event visualizations. Try again or contact your system administrator.": "",
|
|
122
|
+
"No event visualizations found. Click New event visualization to get started.": "",
|
|
123
|
+
"No event visualizations found. Try adjusting your search or filter options to find what you're looking for.": "",
|
|
124
|
+
"New event visualization": "",
|
|
118
125
|
"Options": "Alternativ",
|
|
119
126
|
"Hide": "",
|
|
120
127
|
"Update": "Uppdatera",
|
|
@@ -114,6 +114,13 @@
|
|
|
114
114
|
"No event reports found. Click New event report to get started.": "",
|
|
115
115
|
"No event reports found. Try adjusting your search or filter options to find what you're looking for.": "",
|
|
116
116
|
"New event report": "",
|
|
117
|
+
"Open an event visualization": "",
|
|
118
|
+
"Loading event visualizations": "",
|
|
119
|
+
"Couldn't load event visualizations": "",
|
|
120
|
+
"There was a problem loading event visualizations. Try again or contact your system administrator.": "",
|
|
121
|
+
"No event visualizations found. Click New event visualization to get started.": "",
|
|
122
|
+
"No event visualizations found. Try adjusting your search or filter options to find what you're looking for.": "",
|
|
123
|
+
"New event visualization": "",
|
|
117
124
|
"Options": "Opsoens",
|
|
118
125
|
"Hide": "Subar",
|
|
119
126
|
"Update": "Atualiza",
|
|
@@ -115,6 +115,13 @@
|
|
|
115
115
|
"No event reports found. Click New event report to get started.": "",
|
|
116
116
|
"No event reports found. Try adjusting your search or filter options to find what you're looking for.": "",
|
|
117
117
|
"New event report": "",
|
|
118
|
+
"Open an event visualization": "",
|
|
119
|
+
"Loading event visualizations": "",
|
|
120
|
+
"Couldn't load event visualizations": "",
|
|
121
|
+
"There was a problem loading event visualizations. Try again or contact your system administrator.": "",
|
|
122
|
+
"No event visualizations found. Click New event visualization to get started.": "",
|
|
123
|
+
"No event visualizations found. Try adjusting your search or filter options to find what you're looking for.": "",
|
|
124
|
+
"New event visualization": "",
|
|
118
125
|
"Options": "Имконот",
|
|
119
126
|
"Hide": "Пинҳон кардан",
|
|
120
127
|
"Update": "Навсозӣ",
|
|
@@ -117,6 +117,13 @@
|
|
|
117
117
|
"No event reports found. Click New event report to get started.": "",
|
|
118
118
|
"No event reports found. Try adjusting your search or filter options to find what you're looking for.": "",
|
|
119
119
|
"New event report": "",
|
|
120
|
+
"Open an event visualization": "",
|
|
121
|
+
"Loading event visualizations": "",
|
|
122
|
+
"Couldn't load event visualizations": "",
|
|
123
|
+
"There was a problem loading event visualizations. Try again or contact your system administrator.": "",
|
|
124
|
+
"No event visualizations found. Click New event visualization to get started.": "",
|
|
125
|
+
"No event visualizations found. Try adjusting your search or filter options to find what you're looking for.": "",
|
|
126
|
+
"New event visualization": "",
|
|
120
127
|
"Options": "Опції",
|
|
121
128
|
"Hide": "Сховати",
|
|
122
129
|
"Update": "Оновити",
|
|
@@ -115,6 +115,13 @@
|
|
|
115
115
|
"No event reports found. Click New event report to get started.": "",
|
|
116
116
|
"No event reports found. Try adjusting your search or filter options to find what you're looking for.": "",
|
|
117
117
|
"New event report": "",
|
|
118
|
+
"Open an event visualization": "",
|
|
119
|
+
"Loading event visualizations": "",
|
|
120
|
+
"Couldn't load event visualizations": "",
|
|
121
|
+
"There was a problem loading event visualizations. Try again or contact your system administrator.": "",
|
|
122
|
+
"No event visualizations found. Click New event visualization to get started.": "",
|
|
123
|
+
"No event visualizations found. Try adjusting your search or filter options to find what you're looking for.": "",
|
|
124
|
+
"New event visualization": "",
|
|
118
125
|
"Options": "اختیارات",
|
|
119
126
|
"Hide": "چھپائیں",
|
|
120
127
|
"Update": "اپڈیٹ",
|
|
@@ -114,6 +114,13 @@
|
|
|
114
114
|
"No event reports found. Click New event report to get started.": "",
|
|
115
115
|
"No event reports found. Try adjusting your search or filter options to find what you're looking for.": "",
|
|
116
116
|
"New event report": "",
|
|
117
|
+
"Open an event visualization": "",
|
|
118
|
+
"Loading event visualizations": "",
|
|
119
|
+
"Couldn't load event visualizations": "",
|
|
120
|
+
"There was a problem loading event visualizations. Try again or contact your system administrator.": "",
|
|
121
|
+
"No event visualizations found. Click New event visualization to get started.": "",
|
|
122
|
+
"No event visualizations found. Try adjusting your search or filter options to find what you're looking for.": "",
|
|
123
|
+
"New event visualization": "",
|
|
117
124
|
"Options": "Вариант",
|
|
118
125
|
"Hide": "Беркитиш",
|
|
119
126
|
"Update": "Янгилаш",
|
|
@@ -114,6 +114,13 @@
|
|
|
114
114
|
"No event reports found. Click New event report to get started.": "",
|
|
115
115
|
"No event reports found. Try adjusting your search or filter options to find what you're looking for.": "",
|
|
116
116
|
"New event report": "",
|
|
117
|
+
"Open an event visualization": "",
|
|
118
|
+
"Loading event visualizations": "",
|
|
119
|
+
"Couldn't load event visualizations": "",
|
|
120
|
+
"There was a problem loading event visualizations. Try again or contact your system administrator.": "",
|
|
121
|
+
"No event visualizations found. Click New event visualization to get started.": "",
|
|
122
|
+
"No event visualizations found. Try adjusting your search or filter options to find what you're looking for.": "",
|
|
123
|
+
"New event visualization": "",
|
|
117
124
|
"Options": "Вариант",
|
|
118
125
|
"Hide": "Berkitish",
|
|
119
126
|
"Update": "Янгилаш",
|
|
@@ -114,6 +114,13 @@
|
|
|
114
114
|
"No event reports found. Click New event report to get started.": "",
|
|
115
115
|
"No event reports found. Try adjusting your search or filter options to find what you're looking for.": "",
|
|
116
116
|
"New event report": "",
|
|
117
|
+
"Open an event visualization": "",
|
|
118
|
+
"Loading event visualizations": "",
|
|
119
|
+
"Couldn't load event visualizations": "",
|
|
120
|
+
"There was a problem loading event visualizations. Try again or contact your system administrator.": "",
|
|
121
|
+
"No event visualizations found. Click New event visualization to get started.": "",
|
|
122
|
+
"No event visualizations found. Try adjusting your search or filter options to find what you're looking for.": "",
|
|
123
|
+
"New event visualization": "",
|
|
117
124
|
"Options": "Tùy chọn",
|
|
118
125
|
"Hide": "Ẩn",
|
|
119
126
|
"Update": "Cập nhật",
|
|
@@ -114,6 +114,13 @@
|
|
|
114
114
|
"No event reports found. Click New event report to get started.": "未找到事件报告。单击新建事件报告开始。",
|
|
115
115
|
"No event reports found. Try adjusting your search or filter options to find what you're looking for.": "未找到事件报告。尝试调整您的搜索或过滤选项以找到您要查找的内容。",
|
|
116
116
|
"New event report": "新建事件报告",
|
|
117
|
+
"Open an event visualization": "打开事件可视化",
|
|
118
|
+
"Loading event visualizations": "加载事件可视化",
|
|
119
|
+
"Couldn't load event visualizations": "无法加载事件可视化应用",
|
|
120
|
+
"There was a problem loading event visualizations. Try again or contact your system administrator.": "加载事件可视化时出现问题。重试或联系您的系统管理员。",
|
|
121
|
+
"No event visualizations found. Click New event visualization to get started.": "未找到事件可视化。单击新建事件可视化开始。",
|
|
122
|
+
"No event visualizations found. Try adjusting your search or filter options to find what you're looking for.": "未找到事件可视化。尝试调整您的搜索或过滤选项以找到您要查找的内容。",
|
|
123
|
+
"New event visualization": "新的事件可视化",
|
|
117
124
|
"Options": "选项",
|
|
118
125
|
"Hide": "隐藏",
|
|
119
126
|
"Update": "更新",
|
|
@@ -224,7 +231,7 @@
|
|
|
224
231
|
"Choose a locale to translate from the menu above": "从上面的菜单中选择要翻译的语言环境",
|
|
225
232
|
"Translate: {{objectName}}": "翻译:{{objectName}}",
|
|
226
233
|
"Save translations": "保存翻译",
|
|
227
|
-
"Could not load translations": "",
|
|
234
|
+
"Could not load translations": "无法加载翻译",
|
|
228
235
|
"Retry": "重试",
|
|
229
236
|
"Series": "系列",
|
|
230
237
|
"Category": "分类",
|
|
@@ -114,6 +114,13 @@
|
|
|
114
114
|
"No event reports found. Click New event report to get started.": "",
|
|
115
115
|
"No event reports found. Try adjusting your search or filter options to find what you're looking for.": "",
|
|
116
116
|
"New event report": "",
|
|
117
|
+
"Open an event visualization": "",
|
|
118
|
+
"Loading event visualizations": "",
|
|
119
|
+
"Couldn't load event visualizations": "",
|
|
120
|
+
"There was a problem loading event visualizations. Try again or contact your system administrator.": "",
|
|
121
|
+
"No event visualizations found. Click New event visualization to get started.": "",
|
|
122
|
+
"No event visualizations found. Try adjusting your search or filter options to find what you're looking for.": "",
|
|
123
|
+
"New event visualization": "",
|
|
117
124
|
"Options": "选项",
|
|
118
125
|
"Hide": "隐藏",
|
|
119
126
|
"Update": "更新",
|
|
@@ -89,6 +89,9 @@ const scatterRules = {
|
|
|
89
89
|
[_predefinedDimensions.DIMENSION_ID_ORGUNIT]: _axis.AXIS_ID_ROWS
|
|
90
90
|
}
|
|
91
91
|
};
|
|
92
|
+
const lineListRules = {
|
|
93
|
+
[RULE_PROP_AVAILABLE_AXES]: [_axis.AXIS_ID_COLUMNS, _axis.AXIS_ID_FILTERS]
|
|
94
|
+
};
|
|
92
95
|
const visTypeToRules = {
|
|
93
96
|
[_visTypes.VIS_TYPE_COLUMN]: defaultRules,
|
|
94
97
|
[_visTypes.VIS_TYPE_STACKED_COLUMN]: defaultRules,
|
|
@@ -104,7 +107,8 @@ const visTypeToRules = {
|
|
|
104
107
|
[_visTypes.VIS_TYPE_YEAR_OVER_YEAR_LINE]: yearOverYearRules,
|
|
105
108
|
[_visTypes.VIS_TYPE_YEAR_OVER_YEAR_COLUMN]: yearOverYearRules,
|
|
106
109
|
[_visTypes.VIS_TYPE_PIVOT_TABLE]: pivotTableRules,
|
|
107
|
-
[_visTypes.VIS_TYPE_SCATTER]: scatterRules
|
|
110
|
+
[_visTypes.VIS_TYPE_SCATTER]: scatterRules,
|
|
111
|
+
[_visTypes.VIS_TYPE_LINE_LIST]: lineListRules
|
|
108
112
|
};
|
|
109
113
|
|
|
110
114
|
const getRulesByVisType = visType => {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.isColumnBasedType = exports.isLegendSetType = exports.isVerticalType = exports.isTwoCategoryChartType = exports.isSingleValue = exports.isMultiType = exports.isDualAxisType = exports.isYearOverYear = exports.isStacked = exports.defaultVisType = exports.getDisplayNameByVisType = exports.visTypeIcons = exports.visTypeDescriptions = exports.visTypeDisplayNames = exports.VIS_TYPE_SCATTER = exports.VIS_TYPE_PIVOT_TABLE = exports.VIS_TYPE_SINGLE_VALUE = exports.VIS_TYPE_YEAR_OVER_YEAR_COLUMN = exports.VIS_TYPE_YEAR_OVER_YEAR_LINE = exports.VIS_TYPE_BUBBLE = exports.VIS_TYPE_GAUGE = exports.VIS_TYPE_RADAR = exports.VIS_TYPE_PIE = exports.VIS_TYPE_STACKED_AREA = exports.VIS_TYPE_AREA = exports.VIS_TYPE_LINE = exports.VIS_TYPE_STACKED_BAR = exports.VIS_TYPE_BAR = exports.VIS_TYPE_STACKED_COLUMN = exports.VIS_TYPE_COLUMN = void 0;
|
|
6
|
+
exports.isColumnBasedType = exports.isLegendSetType = exports.isVerticalType = exports.isTwoCategoryChartType = exports.isSingleValue = exports.isMultiType = exports.isDualAxisType = exports.isYearOverYear = exports.isStacked = exports.defaultVisType = exports.getDisplayNameByVisType = exports.visTypeIcons = exports.visTypeDescriptions = exports.visTypeDisplayNames = exports.VIS_TYPE_LINE_LIST = exports.VIS_TYPE_SCATTER = exports.VIS_TYPE_PIVOT_TABLE = exports.VIS_TYPE_SINGLE_VALUE = exports.VIS_TYPE_YEAR_OVER_YEAR_COLUMN = exports.VIS_TYPE_YEAR_OVER_YEAR_LINE = exports.VIS_TYPE_BUBBLE = exports.VIS_TYPE_GAUGE = exports.VIS_TYPE_RADAR = exports.VIS_TYPE_PIE = exports.VIS_TYPE_STACKED_AREA = exports.VIS_TYPE_AREA = exports.VIS_TYPE_LINE = exports.VIS_TYPE_STACKED_BAR = exports.VIS_TYPE_BAR = exports.VIS_TYPE_STACKED_COLUMN = exports.VIS_TYPE_COLUMN = void 0;
|
|
7
7
|
|
|
8
8
|
var _ui = require("@dhis2/ui");
|
|
9
9
|
|
|
@@ -43,6 +43,8 @@ const VIS_TYPE_PIVOT_TABLE = 'PIVOT_TABLE';
|
|
|
43
43
|
exports.VIS_TYPE_PIVOT_TABLE = VIS_TYPE_PIVOT_TABLE;
|
|
44
44
|
const VIS_TYPE_SCATTER = 'SCATTER';
|
|
45
45
|
exports.VIS_TYPE_SCATTER = VIS_TYPE_SCATTER;
|
|
46
|
+
const VIS_TYPE_LINE_LIST = 'LINE_LIST';
|
|
47
|
+
exports.VIS_TYPE_LINE_LIST = VIS_TYPE_LINE_LIST;
|
|
46
48
|
const visTypeDisplayNames = {
|
|
47
49
|
[VIS_TYPE_PIVOT_TABLE]: _index.default.t('Pivot table'),
|
|
48
50
|
[VIS_TYPE_COLUMN]: _index.default.t('Column'),
|
|
@@ -91,6 +91,7 @@ export default (function x() {
|
|
|
91
91
|
addFixture('/api/analytics/query', require('./json/api/analytics/query.json'));
|
|
92
92
|
addFixture('/api/analytics/cluster', require('./json/api/analytics/cluster.json'));
|
|
93
93
|
addFixture('/api/analytics/response', require('./json/api/analytics/response.json'));
|
|
94
|
+
addFixture('/api/analytics/enrollments', require('./json/api/analytics/enrollments.json'));
|
|
94
95
|
return {
|
|
95
96
|
get: getFixture,
|
|
96
97
|
add: addFixture
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
{
|
|
2
|
+
"headers": [
|
|
3
|
+
{
|
|
4
|
+
"name": "pi",
|
|
5
|
+
"column": "Enrollment",
|
|
6
|
+
"valueType": "TEXT",
|
|
7
|
+
"type": "java.lang.String",
|
|
8
|
+
"hidden": false,
|
|
9
|
+
"meta": true
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"name": "tei",
|
|
13
|
+
"column": "Tracked entity instance",
|
|
14
|
+
"valueType": "TEXT",
|
|
15
|
+
"type": "java.lang.String",
|
|
16
|
+
"hidden": false,
|
|
17
|
+
"meta": true
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"name": "enrollmentdate",
|
|
21
|
+
"column": "Enrollment date",
|
|
22
|
+
"valueType": "DATE",
|
|
23
|
+
"type": "java.util.Date",
|
|
24
|
+
"hidden": false,
|
|
25
|
+
"meta": true
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"name": "incidentdate",
|
|
29
|
+
"column": "Incident date",
|
|
30
|
+
"valueType": "DATE",
|
|
31
|
+
"type": "java.util.Date",
|
|
32
|
+
"hidden": false,
|
|
33
|
+
"meta": true
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"name": "geometry",
|
|
37
|
+
"column": "Geometry",
|
|
38
|
+
"valueType": "TEXT",
|
|
39
|
+
"type": "java.lang.String",
|
|
40
|
+
"hidden": false,
|
|
41
|
+
"meta": true
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"name": "longitude",
|
|
45
|
+
"column": "Longitude",
|
|
46
|
+
"valueType": "NUMBER",
|
|
47
|
+
"type": "java.lang.Double",
|
|
48
|
+
"hidden": false,
|
|
49
|
+
"meta": true
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"name": "latitude",
|
|
53
|
+
"column": "Latitude",
|
|
54
|
+
"valueType": "NUMBER",
|
|
55
|
+
"type": "java.lang.Double",
|
|
56
|
+
"hidden": false,
|
|
57
|
+
"meta": true
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "ouname",
|
|
61
|
+
"column": "Organisation unit name",
|
|
62
|
+
"valueType": "TEXT",
|
|
63
|
+
"type": "java.lang.String",
|
|
64
|
+
"hidden": false,
|
|
65
|
+
"meta": true
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"name": "oucode",
|
|
69
|
+
"column": "Organisation unit code",
|
|
70
|
+
"valueType": "TEXT",
|
|
71
|
+
"type": "java.lang.String",
|
|
72
|
+
"hidden": false,
|
|
73
|
+
"meta": true
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"name": "ou",
|
|
77
|
+
"column": "Organisation unit",
|
|
78
|
+
"valueType": "TEXT",
|
|
79
|
+
"type": "java.lang.String",
|
|
80
|
+
"hidden": false,
|
|
81
|
+
"meta": true
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"name": "de0FEHSIoxh",
|
|
85
|
+
"column": "WHOMCH Chronic conditions",
|
|
86
|
+
"valueType": "BOOLEAN",
|
|
87
|
+
"type": "java.lang.Boolean",
|
|
88
|
+
"hidden": false,
|
|
89
|
+
"meta": true
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"name": "sWoqcoByYmD",
|
|
93
|
+
"column": "WHOMCH Smoking",
|
|
94
|
+
"valueType": "BOOLEAN",
|
|
95
|
+
"type": "java.lang.Boolean",
|
|
96
|
+
"hidden": false,
|
|
97
|
+
"meta": true
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
"metaData": {
|
|
101
|
+
"pager": {
|
|
102
|
+
"page": 2,
|
|
103
|
+
"total": 163,
|
|
104
|
+
"pageSize": 4,
|
|
105
|
+
"pageCount": 41
|
|
106
|
+
},
|
|
107
|
+
"items": {
|
|
108
|
+
"ImspTQPwCqd": {
|
|
109
|
+
"name": "Sierra Leone"
|
|
110
|
+
},
|
|
111
|
+
"PFDfvmGpsR3": {
|
|
112
|
+
"name": "Care at birth"
|
|
113
|
+
},
|
|
114
|
+
"bbKtnxRZKEP": {
|
|
115
|
+
"name": "Postpartum care visit"
|
|
116
|
+
},
|
|
117
|
+
"ou": {
|
|
118
|
+
"name": "Organisation unit"
|
|
119
|
+
},
|
|
120
|
+
"PUZaKR0Jh2k": {
|
|
121
|
+
"name": "Previous deliveries"
|
|
122
|
+
},
|
|
123
|
+
"edqlbukwRfQ": {
|
|
124
|
+
"name": "Antenatal care visit"
|
|
125
|
+
},
|
|
126
|
+
"WZbXY0S00lP": {
|
|
127
|
+
"name": "First antenatal care visit"
|
|
128
|
+
},
|
|
129
|
+
"sWoqcoByYmD": {
|
|
130
|
+
"name": "WHOMCH Smoking"
|
|
131
|
+
},
|
|
132
|
+
"WSGAb5XwJ3Y": {
|
|
133
|
+
"name": "WHO RMNCH Tracker"
|
|
134
|
+
},
|
|
135
|
+
"de0FEHSIoxh": {
|
|
136
|
+
"name": "WHOMCH Chronic conditions"
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
"dimensions": {
|
|
140
|
+
"pe": [],
|
|
141
|
+
"ou": ["ImspTQPwCqd"],
|
|
142
|
+
"sWoqcoByYmD": [],
|
|
143
|
+
"de0FEHSIoxh": []
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
"width": 12,
|
|
147
|
+
"rows": [
|
|
148
|
+
[
|
|
149
|
+
"A0cP533hIQv",
|
|
150
|
+
"to8G9jAprnx",
|
|
151
|
+
"2019-02-02 12:05:00.0",
|
|
152
|
+
"2019-02-02 12:05:00.0",
|
|
153
|
+
"",
|
|
154
|
+
"0.0",
|
|
155
|
+
"0.0",
|
|
156
|
+
"Tonkomba MCHP",
|
|
157
|
+
"OU_193264",
|
|
158
|
+
"xIMxph4NMP1",
|
|
159
|
+
"0",
|
|
160
|
+
"1"
|
|
161
|
+
],
|
|
162
|
+
[
|
|
163
|
+
"ZqiUn2uXmBi",
|
|
164
|
+
"SJtv0WzoYki",
|
|
165
|
+
"2019-02-02 12:05:00.0",
|
|
166
|
+
"2019-02-02 12:05:00.0",
|
|
167
|
+
"",
|
|
168
|
+
"0.0",
|
|
169
|
+
"0.0",
|
|
170
|
+
"Mawoma MCHP",
|
|
171
|
+
"OU_254973",
|
|
172
|
+
"Srnpwq8jKbp",
|
|
173
|
+
"0",
|
|
174
|
+
"0"
|
|
175
|
+
],
|
|
176
|
+
[
|
|
177
|
+
"lE747mUAtbz",
|
|
178
|
+
"PGzTv2A1xzn",
|
|
179
|
+
"2019-02-02 12:05:00.0",
|
|
180
|
+
"2019-02-02 12:05:00.0",
|
|
181
|
+
"",
|
|
182
|
+
"0.0",
|
|
183
|
+
"0.0",
|
|
184
|
+
"Kunsho CHP",
|
|
185
|
+
"OU_193254",
|
|
186
|
+
"tdhB1JXYBx2",
|
|
187
|
+
"",
|
|
188
|
+
"0"
|
|
189
|
+
],
|
|
190
|
+
[
|
|
191
|
+
"nmcqu9QF8ow",
|
|
192
|
+
"pav3tGLjYuq",
|
|
193
|
+
"2019-02-03 12:05:00.0",
|
|
194
|
+
"2019-02-03 12:05:00.0",
|
|
195
|
+
"",
|
|
196
|
+
"0.0",
|
|
197
|
+
"0.0",
|
|
198
|
+
"Korbu MCHP",
|
|
199
|
+
"OU_678893",
|
|
200
|
+
"m73lWmo5BDG",
|
|
201
|
+
"",
|
|
202
|
+
"1"
|
|
203
|
+
]
|
|
204
|
+
],
|
|
205
|
+
"height": 4
|
|
206
|
+
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* @module analytics
|
|
3
3
|
*/
|
|
4
4
|
import AnalyticsAggregate from './AnalyticsAggregate.js';
|
|
5
|
+
import AnalyticsEnrollments from './AnalyticsEnrollments.js';
|
|
5
6
|
import AnalyticsEvents from './AnalyticsEvents.js';
|
|
6
7
|
import AnalyticsRequest from './AnalyticsRequest.js';
|
|
7
8
|
import AnalyticsResponse from './AnalyticsResponse.js';
|
|
@@ -30,17 +31,20 @@ import AnalyticsResponse from './AnalyticsResponse.js';
|
|
|
30
31
|
class Analytics {
|
|
31
32
|
/**
|
|
32
33
|
* @param {!module:analytics.AnalyticsAggregate} analyticsAggregate The AnalyticsAggregate instance
|
|
34
|
+
* @param {!module:analytics.AnalyticsEnrollments} analyticsEnrollments The AnalyticsEnrollments instance
|
|
33
35
|
* @param {!module:analytics.AnalyticsEvents} analyticsEvents The AnalyticsEvents instance
|
|
34
36
|
* @param {!module:analytics.AnalyticsRequest} analyticsRequest The AnalyticsRequest class
|
|
35
37
|
* @param {!module:analytics.AnalyticsResponse} analyticsResponse The AnalyticsResponse class
|
|
36
38
|
*/
|
|
37
39
|
constructor({
|
|
38
40
|
aggregate,
|
|
41
|
+
enrollments,
|
|
39
42
|
events,
|
|
40
43
|
request,
|
|
41
44
|
response
|
|
42
45
|
}) {
|
|
43
46
|
this.aggregate = aggregate;
|
|
47
|
+
this.enrollments = enrollments;
|
|
44
48
|
this.events = events;
|
|
45
49
|
this.request = request;
|
|
46
50
|
this.response = response;
|
|
@@ -63,6 +67,7 @@ class Analytics {
|
|
|
63
67
|
if (!Analytics.getAnalytics.analytics) {
|
|
64
68
|
Analytics.getAnalytics.analytics = new Analytics({
|
|
65
69
|
aggregate: new AnalyticsAggregate(dataEngine),
|
|
70
|
+
enrollments: new AnalyticsEnrollments(dataEngine),
|
|
66
71
|
events: new AnalyticsEvents(dataEngine),
|
|
67
72
|
request: AnalyticsRequest,
|
|
68
73
|
response: AnalyticsResponse
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import AnalyticsBase from './AnalyticsBase.js';
|
|
2
|
+
/**
|
|
3
|
+
* @extends module:analytics.AnalyticsBase
|
|
4
|
+
*
|
|
5
|
+
* @description
|
|
6
|
+
* Analytics enrollments class used to request analytics enrollments data from Web API.
|
|
7
|
+
*
|
|
8
|
+
* @memberof module:analytics
|
|
9
|
+
*
|
|
10
|
+
* @see https://docs.dhis2.org/en/develop/using-the-api/dhis-core-version-236/analytics.html#webapi_enrollment_analytics
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
class AnalyticsEnrollments extends AnalyticsBase {
|
|
14
|
+
/**
|
|
15
|
+
* @param {!AnalyticsRequest} req Request object
|
|
16
|
+
*
|
|
17
|
+
* @returns {Promise} Promise that resolves with the analytics query data from the api.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* const req = new analytics.request()
|
|
21
|
+
* .withProgram('eBAyeGv0exc')
|
|
22
|
+
* .addDataDimension(['Uvn6LCg7dVU','OdiHJayrsKo'])
|
|
23
|
+
* .addPeriodDimension('LAST_4_QUARTERS')
|
|
24
|
+
* .addOrgUnitDimension(['lc3eMKXaEfw','PMa2VCrupOd'])
|
|
25
|
+
* .addOrgUnitFilter('O6uvpzGd5pu')
|
|
26
|
+
* .withStartDate('2017-10-01')
|
|
27
|
+
* .withEndDate('2017-10-31');
|
|
28
|
+
*
|
|
29
|
+
* analytics.enrollments.getQuery(req)
|
|
30
|
+
* .then(console.log);
|
|
31
|
+
*/
|
|
32
|
+
getQuery(req) {
|
|
33
|
+
return this.fetch(req.withPath('enrollments/query'));
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export default AnalyticsEnrollments;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import fixtures from '../../../__fixtures__/fixtures.js';
|
|
2
|
+
import DataEngineMock from '../__mocks__/DataEngine.js';
|
|
3
|
+
import AnalyticsEnrollments from '../AnalyticsEnrollments.js';
|
|
4
|
+
import AnalyticsRequest from '../AnalyticsRequest.js';
|
|
5
|
+
describe('analytics.enrollments', () => {
|
|
6
|
+
let enrollments;
|
|
7
|
+
let request;
|
|
8
|
+
let dataEngineMock;
|
|
9
|
+
let fixture;
|
|
10
|
+
beforeEach(() => {
|
|
11
|
+
dataEngineMock = new DataEngineMock();
|
|
12
|
+
DataEngineMock.mockClear();
|
|
13
|
+
enrollments = new AnalyticsEnrollments();
|
|
14
|
+
});
|
|
15
|
+
it('should not be allowed to be called without new', () => {
|
|
16
|
+
expect(() => AnalyticsEnrollments()).toThrowErrorMatchingSnapshot();
|
|
17
|
+
});
|
|
18
|
+
it('should use the dataEngine object when it is passed', () => {
|
|
19
|
+
const dataEngineMockObject = {};
|
|
20
|
+
enrollments = new AnalyticsEnrollments(dataEngineMockObject);
|
|
21
|
+
expect(enrollments.dataEngine).toBe(dataEngineMockObject);
|
|
22
|
+
});
|
|
23
|
+
describe('.getQuery()', () => {
|
|
24
|
+
beforeEach(() => {
|
|
25
|
+
enrollments = new AnalyticsEnrollments(new DataEngineMock());
|
|
26
|
+
request = new AnalyticsRequest().addOrgUnitDimension('ImspTQPwCqd').addDimension('WZbXY0S00lP.de0FEHSIoxh').addDimension('WZbXY0S00lP.sWoqcoByYmD').addPeriodFilter('LAST_MONTH').withProgram('WSGAb5XwJ3Y').withStage('WZbXY0S00lP').withAsc('ENROLLMENTDATE').withOuMode('DESCENDANTS').withColumns('w75KJ2mc4zz').withPage(1).withPageSize(10);
|
|
27
|
+
fixture = fixtures.get('/api/analytics/enrollments');
|
|
28
|
+
dataEngineMock.query.mockReturnValue(Promise.resolve({
|
|
29
|
+
data: fixture
|
|
30
|
+
}));
|
|
31
|
+
});
|
|
32
|
+
it('should be a function', () => {
|
|
33
|
+
expect(enrollments.getQuery).toBeInstanceOf(Function);
|
|
34
|
+
});
|
|
35
|
+
it('should resolve a promise with data', () => enrollments.getQuery(request).then(data => {
|
|
36
|
+
expect(data.width).toEqual(fixture.width);
|
|
37
|
+
expect(data.height).toEqual(fixture.height);
|
|
38
|
+
}));
|
|
39
|
+
});
|
|
40
|
+
});
|
|
@@ -16,20 +16,14 @@ const CachedDataQueryProvider = ({
|
|
|
16
16
|
} = useDataQuery(query);
|
|
17
17
|
const {
|
|
18
18
|
error,
|
|
19
|
-
loading
|
|
20
|
-
fetching
|
|
19
|
+
loading
|
|
21
20
|
} = rest;
|
|
22
21
|
const data = rawData && dataTransformation ? dataTransformation(rawData) : rawData;
|
|
23
|
-
/*
|
|
24
|
-
* Render loader only when data is unavailable
|
|
25
|
-
*/
|
|
26
22
|
|
|
27
|
-
if (loading
|
|
28
|
-
return /*#__PURE__*/React.createElement(
|
|
23
|
+
if (loading) {
|
|
24
|
+
return /*#__PURE__*/React.createElement(Layer, {
|
|
29
25
|
translucent: true
|
|
30
|
-
}, /*#__PURE__*/React.createElement(CenteredContent, null, /*#__PURE__*/React.createElement(CircularLoader, null)))
|
|
31
|
-
value: data
|
|
32
|
-
}, children));
|
|
26
|
+
}, /*#__PURE__*/React.createElement(CenteredContent, null, /*#__PURE__*/React.createElement(CircularLoader, null)));
|
|
33
27
|
}
|
|
34
28
|
|
|
35
29
|
if (error) {
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { colors, spacers } from '@dhis2/ui';
|
|
2
|
-
export const styles = [".data-table-body.jsx-
|
|
3
|
-
styles.__hash = "
|
|
2
|
+
export const styles = [".data-table-body.jsx-1047699013{min-height:465px;}", ".pagination-controls.jsx-1047699013{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;}", ".search-and-filter-bar.jsx-1047699013{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:".concat(spacers.dp4, ";-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:").concat(spacers.dp8, ";}"), ".search-field-container.jsx-1047699013{min-width:220px;}", ".type-field-container.jsx-1047699013,.created-by-field-container.jsx-1047699013{min-width:180px;}", ".info-cell.jsx-1047699013{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin:".concat(spacers.dp32, " 0;}"), ".info-container.jsx-1047699013{max-width:400px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}", ".info-text.jsx-1047699013{text-align:center;font-size:14px;line-height:19px;color:".concat(colors.grey700, ";}"), ".info-button.jsx-1047699013{margin-top:".concat(spacers.dp12, ";}")];
|
|
3
|
+
styles.__hash = "1047699013";
|
|
@@ -119,6 +119,13 @@
|
|
|
119
119
|
"No event reports found. Click New event report to get started.": "",
|
|
120
120
|
"No event reports found. Try adjusting your search or filter options to find what you're looking for.": "",
|
|
121
121
|
"New event report": "",
|
|
122
|
+
"Open an event visualization": "",
|
|
123
|
+
"Loading event visualizations": "",
|
|
124
|
+
"Couldn't load event visualizations": "",
|
|
125
|
+
"There was a problem loading event visualizations. Try again or contact your system administrator.": "",
|
|
126
|
+
"No event visualizations found. Click New event visualization to get started.": "",
|
|
127
|
+
"No event visualizations found. Try adjusting your search or filter options to find what you're looking for.": "",
|
|
128
|
+
"New event visualization": "",
|
|
122
129
|
"Options": "الخيارات",
|
|
123
130
|
"Hide": "إخفاء",
|
|
124
131
|
"Update": "تحديث",
|