@sis-cc/dotstatsuite-components 20.6.0 → 21.0.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.
Files changed (161) hide show
  1. package/.gitlab-ci.yml +4 -5
  2. package/README.md +1 -17
  3. package/package.json +20 -14
  4. package/src/bridge-d3-react/src/react-chart-factory.js +1 -2
  5. package/src/rules/src/factories/sample-series.js +1 -1
  6. package/src/rules/src/index.js +14 -13
  7. package/src/rules/src/observation-formater.js +0 -1
  8. package/src/rules/src/properties/focus.js +3 -3
  9. package/src/rules/src/sdmx-data/index.js +2 -0
  10. package/src/viewer/src/index.js +4 -5
  11. package/src/viewer/src/legends/AxisLegend.js +0 -7
  12. package/src/viewer/src/legends/FocusLegend.js +2 -10
  13. package/src/viewer/src/legends/Legend.js +0 -6
  14. package/src/viewer/src/legends/SeriesLegend.js +0 -7
  15. package/vite.config.mjs +51 -0
  16. package/lib/app.js +0 -22
  17. package/lib/bridge-d3-react/src/app.js +0 -98
  18. package/lib/bridge-d3-react/src/index.js +0 -33
  19. package/lib/bridge-d3-react/src/mock-choro.js +0 -41
  20. package/lib/bridge-d3-react/src/react-chart-factory.js +0 -103
  21. package/lib/index.js +0 -41
  22. package/lib/rules/src/chart/getAxisOptions.js +0 -206
  23. package/lib/rules/src/chart/getBaseOptions.js +0 -51
  24. package/lib/rules/src/chart/getChartOptions.js +0 -106
  25. package/lib/rules/src/chart/getGridOptions.js +0 -21
  26. package/lib/rules/src/chart/getTooltipOptions.js +0 -84
  27. package/lib/rules/src/constants.js +0 -68
  28. package/lib/rules/src/date.js +0 -180
  29. package/lib/rules/src/dimension-utils.js +0 -67
  30. package/lib/rules/src/factories/choro-series.js +0 -99
  31. package/lib/rules/src/factories/sample-focus.js +0 -64
  32. package/lib/rules/src/factories/sample-series.js +0 -90
  33. package/lib/rules/src/factories/scatter-dimension.js +0 -72
  34. package/lib/rules/src/factories/scatter-focus.js +0 -77
  35. package/lib/rules/src/factories/scatter-series.js +0 -145
  36. package/lib/rules/src/factories/stacked-dimension.js +0 -42
  37. package/lib/rules/src/factories/stacked-series.js +0 -166
  38. package/lib/rules/src/factories/symbol-dimension.js +0 -69
  39. package/lib/rules/src/factories/symbol-series.js +0 -119
  40. package/lib/rules/src/factories/timeline-focus.js +0 -38
  41. package/lib/rules/src/factories/timeline-series.js +0 -121
  42. package/lib/rules/src/get-values-enhanced.js +0 -141
  43. package/lib/rules/src/header/getDefaultSubtitle.js +0 -50
  44. package/lib/rules/src/header/getHeaderUnits.js +0 -26
  45. package/lib/rules/src/header/getSubtitleFlags.js +0 -53
  46. package/lib/rules/src/header/getTitleFlags.js +0 -24
  47. package/lib/rules/src/header/index.js +0 -41
  48. package/lib/rules/src/index.js +0 -714
  49. package/lib/rules/src/layout.js +0 -98
  50. package/lib/rules/src/observation-formater.js +0 -112
  51. package/lib/rules/src/preparators/enhanceObservations.js +0 -142
  52. package/lib/rules/src/preparators/formatValue.js +0 -83
  53. package/lib/rules/src/preparators/getObservations.js +0 -27
  54. package/lib/rules/src/preparators/getReportingYearStart.js +0 -52
  55. package/lib/rules/src/properties/errors.js +0 -31
  56. package/lib/rules/src/properties/focus.js +0 -90
  57. package/lib/rules/src/properties/getAvailableChartTypes.js +0 -30
  58. package/lib/rules/src/properties/getHeaderProps.js +0 -83
  59. package/lib/rules/src/properties/getInformationsStateFromNewProps.js +0 -61
  60. package/lib/rules/src/properties/getObservationsType.js +0 -31
  61. package/lib/rules/src/properties/getStringifiedSubtitle.js +0 -18
  62. package/lib/rules/src/properties/index.js +0 -401
  63. package/lib/rules/src/properties/information.js +0 -79
  64. package/lib/rules/src/properties/linear.js +0 -158
  65. package/lib/rules/src/properties/scatter.js +0 -174
  66. package/lib/rules/src/properties/stacked.js +0 -133
  67. package/lib/rules/src/properties/symbol.js +0 -96
  68. package/lib/rules/src/properties/utils.js +0 -126
  69. package/lib/rules/src/sdmx-data/index.js +0 -55
  70. package/lib/rules/src/table/factories/getCellValue.js +0 -57
  71. package/lib/rules/src/table/index.js +0 -14
  72. package/lib/rules/src/v8-transformer.js +0 -184
  73. package/lib/rules/test/extractSdmxArtefacts.js +0 -37
  74. package/lib/rules/test/get-values-enhanced.test.js +0 -128
  75. package/lib/rules/test/oecd-HEALTH_PROT-parsed.js +0 -303
  76. package/lib/rules/test/scatter-property.js +0 -403
  77. package/lib/rules/test/stacked-property.js +0 -244
  78. package/lib/rules/test/symbol-property.js +0 -234
  79. package/lib/rules/test/v8-transformer.test.js +0 -82
  80. package/lib/rules2/src/applyHierarchicalCodesToDim.js +0 -175
  81. package/lib/rules2/src/combinedValuesDisplay.js +0 -71
  82. package/lib/rules2/src/constants.js +0 -11
  83. package/lib/rules2/src/duplicateObservations.js +0 -39
  84. package/lib/rules2/src/enhanceObservations.js +0 -103
  85. package/lib/rules2/src/getAdvAttrSeriesAtCoordinates.js +0 -39
  86. package/lib/rules2/src/getAttributesSeries.js +0 -40
  87. package/lib/rules2/src/getCombinationDefinitions.js +0 -72
  88. package/lib/rules2/src/getDataflowAttributes.js +0 -34
  89. package/lib/rules2/src/getDataflowTooltipAttributesIds.js +0 -38
  90. package/lib/rules2/src/getDimensionValuesIndexes.js +0 -19
  91. package/lib/rules2/src/getHCodelistsRefsInData.js +0 -49
  92. package/lib/rules2/src/getHeaderCombinations.js +0 -51
  93. package/lib/rules2/src/getHeaderCoordinates.js +0 -18
  94. package/lib/rules2/src/getHeaderSubtitle.js +0 -41
  95. package/lib/rules2/src/getHeaderTitle.js +0 -29
  96. package/lib/rules2/src/getMSDInformations.js +0 -43
  97. package/lib/rules2/src/getManyValuesDimensions.js +0 -39
  98. package/lib/rules2/src/getMetadataCoordinates.js +0 -40
  99. package/lib/rules2/src/getMetadataStructureFromData.js +0 -23
  100. package/lib/rules2/src/getNotDisplayedIds.js +0 -58
  101. package/lib/rules2/src/getOneValueDimensions.js +0 -48
  102. package/lib/rules2/src/getSeriesCombinations.js +0 -33
  103. package/lib/rules2/src/hasCellMetadata.js +0 -22
  104. package/lib/rules2/src/hierarchiseDimensionWithAdvancedHierarchy2.js +0 -65
  105. package/lib/rules2/src/hierarchiseDimensionWithNativeHierarchy2.js +0 -39
  106. package/lib/rules2/src/index.js +0 -443
  107. package/lib/rules2/src/parseAttributes.js +0 -51
  108. package/lib/rules2/src/parseCombinations.js +0 -96
  109. package/lib/rules2/src/parseHierarchicalCodelist.js +0 -57
  110. package/lib/rules2/src/parseMetadataSeries.js +0 -119
  111. package/lib/rules2/src/prepareData.js +0 -113
  112. package/lib/rules2/src/refineAttributes.js +0 -32
  113. package/lib/rules2/src/refineDimensions.js +0 -38
  114. package/lib/rules2/src/refineMetadataCoordinates.js +0 -35
  115. package/lib/rules2/src/refineTimePeriod.js +0 -154
  116. package/lib/rules2/src/sdmx3.0DataFormatPatch.js +0 -20
  117. package/lib/rules2/src/table/declineObservationsOverAttributes.js +0 -43
  118. package/lib/rules2/src/table/getCells.js +0 -90
  119. package/lib/rules2/src/table/getCellsAttributesIds.js +0 -63
  120. package/lib/rules2/src/table/getCellsMetadataCoordinates.js +0 -30
  121. package/lib/rules2/src/table/getCombinationDimensionsData.js +0 -48
  122. package/lib/rules2/src/table/getCuratedCells.js +0 -28
  123. package/lib/rules2/src/table/getFlagsAndNotes.js +0 -30
  124. package/lib/rules2/src/table/getIndexedCombinationsByDisplay.js +0 -31
  125. package/lib/rules2/src/table/getLayout.js +0 -105
  126. package/lib/rules2/src/table/getLayoutData2.js +0 -269
  127. package/lib/rules2/src/table/getSortedLayoutIndexes.js +0 -136
  128. package/lib/rules2/src/table/getTableLabelAccessor.js +0 -20
  129. package/lib/rules2/src/table/getTableLayoutIds.js +0 -365
  130. package/lib/rules2/src/table/getTableProps.js +0 -96
  131. package/lib/rules2/src/table/parseSeriesIndexesHierarchies.js +0 -124
  132. package/lib/rules2/src/table/parseValueHierarchy.js +0 -63
  133. package/lib/rules2/src/table/refineLayoutSize2.js +0 -293
  134. package/lib/rules2/src/utils.js +0 -48
  135. package/lib/viewer/mocks/bar.js +0 -21
  136. package/lib/viewer/mocks/gpp-symbol.js +0 -55
  137. package/lib/viewer/mocks/gpp-time.js +0 -1023
  138. package/lib/viewer/mocks/row.js +0 -26
  139. package/lib/viewer/mocks/scatter.js +0 -84
  140. package/lib/viewer/mocks/stack.js +0 -93
  141. package/lib/viewer/src/app/leg.js +0 -101
  142. package/lib/viewer/src/app/nodata-res.js +0 -40
  143. package/lib/viewer/src/app/nodata-sized.js +0 -41
  144. package/lib/viewer/src/app/one-table-cell.js +0 -75
  145. package/lib/viewer/src/app/table.js +0 -300
  146. package/lib/viewer/src/app/use-case-1.js +0 -60
  147. package/lib/viewer/src/app/use-case-2.js +0 -82
  148. package/lib/viewer/src/app/use-case-3.js +0 -52
  149. package/lib/viewer/src/app.js +0 -162
  150. package/lib/viewer/src/chart.js +0 -82
  151. package/lib/viewer/src/chartUtils/options.js +0 -30
  152. package/lib/viewer/src/chartUtils/series.js +0 -63
  153. package/lib/viewer/src/footer.js +0 -54
  154. package/lib/viewer/src/header.js +0 -29
  155. package/lib/viewer/src/index.js +0 -243
  156. package/lib/viewer/src/legends/AxisLegend.js +0 -84
  157. package/lib/viewer/src/legends/ChartLegends.js +0 -100
  158. package/lib/viewer/src/legends/FocusLegend.js +0 -89
  159. package/lib/viewer/src/legends/Legend.js +0 -88
  160. package/lib/viewer/src/legends/SeriesLegend.js +0 -108
  161. package/lib/viewer/src/utils.js +0 -36
