@sis-cc/dotstatsuite-components 20.6.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 (161) hide show
  1. package/.gitlab-ci.yml +3 -2
  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,124 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.parseLayoutIndexesHierarchies = exports.parseSeriesIndexesHierarchies = undefined;
7
-
8
- var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray');
9
-
10
- var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
11
-
12
- var _set = require('babel-runtime/core-js/set');
13
-
14
- var _set2 = _interopRequireDefault(_set);
15
-
16
- var _extends2 = require('babel-runtime/helpers/extends');
17
-
18
- var _extends3 = _interopRequireDefault(_extends2);
19
-
20
- var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
21
-
22
- var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
23
-
24
- var _ramda = require('ramda');
25
-
26
- var R = _interopRequireWildcard(_ramda);
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 registerParsedIndexes = function registerParsedIndexes(_ref, register) {
33
- var isSameSerie = _ref.isSameSerie,
34
- parsed = (0, _objectWithoutProperties3.default)(_ref, ['isSameSerie']);
35
-
36
- var merged = R.mergeWith(function (a, b) {
37
- return R.append(a || [], b);
38
- }, parsed, register);
39
- return (0, _extends3.default)({}, merged, { isSameSerie: isSameSerie });
40
- };
41
-
42
- var parseParentsIndexesWithPrevious = function parseParentsIndexesWithPrevious(parentsIndexes, previousParentsIndexes) {
43
- var previousParentsSet = new _set2.default(previousParentsIndexes);
44
- var lastParentIndexInPrevious = R.findLastIndex(function (i) {
45
- return previousParentsSet.has(i);
46
- }, parentsIndexes);
47
-
48
- var _ref2 = lastParentIndexInPrevious !== -1 ? R.splitAt(lastParentIndexInPrevious + 1, parentsIndexes) : [[], parentsIndexes],
49
- _ref3 = (0, _slicedToArray3.default)(_ref2, 2),
50
- rawPresentParentsIndexes = _ref3[0],
51
- missingParentsIndexes = _ref3[1];
52
-
53
- var presentParentsIndexes = R.filter(function (i) {
54
- return previousParentsSet.has(i);
55
- }, rawPresentParentsIndexes);
56
- return { presentParentsIndexes: presentParentsIndexes, missingParentsIndexes: missingParentsIndexes };
57
- };
58
-
59
- var parseSerieIndexesHierarchies = function parseSerieIndexesHierarchies(serieIndexes, previousSerie, dimensions, isSameSerie, replicate) {
60
- return R.addIndex(R.reduce)(function (acc, _valueIndex, dimensionIndex) {
61
- if (R.is(Array, _valueIndex)) {
62
- var previous = R.isEmpty(previousSerie) ? {} : R.map(R.nth(dimensionIndex), previousSerie);
63
- var parsed = parseSerieIndexesHierarchies(_valueIndex, previous, R.pathOr([], [dimensionIndex, 'dimensions'], dimensions), acc.isSameSerie, replicate);
64
- return registerParsedIndexes(parsed, acc);
65
- }
66
- var valueIndex = Math.abs(_valueIndex);
67
- var parents = R.pathOr([], [dimensionIndex, 'values', valueIndex, 'parents'], dimensions);
68
- var previousIndex = R.pipe(R.path(['indexes', dimensionIndex]), function (i) {
69
- return R.isNil(i) ? -1 : Math.abs(i);
70
- })(previousSerie);
71
- var previousParentsIndexes = acc.isSameSerie ? R.pipe(R.pathOr([], ['parentsIndexes', dimensionIndex]), R.append(previousIndex))(previousSerie) : [];
72
- var previousMissingIndexes = acc.isSameSerie ? R.pathOr([], ['missingIndexes', dimensionIndex], previousSerie) : [];
73
- /*
74
- if replicate = true (sections), missing parents insdexes are replicated on each brother nodes not just the first (as empty lines)
75
- thats why passing previous missing as previous parents in case replicate = false
76
- */
77
-
78
- var _parseParentsIndexesW = parseParentsIndexesWithPrevious(parents, replicate ? previousParentsIndexes : R.concat(previousParentsIndexes, previousMissingIndexes)),
79
- presentParentsIndexes = _parseParentsIndexesW.presentParentsIndexes,
80
- missingParentsIndexes = _parseParentsIndexesW.missingParentsIndexes;
81
-
82
- return registerParsedIndexes({
83
- parentsIndexes: presentParentsIndexes,
84
- missingIndexes: missingParentsIndexes,
85
- isSameSerie: acc.isSameSerie && valueIndex === previousIndex
86
- }, acc);
87
- }, { parentsIndexes: [], missingIndexes: [], isSameSerie: isSameSerie }, serieIndexes);
88
- };
89
-
90
- var parseSeriesIndexesHierarchies = function parseSeriesIndexesHierarchies(seriesIndexes, dimensions) {
91
- var replicateMissing = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
92
-
93
- return R.reduce(function (acc, serieIndexes) {
94
- var previousSerie = R.last(acc) || {};
95
-
96
- var _parseSerieIndexesHie = parseSerieIndexesHierarchies(serieIndexes, previousSerie, dimensions, true, replicateMissing),
97
- isSameSerie = _parseSerieIndexesHie.isSameSerie,
98
- parsed = (0, _objectWithoutProperties3.default)(_parseSerieIndexesHie, ['isSameSerie']);
99
-
100
- return R.append(R.assoc('indexes', serieIndexes, parsed), acc);
101
- }, [], seriesIndexes);
102
- };
103
-
104
- exports.parseSeriesIndexesHierarchies = parseSeriesIndexesHierarchies;
105
- var parseLayoutIndexesHierarchies = exports.parseLayoutIndexesHierarchies = function parseLayoutIndexesHierarchies(layoutIndexes, layout) {
106
- var header = parseSeriesIndexesHierarchies(layoutIndexes.header, layout.header);
107
- var sections = R.pipe(R.transpose, function (_ref4) {
108
- var _ref5 = (0, _slicedToArray3.default)(_ref4, 2),
109
- _sections = _ref5[0],
110
- _sectionsRows = _ref5[1];
111
-
112
- if (R.isNil(_sections)) {
113
- return [];
114
- }
115
- // replicate = true on sections
116
- var sections = parseSeriesIndexesHierarchies(_sections, layout.sections, true);
117
- var sectionsRows = R.map(function (rows) {
118
- return parseSeriesIndexesHierarchies(rows, layout.rows);
119
- }, _sectionsRows);
120
- return R.transpose([sections, sectionsRows]);
121
- })(layoutIndexes.sections);
122
-
123
- return { header: header, sections: sections };
124
- };
@@ -1,63 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.parseValueHierarchy = exports.isSameValueAsPrevious = undefined;
7
-
8
- var _extends2 = require('babel-runtime/helpers/extends');
9
-
10
- var _extends3 = _interopRequireDefault(_extends2);
11
-
12
- var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray');
13
-
14
- var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
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 isSameValueAsPrevious = exports.isSameValueAsPrevious = function isSameValueAsPrevious(value, previousValue) {
25
- var valueHierarchicalPath = R.append(value.id, R.propOr([], 'parents', value));
26
- var previousValueHierarchicalPath = R.append(previousValue.id, R.propOr([], 'parents', previousValue));
27
-
28
- return R.equals(valueHierarchicalPath, previousValueHierarchicalPath);
29
- };
30
-
31
- var parseValueHierarchy = exports.parseValueHierarchy = function parseValueHierarchy(value, previousValue, indexedValues) {
32
- var parentsIds = R.propOr([], 'parents', value);
33
- if (R.isEmpty(parentsIds)) {
34
- return value;
35
- }
36
- var _previousParentsIds = R.propOr([], 'parentsIds', previousValue);
37
- var previousParentsIds = R.isNil(previousValue) ? [] : R.append(R.prop('id', previousValue), _previousParentsIds);
38
-
39
- var _R$addIndex = R.addIndex(R.splitWhen)(function (val, ind) {
40
- return R.nth(ind, previousParentsIds) !== val;
41
- }, parentsIds),
42
- _R$addIndex2 = (0, _slicedToArray3.default)(_R$addIndex, 2),
43
- presentIds = _R$addIndex2[0],
44
- _missingIds = _R$addIndex2[1];
45
-
46
- var __previousParentsIds = R.pipe(R.propOr([], 'parents'), R.pluck('id'))(previousValue);
47
- var missingIds = R.pipe(R.takeLastWhile(function (id) {
48
- return !R.includes(id, __previousParentsIds) && id !== R.prop('id', previousValue);
49
- }), function (ids) {
50
- return R.concat(ids, _missingIds);
51
- })(presentIds);
52
- var _previousParents = R.propOr([], 'parents', previousValue);
53
- var previousParents = R.isNil(previousValue) ? [] : R.append(R.pick(['id', 'name'], previousValue), _previousParents);
54
- var parents = R.takeWhile(function (p) {
55
- return R.includes(p.id, presentIds);
56
- }, previousParents);
57
- var missingParents = R.props(missingIds, indexedValues);
58
- return (0, _extends3.default)({}, value, {
59
- parents: parents,
60
- parentsIds: parentsIds,
61
- missingParents: missingParents
62
- });
63
- };
@@ -1,293 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.refineLayoutSize = exports.truncateHeader = exports.truncateSectionRows = exports.refineHeader = exports.refineSections = exports.getCuratedCells = undefined;
7
-
8
- var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray');
9
-
10
- var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
11
-
12
- var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
13
-
14
- var _defineProperty3 = _interopRequireDefault(_defineProperty2);
15
-
16
- var _extends3 = require('babel-runtime/helpers/extends');
17
-
18
- var _extends4 = _interopRequireDefault(_extends3);
19
-
20
- var _set = require('babel-runtime/core-js/set');
21
-
22
- var _set2 = _interopRequireDefault(_set);
23
-
24
- var _ramda = require('ramda');
25
-
26
- var R = _interopRequireWildcard(_ramda);
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 toKey = function toKey(indexes) {
33
- return R.reduce(function (acc, _ind) {
34
- var ind = R.is(Array, _ind) ? toKey(_ind) : String(Math.abs(_ind));
35
- if (R.isEmpty(ind)) {
36
- return acc;
37
- }
38
- return R.isEmpty(acc) ? ind : acc + ':' + ind;
39
- }, '', indexes);
40
- };
41
-
42
- var getPivotKey = function getPivotKey(indexes) {
43
- return R.pipe(R.props(indexes), R.join(':'));
44
- };
45
-
46
- var getPivots = function getPivots(layout, shape) {
47
- return R.pipe(R.props(shape), R.map(R.pipe(R.map(function (entry) {
48
- return R.has('dimensions', entry) ? R.pluck('__index', entry.dimensions || []) : entry.__index;
49
- }), R.unnest, getPivotKey)))(layout);
50
- };
51
-
52
- var indexWithPivots = function indexWithPivots(pivots, observations) {
53
- return R.pipe(R.values, R.reduce(function (acc, obs) {
54
- var path = R.map(function (pivot) {
55
- return pivot(obs.orderedDimIndexes);
56
- }, pivots);
57
- return R.over(R.lensPath(path), R.ifElse(R.isNil, R.always([obs]), R.append(obs)))(acc);
58
- }, {}))(observations);
59
- };
60
-
61
- var getCuratedCells = exports.getCuratedCells = function getCuratedCells(_ref) {
62
- var layout = _ref.layout,
63
- observations = _ref.observations,
64
- shape = _ref.shape;
65
-
66
- var pivots = getPivots(layout, shape);
67
- return indexWithPivots(pivots, observations);
68
- };
69
-
70
- var filterSeries = function filterSeries(series, getHasStillData) {
71
- var removedMissingIndexes = [];
72
- return R.reduce(function (acc, serie) {
73
- var hasStillData = getHasStillData(serie);
74
- var serieParentsSets = R.map(function (p) {
75
- return new _set2.default(p);
76
- }, R.propOr([], 'parentsIndexes', serie));
77
- if (!hasStillData) {
78
- removedMissingIndexes = R.addIndex(R.map)(function (mIs, ind) {
79
- var filtered = R.filter(function (i) {
80
- return serieParentsSets[ind].has(i);
81
- }, R.nth(ind, removedMissingIndexes) || []);
82
- return R.concat(filtered, mIs);
83
- }, serie.missingIndexes || []);
84
- return acc;
85
- }
86
- var _serie = R.pipe(R.over(R.lensProp('missingIndexes'), function () {
87
- var missingIndexes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
88
- return R.addIndex(R.map)(function (mIs, ind) {
89
- var removed = R.nth(ind, removedMissingIndexes) || [];
90
- if (R.isEmpty(removed)) {
91
- return mIs;
92
- }
93
- var filteredRemoved = R.filter(function (i) {
94
- return serieParentsSets[ind].has(i);
95
- }, removed);
96
- return R.concat(filteredRemoved, mIs || []);
97
- }, missingIndexes);
98
- }), R.over(R.lensProp('parentsIndexes'), function () {
99
- var parentsIndexes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
100
- return R.addIndex(R.map)(function (p, ind) {
101
- return R.reject(function (i) {
102
- return R.includes(i, R.nth(ind, removedMissingIndexes) || []);
103
- }, p || []);
104
- }, parentsIndexes);
105
- }))(serie);
106
- removedMissingIndexes = [];
107
- return R.append(_serie, acc);
108
- }, [], series);
109
- };
110
-
111
- var refineSections = exports.refineSections = function refineSections(sections, extractedKeys, curatedObs) {
112
- return R.pipe(R.map(function (section) {
113
- var sectionKey = toKey(R.propOr([], 'indexes', R.head(section)));
114
- var getHasRowStillData = function getHasRowStillData(row) {
115
- var rowKey = toKey(R.prop('indexes', row));
116
- return R.pipe(R.path([sectionKey, rowKey]), R.omit(extractedKeys), R.isEmpty, R.not)(curatedObs);
117
- };
118
- return R.over(R.lensIndex(1), function (rows) {
119
- return filterSeries(rows, getHasRowStillData);
120
- })(section);
121
- }), R.filter(R.pipe(R.nth(1), R.isEmpty, R.not)))(sections);
122
- };
123
-
124
- var refineHeader = exports.refineHeader = function refineHeader(headers, extractedKeys, curatedObs) {
125
- var getHasHeaderStillData = function getHasHeaderStillData(header) {
126
- var headerKey = toKey(R.prop('indexes', header));
127
- return R.pipe(R.prop(headerKey), function (sections) {
128
- return R.pickBy(function (rows, section) {
129
- return R.pipe(R.omit(R.propOr([], section, extractedKeys)), R.isEmpty, R.not)(rows);
130
- }, sections);
131
- }, R.isEmpty, R.not)(curatedObs);
132
- };
133
- return filterSeries(headers, getHasHeaderStillData);
134
- };
135
-
136
- var getSerieLinesCount = function getSerieLinesCount(serie) {
137
- var missingParents = R.propOr([], 'missingParents', serie);
138
- var missingParentsRowsCount = R.pipe(R.flatten, R.length)(missingParents);
139
- return missingParentsRowsCount + 1;
140
- };
141
-
142
- var truncateSectionRows = exports.truncateSectionRows = function truncateSectionRows(n, sectionsData) {
143
- var truncated = sectionsData;
144
- var extractedKeys = {};
145
- var _n = n;
146
- while (_n > 0) {
147
- var lastSection = R.last(truncated);
148
- var rows = lastSection[1];
149
- var rowsLength = R.length(rows);
150
- var truncatedRowsCount = 0;
151
- while (_n > 0 && truncatedRowsCount !== rowsLength) {
152
- var rowsCount = getSerieLinesCount(R.nth(-1 * truncatedRowsCount, rows));
153
- _n = _n - rowsCount;
154
- truncatedRowsCount++;
155
- }
156
- var sectionKey = R.pipe(R.head, R.prop('indexes'), toKey)(lastSection);
157
- extractedKeys = (0, _extends4.default)({}, extractedKeys, (0, _defineProperty3.default)({}, sectionKey, R.pipe(R.takeLast(truncatedRowsCount), R.map(function (r) {
158
- return toKey(R.prop('indexes', r));
159
- }))(rows)));
160
- if (_n > 0) {
161
- truncated = R.dropLast(1, truncated);
162
- } else {
163
- truncated = R.over(R.lensIndex(-1), R.over(R.lensIndex(1), R.dropLast(truncatedRowsCount)))(truncated);
164
- }
165
- }
166
- return { truncated: truncated, extractedKeys: extractedKeys };
167
- };
168
-
169
- var truncateHeader = exports.truncateHeader = function truncateHeader(n, headerData) {
170
- var _truncated$extractedK = { truncated: headerData, extractedKeys: [] },
171
- truncated = _truncated$extractedK.truncated,
172
- extractedKeys = _truncated$extractedK.extractedKeys;
173
-
174
- var _n = n;
175
- while (_n > 0) {
176
- var lastHeader = R.last(truncated);
177
- var columnsCount = getSerieLinesCount(lastHeader);
178
- var extractedKey = toKey(R.prop('indexes', lastHeader));
179
- extractedKeys = R.append(extractedKey, extractedKeys);
180
- truncated = R.dropLast(1, truncated);
181
- _n = _n - columnsCount;
182
- }
183
- return { truncated: truncated, extractedKeys: extractedKeys };
184
- };
185
-
186
- var truncateLayout = function truncateLayout(isVertical) {
187
- return R.ifElse(R.always(isVertical), truncateSectionRows, truncateHeader);
188
- };
189
-
190
- var refineLayout = function refineLayout(isVertical) {
191
- return R.ifElse(R.always(isVertical), refineHeader, refineSections);
192
- };
193
-
194
- var getShape = function getShape(isVertical) {
195
- return isVertical ? ['header', 'sections', 'rows'] : ['sections', 'rows', 'header'];
196
- };
197
-
198
- var getRefinedLayout = function getRefinedLayout(isVertical, truncated, refined) {
199
- return R.ifElse(R.always(isVertical), R.pipe(R.assoc('sections', truncated), R.assoc('header', refined)), R.pipe(R.assoc('header', truncated), R.assoc('sections', refined)))({});
200
- };
201
-
202
- var segregateLayout = function segregateLayout(isVertical) {
203
- return R.ifElse(R.always(isVertical), R.props(['sections', 'header']), R.props(['header', 'sections']));
204
- };
205
-
206
- var refineLayoutSize = exports.refineLayoutSize = function refineLayoutSize(_ref2) {
207
- var layout = _ref2.layout,
208
- observations = _ref2.observations,
209
- limit = _ref2.limit;
210
- return function (layoutIndexes) {
211
- var header = layoutIndexes.header,
212
- sections = layoutIndexes.sections;
213
-
214
- if (R.isNil(limit) || limit === 0 || R.all(R.isEmpty, [header, sections])) {
215
- return R.pipe(R.set(R.lensProp('truncated'), false), R.set(R.lensProp('totalCells'), null))(layoutIndexes);
216
- }
217
-
218
- //number of dimensions in header
219
- var headerDimCount = R.pipe(R.head, // first column
220
- R.when(R.isNil, R.always({})), R.propOr([], 'indexes'), R.length // number of dims
221
- )(header);
222
-
223
- //number of columns for values
224
- var headerValuesCount = R.pipe(R.reduce(function (acc, header) {
225
- var columnsCount = getSerieLinesCount(header);
226
- return acc + columnsCount;
227
- }, 0), R.when(R.equals(0), R.always(1)))(header);
228
-
229
- //total of cells in header
230
- var headerCellsCount = headerDimCount * (headerValuesCount + 1);
231
-
232
- // number of dimensions in a row
233
- var rowDimCount = R.pipe(R.head, // firstSection
234
- R.last, // rows,
235
- R.head, // first row
236
- R.propOr([], 'indexes'), R.length)(sections);
237
-
238
- // number of cells in a row
239
- var rowCellsCount = rowDimCount + headerValuesCount + 1;
240
-
241
- // number of rows
242
- var rowsCount = R.pipe(R.map(R.last), R.unnest, R.reduce(function (acc, row) {
243
- var rowsCount = getSerieLinesCount(row);
244
- return acc + rowsCount;
245
- }, 1))(sections);
246
-
247
- // total of cells in all rows
248
- var rowsCellsCount = rowCellsCount * rowsCount;
249
-
250
- // number of sections cells
251
- var sectionsCellsCount = R.ifElse(R.pipe(R.head, R.head, R.propOr([], 'indexes'), R.length, R.equals(0)), R.always(0), R.length)(sections);
252
-
253
- var total = rowsCellsCount + sectionsCellsCount + headerCellsCount;
254
-
255
- var excess = total - limit;
256
- if (excess <= 0) {
257
- return R.pipe(R.set(R.lensProp('truncated'), false), R.set(R.lensProp('totalCells'), total))(layoutIndexes);
258
- }
259
-
260
- // total of cells in one column
261
- var columnCellsCount = headerDimCount + rowsCount;
262
-
263
- var isVertical = columnCellsCount > rowCellsCount;
264
-
265
- var _segregateLayout = segregateLayout(isVertical)(layoutIndexes),
266
- _segregateLayout2 = (0, _slicedToArray3.default)(_segregateLayout, 2),
267
- toTruncate = _segregateLayout2[0],
268
- toRefine = _segregateLayout2[1];
269
-
270
- var cutLength = R.pipe(R.ifElse(R.identity, R.always(rowCellsCount), R.always(columnCellsCount)), R.divide(excess), Math.ceil)(isVertical);
271
-
272
- var maxCutLength = isVertical ? rowsCount - 2 : headerValuesCount - 1;
273
- cutLength = cutLength > maxCutLength ? maxCutLength : cutLength;
274
-
275
- var _truncateLayout = truncateLayout(isVertical)(cutLength, toTruncate),
276
- truncated = _truncateLayout.truncated,
277
- extractedKeys = _truncateLayout.extractedKeys;
278
-
279
- var dimsLength = R.pipe(R.values, R.head, R.propOr([], 'orderedDimIndexes'), R.length)(observations);
280
- var _layout = R.map(R.map(function (entry) {
281
- return entry.id === 'OBS_ATTRIBUTES' ? R.assoc('__index', dimsLength - 1, entry) : entry;
282
- }), layout);
283
- var curatedObs = R.pipe(getShape, function (shape) {
284
- return getCuratedCells({ layout: _layout, observations: observations, shape: shape });
285
- })(isVertical);
286
-
287
- var refined = refineLayout(isVertical)(toRefine, extractedKeys, curatedObs);
288
-
289
- var result = getRefinedLayout(isVertical, truncated, refined);
290
-
291
- return R.pipe(R.set(R.lensProp('truncated'), true), R.set(R.lensProp('totalCells'), total))(result);
292
- };
293
- };
@@ -1,48 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getLayoutCoordinatesValidator = exports.trimedProps = 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 trimedProps = exports.trimedProps = function trimedProps(properties, obj) {
15
- return R.reduce(function (acc, prop) {
16
- if (R.isNil(R.prop(prop, obj))) {
17
- return acc;
18
- }
19
- return R.append(obj[prop], acc);
20
- }, [], properties);
21
- };
22
-
23
- var getLayoutCoordinatesValidator = exports.getLayoutCoordinatesValidator = function getLayoutCoordinatesValidator(layoutCoordinates) {
24
- var topCoordinates = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
25
- return function (coordinates) {
26
- if (R.isEmpty(coordinates)) {
27
- return false;
28
- }
29
- if (R.has('OBS_ATTRIBUTES', layoutCoordinates) || R.has('OBS_ATTRIBUTES', topCoordinates)) {
30
- var obsAttrCoord = R.prop('OBS_ATTRIBUTES', layoutCoordinates) || R.prop('OBS_ATTRIBUTES', topCoordinates);
31
- if (obsAttrCoord !== 'OBS_VALUE') {
32
- return false;
33
- }
34
- }
35
- var keys = R.keys(coordinates);
36
- var res = true;
37
- var notInTop = {};
38
- R.forEach(function (key) {
39
- if (R.prop(key, layoutCoordinates) !== R.prop(key, coordinates)) {
40
- res = false;
41
- }
42
- if (!R.has(key, topCoordinates)) {
43
- notInTop[key] = key;
44
- }
45
- }, keys);
46
- return res && !R.isEmpty(notInTop);
47
- };
48
- };
@@ -1,21 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- exports.default = function () {
8
- return {
9
- chartData: {
10
- series: [{ datapoints: [{ x: 'Hungary', y: 5.5 }, { x: 'Sweden', y: 5.6 }, { x: 'Estonia', y: 5.7 }, { x: 'Finland', y: 5.8 }, { x: 'Belgium', y: 5.9 }, { x: 'Turkey', y: 6 }, { x: 'France', y: 6.5 }, { x: 'Poland', y: 6.6 }, { x: 'Slovenia', y: 6.8 }, { x: 'European Union', y: 7.4, baselineIndex: 0 }, { x: 'Euro area (18 countries)', y: 8.2 }, { x: 'Ireland', y: 8.7, highlightIndex: 0 }, { x: 'Italy', y: 8.9 }, { x: 'Slovak Republic', y: 9.9 }, { x: 'Portugal', y: 10.9 }, { x: 'South Africa', y: 12.3, highlightIndex: 1 }, { x: 'Spain (2 digits)', y: 16.86 }]
11
- }]
12
- },
13
- headerProps: {
14
- title: { label: 'Science performance (PISA)' },
15
- subtitle: [{ label: 'Mean score 2015, Annual incl. OECD, all countries' }]
16
- },
17
- footerProps: {
18
- source: { label: 'data.oecd.org', link: 'http://data.oecd.org/' }
19
- }
20
- };
21
- };
@@ -1,55 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- exports.default = function () {
8
- return {
9
- headerProps: {
10
- "title": { label: "Growth previous period - Annual - 2015" }
11
- },
12
- footerProps: {
13
- soure: { label: 'source', link: 'http://dotstat.oecd.org/' }
14
- },
15
- chartData: {
16
- "series": [{
17
- "datapoints": [{
18
- "category": "Finland",
19
- "values": [-0.958831808585503, -0.938640709195226],
20
- highlightIndex: 0
21
- }, {
22
- "category": "Canada",
23
- "values": [-0.734931326089172, 0.178223109790082]
24
- }, {
25
- "category": "Belgium",
26
- "values": [-0.0160655474335108, 0.177647331428157],
27
- highlightIndex: 1
28
- }, {
29
- "category": "Chile",
30
- "values": [0.230172987500003, 0.286348587500551]
31
- }, {
32
- "category": "Estonia",
33
- "values": [0.292360493199452, 1.4055978394304]
34
- }, {
35
- "category": "Australia",
36
- "values": [1.18005263064255, -1.70548071959404],
37
- baselineIndex: 0
38
- }, {
39
- "category": "Denmark",
40
- "values": [1.18634492777014, 2.47915590644139]
41
- }, {
42
- "category": "France",
43
- "values": [1.96360436882936, 1.92806480043649]
44
- }, {
45
- "category": "Austria",
46
- "values": [2.11995066296641, 2.36545969532268]
47
- }, {
48
- "category": "Czech Republic",
49
- "values": [4.62318401937048, 6.01902272562258]
50
- }],
51
- "symbolValues": ["Industrial production, s.a.", "Total manufacturing, s.a."]
52
- }]
53
- }
54
- };
55
- };