@sis-cc/dotstatsuite-components 20.5.0 → 21.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitlab-ci.yml +3 -2
- package/LICENSE +1 -1
- 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/rules2/src/hierarchiseDimensionWithNativeHierarchy2.js +5 -1
- package/src/rules2/src/table/getLayoutData2.js +4 -1
- 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/test/hierarchiseDimensionWithNativeHierarchy2.test.js +59 -32
- 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 -36
- 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,145 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.series = undefined;
|
|
7
|
-
|
|
8
|
-
var _extends2 = require('babel-runtime/helpers/extends');
|
|
9
|
-
|
|
10
|
-
var _extends3 = _interopRequireDefault(_extends2);
|
|
11
|
-
|
|
12
|
-
var _filter2 = require('lodash/filter');
|
|
13
|
-
|
|
14
|
-
var _filter3 = _interopRequireDefault(_filter2);
|
|
15
|
-
|
|
16
|
-
var _isNil2 = require('lodash/isNil');
|
|
17
|
-
|
|
18
|
-
var _isNil3 = _interopRequireDefault(_isNil2);
|
|
19
|
-
|
|
20
|
-
var _keys2 = require('lodash/keys');
|
|
21
|
-
|
|
22
|
-
var _keys3 = _interopRequireDefault(_keys2);
|
|
23
|
-
|
|
24
|
-
var _find2 = require('lodash/find');
|
|
25
|
-
|
|
26
|
-
var _find3 = _interopRequireDefault(_find2);
|
|
27
|
-
|
|
28
|
-
var _has2 = require('lodash/has');
|
|
29
|
-
|
|
30
|
-
var _has3 = _interopRequireDefault(_has2);
|
|
31
|
-
|
|
32
|
-
var _includes2 = require('lodash/includes');
|
|
33
|
-
|
|
34
|
-
var _includes3 = _interopRequireDefault(_includes2);
|
|
35
|
-
|
|
36
|
-
var _split2 = require('lodash/split');
|
|
37
|
-
|
|
38
|
-
var _split3 = _interopRequireDefault(_split2);
|
|
39
|
-
|
|
40
|
-
var _findIndex2 = require('lodash/findIndex');
|
|
41
|
-
|
|
42
|
-
var _findIndex3 = _interopRequireDefault(_findIndex2);
|
|
43
|
-
|
|
44
|
-
var _head2 = require('lodash/head');
|
|
45
|
-
|
|
46
|
-
var _head3 = _interopRequireDefault(_head2);
|
|
47
|
-
|
|
48
|
-
var _reduce2 = require('lodash/reduce');
|
|
49
|
-
|
|
50
|
-
var _reduce3 = _interopRequireDefault(_reduce2);
|
|
51
|
-
|
|
52
|
-
var _map2 = require('lodash/map');
|
|
53
|
-
|
|
54
|
-
var _map3 = _interopRequireDefault(_map2);
|
|
55
|
-
|
|
56
|
-
var _reject2 = require('lodash/reject');
|
|
57
|
-
|
|
58
|
-
var _reject3 = _interopRequireDefault(_reject2);
|
|
59
|
-
|
|
60
|
-
var _get2 = require('lodash/get');
|
|
61
|
-
|
|
62
|
-
var _get3 = _interopRequireDefault(_get2);
|
|
63
|
-
|
|
64
|
-
exports.dimensionValueIsValid = dimensionValueIsValid;
|
|
65
|
-
exports.getDimensionValues = getDimensionValues;
|
|
66
|
-
exports.getDimensionValueKey = getDimensionValueKey;
|
|
67
|
-
exports.datapoints = datapoints;
|
|
68
|
-
|
|
69
|
-
var _dimensionUtils = require('../dimension-utils');
|
|
70
|
-
|
|
71
|
-
var _observationFormater = require('../observation-formater');
|
|
72
|
-
|
|
73
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
74
|
-
|
|
75
|
-
function dimensionValueIsValid(dimensionValue, chartDimension) {
|
|
76
|
-
return (0, _includes3.default)((0, _map3.default)(['x', 'y'], function (k) {
|
|
77
|
-
return (0, _get3.default)(chartDimension, k + 'Id');
|
|
78
|
-
}), (0, _get3.default)(dimensionValue, 'id'));
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
function getDimensionValues(dimensionValuesIndexes, dimensions, dimensionsWithValuesIndexedById, chartDimensionId, display) {
|
|
82
|
-
var dimensionsWithValuesIds = (0, _keys3.default)(dimensionsWithValuesIndexedById);
|
|
83
|
-
return (0, _reduce3.default)(dimensionValuesIndexes, function (m, dvi, i) {
|
|
84
|
-
var dimension = (0, _get3.default)(dimensions, '[' + i + ']');
|
|
85
|
-
var dimensionId = (0, _get3.default)(dimension, 'id');
|
|
86
|
-
var dimensionValue = (0, _get3.default)(dimension, 'values[' + dvi + ']');
|
|
87
|
-
if (dimensionId !== chartDimensionId && (0, _includes3.default)(dimensionsWithValuesIds, dimensionId)) {
|
|
88
|
-
m[dimensionId] = (0, _extends3.default)({}, dimensionValue, { name: (0, _dimensionUtils.dimensionValueDisplay)(display)(dimensionValue) });
|
|
89
|
-
}
|
|
90
|
-
return m;
|
|
91
|
-
}, {});
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
function getDimensionValueKey(chartDimension, dimensionValue) {
|
|
95
|
-
return (0, _get3.default)(chartDimension, 'xId') === (0, _get3.default)(dimensionValue, 'id') ? 'x' : 'y';
|
|
96
|
-
};
|
|
97
|
-
|
|
98
|
-
function datapoints(observations, dimensions, dimensionsWithValuesIndexedById, chartDimension, display, formaterAttrs) {
|
|
99
|
-
var chartDimensionId = (0, _get3.default)(chartDimension, 'id');
|
|
100
|
-
var chartDimensionIndex = (0, _findIndex3.default)(dimensions, { id: chartDimensionId });
|
|
101
|
-
var datapoints = (0, _reduce3.default)(observations, function (m, o, k) {
|
|
102
|
-
var oDimensionValuesIndexes = (0, _split3.default)(k, ':');
|
|
103
|
-
var oDimensionValueIndex = oDimensionValuesIndexes[chartDimensionIndex];
|
|
104
|
-
var oDimensionValue = (0, _get3.default)(dimensions, '[' + chartDimensionIndex + '].values[' + oDimensionValueIndex + ']');
|
|
105
|
-
if (dimensionValueIsValid(oDimensionValue, chartDimension)) {
|
|
106
|
-
var oPartialKey = (0, _reject3.default)(oDimensionValuesIndexes, function (o, i) {
|
|
107
|
-
return i === chartDimensionIndex;
|
|
108
|
-
}).join('');
|
|
109
|
-
if (!(0, _has3.default)(m, oPartialKey)) {
|
|
110
|
-
var dimensionValues = getDimensionValues(oDimensionValuesIndexes, dimensions, dimensionsWithValuesIndexedById, chartDimensionId, display);
|
|
111
|
-
m[oPartialKey] = { dimensionValues: dimensionValues };
|
|
112
|
-
}
|
|
113
|
-
var dimensionValueKey = getDimensionValueKey(chartDimension, oDimensionValue);
|
|
114
|
-
m[oPartialKey][dimensionValueKey] = (0, _head3.default)(o);
|
|
115
|
-
m[oPartialKey][dimensionValueKey + 'Format'] = (0, _observationFormater.getFormatedObservation)(o, formaterAttrs);
|
|
116
|
-
}
|
|
117
|
-
return m;
|
|
118
|
-
}, {});
|
|
119
|
-
// it is possible to have null observations or incomplete datapoints (just an x or y)
|
|
120
|
-
return (0, _filter3.default)(datapoints, function (dp) {
|
|
121
|
-
return !(0, _isNil3.default)(dp.x) && !(0, _isNil3.default)(dp.y);
|
|
122
|
-
});
|
|
123
|
-
};
|
|
124
|
-
|
|
125
|
-
var series = exports.series = function series(observations, dimensions, dimensionsWithValuesIndexedById, chartDimension, display, formaterAttrs) {
|
|
126
|
-
// the 2 following lines may sound absurd but we could have 2 dimensions involved
|
|
127
|
-
// and not only 1 as first specified...
|
|
128
|
-
var xValues = (0, _get3.default)(dimensionsWithValuesIndexedById, (0, _get3.default)(chartDimension, 'id') + '.values', []);
|
|
129
|
-
var yValues = (0, _get3.default)(dimensionsWithValuesIndexedById, (0, _get3.default)(chartDimension, 'id') + '.values', []);
|
|
130
|
-
var xValue = (0, _find3.default)(xValues, { id: (0, _get3.default)(chartDimension, 'xId') });
|
|
131
|
-
var yValue = (0, _find3.default)(yValues, { id: (0, _get3.default)(chartDimension, 'yId') });
|
|
132
|
-
return [{
|
|
133
|
-
dimensionValues: {
|
|
134
|
-
x: (0, _extends3.default)({}, xValue, { name: (0, _dimensionUtils.dimensionValueDisplay)(display)(xValue) }),
|
|
135
|
-
y: (0, _extends3.default)({}, yValue, { name: (0, _dimensionUtils.dimensionValueDisplay)(display)(yValue) })
|
|
136
|
-
},
|
|
137
|
-
datapoints: datapoints(observations, dimensions, dimensionsWithValuesIndexedById, chartDimension, display, formaterAttrs)
|
|
138
|
-
}];
|
|
139
|
-
};
|
|
140
|
-
|
|
141
|
-
exports.default = function (_ref, dimensionsWithValuesIndexedById, chartDimension, display, formaterAttrs) {
|
|
142
|
-
var observations = _ref.observations,
|
|
143
|
-
dimensions = _ref.dimensions;
|
|
144
|
-
return series(observations, dimensions, dimensionsWithValuesIndexedById, chartDimension, display, formaterAttrs);
|
|
145
|
-
};
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
|
|
7
|
-
var _ramda = require('ramda');
|
|
8
|
-
|
|
9
|
-
var R = _interopRequireWildcard(_ramda);
|
|
10
|
-
|
|
11
|
-
var _dotstatsuiteSdmxjs = require('@sis-cc/dotstatsuite-sdmxjs');
|
|
12
|
-
|
|
13
|
-
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; } }
|
|
14
|
-
|
|
15
|
-
exports.default = function (dimensions, singularity) {
|
|
16
|
-
var value = dimensions.value,
|
|
17
|
-
values = dimensions.values;
|
|
18
|
-
|
|
19
|
-
var mode = R.prop('mode', singularity) === 'percent' ? 'percent' : 'values';
|
|
20
|
-
if (R.length(values) === 1) {
|
|
21
|
-
return {
|
|
22
|
-
limit: R.propOr(Infinity, 'limit', singularity),
|
|
23
|
-
mode: mode,
|
|
24
|
-
id: R.pathOr(null, [0, 'id'], value)
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
var serieDimension = null;
|
|
28
|
-
var id = R.prop('id', singularity);
|
|
29
|
-
if (!R.isNil(id)) {
|
|
30
|
-
serieDimension = R.find(R.propEq('id', id), values);
|
|
31
|
-
}
|
|
32
|
-
var areaDimension = (0, _dotstatsuiteSdmxjs.getRefAreaDimension)({ dimensions: values });
|
|
33
|
-
var timeDimension = (0, _dotstatsuiteSdmxjs.getTimePeriodDimension)({ dimensions: values });
|
|
34
|
-
|
|
35
|
-
serieDimension = serieDimension || areaDimension || timeDimension || R.head(values);
|
|
36
|
-
|
|
37
|
-
return {
|
|
38
|
-
limit: R.propOr(Infinity, 'limit', singularity),
|
|
39
|
-
mode: mode,
|
|
40
|
-
id: R.propOr(null, 'id', serieDimension)
|
|
41
|
-
};
|
|
42
|
-
};
|
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
|
|
7
|
-
var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
|
|
8
|
-
|
|
9
|
-
var _defineProperty3 = _interopRequireDefault(_defineProperty2);
|
|
10
|
-
|
|
11
|
-
var _extends3 = require('babel-runtime/helpers/extends');
|
|
12
|
-
|
|
13
|
-
var _extends4 = _interopRequireDefault(_extends3);
|
|
14
|
-
|
|
15
|
-
var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray');
|
|
16
|
-
|
|
17
|
-
var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
|
|
18
|
-
|
|
19
|
-
var _dotstatsuiteSdmxjs = require('@sis-cc/dotstatsuite-sdmxjs');
|
|
20
|
-
|
|
21
|
-
var _dimensionUtils = require('../dimension-utils');
|
|
22
|
-
|
|
23
|
-
var _observationFormater = require('../observation-formater');
|
|
24
|
-
|
|
25
|
-
var _ramda = require('ramda');
|
|
26
|
-
|
|
27
|
-
var R = _interopRequireWildcard(_ramda);
|
|
28
|
-
|
|
29
|
-
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; } }
|
|
30
|
-
|
|
31
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
32
|
-
|
|
33
|
-
var flatDatapoints = function flatDatapoints(observations, dimensions, dimensionsWithValuesIndexedById, serieDimensionId, display, formaterAttrs, _ref) {
|
|
34
|
-
var _ref2 = (0, _slicedToArray3.default)(_ref, 2),
|
|
35
|
-
stackKey = _ref2[0],
|
|
36
|
-
categoryKey = _ref2[1];
|
|
37
|
-
|
|
38
|
-
var datapoints = R.mapObjIndexed(function (observationValue, observationKey) {
|
|
39
|
-
var _ref3;
|
|
40
|
-
|
|
41
|
-
var category = null;
|
|
42
|
-
var value = Number(R.head(observationValue));
|
|
43
|
-
var formater = (0, _observationFormater.getObservationFormater)(observationValue, formaterAttrs);
|
|
44
|
-
var splittedKey = R.split(':', observationKey);
|
|
45
|
-
var layerKey = [];
|
|
46
|
-
var layerDimensions = R.addIndex(R.reduce)(function (memo, dimensionValueIndex, dimensionIndex) {
|
|
47
|
-
var dimension = R.nth(dimensionIndex, dimensions);
|
|
48
|
-
var _dimensionValue = R.pathOr({}, ['values', Number(dimensionValueIndex)], dimension);
|
|
49
|
-
var label = (0, _dimensionUtils.dimensionValueDisplay)(display)(_dimensionValue);
|
|
50
|
-
var dimensionValue = (0, _extends4.default)({}, _dimensionValue, {
|
|
51
|
-
index: Number(dimensionValueIndex),
|
|
52
|
-
label: label
|
|
53
|
-
});
|
|
54
|
-
if (dimension.id === serieDimensionId) {
|
|
55
|
-
category = dimensionValue;
|
|
56
|
-
} else if (R.has(dimension.id, dimensionsWithValuesIndexedById)) {
|
|
57
|
-
memo.push(dimensionValue);
|
|
58
|
-
layerKey.push(dimensionValueIndex);
|
|
59
|
-
}
|
|
60
|
-
return memo;
|
|
61
|
-
}, [], splittedKey);
|
|
62
|
-
return _ref3 = {
|
|
63
|
-
formater: formater
|
|
64
|
-
}, (0, _defineProperty3.default)(_ref3, categoryKey, category), (0, _defineProperty3.default)(_ref3, stackKey, value), (0, _defineProperty3.default)(_ref3, 'layerDimensions', layerDimensions), (0, _defineProperty3.default)(_ref3, 'layerKey', R.join(':', layerKey)), _ref3;
|
|
65
|
-
}, observations);
|
|
66
|
-
|
|
67
|
-
return R.values(datapoints);
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
var serie = function serie(observations, dimensions, dimensionsWithValuesIndexedById, singularity, display, formaterAttrs, _ref4) {
|
|
71
|
-
var _ref5 = (0, _slicedToArray3.default)(_ref4, 2),
|
|
72
|
-
stackKey = _ref5[0],
|
|
73
|
-
categoryKey = _ref5[1];
|
|
74
|
-
|
|
75
|
-
var serieDimensionId = R.propOr(null, 'id', singularity);
|
|
76
|
-
var serieDimension = R.find(R.propEq('id', serieDimensionId), dimensions);
|
|
77
|
-
if (R.isNil(serieDimension)) {
|
|
78
|
-
return { datapoints: [], layerSeries: [] };
|
|
79
|
-
}
|
|
80
|
-
var _flatDatapoints = flatDatapoints(observations, dimensions, dimensionsWithValuesIndexedById, serieDimensionId, display, formaterAttrs, [stackKey, categoryKey]);
|
|
81
|
-
|
|
82
|
-
var layeredDatapoints = R.groupBy(R.prop('layerKey'), _flatDatapoints); // { [layeredKey]: [dps] }
|
|
83
|
-
|
|
84
|
-
var layerFullSeries = R.map(function (datapoints) {
|
|
85
|
-
return {
|
|
86
|
-
layerDimensions: R.prop('layerDimensions', R.head(datapoints)),
|
|
87
|
-
layerKey: R.prop('layerKey', R.head(datapoints))
|
|
88
|
-
};
|
|
89
|
-
}, R.values(layeredDatapoints)); // [{ layerDimensions, layerKey }]
|
|
90
|
-
|
|
91
|
-
var layerLimit = R.propOr(Infinity, 'limit', singularity);
|
|
92
|
-
var layerSeries = R.take(layerLimit, R.sortBy(R.prop('layerKey'), layerFullSeries));
|
|
93
|
-
|
|
94
|
-
var layeredDatapointsKeyedByCategory = R.mapObjIndexed(R.indexBy(R.path([categoryKey, 'id'])), layeredDatapoints); // { [layeredKey]: { [x.id]: dp } }
|
|
95
|
-
|
|
96
|
-
var datapoints = R.addIndex(R.map)(function (serieValue, index) {
|
|
97
|
-
var _ref8;
|
|
98
|
-
|
|
99
|
-
var serieValueId = serieValue.id;
|
|
100
|
-
var category = (0, _dimensionUtils.dimensionValueDisplay)(display)(serieValue);
|
|
101
|
-
var values = R.map(function (_ref6) {
|
|
102
|
-
var layerKey = _ref6.layerKey;
|
|
103
|
-
return R.pathOr(null, [layerKey, serieValueId, stackKey], layeredDatapointsKeyedByCategory);
|
|
104
|
-
}, layerSeries);
|
|
105
|
-
var formaters = R.map(function (_ref7) {
|
|
106
|
-
var layerKey = _ref7.layerKey;
|
|
107
|
-
return R.pathOr(null, [layerKey, serieValueId, 'formater'], layeredDatapointsKeyedByCategory);
|
|
108
|
-
}, layerSeries);
|
|
109
|
-
return _ref8 = { category: category, formaters: formaters, index: index }, (0, _defineProperty3.default)(_ref8, categoryKey, category), (0, _defineProperty3.default)(_ref8, stackKey, values), (0, _defineProperty3.default)(_ref8, 'key', serieValueId), _ref8;
|
|
110
|
-
}, serieDimension.values);
|
|
111
|
-
|
|
112
|
-
var _datapoints = R.when(R.pipe(R.length, R.equals(1)), R.pipe(R.set(R.lensPath([0, 'category']), ''), R.set(R.lensPath([0, categoryKey]), '')), datapoints);
|
|
113
|
-
|
|
114
|
-
return {
|
|
115
|
-
datapoints: _datapoints,
|
|
116
|
-
layerSeries: R.map(function (layer) {
|
|
117
|
-
return {
|
|
118
|
-
id: R.pipe(R.prop('layerDimensions'), R.pluck('id'), R.join(' - '))(layer),
|
|
119
|
-
label: R.pipe(R.prop('layerDimensions'), R.pluck('label'), R.join(' - '))(layer)
|
|
120
|
-
};
|
|
121
|
-
}, layerSeries)
|
|
122
|
-
};
|
|
123
|
-
};
|
|
124
|
-
|
|
125
|
-
var percentSerie = function percentSerie(stackKey) {
|
|
126
|
-
return R.pipe(R.over(R.lensProp('datapoints'), R.map(function (dp) {
|
|
127
|
-
var _extends2;
|
|
128
|
-
|
|
129
|
-
var total = R.pipe(R.map(function (v) {
|
|
130
|
-
return Math.abs(v);
|
|
131
|
-
}), R.sum)(dp[stackKey]);
|
|
132
|
-
if (!total) {
|
|
133
|
-
return dp;
|
|
134
|
-
}
|
|
135
|
-
return (0, _extends4.default)({}, dp, (_extends2 = {}, (0, _defineProperty3.default)(_extends2, stackKey, R.map(function (v) {
|
|
136
|
-
return Math.abs(v) / total * 100;
|
|
137
|
-
}, dp[stackKey])), (0, _defineProperty3.default)(_extends2, 'formaters', null), _extends2));
|
|
138
|
-
})), R.of);
|
|
139
|
-
};
|
|
140
|
-
|
|
141
|
-
var serieSortedByTotal = function serieSortedByTotal(stackKey) {
|
|
142
|
-
return R.pipe(R.over(R.lensProp('datapoints'), R.sortBy(R.pipe(R.prop(stackKey), R.map(function (v) {
|
|
143
|
-
return v > 0 ? R.negate(v) : 0;
|
|
144
|
-
}), R.sum))), R.of);
|
|
145
|
-
};
|
|
146
|
-
|
|
147
|
-
var serieSortedByDataOrder = R.pipe(R.over(R.lensProp('datapoints'), R.sortBy(R.prop('index'))), R.of);
|
|
148
|
-
|
|
149
|
-
exports.default = function (_ref9, dimensionsWithValuesIndexedById, singularity, display, formaterAttrs, _ref10) {
|
|
150
|
-
var observations = _ref9.observations,
|
|
151
|
-
dimensions = _ref9.dimensions;
|
|
152
|
-
|
|
153
|
-
var _ref11 = (0, _slicedToArray3.default)(_ref10, 2),
|
|
154
|
-
stackKey = _ref11[0],
|
|
155
|
-
categoryKey = _ref11[1];
|
|
156
|
-
|
|
157
|
-
var mode = R.propOr('values', 'mode', singularity);
|
|
158
|
-
var serieDimensionId = R.propOr(null, 'id', singularity);
|
|
159
|
-
var _serie = serie(observations, dimensions, dimensionsWithValuesIndexedById, singularity, display, formaterAttrs, [stackKey, categoryKey]);
|
|
160
|
-
if (mode === 'percent') {
|
|
161
|
-
return percentSerie(stackKey)(_serie);
|
|
162
|
-
} else if ((0, _dotstatsuiteSdmxjs.isTimePeriodDimension)({ id: serieDimensionId })) {
|
|
163
|
-
return serieSortedByDataOrder(_serie);
|
|
164
|
-
}
|
|
165
|
-
return serieSortedByTotal(stackKey)(_serie);
|
|
166
|
-
};
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
|
|
7
|
-
var _take2 = require('lodash/take');
|
|
8
|
-
|
|
9
|
-
var _take3 = _interopRequireDefault(_take2);
|
|
10
|
-
|
|
11
|
-
var _reject2 = require('lodash/reject');
|
|
12
|
-
|
|
13
|
-
var _reject3 = _interopRequireDefault(_reject2);
|
|
14
|
-
|
|
15
|
-
var _isNil2 = require('lodash/isNil');
|
|
16
|
-
|
|
17
|
-
var _isNil3 = _interopRequireDefault(_isNil2);
|
|
18
|
-
|
|
19
|
-
var _isUndefined2 = require('lodash/isUndefined');
|
|
20
|
-
|
|
21
|
-
var _isUndefined3 = _interopRequireDefault(_isUndefined2);
|
|
22
|
-
|
|
23
|
-
var _isEmpty2 = require('lodash/isEmpty');
|
|
24
|
-
|
|
25
|
-
var _isEmpty3 = _interopRequireDefault(_isEmpty2);
|
|
26
|
-
|
|
27
|
-
var _head2 = require('lodash/head');
|
|
28
|
-
|
|
29
|
-
var _head3 = _interopRequireDefault(_head2);
|
|
30
|
-
|
|
31
|
-
var _get2 = require('lodash/get');
|
|
32
|
-
|
|
33
|
-
var _get3 = _interopRequireDefault(_get2);
|
|
34
|
-
|
|
35
|
-
var _find2 = require('lodash/find');
|
|
36
|
-
|
|
37
|
-
var _find3 = _interopRequireDefault(_find2);
|
|
38
|
-
|
|
39
|
-
var _dotstatsuiteSdmxjs = require('@sis-cc/dotstatsuite-sdmxjs');
|
|
40
|
-
|
|
41
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
42
|
-
|
|
43
|
-
exports.default = function (dimensions, ids) {
|
|
44
|
-
if ((0, _isEmpty3.default)(dimensions)) return;
|
|
45
|
-
|
|
46
|
-
var symbolDimension = undefined;
|
|
47
|
-
var id = (0, _get3.default)(ids, 'id');
|
|
48
|
-
if (!(0, _isNil3.default)(id)) symbolDimension = (0, _find3.default)(dimensions, { id: id });
|
|
49
|
-
|
|
50
|
-
if ((0, _isUndefined3.default)(symbolDimension)) {
|
|
51
|
-
var isAreaOrTimeDimension = function isAreaOrTimeDimension(d) {
|
|
52
|
-
return (0, _dotstatsuiteSdmxjs.isRefAreaDimension)(d) || (0, _dotstatsuiteSdmxjs.isTimePeriodDimension)(d);
|
|
53
|
-
};
|
|
54
|
-
var _dimensions1 = (0, _reject3.default)(dimensions, isAreaOrTimeDimension);
|
|
55
|
-
var _dimensions2 = (0, _reject3.default)(dimensions, _dotstatsuiteSdmxjs.isRefAreaDimension);
|
|
56
|
-
if ((0, _isEmpty3.default)(_dimensions1)) {
|
|
57
|
-
symbolDimension = (0, _head3.default)((0, _isEmpty3.default)(_dimensions2) ? dimensions : _dimensions2);
|
|
58
|
-
} else {
|
|
59
|
-
symbolDimension = (0, _head3.default)(_dimensions1);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
var symbolDimensionId = (0, _get3.default)(symbolDimension, 'id');
|
|
64
|
-
|
|
65
|
-
return {
|
|
66
|
-
id: symbolDimensionId,
|
|
67
|
-
serie: (0, _take3.default)(symbolDimension.values, 5)
|
|
68
|
-
};
|
|
69
|
-
};
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
|
|
7
|
-
var _sortBy2 = require('lodash/sortBy');
|
|
8
|
-
|
|
9
|
-
var _sortBy3 = _interopRequireDefault(_sortBy2);
|
|
10
|
-
|
|
11
|
-
var _size2 = require('lodash/size');
|
|
12
|
-
|
|
13
|
-
var _size3 = _interopRequireDefault(_size2);
|
|
14
|
-
|
|
15
|
-
var _split2 = require('lodash/split');
|
|
16
|
-
|
|
17
|
-
var _split3 = _interopRequireDefault(_split2);
|
|
18
|
-
|
|
19
|
-
var _reduce2 = require('lodash/reduce');
|
|
20
|
-
|
|
21
|
-
var _reduce3 = _interopRequireDefault(_reduce2);
|
|
22
|
-
|
|
23
|
-
var _map2 = require('lodash/map');
|
|
24
|
-
|
|
25
|
-
var _map3 = _interopRequireDefault(_map2);
|
|
26
|
-
|
|
27
|
-
var _isNil2 = require('lodash/isNil');
|
|
28
|
-
|
|
29
|
-
var _isNil3 = _interopRequireDefault(_isNil2);
|
|
30
|
-
|
|
31
|
-
var _isEmpty2 = require('lodash/isEmpty');
|
|
32
|
-
|
|
33
|
-
var _isEmpty3 = _interopRequireDefault(_isEmpty2);
|
|
34
|
-
|
|
35
|
-
var _head2 = require('lodash/head');
|
|
36
|
-
|
|
37
|
-
var _head3 = _interopRequireDefault(_head2);
|
|
38
|
-
|
|
39
|
-
var _get2 = require('lodash/get');
|
|
40
|
-
|
|
41
|
-
var _get3 = _interopRequireDefault(_get2);
|
|
42
|
-
|
|
43
|
-
var _findIndex2 = require('lodash/findIndex');
|
|
44
|
-
|
|
45
|
-
var _findIndex3 = _interopRequireDefault(_findIndex2);
|
|
46
|
-
|
|
47
|
-
var _fill2 = require('lodash/fill');
|
|
48
|
-
|
|
49
|
-
var _fill3 = _interopRequireDefault(_fill2);
|
|
50
|
-
|
|
51
|
-
var _dimensionUtils = require('../dimension-utils');
|
|
52
|
-
|
|
53
|
-
var _observationFormater = require('../observation-formater');
|
|
54
|
-
|
|
55
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
56
|
-
|
|
57
|
-
var series = function series(observations, dimensions, dimensionsWithValuesIndexedById, symbolDimension, sortDirection, display, formaterAttrs) {
|
|
58
|
-
var symbolDimensionId = (0, _get3.default)(symbolDimension, 'id', null);
|
|
59
|
-
if (symbolDimensionId === null) return [];
|
|
60
|
-
var symbolDimensionIndex = (0, _findIndex3.default)(dimensions, function (d) {
|
|
61
|
-
return d.id === symbolDimensionId;
|
|
62
|
-
});
|
|
63
|
-
var datapoints = (0, _sortBy3.default)((0, _reduce3.default)(observations, function (memo, observationValue, observationKey) {
|
|
64
|
-
if (!(0, _head3.default)(observationValue)) {
|
|
65
|
-
// because yes it is possible to have null observations, why not ...
|
|
66
|
-
return memo;
|
|
67
|
-
}
|
|
68
|
-
var oDimensionValuesIndexes = (0, _split3.default)(observationKey, ':');
|
|
69
|
-
var oSymbolDimensionValueIndex = Number(oDimensionValuesIndexes[symbolDimensionIndex]);
|
|
70
|
-
var oSymbolDimensionValueId = dimensions[symbolDimensionIndex].values[oSymbolDimensionValueIndex].id;
|
|
71
|
-
|
|
72
|
-
var symbolIndex = (0, _findIndex3.default)(symbolDimension.serie, function (v) {
|
|
73
|
-
return v.id === oSymbolDimensionValueId;
|
|
74
|
-
});
|
|
75
|
-
if (symbolIndex === -1) {
|
|
76
|
-
return memo;
|
|
77
|
-
}
|
|
78
|
-
var category = (0, _dimensionUtils.categoryDisplay)(oDimensionValuesIndexes, dimensions, dimensionsWithValuesIndexedById, symbolDimensionId, display);
|
|
79
|
-
var ids = (0, _dimensionUtils.categoryDisplay)(oDimensionValuesIndexes, dimensions, dimensionsWithValuesIndexedById, symbolDimensionId, 'code');
|
|
80
|
-
var dpIndex = (0, _findIndex3.default)(memo, function (dp) {
|
|
81
|
-
return dp.key === ids;
|
|
82
|
-
});
|
|
83
|
-
var dpValues = dpIndex === -1 ? (0, _fill3.default)(Array((0, _size3.default)(symbolDimension.serie)), null) : memo[dpIndex].values;
|
|
84
|
-
var dpFormatedValues = dpIndex === -1 ? (0, _fill3.default)(Array((0, _size3.default)(symbolDimension.serie)), null) : memo[dpIndex].formatedValues;
|
|
85
|
-
dpValues[oSymbolDimensionValueIndex] = (0, _head3.default)(observationValue);
|
|
86
|
-
dpFormatedValues[oSymbolDimensionValueIndex] = (0, _observationFormater.getFormatedObservation)(observationValue, formaterAttrs);
|
|
87
|
-
var key = ids;
|
|
88
|
-
if ((0, _isNil3.default)(ids) || (0, _isEmpty3.default)(ids)) {
|
|
89
|
-
key = 'uniq-dp';
|
|
90
|
-
}
|
|
91
|
-
if (dpIndex !== -1) {
|
|
92
|
-
memo[dpIndex].values = dpValues;
|
|
93
|
-
memo[dpIndex].formatedValues = dpFormatedValues;
|
|
94
|
-
} else {
|
|
95
|
-
memo.push({ category: category, formatedValues: dpFormatedValues, values: dpValues, key: key });
|
|
96
|
-
}
|
|
97
|
-
return memo;
|
|
98
|
-
}, []), function (d) {
|
|
99
|
-
return (0, _head3.default)(d.values) * sortDirection;
|
|
100
|
-
});
|
|
101
|
-
var symbolValues = (0, _map3.default)(symbolDimension.serie, function (v) {
|
|
102
|
-
return (0, _dimensionUtils.dimensionValueDisplay)(display)(v);
|
|
103
|
-
});
|
|
104
|
-
return [{ datapoints: datapoints, symbolValues: symbolValues }];
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
exports.default = function (_ref, chartType, dimensionsWithValuesIndexedById, symbolDimension, display, formaterAttrs) {
|
|
108
|
-
var observations = _ref.observations,
|
|
109
|
-
dimensions = _ref.dimensions;
|
|
110
|
-
|
|
111
|
-
switch (chartType) {
|
|
112
|
-
case 'HorizontalSymbolChart':
|
|
113
|
-
return series(observations, dimensions, dimensionsWithValuesIndexedById, symbolDimension, -1, display, formaterAttrs);
|
|
114
|
-
case 'VerticalSymbolChart':
|
|
115
|
-
return series(observations, dimensions, dimensionsWithValuesIndexedById, symbolDimension, 1, display, formaterAttrs);
|
|
116
|
-
default:
|
|
117
|
-
return [];
|
|
118
|
-
}
|
|
119
|
-
};
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
|
|
7
|
-
var _isArray2 = require('lodash/isArray');
|
|
8
|
-
|
|
9
|
-
var _isArray3 = _interopRequireDefault(_isArray2);
|
|
10
|
-
|
|
11
|
-
var _findIndex2 = require('lodash/findIndex');
|
|
12
|
-
|
|
13
|
-
var _findIndex3 = _interopRequireDefault(_findIndex2);
|
|
14
|
-
|
|
15
|
-
var _each2 = require('lodash/each');
|
|
16
|
-
|
|
17
|
-
var _each3 = _interopRequireDefault(_each2);
|
|
18
|
-
|
|
19
|
-
var _map2 = require('lodash/map');
|
|
20
|
-
|
|
21
|
-
var _map3 = _interopRequireDefault(_map2);
|
|
22
|
-
|
|
23
|
-
exports.default = focus;
|
|
24
|
-
|
|
25
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
26
|
-
|
|
27
|
-
function focus(series, focusSelections) {
|
|
28
|
-
return (0, _map3.default)(series, function (serie, index) {
|
|
29
|
-
(0, _each3.default)(focusSelections, function (focusSelection, focusKey) {
|
|
30
|
-
var _focusKey = focusKey + 'Index';
|
|
31
|
-
var res = (0, _findIndex3.default)((0, _isArray3.default)(focusSelection) ? focusSelection : [focusSelection], function (focus) {
|
|
32
|
-
return focus.value === serie.key;
|
|
33
|
-
});
|
|
34
|
-
serie['' + _focusKey] = res;
|
|
35
|
-
});
|
|
36
|
-
return serie;
|
|
37
|
-
});
|
|
38
|
-
}
|