@dhis2/analytics 26.4.1 → 26.6.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.
Files changed (89) hide show
  1. package/build/cjs/__fixtures__/fixtures.js +1 -0
  2. package/build/cjs/__fixtures__/json/api/analytics/outlierDetection.json +213 -0
  3. package/build/cjs/api/analytics/Analytics.js +7 -0
  4. package/build/cjs/api/analytics/AnalyticsAggregate.js +27 -1
  5. package/build/cjs/api/analytics/AnalyticsBase.js +32 -13
  6. package/build/cjs/api/analytics/AnalyticsRequest.js +33 -10
  7. package/build/cjs/api/analytics/AnalyticsRequestBase.js +12 -6
  8. package/build/cjs/api/analytics/AnalyticsRequestPropertiesMixin.js +19 -0
  9. package/build/cjs/api/analytics/AnalyticsResponse.js +42 -39
  10. package/build/cjs/api/analytics/AnalyticsTrackedEntities.js +31 -0
  11. package/build/cjs/api/analytics/__tests__/Analytics.spec.js +5 -0
  12. package/build/cjs/api/analytics/__tests__/AnalyticsAggregate.spec.js +29 -0
  13. package/build/cjs/api/analytics/__tests__/AnalyticsBase.spec.js +36 -2
  14. package/build/cjs/api/analytics/utils.js +21 -2
  15. package/build/cjs/components/DataDimension/DataDimension.js +31 -7
  16. package/build/cjs/components/DataDimension/DataTypeSelector.js +29 -8
  17. package/build/cjs/components/DataDimension/GroupSelector.js +7 -7
  18. package/build/cjs/components/DataDimension/ItemSelector.js +79 -61
  19. package/build/cjs/components/PeriodDimension/PeriodDimension.js +5 -2
  20. package/build/cjs/components/PeriodDimension/PeriodTransfer.js +64 -31
  21. package/build/cjs/components/PeriodDimension/__tests__/__snapshots__/PeriodDimension.spec.js.snap +1 -1
  22. package/build/cjs/components/PeriodDimension/__tests__/__snapshots__/PeriodSelector.spec.js.snap +1 -12
  23. package/build/cjs/components/VisTypeIcon.js +6 -1
  24. package/build/cjs/index.js +43 -1
  25. package/build/cjs/locales/en/translations.json +5 -1
  26. package/build/cjs/modules/__tests__/getAdaptedUiLayoutByType.spec.js +15 -0
  27. package/build/cjs/modules/axis.js +4 -0
  28. package/build/cjs/modules/getAdaptedUiLayoutByType.js +9 -0
  29. package/build/cjs/modules/layout/axisGetDimensionIds.js +1 -1
  30. package/build/cjs/modules/layout/dimension.js +9 -2
  31. package/build/cjs/modules/layout/dimensionCreate.js +3 -0
  32. package/build/cjs/modules/layout/dimensionGetId.js +9 -3
  33. package/build/cjs/modules/layout/layoutFilterDimensions.js +1 -1
  34. package/build/cjs/modules/layout/layoutGetAxisIdDimensionIdsObject.js +1 -1
  35. package/build/cjs/modules/layout/layoutGetDimensionIdItemIdsObject.js +1 -1
  36. package/build/cjs/modules/layout/layoutHasDynamicDimension.js +1 -1
  37. package/build/cjs/modules/layoutTypes.js +4 -2
  38. package/build/cjs/modules/layoutUiRules/__tests__/rules.spec.js +13 -1
  39. package/build/cjs/modules/layoutUiRules/index.js +12 -0
  40. package/build/cjs/modules/layoutUiRules/rules.js +22 -2
  41. package/build/cjs/modules/layoutUiRules/rulesHelper.js +4 -2
  42. package/build/cjs/modules/layoutUiRules/rulesUtils.js +7 -2
  43. package/build/cjs/modules/visTypeToLayoutType.js +2 -1
  44. package/build/cjs/modules/visTypes.js +9 -3
  45. package/build/es/__fixtures__/fixtures.js +1 -0
  46. package/build/es/__fixtures__/json/api/analytics/outlierDetection.json +213 -0
  47. package/build/es/api/analytics/Analytics.js +7 -0
  48. package/build/es/api/analytics/AnalyticsAggregate.js +27 -1
  49. package/build/es/api/analytics/AnalyticsBase.js +31 -13
  50. package/build/es/api/analytics/AnalyticsRequest.js +33 -10
  51. package/build/es/api/analytics/AnalyticsRequestBase.js +12 -6
  52. package/build/es/api/analytics/AnalyticsRequestPropertiesMixin.js +19 -0
  53. package/build/es/api/analytics/AnalyticsResponse.js +42 -39
  54. package/build/es/api/analytics/AnalyticsTrackedEntities.js +24 -0
  55. package/build/es/api/analytics/__tests__/Analytics.spec.js +5 -0
  56. package/build/es/api/analytics/__tests__/AnalyticsAggregate.spec.js +29 -0
  57. package/build/es/api/analytics/__tests__/AnalyticsBase.spec.js +34 -1
  58. package/build/es/api/analytics/utils.js +18 -1
  59. package/build/es/components/DataDimension/DataDimension.js +27 -6
  60. package/build/es/components/DataDimension/DataTypeSelector.js +30 -9
  61. package/build/es/components/DataDimension/GroupSelector.js +7 -7
  62. package/build/es/components/DataDimension/ItemSelector.js +80 -62
  63. package/build/es/components/PeriodDimension/PeriodDimension.js +5 -2
  64. package/build/es/components/PeriodDimension/PeriodTransfer.js +65 -32
  65. package/build/es/components/PeriodDimension/__tests__/__snapshots__/PeriodDimension.spec.js.snap +1 -1
  66. package/build/es/components/PeriodDimension/__tests__/__snapshots__/PeriodSelector.spec.js.snap +1 -12
  67. package/build/es/components/VisTypeIcon.js +8 -3
  68. package/build/es/index.js +4 -4
  69. package/build/es/locales/en/translations.json +5 -1
  70. package/build/es/modules/__tests__/getAdaptedUiLayoutByType.spec.js +16 -1
  71. package/build/es/modules/axis.js +5 -1
  72. package/build/es/modules/getAdaptedUiLayoutByType.js +10 -1
  73. package/build/es/modules/layout/axisGetDimensionIds.js +1 -1
  74. package/build/es/modules/layout/dimension.js +7 -1
  75. package/build/es/modules/layout/dimensionCreate.js +4 -1
  76. package/build/es/modules/layout/dimensionGetId.js +10 -4
  77. package/build/es/modules/layout/layoutFilterDimensions.js +1 -1
  78. package/build/es/modules/layout/layoutGetAxisIdDimensionIdsObject.js +1 -1
  79. package/build/es/modules/layout/layoutGetDimensionIdItemIdsObject.js +1 -1
  80. package/build/es/modules/layout/layoutHasDynamicDimension.js +1 -1
  81. package/build/es/modules/layoutTypes.js +2 -1
  82. package/build/es/modules/layoutUiRules/__tests__/rules.spec.js +14 -2
  83. package/build/es/modules/layoutUiRules/index.js +2 -2
  84. package/build/es/modules/layoutUiRules/rules.js +22 -3
  85. package/build/es/modules/layoutUiRules/rulesHelper.js +3 -2
  86. package/build/es/modules/layoutUiRules/rulesUtils.js +6 -2
  87. package/build/es/modules/visTypeToLayoutType.js +4 -3
  88. package/build/es/modules/visTypes.js +7 -3
  89. package/package.json +6 -3
