@hisptz/dhis2-analytics 1.0.44 → 1.0.45

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.
Files changed (35) hide show
  1. package/build/cjs/components/CircularProgressDashboard/index.js +15 -0
  2. package/build/cjs/components/Map/components/MapLayer/components/GoogleEngineLayer/services/api.js +3 -2
  3. package/build/cjs/components/SingleValueContainer/index.js +16 -0
  4. package/build/es/components/CircularProgressDashboard/index.js +1 -0
  5. package/build/es/components/Map/components/MapLayer/components/GoogleEngineLayer/services/api.js +2 -1
  6. package/build/es/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.js +1 -1
  7. package/build/es/components/SingleValueContainer/index.js +1 -0
  8. package/build/types/components/CircularProgressDashboard/index.d.ts +1 -0
  9. package/build/types/components/SingleValueContainer/index.d.ts +1 -0
  10. package/package.json +12 -8
  11. package/build/cjs/components/ChartAnalytics/ChartAnalytics.stories.js +0 -253
  12. package/build/cjs/components/ChartAnalytics/data/column-data.json +0 -210
  13. package/build/cjs/components/ChartAnalytics/data/complex-multi-series-data.json +0 -124
  14. package/build/cjs/components/ChartAnalytics/data/multi-series-data.json +0 -536
  15. package/build/cjs/components/ChartAnalytics/data/pie-data.json +0 -115
  16. package/build/cjs/components/ChartAnalytics/data/stacked-chart-data.json +0 -415
  17. package/build/cjs/components/CircularProgressDashboard/CircularProgressIndicator.stories.js +0 -45
  18. package/build/cjs/components/CustomPivotTable/CustomPivotTable.stories.js +0 -69
  19. package/build/cjs/components/Map/Map.stories.js +0 -352
  20. package/build/cjs/components/SingleValueContainer/SingleValueContainer.stories.js +0 -127
  21. package/build/cjs/components/Visualization/Visualization.stories.js +0 -138
  22. package/build/cjs/dataProviders/map.js +0 -31
  23. package/build/es/components/ChartAnalytics/ChartAnalytics.stories.js +0 -235
  24. package/build/es/components/ChartAnalytics/data/column-data.json +0 -210
  25. package/build/es/components/ChartAnalytics/data/complex-multi-series-data.json +0 -124
  26. package/build/es/components/ChartAnalytics/data/multi-series-data.json +0 -536
  27. package/build/es/components/ChartAnalytics/data/pie-data.json +0 -115
  28. package/build/es/components/ChartAnalytics/data/stacked-chart-data.json +0 -415
  29. package/build/es/components/CircularProgressDashboard/CircularProgressIndicator.stories.js +0 -34
  30. package/build/es/components/CustomPivotTable/CustomPivotTable.stories.js +0 -59
  31. package/build/es/components/Map/Map.stories.js +0 -334
  32. package/build/es/components/SingleValueContainer/SingleValueContainer.stories.js +0 -115
  33. package/build/es/components/Visualization/Visualization.stories.js +0 -129
  34. package/build/es/dataProviders/map.js +0 -24
  35. package/build/types/components/Map/components/MapLayer/components/GoogleEngineLayer/services/api.d.ts +0 -1
@@ -11,8 +11,8 @@ import { find, head, isEmpty } from "lodash";
11
11
  // }
12
12
  // return await import("./api");
13
13
  // }
14
- //
15
14
  // const EE = await importEEModule();
15
+ //@ts-ignore
16
16
  import EE from "./api";
17
17
  // @ts-ignore
18
18
  const ee = EE;
@@ -4,6 +4,7 @@ import { CssReset } from "@dhis2/ui";
4
4
  import React, { Suspense } from "react";
5
5
  import SingleValueItem from "./components/SingleValueItem/SingleValueItem";
6
6
  import styles from "./styles/SingleValueContainer.module.css";
