@dhis2/analytics 26.8.6 → 26.9.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 (139) hide show
  1. package/build/cjs/__demo__/SingleValue.stories.js +706 -0
  2. package/build/cjs/components/PivotTable/PivotTableValueCell.js +6 -2
  3. package/build/cjs/components/PivotTable/styles/PivotTable.style.js +2 -2
  4. package/build/cjs/locales/en/translations.json +2 -0
  5. package/build/cjs/locales/lo/translations.json +16 -12
  6. package/build/cjs/modules/pivotTable/PivotTableEngine.js +59 -24
  7. package/build/cjs/modules/pivotTable/pivotTableConstants.js +6 -2
  8. package/build/cjs/modules/valueTypes.js +4 -1
  9. package/build/cjs/visualizations/config/adapters/dhis_highcharts/chart/default.js +26 -0
  10. package/build/cjs/visualizations/config/adapters/dhis_highcharts/chart/index.js +18 -0
  11. package/build/cjs/visualizations/config/adapters/dhis_highcharts/chart/singleValue.js +19 -0
  12. package/build/cjs/visualizations/config/adapters/dhis_highcharts/customSVGOptions/index.js +36 -0
  13. package/build/cjs/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/getSingleValueBackgroundColor.js +12 -0
  14. package/build/cjs/visualizations/config/adapters/{dhis_dhis/value/index.js → dhis_highcharts/customSVGOptions/singleValue/getSingleValueFormattedValue.js} +8 -6
  15. package/build/cjs/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/getSingleValueLegendColor.js +11 -0
  16. package/build/cjs/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/getSingleValueSubtext.js +11 -0
  17. package/build/cjs/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/getSingleValueTextColor.js +20 -0
  18. package/build/cjs/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/getSingleValueTitleColor.js +26 -0
  19. package/build/cjs/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/index.js +31 -0
  20. package/build/cjs/visualizations/config/adapters/dhis_highcharts/events/index.js +24 -0
  21. package/build/cjs/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/index.js +18 -0
  22. package/build/cjs/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/addIconElement.js +34 -0
  23. package/build/cjs/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/checkIfFitsWithinContainer.js +19 -0
  24. package/build/cjs/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/computeLayoutRect.js +39 -0
  25. package/build/cjs/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/computeSpacingTop.js +21 -0
  26. package/build/cjs/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/constants.js +11 -0
  27. package/build/cjs/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/getAvailableSpace.js +14 -0
  28. package/build/cjs/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/index.js +48 -0
  29. package/build/cjs/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/positionElements.js +46 -0
  30. package/build/cjs/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/styles.js +109 -0
  31. package/build/cjs/visualizations/config/adapters/dhis_highcharts/exporting.js +30 -0
  32. package/build/cjs/visualizations/config/adapters/dhis_highcharts/index.js +33 -23
  33. package/build/cjs/visualizations/config/adapters/dhis_highcharts/lang.js +17 -0
  34. package/build/cjs/visualizations/config/adapters/dhis_highcharts/plotOptions.js +1 -1
  35. package/build/cjs/visualizations/config/adapters/dhis_highcharts/series/index.js +5 -1
  36. package/build/cjs/visualizations/config/adapters/dhis_highcharts/subtitle/__tests__/singleValue.spec.js +62 -0
  37. package/build/cjs/visualizations/config/adapters/dhis_highcharts/subtitle/index.js +56 -22
  38. package/build/cjs/visualizations/config/adapters/dhis_highcharts/subtitle/singleValue.js +27 -0
  39. package/build/cjs/visualizations/config/adapters/dhis_highcharts/title/__tests__/singleValue.spec.js +44 -0
  40. package/build/cjs/visualizations/config/adapters/dhis_highcharts/title/index.js +50 -22
  41. package/build/cjs/visualizations/config/adapters/dhis_highcharts/title/singleValue.js +31 -0
  42. package/build/cjs/visualizations/config/adapters/dhis_highcharts/type.js +2 -0
  43. package/build/cjs/visualizations/config/adapters/dhis_highcharts/xAxis/index.js +1 -0
  44. package/build/cjs/visualizations/config/adapters/dhis_highcharts/yAxis/index.js +4 -5
  45. package/build/cjs/visualizations/config/adapters/index.js +2 -4
  46. package/build/cjs/visualizations/config/generators/highcharts/index.js +8 -0
  47. package/build/cjs/visualizations/config/generators/highcharts/pdfExportBugFixPlugin/index.js +13 -0
  48. package/build/cjs/visualizations/config/generators/highcharts/pdfExportBugFixPlugin/nonASCIIFont.js +17 -0
  49. package/build/cjs/visualizations/config/generators/highcharts/pdfExportBugFixPlugin/textShadow.js +289 -0
  50. package/build/cjs/visualizations/config/generators/index.js +2 -4
  51. package/build/cjs/visualizations/store/adapters/dhis_highcharts/index.js +3 -0
  52. package/build/cjs/visualizations/store/adapters/dhis_highcharts/singleValue.js +10 -0
  53. package/build/cjs/visualizations/store/adapters/index.js +2 -4
  54. package/build/cjs/visualizations/util/shouldUseContrastColor.js +24 -0
  55. package/build/es/__demo__/SingleValue.stories.js +702 -0
  56. package/build/es/components/PivotTable/PivotTableValueCell.js +6 -2
  57. package/build/es/components/PivotTable/styles/PivotTable.style.js +2 -2
  58. package/build/es/locales/en/translations.json +2 -0
  59. package/build/es/locales/lo/translations.json +16 -12
  60. package/build/es/modules/pivotTable/PivotTableEngine.js +61 -26
  61. package/build/es/modules/pivotTable/pivotTableConstants.js +4 -1
  62. package/build/es/modules/valueTypes.js +2 -0
  63. package/build/es/visualizations/config/adapters/dhis_highcharts/chart/default.js +19 -0
  64. package/build/es/visualizations/config/adapters/dhis_highcharts/chart/index.js +11 -0
  65. package/build/es/visualizations/config/adapters/dhis_highcharts/chart/singleValue.js +12 -0
  66. package/build/es/visualizations/config/adapters/dhis_highcharts/customSVGOptions/index.js +29 -0
  67. package/build/es/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/getSingleValueBackgroundColor.js +6 -0
  68. package/build/es/visualizations/config/adapters/{dhis_dhis/value/index.js → dhis_highcharts/customSVGOptions/singleValue/getSingleValueFormattedValue.js} +4 -4
  69. package/build/es/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/getSingleValueLegendColor.js +5 -0
  70. package/build/es/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/getSingleValueSubtext.js +5 -0
  71. package/build/es/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/getSingleValueTextColor.js +14 -0
  72. package/build/es/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/getSingleValueTitleColor.js +20 -0
  73. package/build/es/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/index.js +25 -0
  74. package/build/es/visualizations/config/adapters/dhis_highcharts/events/index.js +16 -0
  75. package/build/es/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/index.js +11 -0
  76. package/build/es/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/addIconElement.js +28 -0
  77. package/build/es/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/checkIfFitsWithinContainer.js +13 -0
  78. package/build/es/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/computeLayoutRect.js +33 -0
  79. package/build/es/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/computeSpacingTop.js +15 -0
  80. package/build/es/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/constants.js +4 -0
  81. package/build/es/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/getAvailableSpace.js +8 -0
  82. package/build/es/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/index.js +42 -0
  83. package/build/es/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/positionElements.js +40 -0
  84. package/build/es/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/styles.js +101 -0
  85. package/build/es/visualizations/config/adapters/dhis_highcharts/exporting.js +23 -0
  86. package/build/es/visualizations/config/adapters/dhis_highcharts/index.js +23 -13
  87. package/build/es/visualizations/config/adapters/dhis_highcharts/lang.js +11 -0
  88. package/build/es/visualizations/config/adapters/dhis_highcharts/plotOptions.js +1 -1
  89. package/build/es/visualizations/config/adapters/dhis_highcharts/series/index.js +6 -2
  90. package/build/es/visualizations/config/adapters/dhis_highcharts/subtitle/__tests__/singleValue.spec.js +59 -0
  91. package/build/es/visualizations/config/adapters/dhis_highcharts/subtitle/index.js +56 -24
  92. package/build/es/visualizations/config/adapters/dhis_highcharts/subtitle/singleValue.js +14 -0
  93. package/build/es/visualizations/config/adapters/dhis_highcharts/title/__tests__/singleValue.spec.js +42 -0
  94. package/build/es/visualizations/config/adapters/dhis_highcharts/title/index.js +52 -24
  95. package/build/es/visualizations/config/adapters/dhis_highcharts/title/singleValue.js +18 -0
  96. package/build/es/visualizations/config/adapters/dhis_highcharts/type.js +3 -1
  97. package/build/es/visualizations/config/adapters/dhis_highcharts/xAxis/index.js +2 -1
  98. package/build/es/visualizations/config/adapters/dhis_highcharts/yAxis/index.js +5 -6
  99. package/build/es/visualizations/config/adapters/index.js +1 -3
  100. package/build/es/visualizations/config/generators/highcharts/index.js +8 -0
  101. package/build/es/visualizations/config/generators/highcharts/pdfExportBugFixPlugin/index.js +6 -0
  102. package/build/es/visualizations/config/generators/highcharts/pdfExportBugFixPlugin/nonASCIIFont.js +11 -0
  103. package/build/es/visualizations/config/generators/highcharts/pdfExportBugFixPlugin/textShadow.js +283 -0
  104. package/build/es/visualizations/config/generators/index.js +1 -3
  105. package/build/es/visualizations/store/adapters/dhis_highcharts/index.js +4 -1
  106. package/build/es/visualizations/store/adapters/dhis_highcharts/singleValue.js +4 -0
  107. package/build/es/visualizations/store/adapters/index.js +1 -3
  108. package/build/es/visualizations/util/shouldUseContrastColor.js +17 -0
  109. package/package.json +1 -2
  110. package/build/cjs/visualizations/config/adapters/dhis_dhis/index.js +0 -39
  111. package/build/cjs/visualizations/config/adapters/dhis_dhis/subtitle/__tests__/index.spec.js +0 -49
  112. package/build/cjs/visualizations/config/adapters/dhis_dhis/subtitle/__tests__/singleValue.spec.js +0 -15
  113. package/build/cjs/visualizations/config/adapters/dhis_dhis/subtitle/index.js +0 -34
  114. package/build/cjs/visualizations/config/adapters/dhis_dhis/subtitle/singleValue.js +0 -11
  115. package/build/cjs/visualizations/config/adapters/dhis_dhis/title/__tests__/index.spec.js +0 -39
  116. package/build/cjs/visualizations/config/adapters/dhis_dhis/title/__tests__/singleValue.spec.js +0 -17
  117. package/build/cjs/visualizations/config/adapters/dhis_dhis/title/index.js +0 -31
  118. package/build/cjs/visualizations/config/adapters/dhis_dhis/title/singleValue.js +0 -18
  119. package/build/cjs/visualizations/config/adapters/dhis_dhis/type.js +0 -19
  120. package/build/cjs/visualizations/config/adapters/dhis_highcharts/chart.js +0 -39
  121. package/build/cjs/visualizations/config/generators/dhis/index.js +0 -28
  122. package/build/cjs/visualizations/config/generators/dhis/singleValue.js +0 -359
  123. package/build/cjs/visualizations/store/adapters/dhis_dhis/index.js +0 -83
  124. package/build/cjs/visualizations/store/adapters/dhis_dhis/singleValue.js +0 -10
  125. package/build/es/visualizations/config/adapters/dhis_dhis/index.js +0 -30
  126. package/build/es/visualizations/config/adapters/dhis_dhis/subtitle/__tests__/index.spec.js +0 -46
  127. package/build/es/visualizations/config/adapters/dhis_dhis/subtitle/__tests__/singleValue.spec.js +0 -12
  128. package/build/es/visualizations/config/adapters/dhis_dhis/subtitle/index.js +0 -27
  129. package/build/es/visualizations/config/adapters/dhis_dhis/subtitle/singleValue.js +0 -4
  130. package/build/es/visualizations/config/adapters/dhis_dhis/title/__tests__/index.spec.js +0 -36
  131. package/build/es/visualizations/config/adapters/dhis_dhis/title/__tests__/singleValue.spec.js +0 -14
  132. package/build/es/visualizations/config/adapters/dhis_dhis/title/index.js +0 -24
  133. package/build/es/visualizations/config/adapters/dhis_dhis/title/singleValue.js +0 -11
  134. package/build/es/visualizations/config/adapters/dhis_dhis/type.js +0 -13
  135. package/build/es/visualizations/config/adapters/dhis_highcharts/chart.js +0 -32
  136. package/build/es/visualizations/config/generators/dhis/index.js +0 -21
  137. package/build/es/visualizations/config/generators/dhis/singleValue.js +0 -353
  138. package/build/es/visualizations/store/adapters/dhis_dhis/index.js +0 -76
  139. package/build/es/visualizations/store/adapters/dhis_dhis/singleValue.js +0 -4