@@ -1,10 +1,11 @@
1
1
  import { AXIS_ID_COLUMNS, AXIS_ID_ROWS, AXIS_ID_FILTERS } from '../layout/axis.js';
2
- import { DIMENSION_ID_PERIOD, DIMENSION_ID_DATA, DIMENSION_ID_ORGUNIT } from '../predefinedDimensions.js';
3
- import { VIS_TYPE_COLUMN, VIS_TYPE_STACKED_COLUMN, VIS_TYPE_BAR, VIS_TYPE_STACKED_BAR, VIS_TYPE_LINE, VIS_TYPE_AREA, VIS_TYPE_STACKED_AREA, VIS_TYPE_RADAR, VIS_TYPE_GAUGE, VIS_TYPE_PIE, VIS_TYPE_SINGLE_VALUE, VIS_TYPE_YEAR_OVER_YEAR_LINE, VIS_TYPE_YEAR_OVER_YEAR_COLUMN, VIS_TYPE_PIVOT_TABLE, VIS_TYPE_SCATTER, VIS_TYPE_LINE_LIST } from '../visTypes.js';
2
+ import { DIMENSION_ID_PERIOD, DIMENSION_ID_DATA, DIMENSION_ID_ORGUNIT, DIMENSION_ID_ASSIGNED_CATEGORIES } from '../predefinedDimensions.js';
3
+ import { VIS_TYPE_COLUMN, VIS_TYPE_STACKED_COLUMN, VIS_TYPE_BAR, VIS_TYPE_STACKED_BAR, VIS_TYPE_LINE, VIS_TYPE_AREA, VIS_TYPE_STACKED_AREA, VIS_TYPE_RADAR, VIS_TYPE_GAUGE, VIS_TYPE_PIE, VIS_TYPE_SINGLE_VALUE, VIS_TYPE_YEAR_OVER_YEAR_LINE, VIS_TYPE_YEAR_OVER_YEAR_COLUMN, VIS_TYPE_PIVOT_TABLE, VIS_TYPE_SCATTER, VIS_TYPE_LINE_LIST, VIS_TYPE_OUTLIER_TABLE } from '../visTypes.js';
4
4
  const RULE_PROP_AVAILABLE_AXES = 'availableAxes',