7
+ export * from "./types/props";
7
8
  export function SingleValueContainer(_ref) {
8
9
  let {
9
10
  title,
@@ -1,3 +1,4 @@
1
1
  import React from "react";
2
2
  import { CircularDashboardProps } from "./types/props";
3
+ export * from "./types/props";
3
4
  export declare function CircularProgressDashboard({ numerator, size, denominator, value, textStyle, strokeStyle }: CircularDashboardProps): React.ReactElement;
@@ -1,5 +1,6 @@
1
1
  import React from "react";
2
2
  import SingleValueItem from "./components/SingleValueItem/SingleValueItem";
3
3
  import { SingleValueContainerProps } from "./types/props";
4
+ export * from "./types/props";
4
5
  export declare function SingleValueContainer({ title, singleValueItems, animationDuration, animationDelay }: SingleValueContainerProps): React.ReactElement;
5
6
  export { SingleValueItem };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hisptz/dhis2-analytics",
3
- "version": "1.0.44",
3
+ "version": "1.0.45",
4
4
  "description": "A collection of reusable react components for visualizing analytics data from DHIS2",
5
5
  "license": "BSD-3-Clause",
6
6
  "scripts": {
@@ -17,6 +17,7 @@
17
17
  "@dhis2/cli-app-scripts": "^10.2.0",
18
18
  "@dhis2/cypress-commands": "^9.0.2",
19
19
  "@dhis2/cypress-plugins": "^9.0.2",
20
+ "@dhis2/ui": "^8.13.0",
20
21
  "@google/earthengine": "^0.1.336",
21
22
  "@types/d3-color": "^3.1.0",
22
23
  "@types/d3-scale": "^4.0.3",
@@ -25,14 +26,13 @@
25
26
  "@types/react-helmet": "^6.1.6",
26
27
  "cypress": "^12.3.0",
27
28
  "lodash": "^4.17.21",
28
- "react-hook-form": "^7.42.1",
29
+ "react-hook-form": "^7.43.9",
29
30
  "typescript": "^4.9.5"
30
31
  },
31
32
  "dependencies": {
32
- "@dhis2/analytics": "^24.4.2",
33
33
  "@dhis2/app-runtime": "^3.7.0",
34
- "@hisptz/dhis2-ui": "^1.0.42",
35
- "@hisptz/dhis2-utils": "^1.0.42",
34
+ "@hisptz/dhis2-ui": "^1.0.45",
35
+ "@hisptz/dhis2-utils": "*",
36
36
  "@react-leaflet/core": "^2.1.0",
37
37
  "async-es": "^3.2.4",
38
38
  "d3-color": "^3.1.0",
@@ -45,7 +45,6 @@
45
45
  "react-circular-progressbar": "^2.1.0",
46
46
  "react-error-boundary": "^4.0.4",
47
47
  "react-helmet": "^6.1.0",
48
- "react-hook-form": "^7.43.9",
49
48
  "react-leaflet": "^4.2.0",
50
49
  "react-leaflet-custom-control": "^1.3.1",
51
50
  "react-spring": "^9.6.1",
@@ -81,7 +80,12 @@
81
80
  "url": "https://github.com/hisptz/dhis2-utils/issues"
82
81
  },
83
82
  "peerDependencies": {
84
- "lodash": "^4"
83
+ "@dhis2/d2-i18n": "^1.1",
84
+ "@dhis2/ui": "^8.13",
85
+ "lodash": "^4",
86
+ "react": "*",
87
+ "react-hook-form": "^7.43",
88
+ "recoil": "*"
85
89
  },
86
- "gitHead": "6f9f77d73df7acac380db5ded5cac234494b21f3"
90
+ "gitHead": "ce705d2695763a9edc930f3fd1b444130661f51e"
87
91
  }
@@ -1,253 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = exports.StackedColumn = exports.PieChart = exports.MultipleLines = exports.MultipleColumns = exports.MultiSeries = exports.Line = exports.ComplexMultiSeries = exports.Column = void 0;
7
- var _ui = require("@dhis2/ui");
8
- var _highcharts = _interopRequireDefault(require("highcharts"));
9
- var _react = _interopRequireWildcard(require("react"));
10
- var _DownloadMenu = require("./components/DownloadMenu");
11
- var _columnData = _interopRequireDefault(require("./data/column-data.json"));
12
- var _complexMultiSeriesData = _interopRequireDefault(require("./data/complex-multi-series-data.json"));
13
- var _multiSeriesData = _interopRequireDefault(require("./data/multi-series-data.json"));
14
- var _pieData = _interopRequireDefault(require("./data/pie-data.json"));
15
- var _stackedChartData = _interopRequireDefault(require("./data/stacked-chart-data.json"));
16
- var _export = require("./services/export");
17
- var _ = require(".");
18
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
20
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
- const Template = args => /*#__PURE__*/_react.default.createElement(_.ChartAnalytics, args);
22
- (0, _export.setupHighchartsModules)(_highcharts.default);
23
- const Column = Template.bind({});
24
- exports.Column = Column;
25
- Column.args = {
26
- analytics: _columnData.default,
27
- config: {
28
- layout: {
29
- series: ["dx"],
30
- category: ["ou"],
31
- filter: ["pe"]
32
- },
33
- type: "column",
34
- height: 500,
35
- colors: ["#2f7ed8", "#0d233a", "#8bbc21", "#910000", "#1aadce", "#492970", "#f28f43", "#77a1e5", "#c42525", "#a6c96a"]
36
- }
37
- };
38
- const MultipleColumns = Template.bind({});
39
- exports.MultipleColumns = MultipleColumns;
40
- MultipleColumns.args = {
41
- analytics: _multiSeriesData.default,
42
- config: {
43
- layout: {
44
- series: ["ou"],
45
- category: ["pe"],
46
- filter: ["dx"]
47
- },
48
- type: "column",
49
- height: 1000,
50
- colors: ["#2f7ed8", "#0d233a", "#8bbc21", "#910000", "#1aadce", "#492970", "#f28f43", "#77a1e5", "#c42525", "#a6c96a"]
51
- }
52
- };
53
- const StackedColumn = Template.bind({});
54
- exports.StackedColumn = StackedColumn;
55
- StackedColumn.args = {
56
- analytics: _stackedChartData.default,
57
- config: {
58
- layout: {
59
- series: ["ou"],
60
- category: ["pe"],
61
- filter: ["dx"]
62
- },
63
- type: "stacked-column",
64
- height: 1000,
65
- colors: ["#2f7ed8", "#0d233a", "#8bbc21", "#910000", "#1aadce", "#492970", "#f28f43", "#77a1e5", "#c42525", "#a6c96a"]
66
- }
67
- };
68
- const Line = Template.bind({});
69
- exports.Line = Line;
70
- Line.args = {
71
- analytics: _columnData.default,
72
- config: {
73
- layout: {
74
- series: ["dx"],
75
- category: ["ou"],
76
- filter: ["pe"]
77
- },
78
- type: "line",
79
- height: 1000,
80
- colors: ["#2f7ed8", "#0d233a", "#8bbc21", "#910000", "#1aadce", "#492970", "#f28f43", "#77a1e5", "#c42525", "#a6c96a"]
81
- }
82
- };
83
- const MultipleLines = Template.bind({});
84
- exports.MultipleLines = MultipleLines;
85
- MultipleLines.args = {
86
- analytics: _multiSeriesData.default,
87
- config: {
88
- layout: {
89
- series: ["ou"],
90
- category: ["pe"],
91
- filter: ["dx"]
92
- },
93
- type: "line",
94
- height: 500,
95
- colors: ["#2f7ed8", "#0d233a", "#8bbc21", "#910000", "#1aadce", "#492970", "#f28f43", "#77a1e5", "#c42525", "#a6c96a"]
96
- }
97
- };
98
- const PieChart = Template.bind({});
99
- exports.PieChart = PieChart;
100
- PieChart.args = {
101
- analytics: _pieData.default,
102
- config: {
103
- layout: {
104
- series: ["dx"],
105
- category: [],
106
- filter: ["dx", "pe"]
107
- },
108
- type: "pie",
109
- height: 500,
110
- colors: ["#2f7ed8", "#0d233a", "#8bbc21", "#910000", "#1aadce", "#492970", "#f28f43", "#77a1e5", "#c4255", "#a6c96a"]
111
- }
112
- };
113
- const MultiSeries = Template.bind({});
114
- exports.MultiSeries = MultiSeries;
115
- MultiSeries.args = {
116
- analytics: _multiSeriesData.default,
117
- config: {
118
- layout: {
119
- series: ["ou"],
120
- category: ["pe"],
121
- filter: ["dx"]
122
- },
123
- type: "multi-series",
124
- height: 500,
125
- colors: ["#2f7ed8", "#0d233a", "#8bbc21", "#910000", "#1aadce", "#492970", "#f28f43", "#77a1e5", "#c42525", "#a6c96a"],
126
- multiSeries: {
127
- series: [{
128
- id: "qhqAxPSTUXp",
129
- as: "column",
130
- yAxis: 0
131
- }, {
132
- id: "Vth0fbpFcsO",
133
- as: "line",
134
- cumulative: true,
135
- yAxis: 1
136
- }],
137
- yAxes: [{
138
- id: "yAxis1",
139
- title: {
140
- text: "Koinandugu"
141
- },
142
- labels: {
143
- format: "{value}"
144
- }
145
- }, {
146
- id: "yAxis2",
147
- title: {
148
- text: "Kono"
149
- },
150
- labels: {
151
- format: "{value}"
152
- },
153
- opposite: true
154
- }],
155
- target: {
156
- id: "",
157
- styles: {
158
- color: "blue"
159
- },
160
- value: 45,
161
- label: {
162
- text: "Target",
163
- textAlign: "center",
164
- verticalAlign: "middle"
165
- }
166
- }
167
- }
168
- }
169
- };
170
- const ComplexMultiSeries = Template.bind({});
171
- exports.ComplexMultiSeries = ComplexMultiSeries;
172
- ComplexMultiSeries.args = {
173
- analytics: _complexMultiSeriesData.default,
174
- config: {
175
- layout: {
176
- series: ["dx"],
177
- category: ["pe"],
178
- filter: ["ou"]
179
- },
180
- type: "multi-series",
181
- height: 500,
182
- colors: ["#2f7ed8", "#0d233a", "#8bbc21", "#910000", "#1aadce", "#492970", "#f28f43", "#77a1e5", "#c42525", "#a6c96a"],
183
- multiSeries: {
184
- series: [{
185
- id: "QQkOAJFukyY",
186
- as: "column",
187
- yAxis: 0
188
- }, {
189
- id: "QQkOAJFukyY",
190
- as: "line",
191
- cumulative: true,
192
- yAxis: 1
193
- }],
194
- yAxes: [{
195
- id: "yAxis1",
196
- title: {
197
- text: "Koinandugu"
198
- },
199
- labels: {
200
- format: "{value}"
201
- }
202
- }, {
203
- id: "yAxis2",
204
- title: {
205
- text: "Kono"
206
- },
207
- labels: {
208
- format: "{value}"
209
- },
210
- opposite: true
211
- }],
212
- target: {
213
- id: "",
214
- styles: {
215
- color: "blue"
216
- },
217
- value: 45,
218
- label: {
219
- text: "Target",
220
- textAlign: "center",
221
- verticalAlign: "middle"
222
- }
223
- }
224
- }
225
- }
226
- };
227
- var _default = {
228
- title: "Analytics/Chart Analytics",
229
- component: _.ChartAnalytics,
230
- decorators: [ChartStory => {
231
- const [chartRef, setChartRef] = (0, _react.useState)(null);
232
- return /*#__PURE__*/_react.default.createElement("div", {
233
- style: {
234
- width: 1000,
235
- height: "100%",
236
- display: "flex",
237
- gap: 8,
238
- flexDirection: "column"
239
- }
240
- }, /*#__PURE__*/_react.default.createElement(_ui.CssReset, null), /*#__PURE__*/_react.default.createElement("div", {
241
- style: {
242
- width: "100%",
243
- display: "flex",
244
- justifyContent: "end"
245
- }
246
- }, /*#__PURE__*/_react.default.createElement(_DownloadMenu.ChartDownloadMenu, {
247
- chartRef: chartRef
248
- })), /*#__PURE__*/_react.default.createElement(ChartStory, {
249
- ref: setChartRef
250
- }));
251
- }]
252
- };
253
- exports.default = _default;
@@ -1,210 +0,0 @@
1
- {
2
- "headers": [
3
- {
4
- "name": "dx",
5
- "column": "Data",
6
- "valueType": "TEXT",
7
- "type": "java.lang.String",
8
- "hidden": false,
9
- "meta": true
10
- },
11
- {
12
- "name": "ou",
13
- "column": "Organisation unit",
14
- "valueType": "TEXT",
15
- "type": "java.lang.String",
16
- "hidden": false,
17
- "meta": true
18
- },
19
- {
20
- "name": "value",
21
- "column": "Value",
22
- "valueType": "NUMBER",
23
- "type": "java.lang.Double",
24
- "hidden": false,
25
- "meta": false
26
- }
27
- ],
28
- "metaData": {
29
- "items": {
30
- "2022": {
31
- "name": "2022"
32
- },
33
- "KctpIIucige": {
34
- "name": "Selenga"
35
- },
36
- "YmmeuGbqOwR": {
37
- "name": "Gbo"
38
- },
39
- "daJPPxtIrQn": {
40
- "name": "Jaiama Bongor"
41
- },
42
- "tTUf91fCytl": {
43
- "uid": "tTUf91fCytl",
44
- "name": "Chiefdom"
45
- },
46
- "ou": {
47
- "name": "Organisation unit"
48
- },
49
- "sxRd2XOzFbz": {
50
- "name": "Tikonko"
51
- },
52
- "THIS_YEAR": {
53
- "name": "This year"
54
- },
55
- "O6uvpzGd5pu": {
56
- "uid": "O6uvpzGd5pu",
57
- "code": "OU_264",
58
- "name": "Bo"
59
- },
60
- "U6Kr7Gtpidn": {
61
- "name": "Kakua"
62
- },
63
- "YuQRtpLP10I": {
64
- "name": "Badjia"
65
- },
66
- "zFDYIgyGmXG": {
67
- "name": "Bargbo"
68
- },
69
- "I4jWcnFmgEC": {
70
- "name": "Niawa Lenga"
71
- },
72
- "dx": {
73
- "name": "Data"
74
- },
75
- "BGGmAwx33dj": {
76
- "name": "Bumpe Ngao"
77
- },
78
- "pe": {
79
- "name": "Period"
80
- },
81
- "Uvn6LCg7dVU": {
82
- "name": "ANC 1 Coverage"
83
- },
84
- "ARZ4y5i4reU": {
85
- "name": "Wonde"
86
- },
87
- "JdhagCUEMbj": {
88
- "name": "Komboya"
89
- },
90
- "vWbkYPRmKyS": {
91
- "name": "Baoma"
92
- },
93
- "dGheVylzol6": {
94
- "name": "Bargbe"
95
- },
96
- "kU8vhUkAGaT": {
97
- "name": "Lugbu"
98
- },
99
- "npWGUj37qDe": {
100
- "name": "Valunia"
101
- }
102
- },
103
- "dimensions": {
104
- "dx": [
105
- "Uvn6LCg7dVU"
106
- ],
107
- "pe": [
108
- "2022"
109
- ],
110
- "ou": [
111
- "YuQRtpLP10I",
112
- "vWbkYPRmKyS",
113
- "dGheVylzol6",
114
- "zFDYIgyGmXG",
115
- "BGGmAwx33dj",
116
- "YmmeuGbqOwR",
117
- "daJPPxtIrQn",
118
- "U6Kr7Gtpidn",
119
- "JdhagCUEMbj",
120
- "kU8vhUkAGaT",
121
- "I4jWcnFmgEC",
122
- "KctpIIucige",
123
- "sxRd2XOzFbz",
124
- "npWGUj37qDe",
125
- "ARZ4y5i4reU"
126
- ],
127
- "co": []
128
- }
129
- },
130
- "rows": [
131
- [
132
- "Uvn6LCg7dVU",
133
- "YuQRtpLP10I",
134
- "304.1"
135
- ],
136
- [
137
- "Uvn6LCg7dVU",
138
- "vWbkYPRmKyS",
139
- "213.7"
140
- ],
141
- [
142
- "Uvn6LCg7dVU",
143
- "dGheVylzol6",
144
- "126.5"
145
- ],
146
- [
147
- "Uvn6LCg7dVU",
148
- "zFDYIgyGmXG",
149
- "206.4"
150
- ],
151
- [
152
- "Uvn6LCg7dVU",
153
- "BGGmAwx33dj",
154
- "120.9"
155
- ],
156
- [
157
- "Uvn6LCg7dVU",
158
- "YmmeuGbqOwR",
159
- "203.1"
160
- ],
161
- [
162
- "Uvn6LCg7dVU",
163
- "daJPPxtIrQn",
164
- "89.3"
165
- ],
166
- [
167
- "Uvn6LCg7dVU",
168
- "U6Kr7Gtpidn",
169
- "104.4"
170
- ],
171
- [
172
- "Uvn6LCg7dVU",
173
- "JdhagCUEMbj",
174
- "187.1"
175
- ],
176
- [
177
- "Uvn6LCg7dVU",
178
- "kU8vhUkAGaT",
179
- "96.1"
180
- ],
181
- [
182
- "Uvn6LCg7dVU",
183
- "I4jWcnFmgEC",
184
- "147.9"
185
- ],
186
- [
187
- "Uvn6LCg7dVU",
188
- "KctpIIucige",
189
- "91.1"
190
- ],
191
- [
192
- "Uvn6LCg7dVU",
193
- "sxRd2XOzFbz",
194
- "203.2"
195
- ],
196
- [
197
- "Uvn6LCg7dVU",
198
- "npWGUj37qDe",
199
- "95.7"
200
- ],
201
- [
202
- "Uvn6LCg7dVU",
203
- "ARZ4y5i4reU",
204
- "84.3"
205
- ]
206
- ],
207
- "height": 15,
208
- "width": 3,
209
- "headerWidth": 3
210
- }
@@ -1,124 +0,0 @@
1
- {
2
- "headers": [
3
- {
4
- "name": "dx",
5
- "column": "Data",
6
- "valueType": "TEXT",
7
- "type": "java.lang.String",
8
- "hidden": false,
9
- "meta": true
10
- },
11
- {
12
- "name": "pe",
13
- "column": "Period",
14
- "valueType": "TEXT",
15
- "type": "java.lang.String",
16
- "hidden": false,
17
- "meta": true
18
- },
19
- {
20
- "name": "value",
21
- "column": "Value",
22
- "valueType": "NUMBER",
23
- "type": "java.lang.Double",
24
- "hidden": false,
25
- "meta": false
26
- }
27
- ],
28
- "metaData": {
29
- "items": {
30
- "202108": {
31
- "name": "August 2021"
32
- },
33
- "202109": {
34
- "name": "September 2021"
35
- },
36
- "202110": {
37
- "name": "October 2021"
38
- },
39
- "202111": {
40
- "name": "November 2021"
41
- },
42
- "202112": {
43
- "name": "December 2021"
44
- },
45
- "202201": {
46
- "name": "January 2022"
47
- },
48
- "202202": {
49
- "name": "February 2022"
50
- },
51
- "202203": {
52
- "name": "March 2022"
53
- },
54
- "202204": {
55
- "name": "April 2022"
56
- },
57
- "202205": {
58
- "name": "May 2022"
59
- },
60
- "202206": {
61
- "name": "June 2022"
62
- },
63
- "202207": {
64
- "name": "July 2022"
65
- },
66
- "ou": {
67
- "name": "Organisation unit"
68
- },
69
- "LAST_12_MONTHS": {
70
- "name": "Last 12 months"
71
- },
72
- "QQkOAJFukyY": {
73
- "name": "COV-C: Jumla ya Waliochanjwa (Fully vaccinated)"
74
- },
75
- "dx": {
76
- "name": "Data"
77
- },
78
- "pe": {
79
- "name": "Period"
80
- },
81
- "HllvX50cXC0": {
82
- "name": "default"
83
- },
84
- "acZHYslyJLt": {
85
- "name": "Dar Es Salaam Region"
86
- }
87
- },
88
- "dimensions": {
89
- "dx": [
90
- "QQkOAJFukyY"
91
- ],
92
- "pe": [
93
- "202108",
94
- "202109",
95
- "202110",
96
- "202111",
97
- "202112",
98
- "202201",
99
- "202202",
100
- "202203",
101
- "202204",
102
- "202205",
103
- "202206",
104
- "202207"
105
- ],
106
- "ou": [
107
- "acZHYslyJLt"
108
- ],
109
- "co": [
110
- "HllvX50cXC0"
111
- ]
112
- }
113
- },
114
- "width": 3,
115
- "height": 1,
116
- "rows": [
117
- [
118
- "QQkOAJFukyY",
119
- "202203",
120
- "1820.0"
121
- ]
122
- ],
123
- "headerWidth": 3
124
- }