@sis-cc/dotstatsuite-components 20.5.0 → 21.0.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 (165) hide show
  1. package/.gitlab-ci.yml +3 -2
  2. package/LICENSE +1 -1
  3. package/README.md +1 -17
  4. package/package.json +20 -14
  5. package/src/bridge-d3-react/src/react-chart-factory.js +1 -2
  6. package/src/rules/src/factories/sample-series.js +1 -1
  7. package/src/rules/src/index.js +14 -13
  8. package/src/rules/src/observation-formater.js +0 -1
  9. package/src/rules/src/properties/focus.js +3 -3
  10. package/src/rules/src/sdmx-data/index.js +2 -0
  11. package/src/rules2/src/hierarchiseDimensionWithNativeHierarchy2.js +5 -1
  12. package/src/rules2/src/table/getLayoutData2.js +4 -1
  13. package/src/viewer/src/index.js +4 -5
  14. package/src/viewer/src/legends/AxisLegend.js +0 -7
  15. package/src/viewer/src/legends/FocusLegend.js +2 -10
  16. package/src/viewer/src/legends/Legend.js +0 -6
  17. package/src/viewer/src/legends/SeriesLegend.js +0 -7
  18. package/test/hierarchiseDimensionWithNativeHierarchy2.test.js +59 -32
  19. package/vite.config.mjs +51 -0
  20. package/lib/app.js +0 -22
  21. package/lib/bridge-d3-react/src/app.js +0 -98
  22. package/lib/bridge-d3-react/src/index.js +0 -33
  23. package/lib/bridge-d3-react/src/mock-choro.js +0 -41
  24. package/lib/bridge-d3-react/src/react-chart-factory.js +0 -103
  25. package/lib/index.js +0 -41
  26. package/lib/rules/src/chart/getAxisOptions.js +0 -206
  27. package/lib/rules/src/chart/getBaseOptions.js +0 -51
  28. package/lib/rules/src/chart/getChartOptions.js +0 -106
  29. package/lib/rules/src/chart/getGridOptions.js +0 -21
  30. package/lib/rules/src/chart/getTooltipOptions.js +0 -84
  31. package/lib/rules/src/constants.js +0 -68
  32. package/lib/rules/src/date.js +0 -180
  33. package/lib/rules/src/dimension-utils.js +0 -67
  34. package/lib/rules/src/factories/choro-series.js +0 -99
  35. package/lib/rules/src/factories/sample-focus.js +0 -64
  36. package/lib/rules/src/factories/sample-series.js +0 -90
  37. package/lib/rules/src/factories/scatter-dimension.js +0 -72
  38. package/lib/rules/src/factories/scatter-focus.js +0 -77
  39. package/lib/rules/src/factories/scatter-series.js +0 -145
  40. package/lib/rules/src/factories/stacked-dimension.js +0 -42
  41. package/lib/rules/src/factories/stacked-series.js +0 -166
  42. package/lib/rules/src/factories/symbol-dimension.js +0 -69
  43. package/lib/rules/src/factories/symbol-series.js +0 -119
  44. package/lib/rules/src/factories/timeline-focus.js +0 -38
  45. package/lib/rules/src/factories/timeline-series.js +0 -121
  46. package/lib/rules/src/get-values-enhanced.js +0 -141
  47. package/lib/rules/src/header/getDefaultSubtitle.js +0 -50
  48. package/lib/rules/src/header/getHeaderUnits.js +0 -26
  49. package/lib/rules/src/header/getSubtitleFlags.js +0 -53
  50. package/lib/rules/src/header/getTitleFlags.js +0 -24
  51. package/lib/rules/src/header/index.js +0 -41
  52. package/lib/rules/src/index.js +0 -714
  53. package/lib/rules/src/layout.js +0 -98
  54. package/lib/rules/src/observation-formater.js +0 -112
  55. package/lib/rules/src/preparators/enhanceObservations.js +0 -142
  56. package/lib/rules/src/preparators/formatValue.js +0 -83
  57. package/lib/rules/src/preparators/getObservations.js +0 -27
  58. package/lib/rules/src/preparators/getReportingYearStart.js +0 -52
  59. package/lib/rules/src/properties/errors.js +0 -31
  60. package/lib/rules/src/properties/focus.js +0 -90
  61. package/lib/rules/src/properties/getAvailableChartTypes.js +0 -30
  62. package/lib/rules/src/properties/getHeaderProps.js +0 -83
  63. package/lib/rules/src/properties/getInformationsStateFromNewProps.js +0 -61
  64. package/lib/rules/src/properties/getObservationsType.js +0 -31
  65. package/lib/rules/src/properties/getStringifiedSubtitle.js +0 -18
  66. package/lib/rules/src/properties/index.js +0 -401
  67. package/lib/rules/src/properties/information.js +0 -79
  68. package/lib/rules/src/properties/linear.js +0 -158
  69. package/lib/rules/src/properties/scatter.js +0 -174
  70. package/lib/rules/src/properties/stacked.js +0 -133
  71. package/lib/rules/src/properties/symbol.js +0 -96
  72. package/lib/rules/src/properties/utils.js +0 -126
  73. package/lib/rules/src/sdmx-data/index.js +0 -55
  74. package/lib/rules/src/table/factories/getCellValue.js +0 -57
  75. package/lib/rules/src/table/index.js +0 -14
  76. package/lib/rules/src/v8-transformer.js +0 -184
  77. package/lib/rules/test/extractSdmxArtefacts.js +0 -37
  78. package/lib/rules/test/get-values-enhanced.test.js +0 -128
  79. package/lib/rules/test/oecd-HEALTH_PROT-parsed.js +0 -303
  80. package/lib/rules/test/scatter-property.js +0 -403
  81. package/lib/rules/test/stacked-property.js +0 -244
  82. package/lib/rules/test/symbol-property.js +0 -234
  83. package/lib/rules/test/v8-transformer.test.js +0 -82
  84. package/lib/rules2/src/applyHierarchicalCodesToDim.js +0 -175
  85. package/lib/rules2/src/combinedValuesDisplay.js +0 -71
  86. package/lib/rules2/src/constants.js +0 -11
  87. package/lib/rules2/src/duplicateObservations.js +0 -39
  88. package/lib/rules2/src/enhanceObservations.js +0 -103
  89. package/lib/rules2/src/getAdvAttrSeriesAtCoordinates.js +0 -39
  90. package/lib/rules2/src/getAttributesSeries.js +0 -40
  91. package/lib/rules2/src/getCombinationDefinitions.js +0 -72
  92. package/lib/rules2/src/getDataflowAttributes.js +0 -34
  93. package/lib/rules2/src/getDataflowTooltipAttributesIds.js +0 -38
  94. package/lib/rules2/src/getDimensionValuesIndexes.js +0 -19
  95. package/lib/rules2/src/getHCodelistsRefsInData.js +0 -49
  96. package/lib/rules2/src/getHeaderCombinations.js +0 -51
  97. package/lib/rules2/src/getHeaderCoordinates.js +0 -18
  98. package/lib/rules2/src/getHeaderSubtitle.js +0 -41
  99. package/lib/rules2/src/getHeaderTitle.js +0 -29
  100. package/lib/rules2/src/getMSDInformations.js +0 -43
  101. package/lib/rules2/src/getManyValuesDimensions.js +0 -39
  102. package/lib/rules2/src/getMetadataCoordinates.js +0 -40
  103. package/lib/rules2/src/getMetadataStructureFromData.js +0 -23
  104. package/lib/rules2/src/getNotDisplayedIds.js +0 -58
  105. package/lib/rules2/src/getOneValueDimensions.js +0 -48
  106. package/lib/rules2/src/getSeriesCombinations.js +0 -33
  107. package/lib/rules2/src/hasCellMetadata.js +0 -22
  108. package/lib/rules2/src/hierarchiseDimensionWithAdvancedHierarchy2.js +0 -65
  109. package/lib/rules2/src/hierarchiseDimensionWithNativeHierarchy2.js +0 -36
  110. package/lib/rules2/src/index.js +0 -443
  111. package/lib/rules2/src/parseAttributes.js +0 -51
  112. package/lib/rules2/src/parseCombinations.js +0 -96
  113. package/lib/rules2/src/parseHierarchicalCodelist.js +0 -57
  114. package/lib/rules2/src/parseMetadataSeries.js +0 -119
  115. package/lib/rules2/src/prepareData.js +0 -113
  116. package/lib/rules2/src/refineAttributes.js +0 -32
  117. package/lib/rules2/src/refineDimensions.js +0 -38
  118. package/lib/rules2/src/refineMetadataCoordinates.js +0 -35
  119. package/lib/rules2/src/refineTimePeriod.js +0 -154
  120. package/lib/rules2/src/sdmx3.0DataFormatPatch.js +0 -20
  121. package/lib/rules2/src/table/declineObservationsOverAttributes.js +0 -43
  122. package/lib/rules2/src/table/getCells.js +0 -90
  123. package/lib/rules2/src/table/getCellsAttributesIds.js +0 -63
  124. package/lib/rules2/src/table/getCellsMetadataCoordinates.js +0 -30
  125. package/lib/rules2/src/table/getCombinationDimensionsData.js +0 -48
  126. package/lib/rules2/src/table/getCuratedCells.js +0 -28
  127. package/lib/rules2/src/table/getFlagsAndNotes.js +0 -30
  128. package/lib/rules2/src/table/getIndexedCombinationsByDisplay.js +0 -31
  129. package/lib/rules2/src/table/getLayout.js +0 -105
  130. package/lib/rules2/src/table/getLayoutData2.js +0 -269
  131. package/lib/rules2/src/table/getSortedLayoutIndexes.js +0 -136
  132. package/lib/rules2/src/table/getTableLabelAccessor.js +0 -20
  133. package/lib/rules2/src/table/getTableLayoutIds.js +0 -365
  134. package/lib/rules2/src/table/getTableProps.js +0 -96
  135. package/lib/rules2/src/table/parseSeriesIndexesHierarchies.js +0 -124
  136. package/lib/rules2/src/table/parseValueHierarchy.js +0 -63
  137. package/lib/rules2/src/table/refineLayoutSize2.js +0 -293
  138. package/lib/rules2/src/utils.js +0 -48
  139. package/lib/viewer/mocks/bar.js +0 -21
  140. package/lib/viewer/mocks/gpp-symbol.js +0 -55
  141. package/lib/viewer/mocks/gpp-time.js +0 -1023
  142. package/lib/viewer/mocks/row.js +0 -26
  143. package/lib/viewer/mocks/scatter.js +0 -84
  144. package/lib/viewer/mocks/stack.js +0 -93
  145. package/lib/viewer/src/app/leg.js +0 -101
  146. package/lib/viewer/src/app/nodata-res.js +0 -40
  147. package/lib/viewer/src/app/nodata-sized.js +0 -41
  148. package/lib/viewer/src/app/one-table-cell.js +0 -75
  149. package/lib/viewer/src/app/table.js +0 -300
  150. package/lib/viewer/src/app/use-case-1.js +0 -60
  151. package/lib/viewer/src/app/use-case-2.js +0 -82
  152. package/lib/viewer/src/app/use-case-3.js +0 -52
  153. package/lib/viewer/src/app.js +0 -162
  154. package/lib/viewer/src/chart.js +0 -82
  155. package/lib/viewer/src/chartUtils/options.js +0 -30
  156. package/lib/viewer/src/chartUtils/series.js +0 -63
  157. package/lib/viewer/src/footer.js +0 -54
  158. package/lib/viewer/src/header.js +0 -29
  159. package/lib/viewer/src/index.js +0 -243
  160. package/lib/viewer/src/legends/AxisLegend.js +0 -84
  161. package/lib/viewer/src/legends/ChartLegends.js +0 -100
  162. package/lib/viewer/src/legends/FocusLegend.js +0 -89
  163. package/lib/viewer/src/legends/Legend.js +0 -88
  164. package/lib/viewer/src/legends/SeriesLegend.js +0 -108
  165. package/lib/viewer/src/utils.js +0 -36