@@ -1,166 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
8
-
9
- var _defineProperty3 = _interopRequireDefault(_defineProperty2);
10
-
11
- var _extends3 = require('babel-runtime/helpers/extends');
12
-
13
- var _extends4 = _interopRequireDefault(_extends3);
14
-
15
- var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray');
16
-
17
- var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
18
-
19
- var _dotstatsuiteSdmxjs = require('@sis-cc/dotstatsuite-sdmxjs');
20
-
21
- var _dimensionUtils = require('../dimension-utils');
22
-
23
- var _observationFormater = require('../observation-formater');
24
-
25
- var _ramda = require('ramda');
26
-
27
- var R = _interopRequireWildcard(_ramda);
28
-
29
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
30
-
31
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
32
-
33
- var flatDatapoints = function flatDatapoints(observations, dimensions, dimensionsWithValuesIndexedById, serieDimensionId, display, formaterAttrs, _ref) {
34
- var _ref2 = (0, _slicedToArray3.default)(_ref, 2),
35
- stackKey = _ref2[0],
36
- categoryKey = _ref2[1];
37
-
38
- var datapoints = R.mapObjIndexed(function (observationValue, observationKey) {
39
- var _ref3;
40
-
41
- var category = null;
42
- var value = Number(R.head(observationValue));
43
- var formater = (0, _observationFormater.getObservationFormater)(observationValue, formaterAttrs);
44
- var splittedKey = R.split(':', observationKey);
45
- var layerKey = [];
46
- var layerDimensions = R.addIndex(R.reduce)(function (memo, dimensionValueIndex, dimensionIndex) {
47
- var dimension = R.nth(dimensionIndex, dimensions);
48
- var _dimensionValue = R.pathOr({}, ['values', Number(dimensionValueIndex)], dimension);
49
- var label = (0, _dimensionUtils.dimensionValueDisplay)(display)(_dimensionValue);
50
- var dimensionValue = (0, _extends4.default)({}, _dimensionValue, {
51
- index: Number(dimensionValueIndex),
52
- label: label
53
- });
54
- if (dimension.id === serieDimensionId) {
55
- category = dimensionValue;
56
- } else if (R.has(dimension.id, dimensionsWithValuesIndexedById)) {
57
- memo.push(dimensionValue);
58
- layerKey.push(dimensionValueIndex);
59
- }
60
- return memo;
61
- }, [], splittedKey);
62
- return _ref3 = {
63
- formater: formater
64
- }, (0, _defineProperty3.default)(_ref3, categoryKey, category), (0, _defineProperty3.default)(_ref3, stackKey, value), (0, _defineProperty3.default)(_ref3, 'layerDimensions', layerDimensions), (0, _defineProperty3.default)(_ref3, 'layerKey', R.join(':', layerKey)), _ref3;
65
- }, observations);
66
-
67
- return R.values(datapoints);
68
- };
69
-
70
- var serie = function serie(observations, dimensions, dimensionsWithValuesIndexedById, singularity, display, formaterAttrs, _ref4) {
71
- var _ref5 = (0, _slicedToArray3.default)(_ref4, 2),
72
- stackKey = _ref5[0],
73
- categoryKey = _ref5[1];
74
-
75
- var serieDimensionId = R.propOr(null, 'id', singularity);
76
- var serieDimension = R.find(R.propEq('id', serieDimensionId), dimensions);
77
- if (R.isNil(serieDimension)) {
78
- return { datapoints: [], layerSeries: [] };
79
- }
80
- var _flatDatapoints = flatDatapoints(observations, dimensions, dimensionsWithValuesIndexedById, serieDimensionId, display, formaterAttrs, [stackKey, categoryKey]);
81
-
82
- var layeredDatapoints = R.groupBy(R.prop('layerKey'), _flatDatapoints); // { [layeredKey]: [dps] }
83
-
84
- var layerFullSeries = R.map(function (datapoints) {
85
- return {
86
- layerDimensions: R.prop('layerDimensions', R.head(datapoints)),
87
- layerKey: R.prop('layerKey', R.head(datapoints))
88
- };
89
- }, R.values(layeredDatapoints)); // [{ layerDimensions, layerKey }]
90
-
91
- var layerLimit = R.propOr(Infinity, 'limit', singularity);
92
- var layerSeries = R.take(layerLimit, R.sortBy(R.prop('layerKey'), layerFullSeries));
93
-
94
- var layeredDatapointsKeyedByCategory = R.mapObjIndexed(R.indexBy(R.path([categoryKey, 'id'])), layeredDatapoints); // { [layeredKey]: { [x.id]: dp } }
95
-
96
- var datapoints = R.addIndex(R.map)(function (serieValue, index) {
97
- var _ref8;
98
-
99
- var serieValueId = serieValue.id;
100
- var category = (0, _dimensionUtils.dimensionValueDisplay)(display)(serieValue);
101
- var values = R.map(function (_ref6) {
102
- var layerKey = _ref6.layerKey;
103
- return R.pathOr(null, [layerKey, serieValueId, stackKey], layeredDatapointsKeyedByCategory);
104
- }, layerSeries);
105
- var formaters = R.map(function (_ref7) {
106
- var layerKey = _ref7.layerKey;
107
- return R.pathOr(null, [layerKey, serieValueId, 'formater'], layeredDatapointsKeyedByCategory);
108
- }, layerSeries);
109
- return _ref8 = { category: category, formaters: formaters, index: index }, (0, _defineProperty3.default)(_ref8, categoryKey, category), (0, _defineProperty3.default)(_ref8, stackKey, values), (0, _defineProperty3.default)(_ref8, 'key', serieValueId), _ref8;
110
- }, serieDimension.values);
111
-
112
- var _datapoints = R.when(R.pipe(R.length, R.equals(1)), R.pipe(R.set(R.lensPath([0, 'category']), ''), R.set(R.lensPath([0, categoryKey]), '')), datapoints);
113
-
114
- return {
115
- datapoints: _datapoints,
116
- layerSeries: R.map(function (layer) {
117
- return {
118
- id: R.pipe(R.prop('layerDimensions'), R.pluck('id'), R.join(' - '))(layer),
119
- label: R.pipe(R.prop('layerDimensions'), R.pluck('label'), R.join(' - '))(layer)
120
- };
121
- }, layerSeries)
122
- };
123
- };
124
-
125
- var percentSerie = function percentSerie(stackKey) {
126
- return R.pipe(R.over(R.lensProp('datapoints'), R.map(function (dp) {
127
- var _extends2;
128
-
129
- var total = R.pipe(R.map(function (v) {
130
- return Math.abs(v);
131
- }), R.sum)(dp[stackKey]);
132
- if (!total) {
133
- return dp;
134
- }
135
- return (0, _extends4.default)({}, dp, (_extends2 = {}, (0, _defineProperty3.default)(_extends2, stackKey, R.map(function (v) {
136
- return Math.abs(v) / total * 100;
137
- }, dp[stackKey])), (0, _defineProperty3.default)(_extends2, 'formaters', null), _extends2));
138
- })), R.of);
139
- };
140
-
141
- var serieSortedByTotal = function serieSortedByTotal(stackKey) {
142
- return R.pipe(R.over(R.lensProp('datapoints'), R.sortBy(R.pipe(R.prop(stackKey), R.map(function (v) {
143
- return v > 0 ? R.negate(v) : 0;
144
- }), R.sum))), R.of);
145
- };
146
-
147
- var serieSortedByDataOrder = R.pipe(R.over(R.lensProp('datapoints'), R.sortBy(R.prop('index'))), R.of);
148
-
149
- exports.default = function (_ref9, dimensionsWithValuesIndexedById, singularity, display, formaterAttrs, _ref10) {
150
- var observations = _ref9.observations,
151
- dimensions = _ref9.dimensions;
152
-
153
- var _ref11 = (0, _slicedToArray3.default)(_ref10, 2),
154
- stackKey = _ref11[0],
155
- categoryKey = _ref11[1];
156
-
157
- var mode = R.propOr('values', 'mode', singularity);
158
- var serieDimensionId = R.propOr(null, 'id', singularity);
159
- var _serie = serie(observations, dimensions, dimensionsWithValuesIndexedById, singularity, display, formaterAttrs, [stackKey, categoryKey]);
160
- if (mode === 'percent') {
161
- return percentSerie(stackKey)(_serie);
162
- } else if ((0, _dotstatsuiteSdmxjs.isTimePeriodDimension)({ id: serieDimensionId })) {
163
- return serieSortedByDataOrder(_serie);
164
- }
165
- return serieSortedByTotal(stackKey)(_serie);
166
- };
@@ -1,69 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _take2 = require('lodash/take');
8
-
9
- var _take3 = _interopRequireDefault(_take2);
10
-
11
- var _reject2 = require('lodash/reject');
12
-
13
- var _reject3 = _interopRequireDefault(_reject2);
14
-
15
- var _isNil2 = require('lodash/isNil');
16
-
17
- var _isNil3 = _interopRequireDefault(_isNil2);
18
-
19
- var _isUndefined2 = require('lodash/isUndefined');
20
-
21
- var _isUndefined3 = _interopRequireDefault(_isUndefined2);
22
-
23
- var _isEmpty2 = require('lodash/isEmpty');
24
-
25
- var _isEmpty3 = _interopRequireDefault(_isEmpty2);
26
-
27
- var _head2 = require('lodash/head');
28
-
29
- var _head3 = _interopRequireDefault(_head2);
30
-
31
- var _get2 = require('lodash/get');
32
-
33
- var _get3 = _interopRequireDefault(_get2);
34
-
35
- var _find2 = require('lodash/find');
36
-
37
- var _find3 = _interopRequireDefault(_find2);
38
-
39
- var _dotstatsuiteSdmxjs = require('@sis-cc/dotstatsuite-sdmxjs');
40
-
41
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
42
-
43
- exports.default = function (dimensions, ids) {
44
- if ((0, _isEmpty3.default)(dimensions)) return;
45
-
46
- var symbolDimension = undefined;
47
- var id = (0, _get3.default)(ids, 'id');
48
- if (!(0, _isNil3.default)(id)) symbolDimension = (0, _find3.default)(dimensions, { id: id });
49
-
50
- if ((0, _isUndefined3.default)(symbolDimension)) {
51
- var isAreaOrTimeDimension = function isAreaOrTimeDimension(d) {
52
- return (0, _dotstatsuiteSdmxjs.isRefAreaDimension)(d) || (0, _dotstatsuiteSdmxjs.isTimePeriodDimension)(d);
53
- };
54
- var _dimensions1 = (0, _reject3.default)(dimensions, isAreaOrTimeDimension);
55
- var _dimensions2 = (0, _reject3.default)(dimensions, _dotstatsuiteSdmxjs.isRefAreaDimension);
56
- if ((0, _isEmpty3.default)(_dimensions1)) {
57
- symbolDimension = (0, _head3.default)((0, _isEmpty3.default)(_dimensions2) ? dimensions : _dimensions2);
58
- } else {
59
- symbolDimension = (0, _head3.default)(_dimensions1);
60
- }
61
- }
62
-
63
- var symbolDimensionId = (0, _get3.default)(symbolDimension, 'id');
64
-
65
- return {
66
- id: symbolDimensionId,
67
- serie: (0, _take3.default)(symbolDimension.values, 5)
68
- };
69
- };
@@ -1,119 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _sortBy2 = require('lodash/sortBy');
8
-
9
- var _sortBy3 = _interopRequireDefault(_sortBy2);
10
-
11
- var _size2 = require('lodash/size');
12
-
13
- var _size3 = _interopRequireDefault(_size2);
14
-
15
- var _split2 = require('lodash/split');
16
-
17
- var _split3 = _interopRequireDefault(_split2);
18
-
19
- var _reduce2 = require('lodash/reduce');
20
-
21
- var _reduce3 = _interopRequireDefault(_reduce2);
22
-
23
- var _map2 = require('lodash/map');
24
-
25
- var _map3 = _interopRequireDefault(_map2);
26
-
27
- var _isNil2 = require('lodash/isNil');
28
-
29
- var _isNil3 = _interopRequireDefault(_isNil2);
30
-
31
- var _isEmpty2 = require('lodash/isEmpty');
32
-
33
- var _isEmpty3 = _interopRequireDefault(_isEmpty2);
34
-
35
- var _head2 = require('lodash/head');
36
-
37
- var _head3 = _interopRequireDefault(_head2);
38
-
39
- var _get2 = require('lodash/get');
40
-
41
- var _get3 = _interopRequireDefault(_get2);
42
-
43
- var _findIndex2 = require('lodash/findIndex');
44
-
45
- var _findIndex3 = _interopRequireDefault(_findIndex2);
46
-
47
- var _fill2 = require('lodash/fill');
48
-
49
- var _fill3 = _interopRequireDefault(_fill2);
50
-
51
- var _dimensionUtils = require('../dimension-utils');
52
-
53
- var _observationFormater = require('../observation-formater');
54
-
55
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
56
-
57
- var series = function series(observations, dimensions, dimensionsWithValuesIndexedById, symbolDimension, sortDirection, display, formaterAttrs) {
58
- var symbolDimensionId = (0, _get3.default)(symbolDimension, 'id', null);
59
- if (symbolDimensionId === null) return [];
60
- var symbolDimensionIndex = (0, _findIndex3.default)(dimensions, function (d) {
61
- return d.id === symbolDimensionId;
62
- });
63
- var datapoints = (0, _sortBy3.default)((0, _reduce3.default)(observations, function (memo, observationValue, observationKey) {
64
- if (!(0, _head3.default)(observationValue)) {
65
- // because yes it is possible to have null observations, why not ...
66
- return memo;
67
- }
68
- var oDimensionValuesIndexes = (0, _split3.default)(observationKey, ':');
69
- var oSymbolDimensionValueIndex = Number(oDimensionValuesIndexes[symbolDimensionIndex]);
70
- var oSymbolDimensionValueId = dimensions[symbolDimensionIndex].values[oSymbolDimensionValueIndex].id;
71
-
72
- var symbolIndex = (0, _findIndex3.default)(symbolDimension.serie, function (v) {
73
- return v.id === oSymbolDimensionValueId;
74
- });
75
- if (symbolIndex === -1) {
76
- return memo;
77
- }
78
- var category = (0, _dimensionUtils.categoryDisplay)(oDimensionValuesIndexes, dimensions, dimensionsWithValuesIndexedById, symbolDimensionId, display);
79
- var ids = (0, _dimensionUtils.categoryDisplay)(oDimensionValuesIndexes, dimensions, dimensionsWithValuesIndexedById, symbolDimensionId, 'code');
80
- var dpIndex = (0, _findIndex3.default)(memo, function (dp) {
81
- return dp.key === ids;
82
- });
83
- var dpValues = dpIndex === -1 ? (0, _fill3.default)(Array((0, _size3.default)(symbolDimension.serie)), null) : memo[dpIndex].values;
84
- var dpFormatedValues = dpIndex === -1 ? (0, _fill3.default)(Array((0, _size3.default)(symbolDimension.serie)), null) : memo[dpIndex].formatedValues;
85
- dpValues[oSymbolDimensionValueIndex] = (0, _head3.default)(observationValue);
86
- dpFormatedValues[oSymbolDimensionValueIndex] = (0, _observationFormater.getFormatedObservation)(observationValue, formaterAttrs);
87
- var key = ids;
88
- if ((0, _isNil3.default)(ids) || (0, _isEmpty3.default)(ids)) {
89
- key = 'uniq-dp';
90
- }
91
- if (dpIndex !== -1) {
92
- memo[dpIndex].values = dpValues;
93
- memo[dpIndex].formatedValues = dpFormatedValues;
94
- } else {
95
- memo.push({ category: category, formatedValues: dpFormatedValues, values: dpValues, key: key });
96
- }
97
- return memo;
98
- }, []), function (d) {
99
- return (0, _head3.default)(d.values) * sortDirection;
100
- });
101
- var symbolValues = (0, _map3.default)(symbolDimension.serie, function (v) {
102
- return (0, _dimensionUtils.dimensionValueDisplay)(display)(v);
103
- });
104
- return [{ datapoints: datapoints, symbolValues: symbolValues }];
105
- };
106
-
107
- exports.default = function (_ref, chartType, dimensionsWithValuesIndexedById, symbolDimension, display, formaterAttrs) {
108
- var observations = _ref.observations,
109
- dimensions = _ref.dimensions;
110
-
111
- switch (chartType) {
112
- case 'HorizontalSymbolChart':
113
- return series(observations, dimensions, dimensionsWithValuesIndexedById, symbolDimension, -1, display, formaterAttrs);
114
- case 'VerticalSymbolChart':
115
- return series(observations, dimensions, dimensionsWithValuesIndexedById, symbolDimension, 1, display, formaterAttrs);
116
- default:
117
- return [];
118
- }
119
- };
@@ -1,38 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _isArray2 = require('lodash/isArray');
8
-
9
- var _isArray3 = _interopRequireDefault(_isArray2);
10
-
11
- var _findIndex2 = require('lodash/findIndex');
12
-
13
- var _findIndex3 = _interopRequireDefault(_findIndex2);
14
-
15
- var _each2 = require('lodash/each');
16
-
17
- var _each3 = _interopRequireDefault(_each2);
18
-
19
- var _map2 = require('lodash/map');
20
-
21
- var _map3 = _interopRequireDefault(_map2);
22
-
23
- exports.default = focus;
24
-
25
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
-
27
- function focus(series, focusSelections) {
28
- return (0, _map3.default)(series, function (serie, index) {
29
- (0, _each3.default)(focusSelections, function (focusSelection, focusKey) {
30
- var _focusKey = focusKey + 'Index';
31
- var res = (0, _findIndex3.default)((0, _isArray3.default)(focusSelection) ? focusSelection : [focusSelection], function (focus) {
32
- return focus.value === serie.key;
33
- });
34
- serie['' + _focusKey] = res;
35
- });
36
- return serie;
37
- });
38
- }
@@ -1,121 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _extends2 = require('babel-runtime/helpers/extends');
8
-
9
- var _extends3 = _interopRequireDefault(_extends2);
10
-
11
- var _split2 = require('lodash/split');
12
-
13
- var _split3 = _interopRequireDefault(_split2);
14
-
15
- var _sortBy2 = require('lodash/sortBy');
16
-
17
- var _sortBy3 = _interopRequireDefault(_sortBy2);
18
-
19
- var _reduce2 = require('lodash/reduce');
20
-
21
- var _reduce3 = _interopRequireDefault(_reduce2);
22
-
23
- var _map2 = require('lodash/map');
24
-
25
- var _map3 = _interopRequireDefault(_map2);
26
-
27
- var _isNil2 = require('lodash/isNil');
28
-
29
- var _isNil3 = _interopRequireDefault(_isNil2);
30
-
31
- var _isEmpty2 = require('lodash/isEmpty');
32
-
33
- var _isEmpty3 = _interopRequireDefault(_isEmpty2);
34
-
35
- var _head2 = require('lodash/head');
36
-
37
- var _head3 = _interopRequireDefault(_head2);
38
-
39
- var _has2 = require('lodash/has');
40
-
41
- var _has3 = _interopRequireDefault(_has2);
42
-
43
- var _get2 = require('lodash/get');
44
-
45
- var _get3 = _interopRequireDefault(_get2);
46
-
47
- var _findIndex2 = require('lodash/findIndex');
48
-
49
- var _findIndex3 = _interopRequireDefault(_findIndex2);
50
-
51
- var _dotstatsuiteSdmxjs = require('@sis-cc/dotstatsuite-sdmxjs');
52
-
53
- var _dimensionUtils = require('../dimension-utils');
54
-
55
- var _observationFormater = require('../observation-formater');
56
-
57
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
58
-
59
- var getDimensionValues = function getDimensionValues(splitObservationKey, dimensions, dimensionsWithValuesIndexedById, rejectedId, display) {
60
- return (0, _reduce3.default)(splitObservationKey, function (memo, dimensionValueIndex, dimensionIndex) {
61
- var dimension = (0, _get3.default)(dimensions, '[' + dimensionIndex + ']', {});
62
- if ((0, _has3.default)(dimensionsWithValuesIndexedById, dimension.id) && dimension.id !== rejectedId) {
63
- var dimensionValue = (0, _get3.default)(dimension, 'values[' + dimensionValueIndex + ']', {});
64
- memo[dimensionValue.id] = (0, _extends3.default)({}, dimensionValue, {
65
- name: (0, _dimensionUtils.dimensionValueDisplayAt)(dimension, dimensionValueIndex, display)
66
- });
67
- }
68
- return memo;
69
- }, {});
70
- };
71
-
72
- var series = function series(observations, dimensions, dimensionsWithValuesIndexedById, timePeriodDimensionIndex, display, formaterAttrs) {
73
- var rawSeries = (0, _reduce3.default)(observations, function (memo, o, k) {
74
- var oDimensionValuesIndexes = (0, _split3.default)(k, ':');
75
-
76
- var timePeriodDimension = (0, _get3.default)(dimensions, '[' + timePeriodDimensionIndex + ']');
77
- var timePeriodDimensionValueIndex = oDimensionValuesIndexes[timePeriodDimensionIndex];
78
- var timePeriod = (0, _get3.default)(timePeriodDimension, 'values[' + timePeriodDimensionValueIndex + ']');
79
-
80
- var datapoint = {
81
- x: timePeriod.start,
82
- y: (0, _head3.default)(o),
83
- timeLabel: timePeriod.name,
84
- formatedValue: (0, _observationFormater.getFormatedObservation)(o, formaterAttrs),
85
- dimensionValues: getDimensionValues(oDimensionValuesIndexes, dimensions, dimensionsWithValuesIndexedById, timePeriodDimension.id, display)
86
- //index: Number(timePeriodDimensionValueIndex)
87
- };
88
-
89
- var category = (0, _dimensionUtils.categoryDisplay)(oDimensionValuesIndexes, dimensions, dimensionsWithValuesIndexedById, timePeriodDimension.id, display);
90
- var key = (0, _dimensionUtils.categoryDisplay)(oDimensionValuesIndexes, dimensions, dimensionsWithValuesIndexedById, timePeriodDimension.id, 'code');
91
- if ((0, _isNil3.default)(key) || (0, _isEmpty3.default)(key)) {
92
- key = 'uniq-dp';
93
- }
94
- var serieIndex = (0, _findIndex3.default)(memo, function (serie) {
95
- return serie.key === key;
96
- });
97
-
98
- if (serieIndex !== -1) memo[serieIndex].datapoints.push(datapoint);else memo.push({ datapoints: [datapoint], category: category, key: key });
99
-
100
- return memo;
101
- }, []);
102
- return (0, _map3.default)(rawSeries, function (serie) {
103
- return (0, _extends3.default)({}, serie, {
104
- datapoints: (0, _sortBy3.default)(serie.datapoints, function (datapoint) {
105
- return datapoint.x;
106
- })
107
- });
108
- });
109
- };
110
-
111
- exports.default = function (_ref, dimensionsWithValuesIndexedById, display, formaterAttrs) {
112
- var observations = _ref.observations,
113
- dimensions = _ref.dimensions;
114
-
115
- var timePeriodDimension = (0, _dotstatsuiteSdmxjs.getTimePeriodDimension)({ dimensions: dimensions });
116
- var timePeriodDimensionIndex = timePeriodDimension ? timePeriodDimension.index : -1;
117
- var timePeriodDimensionHasManyPeriods = !(0, _has3.default)(dimensionsWithValuesIndexedById, (0, _get3.default)(timePeriodDimension, 'id'));
118
- if (timePeriodDimensionIndex === -1 || timePeriodDimensionHasManyPeriods) return [];
119
-
120
- return series(observations, dimensions, dimensionsWithValuesIndexedById, timePeriodDimensionIndex, display, formaterAttrs);
121
- };
@@ -1,141 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getValuesEnhanced = undefined;
7
-
8
- var _extends2 = require('babel-runtime/helpers/extends');
9
-
10
- var _extends3 = _interopRequireDefault(_extends2);
11
-
12
- var _ramda = require('ramda');
13
-
14
- var R = _interopRequireWildcard(_ramda);
15
-
16
- var _dateFns = require('date-fns');
17
-
18
- var _dateFns2 = _interopRequireDefault(_dateFns);
19
-
20
- var _dotstatsuiteSdmxjs = require('@sis-cc/dotstatsuite-sdmxjs');
21
-
22
- var _sdmxData = require('./sdmx-data');
23
-
24
- var _date = require('./date');
25
-
26
- var _refineTimePeriod = require('../../rules2/src/refineTimePeriod');
27
-
28
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
29
-
30
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
-
32
- var isNonCoded = R.both(R.has('value'), R.pipe(R.has('id'), R.not));
33
-
34
- var getId = function getId(value, fallbackId) {
35
- var valueId = R.prop('id', value);
36
- if (valueId) return valueId;
37
- if (isNonCoded(value)) return R.prop('value', value);
38
- // Fallback (value has no id but is not a non-coded)
39
- return fallbackId;
40
- };
41
-
42
- var getName = function getName(_ref) {
43
- var isTimeDimension = _ref.isTimeDimension,
44
- options = _ref.options,
45
- locale = _ref.locale,
46
- start = _ref.start,
47
- reportYearStart = _ref.reportYearStart;
48
- return function (value) {
49
- if (!isTimeDimension) return R.prop('name')(value);
50
- return (0, _date.getReportedTimePeriodLabel)(options.frequency, options.timeFormat, locale)(reportYearStart, {
51
- id: value.id,
52
- reportedStart: start,
53
- start: new Date(value.start)
54
- });
55
- };
56
- };
57
-
58
- var getValuesEnhanced = exports.getValuesEnhanced = function getValuesEnhanced(_ref2) {
59
- var _ref2$locale = _ref2.locale,
60
- locale = _ref2$locale === undefined ? '' : _ref2$locale,
61
- _ref2$annotations = _ref2.annotations,
62
- annotations = _ref2$annotations === undefined ? [] : _ref2$annotations,
63
- _ref2$isTimeDimension = _ref2.isTimeDimension,
64
- isTimeDimension = _ref2$isTimeDimension === undefined ? false : _ref2$isTimeDimension,
65
- _ref2$parent = _ref2.parent,
66
- parent = _ref2$parent === undefined ? '' : _ref2$parent,
67
- reportYearStart = _ref2.reportYearStart,
68
- _ref2$hiddenIds = _ref2.hiddenIds,
69
- hiddenIds = _ref2$hiddenIds === undefined ? {} : _ref2$hiddenIds,
70
- _ref2$options = _ref2.options,
71
- options = _ref2$options === undefined ? {} : _ref2$options;
72
-
73
- return R.pipe(R.addIndex(R.map)(function (value, __index) {
74
- var id = getId(value, parent + '-' + __index);
75
-
76
- var valueAnnotations = R.pipe(R.propOr([], 'annotations'), R.flip(R.props)(annotations))(value);
77
-
78
- var isHidden = R.has(parent + '.' + id, hiddenIds) || (0, _sdmxData.getIsHidden)(valueAnnotations);
79
-
80
- var _ref3 = isTimeDimension ? getTimePeriodAttributes({ reportYearStart: reportYearStart, options: options })(value) : { notes: [] },
81
- start = _ref3.start,
82
- notes = _ref3.notes;
83
-
84
- var __indexPosition = NaN;
85
- if (isNaN(__indexPosition)) {
86
- __indexPosition = (0, _dotstatsuiteSdmxjs.getCodeOrder)({ annotations: valueAnnotations });
87
- }
88
- var res = (0, _extends3.default)({}, R.omit(['names', 'value'], value), {
89
- id: id,
90
- display: !isHidden,
91
- start: start ? start.toISOString() : null,
92
- flags: notes,
93
- __indexPosition: __indexPosition,
94
- __index: __index,
95
- isNonCoded: isNonCoded(value)
96
- });
97
- if (!isNonCoded(value)) {
98
- res = R.assoc('name', getName({ isTimeDimension: isTimeDimension, options: options, locale: locale, start: start, reportYearStart: reportYearStart })(value), res);
99
- }
100
- if (isTimeDimension) {
101
- res = (0, _refineTimePeriod.refineTimePeriod)(res, {
102
- locale: locale,
103
- monthlyFormat: options.timeFormat
104
- });
105
- }
106
- return res;
107
- }),
108
- // __indexPosition is used for pre-sorting
109
- R.sortWith(isTimeDimension ? timeDimensionSorts : defaultSorts),
110
- // __indexPosition is reset after pre-sorting
111
- R.addIndex(R.map)(function (val, index) {
112
- return R.assoc('__indexPosition', index, val);
113
- }),
114
- // values are re-sorted by __index after __indexPosition settlement
115
- R.sortBy(R.prop('__index')));
116
- };
117
-
118
- var getDateForSort = function getDateForSort(key) {
119
- return function (val) {
120
- return _dateFns2.default.getTime(new Date(R.prop(key, val)));
121
- };
122
- };
123
- var byStartDate = R.ascend(getDateForSort('start'));
124
- var byEndDate = R.descend(getDateForSort('end'));
125
- var timeDimensionSorts = [byStartDate, byEndDate];
126
- var byIndexPosition = R.ascend(R.prop('__indexPosition'));
127
- var byOrder = R.ascend(R.propOr(-1, 'order'));
128
- var defaultSorts = [byIndexPosition, byOrder];
129
-
130
- var getTimePeriodAttributes = function getTimePeriodAttributes(_ref4) {
131
- var reportYearStart = _ref4.reportYearStart,
132
- options = _ref4.options;
133
- return function (value) {
134
- var reported = (0, _date.getReportedTimePeriod)(reportYearStart, value, options.frequency);
135
- var start = reported.start;
136
- var end = reported.end;
137
- var reportTimeNote = (0, _date.getReportedTimePeriodNote)(reportYearStart, start, end, options.frequency, options.isRtl);
138
- var notes = R.isNil(reportTimeNote) ? [] : R.append(reportTimeNote, []);
139
- return { start: start, notes: notes };
140
- };
141
- };