@@ -1,83 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = _default;
7
- var _visTypes = require("../../../../modules/visTypes.js");
8
- var _singleValue = _interopRequireDefault(require("./singleValue.js"));
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
- const VALUE_ID = 'value';
11
- function getHeaderIdIndexMap(headers) {
12
- const map = new Map();
13
- headers.forEach((header, index) => {
14
- map.set(header.name, index);
15
- });
16
- return map;
17
- }
18
- function getPrefixedId(row, header) {
19
- return (header.isPrefix ? header.name + '_' : '') + row[header.index];
20
- }
21
- function getIdValueMap(rows, seriesHeader, categoryHeader, valueIndex) {
22
- const map = new Map();
23
- let key;
24
- let value;
25
- rows.forEach(row => {
26
- key = [...(seriesHeader ? [getPrefixedId(row, seriesHeader)] : []), ...(categoryHeader ? [getPrefixedId(row, categoryHeader)] : [])].join('-');
27
- value = row[valueIndex];
28
- map.set(key, value);
29
- });
30
- return map;
31
- }
32
- function getDefault(acc, seriesIds, categoryIds, idValueMap, metaData) {
33
- seriesIds.forEach(seriesId => {
34
- const serieData = [];
35
- categoryIds.forEach(categoryId => {
36
- const value = idValueMap.get(`${seriesId}-${categoryId}`);
37
-
38
- // DHIS2-1261: 0 is a valid value
39
- // undefined value means the key was not found within the rows
40
- // in that case null is returned as value in the serie
41
- serieData.push(value === undefined ? null : parseFloat(value));
42
- });
43
- acc.push({
44
- id: seriesId,
45
- name: metaData.items[seriesId].name,
46
- data: serieData
47
- });
48
- });
49
- return acc;
50
- }
51
- function getValueFunction(type) {
52
- switch (type) {
53
- case _visTypes.VIS_TYPE_SINGLE_VALUE:
54
- return _singleValue.default;
55
- default:
56
- return getDefault;
57
- }
58
- }
59
- function _default(_ref) {
60
- let {
61
- type,
62
- data,
63
- seriesId,
64
- categoryId
65
- } = _ref;
66
- const valueFunction = getValueFunction(type);
67
- return data.reduce((acc, res) => {
68
- const headers = res.headers;
69
- const metaData = res.metaData;
70
- const rows = res.rows;
71
- const headerIdIndexMap = getHeaderIdIndexMap(headers);
72
- const seriesIndex = headerIdIndexMap.get(seriesId);
73
- const categoryIndex = headerIdIndexMap.get(categoryId);
74
- const valueIndex = headerIdIndexMap.get(VALUE_ID);
75
- const seriesHeader = headers[seriesIndex];
76
- const categoryHeader = headers[categoryIndex];
77
- const idValueMap = getIdValueMap(rows, seriesHeader, categoryHeader, valueIndex);
78
- const seriesIds = metaData.dimensions[seriesId];
79
- const categoryIds = metaData.dimensions[categoryId];
80
- valueFunction(acc, seriesIds, categoryIds, idValueMap, metaData);
81
- return acc;
82
- }, []);
83
- }
@@ -1,10 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = _default;
7
- function _default(acc, seriesIds, categoryIds, idValueMap) {
8
- const seriesId = seriesIds[0];
9
- acc.push(idValueMap.get(seriesId));
10
- }
@@ -1,30 +0,0 @@
1
- import getSubtitle from './subtitle/index.js';
2
- import getTitle from './title/index.js';
3
- import getValue from './value/index.js';
4
- export const INDICATOR_FACTOR_100 = 100;
5
- export default function (_ref) {
6
- let {
7
- store,
8
- layout,
9
- extraOptions
10
- } = _ref;
11
- const data = store.generateData({
12
- type: layout.type,
13
- seriesId: layout.columns && layout.columns.length ? layout.columns[0].dimension : null,
14
- categoryId: layout.rows && layout.rows.length ? layout.rows[0].dimension : null
15
- });
16
- const metaData = store.data[0].metaData;
17
- const config = {
18
- value: data[0],
19
- formattedValue: data[0] === undefined ? extraOptions.noData.text : getValue(data[0], layout, metaData),
20
- title: getTitle(layout, metaData, extraOptions.dashboard),
21
- subtitle: getSubtitle(layout, metaData, extraOptions.dashboard)
22
- };
23
- const indicatorType = metaData.items[metaData.dimensions.dx[0]].indicatorType;
24
-
25
- // Use % symbol for factor 100 and the full string for others
26
- if ((indicatorType === null || indicatorType === void 0 ? void 0 : indicatorType.factor) !== INDICATOR_FACTOR_100) {
27
- config.subText = indicatorType === null || indicatorType === void 0 ? void 0 : indicatorType.displayName;
28
- }
29
- return config;
30
- }
@@ -1,46 +0,0 @@
1
- import { VIS_TYPE_SINGLE_VALUE } from '../../../../../../modules/visTypes.js';
2
- import getSubtitle from '../index.js';
3
- jest.mock('../singleValue', () => () => 'The sv filter title');
4
- jest.mock('../../../../../util/getFilterText', () => () => 'The default filter text');
5
- describe('getSubtitle', () => {
6
- it('returns empty subtitle when flag hideSubtitle exists', () => {
7
- expect(getSubtitle({
8
- hideSubtitle: true
9
- })).toEqual('');
10
- });
11
- it('returns the subtitle provided in the layout', () => {
12
- const subtitle = 'The subtitle was already set';
13
- expect(getSubtitle({
14
- subtitle
15
- })).toEqual(subtitle);
16
- });
17
- it('returns subtitle for single value vis', () => {
18
- expect(getSubtitle({
19
- type: VIS_TYPE_SINGLE_VALUE
20
- })).toEqual('The sv filter title');
21
- });
22
- describe('not dashboard', () => {
23
- describe('layout does not include title', () => {
24
- it('returns empty subtitle', () => {
25
- expect(getSubtitle({
26
- filters: {}
27
- }, {}, false)).toEqual('');
28
- });
29
- });
30
- describe('layout includes title', () => {
31
- it('returns filter title as subtitle', () => {
32
- expect(getSubtitle({
33
- filters: {},
34
- title: 'Chart title'
35
- }, {}, false)).toEqual('The default filter text');
36
- });
37
- });
38
- });
39
- describe('dashboard', () => {
40
- it('returns filter title as subtitle', () => {
41
- expect(getSubtitle({
42
- filters: {}
43
- }, {}, true)).toEqual('The default filter text');
44
- });
45
- });
46
- });
@@ -1,12 +0,0 @@
1
- import getSingleValueSubtitle from '../singleValue.js';
2
- jest.mock('../../../../../util/getFilterText', () => () => 'The filter text');
3
- describe('getSingleValueSubtitle', () => {
4
- it('returns null when layout does not have filters', () => {
5
- expect(getSingleValueSubtitle({})).toEqual('');
6
- });
7
- it('returns the filter text', () => {
8
- expect(getSingleValueSubtitle({
9
- filters: []
10
- })).toEqual('The filter text');
11
- });
12
- });
@@ -1,27 +0,0 @@
1
- import { VIS_TYPE_SINGLE_VALUE } from '../../../../../modules/visTypes.js';
2
- import getFilterText from '../../../../util/getFilterText.js';
3
- import getSingleValueTitle from './singleValue.js';
4
- function getDefault(layout, dashboard, metaData) {
5
- if (dashboard || typeof layout.title === 'string') {
6
- return getFilterText(layout.filters, metaData);
7
- }
8
- return '';
9
- }
10
- export default function (layout, metaData, dashboard) {
11
- if (layout.hideSubtitle) {
12
- return '';
13
- }
14
- if (typeof layout.subtitle === 'string' && layout.subtitle.length) {
15
- return layout.subtitle;
16
- } else {
17
- let subtitle;
18
- switch (layout.type) {
19
- case VIS_TYPE_SINGLE_VALUE:
20
- subtitle = getSingleValueTitle(layout, metaData);
21
- break;
22
- default:
23
- subtitle = getDefault(layout, dashboard, metaData);
24
- }
25
- return subtitle;
26
- }
27
- }
@@ -1,4 +0,0 @@
1
- import getFilterText from '../../../../util/getFilterText.js';
2
- export default function (layout, metaData) {
3
- return layout.filters ? getFilterText(layout.filters, metaData) : '';
4
- }
@@ -1,36 +0,0 @@
1
- import { VIS_TYPE_SINGLE_VALUE } from '../../../../../../modules/visTypes.js';
2
- import getTitle from '../index.js';
3
- jest.mock('../singleValue', () => () => 'The sv filter title');
4
- jest.mock('../../../../../util/getFilterText', () => () => 'The filter text');
5
- describe('getTitle', () => {
6
- it('returns empty title when flag hideTitle exists', () => {
7
- expect(getTitle({
8
- hideTitle: true
9
- })).toEqual('');
10
- });
11
- it('returns the title provided in the layout', () => {
12
- const title = 'The title was already set';
13
- expect(getTitle({
14
- title
15
- })).toEqual(title);
16
- });
17
- it('returns title for single value vis', () => {
18
- expect(getTitle({
19
- type: VIS_TYPE_SINGLE_VALUE
20
- })).toEqual('The sv filter title');
21
- });
22
- describe('not dashboard', () => {
23
- it('returns filter text as title', () => {
24
- expect(getTitle({
25
- filters: {}
26
- }, {}, false)).toEqual('The filter text');
27
- });
28
- });
29
- describe('dashboard', () => {
30
- it('returns empty string', () => {
31
- expect(getTitle({
32
- filters: {}
33
- }, {}, true)).toEqual('');
34
- });
35
- });
36
- });
@@ -1,14 +0,0 @@
1
- import getSingleValueTitle from '../singleValue.js';
2
- jest.mock('../../../../../util/getFilterText', () => () => 'The filter text');
3
- describe('getSingleValueTitle', () => {
4
- it('returns null when layout does not have columns', () => {
5
- expect(getSingleValueTitle({})).toEqual('');
6
- });
7
- it('returns the filter text based on column items', () => {
8
- expect(getSingleValueTitle({
9
- columns: [{
10
- items: [{}]
11
- }]
12
- })).toEqual('The filter text');
13
- });
14
- });
@@ -1,24 +0,0 @@
1
- import { VIS_TYPE_SINGLE_VALUE } from '../../../../../modules/visTypes.js';
2
- import getFilterText from '../../../../util/getFilterText.js';
3
- import getSingleValueTitle from './singleValue.js';
4
- function getDefault(layout, metaData, dashboard) {
5
- return layout.filters && !dashboard ? getFilterText(layout.filters, metaData) : '';
6
- }
7
- export default function (layout, metaData, dashboard) {
8
- if (layout.hideTitle) {
9
- return '';
10
- }
11
- if (typeof layout.title === 'string' && layout.title.length) {
12
- return layout.title;
13
- } else {
14
- let title;
15
- switch (layout.type) {
16
- case VIS_TYPE_SINGLE_VALUE:
17
- title = getSingleValueTitle(layout, metaData);
18
- break;
19
- default:
20
- title = getDefault(layout, metaData, dashboard);
21
- }
22
- return title;
23
- }
24
- }
@@ -1,11 +0,0 @@
1
- import getFilterText from '../../../../util/getFilterText.js';
2
- export default function (layout, metaData) {
3
- if (layout.columns) {
4
- const firstItem = layout.columns[0].items[0];
5
- const column = Object.assign({}, layout.columns[0], {
6
- items: [firstItem]
7
- });
8
- return getFilterText([column], metaData);
9
- }
10
- return '';
11
- }
@@ -1,13 +0,0 @@
1
- import { VIS_TYPE_SINGLE_VALUE } from '../../../../modules/visTypes.js';
2
- export default function (type) {
3
- switch (type) {
4
- case VIS_TYPE_SINGLE_VALUE:
5
- return {
6
- type: VIS_TYPE_SINGLE_VALUE
7
- };
8
- default:
9
- return {
10
- type: VIS_TYPE_SINGLE_VALUE
11
- };
12
- }
13
- }
@@ -1,32 +0,0 @@
1
- import getType from './type.js';
2
- const DEFAULT_CHART = {
3
- spacingTop: 20,
4
- style: {
5
- fontFamily: 'Roboto,Helvetica Neue,Helvetica,Arial,sans-serif'
6
- }
7
- };
8
- const DASHBOARD_CHART = {
9
- spacingTop: 0,
10
- spacingRight: 5,
11
- spacingBottom: 2,
12
- spacingLeft: 5
13
- };
14
- const getEvents = () => ({
15
- events: {
16
- load: function () {
17
- // Align legend icon with legend text
18
- this.legend.allItems.forEach(item => {
19
- if (item.legendSymbol) {
20
- item.legendSymbol.attr({
21
- translateY: -(item.legendItem.label.getBBox().height * 0.75 / 4) + item.legendSymbol.r / 2
22
- });
23
- }
24
- });
25
- }
26
- }
27
- });
28
- export default function (layout, el, dashboard) {
29
- return Object.assign({}, getType(layout.type), {
30
- renderTo: el || layout.el
31
- }, DEFAULT_CHART, dashboard ? DASHBOARD_CHART : undefined, getEvents());
32
- }
@@ -1,21 +0,0 @@
1
- import { VIS_TYPE_SINGLE_VALUE } from '../../../../modules/visTypes.js';
2
- import getSingleValueGenerator from './singleValue.js';
3
- export default function (config, parentEl, extraOptions) {
4
- if (config) {
5
- const node = typeof parentEl === 'object' ? parentEl : typeof parentEl === 'string' ? document.querySelector(parentEl) : null;
6
- if (node) {
7
- if (node.lastChild) {
8
- node.removeChild(node.lastChild);
9
- }
10
- let content;
11
- switch (config.type) {
12
- case VIS_TYPE_SINGLE_VALUE:
13
- default:
14
- content = getSingleValueGenerator(config, node, extraOptions);
15
- break;
16
- }
17
- node.appendChild(content);
18
- return node.innerHTML;
19
- }
20
- }
21
- }