@@ -1,63 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getCellsAttributesIds = undefined;
7
-
8
- var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray');
9
-
10
- var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
11
-
12
- var _extends2 = require('babel-runtime/helpers/extends');
13
-
14
- var _extends3 = _interopRequireDefault(_extends2);
15
-
16
- var _ramda = require('ramda');
17
-
18
- var R = _interopRequireWildcard(_ramda);
19
-
20
- 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; } }
21
-
22
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
-
24
- var getCellsAttributesIds = exports.getCellsAttributesIds = function getCellsAttributesIds(layoutIds, attributes) {
25
- return R.reduce(function (acc, attr) {
26
- if (!attr.series) {
27
- return acc;
28
- }
29
- if (R.isEmpty(attr.relationship || [])) {
30
- return R.assoc(attr.id, attr.id, acc);
31
- }
32
- var indexedHeaderIds = R.indexBy(R.identity, layoutIds.header);
33
- var indexedSectionsIds = R.indexBy(R.identity, layoutIds.sections);
34
- var indexedRowsIds = (0, _extends3.default)({}, indexedSectionsIds, R.indexBy(R.identity, layoutIds.rows));
35
-
36
- var _R$partition = R.partition(function (id) {
37
- return R.has(id, indexedHeaderIds);
38
- }, attr.relationship),
39
- _R$partition2 = (0, _slicedToArray3.default)(_R$partition, 2),
40
- idsInHeader = _R$partition2[0],
41
- rest = _R$partition2[1];
42
-
43
- if (R.isEmpty(rest)) {
44
- return acc;
45
- } else if (!R.isEmpty(idsInHeader)) {
46
- return R.assoc(attr.id, attr.id, acc);
47
- } else {
48
- var idsNotInSections = R.reject(function (id) {
49
- return R.has(id, indexedSectionsIds);
50
- }, attr.relationship);
51
- if (R.isEmpty(idsNotInSections)) {
52
- return acc;
53
- }
54
- var idsNotInRows = R.reject(function (id) {
55
- return R.has(id, indexedRowsIds);
56
- }, idsNotInSections);
57
- if (R.isEmpty(idsNotInRows)) {
58
- return acc;
59
- }
60
- }
61
- return R.assoc(attr.id, attr.id, acc);
62
- }, {}, attributes);
63
- };
@@ -1,30 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getCellsMetadataCoordinates = undefined;
7
-
8
- var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray');
9
-
10
- var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
11
-
12
- var _ramda = require('ramda');
13
-
14
- var R = _interopRequireWildcard(_ramda);
15
-
16
- 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; } }
17
-
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
- var getCellsMetadataCoordinates = exports.getCellsMetadataCoordinates = function getCellsMetadataCoordinates(metadataCoordinates, oneValueDimensions, layoutIds) {
21
- var oneValueDimsIds = R.pluck('id', oneValueDimensions);
22
- return R.reject(function (coordinates) {
23
- var columnIds = R.concat(layoutIds.header, oneValueDimsIds);
24
- if (R.isEmpty(R.omit(columnIds, coordinates))) {
25
- return true;
26
- }
27
- var rowsIds = [].concat((0, _toConsumableArray3.default)(layoutIds.sections), (0, _toConsumableArray3.default)(layoutIds.rows), (0, _toConsumableArray3.default)(oneValueDimsIds));
28
- return R.isEmpty(R.omit(rowsIds, coordinates));
29
- }, metadataCoordinates);
30
- };
@@ -1,48 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getCombinationDimensionsData = undefined;
7
-
8
- var _ramda = require('ramda');
9
-
10
- var R = _interopRequireWildcard(_ramda);
11
-
12
- var _parseValueHierarchy = require('./parseValueHierarchy');
13
-
14
- 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; } }
15
-
16
- var getCombinationDimensionsData = exports.getCombinationDimensionsData = function getCombinationDimensionsData(indexes, combination, previous, sameSerie) {
17
- var coordinates = {};
18
- var ids = [];
19
- var _sameSerie = sameSerie;
20
- var hasAdvancedAttributes = false;
21
-
22
- var _combination$dimensio = combination.dimensions,
23
- dimensions = _combination$dimensio === undefined ? [] : _combination$dimensio;
24
-
25
- var dimValues = R.addIndex(R.reduce)(function (acc, valIndex, dimIndex) {
26
- var dimension = R.nth(dimIndex, dimensions);
27
- var value = R.nth(Math.abs(valIndex), R.propOr([], 'values', dimension));
28
- hasAdvancedAttributes = !hasAdvancedAttributes ? value.hasAdvancedAttributes : true;
29
- coordinates = R.assoc(dimension.id, value.id, coordinates);
30
- ids = R.append(dimension.id + '=' + value.id, ids);
31
- var previousValue = R.propOr({}, dimension.id, previous);
32
- if ((0, _parseValueHierarchy.isSameValueAsPrevious)(value, previousValue) && _sameSerie) {
33
- return R.assoc(dimension.id, previousValue, acc);
34
- } else {
35
- var _parsedValue = (0, _parseValueHierarchy.parseValueHierarchy)(value, _sameSerie ? previousValue || {} : {}, dimension.indexedValues);
36
- var parsedValue = R.over(R.lensProp('display'), function () {
37
- var display = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
38
- return display && R.propOr(true, 'display', dimension);
39
- })(_parsedValue);
40
- if (!R.isNil(previous)) {
41
- _sameSerie = false;
42
- }
43
- return R.assoc(dimension.id, parsedValue, acc);
44
- }
45
- }, {}, indexes);
46
-
47
- return { dimValues: dimValues, coordinates: coordinates, ids: ids, sameSerie: _sameSerie, hasAdvancedAttributes: hasAdvancedAttributes };
48
- };
@@ -1,28 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getCuratedCells = undefined;
7
-
8
- var _ramda = require('ramda');
9
-
10
- var R = _interopRequireWildcard(_ramda);
11
-
12
- 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; } }
13
-
14
- var getCuratedCells = exports.getCuratedCells = function getCuratedCells(cells, layout) {
15
- var layoutIds = R.map(R.pipe(R.map(function (entry) {
16
- return R.has('dimensions', entry) ? R.pluck('id', entry.dimensions || []) : entry.id;
17
- }), R.unnest))(layout);
18
- return R.pipe(R.values, R.reduce(function (acc, cell) {
19
- var keys = R.map(R.pipe(R.map(function (dim) {
20
- var val = R.prop(dim, cell.indexedDimValIds);
21
- return dim + '=' + val;
22
- }), R.join(':')), layoutIds);
23
-
24
- return R.over(R.lensPath(R.props(['header', 'sections', 'rows'], keys)), function (cells) {
25
- return R.isNil(cells) ? [cell] : R.append(cell, cells);
26
- }, acc);
27
- }, {}))(cells);
28
- };
@@ -1,30 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getFlagsAndNotes = undefined;
7
-
8
- var _ramda = require('ramda');
9
-
10
- var R = _interopRequireWildcard(_ramda);
11
-
12
- var _constants = require('../constants');
13
-
14
- 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; } }
15
-
16
- var getFlagsAndNotes = exports.getFlagsAndNotes = function getFlagsAndNotes(attributesValues, customAttributes) {
17
- var flagsIds = R.propOr([], 'flags', customAttributes);
18
- var notesIds = R.propOr([], 'notes', customAttributes);
19
-
20
- return R.addIndex(R.reduce)(function (acc, id, index) {
21
- if (!R.has(id, attributesValues)) {
22
- return acc;
23
- }
24
- var attr = R.pick(['id', 'name', 'value', 'display'], R.prop(id, attributesValues));
25
- if (R.isNil(attr.value) || !R.pathOr(true, ['value', 'display'], attr) || !R.propOr(true, 'display', attr) || R.includes(R.path(['value', 'id'], attr), _constants.REJECTED_VALUE_IDS)) {
26
- return acc;
27
- }
28
- return R.append(index < flagsIds.length ? R.assoc('code', R.path(['value', 'id'], attr), attr) : attr, acc);
29
- }, [], R.concat(flagsIds, notesIds));
30
- };
@@ -1,31 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getIndexedCombinationsByDisplay = undefined;
7
-
8
- var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray');
9
-
10
- var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
11
-
12
- var _ramda = require('ramda');
13
-
14
- var R = _interopRequireWildcard(_ramda);
15
-
16
- 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; } }
17
-
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
- var getIndexedCombinationsByDisplay = exports.getIndexedCombinationsByDisplay = function getIndexedCombinationsByDisplay(layout, combinations) {
21
- var layoutIds = R.pipe(R.map(R.pluck('id')), R.values, R.unnest, R.indexBy(R.identity))(layout);
22
-
23
- var _R$partition = R.partition(function (comb) {
24
- return R.has(comb.id, layoutIds);
25
- }, combinations),
26
- _R$partition2 = (0, _slicedToArray3.default)(_R$partition, 2),
27
- combsInLayout = _R$partition2[0],
28
- combsInCells = _R$partition2[1];
29
-
30
- return { cells: combsInCells, layout: combsInLayout };
31
- };
@@ -1,105 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getLayout = exports.parseCombination = exports.getConceptsSet = undefined;
7
-
8
- var _set = require('babel-runtime/core-js/set');
9
-
10
- var _set2 = _interopRequireDefault(_set);
11
-
12
- var _ramda = require('ramda');
13
-
14
- var R = _interopRequireWildcard(_ramda);
15
-
16
- var _dotstatsuiteSdmxjs = require('@sis-cc/dotstatsuite-sdmxjs');
17
-
18
- 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; } }
19
-
20
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
-
22
- var getConceptsSet = exports.getConceptsSet = function getConceptsSet(ids, indexedCombinations, _upper) {
23
- var upper = R.isNil(_upper) ? new _set2.default([]) : _upper;
24
- var res = new _set2.default([]);
25
- R.forEach(function (id) {
26
- if (!R.has(id, indexedCombinations)) {
27
- res.add(id);
28
- } else {
29
- var comb = R.prop(id, indexedCombinations);
30
- R.forEach(function (c) {
31
- if (!upper.has(c)) {
32
- res.add(c);
33
- }
34
- }, comb.concepts);
35
- }
36
- }, ids);
37
- return res;
38
- };
39
-
40
- var parseCombination = exports.parseCombination = function parseCombination(_upperIds, _excludedIds) {
41
- return function (comb, indexedDimensions) {
42
- var upperIds = R.isNil(_upperIds) ? new _set2.default([]) : _upperIds;
43
- var excludedIds = R.isNil(_excludedIds) ? new _set2.default([]) : _excludedIds;
44
-
45
- var concepts = comb.concepts,
46
- relationship = comb.relationship;
47
-
48
- var dimensions = R.reduce(function (acc, id) {
49
- if (upperIds.has(id) || !R.has(id, indexedDimensions)) {
50
- return acc;
51
- }
52
- var dim = R.prop(id, indexedDimensions);
53
- return R.append(dim, acc);
54
- }, [], concepts);
55
- var excludedDep = R.find(function (i) {
56
- return excludedIds.has(i);
57
- }, relationship);
58
- if (excludedDep) {
59
- return dimensions;
60
- }
61
- return R.assoc('dimensions', dimensions, comb);
62
- };
63
- };
64
-
65
- var getLayout = exports.getLayout = function getLayout(_layoutIds, dimensions, combinations, isTimeInverted) {
66
- var layoutIds = R.mergeRight({ header: [], sections: [], rows: [] }, _layoutIds);
67
- var applyInversionOnTimeDim = function applyInversionOnTimeDim(dim) {
68
- return (0, _dotstatsuiteSdmxjs.isTimePeriodDimension)(dim) && isTimeInverted ? R.assoc('isInverted', true, dim) : dim;
69
- };
70
-
71
- var indexedDimensions = R.reduce(function (acc, dim) {
72
- return R.assoc(dim.id, applyInversionOnTimeDim(dim), acc);
73
- }, {}, dimensions);
74
-
75
- var indexedCombinations = R.indexBy(R.prop('id'), combinations);
76
- var headerConceptsSet = getConceptsSet(layoutIds.header, indexedCombinations);
77
- var sectionsConceptsSet = getConceptsSet(layoutIds.sections, indexedCombinations);
78
- var rowsConceptsSet = getConceptsSet(R.concat(layoutIds.sections, layoutIds.rows), indexedCombinations);
79
-
80
- var getLayoutLevel = function getLayoutLevel(_upperIds, _excludedIds) {
81
- return function (ids) {
82
- return R.reduce(function (acc, id) {
83
- if (R.has(id, indexedDimensions)) {
84
- var dim = R.prop(id, indexedDimensions);
85
- return R.append(dim, acc);
86
- }
87
- if (!R.has(id, indexedCombinations)) {
88
- return acc;
89
- }
90
- var comb = R.prop(id, indexedCombinations);
91
- var parsedCombination = parseCombination(_upperIds, _excludedIds)(comb, indexedDimensions);
92
- if (R.is(Array, parsedCombination)) {
93
- return R.concat(acc, parsedCombination);
94
- }
95
- return R.append(parsedCombination, acc);
96
- }, [], ids);
97
- };
98
- };
99
-
100
- var header = getLayoutLevel(null, rowsConceptsSet)(layoutIds.header);
101
- var sections = getLayoutLevel(null, headerConceptsSet)(layoutIds.sections);
102
- var rows = getLayoutLevel(sectionsConceptsSet, headerConceptsSet)(layoutIds.rows);
103
-
104
- return { header: header, sections: sections, rows: rows };
105
- };
@@ -1,269 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getLayoutData = exports.getSerieDataWithoutMissingLines = exports.getSerieDataWithMissingLines = undefined;
7
-
8
- var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray');
9
-
10
- var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
11
-
12
- var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
13
-
14
- var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
15
-
16
- var _extends2 = require('babel-runtime/helpers/extends');
17
-
18
- var _extends3 = _interopRequireDefault(_extends2);
19
-
20
- var _ramda = require('ramda');
21
-
22
- var R = _interopRequireWildcard(_ramda);
23
-
24
- var _getFlagsAndNotes = require('./getFlagsAndNotes');
25
-
26
- var _utils = require('../utils');
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 getValueData = function getValueData(index, dimension, parentsIndexes) {
33
- var missingParents = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
34
- return {
35
- dimension: R.pick(['id', 'name', '__index'], dimension),
36
- value: (0, _extends3.default)({}, R.pipe(R.pathOr({}, ['values', index]), R.pick(['id', 'name', 'isNonCoded', 'flags', 'hasAdvancedAttributes']))(dimension), {
37
- parents: parentsIndexes,
38
- missingParents: missingParents
39
- })
40
- };
41
- };
42
-
43
- var addCoordinatesToKey = function addCoordinatesToKey(key, dimensionId, valueId) {
44
- return '' + key + (R.isEmpty(key) ? '' : ':') + dimensionId + '=' + valueId;
45
- };
46
-
47
- var simpleValueDataSetter = function simpleValueDataSetter(valueData) {
48
- var datas = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
49
- return R.append(valueData, datas);
50
- };
51
-
52
- var combinedValueDataSetter = function combinedValueDataSetter(valueData) {
53
- var datas = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
54
- return R.over(R.lensIndex(-1), function (d) {
55
- return (0, _extends3.default)({}, d, { values: R.append(R.prop('value', valueData), d.values) });
56
- }, datas);
57
- };
58
-
59
- var addValueToSerieData = function addValueToSerieData(dataSetter) {
60
- return function (index, parentsIndexes, dimension, serieData, missingParents) {
61
- var valueData = getValueData(index, dimension, parentsIndexes, missingParents);
62
- var valueId = R.path(['value', 'id'], valueData);
63
- return (0, _extends3.default)({}, serieData, {
64
- data: dataSetter(valueData, R.prop('data', serieData)),
65
- key: addCoordinatesToKey(R.prop('key', serieData), R.prop('id', dimension), valueId)
66
- });
67
- };
68
- };
69
-
70
- var addSimpleValueToSerieData = addValueToSerieData(simpleValueDataSetter);
71
-
72
- var addCombinedValueToSerieData = addValueToSerieData(combinedValueDataSetter);
73
-
74
- var getHasAdvancedAttributes = function getHasAdvancedAttributes(attrValues, customAttributes) {
75
- return R.pipe(R.omit(R.concat(customAttributes.flags || [], customAttributes.notes || [])), R.isEmpty, R.not)(attrValues);
76
- };
77
-
78
- var getCoordinates = function getCoordinates(indexes, topCoordinates, definition) {
79
- return R.addIndex(R.reduce)(function (acc, entry, index) {
80
- if (R.has('dimensions', entry)) {
81
- return R.addIndex(R.reduce)(function (_acc, dim, _index) {
82
- var valInd = R.path([index, _index], indexes);
83
- return R.assoc(dim.id, R.path(['values', Math.abs(valInd), 'id'], dim), _acc);
84
- }, acc, entry.dimensions);
85
- }
86
- var valInd = R.nth(index, indexes);
87
- return R.assoc(entry.id, R.path(['values', Math.abs(valInd), 'id'], entry), acc);
88
- }, topCoordinates, definition);
89
- };
90
-
91
- var getAttributesSeries = function getAttributesSeries(validator, attributesSeries) {
92
- return R.reduce(function (acc, attrs) {
93
- var attr = R.head(R.values(attrs)) || {};
94
- if (R.length(attr.relationship || []) === 1 && !attr.combined) {
95
- return acc;
96
- }
97
- var coordinates = R.propOr({}, 'coordinates', attr);
98
- var isValid = validator(coordinates);
99
- if (!isValid && !R.prop('isObs', attr)) {
100
- return acc;
101
- }
102
- return (0, _extends3.default)({}, acc, attrs);
103
- }, {}, R.values(attributesSeries));
104
- };
105
-
106
- var combineConcepts = function combineConcepts(combDimValues, definition, attrValues) {
107
- return R.over(R.lensProp('data'), R.over(R.lensIndex(-1), function (data) {
108
- return (0, _extends3.default)({}, data, {
109
- values: R.reduce(function (acc, conceptId) {
110
- if (R.has(conceptId, combDimValues)) {
111
- return R.append(R.prop(conceptId, combDimValues), acc);
112
- }
113
- if (R.has(conceptId, definition.fixedDimValues || {})) {
114
- return R.append(R.prop(conceptId, definition.fixedDimValues), acc);
115
- }
116
- if (R.has(conceptId, attrValues)) {
117
- var value = R.path([conceptId, 'value'], attrValues);
118
- return R.append(value, acc);
119
- }
120
- return acc;
121
- }, [], definition.concepts)
122
- });
123
- }));
124
- };
125
-
126
- var getSerieFlagsAndSideProps = function getSerieFlagsAndSideProps(coordinates, validator, attributesValues, customAttributes, metadataCoordinates, data) {
127
- var layoutAttrValues = R.reject(function (attr) {
128
- return R.prop('isObs', attr) && !validator(attr.coordinates);
129
- }, attributesValues);
130
- var flags = (0, _getFlagsAndNotes.getFlagsAndNotes)(layoutAttrValues, customAttributes);
131
- var hasMetadata = !R.isNil(R.find(validator, metadataCoordinates));
132
- var hasDataAdvancedAttributes = R.any(function (d) {
133
- return R.has('value', d) ? R.prop('hasAdvancedAttributes', d.value) : R.any(R.prop('hasAdvancedAttributes'), d.values);
134
- }, data);
135
- var hasAdvancedAttributes = hasDataAdvancedAttributes || getHasAdvancedAttributes(layoutAttrValues, customAttributes);
136
- var sideProps = hasMetadata || hasAdvancedAttributes ? { hasMetadata: hasMetadata, hasAdvancedAttributes: hasAdvancedAttributes, coordinates: coordinates } : null;
137
- return { flags: flags, sideProps: sideProps };
138
- };
139
-
140
- var getSerieDimensionsData = function getSerieDimensionsData(serie, definition, attributesValues, missingParentsGetter) {
141
- return R.addIndex(R.reduce)(function (onGoingSerie, entry, index) {
142
- if (R.has('dimensions', entry)) {
143
- var combValuesIndexes = R.pathOr([], ['indexes', index], serie);
144
- var combParentsIndexes = R.pathOr([], ['parentsIndexes', index], serie);
145
- var combMissingParentsIndexes = R.pathOr([], ['missingIndexes', index], serie);
146
- var combDimValues = {};
147
- var res = R.addIndex(R.reduce)(function (combSerie, dimension, dimIndex) {
148
- var valueIndex = Math.abs(R.nth(dimIndex, combValuesIndexes));
149
- var _parentsIndexes = R.nth(dimIndex, combParentsIndexes) || [];
150
- var missingParentsIndexes = R.nth(dimIndex, combMissingParentsIndexes) || [];
151
-
152
- var _missingParentsGetter = missingParentsGetter(combinedValueDataSetter)(missingParentsIndexes, _parentsIndexes, dimension, combSerie),
153
- parentsIndexes = _missingParentsGetter.parentsIndexes,
154
- missingParents = _missingParentsGetter.missingParents;
155
-
156
- var next = addCombinedValueToSerieData(valueIndex, parentsIndexes, dimension, combSerie, missingParents);
157
- var value = R.pipe(R.prop('data'), R.last, R.prop('values'), R.last)(next);
158
- combDimValues = R.assoc(dimension.id, value, combDimValues);
159
- return next;
160
- }, R.over(R.lensProp('data'), R.append({ dimension: R.pick(['id', 'name'], entry), values: [] }))(onGoingSerie), R.propOr([], 'dimensions', entry));
161
-
162
- var combined = combineConcepts(combDimValues, entry, onGoingSerie.attributes)(res);
163
- return R.over(R.lensProp('attributes'), R.omit(entry.concepts), combined);
164
- }
165
-
166
- var valueIndex = Math.abs(R.path(['indexes', index], serie));
167
- var _parentsIndexes = R.pathOr([], ['parentsIndexes', index], serie);
168
- var missingParentsIndexes = R.pathOr([], ['missingIndexes', index], serie);
169
-
170
- var _missingParentsGetter2 = missingParentsGetter(simpleValueDataSetter)(missingParentsIndexes, _parentsIndexes, entry, onGoingSerie),
171
- parentsIndexes = _missingParentsGetter2.parentsIndexes,
172
- missingParents = _missingParentsGetter2.missingParents;
173
-
174
- return addSimpleValueToSerieData(valueIndex, parentsIndexes, entry, onGoingSerie, missingParents);
175
- }, { data: [], key: '', attributes: attributesValues }, definition);
176
- };
177
-
178
- var getSerieDataWithMissingLines = function getSerieDataWithMissingLines(serie, definition, topCoordinates, attributesSeries, customAttributes, metadataCoordinates) {
179
- var lines = [];
180
-
181
- var serieCoordinates = getCoordinates(serie.indexes, topCoordinates, definition);
182
- var coordinatesValidator = (0, _utils.getLayoutCoordinatesValidator)(serieCoordinates, topCoordinates);
183
- var attributesValues = getAttributesSeries(coordinatesValidator, attributesSeries);
184
-
185
- var getMissingParents = function getMissingParents(dataSetter) {
186
- return function (missingParentsIndexes, _parentsIndexes, dim, serieData) {
187
- return R.reduce(function (acc, index) {
188
- var missingParentData = addValueToSerieData(dataSetter)(index, acc.parentsIndexes, dim, serieData);
189
- lines.push((0, _extends3.default)({}, R.dissoc('attributes', missingParentData), { sideProps: null, flags: [], isEmpty: true }));
190
- return R.over(R.lensProp('parentsIndexes'), R.append(index), acc);
191
- }, { parentsIndexes: _parentsIndexes, missingParents: [] }, missingParentsIndexes);
192
- };
193
- };
194
-
195
- var _getSerieDimensionsDa = getSerieDimensionsData(serie, definition, attributesValues, getMissingParents),
196
- attributes = _getSerieDimensionsDa.attributes,
197
- serieData = (0, _objectWithoutProperties3.default)(_getSerieDimensionsDa, ['attributes']);
198
-
199
- var topCoordinatesValidator = (0, _utils.getLayoutCoordinatesValidator)(topCoordinates);
200
- var flagsValidator = function flagsValidator(coordinates) {
201
- return coordinatesValidator(coordinates) && !topCoordinatesValidator(coordinates);
202
- };
203
-
204
- var _getSerieFlagsAndSide = getSerieFlagsAndSideProps(serieCoordinates, flagsValidator, attributes, customAttributes, metadataCoordinates, serieData.data),
205
- flags = _getSerieFlagsAndSide.flags,
206
- sideProps = _getSerieFlagsAndSide.sideProps;
207
-
208
- return R.append((0, _extends3.default)({}, serieData, { flags: flags, sideProps: sideProps, coordinates: serieCoordinates }), lines);
209
- };
210
-
211
- exports.getSerieDataWithMissingLines = getSerieDataWithMissingLines;
212
- var getSerieDataWithoutMissingLines = function getSerieDataWithoutMissingLines(serie, definition, topCoordinates, attributesSeries, customAttributes, metadataCoordinates) {
213
- var serieCoordinates = getCoordinates(serie.indexes, topCoordinates, definition);
214
- var coordinatesValidator = (0, _utils.getLayoutCoordinatesValidator)(serieCoordinates, topCoordinates);
215
- var attributesValues = getAttributesSeries(coordinatesValidator, attributesSeries);
216
-
217
- var getMissingParents = function getMissingParents() {
218
- return function (missingParentsIndexes, _parentsIndexes, dim) {
219
- return R.reduce(function (acc, index) {
220
- return {
221
- parentsIndexes: R.append(index, acc.parentsIndexes),
222
- missingParents: R.append(R.prop('value', getValueData(index, dim, acc.parentsIndexes)), acc.missingParents)
223
- };
224
- }, { parentsIndexes: _parentsIndexes, missingParents: [] }, missingParentsIndexes);
225
- };
226
- };
227
-
228
- var _getSerieDimensionsDa2 = getSerieDimensionsData(serie, definition, attributesValues, getMissingParents),
229
- attributes = _getSerieDimensionsDa2.attributes,
230
- serieData = (0, _objectWithoutProperties3.default)(_getSerieDimensionsDa2, ['attributes']);
231
-
232
- var _getSerieFlagsAndSide2 = getSerieFlagsAndSideProps(serieCoordinates, coordinatesValidator, attributes, customAttributes, metadataCoordinates, serieData.data),
233
- flags = _getSerieFlagsAndSide2.flags,
234
- sideProps = _getSerieFlagsAndSide2.sideProps;
235
-
236
- return (0, _extends3.default)({}, serieData, { flags: flags, sideProps: sideProps, coordinates: serieCoordinates });
237
- };
238
-
239
- exports.getSerieDataWithoutMissingLines = getSerieDataWithoutMissingLines;
240
- var getLayoutData = function getLayoutData(layoutIndexes, layout, _ref) {
241
- var metadataCoordinates = _ref.metadataCoordinates,
242
- attributesSeries = _ref.attributesSeries,
243
- customAttributes = _ref.customAttributes,
244
- _ref$topCoordinates = _ref.topCoordinates,
245
- topCoordinates = _ref$topCoordinates === undefined ? {} : _ref$topCoordinates;
246
- var header = layoutIndexes.header,
247
- sections = layoutIndexes.sections,
248
- rest = (0, _objectWithoutProperties3.default)(layoutIndexes, ['header', 'sections']);
249
-
250
- var headerData = R.reduce(function (acc, serie) {
251
- var datas = getSerieDataWithMissingLines(serie, layout.header, topCoordinates, attributesSeries, customAttributes, metadataCoordinates);
252
- return R.concat(acc, datas);
253
- }, [], header);
254
-
255
- var sectionsData = R.map(function (_ref2) {
256
- var _ref3 = (0, _slicedToArray3.default)(_ref2, 2),
257
- sectionSerie = _ref3[0],
258
- rowsSeries = _ref3[1];
259
-
260
- var sectionData = getSerieDataWithoutMissingLines(sectionSerie, layout.sections, topCoordinates, attributesSeries, customAttributes, metadataCoordinates, false);
261
- return [sectionData, R.reduce(function (acc, serie) {
262
- var datas = getSerieDataWithMissingLines(serie, layout.rows, R.propOr(topCoordinates, 'coordinates', sectionData), attributesSeries, customAttributes, metadataCoordinates);
263
- return R.concat(acc, datas);
264
- }, [], rowsSeries)];
265
- }, sections);
266
-
267
- return (0, _extends3.default)({ headerData: headerData, sectionsData: sectionsData }, rest);
268
- };
269
- exports.getLayoutData = getLayoutData;