@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,175 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.applyHierarchicalCodesToDim = undefined;
7
-
8
- var _extends2 = require('babel-runtime/helpers/extends');
9
-
10
- var _extends3 = _interopRequireDefault(_extends2);
11
-
12
- var _set = require('babel-runtime/core-js/set');
13
-
14
- var _set2 = _interopRequireDefault(_set);
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 addParentId = function addParentId(id, ids) {
25
- var last = R.last(ids);
26
- return R.append(R.isNil(last) ? id : last + '.' + id, ids);
27
- };
28
-
29
- var refineUnconfirmedPaths = function refineUnconfirmedPaths(paths) {
30
- var confirmedPaths = R.filter(function (p) {
31
- return p.length === 1;
32
- }, paths);
33
- if (!R.isEmpty(confirmedPaths)) {
34
- confirmedPaths = R.reduce(function (acc, k) {
35
- if (R.has(k, acc)) {
36
- return acc;
37
- }
38
- var ps = R.prop(k, paths);
39
- var flatConfirmed = R.unnest(R.values(acc));
40
- var filtered = R.filter(function (p) {
41
- return !!R.find(function (cP) {
42
- return R.includes(p, cP) || R.includes(cP, p);
43
- }, flatConfirmed);
44
- }, ps);
45
- if (!R.isEmpty(filtered)) {
46
- return R.assoc(k, [R.head(filtered)], acc);
47
- }
48
- return acc;
49
- }, confirmedPaths, R.keys(paths));
50
- }
51
- var remainingIds = R.reject(function (id) {
52
- return R.has(id, confirmedPaths);
53
- }, R.keys(paths));
54
- var getCommonPaths = function getCommonPaths(ids) {
55
- var _R$reduce = R.reduce(function (acc, id) {
56
- var ps = R.prop(id, paths);
57
- if (R.isEmpty(acc.commonPaths)) {
58
- return R.assoc('commonPaths', ps, acc);
59
- }
60
- var common = R.intersection(acc.commonPaths, ps);
61
- return R.isEmpty(common) ? R.assoc('rejectedChildrenIds', id, acc) : R.assoc('commonPaths', common, acc);
62
- }, { commonPaths: [], rejectedIds: [] })(ids),
63
- commonPaths = _R$reduce.commonPaths,
64
- rejectedIds = _R$reduce.rejectedIds;
65
-
66
- if (!R.isEmpty(rejectedIds)) {
67
- return R.append(R.head(commonPaths), getCommonPaths(rejectedIds));
68
- }
69
- return [R.head(commonPaths)];
70
- };
71
- var commons = getCommonPaths(remainingIds);
72
- return R.reduce(function (acc, id) {
73
- return R.assoc(id, R.intersection(commons, R.prop(id, paths)), acc);
74
- }, confirmedPaths, remainingIds);
75
- };
76
-
77
- var applyHierarchicalCodesToDim = exports.applyHierarchicalCodesToDim = function applyHierarchicalCodesToDim(hCodes, dim) {
78
- var confirmedHierarchisedChilds = new _set2.default([]);
79
- var unconfirmedPaths = {};
80
-
81
- var indexedValues = R.reduce(function (acc, val) {
82
- if (!val.isSelected) {
83
- return acc;
84
- }
85
- return R.assoc(val.id, val, acc);
86
- }, {}, dim.values || []);
87
-
88
- var parseHCodes = function parseHCodes(parentsDef, parentsInDim) {
89
- return R.reduce(function (acc, hC) {
90
- var codeID = hC.codeID,
91
- _hC$hierarchicalCodes = hC.hierarchicalCodes,
92
- hierarchicalCodes = _hC$hierarchicalCodes === undefined ? [] : _hC$hierarchicalCodes;
93
-
94
- var hasInDim = R.has(codeID, indexedValues);
95
- var isUnconfirmed = R.length(parentsInDim) !== R.length(parentsDef);
96
- var children = parseHCodes(R.append(codeID, parentsDef), hasInDim ? addParentId(codeID, parentsInDim) : parentsInDim)(hierarchicalCodes);
97
- if (!hasInDim) {
98
- return R.concat(acc, children);
99
- }
100
- var path = R.join('.', parentsDef);
101
- var val = (0, _extends3.default)({}, R.prop(codeID, indexedValues), {
102
- path: path,
103
- parents: parentsInDim,
104
- parent: R.last(parentsInDim),
105
- children: children
106
- });
107
-
108
- if (isUnconfirmed) {
109
- unconfirmedPaths = R.over(R.lensProp(val.id), function (paths) {
110
- return R.append(path, paths || []);
111
- }, unconfirmedPaths);
112
- val = R.assoc('unconfirmed', true, val);
113
- return R.append(val, acc);
114
- }
115
- confirmedHierarchisedChilds.add(codeID);
116
- return R.append(val, acc);
117
- }, []);
118
- };
119
-
120
- var parsed = parseHCodes([], [])(hCodes);
121
-
122
- var _unconfirmedPaths = R.pipe(R.reject(function (id) {
123
- return confirmedHierarchisedChilds.has(id);
124
- }), function (ids) {
125
- return R.pick(ids, unconfirmedPaths);
126
- })(R.keys(unconfirmedPaths));
127
-
128
- var refinedUnconfirmedPaths = refineUnconfirmedPaths(_unconfirmedPaths);
129
-
130
- var flattenDescendants = R.reduce(function (acc, val) {
131
- var children = flattenDescendants(val.children || []);
132
- return R.concat(acc, R.prepend(val, children));
133
- }, []);
134
-
135
- var isValid = function isValid(val) {
136
- return !val.unconfirmed || R.includes(val.path, R.propOr([], val.id, refinedUnconfirmedPaths));
137
- };
138
-
139
- var refineCodes = R.reduce(function (acc, hC) {
140
- var _flatDescendants = flattenDescendants(hC.children);
141
- var flatDescendants = R.prepend(hC, _flatDescendants);
142
- var validDescendant = R.find(isValid, flatDescendants);
143
- if (!validDescendant) {
144
- return acc;
145
- }
146
- var refined = R.pipe(R.map(function (v) {
147
- confirmedHierarchisedChilds.add(v.id);
148
- return R.omit(['unconfirmed', 'children', 'path'], v);
149
- }))(flatDescendants);
150
- return R.concat(acc, refined);
151
- }, []);
152
-
153
- var refined = refineCodes(parsed);
154
-
155
- var missingValues = R.pipe(R.keys, R.filter(function (id) {
156
- return !confirmedHierarchisedChilds.has(id);
157
- }), function (ids) {
158
- return R.props(ids, indexedValues);
159
- }, R.map(function (v) {
160
- return (0, _extends3.default)({}, v, { parents: [], parent: undefined });
161
- }), R.sortBy(R.propOr(-1, '__indexPosition')))(indexedValues);
162
-
163
- var hierarchicalIndexes = {};
164
- return R.pipe(R.concat, R.addIndex(R.map)(function (v, ind) {
165
- var parents = R.props(v.parents, hierarchicalIndexes);
166
- var hierId = R.last(v.parents) ? R.last(v.parents) + '.' + v.id : v.id;
167
- hierarchicalIndexes[hierId] = ind;
168
- return (0, _extends3.default)({}, v, {
169
- parents: parents,
170
- __indexPosition: ind
171
- });
172
- }), function (values) {
173
- return (0, _extends3.default)({}, dim, { values: values });
174
- })(missingValues, refined);
175
- };
@@ -1,71 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.combinedValuesDisplay = exports.singleValueDisplay = undefined;
7
-
8
- var _ramda = require('ramda');
9
-
10
- var R = _interopRequireWildcard(_ramda);
11
-
12
- var _src = require('../../rules/src');
13
-
14
- var _constants = require('./constants');
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
- var getRefinedMissinParentsLabels = R.pipe(R.propOr([], 'missingParents'), R.reduce(function (acc, par) {
19
- if (!R.propOr(true, 'display', par) || R.includes(par.id, _constants.REJECTED_VALUE_IDS)) {
20
- return acc;
21
- }
22
- return R.append((0, _src.dimensionValueDisplay)('label')(par), acc);
23
- }, []));
24
-
25
- var singleValueDisplay = exports.singleValueDisplay = function singleValueDisplay(display, value) {
26
- if (display === 'label') {
27
- return R.converge(function (missingParents, label) {
28
- return R.isEmpty(missingParents) ? label : R.join(' > ', R.append(label, missingParents));
29
- }, [getRefinedMissinParentsLabels, (0, _src.dimensionValueDisplay)(display)])(value);
30
- } else if (display === 'both') {
31
- return '(' + singleValueDisplay('code', value) + ') ' + singleValueDisplay('label', value);
32
- }
33
- return (0, _src.dimensionValueDisplay)(display)(value);
34
- };
35
-
36
- var _combinedValuesDisplay = function _combinedValuesDisplay(_display) {
37
- return function (values) {
38
- return R.pipe(R.reduce(function (acc, val) {
39
- if (R.isNil(val)) return acc;
40
- var isDisplayed = R.propOr(true, 'display', val);
41
- var isRejected = R.includes(val.id, _constants.REJECTED_VALUE_IDS);
42
- if ((!isDisplayed || isRejected) && _display === 'label') return acc;
43
- return R.append(singleValueDisplay(_display, val), acc);
44
- }, []), function (labels) {
45
- if (!R.isEmpty(labels) || _display !== 'label') {
46
- return R.join(', ', labels);
47
- }
48
- var totalValue = R.find(R.propEq('id', '_T'), values);
49
- if (!R.isNil(totalValue)) {
50
- return (0, _src.dimensionValueDisplay)('label')(totalValue);
51
- }
52
- if (R.isEmpty(values)) {
53
- return '';
54
- }
55
- var firstValue = R.head(values);
56
- return (0, _src.dimensionValueDisplay)('label')(firstValue);
57
- })(values);
58
- };
59
- };
60
-
61
- var combinedValuesDisplay = exports.combinedValuesDisplay = function combinedValuesDisplay(display, values) {
62
- if (display === 'both') {
63
- return R.converge(function (_ids, labels) {
64
- return (0, _src.dimensionValueDisplay)('both')({
65
- id: _ids,
66
- name: labels
67
- });
68
- }, [_combinedValuesDisplay('code'), _combinedValuesDisplay('label')])(values);
69
- }
70
- return _combinedValuesDisplay(display)(values);
71
- };
@@ -1,11 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var SDMX_3_0_JSON_DATA_FORMAT = exports.SDMX_3_0_JSON_DATA_FORMAT = 'application/vnd.sdmx.data+json;version=2.0';
7
- var SDMX_3_0_CSV_DATA_FORMAT = exports.SDMX_3_0_CSV_DATA_FORMAT = 'application/vnd.sdmx.data+csv;version=2.0';
8
- var EMPTY_ATTACHMENT_LEVEL_CHAR = exports.EMPTY_ATTACHMENT_LEVEL_CHAR = '~';
9
- var REPORTING_YEAR_START_DAY = exports.REPORTING_YEAR_START_DAY = 'REPORTING_YEAR_START_DAY';
10
- var REPYEARSTART = exports.REPYEARSTART = 'REPYEARSTART';
11
- var REJECTED_VALUE_IDS = exports.REJECTED_VALUE_IDS = ['_L', '_T', '_Z'];
@@ -1,39 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.duplicateObs = 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 duplicateObs = exports.duplicateObs = function duplicateObs(dims, observations) {
15
- var obsValues = R.values(observations);
16
- if (R.length(dims) === 0) {
17
- return observations;
18
- }
19
- var duplicated = R.reduce(function (obs, dim) {
20
- var groupedObs = R.groupBy(function (o) {
21
- return R.prop(dim.id, o.indexedDimValIds);
22
- }, obs);
23
- var enhancedObs = R.addIndex(R.map)(function (value, index) {
24
- var matchingObs = R.propOr([], value.id, groupedObs);
25
-
26
- return R.map(function (obs) {
27
- return R.over(R.lensProp('orderedDimIndexes'), function (_indexes) {
28
- var indexes = R.isNil(_indexes) ? R.map(function (i) {
29
- return Number(i);
30
- }, obs.dimValuesIndexes) : _indexes;
31
- return R.set(R.lensIndex(dim.__index), index)(indexes);
32
- })(obs);
33
- }, matchingObs);
34
- }, dim.values);
35
- return R.unnest(enhancedObs);
36
- }, obsValues, dims);
37
- var res = R.indexBy(R.pipe(R.prop('orderedDimIndexes'), R.join(':')), duplicated);
38
- return res;
39
- };
@@ -1,103 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.enhanceObservations = 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 _formatValue = require('../../rules/src/preparators/formatValue');
17
-
18
- var _constants = require('./constants');
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
- /*
25
- options = {
26
- customAttributes: {
27
- decimals: id,
28
- prefscale: id,
29
- },
30
- }
31
- */
32
-
33
- var parseAttributesValues = function parseAttributesValues(obs, attributes, indexedDimensions) {
34
- var attrValuesIndexes = obs.attrValuesIndexes,
35
- dimValuesIndexes = obs.dimValuesIndexes;
36
-
37
- return R.addIndex(R.reduce)(function (acc, valueIndex, attrIndex) {
38
- var attribute = R.nth(attrIndex, attributes);
39
- if (R.isNil(attribute) || !R.prop('series', attribute)) {
40
- return acc;
41
- }
42
- var _value = R.nth(valueIndex, attribute.values || []);
43
- var value = R.isNil(_value) ? _value : R.over(R.lensProp('display'), function () {
44
- var display = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
45
- return display && !R.includes(_value.id, _constants.REJECTED_VALUE_IDS);
46
- })(_value);
47
- if (!R.propOr(true, 'display', attribute) || !R.propOr(true, 'display', value)) {
48
- value = null;
49
- }
50
- var relationship = R.propOr([], 'relationship', attribute);
51
- var coordinates = {};
52
- var serieKey = R.pipe(function (dims) {
53
- return R.isEmpty(relationship) ? R.values(dims) : R.props(relationship, dims);
54
- }, R.map(function (dim) {
55
- var valueIndex = R.nth(dim.__index, dimValuesIndexes);
56
- var valueId = R.path(['values', valueIndex, 'id'], dim);
57
- coordinates = R.assoc(dim.id, valueId, coordinates);
58
- return dim.id + '=' + valueId;
59
- }), R.ifElse(R.isEmpty, R.always(null), R.join(':')))(indexedDimensions);
60
-
61
- return R.assoc(attribute.id, (0, _extends3.default)({}, R.pick(['id', 'name', 'relationship', 'display', 'combined'], attribute), { value: value, serieKey: serieKey, coordinates: coordinates, isObs: R.isEmpty(relationship) }), acc);
62
- }, {}, attrValuesIndexes);
63
- };
64
-
65
- var getFormatAttributesIndexes = function getFormatAttributesIndexes(attributes, customAttributes) {
66
- return R.addIndex(R.reduce)(function (acc, attribute, index) {
67
- if (R.equals(attribute.id, customAttributes.decimals)) {
68
- return (0, _extends3.default)({}, acc, { decimals: index });
69
- }
70
- if (R.equals(attribute.id, customAttributes.prefscale)) {
71
- return (0, _extends3.default)({}, acc, { prefscale: index });
72
- }
73
- return acc;
74
- }, { prefscale: null, decimals: null }, attributes);
75
- };
76
-
77
- var enhanceObservations = exports.enhanceObservations = function enhanceObservations() {
78
- var dimensions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
79
- var observations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
80
- var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
81
- var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
82
-
83
- var formatAttributesIndexes = getFormatAttributesIndexes(attributes, R.propOr({}, 'customAttributes', options));
84
- var indexedDimensions = R.indexBy(R.prop('id'), dimensions);
85
-
86
- return R.map(function (observation) {
87
- var dimValuesIndexes = observation.dimValuesIndexes;
88
-
89
-
90
- var indexedDimValIds = R.addIndex(R.reduce)(function (acc, dimension, dimensionIndex) {
91
- var id = dimension.id;
92
- var valueIndex = R.nth(dimensionIndex, dimValuesIndexes);
93
- var valueId = R.path(['values', Number(valueIndex), 'id'], dimension);
94
- return R.assoc(id, valueId, acc);
95
- }, {}, dimensions);
96
-
97
- return (0, _extends3.default)({}, observation, {
98
- attributes: parseAttributesValues(observation, attributes, indexedDimensions),
99
- formattedValue: (0, _formatValue.formatValue)(observation, formatAttributesIndexes, attributes),
100
- indexedDimValIds: indexedDimValIds
101
- });
102
- }, observations);
103
- };
@@ -1,39 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getAdvAttrSeriesAtCoordinates = 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 attribueValueDisplay = function attribueValueDisplay(display) {
15
- return function (data) {
16
- if (display === 'code') {
17
- return R.prop('id', data);
18
- }
19
- if (display === 'both') {
20
- return R.prop('id', data) + ': ' + R.prop('name', data);
21
- }
22
- return R.prop('name', data);
23
- };
24
- };
25
-
26
- var getAdvAttrSeriesAtCoordinates = exports.getAdvAttrSeriesAtCoordinates = function getAdvAttrSeriesAtCoordinates(coordinates, advancedAttributes, display) {
27
- return R.pipe(R.filter(function (serie) {
28
- var mergedCoord = R.mergeLeft(serie.coordinates, coordinates);
29
- return R.equals(mergedCoord, coordinates);
30
- }), R.map(function (serie) {
31
- return R.pipe(R.propOr({}, 'attributes'), R.values, R.map(function (attribute) {
32
- return {
33
- id: attribute.id,
34
- label: attribueValueDisplay(display)(attribute),
35
- value: attribueValueDisplay(display)(attribute.value)
36
- };
37
- }))(serie);
38
- }))(advancedAttributes);
39
- };
@@ -1,40 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getAttributesSeries = 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 getAttributesSeries = exports.getAttributesSeries = function getAttributesSeries(observations) {
15
- return R.pipe(R.values, R.reduce(function (acc, _ref) {
16
- var attributes = _ref.attributes;
17
-
18
- var res = acc.res;
19
- var rejected = acc.rejected;
20
- R.forEachObjIndexed(function (attribute) {
21
- if (!R.isNil(attribute.serieKey) && !attribute.isObs) {
22
- if (R.isNil(attribute.value)) {
23
- res = R.dissocPath([attribute.serieKey, attribute.id], res);
24
- rejected = R.assocPath([attribute.serieKey, attribute.id], true, rejected);
25
- }
26
- if (R.path([attribute.serieKey, attribute.id], rejected)) {
27
- return;
28
- }
29
- var valueInRes = R.path([attribute.serieKey, attribute.id, 'value', 'id'], res);
30
- if (!R.isNil(valueInRes) && valueInRes !== R.path(['value', 'id'], attribute)) {
31
- res = R.dissocPath([attribute.serieKey, attribute.id], res);
32
- rejected = R.assocPath([attribute.serieKey, attribute.id], true, rejected);
33
- } else {
34
- res = R.assocPath([attribute.serieKey, attribute.id], attribute, res);
35
- }
36
- }
37
- }, attributes);
38
- return { res: res, rejected: rejected };
39
- }, { res: {}, rejected: {} }), R.prop('res'))(observations);
40
- };
@@ -1,72 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getCombinationDefinitions = exports.parseCombinationDefinition = 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 parseTexts = function parseTexts(texts) {
21
- return R.reduce(function (acc, text) {
22
- var splitted = R.split(':', text);
23
- if (R.length(splitted) !== 2) {
24
- return acc;
25
- }
26
-
27
- var _splitted = (0, _slicedToArray3.default)(splitted, 2),
28
- id = _splitted[0],
29
- name = _splitted[1];
30
-
31
- return R.assoc(id, name, acc);
32
- }, {}, texts);
33
- };
34
-
35
- var parseCombinationDefinition = exports.parseCombinationDefinition = function parseCombinationDefinition(locale) {
36
- return function (title, texts) {
37
- return R.useWith(function (titles, texts) {
38
- return R.reduce(function (acc, title) {
39
- var split = R.split(':', title);
40
- if (R.length(split) !== 2) {
41
- return acc;
42
- }
43
-
44
- var _split = (0, _slicedToArray3.default)(split, 2),
45
- id = _split[0],
46
- codes = _split[1];
47
-
48
- if (R.isEmpty(codes)) {
49
- return acc;
50
- }
51
- return R.append({
52
- id: id,
53
- concepts: R.split(',', codes),
54
- name: R.hasPath([locale, id], texts) ? R.path([locale, id], texts) : '[' + id + ']'
55
- }, acc);
56
- }, [], titles);
57
- }, [R.split(';'), R.map(R.pipe(R.split(';'), parseTexts))])(title, texts);
58
- };
59
- };
60
-
61
- var getCombinationDefinitions = exports.getCombinationDefinitions = function getCombinationDefinitions(annotations, locale) {
62
- var annotation = R.find(function (annot) {
63
- return annot.type === 'COMBINED_CONCEPTS';
64
- }, annotations);
65
- if (R.isNil(annotation)) {
66
- return [];
67
- }
68
- var title = R.propOr('', 'title', annotation);
69
- var texts = R.propOr({}, 'texts', annotation);
70
-
71
- return parseCombinationDefinition(locale)(title, texts);
72
- };
@@ -1,34 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getDataflowAttributes = 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 _constants = require('./constants');
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 getDataflowAttributes = exports.getDataflowAttributes = function getDataflowAttributes(attributes, combinations) {
23
- var combinationsConceptsIds = R.pipe(R.pluck('concepts'), R.unnest)(combinations);
24
- return R.reduce(function (acc, attribute) {
25
- if (!R.prop('header', attribute) || !R.isEmpty(attribute.relationship) || R.includes(attribute.id, combinationsConceptsIds)) {
26
- return acc;
27
- }
28
- var value = R.head(attribute.values);
29
- if (!R.propOr(true, 'display', attribute) || R.isNil(value) || !R.propOr(true, 'display', value) || R.includes(R.prop('id', value), _constants.REJECTED_VALUE_IDS)) {
30
- return acc;
31
- }
32
- return R.assoc(attribute.id, (0, _extends3.default)({}, R.pick(['id', 'name'], attribute), { value: value }), acc);
33
- }, {}, attributes);
34
- };
@@ -1,38 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getDataflowTooltipAttributesIds = 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 getDataflowTooltipAttributesIds = exports.getDataflowTooltipAttributesIds = function getDataflowTooltipAttributesIds(sdmxJson) {
15
- var defaults = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
16
-
17
- var dataflowAnnotationsIndexes = R.pathOr([], ['data', 'dataSets', 0, 'annotations'], sdmxJson);
18
- var dataflowAnnotations = R.props(dataflowAnnotationsIndexes, R.pathOr([], ['data', 'structure', 'annotations'], sdmxJson));
19
-
20
- var flagsAttrAnnotation = R.find(R.propEq('type', 'LAYOUT_FLAG'), dataflowAnnotations);
21
- var footnotesAttrAnnotation = R.find(R.propEq('type', 'LAYOUT_NOTE'), dataflowAnnotations);
22
-
23
- var customFlags = R.pipe(R.propOr('', 'title'), function (title) {
24
- return R.isNil(title) || R.isEmpty(title) ? [] : R.split(',', title);
25
- })(flagsAttrAnnotation || {});
26
-
27
- var customNotes = R.pipe(R.propOr('', 'title'), function (title) {
28
- return R.isNil(title) || R.isEmpty(title) ? [] : R.split(',', title);
29
- }, function (notes) {
30
- return R.difference(notes, customFlags);
31
- })(footnotesAttrAnnotation || {});
32
-
33
- var flags = R.isNil(flagsAttrAnnotation) ? R.difference(defaults.flags || [], customNotes) : customFlags;
34
-
35
- var notes = R.isNil(footnotesAttrAnnotation) ? R.difference(defaults.notes || [], flags) : customNotes;
36
-
37
- return { flags: flags, notes: notes };
38
- };
@@ -1,19 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getDimensionValuesIndexes = 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 getDimensionValuesIndexes = exports.getDimensionValuesIndexes = function getDimensionValuesIndexes(values) {
15
- return R.addIndex(R.reduce)(function (acc, value, position) {
16
- var sdmxIndex = value.__index;
17
- return R.over(R.lensProp(String(sdmxIndex)), R.ifElse(R.isNil, R.always([position]), R.append(position)))(acc);
18
- }, {}, values);
19
- };