@sis-cc/dotstatsuite-components 17.13.0 → 17.15.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.
- package/lib/rules/src/get-values-enhanced.js +1 -1
- package/lib/rules/src/v8-transformer.js +6 -6
- package/lib/rules2/src/index.js +0 -9
- package/lib/rules2/src/parseMetadataSeries.js +1 -3
- package/lib/rules2/src/table/getLayoutData2.js +81 -41
- package/lib/rules2/src/table/parseSeriesIndexesHierarchies.js +55 -42
- package/package.json +1 -1
- package/src/rules/src/get-values-enhanced.js +33 -33
- package/src/rules/src/v8-transformer.js +6 -7
- package/src/rules2/src/index.js +0 -1
- package/src/rules2/src/parseMetadataSeries.js +5 -6
- package/src/rules2/src/table/getLayoutData2.js +76 -61
- package/src/rules2/src/table/parseSeriesIndexesHierarchies.js +37 -40
- package/test/getLayoutData2.test.js +142 -33
- package/test/parseSeriesIndexesHierarchies.test.js +1 -0
- package/lib/rules2/src/getSidebarData.js +0 -92
- package/src/rules2/src/getSidebarData.js +0 -85
- package/test/getSidebarData.test.js +0 -322
|
@@ -46,7 +46,7 @@ var getName = function getName(_ref) {
|
|
|
46
46
|
start = _ref.start,
|
|
47
47
|
reportYearStart = _ref.reportYearStart;
|
|
48
48
|
return function (value) {
|
|
49
|
-
if (!isTimeDimension) return (
|
|
49
|
+
if (!isTimeDimension) return R.prop('name')(value);
|
|
50
50
|
return (0, _date.getReportedTimePeriodLabel)(options.frequency, options.timeFormat, locale)(reportYearStart, {
|
|
51
51
|
id: value.id,
|
|
52
52
|
reportedStart: start,
|
|
@@ -35,7 +35,7 @@ var dataTransformer = exports.dataTransformer = function dataTransformer(dataNew
|
|
|
35
35
|
_hiddenIds = options.hiddenIds;
|
|
36
36
|
|
|
37
37
|
var reportYearStart = (0, _getReportingYearStart.getReportingYearStart)(dataNew);
|
|
38
|
-
|
|
38
|
+
var getName = R.prop('name');
|
|
39
39
|
//---------------------------------------------------------------------------------------Annotations
|
|
40
40
|
var getStructure = R.pathOr({}, ['data', 'structure']);
|
|
41
41
|
var structure = getStructure(dataNew);
|
|
@@ -56,7 +56,7 @@ var dataTransformer = exports.dataTransformer = function dataTransformer(dataNew
|
|
|
56
56
|
var sender = getSender(meta);
|
|
57
57
|
|
|
58
58
|
var resHeader = (0, _extends3.default)({}, meta, {
|
|
59
|
-
sender: (0, _extends3.default)({}, sender, { name: (
|
|
59
|
+
sender: (0, _extends3.default)({}, sender, { name: getName(sender) })
|
|
60
60
|
});
|
|
61
61
|
|
|
62
62
|
//----------------------------------------------------------------------------------------Attributes
|
|
@@ -71,7 +71,7 @@ var dataTransformer = exports.dataTransformer = function dataTransformer(dataNew
|
|
|
71
71
|
return (0, _extends3.default)({}, observation, {
|
|
72
72
|
__index: index,
|
|
73
73
|
display: !R.has(observation.id, hiddenIds) && !(0, _sdmxData.getIsHidden)(obsAnnotations),
|
|
74
|
-
name: (
|
|
74
|
+
name: getName(observation),
|
|
75
75
|
values: (0, _getValuesEnhanced.getValuesEnhanced)({
|
|
76
76
|
locale: locale,
|
|
77
77
|
annotations: annotations,
|
|
@@ -89,7 +89,7 @@ var dataTransformer = exports.dataTransformer = function dataTransformer(dataNew
|
|
|
89
89
|
var attrAnnotations = R.props(attr.annotations || [], annotations);
|
|
90
90
|
return (0, _extends3.default)({}, attr, {
|
|
91
91
|
display: !R.has(attr.id, hiddenIds) && !(0, _sdmxData.getIsHidden)(attrAnnotations),
|
|
92
|
-
name: (
|
|
92
|
+
name: getName(attr),
|
|
93
93
|
values: (0, _getValuesEnhanced.getValuesEnhanced)({
|
|
94
94
|
locale: locale,
|
|
95
95
|
annotations: annotations,
|
|
@@ -134,7 +134,7 @@ var dataTransformer = exports.dataTransformer = function dataTransformer(dataNew
|
|
|
134
134
|
observation: R.append((0, _extends3.default)({}, observation, {
|
|
135
135
|
display: !isHidden,
|
|
136
136
|
__index: obsIndex,
|
|
137
|
-
name: (
|
|
137
|
+
name: getName(observation),
|
|
138
138
|
values: _idHidden ? [] : values,
|
|
139
139
|
role: isTimeDimension ? TIME_PERIOD_ID : R.head(R.propOr([], 'roles', observation))
|
|
140
140
|
}))(acc.observation),
|
|
@@ -150,7 +150,7 @@ var dataTransformer = exports.dataTransformer = function dataTransformer(dataNew
|
|
|
150
150
|
observation = _getObservations.observation;
|
|
151
151
|
|
|
152
152
|
var resStructure = (0, _extends3.default)({}, structure, {
|
|
153
|
-
name: (
|
|
153
|
+
name: getName((0, _extends3.default)({}, structure, { id: options.dataflowId })),
|
|
154
154
|
annotations: annotations,
|
|
155
155
|
attributes: resAttributes,
|
|
156
156
|
dimensions: { observation: observation }
|
package/lib/rules2/src/index.js
CHANGED
|
@@ -19,15 +19,6 @@ Object.defineProperty(exports, 'SDMX_3_0_CSV_DATA_FORMAT', {
|
|
|
19
19
|
}
|
|
20
20
|
});
|
|
21
21
|
|
|
22
|
-
var _getSidebarData = require('./getSidebarData');
|
|
23
|
-
|
|
24
|
-
Object.defineProperty(exports, 'getSidebarData', {
|
|
25
|
-
enumerable: true,
|
|
26
|
-
get: function get() {
|
|
27
|
-
return _getSidebarData.getSidebarData;
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
|
|
31
22
|
var _parseMetadataSeries = require('./parseMetadataSeries');
|
|
32
23
|
|
|
33
24
|
Object.defineProperty(exports, 'parseMetadataSeries', {
|
|
@@ -13,8 +13,6 @@ var _ramda = require('ramda');
|
|
|
13
13
|
|
|
14
14
|
var R = _interopRequireWildcard(_ramda);
|
|
15
15
|
|
|
16
|
-
var _dotstatsuiteSdmxjs = require('@sis-cc/dotstatsuite-sdmxjs');
|
|
17
|
-
|
|
18
16
|
var _constants = require('./constants');
|
|
19
17
|
|
|
20
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; } }
|
|
@@ -26,7 +24,7 @@ var dimensionValueDisplay = function dimensionValueDisplay(display) {
|
|
|
26
24
|
if (display === 'code') {
|
|
27
25
|
return R.prop('id', data);
|
|
28
26
|
}
|
|
29
|
-
var name = (
|
|
27
|
+
var name = R.prop('name')(data);
|
|
30
28
|
if (display === 'both') {
|
|
31
29
|
return R.prop('id', data) + ': ' + name;
|
|
32
30
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.getLayoutData = exports.
|
|
6
|
+
exports.getLayoutData = exports.getSerieDataWithoutMissingLines = exports.getSerieDataWithMissingLines = undefined;
|
|
7
7
|
|
|
8
8
|
var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray');
|
|
9
9
|
|
|
@@ -30,10 +30,12 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj;
|
|
|
30
30
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
31
31
|
|
|
32
32
|
var getValueData = function getValueData(index, dimension, parentsIndexes) {
|
|
33
|
+
var missingParents = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
|
|
33
34
|
return {
|
|
34
35
|
dimension: R.pick(['id', 'name', '__index'], dimension),
|
|
35
36
|
value: (0, _extends3.default)({}, R.pipe(R.pathOr({}, ['values', index]), R.pick(['id', 'name']))(dimension), {
|
|
36
|
-
parents: parentsIndexes
|
|
37
|
+
parents: parentsIndexes,
|
|
38
|
+
missingParents: missingParents
|
|
37
39
|
})
|
|
38
40
|
};
|
|
39
41
|
};
|
|
@@ -55,8 +57,8 @@ var combinedValueDataSetter = function combinedValueDataSetter(valueData) {
|
|
|
55
57
|
};
|
|
56
58
|
|
|
57
59
|
var addValueToSerieData = function addValueToSerieData(dataSetter) {
|
|
58
|
-
return function (index, parentsIndexes, dimension, serieData) {
|
|
59
|
-
var valueData = getValueData(index, dimension, parentsIndexes);
|
|
60
|
+
return function (index, parentsIndexes, dimension, serieData, missingParents) {
|
|
61
|
+
var valueData = getValueData(index, dimension, parentsIndexes, missingParents);
|
|
60
62
|
var valueId = R.path(['value', 'id'], valueData);
|
|
61
63
|
return (0, _extends3.default)({}, serieData, {
|
|
62
64
|
data: dataSetter(valueData, R.prop('data', serieData)),
|
|
@@ -92,7 +94,7 @@ var getAttributesSeries = function getAttributesSeries(validator, attributesSeri
|
|
|
92
94
|
var attr = R.head(R.values(attrs));
|
|
93
95
|
var coordinates = R.propOr({}, 'coordinates', attr);
|
|
94
96
|
var isValid = validator(coordinates);
|
|
95
|
-
if (!isValid && !
|
|
97
|
+
if (!isValid && !R.prop('isObs', attr)) {
|
|
96
98
|
return acc;
|
|
97
99
|
}
|
|
98
100
|
return (0, _extends3.default)({}, acc, attrs);
|
|
@@ -128,27 +130,8 @@ var getSerieFlagsAndSideProps = function getSerieFlagsAndSideProps(coordinates,
|
|
|
128
130
|
return { flags: flags, sideProps: sideProps };
|
|
129
131
|
};
|
|
130
132
|
|
|
131
|
-
var
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
var serieCoordinates = getCoordinates(serie.indexes, topCoordinates, definition);
|
|
135
|
-
var coordinatesValidator = (0, _utils.getLayoutCoordinatesValidator)(serieCoordinates, topCoordinates);
|
|
136
|
-
var attributesValues = getAttributesSeries(coordinatesValidator, attributesSeries);
|
|
137
|
-
|
|
138
|
-
var addMissingParentsLines = function addMissingParentsLines(dataSetter) {
|
|
139
|
-
return function (missingParentsIndexes, parentsIndexes, dim, serieData) {
|
|
140
|
-
return R.reduce(function (parents, index) {
|
|
141
|
-
var missingParentData = addValueToSerieData(dataSetter)(index, parents, dim, serieData);
|
|
142
|
-
lines.push(R.assoc('isEmpty', true, missingParentData));
|
|
143
|
-
return R.append(index, parents);
|
|
144
|
-
}, parentsIndexes, missingParentsIndexes);
|
|
145
|
-
};
|
|
146
|
-
};
|
|
147
|
-
|
|
148
|
-
var addSimpleMissingParentsLines = addMissingParentsLines(simpleValueDataSetter);
|
|
149
|
-
var addCombinedMissingParentsLines = addMissingParentsLines(combinedValueDataSetter);
|
|
150
|
-
|
|
151
|
-
var serieData = R.addIndex(R.reduce)(function (onGoingSerie, entry, index) {
|
|
133
|
+
var getSerieDimensionsData = function getSerieDimensionsData(serie, definition, attributesValues, missingParentsGetter) {
|
|
134
|
+
return R.addIndex(R.reduce)(function (onGoingSerie, entry, index) {
|
|
152
135
|
if (R.has('dimensions', entry)) {
|
|
153
136
|
var combValuesIndexes = R.pathOr([], ['indexes', index], serie);
|
|
154
137
|
var combParentsIndexes = R.pathOr([], ['parentsIndexes', index], serie);
|
|
@@ -158,33 +141,90 @@ var getSerieDatas = exports.getSerieDatas = function getSerieDatas(serie, defini
|
|
|
158
141
|
var valueIndex = Math.abs(R.nth(dimIndex, combValuesIndexes));
|
|
159
142
|
var _parentsIndexes = R.nth(dimIndex, combParentsIndexes) || [];
|
|
160
143
|
var missingParentsIndexes = R.nth(dimIndex, combMissingParentsIndexes) || [];
|
|
161
|
-
|
|
162
|
-
var
|
|
144
|
+
|
|
145
|
+
var _missingParentsGetter = missingParentsGetter(combinedValueDataSetter)(missingParentsIndexes, _parentsIndexes, dimension, combSerie),
|
|
146
|
+
parentsIndexes = _missingParentsGetter.parentsIndexes,
|
|
147
|
+
missingParents = _missingParentsGetter.missingParents;
|
|
148
|
+
|
|
149
|
+
var next = addCombinedValueToSerieData(valueIndex, parentsIndexes, dimension, combSerie, missingParents);
|
|
163
150
|
var value = R.pipe(R.prop('data'), R.last, R.prop('values'), R.last)(next);
|
|
164
151
|
combDimValues = R.assoc(dimension.id, value, combDimValues);
|
|
165
152
|
return next;
|
|
166
153
|
}, R.over(R.lensProp('data'), R.append({ dimension: R.pick(['id', 'name'], entry), values: [] }))(onGoingSerie), R.propOr([], 'dimensions', entry));
|
|
167
154
|
|
|
168
|
-
var combined = combineConcepts(combDimValues, entry,
|
|
169
|
-
|
|
170
|
-
return combined;
|
|
155
|
+
var combined = combineConcepts(combDimValues, entry, onGoingSerie.attributes)(res);
|
|
156
|
+
return R.over(R.lensProp('attributes'), R.omit(entry.concepts), combined);
|
|
171
157
|
}
|
|
172
158
|
|
|
173
159
|
var valueIndex = Math.abs(R.path(['indexes', index], serie));
|
|
174
160
|
var _parentsIndexes = R.pathOr([], ['parentsIndexes', index], serie);
|
|
175
161
|
var missingParentsIndexes = R.pathOr([], ['missingIndexes', index], serie);
|
|
176
|
-
var parentsIndexes = addSimpleMissingParentsLines(missingParentsIndexes, _parentsIndexes, entry, onGoingSerie);
|
|
177
|
-
return addSimpleValueToSerieData(valueIndex, parentsIndexes, entry, onGoingSerie);
|
|
178
|
-
}, { data: [], coordinates: {}, key: '', sideProps: null, flags: [] }, definition);
|
|
179
162
|
|
|
180
|
-
|
|
163
|
+
var _missingParentsGetter2 = missingParentsGetter(simpleValueDataSetter)(missingParentsIndexes, _parentsIndexes, entry, onGoingSerie),
|
|
164
|
+
parentsIndexes = _missingParentsGetter2.parentsIndexes,
|
|
165
|
+
missingParents = _missingParentsGetter2.missingParents;
|
|
166
|
+
|
|
167
|
+
return addSimpleValueToSerieData(valueIndex, parentsIndexes, entry, onGoingSerie, missingParents);
|
|
168
|
+
}, { data: [], key: '', attributes: attributesValues }, definition);
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
var getSerieDataWithMissingLines = function getSerieDataWithMissingLines(serie, definition, topCoordinates, attributesSeries, customAttributes, metadataCoordinates) {
|
|
172
|
+
var lines = [];
|
|
173
|
+
|
|
174
|
+
var serieCoordinates = getCoordinates(serie.indexes, topCoordinates, definition);
|
|
175
|
+
var coordinatesValidator = (0, _utils.getLayoutCoordinatesValidator)(serieCoordinates, topCoordinates);
|
|
176
|
+
var attributesValues = getAttributesSeries(coordinatesValidator, attributesSeries);
|
|
177
|
+
|
|
178
|
+
var getMissingParents = function getMissingParents(dataSetter) {
|
|
179
|
+
return function (missingParentsIndexes, _parentsIndexes, dim, serieData) {
|
|
180
|
+
return R.reduce(function (acc, index) {
|
|
181
|
+
var missingParentData = addValueToSerieData(dataSetter)(index, acc.parentsIndexes, dim, serieData);
|
|
182
|
+
lines.push((0, _extends3.default)({}, R.dissoc('attributes', missingParentData), { sideProps: null, flags: [], isEmpty: true }));
|
|
183
|
+
return R.over(R.lensProp('parentsIndexes'), R.append(index), acc);
|
|
184
|
+
}, { parentsIndexes: _parentsIndexes, missingParents: [] }, missingParentsIndexes);
|
|
185
|
+
};
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
var _getSerieDimensionsDa = getSerieDimensionsData(serie, definition, attributesValues, getMissingParents),
|
|
189
|
+
attributes = _getSerieDimensionsDa.attributes,
|
|
190
|
+
serieData = (0, _objectWithoutProperties3.default)(_getSerieDimensionsDa, ['attributes']);
|
|
191
|
+
|
|
192
|
+
var _getSerieFlagsAndSide = getSerieFlagsAndSideProps(serieCoordinates, coordinatesValidator, attributes, customAttributes, metadataCoordinates),
|
|
181
193
|
flags = _getSerieFlagsAndSide.flags,
|
|
182
194
|
sideProps = _getSerieFlagsAndSide.sideProps;
|
|
183
195
|
|
|
184
|
-
|
|
185
|
-
|
|
196
|
+
return R.append((0, _extends3.default)({}, serieData, { flags: flags, sideProps: sideProps }), lines);
|
|
197
|
+
};
|
|
198
|
+
|
|
199
|
+
exports.getSerieDataWithMissingLines = getSerieDataWithMissingLines;
|
|
200
|
+
var getSerieDataWithoutMissingLines = function getSerieDataWithoutMissingLines(serie, definition, topCoordinates, attributesSeries, customAttributes, metadataCoordinates) {
|
|
201
|
+
var serieCoordinates = getCoordinates(serie.indexes, topCoordinates, definition);
|
|
202
|
+
var coordinatesValidator = (0, _utils.getLayoutCoordinatesValidator)(serieCoordinates, topCoordinates);
|
|
203
|
+
var attributesValues = getAttributesSeries(coordinatesValidator, attributesSeries);
|
|
204
|
+
|
|
205
|
+
var getMissingParents = function getMissingParents() {
|
|
206
|
+
return function (missingParentsIndexes, _parentsIndexes, dim) {
|
|
207
|
+
return R.reduce(function (acc, index) {
|
|
208
|
+
return {
|
|
209
|
+
parentsIndexes: R.append(index, acc.parentsIndexes),
|
|
210
|
+
missingParents: R.append(R.prop('value', getValueData(index, dim, acc.parentsIndexes)), acc.missingParents)
|
|
211
|
+
};
|
|
212
|
+
}, { parentsIndexes: _parentsIndexes, missingParents: [] }, missingParentsIndexes);
|
|
213
|
+
};
|
|
214
|
+
};
|
|
215
|
+
|
|
216
|
+
var _getSerieDimensionsDa2 = getSerieDimensionsData(serie, definition, attributesValues, getMissingParents),
|
|
217
|
+
attributes = _getSerieDimensionsDa2.attributes,
|
|
218
|
+
serieData = (0, _objectWithoutProperties3.default)(_getSerieDimensionsDa2, ['attributes']);
|
|
219
|
+
|
|
220
|
+
var _getSerieFlagsAndSide2 = getSerieFlagsAndSideProps(serieCoordinates, coordinatesValidator, attributes, customAttributes, metadataCoordinates),
|
|
221
|
+
flags = _getSerieFlagsAndSide2.flags,
|
|
222
|
+
sideProps = _getSerieFlagsAndSide2.sideProps;
|
|
223
|
+
|
|
224
|
+
return (0, _extends3.default)({}, serieData, { flags: flags, sideProps: sideProps });
|
|
186
225
|
};
|
|
187
226
|
|
|
227
|
+
exports.getSerieDataWithoutMissingLines = getSerieDataWithoutMissingLines;
|
|
188
228
|
var getLayoutData = function getLayoutData(layoutIndexes, layout, _ref) {
|
|
189
229
|
var metadataCoordinates = _ref.metadataCoordinates,
|
|
190
230
|
attributesSeries = _ref.attributesSeries,
|
|
@@ -197,7 +237,7 @@ var getLayoutData = function getLayoutData(layoutIndexes, layout, _ref) {
|
|
|
197
237
|
|
|
198
238
|
|
|
199
239
|
var headerData = R.reduce(function (acc, serie) {
|
|
200
|
-
var datas =
|
|
240
|
+
var datas = getSerieDataWithMissingLines(serie, layout.header, topCoordinates, attributesSeries, customAttributes, metadataCoordinates);
|
|
201
241
|
return R.concat(acc, datas);
|
|
202
242
|
}, [], header);
|
|
203
243
|
|
|
@@ -206,9 +246,9 @@ var getLayoutData = function getLayoutData(layoutIndexes, layout, _ref) {
|
|
|
206
246
|
sectionSerie = _ref3[0],
|
|
207
247
|
rowsSeries = _ref3[1];
|
|
208
248
|
|
|
209
|
-
var sectionData =
|
|
210
|
-
return [
|
|
211
|
-
var datas =
|
|
249
|
+
var sectionData = getSerieDataWithoutMissingLines(sectionSerie, layout.sections, topCoordinates, attributesSeries, customAttributes, metadataCoordinates, false);
|
|
250
|
+
return [sectionData, R.reduce(function (acc, serie) {
|
|
251
|
+
var datas = getSerieDataWithMissingLines(serie, layout.rows, R.propOr(topCoordinates, 'coordinates', sectionData), attributesSeries, customAttributes, metadataCoordinates);
|
|
212
252
|
return R.concat(acc, datas);
|
|
213
253
|
}, [], rowsSeries)];
|
|
214
254
|
}, sections);
|
|
@@ -13,6 +13,14 @@ var _set = require('babel-runtime/core-js/set');
|
|
|
13
13
|
|
|
14
14
|
var _set2 = _interopRequireDefault(_set);
|
|
15
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
|
+
|
|
16
24
|
var _ramda = require('ramda');
|
|
17
25
|
|
|
18
26
|
var R = _interopRequireWildcard(_ramda);
|
|
@@ -21,76 +29,81 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj;
|
|
|
21
29
|
|
|
22
30
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
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
|
+
|
|
24
42
|
var parseSerieIndexesHierarchies = function parseSerieIndexesHierarchies(serieIndexes, previousSerie, dimensions) {
|
|
25
|
-
var
|
|
43
|
+
var defaultIsSameSerie = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
|
|
26
44
|
|
|
27
45
|
return R.addIndex(R.reduce)(function (acc, _valueIndex, dimensionIndex) {
|
|
28
46
|
if (R.is(Array, _valueIndex)) {
|
|
29
|
-
var previous = R.isEmpty(previousSerie) ? {} :
|
|
30
|
-
indexes: R.nth(dimensionIndex, previousSerie.indexes || []),
|
|
31
|
-
parentsIndexes: R.nth(dimensionIndex, previousSerie.parentsIndexes || []),
|
|
32
|
-
missingIndexes: R.nth(dimensionIndex, previousSerie.missingIndexes || []),
|
|
33
|
-
registeredIndexes: R.nth(dimensionIndex, previousSerie.registeredIndexes || [])
|
|
34
|
-
};
|
|
47
|
+
var previous = R.isEmpty(previousSerie) ? {} : R.map(R.nth(dimensionIndex), previousSerie);
|
|
35
48
|
var parsed = parseSerieIndexesHierarchies(_valueIndex, previous, R.pathOr([], [dimensionIndex, 'dimensions'], dimensions), acc.isSameSerie);
|
|
36
|
-
return
|
|
37
|
-
parentsIndexes: R.append(parsed.parentsIndexes, acc.parentsIndexes),
|
|
38
|
-
missingIndexes: R.append(parsed.missingIndexes, acc.missingIndexes),
|
|
39
|
-
registeredIndexes: R.append(parsed.registeredIndexes, acc.registeredIndexes),
|
|
40
|
-
isSameSerie: parsed.isSameSerie
|
|
41
|
-
};
|
|
49
|
+
return registerParsedIndexes(parsed, acc);
|
|
42
50
|
}
|
|
43
51
|
var valueIndex = Math.abs(_valueIndex);
|
|
44
|
-
var
|
|
52
|
+
var parents = R.pathOr([], [dimensionIndex, 'values', valueIndex, 'parents'], dimensions);
|
|
45
53
|
var previousIndex = acc.isSameSerie ? R.pathOr(-1, ['indexes', dimensionIndex], previousSerie) : -1;
|
|
46
54
|
var previousRegisteredIndexes = acc.isSameSerie ? R.pathOr(new _set2.default(), ['registeredIndexes', dimensionIndex], previousSerie) : new _set2.default();
|
|
47
55
|
var registeredIndexes = new _set2.default(previousRegisteredIndexes);
|
|
48
56
|
|
|
49
|
-
var _R$reduce = R.reduce(function (_acc,
|
|
50
|
-
if (previousRegisteredIndexes.has(
|
|
51
|
-
return R.over(R.
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
57
|
+
var _R$reduce = R.reduce(function (_acc, i) {
|
|
58
|
+
if (previousRegisteredIndexes.has(i)) {
|
|
59
|
+
return R.over(R.lensProp('presentParentsIndexes'), function (p) {
|
|
60
|
+
return R.isNil(p) ? [i] : R.append(i, p);
|
|
61
|
+
}, _acc);
|
|
62
|
+
} else if (i > previousIndex && R.pathOr(false, [dimensionIndex, 'values', i, 'isSelected'], dimensions)) {
|
|
63
|
+
registeredIndexes.add(i);
|
|
64
|
+
return R.over(R.lensProp('missingParentsIndexes'), function (m) {
|
|
65
|
+
return R.isNil(m) ? [i] : R.append(i, m);
|
|
66
|
+
}, _acc);
|
|
55
67
|
}
|
|
56
68
|
return _acc;
|
|
57
|
-
},
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
missingParentsIndexes = _R$reduce2[1];
|
|
69
|
+
}, {}, parents),
|
|
70
|
+
presentParentsIndexes = _R$reduce.presentParentsIndexes,
|
|
71
|
+
missingParentsIndexes = _R$reduce.missingParentsIndexes;
|
|
61
72
|
|
|
62
73
|
registeredIndexes.add(valueIndex);
|
|
63
|
-
return {
|
|
64
|
-
|
|
65
|
-
missingIndexes: R.append(missingParentsIndexes, acc.missingIndexes),
|
|
66
|
-
registeredIndexes: R.append(registeredIndexes, acc.registeredIndexes),
|
|
67
|
-
isSameSerie: acc.isSameSerie && valueIndex === previousIndex
|
|
68
|
-
};
|
|
69
|
-
}, { parentsIndexes: [], missingIndexes: [], registeredIndexes: [], isSameSerie: isSameSerie }, serieIndexes);
|
|
74
|
+
return registerParsedIndexes({ parentsIndexes: presentParentsIndexes, missingIndexes: missingParentsIndexes, registeredIndexes: registeredIndexes, isSameSerie: acc.isSameSerie && valueIndex === previousIndex }, acc);
|
|
75
|
+
}, { parentsIndexes: [], missingIndexes: [], registeredIndexes: [], isSameSerie: defaultIsSameSerie }, serieIndexes);
|
|
70
76
|
};
|
|
71
77
|
|
|
72
|
-
var parseSeriesIndexesHierarchies =
|
|
78
|
+
var parseSeriesIndexesHierarchies = function parseSeriesIndexesHierarchies(seriesIndexes, dimensions) {
|
|
73
79
|
return R.reduce(function (acc, serieIndexes) {
|
|
74
80
|
var previousSerie = R.last(acc) || {};
|
|
75
81
|
|
|
76
82
|
var _parseSerieIndexesHie = parseSerieIndexesHierarchies(serieIndexes, previousSerie, dimensions),
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
registeredIndexes = _parseSerieIndexesHie.registeredIndexes;
|
|
83
|
+
isSameSerie = _parseSerieIndexesHie.isSameSerie,
|
|
84
|
+
parsed = (0, _objectWithoutProperties3.default)(_parseSerieIndexesHie, ['isSameSerie']);
|
|
80
85
|
|
|
81
|
-
return R.append(
|
|
86
|
+
return R.append(R.assoc('indexes', serieIndexes, parsed), acc);
|
|
82
87
|
}, [], seriesIndexes);
|
|
83
88
|
};
|
|
84
89
|
|
|
90
|
+
exports.parseSeriesIndexesHierarchies = parseSeriesIndexesHierarchies;
|
|
85
91
|
var parseLayoutIndexesHierarchies = exports.parseLayoutIndexesHierarchies = function parseLayoutIndexesHierarchies(layoutIndexes, layout) {
|
|
86
92
|
var header = parseSeriesIndexesHierarchies(layoutIndexes.header, layout.header);
|
|
87
|
-
var sections = R.
|
|
88
|
-
var
|
|
89
|
-
|
|
90
|
-
|
|
93
|
+
var sections = R.pipe(R.transpose, function (_ref2) {
|
|
94
|
+
var _ref3 = (0, _slicedToArray3.default)(_ref2, 2),
|
|
95
|
+
_sections = _ref3[0],
|
|
96
|
+
_sectionsRows = _ref3[1];
|
|
91
97
|
|
|
92
|
-
|
|
93
|
-
|
|
98
|
+
if (R.isNil(_sections)) {
|
|
99
|
+
return [];
|
|
100
|
+
}
|
|
101
|
+
var sections = parseSeriesIndexesHierarchies(_sections, layout.sections);
|
|
102
|
+
var sectionsRows = R.map(function (rows) {
|
|
103
|
+
return parseSeriesIndexesHierarchies(rows, layout.rows);
|
|
104
|
+
}, _sectionsRows);
|
|
105
|
+
return R.transpose([sections, sectionsRows]);
|
|
106
|
+
})(layoutIndexes.sections);
|
|
94
107
|
|
|
95
108
|
return { header: header, sections: sections };
|
|
96
109
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as R from 'ramda';
|
|
2
2
|
import dateFns from 'date-fns';
|
|
3
|
-
import { getCodeOrder
|
|
3
|
+
import { getCodeOrder } from '@sis-cc/dotstatsuite-sdmxjs';
|
|
4
4
|
import { getIsHidden } from './sdmx-data';
|
|
5
5
|
import {
|
|
6
6
|
getReportedTimePeriodLabel,
|
|
@@ -21,18 +21,18 @@ const getId = (value, fallbackId) => {
|
|
|
21
21
|
|
|
22
22
|
const getName =
|
|
23
23
|
({ isTimeDimension, options, locale, start, reportYearStart }) =>
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
24
|
+
(value) => {
|
|
25
|
+
if (!isTimeDimension) return R.prop('name')(value);
|
|
26
|
+
return getReportedTimePeriodLabel(
|
|
27
|
+
options.frequency,
|
|
28
|
+
options.timeFormat,
|
|
29
|
+
locale,
|
|
30
|
+
)(reportYearStart, {
|
|
31
|
+
id: value.id,
|
|
32
|
+
reportedStart: start,
|
|
33
|
+
start: new Date(value.start),
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
36
|
|
|
37
37
|
export const getValuesEnhanced = ({
|
|
38
38
|
locale = '',
|
|
@@ -115,23 +115,23 @@ const defaultSorts = [byIndexPosition, byOrder];
|
|
|
115
115
|
|
|
116
116
|
const getTimePeriodAttributes =
|
|
117
117
|
({ reportYearStart, options }) =>
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
118
|
+
(value) => {
|
|
119
|
+
const reported = getReportedTimePeriod(
|
|
120
|
+
reportYearStart,
|
|
121
|
+
value,
|
|
122
|
+
options.frequency,
|
|
123
|
+
);
|
|
124
|
+
const start = reported.start;
|
|
125
|
+
const end = reported.end;
|
|
126
|
+
const reportTimeNote = getReportedTimePeriodNote(
|
|
127
|
+
reportYearStart,
|
|
128
|
+
start,
|
|
129
|
+
end,
|
|
130
|
+
options.frequency,
|
|
131
|
+
options.isRtl,
|
|
132
|
+
);
|
|
133
|
+
const notes = R.isNil(reportTimeNote)
|
|
134
|
+
? []
|
|
135
|
+
: R.append(reportTimeNote, []);
|
|
136
|
+
return { start, notes };
|
|
137
|
+
};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as R from 'ramda';
|
|
2
2
|
import {
|
|
3
|
-
getRefinedName,
|
|
4
3
|
isTimePeriodDimension,
|
|
5
4
|
} from '@sis-cc/dotstatsuite-sdmxjs';
|
|
6
5
|
import {
|
|
@@ -17,7 +16,7 @@ const TIME_PERIOD_ID = 'TIME_PERIOD';
|
|
|
17
16
|
export const dataTransformer = (dataNew, options = {}) => {
|
|
18
17
|
const { locale, hiddenIds: _hiddenIds } = options;
|
|
19
18
|
const reportYearStart = getReportingYearStart(dataNew);
|
|
20
|
-
|
|
19
|
+
const getName = R.prop('name')
|
|
21
20
|
//---------------------------------------------------------------------------------------Annotations
|
|
22
21
|
const getStructure = R.pathOr({}, ['data', 'structure']);
|
|
23
22
|
const structure = getStructure(dataNew);
|
|
@@ -42,7 +41,7 @@ export const dataTransformer = (dataNew, options = {}) => {
|
|
|
42
41
|
|
|
43
42
|
const resHeader = {
|
|
44
43
|
...meta,
|
|
45
|
-
sender: { ...sender, name:
|
|
44
|
+
sender: { ...sender, name: getName(sender) },
|
|
46
45
|
};
|
|
47
46
|
|
|
48
47
|
//----------------------------------------------------------------------------------------Attributes
|
|
@@ -59,7 +58,7 @@ export const dataTransformer = (dataNew, options = {}) => {
|
|
|
59
58
|
__index: index,
|
|
60
59
|
display:
|
|
61
60
|
!R.has(observation.id, hiddenIds) && !getIsHidden(obsAnnotations),
|
|
62
|
-
name:
|
|
61
|
+
name: getName(observation),
|
|
63
62
|
values: getValuesEnhanced({
|
|
64
63
|
locale,
|
|
65
64
|
annotations,
|
|
@@ -78,7 +77,7 @@ export const dataTransformer = (dataNew, options = {}) => {
|
|
|
78
77
|
return {
|
|
79
78
|
...attr,
|
|
80
79
|
display: !R.has(attr.id, hiddenIds) && !getIsHidden(attrAnnotations),
|
|
81
|
-
name:
|
|
80
|
+
name: getName(attr),
|
|
82
81
|
values: getValuesEnhanced({
|
|
83
82
|
locale,
|
|
84
83
|
annotations,
|
|
@@ -131,7 +130,7 @@ export const dataTransformer = (dataNew, options = {}) => {
|
|
|
131
130
|
...observation,
|
|
132
131
|
display: !isHidden,
|
|
133
132
|
__index: obsIndex,
|
|
134
|
-
name:
|
|
133
|
+
name: getName(observation),
|
|
135
134
|
values: _idHidden ? [] : values,
|
|
136
135
|
role: isTimeDimension
|
|
137
136
|
? TIME_PERIOD_ID
|
|
@@ -151,7 +150,7 @@ export const dataTransformer = (dataNew, options = {}) => {
|
|
|
151
150
|
getObservations(locale)(dimObservations);
|
|
152
151
|
const resStructure = {
|
|
153
152
|
...structure,
|
|
154
|
-
name:
|
|
153
|
+
name: getName({ ...structure, id: options.dataflowId }),
|
|
155
154
|
annotations,
|
|
156
155
|
attributes: resAttributes,
|
|
157
156
|
dimensions: { observation },
|
package/src/rules2/src/index.js
CHANGED
|
@@ -3,7 +3,6 @@ export {
|
|
|
3
3
|
SDMX_3_0_CSV_DATA_FORMAT
|
|
4
4
|
} from './constants';
|
|
5
5
|
|
|
6
|
-
export { getSidebarData } from './getSidebarData';
|
|
7
6
|
export { parseMetadataSeries } from './parseMetadataSeries';
|
|
8
7
|
export { sdmx_3_0_DataFormatPatch } from './sdmx3.0DataFormatPatch';
|
|
9
8
|
export { getDataflowTooltipAttributesIds } from './getDataflowTooltipAttributesIds';
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import * as R from 'ramda';
|
|
2
|
-
import { getRefinedName } from '@sis-cc/dotstatsuite-sdmxjs';
|
|
3
2
|
import { EMPTY_ATTACHMENT_LEVEL_CHAR } from './constants';
|
|
4
3
|
|
|
5
4
|
const dimensionValueDisplay = (display) => data => {
|
|
6
5
|
if (display === 'code') {
|
|
7
6
|
return R.prop('id', data);
|
|
8
7
|
}
|
|
9
|
-
const name =
|
|
10
|
-
if (display ===
|
|
8
|
+
const name = R.prop('name')(data);
|
|
9
|
+
if (display === 'both') {
|
|
11
10
|
return `${R.prop('id', data)}: ${name}`;
|
|
12
11
|
}
|
|
13
12
|
return name;
|
|
@@ -110,9 +109,9 @@ export const parseMetadataSeries = (metadataJson, options) => {
|
|
|
110
109
|
|
|
111
110
|
return R.assoc(evolvedKey, attributes, acc);
|
|
112
111
|
},
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
112
|
+
{},
|
|
113
|
+
R.keys(series)
|
|
114
|
+
))(metadataJson);
|
|
116
115
|
|
|
117
116
|
return metadataSeries;
|
|
118
117
|
};
|