@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.
- package/.gitlab-ci.yml +3 -2
- package/README.md +1 -17
- package/package.json +20 -14
- package/src/bridge-d3-react/src/react-chart-factory.js +1 -2
- package/src/rules/src/factories/sample-series.js +1 -1
- package/src/rules/src/index.js +14 -13
- package/src/rules/src/observation-formater.js +0 -1
- package/src/rules/src/properties/focus.js +3 -3
- package/src/rules/src/sdmx-data/index.js +2 -0
- package/src/viewer/src/index.js +4 -5
- package/src/viewer/src/legends/AxisLegend.js +0 -7
- package/src/viewer/src/legends/FocusLegend.js +2 -10
- package/src/viewer/src/legends/Legend.js +0 -6
- package/src/viewer/src/legends/SeriesLegend.js +0 -7
- package/vite.config.mjs +51 -0
- package/lib/app.js +0 -22
- package/lib/bridge-d3-react/src/app.js +0 -98
- package/lib/bridge-d3-react/src/index.js +0 -33
- package/lib/bridge-d3-react/src/mock-choro.js +0 -41
- package/lib/bridge-d3-react/src/react-chart-factory.js +0 -103
- package/lib/index.js +0 -41
- package/lib/rules/src/chart/getAxisOptions.js +0 -206
- package/lib/rules/src/chart/getBaseOptions.js +0 -51
- package/lib/rules/src/chart/getChartOptions.js +0 -106
- package/lib/rules/src/chart/getGridOptions.js +0 -21
- package/lib/rules/src/chart/getTooltipOptions.js +0 -84
- package/lib/rules/src/constants.js +0 -68
- package/lib/rules/src/date.js +0 -180
- package/lib/rules/src/dimension-utils.js +0 -67
- package/lib/rules/src/factories/choro-series.js +0 -99
- package/lib/rules/src/factories/sample-focus.js +0 -64
- package/lib/rules/src/factories/sample-series.js +0 -90
- package/lib/rules/src/factories/scatter-dimension.js +0 -72
- package/lib/rules/src/factories/scatter-focus.js +0 -77
- package/lib/rules/src/factories/scatter-series.js +0 -145
- package/lib/rules/src/factories/stacked-dimension.js +0 -42
- package/lib/rules/src/factories/stacked-series.js +0 -166
- package/lib/rules/src/factories/symbol-dimension.js +0 -69
- package/lib/rules/src/factories/symbol-series.js +0 -119
- package/lib/rules/src/factories/timeline-focus.js +0 -38
- package/lib/rules/src/factories/timeline-series.js +0 -121
- package/lib/rules/src/get-values-enhanced.js +0 -141
- package/lib/rules/src/header/getDefaultSubtitle.js +0 -50
- package/lib/rules/src/header/getHeaderUnits.js +0 -26
- package/lib/rules/src/header/getSubtitleFlags.js +0 -53
- package/lib/rules/src/header/getTitleFlags.js +0 -24
- package/lib/rules/src/header/index.js +0 -41
- package/lib/rules/src/index.js +0 -714
- package/lib/rules/src/layout.js +0 -98
- package/lib/rules/src/observation-formater.js +0 -112
- package/lib/rules/src/preparators/enhanceObservations.js +0 -142
- package/lib/rules/src/preparators/formatValue.js +0 -83
- package/lib/rules/src/preparators/getObservations.js +0 -27
- package/lib/rules/src/preparators/getReportingYearStart.js +0 -52
- package/lib/rules/src/properties/errors.js +0 -31
- package/lib/rules/src/properties/focus.js +0 -90
- package/lib/rules/src/properties/getAvailableChartTypes.js +0 -30
- package/lib/rules/src/properties/getHeaderProps.js +0 -83
- package/lib/rules/src/properties/getInformationsStateFromNewProps.js +0 -61
- package/lib/rules/src/properties/getObservationsType.js +0 -31
- package/lib/rules/src/properties/getStringifiedSubtitle.js +0 -18
- package/lib/rules/src/properties/index.js +0 -401
- package/lib/rules/src/properties/information.js +0 -79
- package/lib/rules/src/properties/linear.js +0 -158
- package/lib/rules/src/properties/scatter.js +0 -174
- package/lib/rules/src/properties/stacked.js +0 -133
- package/lib/rules/src/properties/symbol.js +0 -96
- package/lib/rules/src/properties/utils.js +0 -126
- package/lib/rules/src/sdmx-data/index.js +0 -55
- package/lib/rules/src/table/factories/getCellValue.js +0 -57
- package/lib/rules/src/table/index.js +0 -14
- package/lib/rules/src/v8-transformer.js +0 -184
- package/lib/rules/test/extractSdmxArtefacts.js +0 -37
- package/lib/rules/test/get-values-enhanced.test.js +0 -128
- package/lib/rules/test/oecd-HEALTH_PROT-parsed.js +0 -303
- package/lib/rules/test/scatter-property.js +0 -403
- package/lib/rules/test/stacked-property.js +0 -244
- package/lib/rules/test/symbol-property.js +0 -234
- package/lib/rules/test/v8-transformer.test.js +0 -82
- package/lib/rules2/src/applyHierarchicalCodesToDim.js +0 -175
- package/lib/rules2/src/combinedValuesDisplay.js +0 -71
- package/lib/rules2/src/constants.js +0 -11
- package/lib/rules2/src/duplicateObservations.js +0 -39
- package/lib/rules2/src/enhanceObservations.js +0 -103
- package/lib/rules2/src/getAdvAttrSeriesAtCoordinates.js +0 -39
- package/lib/rules2/src/getAttributesSeries.js +0 -40
- package/lib/rules2/src/getCombinationDefinitions.js +0 -72
- package/lib/rules2/src/getDataflowAttributes.js +0 -34
- package/lib/rules2/src/getDataflowTooltipAttributesIds.js +0 -38
- package/lib/rules2/src/getDimensionValuesIndexes.js +0 -19
- package/lib/rules2/src/getHCodelistsRefsInData.js +0 -49
- package/lib/rules2/src/getHeaderCombinations.js +0 -51
- package/lib/rules2/src/getHeaderCoordinates.js +0 -18
- package/lib/rules2/src/getHeaderSubtitle.js +0 -41
- package/lib/rules2/src/getHeaderTitle.js +0 -29
- package/lib/rules2/src/getMSDInformations.js +0 -43
- package/lib/rules2/src/getManyValuesDimensions.js +0 -39
- package/lib/rules2/src/getMetadataCoordinates.js +0 -40
- package/lib/rules2/src/getMetadataStructureFromData.js +0 -23
- package/lib/rules2/src/getNotDisplayedIds.js +0 -58
- package/lib/rules2/src/getOneValueDimensions.js +0 -48
- package/lib/rules2/src/getSeriesCombinations.js +0 -33
- package/lib/rules2/src/hasCellMetadata.js +0 -22
- package/lib/rules2/src/hierarchiseDimensionWithAdvancedHierarchy2.js +0 -65
- package/lib/rules2/src/hierarchiseDimensionWithNativeHierarchy2.js +0 -39
- package/lib/rules2/src/index.js +0 -443
- package/lib/rules2/src/parseAttributes.js +0 -51
- package/lib/rules2/src/parseCombinations.js +0 -96
- package/lib/rules2/src/parseHierarchicalCodelist.js +0 -57
- package/lib/rules2/src/parseMetadataSeries.js +0 -119
- package/lib/rules2/src/prepareData.js +0 -113
- package/lib/rules2/src/refineAttributes.js +0 -32
- package/lib/rules2/src/refineDimensions.js +0 -38
- package/lib/rules2/src/refineMetadataCoordinates.js +0 -35
- package/lib/rules2/src/refineTimePeriod.js +0 -154
- package/lib/rules2/src/sdmx3.0DataFormatPatch.js +0 -20
- package/lib/rules2/src/table/declineObservationsOverAttributes.js +0 -43
- package/lib/rules2/src/table/getCells.js +0 -90
- package/lib/rules2/src/table/getCellsAttributesIds.js +0 -63
- package/lib/rules2/src/table/getCellsMetadataCoordinates.js +0 -30
- package/lib/rules2/src/table/getCombinationDimensionsData.js +0 -48
- package/lib/rules2/src/table/getCuratedCells.js +0 -28
- package/lib/rules2/src/table/getFlagsAndNotes.js +0 -30
- package/lib/rules2/src/table/getIndexedCombinationsByDisplay.js +0 -31
- package/lib/rules2/src/table/getLayout.js +0 -105
- package/lib/rules2/src/table/getLayoutData2.js +0 -269
- package/lib/rules2/src/table/getSortedLayoutIndexes.js +0 -136
- package/lib/rules2/src/table/getTableLabelAccessor.js +0 -20
- package/lib/rules2/src/table/getTableLayoutIds.js +0 -365
- package/lib/rules2/src/table/getTableProps.js +0 -96
- package/lib/rules2/src/table/parseSeriesIndexesHierarchies.js +0 -124
- package/lib/rules2/src/table/parseValueHierarchy.js +0 -63
- package/lib/rules2/src/table/refineLayoutSize2.js +0 -293
- package/lib/rules2/src/utils.js +0 -48
- package/lib/viewer/mocks/bar.js +0 -21
- package/lib/viewer/mocks/gpp-symbol.js +0 -55
- package/lib/viewer/mocks/gpp-time.js +0 -1023
- package/lib/viewer/mocks/row.js +0 -26
- package/lib/viewer/mocks/scatter.js +0 -84
- package/lib/viewer/mocks/stack.js +0 -93
- package/lib/viewer/src/app/leg.js +0 -101
- package/lib/viewer/src/app/nodata-res.js +0 -40
- package/lib/viewer/src/app/nodata-sized.js +0 -41
- package/lib/viewer/src/app/one-table-cell.js +0 -75
- package/lib/viewer/src/app/table.js +0 -300
- package/lib/viewer/src/app/use-case-1.js +0 -60
- package/lib/viewer/src/app/use-case-2.js +0 -82
- package/lib/viewer/src/app/use-case-3.js +0 -52
- package/lib/viewer/src/app.js +0 -162
- package/lib/viewer/src/chart.js +0 -82
- package/lib/viewer/src/chartUtils/options.js +0 -30
- package/lib/viewer/src/chartUtils/series.js +0 -63
- package/lib/viewer/src/footer.js +0 -54
- package/lib/viewer/src/header.js +0 -29
- package/lib/viewer/src/index.js +0 -243
- package/lib/viewer/src/legends/AxisLegend.js +0 -84
- package/lib/viewer/src/legends/ChartLegends.js +0 -100
- package/lib/viewer/src/legends/FocusLegend.js +0 -89
- package/lib/viewer/src/legends/Legend.js +0 -88
- package/lib/viewer/src/legends/SeriesLegend.js +0 -108
- package/lib/viewer/src/utils.js +0 -36
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getIsHidden = exports.hiddenFormat = exports.getRelationnalAnnotations = exports.setAnnotationsLayout = exports.LAYOUT_ROW_SECTION = exports.LAYOUT_COLUMN = exports.LAYOUT_ROW = 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 LAYOUT_ROW = exports.LAYOUT_ROW = 'LAYOUT_ROW';
|
|
15
|
-
var LAYOUT_COLUMN = exports.LAYOUT_COLUMN = 'LAYOUT_COLUMN';
|
|
16
|
-
var LAYOUT_ROW_SECTION = exports.LAYOUT_ROW_SECTION = 'LAYOUT_ROW_SECTION';
|
|
17
|
-
|
|
18
|
-
var ROWS = 'rows';
|
|
19
|
-
var HEADER = 'header';
|
|
20
|
-
var SECTIONS = 'sections';
|
|
21
|
-
|
|
22
|
-
var ORDER = 'ORDER';
|
|
23
|
-
var NOT_DISPLAYED = 'NOT_DISPLAYED';
|
|
24
|
-
|
|
25
|
-
var getType = R.propOr({}, 'type');
|
|
26
|
-
var getIds = function getIds() {
|
|
27
|
-
var stringIds = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
28
|
-
return R.pipe(R.append(R.split(',', stringIds)), R.flatten);
|
|
29
|
-
};
|
|
30
|
-
var getPivot = function getPivot(key, stringIds) {
|
|
31
|
-
return R.over(R.lensProp(key), getIds(stringIds));
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
var setAnnotationsLayout = exports.setAnnotationsLayout = function setAnnotationsLayout(stringIds, layout) {
|
|
35
|
-
return R.reduce(function (acc, annotation) {
|
|
36
|
-
if (R.equals(getType(annotation), LAYOUT_ROW)) return getPivot(ROWS, stringIds)(acc);
|
|
37
|
-
if (R.equals(getType(annotation), LAYOUT_COLUMN)) return getPivot(HEADER, stringIds)(acc);
|
|
38
|
-
if (R.equals(getType(annotation), LAYOUT_ROW_SECTION)) return getPivot(SECTIONS, stringIds)(acc);
|
|
39
|
-
return acc;
|
|
40
|
-
}, layout);
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
var getRelationnalAnnotations = exports.getRelationnalAnnotations = function getRelationnalAnnotations(annotationIndexes) {
|
|
44
|
-
return function (annotations) {
|
|
45
|
-
return R.map(function (annotationIndex) {
|
|
46
|
-
return R.propOr({}, annotationIndex)(annotations);
|
|
47
|
-
})(annotationIndexes);
|
|
48
|
-
};
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
var hiddenFormat = exports.hiddenFormat = { isHidden: true };
|
|
52
|
-
|
|
53
|
-
var getIsHidden = exports.getIsHidden = function getIsHidden(annotations) {
|
|
54
|
-
return R.pipe(R.find(R.propEq('type', NOT_DISPLAYED)), R.complement(R.isNil))(annotations);
|
|
55
|
-
};
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getCellValue = undefined;
|
|
7
|
-
|
|
8
|
-
var _ramda = require('ramda');
|
|
9
|
-
|
|
10
|
-
var R = _interopRequireWildcard(_ramda);
|
|
11
|
-
|
|
12
|
-
var _numeral = require('numeral');
|
|
13
|
-
|
|
14
|
-
var _numeral2 = _interopRequireDefault(_numeral);
|
|
15
|
-
|
|
16
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
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
|
-
var isValidNumber = R.both(R.is(Number), R.complement(R.equals(NaN)));
|
|
21
|
-
|
|
22
|
-
var getCellValue = exports.getCellValue = function getCellValue(observation) {
|
|
23
|
-
var value = R.prop('value', observation);
|
|
24
|
-
if (R.is(Boolean, value)) {
|
|
25
|
-
return value;
|
|
26
|
-
}
|
|
27
|
-
if (R.is(String, value)) {
|
|
28
|
-
var monthMatch = value.match(/^\-\-([\d]{2})$/);
|
|
29
|
-
if (R.is(Array, monthMatch)) {
|
|
30
|
-
return R.nth(1, monthMatch);
|
|
31
|
-
}
|
|
32
|
-
var monthDayMatch = value.match(/^\-\-([\d]{2}\-[\d]{2})$/);
|
|
33
|
-
if (R.is(Array, monthDayMatch)) {
|
|
34
|
-
return R.nth(1, monthDayMatch);
|
|
35
|
-
}
|
|
36
|
-
var dayMatch = value.match(/^\-\-\-([\d]{2})$/);
|
|
37
|
-
if (R.is(Array, dayMatch)) {
|
|
38
|
-
return R.nth(1, dayMatch);
|
|
39
|
-
}
|
|
40
|
-
return value;
|
|
41
|
-
}
|
|
42
|
-
var scale = Number(observation.prefscale);
|
|
43
|
-
var formatScale = R.ifElse(R.always(isValidNumber(scale)), function (value) {
|
|
44
|
-
return (0, _numeral2.default)(value).multiply(Math.pow(10, -1 * Number(scale))).value();
|
|
45
|
-
}, R.identity);
|
|
46
|
-
var formatSeparator = function formatSeparator(value) {
|
|
47
|
-
return (0, _numeral2.default)(value).format('0,0.[0000000]');
|
|
48
|
-
};
|
|
49
|
-
var decimals = Number(observation.decimals);
|
|
50
|
-
var formatDecimals = R.ifElse(R.always(isValidNumber(decimals)), function (value) {
|
|
51
|
-
return (0, _numeral2.default)(value).format(R.ifElse(R.equals(0), R.always('0,0'), function (d) {
|
|
52
|
-
return '0,0.' + R.join('', R.times(R.always('0'), d));
|
|
53
|
-
})(decimals));
|
|
54
|
-
}, formatSeparator);
|
|
55
|
-
var res = R.ifElse(isValidNumber, R.pipe(formatScale, formatDecimals), R.always('..'))(observation.value);
|
|
56
|
-
return res;
|
|
57
|
-
};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
|
|
7
|
-
var _getCellValue = require('./factories/getCellValue');
|
|
8
|
-
|
|
9
|
-
Object.defineProperty(exports, 'getCellValue', {
|
|
10
|
-
enumerable: true,
|
|
11
|
-
get: function get() {
|
|
12
|
-
return _getCellValue.getCellValue;
|
|
13
|
-
}
|
|
14
|
-
});
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.dataTransformer = 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 _dotstatsuiteSdmxjs = require('@sis-cc/dotstatsuite-sdmxjs');
|
|
17
|
-
|
|
18
|
-
var _sdmxData = require('./sdmx-data');
|
|
19
|
-
|
|
20
|
-
var _getReportingYearStart = require('./preparators/getReportingYearStart');
|
|
21
|
-
|
|
22
|
-
var _src = require('../../rules2/src');
|
|
23
|
-
|
|
24
|
-
var _getValuesEnhanced = require('./get-values-enhanced');
|
|
25
|
-
|
|
26
|
-
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; } }
|
|
27
|
-
|
|
28
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
29
|
-
|
|
30
|
-
var TIME_PERIOD_ID = 'TIME_PERIOD';
|
|
31
|
-
|
|
32
|
-
var dataTransformer = exports.dataTransformer = function dataTransformer(dataNew) {
|
|
33
|
-
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
34
|
-
var locale = options.locale;
|
|
35
|
-
|
|
36
|
-
var reportYearStart = (0, _getReportingYearStart.getReportingYearStart)(dataNew);
|
|
37
|
-
var getName = R.prop('name');
|
|
38
|
-
//---------------------------------------------------------------------------------------Annotations
|
|
39
|
-
var getStructure = R.pathOr({}, ['data', 'structure']);
|
|
40
|
-
var structure = getStructure(dataNew);
|
|
41
|
-
var getAnnotations = R.propOr([], 'annotations');
|
|
42
|
-
var annotations = getAnnotations(structure);
|
|
43
|
-
var getDataSets = R.pathOr({}, ['data', 'dataSets']);
|
|
44
|
-
var dataSets = getDataSets(dataNew);
|
|
45
|
-
|
|
46
|
-
var dataSetsAnnotations = R.props(R.pathOr([], [0, 'annotations'], dataSets), annotations);
|
|
47
|
-
|
|
48
|
-
/*
|
|
49
|
-
hiddenValues => codelistIds or codelistValuesIds for display computation
|
|
50
|
-
hiddenCombinations => used only for dimensions, if dimension values match the provided set, all dimension is removed
|
|
51
|
-
*/
|
|
52
|
-
|
|
53
|
-
var _getNotDisplayedIds = (0, _src.getNotDisplayedIds)(dataSetsAnnotations),
|
|
54
|
-
hiddenValues = _getNotDisplayedIds.hiddenValues,
|
|
55
|
-
hiddenCombinations = _getNotDisplayedIds.hiddenCombinations;
|
|
56
|
-
|
|
57
|
-
var getIsAllDimHidden = function getIsAllDimHidden(_ref) {
|
|
58
|
-
var id = _ref.id,
|
|
59
|
-
values = _ref.values;
|
|
60
|
-
|
|
61
|
-
if (!R.has(id, hiddenCombinations)) {
|
|
62
|
-
return false;
|
|
63
|
-
}
|
|
64
|
-
var valuesIds = R.pluck('id', values);
|
|
65
|
-
return R.isEmpty(R.difference(valuesIds, hiddenCombinations[id]));
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
//--------------------------------------------------------------------------------------------Header
|
|
69
|
-
var getMeta = R.propOr({}, 'meta');
|
|
70
|
-
var meta = getMeta(dataNew);
|
|
71
|
-
|
|
72
|
-
var getSender = R.propOr({}, 'sender');
|
|
73
|
-
var sender = getSender(meta);
|
|
74
|
-
|
|
75
|
-
var resHeader = (0, _extends3.default)({}, meta, {
|
|
76
|
-
sender: (0, _extends3.default)({}, sender, { name: getName(sender) })
|
|
77
|
-
});
|
|
78
|
-
|
|
79
|
-
//----------------------------------------------------------------------------------------Attributes
|
|
80
|
-
var getAttributes = R.propOr({}, 'attributes');
|
|
81
|
-
var attributes = getAttributes(structure);
|
|
82
|
-
|
|
83
|
-
var getAttrObservations = R.propOr([], 'observation');
|
|
84
|
-
var attrObservations = getAttrObservations(attributes);
|
|
85
|
-
|
|
86
|
-
var resAttrObservations = R.addIndex(R.map)(function (observation, index) {
|
|
87
|
-
var obsAnnotations = R.props(observation.annotations || [], annotations);
|
|
88
|
-
return (0, _extends3.default)({}, observation, {
|
|
89
|
-
__index: index,
|
|
90
|
-
display: !R.has(observation.id, hiddenValues) && !(0, _sdmxData.getIsHidden)(obsAnnotations),
|
|
91
|
-
name: getName(observation),
|
|
92
|
-
values: (0, _getValuesEnhanced.getValuesEnhanced)({
|
|
93
|
-
locale: locale,
|
|
94
|
-
annotations: annotations,
|
|
95
|
-
parent: observation.id,
|
|
96
|
-
reportYearStart: reportYearStart,
|
|
97
|
-
hiddenIds: hiddenValues,
|
|
98
|
-
options: options
|
|
99
|
-
})(R.propOr([], 'values', observation)),
|
|
100
|
-
roles: !R.isNil(observation.role) ? R.head(observation.role) : null
|
|
101
|
-
});
|
|
102
|
-
}, attrObservations);
|
|
103
|
-
|
|
104
|
-
var datasetAttributes = R.map(function (attr) {
|
|
105
|
-
var attrAnnotations = R.props(attr.annotations || [], annotations);
|
|
106
|
-
return (0, _extends3.default)({}, attr, {
|
|
107
|
-
display: !R.has(attr.id, hiddenValues) && !(0, _sdmxData.getIsHidden)(attrAnnotations),
|
|
108
|
-
name: getName(attr),
|
|
109
|
-
values: (0, _getValuesEnhanced.getValuesEnhanced)({
|
|
110
|
-
locale: locale,
|
|
111
|
-
annotations: annotations,
|
|
112
|
-
parent: attr.id,
|
|
113
|
-
hiddenIds: hiddenValues,
|
|
114
|
-
options: options,
|
|
115
|
-
reportYearStart: reportYearStart
|
|
116
|
-
})(R.propOr([], 'values', attr))
|
|
117
|
-
});
|
|
118
|
-
}, R.propOr([], 'dataSet', attributes));
|
|
119
|
-
|
|
120
|
-
var resAttributes = (0, _extends3.default)({}, attributes, {
|
|
121
|
-
observation: R.concat(resAttrObservations, datasetAttributes)
|
|
122
|
-
});
|
|
123
|
-
|
|
124
|
-
//----------------------------------------------------------------------------------------Dimensions
|
|
125
|
-
var getDimensions = R.propOr({}, 'dimensions');
|
|
126
|
-
var dimensions = getDimensions(structure);
|
|
127
|
-
|
|
128
|
-
var getDimObservations = R.propOr([], 'observation');
|
|
129
|
-
var dimObservations = getDimObservations(dimensions);
|
|
130
|
-
|
|
131
|
-
var getObservations = function getObservations(locale) {
|
|
132
|
-
return R.addIndex(R.reduce)(function (acc, observation, obsIndex) {
|
|
133
|
-
var id = R.prop('id')(observation);
|
|
134
|
-
var dimAnnotations = (0, _sdmxData.getRelationnalAnnotations)(R.propOr([], 'annotations')(observation))(annotations);
|
|
135
|
-
var isTimeDimension = (0, _dotstatsuiteSdmxjs.isTimePeriodDimension)(observation);
|
|
136
|
-
var values = (0, _getValuesEnhanced.getValuesEnhanced)({
|
|
137
|
-
locale: locale,
|
|
138
|
-
annotations: annotations,
|
|
139
|
-
isTimeDimension: isTimeDimension,
|
|
140
|
-
reportYearStart: reportYearStart,
|
|
141
|
-
parent: id,
|
|
142
|
-
hiddenIds: hiddenValues,
|
|
143
|
-
options: options
|
|
144
|
-
})(R.propOr([], 'values', observation));
|
|
145
|
-
var isAllDimHidden = getIsAllDimHidden({ id: id, values: values });
|
|
146
|
-
var isHidden = isAllDimHidden || R.has(id, hiddenValues) || (0, _sdmxData.getIsHidden)(dimAnnotations);
|
|
147
|
-
return {
|
|
148
|
-
observation: R.append((0, _extends3.default)({}, observation, {
|
|
149
|
-
display: !isHidden,
|
|
150
|
-
__index: obsIndex,
|
|
151
|
-
name: getName(observation),
|
|
152
|
-
values: isAllDimHidden ? [] : values,
|
|
153
|
-
role: isTimeDimension ? TIME_PERIOD_ID : R.head(R.propOr([], 'roles', observation))
|
|
154
|
-
}))(acc.observation),
|
|
155
|
-
dimensionsLayout: (0, _sdmxData.setAnnotationsLayout)(id, acc.dimensionsLayout)(dimAnnotations)
|
|
156
|
-
};
|
|
157
|
-
}, { observation: [], dimensionsLayout: {} });
|
|
158
|
-
};
|
|
159
|
-
|
|
160
|
-
//-----------------------------------------------------------------------------------------Structure
|
|
161
|
-
|
|
162
|
-
var _getObservations = getObservations(locale)(dimObservations),
|
|
163
|
-
dimensionsLayout = _getObservations.dimensionsLayout,
|
|
164
|
-
observation = _getObservations.observation;
|
|
165
|
-
|
|
166
|
-
var resStructure = (0, _extends3.default)({}, structure, {
|
|
167
|
-
name: getName((0, _extends3.default)({}, structure, { id: options.dataflowId })),
|
|
168
|
-
annotations: annotations,
|
|
169
|
-
attributes: resAttributes,
|
|
170
|
-
dimensions: { observation: observation }
|
|
171
|
-
});
|
|
172
|
-
|
|
173
|
-
//------------------------------------------------------------------------------------------------------Layout
|
|
174
|
-
var dataSetsLayout = R.reduce(function (acc, dataSetsAnnotation) {
|
|
175
|
-
var title = R.propOr('', 'title')(dataSetsAnnotation);
|
|
176
|
-
if (R.isEmpty(title)) return acc;
|
|
177
|
-
return (0, _sdmxData.setAnnotationsLayout)(title, acc)([dataSetsAnnotation]);
|
|
178
|
-
}, {})(dataSetsAnnotations);
|
|
179
|
-
|
|
180
|
-
return {
|
|
181
|
-
data: { header: resHeader, dataSets: dataSets, structure: resStructure },
|
|
182
|
-
layout: R.mergeRight(dimensionsLayout, dataSetsLayout)
|
|
183
|
-
};
|
|
184
|
-
};
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var _deepEql = require('deep-eql');
|
|
4
|
-
|
|
5
|
-
var _deepEql2 = _interopRequireDefault(_deepEql);
|
|
6
|
-
|
|
7
|
-
var _src = require('../src');
|
|
8
|
-
|
|
9
|
-
var _oecdHEALTH_PROT = require('./oecd-HEALTH_PROT.json');
|
|
10
|
-
|
|
11
|
-
var _oecdHEALTH_PROT2 = _interopRequireDefault(_oecdHEALTH_PROT);
|
|
12
|
-
|
|
13
|
-
var _oecdHEALTH_PROTParsed = require('./oecd-HEALTH_PROT-parsed');
|
|
14
|
-
|
|
15
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
|
-
|
|
17
|
-
describe('global tests', function () {
|
|
18
|
-
var expectedEmptyResult = {
|
|
19
|
-
attributes: [],
|
|
20
|
-
datasetAttributes: [],
|
|
21
|
-
dimensions: [],
|
|
22
|
-
observations: {},
|
|
23
|
-
source: null
|
|
24
|
-
};
|
|
25
|
-
it('null', function () {
|
|
26
|
-
(0, _deepEql2.default)((0, _src.extractSdmxArtefacts)(null), expectedEmptyResult);
|
|
27
|
-
});
|
|
28
|
-
it('undefined', function () {
|
|
29
|
-
(0, _deepEql2.default)((0, _src.extractSdmxArtefacts)(null), expectedEmptyResult);
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
describe('dimensions parsing', function () {
|
|
34
|
-
it('basic test', function () {
|
|
35
|
-
(0, _deepEql2.default)((0, _src.extractSdmxArtefacts)(_oecdHEALTH_PROT2.default), _oecdHEALTH_PROTParsed.dimensions);
|
|
36
|
-
});
|
|
37
|
-
});
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var _extends2 = require('babel-runtime/helpers/extends');
|
|
4
|
-
|
|
5
|
-
var _extends3 = _interopRequireDefault(_extends2);
|
|
6
|
-
|
|
7
|
-
var _ramda = require('ramda');
|
|
8
|
-
|
|
9
|
-
var R = _interopRequireWildcard(_ramda);
|
|
10
|
-
|
|
11
|
-
var _chai = require('chai');
|
|
12
|
-
|
|
13
|
-
var _getValuesEnhanced = require('../src/get-values-enhanced');
|
|
14
|
-
|
|
15
|
-
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; } }
|
|
16
|
-
|
|
17
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
|
-
|
|
19
|
-
var values = [{
|
|
20
|
-
id: 'A',
|
|
21
|
-
order: 0,
|
|
22
|
-
name: 'Code A',
|
|
23
|
-
names: {
|
|
24
|
-
en: 'Code A'
|
|
25
|
-
}
|
|
26
|
-
}, {
|
|
27
|
-
id: 'B',
|
|
28
|
-
order: 1,
|
|
29
|
-
name: 'Code B',
|
|
30
|
-
names: {
|
|
31
|
-
en: 'Code B'
|
|
32
|
-
}
|
|
33
|
-
}, {
|
|
34
|
-
id: 'C',
|
|
35
|
-
order: 2,
|
|
36
|
-
name: 'Code C',
|
|
37
|
-
names: {
|
|
38
|
-
en: 'Code C'
|
|
39
|
-
}
|
|
40
|
-
}];
|
|
41
|
-
|
|
42
|
-
var timeValues = [{
|
|
43
|
-
start: '2020-01-01T00:00:00',
|
|
44
|
-
end: '2020-12-31T23:59:59',
|
|
45
|
-
id: '2020',
|
|
46
|
-
name: '2020',
|
|
47
|
-
names: {
|
|
48
|
-
en: '2020'
|
|
49
|
-
}
|
|
50
|
-
}, {
|
|
51
|
-
start: '2021-01-01T00:00:00',
|
|
52
|
-
end: '2021-12-31T23:59:59',
|
|
53
|
-
id: '2021',
|
|
54
|
-
name: '2021',
|
|
55
|
-
names: {
|
|
56
|
-
en: '2021'
|
|
57
|
-
}
|
|
58
|
-
}, {
|
|
59
|
-
start: '2022-01-01T00:00:00',
|
|
60
|
-
end: '2022-12-31T23:59:59',
|
|
61
|
-
id: '2022',
|
|
62
|
-
name: '2022',
|
|
63
|
-
names: {
|
|
64
|
-
en: '2022'
|
|
65
|
-
}
|
|
66
|
-
}];
|
|
67
|
-
|
|
68
|
-
var expectedTimeValues = [{
|
|
69
|
-
start: '2020-01-01T00:00:00.000Z',
|
|
70
|
-
end: '2020-12-31T23:59:59.000Z',
|
|
71
|
-
id: '2020',
|
|
72
|
-
name: '2020'
|
|
73
|
-
}, {
|
|
74
|
-
start: '2021-01-01T00:00:00.000Z',
|
|
75
|
-
end: '2021-12-31T23:59:59.000Z',
|
|
76
|
-
id: '2021',
|
|
77
|
-
name: '2021'
|
|
78
|
-
}, {
|
|
79
|
-
start: '2022-01-01T00:00:00.000Z',
|
|
80
|
-
end: '2022-12-31T23:59:59.000Z',
|
|
81
|
-
id: '2022',
|
|
82
|
-
name: '2022'
|
|
83
|
-
}];
|
|
84
|
-
|
|
85
|
-
var nonCodedValues = [{ value: 'A' }, { value: 'B' }, { value: 'C' }];
|
|
86
|
-
|
|
87
|
-
var expectedValues = function expectedValues() {
|
|
88
|
-
var skippedValueEntries = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
89
|
-
var isNonCoded = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
90
|
-
return R.addIndex(R.map)(function (value, index) {
|
|
91
|
-
return (0, _extends3.default)({}, R.omit(R.prepend('names', skippedValueEntries), value), {
|
|
92
|
-
__index: index,
|
|
93
|
-
__indexPosition: index,
|
|
94
|
-
display: true,
|
|
95
|
-
notes: [],
|
|
96
|
-
start: R.propOr(null, 'start', value),
|
|
97
|
-
isNonCoded: isNonCoded
|
|
98
|
-
});
|
|
99
|
-
});
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
describe('get values enhanced method', function () {
|
|
103
|
-
it('should pass with coded values', function () {
|
|
104
|
-
var enhancedValues = (0, _getValuesEnhanced.getValuesEnhanced)({
|
|
105
|
-
locale: 'en',
|
|
106
|
-
parent: 'ID'
|
|
107
|
-
})(values);
|
|
108
|
-
(0, _chai.expect)(enhancedValues).to.deep.equal(expectedValues()(values));
|
|
109
|
-
});
|
|
110
|
-
|
|
111
|
-
it('should pass with non-coded values', function () {
|
|
112
|
-
var enhancedValues = (0, _getValuesEnhanced.getValuesEnhanced)({
|
|
113
|
-
locale: 'en',
|
|
114
|
-
parent: 'ID'
|
|
115
|
-
})(nonCodedValues);
|
|
116
|
-
(0, _chai.expect)(enhancedValues).to.deep.equal(expectedValues(['name', 'order', 'value'], true)(values));
|
|
117
|
-
});
|
|
118
|
-
|
|
119
|
-
it('should pass with time values', function () {
|
|
120
|
-
var enhancedValues = (0, _getValuesEnhanced.getValuesEnhanced)({
|
|
121
|
-
locale: 'en',
|
|
122
|
-
parent: 'ID',
|
|
123
|
-
isTimeDimension: true,
|
|
124
|
-
reportYearStart: { month: '01', day: '01' }
|
|
125
|
-
})(timeValues);
|
|
126
|
-
(0, _chai.expect)(enhancedValues).to.deep.equal(expectedValues()(expectedTimeValues));
|
|
127
|
-
});
|
|
128
|
-
});
|