@dhis2/analytics 999.9.9-outlier-table.alpha.4 → 999.9.9-value-align-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/__demo__/DimensionsPanel.stories.js +1 -0
- package/build/cjs/api/analytics/Analytics.js +7 -0
- package/build/cjs/api/analytics/AnalyticsBase.js +24 -6
- package/build/cjs/api/analytics/AnalyticsRequest.js +33 -10
- package/build/cjs/api/analytics/AnalyticsRequestBase.js +3 -1
- package/build/cjs/api/analytics/AnalyticsRequestPropertiesMixin.js +19 -0
- package/build/cjs/api/analytics/AnalyticsTrackedEntities.js +31 -0
- package/build/cjs/api/analytics/utils.js +21 -2
- package/build/cjs/assets/DynamicDimensionIcon.js +12 -38
- package/build/cjs/components/AboutAOUnit/AboutAOUnit.js +1 -0
- package/build/cjs/components/AboutAOUnit/styles/AboutAOUnit.style.js +2 -2
- package/build/cjs/components/DataDimension/DataDimension.js +1 -1
- package/build/cjs/components/DataDimension/DataTypeSelector.js +18 -6
- package/build/cjs/components/DataDimension/ItemSelector.js +5 -5
- package/build/cjs/components/DimensionsPanel/List/DimensionItem.js +49 -33
- package/build/cjs/components/DimensionsPanel/List/OptionsButton.js +7 -6
- package/build/cjs/components/DimensionsPanel/List/RecommendedIcon.js +1 -2
- package/build/cjs/components/DimensionsPanel/List/__tests__/__snapshots__/DimensionItem.spec.js.snap +239 -361
- package/build/cjs/components/DimensionsPanel/List/styles/DimensionItem.style.js +5 -67
- package/build/cjs/components/DimensionsPanel/List/styles/DimensionList.style.js +2 -2
- package/build/cjs/components/DimensionsPanel/List/styles/RecommendedIcon.style.js +4 -4
- package/build/cjs/components/DimensionsPanel/styles/DimensionsPanel.style.js +1 -1
- package/build/cjs/components/Interpretations/InterpretationModal/InterpretationModal.js +7 -3
- package/build/cjs/components/OrgUnitDimension/OrgUnitDimension.js +5 -3
- package/build/cjs/components/PeriodDimension/PeriodTransfer.js +17 -13
- package/build/cjs/components/PivotTable/styles/PivotTable.style.js +2 -2
- package/build/cjs/locales/cs/translations.json +7 -2
- package/build/cjs/locales/es/translations.json +7 -2
- package/build/cjs/locales/index.js +46 -42
- package/build/cjs/locales/lo/translations.json +258 -253
- package/build/cjs/locales/nb/translations.json +8 -3
- package/build/cjs/locales/ne/translations.json +390 -0
- package/build/cjs/locales/sv/translations.json +10 -5
- package/build/cjs/locales/th/translations.json +384 -0
- package/build/cjs/locales/vi/translations.json +9 -4
- package/build/cjs/locales/zh/translations.json +7 -2
- package/build/cjs/modules/layout/axisGetDimensionIds.js +1 -1
- package/build/cjs/modules/layout/dimension.js +9 -2
- package/build/cjs/modules/layout/dimensionCreate.js +3 -0
- package/build/cjs/modules/layout/dimensionGetId.js +9 -3
- package/build/cjs/modules/layout/layoutFilterDimensions.js +1 -1
- package/build/cjs/modules/layout/layoutGetAxisIdDimensionIdsObject.js +1 -1
- package/build/cjs/modules/layout/layoutGetDimensionIdItemIdsObject.js +1 -1
- package/build/cjs/modules/layout/layoutHasDynamicDimension.js +1 -1
- package/build/cjs/modules/layoutUiRules/__tests__/rules.spec.js +4 -3
- package/build/cjs/modules/layoutUiRules/index.js +1 -1
- package/build/cjs/modules/layoutUiRules/rules.js +6 -6
- package/build/cjs/modules/layoutUiRules/rulesHelper.js +3 -3
- package/build/cjs/modules/layoutUiRules/rulesUtils.js +3 -3
- package/build/cjs/modules/pivotTable/PivotTableEngine.js +9 -6
- package/build/es/__demo__/DimensionsPanel.stories.js +1 -0
- package/build/es/api/analytics/Analytics.js +7 -0
- package/build/es/api/analytics/AnalyticsBase.js +24 -6
- package/build/es/api/analytics/AnalyticsRequest.js +33 -10
- package/build/es/api/analytics/AnalyticsRequestBase.js +3 -1
- package/build/es/api/analytics/AnalyticsRequestPropertiesMixin.js +19 -0
- package/build/es/api/analytics/AnalyticsTrackedEntities.js +24 -0
- package/build/es/api/analytics/utils.js +18 -1
- package/build/es/assets/DynamicDimensionIcon.js +12 -38
- package/build/es/components/AboutAOUnit/AboutAOUnit.js +1 -0
- package/build/es/components/AboutAOUnit/styles/AboutAOUnit.style.js +2 -2
- package/build/es/components/DataDimension/DataDimension.js +1 -1
- package/build/es/components/DataDimension/DataTypeSelector.js +18 -6
- package/build/es/components/DataDimension/ItemSelector.js +5 -5
- package/build/es/components/DimensionsPanel/List/DimensionItem.js +50 -34
- package/build/es/components/DimensionsPanel/List/OptionsButton.js +7 -6
- package/build/es/components/DimensionsPanel/List/RecommendedIcon.js +1 -2
- package/build/es/components/DimensionsPanel/List/__tests__/__snapshots__/DimensionItem.spec.js.snap +239 -361
- package/build/es/components/DimensionsPanel/List/styles/DimensionItem.style.js +4 -66
- package/build/es/components/DimensionsPanel/List/styles/DimensionList.style.js +2 -2
- package/build/es/components/DimensionsPanel/List/styles/RecommendedIcon.style.js +4 -4
- package/build/es/components/DimensionsPanel/styles/DimensionsPanel.style.js +1 -1
- package/build/es/components/Interpretations/InterpretationModal/InterpretationModal.js +8 -4
- package/build/es/components/OrgUnitDimension/OrgUnitDimension.js +5 -3
- package/build/es/components/PeriodDimension/PeriodTransfer.js +17 -13
- package/build/es/components/PivotTable/styles/PivotTable.style.js +2 -2
- package/build/es/locales/cs/translations.json +7 -2
- package/build/es/locales/es/translations.json +7 -2
- package/build/es/locales/index.js +4 -0
- package/build/es/locales/lo/translations.json +258 -253
- package/build/es/locales/nb/translations.json +8 -3
- package/build/es/locales/ne/translations.json +390 -0
- package/build/es/locales/sv/translations.json +10 -5
- package/build/es/locales/th/translations.json +384 -0
- package/build/es/locales/vi/translations.json +9 -4
- package/build/es/locales/zh/translations.json +7 -2
- package/build/es/modules/layout/axisGetDimensionIds.js +1 -1
- package/build/es/modules/layout/dimension.js +7 -1
- package/build/es/modules/layout/dimensionCreate.js +4 -1
- package/build/es/modules/layout/dimensionGetId.js +10 -4
- package/build/es/modules/layout/layoutFilterDimensions.js +1 -1
- package/build/es/modules/layout/layoutGetAxisIdDimensionIdsObject.js +1 -1
- package/build/es/modules/layout/layoutGetDimensionIdItemIdsObject.js +1 -1
- package/build/es/modules/layout/layoutHasDynamicDimension.js +1 -1
- package/build/es/modules/layoutUiRules/__tests__/rules.spec.js +4 -3
- package/build/es/modules/layoutUiRules/index.js +1 -1
- package/build/es/modules/layoutUiRules/rules.js +4 -4
- package/build/es/modules/layoutUiRules/rulesHelper.js +2 -2
- package/build/es/modules/layoutUiRules/rulesUtils.js +4 -4
- package/build/es/modules/pivotTable/PivotTableEngine.js +9 -6
- package/package.json +2 -2
- package/build/cjs/api/analytics/__tests__/AnalyticsTrackedEntities.spec.js +0 -44
- package/build/cjs/api/analytics/__tests__/__snapshots__/AnalyticsTrackedEntities.spec.js.snap +0 -3
- package/build/cjs/components/RichText/Editor.bk/Editor.js +0 -40
- package/build/cjs/components/RichText/Editor.bk/__tests__/Editor.spec.js +0 -29
- package/build/cjs/components/RichText/Editor.bk/__tests__/convertCtrlKey.spec.js +0 -205
- package/build/cjs/components/RichText/Editor.bk/convertCtrlKey.js +0 -87
- package/build/cjs/components/RichText/Parser.bk/MdParser.js +0 -107
- package/build/cjs/components/RichText/Parser.bk/Parser.js +0 -34
- package/build/cjs/components/RichText/Parser.bk/__tests__/MdParser.spec.js +0 -34
- package/build/cjs/components/RichText/Parser.bk/__tests__/Parser.spec.js +0 -41
- package/build/es/api/analytics/__tests__/AnalyticsTrackedEntities.spec.js +0 -41
- package/build/es/api/analytics/__tests__/__snapshots__/AnalyticsTrackedEntities.spec.js.snap +0 -3
- package/build/es/components/RichText/Editor.bk/Editor.js +0 -30
- package/build/es/components/RichText/Editor.bk/__tests__/Editor.spec.js +0 -26
- package/build/es/components/RichText/Editor.bk/__tests__/convertCtrlKey.spec.js +0 -202
- package/build/es/components/RichText/Editor.bk/convertCtrlKey.js +0 -80
- package/build/es/components/RichText/Parser.bk/MdParser.js +0 -99
- package/build/es/components/RichText/Parser.bk/Parser.js +0 -24
- package/build/es/components/RichText/Parser.bk/__tests__/MdParser.spec.js +0 -31
- package/build/es/components/RichText/Parser.bk/__tests__/Parser.spec.js +0 -38
|
@@ -65,6 +65,7 @@ const onDimensionClick = () => alert('click');
|
|
|
65
65
|
return /*#__PURE__*/_react2.default.createElement(_DimensionsPanel.default, {
|
|
66
66
|
dimensions: [...fixedDimensions, ...dynamicDimensions],
|
|
67
67
|
onDimensionClick: onDimensionClick,
|
|
68
|
+
selectedIds: [_predefinedDimensions.DIMENSION_ID_DATA],
|
|
68
69
|
lockedDimension: dimension => dimension === _predefinedDimensions.DIMENSION_ID_DATA
|
|
69
70
|
});
|
|
70
71
|
});
|
|
@@ -9,6 +9,7 @@ var _AnalyticsEnrollments = _interopRequireDefault(require("./AnalyticsEnrollmen
|
|
|
9
9
|
var _AnalyticsEvents = _interopRequireDefault(require("./AnalyticsEvents.js"));
|
|
10
10
|
var _AnalyticsRequest = _interopRequireDefault(require("./AnalyticsRequest.js"));
|
|
11
11
|
var _AnalyticsResponse = _interopRequireDefault(require("./AnalyticsResponse.js"));
|
|
12
|
+
var _AnalyticsTrackedEntities = _interopRequireDefault(require("./AnalyticsTrackedEntities.js"));
|
|
12
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
14
|
/**
|
|
14
15
|
* @module analytics
|
|
@@ -19,6 +20,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
19
20
|
* Analytics class used to request analytics data from Web API.
|
|
20
21
|
*
|
|
21
22
|
* @requires analytics.AnalyticsAggregate
|
|
23
|
+
* @requires analytics.AnalyticsTrackedEntities
|
|
24
|
+
* @requires analytics.AnalyticsEnrollments
|
|
22
25
|
* @requires analytics.AnalyticsEvents
|
|
23
26
|
* @requires analytics.AnalyticsRequest
|
|
24
27
|
* @requires analytics.AnalyticsResponse
|
|
@@ -38,6 +41,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
38
41
|
class Analytics {
|
|
39
42
|
/**
|
|
40
43
|
* @param {!module:analytics.AnalyticsAggregate} analyticsAggregate The AnalyticsAggregate instance
|
|
44
|
+
* @param {!module:analytics.AnalyticsTrackedEntities} analyticsTrackedEntities The AnalyticsTrackedEntities instance
|
|
41
45
|
* @param {!module:analytics.AnalyticsEnrollments} analyticsEnrollments The AnalyticsEnrollments instance
|
|
42
46
|
* @param {!module:analytics.AnalyticsEvents} analyticsEvents The AnalyticsEvents instance
|
|
43
47
|
* @param {!module:analytics.AnalyticsRequest} analyticsRequest The AnalyticsRequest class
|
|
@@ -46,12 +50,14 @@ class Analytics {
|
|
|
46
50
|
constructor(_ref) {
|
|
47
51
|
let {
|
|
48
52
|
aggregate,
|
|
53
|
+
trackedEntities,
|
|
49
54
|
enrollments,
|
|
50
55
|
events,
|
|
51
56
|
request,
|
|
52
57
|
response
|
|
53
58
|
} = _ref;
|
|
54
59
|
this.aggregate = aggregate;
|
|
60
|
+
this.trackedEntities = trackedEntities;
|
|
55
61
|
this.enrollments = enrollments;
|
|
56
62
|
this.events = events;
|
|
57
63
|
this.request = request;
|
|
@@ -74,6 +80,7 @@ class Analytics {
|
|
|
74
80
|
if (!Analytics.getAnalytics.analytics) {
|
|
75
81
|
Analytics.getAnalytics.analytics = new Analytics({
|
|
76
82
|
aggregate: new _AnalyticsAggregate.default(dataEngine),
|
|
83
|
+
trackedEntities: new _AnalyticsTrackedEntities.default(dataEngine),
|
|
77
84
|
enrollments: new _AnalyticsEnrollments.default(dataEngine),
|
|
78
85
|
events: new _AnalyticsEvents.default(dataEngine),
|
|
79
86
|
request: _AnalyticsRequest.default,
|
|
@@ -6,15 +6,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.generateDimensionStrings = exports.default = void 0;
|
|
7
7
|
var _sortBy = _interopRequireDefault(require("lodash/sortBy"));
|
|
8
8
|
var _AnalyticsRequest = _interopRequireDefault(require("./AnalyticsRequest.js"));
|
|
9
|
+
var _utils = require("./utils.js");
|
|
9
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
11
|
const analyticsQuery = {
|
|
11
12
|
resource: 'analytics',
|
|
12
13
|
id: _ref => {
|
|
13
14
|
let {
|
|
14
15
|
path,
|
|
15
|
-
program
|
|
16
|
+
program,
|
|
17
|
+
trackedEntityType
|
|
16
18
|
} = _ref;
|
|
17
|
-
return
|
|
19
|
+
return (0, _utils.formatRequestPath)({
|
|
20
|
+
path,
|
|
21
|
+
program,
|
|
22
|
+
trackedEntityType
|
|
23
|
+
});
|
|
18
24
|
},
|
|
19
25
|
params: _ref2 => {
|
|
20
26
|
let {
|
|
@@ -34,9 +40,14 @@ const analyticsDataQuery = {
|
|
|
34
40
|
id: _ref3 => {
|
|
35
41
|
let {
|
|
36
42
|
path,
|
|
37
|
-
program
|
|
43
|
+
program,
|
|
44
|
+
trackedEntityType
|
|
38
45
|
} = _ref3;
|
|
39
|
-
return
|
|
46
|
+
return (0, _utils.formatRequestPath)({
|
|
47
|
+
path,
|
|
48
|
+
program,
|
|
49
|
+
trackedEntityType
|
|
50
|
+
});
|
|
40
51
|
},
|
|
41
52
|
params: _ref4 => {
|
|
42
53
|
let {
|
|
@@ -58,9 +69,14 @@ const analyticsMetaDataQuery = {
|
|
|
58
69
|
id: _ref5 => {
|
|
59
70
|
let {
|
|
60
71
|
path,
|
|
61
|
-
program
|
|
72
|
+
program,
|
|
73
|
+
trackedEntityType
|
|
62
74
|
} = _ref5;
|
|
63
|
-
return
|
|
75
|
+
return (0, _utils.formatRequestPath)({
|
|
76
|
+
path,
|
|
77
|
+
program,
|
|
78
|
+
trackedEntityType
|
|
79
|
+
});
|
|
64
80
|
},
|
|
65
81
|
params: _ref6 => {
|
|
66
82
|
let {
|
|
@@ -153,6 +169,7 @@ class AnalyticsBase {
|
|
|
153
169
|
variables: {
|
|
154
170
|
path: req.path,
|
|
155
171
|
program: req.program,
|
|
172
|
+
trackedEntityType: req.trackedEntityType,
|
|
156
173
|
dimensions: generateDimensionStrings(req.dimensions),
|
|
157
174
|
filters: generateDimensionStrings(req.filters),
|
|
158
175
|
parameters: req.parameters,
|
|
@@ -195,6 +212,7 @@ class AnalyticsBase {
|
|
|
195
212
|
variables: {
|
|
196
213
|
path: req.path,
|
|
197
214
|
program: req.program,
|
|
215
|
+
trackedEntityType: req.trackedEntityType,
|
|
198
216
|
dimensions: generateDimensionStrings(req.dimensions, options),
|
|
199
217
|
filters: generateDimensionStrings(req.filters, options),
|
|
200
218
|
parameters: req.parameters
|
|
@@ -10,6 +10,7 @@ var _AnalyticsRequestBase = _interopRequireDefault(require("./AnalyticsRequestBa
|
|
|
10
10
|
var _AnalyticsRequestDimensionsMixin = _interopRequireDefault(require("./AnalyticsRequestDimensionsMixin.js"));
|
|
11
11
|
var _AnalyticsRequestFiltersMixin = _interopRequireDefault(require("./AnalyticsRequestFiltersMixin.js"));
|
|
12
12
|
var _AnalyticsRequestPropertiesMixin = _interopRequireDefault(require("./AnalyticsRequestPropertiesMixin.js"));
|
|
13
|
+
var _utils = require("./utils.js");
|
|
13
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
15
|
/**
|
|
15
16
|
* @description
|
|
@@ -47,6 +48,7 @@ class AnalyticsRequest extends (0, _AnalyticsRequestDimensionsMixin.default)((0,
|
|
|
47
48
|
fromVisualization(visualization) {
|
|
48
49
|
let passFilterAsDimension = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
49
50
|
let request = this;
|
|
51
|
+
const outputType = visualization.outputType;
|
|
50
52
|
|
|
51
53
|
// extract dimensions from visualization
|
|
52
54
|
const columns = visualization.columns || [];
|
|
@@ -57,19 +59,28 @@ class AnalyticsRequest extends (0, _AnalyticsRequestDimensionsMixin.default)((0,
|
|
|
57
59
|
if ((_d$legendSet = d.legendSet) !== null && _d$legendSet !== void 0 && _d$legendSet.id) {
|
|
58
60
|
dimension += `-${d.legendSet.id}`;
|
|
59
61
|
}
|
|
60
|
-
if ((_d$programStage = d.programStage) !== null && _d$programStage !== void 0 && _d$programStage.id) {
|
|
61
|
-
dimension = `${d.programStage.id}.${dimension}`;
|
|
62
|
-
}
|
|
63
62
|
if (d.filter) {
|
|
64
63
|
dimension += `:${d.filter}`;
|
|
65
64
|
}
|
|
65
|
+
const programStageId = (_d$programStage = d.programStage) === null || _d$programStage === void 0 ? void 0 : _d$programStage.id;
|
|
66
66
|
if ((_d$repetition = d.repetition) !== null && _d$repetition !== void 0 && (_d$repetition$indexes = _d$repetition.indexes) !== null && _d$repetition$indexes !== void 0 && _d$repetition$indexes.length) {
|
|
67
67
|
d.repetition.indexes.forEach(index => {
|
|
68
|
-
|
|
68
|
+
var _d$program;
|
|
69
|
+
request = request.addDimension((0, _utils.formatDimension)({
|
|
70
|
+
programId: (_d$program = d.program) === null || _d$program === void 0 ? void 0 : _d$program.id,
|
|
71
|
+
programStageId: `${programStageId}[${index}]`,
|
|
72
|
+
dimension,
|
|
73
|
+
outputType
|
|
74
|
+
}));
|
|
69
75
|
});
|
|
70
76
|
} else {
|
|
71
|
-
var _d$items;
|
|
72
|
-
request = request.addDimension(
|
|
77
|
+
var _d$program2, _d$items;
|
|
78
|
+
request = request.addDimension((0, _utils.formatDimension)({
|
|
79
|
+
programId: (_d$program2 = d.program) === null || _d$program2 === void 0 ? void 0 : _d$program2.id,
|
|
80
|
+
programStageId,
|
|
81
|
+
dimension,
|
|
82
|
+
outputType
|
|
83
|
+
}), (_d$items = d.items) === null || _d$items === void 0 ? void 0 : _d$items.map(item => item.id));
|
|
73
84
|
}
|
|
74
85
|
});
|
|
75
86
|
|
|
@@ -84,17 +95,29 @@ class AnalyticsRequest extends (0, _AnalyticsRequestDimensionsMixin.default)((0,
|
|
|
84
95
|
request = request.addDimension(f.dimension, (_f$items = f.items) === null || _f$items === void 0 ? void 0 : _f$items.map(item => item.id));
|
|
85
96
|
} else {
|
|
86
97
|
var _f$programStage, _f$repetition, _f$repetition$indexes;
|
|
87
|
-
let filterString =
|
|
98
|
+
let filterString = f.dimension;
|
|
88
99
|
if (f.filter) {
|
|
89
100
|
filterString += `:${f.filter}`;
|
|
90
101
|
}
|
|
102
|
+
const programStageId = (_f$programStage = f.programStage) === null || _f$programStage === void 0 ? void 0 : _f$programStage.id;
|
|
91
103
|
if ((_f$repetition = f.repetition) !== null && _f$repetition !== void 0 && (_f$repetition$indexes = _f$repetition.indexes) !== null && _f$repetition$indexes !== void 0 && _f$repetition$indexes.length) {
|
|
92
104
|
f.repetition.indexes.forEach(index => {
|
|
93
|
-
|
|
105
|
+
var _f$program;
|
|
106
|
+
request = request.addFilter((0, _utils.formatDimension)({
|
|
107
|
+
programId: (_f$program = f.program) === null || _f$program === void 0 ? void 0 : _f$program.id,
|
|
108
|
+
programStageId: `${programStageId}[${index}]`,
|
|
109
|
+
dimension: filterString,
|
|
110
|
+
outputType
|
|
111
|
+
}));
|
|
94
112
|
});
|
|
95
113
|
} else {
|
|
96
|
-
var _f$items2;
|
|
97
|
-
request = request.addFilter(
|
|
114
|
+
var _f$program2, _f$items2;
|
|
115
|
+
request = request.addFilter((0, _utils.formatDimension)({
|
|
116
|
+
programId: (_f$program2 = f.program) === null || _f$program2 === void 0 ? void 0 : _f$program2.id,
|
|
117
|
+
programStageId,
|
|
118
|
+
dimension: filterString,
|
|
119
|
+
outputType
|
|
120
|
+
}), (_f$items2 = f.items) === null || _f$items2 === void 0 ? void 0 : _f$items2.map(item => item.id));
|
|
98
121
|
}
|
|
99
122
|
}
|
|
100
123
|
});
|
|
@@ -24,6 +24,7 @@ class AnalyticsRequestBase {
|
|
|
24
24
|
format = 'json',
|
|
25
25
|
path,
|
|
26
26
|
program,
|
|
27
|
+
trackedEntityType,
|
|
27
28
|
dimensions = [],
|
|
28
29
|
filters = [],
|
|
29
30
|
parameters = {}
|
|
@@ -32,6 +33,7 @@ class AnalyticsRequestBase {
|
|
|
32
33
|
this.format = format.toLowerCase();
|
|
33
34
|
this.path = path;
|
|
34
35
|
this.program = program;
|
|
36
|
+
this.trackedEntityType = trackedEntityType;
|
|
35
37
|
this.dimensions = dimensions;
|
|
36
38
|
this.filters = filters;
|
|
37
39
|
this.parameters = {
|
|
@@ -70,7 +72,7 @@ class AnalyticsRequestBase {
|
|
|
70
72
|
}
|
|
71
73
|
return dimension;
|
|
72
74
|
});
|
|
73
|
-
const endPoint = [this.endPoint, this.path, this.program].filter(
|
|
75
|
+
const endPoint = [this.endPoint, this.path, this.program, this.trackedEntityType].filter(Boolean).join('/');
|
|
74
76
|
let url = `${endPoint}.${this.format}`;
|
|
75
77
|
if (encodedDimensions.length) {
|
|
76
78
|
url += `?dimension=${encodedDimensions.join('&dimension=')}`;
|
|
@@ -497,6 +497,25 @@ class extends base {
|
|
|
497
497
|
return new _AnalyticsRequest.default(this);
|
|
498
498
|
}
|
|
499
499
|
|
|
500
|
+
/**
|
|
501
|
+
* Sets the tracked entity type for the request.
|
|
502
|
+
* It appends the tracked entity type id to the request's path.
|
|
503
|
+
*
|
|
504
|
+
* @param {!String} trackedEntityType The tracked entity type id
|
|
505
|
+
*
|
|
506
|
+
* @returns {AnalyticsRequest} A new instance of the class for chaining purposes
|
|
507
|
+
*
|
|
508
|
+
* @example
|
|
509
|
+
* const req = new analytics.request()
|
|
510
|
+
* .withTrackedEntityType('nEenWmSyUEp');
|
|
511
|
+
*/
|
|
512
|
+
withTrackedEntityType(trackedEntityType) {
|
|
513
|
+
if (trackedEntityType) {
|
|
514
|
+
this.trackedEntityType = trackedEntityType;
|
|
515
|
+
}
|
|
516
|
+
return new _AnalyticsRequest.default(this);
|
|
517
|
+
}
|
|
518
|
+
|
|
500
519
|
/**
|
|
501
520
|
* Sets the program for the request.
|
|
502
521
|
* It appends the program id to the request's path.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _AnalyticsBase = _interopRequireDefault(require("./AnalyticsBase.js"));
|
|
8
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
+
/**
|
|
10
|
+
* @extends module:analytics.AnalyticsBase
|
|
11
|
+
*
|
|
12
|
+
* @description
|
|
13
|
+
* Analytics tracked entities class used to request analytics tracked entities data from Web API.
|
|
14
|
+
*
|
|
15
|
+
* @memberof module:analytics
|
|
16
|
+
*/
|
|
17
|
+
class AnalyticsTrackedEntities extends _AnalyticsBase.default {
|
|
18
|
+
/**
|
|
19
|
+
* @param {!AnalyticsRequest} req Request object
|
|
20
|
+
*
|
|
21
|
+
* @returns {Promise} Promise that resolves with the analytics query data from the api.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
// TODO: provide working example
|
|
25
|
+
*/
|
|
26
|
+
getQuery(req) {
|
|
27
|
+
return this.fetch(req.withPath('trackedEntities/query'));
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
var _default = AnalyticsTrackedEntities;
|
|
31
|
+
exports.default = _default;
|
|
@@ -3,10 +3,29 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.customEncodeURIComponent = void 0;
|
|
6
|
+
exports.formatRequestPath = exports.formatDimension = exports.customEncodeURIComponent = void 0;
|
|
7
7
|
// Define our very own special list of characters that we don't want to encode in the URI
|
|
8
8
|
const whitelistURI = ',&$=/;:';
|
|
9
9
|
const whitelistURICodes = whitelistURI.split('').map(c => encodeURIComponent(c));
|
|
10
10
|
const whitelistRegExp = new RegExp(`(?:${whitelistURICodes.join('|')})`, 'g');
|
|
11
11
|
const customEncodeURIComponent = uri => encodeURIComponent(uri).replace(whitelistRegExp, decodeURIComponent);
|
|
12
|
-
exports.customEncodeURIComponent = customEncodeURIComponent;
|
|
12
|
+
exports.customEncodeURIComponent = customEncodeURIComponent;
|
|
13
|
+
const formatRequestPath = _ref => {
|
|
14
|
+
let {
|
|
15
|
+
path,
|
|
16
|
+
program,
|
|
17
|
+
trackedEntityType
|
|
18
|
+
} = _ref;
|
|
19
|
+
return [path, program, trackedEntityType].filter(Boolean).join('/');
|
|
20
|
+
};
|
|
21
|
+
exports.formatRequestPath = formatRequestPath;
|
|
22
|
+
const formatDimension = _ref2 => {
|
|
23
|
+
let {
|
|
24
|
+
outputType,
|
|
25
|
+
programId,
|
|
26
|
+
programStageId,
|
|
27
|
+
dimension
|
|
28
|
+
} = _ref2;
|
|
29
|
+
return [outputType === 'TRACKED_ENTITY_INSTANCE' ? programId : undefined, programStageId, dimension].filter(Boolean).join('.');
|
|
30
|
+
};
|
|
31
|
+
exports.formatDimension = formatDimension;
|
|
@@ -8,48 +8,22 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
8
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
9
|
const DynamicDimensionIcon = () => {
|
|
10
10
|
return /*#__PURE__*/_react.default.createElement("svg", {
|
|
11
|
-
width: "16px",
|
|
12
|
-
height: "16px",
|
|
13
|
-
viewBox: "0 0 16 16",
|
|
14
|
-
version: "1.1",
|
|
15
|
-
xmlns: "http://www.w3.org/2000/svg"
|
|
16
|
-
}, /*#__PURE__*/_react.default.createElement("g", {
|
|
17
|
-
id: "Exp",
|
|
18
|
-
stroke: "none",
|
|
19
|
-
strokeWidth: "1",
|
|
20
|
-
fill: "none",
|
|
21
|
-
fillRule: "evenodd"
|
|
22
|
-
}, /*#__PURE__*/_react.default.createElement("g", {
|
|
23
|
-
id: "Artboard",
|
|
24
|
-
transform: "translate(-80.000000, -9.000000)"
|
|
25
|
-
}, /*#__PURE__*/_react.default.createElement("g", {
|
|
26
|
-
id: "icon_dimension_new",
|
|
27
|
-
transform: "translate(80.000000, 9.000000)"
|
|
28
|
-
}, /*#__PURE__*/_react.default.createElement("rect", {
|
|
29
|
-
id: "frame",
|
|
30
|
-
x: "0",
|
|
31
|
-
y: "0",
|
|
32
11
|
width: "16",
|
|
33
|
-
height: "16"
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
12
|
+
height: "16",
|
|
13
|
+
fill: "none",
|
|
14
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
15
|
+
}, /*#__PURE__*/_react.default.createElement("path", {
|
|
16
|
+
clipRule: "evenodd",
|
|
17
|
+
d: "m4.832 5.674 2.831-1.11a.913.913 0 0 1 .673 0l2.83 1.11a.548.548 0 0 1 .334.517V9.81a.548.548 0 0 1-.332.517l-2.831 1.11a.92.92 0 0 1-.673 0l-2.83-1.11a.548.548 0 0 1-.334-.517V6.19a.548.548 0 0 1 .332-.517Z",
|
|
18
|
+
stroke: "#212934",
|
|
38
19
|
strokeLinecap: "round",
|
|
39
20
|
strokeLinejoin: "round"
|
|
40
|
-
}, /*#__PURE__*/_react.default.createElement("path", {
|
|
41
|
-
d: "M0.33209728,1.1742111 L3.16308174,0.0641666694 C3.37911767,-0.0213888898 3.61963794,-0.0213888898 3.83567387,0.0641666694 L6.66665833,1.1742111 C6.87300668,1.26220739 7.00497003,1.467 6.99984343,1.69127776 L6.99984343,5.30887771 C7.00517859,5.53285411 6.87376309,5.73756106 6.66790272,5.82594437 L3.83691826,6.93629991 C3.62076407,7.02123336 3.38048032,7.02123336 3.16432613,6.93629991 L0.333341668,5.82594437 C0.126993317,5.73794808 -0.00497002591,5.53315547 0.000156574133,5.30887771 L0.000156574133,1.69127776 C-0.00517858533,1.46730136 0.126236906,1.26259441 0.33209728,1.1742111 Z",
|
|
42
|
-
id: "Shape"
|
|
43
|
-
}), /*#__PURE__*/_react.default.createElement("path", {
|
|
44
|
-
d: "M3.5,2.72795833 L0.322,1.48195833",
|
|
45
|
-
id: "Shape"
|
|
46
|
-
}), /*#__PURE__*/_react.default.createElement("path", {
|
|
47
|
-
d: "M3.5,2.72795833 L6.678,1.48195833",
|
|
48
|
-
id: "Shape"
|
|
49
21
|
}), /*#__PURE__*/_react.default.createElement("path", {
|
|
50
|
-
d: "
|
|
51
|
-
|
|
52
|
-
|
|
22
|
+
d: "M8 7.228 4.822 5.982M8 7.228l3.178-1.246M8 11.281V7.228",
|
|
23
|
+
stroke: "#212934",
|
|
24
|
+
strokeLinecap: "round",
|
|
25
|
+
strokeLinejoin: "round"
|
|
26
|
+
}));
|
|
53
27
|
};
|
|
54
28
|
var _default = DynamicDimensionIcon;
|
|
55
29
|
exports.default = _default;
|
|
@@ -156,6 +156,7 @@ const AboutAOUnit = /*#__PURE__*/(0, _react.forwardRef)((_ref3, ref) => {
|
|
|
156
156
|
className: `jsx-${_AboutAOUnitStyle.default.__hash}` + " " + "content"
|
|
157
157
|
}, /*#__PURE__*/_react.default.createElement("p", {
|
|
158
158
|
className: `jsx-${_AboutAOUnitStyle.default.__hash}` + " " + ((0, _classnames.default)('detailLine', {
|
|
159
|
+
description: true,
|
|
159
160
|
noDescription: !data.ao.displayDescription
|
|
160
161
|
}) || "")
|
|
161
162
|
}, data.ao.displayDescription ? /*#__PURE__*/_react.default.createElement(_d2UiRichText.Parser, null, data.ao.displayDescription) : _d2I18n.default.t('No description')), /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _ui = require("@dhis2/ui");
|
|
8
|
-
const _defaultExport = [`.container.jsx-
|
|
9
|
-
_defaultExport.__hash = "
|
|
8
|
+
const _defaultExport = [`.container.jsx-3095370592{position:relative;padding:${_ui.spacers.dp16};border-bottom:1px solid ${_ui.colors.grey400};background-color:${_ui.colors.white};}`, `.expanded.jsx-3095370592{padding-bottom:${_ui.spacers.dp32};}`, ".loader.jsx-3095370592{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}", ".header.jsx-3095370592{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;cursor:pointer;}", `.title.jsx-3095370592{font-size:16px;font-weight:500;line-height:21px;color:${_ui.colors.grey900};}`, `.content.jsx-3095370592{font-size:14px;line-height:18px;color:${_ui.colors.grey900};}`, `.detailLine.jsx-3095370592{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:0;padding:${_ui.spacers.dp12} 0 0 0;gap:${_ui.spacers.dp8};}`, ".detailLine.jsx-3095370592 svg.jsx-3095370592{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}", ".description.jsx-3095370592{white-space:pre-line;}", `.noDescription.jsx-3095370592{color:${_ui.colors.grey600};}`, `.subsection.jsx-3095370592{margin-top:${_ui.spacers.dp24};}`, `.subsectionTitle.jsx-3095370592{color:${_ui.colors.grey700};font-weight:500;}`, `.subscriptionLabel.jsx-3095370592{margin:${_ui.spacers.dp12} 0 ${_ui.spacers.dp8} 0;}`, `.subsection.jsx-3095370592 button.jsx-3095370592{margin-top:${_ui.spacers.dp8};}`];
|
|
9
|
+
_defaultExport.__hash = "3095370592";
|
|
10
10
|
var _default = _defaultExport;
|
|
11
11
|
exports.default = _default;
|
|
@@ -33,7 +33,7 @@ const DataDimension = _ref => {
|
|
|
33
33
|
} = _ref2;
|
|
34
34
|
return (
|
|
35
35
|
// Calculations only available from 2.40
|
|
36
|
-
id
|
|
36
|
+
id !== _dataTypes.DIMENSION_TYPE_EXPRESSION_DIMENSION_ITEM || serverVersion.minor >= 40
|
|
37
37
|
);
|
|
38
38
|
}), [serverVersion.minor]);
|
|
39
39
|
const [dataTypes, setDataTypes] = (0, _react.useState)(filterDataTypesByVersion(enabledDataTypes || Object.values(_dataTypes.dataTypeMap)));
|
|
@@ -24,20 +24,32 @@ const DataTypeSelector = _ref => {
|
|
|
24
24
|
const {
|
|
25
25
|
visType
|
|
26
26
|
} = (0, _DataDimension.useDataDimensionContext)();
|
|
27
|
+
const label = _index.default.t('Data Type');
|
|
27
28
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
28
29
|
className: `jsx-${_DataTypeSelectorStyle.default.__hash}` + " " + "container"
|
|
29
|
-
}, /*#__PURE__*/_react.default.createElement(_ui.SingleSelectField, {
|
|
30
|
-
label:
|
|
30
|
+
}, dataTypes.length === 1 ? /*#__PURE__*/_react.default.createElement(_ui.SingleSelectField, {
|
|
31
|
+
label: label,
|
|
31
32
|
dataTest: dataTest,
|
|
32
|
-
selected:
|
|
33
|
+
selected: dataTypes[0].id,
|
|
33
34
|
onChange: ref => onChange(ref.selected),
|
|
34
35
|
dense: true,
|
|
35
|
-
disabled:
|
|
36
|
-
helpText:
|
|
36
|
+
disabled: true,
|
|
37
|
+
helpText: visType ? _index.default.t('Only {{dataType}} can be used in {{visType}}', {
|
|
37
38
|
dataType: _dataTypes.dataTypeMap[dataTypes[0].id].getName(),
|
|
38
39
|
visType: (0, _visTypes.getDisplayNameByVisType)(visType)
|
|
39
40
|
}) : ''
|
|
40
|
-
}, dataTypes.
|
|
41
|
+
}, dataTypes.map(type => /*#__PURE__*/_react.default.createElement(_ui.SingleSelectOption, {
|
|
42
|
+
value: type.id,
|
|
43
|
+
key: type.id,
|
|
44
|
+
label: type.getName(),
|
|
45
|
+
dataTest: `${dataTest}-option-${type.id}`
|
|
46
|
+
}))) : /*#__PURE__*/_react.default.createElement(_ui.SingleSelectField, {
|
|
47
|
+
label: label,
|
|
48
|
+
dataTest: dataTest,
|
|
49
|
+
selected: currentDataType || _dataTypes.DIMENSION_TYPE_ALL,
|
|
50
|
+
onChange: ref => onChange(ref.selected),
|
|
51
|
+
dense: true
|
|
52
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.SingleSelectOption, {
|
|
41
53
|
value: _dataTypes.DIMENSION_TYPE_ALL,
|
|
42
54
|
key: _dataTypes.DIMENSION_TYPE_ALL,
|
|
43
55
|
label: _index.default.t('All types'),
|
|
@@ -91,22 +91,22 @@ const EmptySelection = () => /*#__PURE__*/_react.default.createElement(_react.de
|
|
|
91
91
|
}, _DimensionSelectorStyle.default));
|
|
92
92
|
const RightHeader = _ref3 => {
|
|
93
93
|
let {
|
|
94
|
-
|
|
94
|
+
infoBoxMessage
|
|
95
95
|
} = _ref3;
|
|
96
96
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("p", {
|
|
97
97
|
className: `jsx-${_DimensionSelectorStyle.default.__hash}` + " " + "rightHeader"
|
|
98
|
-
}, _index.default.t('Selected Items')),
|
|
98
|
+
}, _index.default.t('Selected Items')), infoBoxMessage && /*#__PURE__*/_react.default.createElement("div", {
|
|
99
99
|
className: `jsx-${_DimensionSelectorStyle.default.__hash}` + " " + "info-container"
|
|
100
100
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
101
101
|
className: `jsx-${_DimensionSelectorStyle.default.__hash}`
|
|
102
102
|
}, /*#__PURE__*/_react.default.createElement(_ui.IconInfo16, null)), /*#__PURE__*/_react.default.createElement("span", {
|
|
103
103
|
className: `jsx-${_DimensionSelectorStyle.default.__hash}` + " " + "info-text"
|
|
104
|
-
},
|
|
104
|
+
}, infoBoxMessage)), /*#__PURE__*/_react.default.createElement(_style.default, {
|
|
105
105
|
id: _DimensionSelectorStyle.default.__hash
|
|
106
106
|
}, _DimensionSelectorStyle.default));
|
|
107
107
|
};
|
|
108
108
|
RightHeader.propTypes = {
|
|
109
|
-
|
|
109
|
+
infoBoxMessage: _propTypes.default.string
|
|
110
110
|
};
|
|
111
111
|
const SourceEmptyPlaceholder = _ref4 => {
|
|
112
112
|
let {
|
|
@@ -446,7 +446,7 @@ const ItemSelector = _ref5 => {
|
|
|
446
446
|
selectedWidth: _dimensionSelectorHelper.TRANSFER_SELECTED_WIDTH,
|
|
447
447
|
selectedEmptyComponent: /*#__PURE__*/_react.default.createElement(EmptySelection, null),
|
|
448
448
|
rightHeader: /*#__PURE__*/_react.default.createElement(RightHeader, {
|
|
449
|
-
|
|
449
|
+
infoBoxMessage: infoBoxMessage
|
|
450
450
|
}),
|
|
451
451
|
rightFooter: rightFooter,
|
|
452
452
|
renderOption: props => {
|