5
5
  RULE_PROP_MAX_DIMS_PER_AXIS = 'maxNumberOfDimsPerAxis',
6
6
  RULE_PROP_MIN_DIMS_PER_AXIS = 'minNumberOfDimsPerAxis',
7
7
  RULE_PROP_MAX_ITEMS_PER_AXIS = 'maxNumberOfItemsPerAxis',
8
+ RULE_PROP_MAX_ITEMS_PER_DIM = 'maxNumberOfItemsPerDim',
8
9
  RULE_PROP_DISALLOWED_DIMS = 'disallowedDims',
9
10
  RULE_PROP_LOCKED_DIMS = 'lockedDims';
10
11
  const defaultRules = {
@@ -82,6 +83,21 @@ const scatterRules = {
82
83
  const lineListRules = {
83
84
  [RULE_PROP_AVAILABLE_AXES]: [AXIS_ID_COLUMNS, AXIS_ID_FILTERS]
84
85
  };
86
+ const outlierTableRules = {
87
+ [RULE_PROP_AVAILABLE_AXES]: [AXIS_ID_COLUMNS],
88
+ [RULE_PROP_MIN_DIMS_PER_AXIS]: {
89
+ [AXIS_ID_COLUMNS]: 3
90
+ },
91
+ [RULE_PROP_MAX_ITEMS_PER_DIM]: {
92
+ [DIMENSION_ID_PERIOD]: 1
93
+ },
94
+ [RULE_PROP_LOCKED_DIMS]: {
95
+ [DIMENSION_ID_DATA]: AXIS_ID_COLUMNS,
96
+ [DIMENSION_ID_PERIOD]: AXIS_ID_COLUMNS,
97
+ [DIMENSION_ID_ORGUNIT]: AXIS_ID_COLUMNS
98
+ },
99
+ [RULE_PROP_DISALLOWED_DIMS]: [DIMENSION_ID_ASSIGNED_CATEGORIES]
100
+ };
85
101
  const visTypeToRules = {
86
102
  [VIS_TYPE_COLUMN]: defaultRules,
87
103
  [VIS_TYPE_STACKED_COLUMN]: defaultRules,
@@ -98,7 +114,8 @@ const visTypeToRules = {
98
114
  [VIS_TYPE_YEAR_OVER_YEAR_COLUMN]: yearOverYearRules,
99
115
  [VIS_TYPE_PIVOT_TABLE]: pivotTableRules,
100
116
  [VIS_TYPE_SCATTER]: scatterRules,
101
- [VIS_TYPE_LINE_LIST]: lineListRules
117
+ [VIS_TYPE_LINE_LIST]: lineListRules,
118
+ [VIS_TYPE_OUTLIER_TABLE]: outlierTableRules
102
119
  };
103
120
  const getRulesByVisType = visType => {
104
121
  const rules = visTypeToRules[visType];
@@ -113,6 +130,7 @@ const getRulesByVisType = visType => {
113
130
  export const getAvailableAxesByVisType = visType => getRulesByVisType(visType)[RULE_PROP_AVAILABLE_AXES] || [];
114
131
  export const getMaxNumberOfDimsPerAxisByVisType = visType => getRulesByVisType(visType)[RULE_PROP_MAX_DIMS_PER_AXIS] || {};
115
132
  export const getMinNumberOfDimsPerAxisByVisType = visType => getRulesByVisType(visType)[RULE_PROP_MIN_DIMS_PER_AXIS] || {};
133
+ export const getMaxNumberOfItemsPerDimByVisType = visType => getRulesByVisType(visType)[RULE_PROP_MAX_ITEMS_PER_DIM] || {};
116
134
  export const getMaxNumberOfItemsPerAxisByVisType = visType => getRulesByVisType(visType)[RULE_PROP_MAX_ITEMS_PER_AXIS] || {};
117
135
  export const getDisallowedDimsByVisType = visType => getRulesByVisType(visType)[RULE_PROP_DISALLOWED_DIMS] || [];
118
136
  export const getLockedDimsByVisType = visType => getRulesByVisType(visType)[RULE_PROP_LOCKED_DIMS] || {};
@@ -126,6 +144,7 @@ export const testResourceAllRuleProps = {
126
144
  MAX_DIMS_PER_AXIS: RULE_PROP_MAX_DIMS_PER_AXIS,
127
145
  MIN_DIMS_PER_AXIS: RULE_PROP_MIN_DIMS_PER_AXIS,
128
146
  MAX_ITEMS_PER_AXIS: RULE_PROP_MAX_ITEMS_PER_AXIS,
147
+ MAX_ITEMS_PER_DIM: RULE_PROP_MAX_ITEMS_PER_DIM,
129
148
  DISALLOWED_DIMS: RULE_PROP_DISALLOWED_DIMS,
130
149
  LOCKED_DIMS: RULE_PROP_LOCKED_DIMS
131
150
  };
@@ -1,4 +1,4 @@
1
- import { getMaxNumberOfItemsPerAxisByVisType, getMaxNumberOfDimsPerAxisByVisType, getMinNumberOfDimsPerAxisByVisType, getLockedDimsByVisType } from './rules.js';
1
+ import { getMaxNumberOfItemsPerDimByVisType, getMaxNumberOfItemsPerAxisByVisType, getMaxNumberOfDimsPerAxisByVisType, getMinNumberOfDimsPerAxisByVisType, getLockedDimsByVisType } from './rules.js';
2
2
 
3
3
  // Selectors
4
4
 
@@ -7,4 +7,5 @@ export const getAxisMaxNumberOfItemsByVisType = (visType, axisId) => getMaxNumbe
7
7
  export const getAxisMaxNumberOfDimsByVisType = (visType, axisId) => getMaxNumberOfDimsPerAxisByVisType(visType)[axisId];
8
8
  export const getAxisMinNumberOfDimsByVisType = (visType, axisId) => getMinNumberOfDimsPerAxisByVisType(visType)[axisId];
9
9
  export const getAxisPerLockedDimByVisType = (visType, dimensionId) => getLockedDimsByVisType(visType)[dimensionId];
10
- export const getAllLockedDimIdsByVisType = visType => Object.keys(getLockedDimsByVisType(visType));
10
+ export const getAllLockedDimIdsByVisType = visType => Object.keys(getLockedDimsByVisType(visType));
11
+ export const getDimMaxNumberOfItemsByVisType = (visType, dimensionId) => getMaxNumberOfItemsPerDimByVisType(visType)[dimensionId];
@@ -1,8 +1,12 @@
1
1
  import { getLockedDimsByVisType } from './rules.js';
2
- import { getAxisMaxNumberOfDimsByVisType, getAxisMaxNumberOfItemsByVisType, getAllLockedDimIdsByVisType } from './rulesHelper.js';
2
+ import { getAxisMaxNumberOfDimsByVisType, getAxisMaxNumberOfItemsByVisType, getDimMaxNumberOfItemsByVisType, getAllLockedDimIdsByVisType } from './rulesHelper.js';
3
3
  export const hasAxisTooManyItemsByVisType = (visType, axisId, numberOfItems) => {
4
4
  const maxNumberOfItemsPerAxis = getAxisMaxNumberOfItemsByVisType(visType, axisId);
5
- return maxNumberOfItemsPerAxis ? numberOfItems > maxNumberOfItemsPerAxis : false;
5
+ return maxNumberOfItemsPerAxis && numberOfItems > maxNumberOfItemsPerAxis;
6
+ };
7
+ export const hasDimensionTooManyItemsByVisType = (visType, dimensionId, numberOfItems) => {
8
+ const maxNumberOfItemsPerDimension = getDimMaxNumberOfItemsByVisType(visType, dimensionId);
9
+ return maxNumberOfItemsPerDimension && numberOfItems > maxNumberOfItemsPerDimension;
6
10
  };
7
11
  export const isDimensionLockedByVisType = (visType, dimensionId) => getAllLockedDimIdsByVisType(visType).includes(dimensionId);
8
12
  export const isAxisFullByVisType = (visType, axisId, axisDimensionsCount) => axisDimensionsCount >= getAxisMaxNumberOfDimsByVisType(visType, axisId);
@@ -1,5 +1,5 @@
1
- import { LAYOUT_TYPE_DEFAULT, LAYOUT_TYPE_PIE, LAYOUT_TYPE_YEAR_OVER_YEAR, LAYOUT_TYPE_PIVOT_TABLE, LAYOUT_TYPE_SCATTER, LAYOUT_TYPE_LINE_LIST } from './layoutTypes.js';
2
- import { VIS_TYPE_COLUMN, VIS_TYPE_STACKED_COLUMN, VIS_TYPE_BAR, VIS_TYPE_STACKED_BAR, VIS_TYPE_LINE, VIS_TYPE_AREA, VIS_TYPE_STACKED_AREA, VIS_TYPE_PIE, VIS_TYPE_RADAR, VIS_TYPE_GAUGE, VIS_TYPE_YEAR_OVER_YEAR_LINE, VIS_TYPE_YEAR_OVER_YEAR_COLUMN, VIS_TYPE_SINGLE_VALUE, VIS_TYPE_PIVOT_TABLE, VIS_TYPE_SCATTER, VIS_TYPE_LINE_LIST } from './visTypes.js';
1
+ import { LAYOUT_TYPE_DEFAULT, LAYOUT_TYPE_PIE, LAYOUT_TYPE_YEAR_OVER_YEAR, LAYOUT_TYPE_PIVOT_TABLE, LAYOUT_TYPE_SCATTER, LAYOUT_TYPE_LINE_LIST, LAYOUT_TYPE_OUTLIER_TABLE } from './layoutTypes.js';
2
+ import { VIS_TYPE_COLUMN, VIS_TYPE_STACKED_COLUMN, VIS_TYPE_BAR, VIS_TYPE_STACKED_BAR, VIS_TYPE_LINE, VIS_TYPE_AREA, VIS_TYPE_STACKED_AREA, VIS_TYPE_PIE, VIS_TYPE_RADAR, VIS_TYPE_GAUGE, VIS_TYPE_YEAR_OVER_YEAR_LINE, VIS_TYPE_YEAR_OVER_YEAR_COLUMN, VIS_TYPE_SINGLE_VALUE, VIS_TYPE_PIVOT_TABLE, VIS_TYPE_SCATTER, VIS_TYPE_LINE_LIST, VIS_TYPE_OUTLIER_TABLE } from './visTypes.js';
3
3
  const visTypeToLayoutType = {
4
4
  [VIS_TYPE_COLUMN]: LAYOUT_TYPE_DEFAULT,
5
5
  [VIS_TYPE_STACKED_COLUMN]: LAYOUT_TYPE_DEFAULT,
@@ -16,6 +16,7 @@ const visTypeToLayoutType = {
16
16
  [VIS_TYPE_SINGLE_VALUE]: LAYOUT_TYPE_PIE,
17
17
  [VIS_TYPE_PIVOT_TABLE]: LAYOUT_TYPE_PIVOT_TABLE,
18
18
  [VIS_TYPE_SCATTER]: LAYOUT_TYPE_SCATTER,
19
- [VIS_TYPE_LINE_LIST]: LAYOUT_TYPE_LINE_LIST
19
+ [VIS_TYPE_LINE_LIST]: LAYOUT_TYPE_LINE_LIST,
20
+ [VIS_TYPE_OUTLIER_TABLE]: LAYOUT_TYPE_OUTLIER_TABLE
20
21
  };
21
22
  export const getLayoutTypeByVisType = visType => visTypeToLayoutType[visType];
@@ -1,4 +1,4 @@
1
- import { IconTable24, IconVisualizationArea24, IconVisualizationAreaStacked24, IconVisualizationBar24, IconVisualizationBarStacked24, IconVisualizationColumn24, IconVisualizationColumnMulti24, IconVisualizationColumnStacked24, IconVisualizationGauge24, IconVisualizationLine24, IconVisualizationLinelist24, IconVisualizationLineMulti24, IconVisualizationPie24, IconVisualizationRadar24, IconVisualizationScatter24, IconVisualizationSingleValue24 } from '@dhis2/ui';
1
+ import { IconVisualizationArea24, IconVisualizationAreaStacked24, IconVisualizationBar24, IconVisualizationBarStacked24, IconVisualizationColumn24, IconVisualizationColumnMulti24, IconVisualizationColumnStacked24, IconVisualizationGauge24, IconVisualizationLine24, IconVisualizationLinelist24, IconVisualizationLineMulti24, IconVisualizationOutlierTable24, IconVisualizationPie24, IconVisualizationPivotTable24, IconVisualizationRadar24, IconVisualizationScatter24, IconVisualizationSingleValue24 } from '@dhis2/ui';
2
2
  import i18n from '../locales/index.js';
3
3
  export const VIS_TYPE_PIVOT_TABLE = 'PIVOT_TABLE';
4
4
  export const VIS_TYPE_AREA = 'AREA';
@@ -19,6 +19,7 @@ export const VIS_TYPE_SINGLE_VALUE = 'SINGLE_VALUE';
19
19
  export const VIS_TYPE_BUBBLE = 'BUBBLE';
20
20
  export const VIS_TYPE_GROUP_ALL = 'ALL';
21
21
  export const VIS_TYPE_GROUP_CHARTS = 'CHARTS';
22
+ export const VIS_TYPE_OUTLIER_TABLE = 'OUTLIER_TABLE';
22
23
  export const visTypeDisplayNames = {
23
24
  [VIS_TYPE_PIVOT_TABLE]: i18n.t('Pivot table'),
24
25
  [VIS_TYPE_AREA]: i18n.t('Area'),
@@ -36,11 +37,12 @@ export const visTypeDisplayNames = {
36
37
  [VIS_TYPE_RADAR]: i18n.t('Radar'),
37
38
  [VIS_TYPE_SCATTER]: i18n.t('Scatter'),
38
39
  [VIS_TYPE_SINGLE_VALUE]: i18n.t('Single value'),
40
+ [VIS_TYPE_OUTLIER_TABLE]: i18n.t('Outlier table'),
39
41
  [VIS_TYPE_GROUP_ALL]: i18n.t('All types'),
40
42
  [VIS_TYPE_GROUP_CHARTS]: i18n.t('All charts')
41
43
  };
42
44
  export const visTypeIcons = {
43
- [VIS_TYPE_PIVOT_TABLE]: IconTable24,
45
+ [VIS_TYPE_PIVOT_TABLE]: IconVisualizationPivotTable24,
44
46
  [VIS_TYPE_AREA]: IconVisualizationArea24,
45
47
  [VIS_TYPE_STACKED_AREA]: IconVisualizationAreaStacked24,
46
48
  [VIS_TYPE_BAR]: IconVisualizationBar24,
@@ -55,7 +57,8 @@ export const visTypeIcons = {
55
57
  [VIS_TYPE_PIE]: IconVisualizationPie24,
56
58
  [VIS_TYPE_RADAR]: IconVisualizationRadar24,
57
59
  [VIS_TYPE_SCATTER]: IconVisualizationScatter24,
58
- [VIS_TYPE_SINGLE_VALUE]: IconVisualizationSingleValue24
60
+ [VIS_TYPE_SINGLE_VALUE]: IconVisualizationSingleValue24,
61
+ [VIS_TYPE_OUTLIER_TABLE]: IconVisualizationOutlierTable24
59
62
  };
60
63
  export const getDisplayNameByVisType = visType => {
61
64
  const displayName = visTypeDisplayNames[visType];
@@ -78,6 +81,7 @@ export const isYearOverYear = type => yearOverYearTypes.includes(type);
78
81
  export const isDualAxisType = type => dualAxisTypes.includes(type);
79
82
  export const isMultiType = type => multiTypeTypes.includes(type);
80
83
  export const isSingleValue = type => type === VIS_TYPE_SINGLE_VALUE;
84
+ export const isOutlierTable = type => type === VIS_TYPE_OUTLIER_TABLE;
81
85
  export const isTwoCategoryChartType = type => twoCategoryChartTypes.includes(type);
82
86
  export const isVerticalType = type => verticalTypes.includes(type);
83
87
  export const isLegendSetType = type => legendSetTypes.includes(type);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dhis2/analytics",
3
- "version": "26.4.1",
3
+ "version": "26.6.0",
4
4
  "main": "./build/cjs/index.js",
5
5
  "module": "./build/es/index.js",
6
6
  "exports": {
@@ -35,7 +35,7 @@
35
35
  "@dhis2/cli-app-scripts": "^9.0.1",
36
36
  "@dhis2/cli-style": "^10.4.1",
37
37
  "@dhis2/d2-i18n": "^1.1.0",
38
- "@dhis2/ui": "^8.4.11",
38
+ "@dhis2/ui": "^9.2.0",
39
39
  "@sambego/storybook-state": "^2.0.1",
40
40
  "@storybook/addons": "^6.5.16",
41
41
  "@storybook/preset-create-react-app": "^3.1.7",
@@ -52,7 +52,7 @@
52
52
  "peerDependencies": {
53
53
  "@dhis2/app-runtime": "^3",
54
54
  "@dhis2/d2-i18n": "^1.1",
55
- "@dhis2/ui": "^8.2.5",
55
+ "@dhis2/ui": "^9.2.0",
56
56
  "prop-types": "^15",
57
57
  "react": "^16.3",
58
58
  "react-dom": "^16.3",
@@ -75,6 +75,9 @@
75
75
  "react-beautiful-dnd": "^10.1.1",
76
76
  "resize-observer-polyfill": "^1.5.1"
77
77
  },
78
+ "resolutions": {
79
+ "@dhis2/ui": "^9.2.0"
80
+ },
78
81
  "files": [
79
82
  "build"
80
83
  ]