@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
package/lib/rules/src/layout.js
DELETED
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.isSharedLayoutCompatible = undefined;
|
|
7
|
-
|
|
8
|
-
var _ramda = require('ramda');
|
|
9
|
-
|
|
10
|
-
var R = _interopRequireWildcard(_ramda);
|
|
11
|
-
|
|
12
|
-
var _constants = require('./constants');
|
|
13
|
-
|
|
14
|
-
var _src = require('../../rules2/src');
|
|
15
|
-
|
|
16
|
-
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
|
|
17
|
-
|
|
18
|
-
var isTableLayoutCompatible = function isTableLayoutCompatible(data, layout) {
|
|
19
|
-
var combinationsDefinitions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
20
|
-
var dataquery = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
|
|
21
|
-
|
|
22
|
-
var indexedCombinations = R.indexBy(R.prop('id'), combinationsDefinitions);
|
|
23
|
-
var indexedManyValuesDimensions = R.pipe(R.pathOr([], ['structure', 'dimensions', 'observation']), function (dimensions) {
|
|
24
|
-
return (0, _src.refineDimensions)(dimensions, dataquery);
|
|
25
|
-
}, R.reject(function (d) {
|
|
26
|
-
return R.prop('header', d) || !R.length(d.values || []);
|
|
27
|
-
}), R.indexBy(R.prop('id')))(data);
|
|
28
|
-
var remainings = indexedManyValuesDimensions;
|
|
29
|
-
var layoutIds = R.pipe(R.values, R.unnest)(layout);
|
|
30
|
-
var hasFoundIrrelevant = false;
|
|
31
|
-
R.forEach(function (id) {
|
|
32
|
-
if (R.has(id, indexedManyValuesDimensions)) {
|
|
33
|
-
remainings = R.dissoc(id, remainings);
|
|
34
|
-
} else if (R.has(id, indexedCombinations)) {
|
|
35
|
-
remainings = R.omit(R.pathOr([], [id, 'concepts'], indexedCombinations), remainings);
|
|
36
|
-
} else if (id !== 'OBS_ATTRIBUTES') {
|
|
37
|
-
hasFoundIrrelevant = true;
|
|
38
|
-
}
|
|
39
|
-
}, layoutIds);
|
|
40
|
-
return R.isEmpty(remainings) && !hasFoundIrrelevant;
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
var isScatterLayoutCompatible = function isScatterLayoutCompatible(data, chartDimension) {
|
|
44
|
-
var id = chartDimension.id,
|
|
45
|
-
xId = chartDimension.xId,
|
|
46
|
-
yId = chartDimension.yId;
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
var dimensions = R.pathOr([], ['structure', 'dimensions', 'observation'], data);
|
|
50
|
-
|
|
51
|
-
var dimension = R.find(R.propEq('id', id), dimensions);
|
|
52
|
-
if (R.isNil(dimension)) {
|
|
53
|
-
return false;
|
|
54
|
-
}
|
|
55
|
-
return R.pipe(R.propOr([], 'values'), R.indexBy(R.prop('id')), R.pick([xId, yId]), R.values, R.length, R.equals(2))(dimension);
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
var isSymbolLayoutCompatible = function isSymbolLayoutCompatible(data, chartDimension) {
|
|
59
|
-
var id = chartDimension.id,
|
|
60
|
-
serie = chartDimension.serie;
|
|
61
|
-
|
|
62
|
-
var serieIds = R.pluck('id', serie);
|
|
63
|
-
|
|
64
|
-
return R.pipe(R.pathOr([], ['structure', 'dimensions', 'observation']), R.indexBy(R.prop('id')), R.pathOr([], [id, 'values']), R.indexBy(R.prop('id')), R.pick(serieIds), R.values, R.length, R.equals(R.length(serieIds)))(data);
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
var isStackedLayoutCompatible = function isStackedLayoutCompatible(data, chartDimension) {
|
|
68
|
-
var id = chartDimension.id;
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
return R.pipe(R.pathOr([], ['structure', 'dimensions', 'observation']), R.filter(R.pipe(R.propOr([], 'values'), R.length, R.lt(1))), R.indexBy(R.prop('id')), R.has(id))(data);
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
var isChartLayoutCompatible = function isChartLayoutCompatible(data, type, chartDimension) {
|
|
75
|
-
return R.cond([[R.always(R.equals(_constants.SCATTER, type)), isScatterLayoutCompatible], [R.always(R.equals(_constants.H_SYMBOL, type) || R.equals(_constants.V_SYMBOL, type)), isSymbolLayoutCompatible], [R.always(R.anyPass([R.equals(_constants.STACKED_BAR), R.equals(_constants.STACKED_ROW)])(type)), isStackedLayoutCompatible], [R.T, R.T]])(data, chartDimension);
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
var isSharedLayoutCompatible = exports.isSharedLayoutCompatible = function isSharedLayoutCompatible(sdmxData, sharedData) {
|
|
79
|
-
var type = R.prop('type', sharedData);
|
|
80
|
-
if (type === 'table') {
|
|
81
|
-
var layoutIds = R.pathOr({}, ['config', 'table', 'layoutIds'], sharedData);
|
|
82
|
-
var dataquery = R.path(['config', 'sdmxSource', 'dataquery'], sharedData);
|
|
83
|
-
var annotations = R.pathOr({}, ['structure', 'annotations'], sdmxData);
|
|
84
|
-
var locale = R.pathOr({}, ['config', 'table', 'locale'], sharedData);
|
|
85
|
-
var rawDefaultCombinationsDefinition = R.pathOr({}, ['config', 'defaultCombinations'], sharedData);
|
|
86
|
-
var _rawDefaultCombinatio = rawDefaultCombinationsDefinition.concepts,
|
|
87
|
-
concepts = _rawDefaultCombinatio === undefined ? '' : _rawDefaultCombinatio,
|
|
88
|
-
_rawDefaultCombinatio2 = rawDefaultCombinationsDefinition.names,
|
|
89
|
-
names = _rawDefaultCombinatio2 === undefined ? '' : _rawDefaultCombinatio2;
|
|
90
|
-
|
|
91
|
-
var defaultCombinationsDefinition = (0, _src.parseCombinationDefinition)(locale)(concepts, names);
|
|
92
|
-
var customCombinationsDefinitions = (0, _src.getCombinationDefinitions)(annotations, locale);
|
|
93
|
-
var combinationsDefinitions = R.isNil(customCombinationsDefinitions) || R.isEmpty(customCombinationsDefinitions) ? defaultCombinationsDefinition : customCombinationsDefinitions;
|
|
94
|
-
return isTableLayoutCompatible(sdmxData, layoutIds, combinationsDefinitions, dataquery);
|
|
95
|
-
}
|
|
96
|
-
var chartDimension = R.pathOr({}, ['config', 'chart', 'chartDimension'], sharedData);
|
|
97
|
-
return isChartLayoutCompatible(sdmxData, type, chartDimension);
|
|
98
|
-
};
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getFormatedObservation = exports.getObservationFormater = exports.makeObservationFormater = exports.getObservationFormaterValues = exports.getObservationFormaterValue = exports.getObservationsFormaterAttributes = exports._getObservationsFormaterAttributes = exports.parseAttributeFormaterIds = exports.getFormaterAttribute = exports.DEFAULT_DECIMALS_ATTR_IDS = exports.DEFAULT_PREFSCALE_ATTR_IDS = undefined;
|
|
7
|
-
|
|
8
|
-
var _isNan = require('babel-runtime/core-js/number/is-nan');
|
|
9
|
-
|
|
10
|
-
var _isNan2 = _interopRequireDefault(_isNan);
|
|
11
|
-
|
|
12
|
-
var _memoizee = require('memoizee');
|
|
13
|
-
|
|
14
|
-
var _memoizee2 = _interopRequireDefault(_memoizee);
|
|
15
|
-
|
|
16
|
-
var _numeral = require('numeral');
|
|
17
|
-
|
|
18
|
-
var _numeral2 = _interopRequireDefault(_numeral);
|
|
19
|
-
|
|
20
|
-
var _ramda = require('ramda');
|
|
21
|
-
|
|
22
|
-
var R = _interopRequireWildcard(_ramda);
|
|
23
|
-
|
|
24
|
-
var _ = require('./');
|
|
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 DEFAULT_PREFSCALE_ATTR_IDS = exports.DEFAULT_PREFSCALE_ATTR_IDS = ["PREF_SCALE"];
|
|
31
|
-
|
|
32
|
-
var DEFAULT_DECIMALS_ATTR_IDS = exports.DEFAULT_DECIMALS_ATTR_IDS = ["DECIMALS"];
|
|
33
|
-
|
|
34
|
-
var getFormaterAttribute = exports.getFormaterAttribute = function getFormaterAttribute(ids, attributes) {
|
|
35
|
-
return R.find(function (attr) {
|
|
36
|
-
return R.includes(attr.id, ids);
|
|
37
|
-
}, attributes);
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
var parseAttributeFormaterIds = exports.parseAttributeFormaterIds = function parseAttributeFormaterIds() {
|
|
41
|
-
var ids = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
42
|
-
|
|
43
|
-
var prefscale = R.prop('prefscale', ids);
|
|
44
|
-
var decimals = R.prop('decimals', ids);
|
|
45
|
-
decimals = R.isNil(decimals) ? DEFAULT_DECIMALS_ATTR_IDS : decimals;
|
|
46
|
-
prefscale = R.isNil(prefscale) ? DEFAULT_PREFSCALE_ATTR_IDS : prefscale;
|
|
47
|
-
return {
|
|
48
|
-
decimals: R.is(Array, decimals) ? decimals : [decimals],
|
|
49
|
-
prefscale: R.is(Array, prefscale) ? prefscale : [prefscale]
|
|
50
|
-
};
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
var _getObservationsFormaterAttributes = exports._getObservationsFormaterAttributes = function _getObservationsFormaterAttributes(data, ids) {
|
|
54
|
-
return R.pipe(_.extractSdmxArtefacts, function (_ref) {
|
|
55
|
-
var attributes = _ref.attributes;
|
|
56
|
-
|
|
57
|
-
var _parseAttributeFormat = parseAttributeFormaterIds(ids),
|
|
58
|
-
decimals = _parseAttributeFormat.decimals,
|
|
59
|
-
prefscale = _parseAttributeFormat.prefscale;
|
|
60
|
-
|
|
61
|
-
return {
|
|
62
|
-
decimals: getFormaterAttribute(decimals, attributes),
|
|
63
|
-
prefscale: getFormaterAttribute(prefscale, attributes)
|
|
64
|
-
};
|
|
65
|
-
})(data);
|
|
66
|
-
};
|
|
67
|
-
var getObservationsFormaterAttributes = exports.getObservationsFormaterAttributes = (0, _memoizee2.default)(_getObservationsFormaterAttributes);
|
|
68
|
-
|
|
69
|
-
var getObservationFormaterValue = exports.getObservationFormaterValue = function getObservationFormaterValue(observation, attribute) {
|
|
70
|
-
var attributeIndex = R.prop('index', attribute);
|
|
71
|
-
var attributeValueIndex = R.nth(attributeIndex, observation);
|
|
72
|
-
return R.nth(attributeValueIndex, R.propOr([], 'values', attribute));
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
var getObservationFormaterValues = exports.getObservationFormaterValues = function getObservationFormaterValues(formaterAttributes) {
|
|
76
|
-
return function (observation) {
|
|
77
|
-
return {
|
|
78
|
-
decimals: getObservationFormaterValue(observation, R.prop('decimals', formaterAttributes)),
|
|
79
|
-
prefscale: getObservationFormaterValue(observation, R.prop('prefscale', formaterAttributes))
|
|
80
|
-
};
|
|
81
|
-
};
|
|
82
|
-
};
|
|
83
|
-
|
|
84
|
-
var makeObservationFormater = exports.makeObservationFormater = function makeObservationFormater(formaterValues) {
|
|
85
|
-
var prefscale = 0;
|
|
86
|
-
if (!R.isNil(R.prop('prefscale', formaterValues))) {
|
|
87
|
-
prefscale = Number(R.propOr('0', 'id', formaterValues.prefscale));
|
|
88
|
-
}
|
|
89
|
-
var decimals = null;
|
|
90
|
-
if (!R.isNil(R.prop('decimals', formaterValues))) {
|
|
91
|
-
var _decimals = Number(R.prop('id', formaterValues.decimals));
|
|
92
|
-
decimals = R.is(Number, _decimals) && !(0, _isNan2.default)(_decimals) ? _decimals : null;
|
|
93
|
-
}
|
|
94
|
-
var format = '0,0';
|
|
95
|
-
if (R.isNil(decimals)) {
|
|
96
|
-
format = R.concat(format, '.[0000000]');
|
|
97
|
-
} else if (decimals > 0) {
|
|
98
|
-
format = R.concat(format, '.[' + '0'.repeat(decimals) + ']');
|
|
99
|
-
}
|
|
100
|
-
return function (value) {
|
|
101
|
-
return (0, _numeral2.default)(Number(value)).multiply(Math.pow(10, R.negate(prefscale))).format(format);
|
|
102
|
-
};
|
|
103
|
-
};
|
|
104
|
-
|
|
105
|
-
var getObservationFormater = exports.getObservationFormater = function getObservationFormater(observation, formaterAttributes) {
|
|
106
|
-
return R.pipe(R.tail, getObservationFormaterValues(formaterAttributes), makeObservationFormater)(observation);
|
|
107
|
-
};
|
|
108
|
-
|
|
109
|
-
var getFormatedObservation = exports.getFormatedObservation = function getFormatedObservation(observation, formaterAttributes) {
|
|
110
|
-
var formater = getObservationFormater(observation, formaterAttributes);
|
|
111
|
-
return formater(R.head(observation));
|
|
112
|
-
};
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.enhanceObservations = undefined;
|
|
7
|
-
|
|
8
|
-
var _extends2 = require('babel-runtime/helpers/extends');
|
|
9
|
-
|
|
10
|
-
var _extends3 = _interopRequireDefault(_extends2);
|
|
11
|
-
|
|
12
|
-
var _ramda = require('ramda');
|
|
13
|
-
|
|
14
|
-
var R = _interopRequireWildcard(_ramda);
|
|
15
|
-
|
|
16
|
-
var _formatValue = require('./formatValue');
|
|
17
|
-
|
|
18
|
-
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
|
|
19
|
-
|
|
20
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
-
|
|
22
|
-
/*
|
|
23
|
-
options = {
|
|
24
|
-
attachmentSeriesIndexes, //units
|
|
25
|
-
customAttributes: {
|
|
26
|
-
decimals: id,
|
|
27
|
-
prefscale: id,
|
|
28
|
-
},
|
|
29
|
-
unitsArtefacts,
|
|
30
|
-
obsAttributes,
|
|
31
|
-
rejectedValueIds,
|
|
32
|
-
}
|
|
33
|
-
*/
|
|
34
|
-
|
|
35
|
-
var getSerieKey = function getSerieKey(dimValuesIndexes, options) {
|
|
36
|
-
var indexes = R.propOr([], 'attachmentSeriesIndexes', options);
|
|
37
|
-
return R.pipe(R.addIndex(R.map)(function (valueIndex, dimIndex) {
|
|
38
|
-
if (dimIndex === R.head(indexes)) {
|
|
39
|
-
indexes = R.tail(indexes);
|
|
40
|
-
return valueIndex;
|
|
41
|
-
}
|
|
42
|
-
return 'x';
|
|
43
|
-
}), R.join(':'))(dimValuesIndexes);
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
var getUnitsValues = function getUnitsValues(indexes, options) {
|
|
47
|
-
return R.reduce(function (acc, codelist) {
|
|
48
|
-
var id = codelist.id;
|
|
49
|
-
|
|
50
|
-
if (!R.includes(id, R.propOr([], 'unitsIds', options))) {
|
|
51
|
-
return acc;
|
|
52
|
-
}
|
|
53
|
-
var valueIndex = R.prop(codelist.__index, indexes);
|
|
54
|
-
if (R.isNil(valueIndex) || !R.propOr(true, 'display', codelist)) {
|
|
55
|
-
return acc;
|
|
56
|
-
}
|
|
57
|
-
var value = R.path(['values', Number(valueIndex)], codelist);
|
|
58
|
-
if (R.isNil(value) || R.includes(value.id, R.propOr([], 'rejectedValueIds', options)) || !R.propOr(true, 'display', value)) {
|
|
59
|
-
return acc;
|
|
60
|
-
}
|
|
61
|
-
return R.assoc(id, (0, _extends3.default)({}, R.pick(['id', 'name', '__index'], codelist), {
|
|
62
|
-
value: R.when(R.complement(R.isNil), R.assoc('index', Number(valueIndex)))(value)
|
|
63
|
-
}), acc);
|
|
64
|
-
}, {});
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
var getObservationUnits = function getObservationUnits(observation, dimensions, attributes, options) {
|
|
68
|
-
var dimensionsUnits = getUnitsValues(R.propOr([], 'dimValuesIndexes', observation), options)(dimensions);
|
|
69
|
-
|
|
70
|
-
var attributesUnits = getUnitsValues(R.propOr([], 'attrValuesIndexes', observation), options)(attributes);
|
|
71
|
-
|
|
72
|
-
var serieKey = getSerieKey(R.propOr([], 'dimValuesIndexes', observation), options);
|
|
73
|
-
|
|
74
|
-
return (0, _extends3.default)({}, dimensionsUnits, attributesUnits, { serieKey: serieKey });
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
var getFormatAttributesIndexes = function getFormatAttributesIndexes(attributes, customAttributes) {
|
|
78
|
-
return R.addIndex(R.reduce)(function (acc, attribute, index) {
|
|
79
|
-
if (R.equals(attribute.id, customAttributes.decimals)) {
|
|
80
|
-
return (0, _extends3.default)({}, acc, { decimals: index });
|
|
81
|
-
}
|
|
82
|
-
if (R.equals(attribute.id, customAttributes.prefscale)) {
|
|
83
|
-
return (0, _extends3.default)({}, acc, { prefscale: index });
|
|
84
|
-
}
|
|
85
|
-
return acc;
|
|
86
|
-
}, { prefscale: null, decimals: null }, attributes);
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
var getAttributeValue = function getAttributeValue(attribute, valueIndex, options) {
|
|
90
|
-
if (!R.propOr(true, 'display', attribute)) {
|
|
91
|
-
return null;
|
|
92
|
-
}
|
|
93
|
-
var value = R.pipe(R.propOr([], 'values'), R.nth(valueIndex))(attribute);
|
|
94
|
-
|
|
95
|
-
if (R.isNil(value) || !R.propOr(true, 'display', value) || R.includes(value.id, R.propOr([], 'rejectedValueIds')(options))) {
|
|
96
|
-
return null;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
return (0, _extends3.default)({}, R.pick(['id', 'name'], attribute), {
|
|
100
|
-
value: R.pick(['id', 'name'], value)
|
|
101
|
-
});
|
|
102
|
-
};
|
|
103
|
-
|
|
104
|
-
var enhanceObservations = exports.enhanceObservations = function enhanceObservations() {
|
|
105
|
-
var dimensions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
106
|
-
var observations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
107
|
-
var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
108
|
-
var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
109
|
-
|
|
110
|
-
var formatAttributesIndexes = getFormatAttributesIndexes(attributes, R.propOr({}, 'customAttributes', options));
|
|
111
|
-
var _attributes = R.addIndex(R.map)(function (attr, index) {
|
|
112
|
-
return R.assoc('__index', index, attr);
|
|
113
|
-
}, attributes);
|
|
114
|
-
var _obsAttributes = R.pipe(R.indexBy(R.prop('id')), R.props(options.attributesIds || []))(_attributes);
|
|
115
|
-
|
|
116
|
-
return R.mapObjIndexed(function (observation) {
|
|
117
|
-
var attrValuesIndexes = observation.attrValuesIndexes,
|
|
118
|
-
dimValuesIndexes = observation.dimValuesIndexes;
|
|
119
|
-
|
|
120
|
-
var obsAttributes = R.reduce(function (acc, attribute) {
|
|
121
|
-
var attrValue = getAttributeValue(attribute, R.nth(attribute.__index, attrValuesIndexes), options);
|
|
122
|
-
if (R.isNil(attrValue)) {
|
|
123
|
-
return acc;
|
|
124
|
-
}
|
|
125
|
-
return R.assoc(attribute.id, attrValue, acc);
|
|
126
|
-
}, {}, _obsAttributes);
|
|
127
|
-
|
|
128
|
-
var indexedDimValIds = R.addIndex(R.reduce)(function (acc, dimension, dimensionIndex) {
|
|
129
|
-
var id = dimension.id;
|
|
130
|
-
var valueIndex = R.nth(dimensionIndex, dimValuesIndexes);
|
|
131
|
-
var valueId = R.path(['values', Number(valueIndex), 'id'], dimension);
|
|
132
|
-
return R.assoc(id, valueId, acc);
|
|
133
|
-
}, {}, dimensions);
|
|
134
|
-
|
|
135
|
-
return (0, _extends3.default)({}, observation, {
|
|
136
|
-
attributes: obsAttributes,
|
|
137
|
-
formattedValue: (0, _formatValue.formatValue)(observation, formatAttributesIndexes, attributes),
|
|
138
|
-
units: getObservationUnits(observation, dimensions, _attributes, options),
|
|
139
|
-
indexedDimValIds: indexedDimValIds
|
|
140
|
-
});
|
|
141
|
-
}, observations);
|
|
142
|
-
};
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.formatValue = 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
|
-
var parseValidNumber = R.pipe(function (v) {
|
|
22
|
-
return R.isNil(v) ? null : Number(v);
|
|
23
|
-
}, function (v) {
|
|
24
|
-
return isNaN(v) ? null : v;
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
var getFormatAttributesValues = function getFormatAttributesValues(observation, formatAttributesIndexes, attributes) {
|
|
28
|
-
return R.mapObjIndexed(function (attributeIndex) {
|
|
29
|
-
var valueIndex = void 0;
|
|
30
|
-
var relationship = R.pipe(R.nth(attributeIndex), R.propOr({}, 'relationship'))(attributes);
|
|
31
|
-
//if (!R.isNil(attributeIndex) && attributeIndex >= R.length(R.propOr([], 'attrValuesIndexes', observation))) {
|
|
32
|
-
if (R.has('none', relationship) || R.has('dataflow', relationship)) {
|
|
33
|
-
valueIndex = 0;
|
|
34
|
-
} else {
|
|
35
|
-
valueIndex = R.pipe(R.propOr([], 'attrValuesIndexes'), R.nth(attributeIndex), parseValidNumber)(observation);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
return R.pipe(R.path([attributeIndex, 'values', valueIndex, 'id']), parseValidNumber)(attributes);
|
|
39
|
-
}, formatAttributesIndexes);
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
var formatValue = exports.formatValue = function formatValue(observation, formatAttributesIndexes, attributes) {
|
|
43
|
-
var value = R.prop('value', observation);
|
|
44
|
-
if (R.is(Boolean, value)) {
|
|
45
|
-
return value;
|
|
46
|
-
}
|
|
47
|
-
if (R.is(String, value)) {
|
|
48
|
-
var monthMatch = value.match(/^\-\-([\d]{2})$/);
|
|
49
|
-
if (R.is(Array, monthMatch)) {
|
|
50
|
-
return R.nth(1, monthMatch);
|
|
51
|
-
}
|
|
52
|
-
var monthDayMatch = value.match(/^\-\-([\d]{2}\-[\d]{2})$/);
|
|
53
|
-
if (R.is(Array, monthDayMatch)) {
|
|
54
|
-
return R.nth(1, monthDayMatch);
|
|
55
|
-
}
|
|
56
|
-
var dayMatch = value.match(/^\-\-\-([\d]{2})$/);
|
|
57
|
-
if (R.is(Array, dayMatch)) {
|
|
58
|
-
return R.nth(1, dayMatch);
|
|
59
|
-
}
|
|
60
|
-
return value;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
var _getFormatAttributesV = getFormatAttributesValues(observation, formatAttributesIndexes, attributes),
|
|
64
|
-
prefscale = _getFormatAttributesV.prefscale,
|
|
65
|
-
decimals = _getFormatAttributesV.decimals;
|
|
66
|
-
|
|
67
|
-
var formatScale = R.when(R.always(isValidNumber(prefscale)), function (value) {
|
|
68
|
-
return (0, _numeral2.default)(value).multiply(Math.pow(10, -1 * Number(prefscale))).value();
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
var formatSeparator = function formatSeparator(value) {
|
|
72
|
-
return (0, _numeral2.default)(value).format('0,0.[0000000]');
|
|
73
|
-
};
|
|
74
|
-
var formatDecimals = R.ifElse(R.always(isValidNumber(decimals)), function (value) {
|
|
75
|
-
return (0, _numeral2.default)(value).format(R.ifElse(R.equals(0), R.always('0,0'), function (d) {
|
|
76
|
-
return '0,0.' + R.join('', R.times(R.always('0'), d));
|
|
77
|
-
})(decimals));
|
|
78
|
-
}, formatSeparator);
|
|
79
|
-
|
|
80
|
-
return R.ifElse(isValidNumber, R.pipe(formatScale, formatDecimals, function (res) {
|
|
81
|
-
return res === 'NaN' ? String(value) : res;
|
|
82
|
-
}), R.always('..'))(observation.value);
|
|
83
|
-
};
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getObservations = 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 getObservations = exports.getObservations = function getObservations(sdmxJson) {
|
|
15
|
-
return R.pipe(R.pathOr({}, ['data', 'dataSets', 0, 'observations']), R.mapObjIndexed(function (observation, observationKey) {
|
|
16
|
-
var value = R.head(observation);
|
|
17
|
-
var attrValuesIndexes = R.tail(observation);
|
|
18
|
-
var dimValuesIndexes = R.split(':', observationKey);
|
|
19
|
-
|
|
20
|
-
return {
|
|
21
|
-
key: observationKey,
|
|
22
|
-
value: value,
|
|
23
|
-
attrValuesIndexes: attrValuesIndexes,
|
|
24
|
-
dimValuesIndexes: dimValuesIndexes
|
|
25
|
-
};
|
|
26
|
-
}))(sdmxJson);
|
|
27
|
-
};
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getReportingYearStart = undefined;
|
|
7
|
-
|
|
8
|
-
var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray');
|
|
9
|
-
|
|
10
|
-
var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
|
|
11
|
-
|
|
12
|
-
var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray');
|
|
13
|
-
|
|
14
|
-
var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
|
|
15
|
-
|
|
16
|
-
var _ramda = require('ramda');
|
|
17
|
-
|
|
18
|
-
var R = _interopRequireWildcard(_ramda);
|
|
19
|
-
|
|
20
|
-
var _constants = require('../constants');
|
|
21
|
-
|
|
22
|
-
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; } }
|
|
23
|
-
|
|
24
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
|
-
|
|
26
|
-
var getReportingYearStart = exports.getReportingYearStart = function getReportingYearStart(sdmxJson) {
|
|
27
|
-
var attributes = R.pipe(R.pathOr({}, ['data', 'structure', 'attributes']), function (_ref) {
|
|
28
|
-
var _ref$dataSet = _ref.dataSet,
|
|
29
|
-
dataSet = _ref$dataSet === undefined ? [] : _ref$dataSet,
|
|
30
|
-
_ref$observation = _ref.observation,
|
|
31
|
-
observation = _ref$observation === undefined ? [] : _ref$observation,
|
|
32
|
-
_ref$series = _ref.series,
|
|
33
|
-
series = _ref$series === undefined ? [] : _ref$series;
|
|
34
|
-
return [].concat((0, _toConsumableArray3.default)(dataSet), (0, _toConsumableArray3.default)(observation), (0, _toConsumableArray3.default)(series));
|
|
35
|
-
})(sdmxJson);
|
|
36
|
-
|
|
37
|
-
var reportYearStartAttr = R.find(function (_ref2) {
|
|
38
|
-
var id = _ref2.id;
|
|
39
|
-
|
|
40
|
-
return id === _constants.REPORTING_YEAR_START_DAY || id === _constants.REPYEARSTART;
|
|
41
|
-
}, attributes) || {};
|
|
42
|
-
var reportYearStart = R.pathOr('--01-01', ['values', 0, 'value'], reportYearStartAttr);
|
|
43
|
-
|
|
44
|
-
var _R$match = R.match(/[\d]{2}/g, reportYearStart),
|
|
45
|
-
_R$match2 = (0, _slicedToArray3.default)(_R$match, 2),
|
|
46
|
-
_R$match2$ = _R$match2[0],
|
|
47
|
-
month = _R$match2$ === undefined ? '01' : _R$match2$,
|
|
48
|
-
_R$match2$2 = _R$match2[1],
|
|
49
|
-
day = _R$match2$2 === undefined ? '01' : _R$match2$2;
|
|
50
|
-
|
|
51
|
-
return { month: month, day: day };
|
|
52
|
-
};
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getHasNoTimePeriodError = undefined;
|
|
7
|
-
|
|
8
|
-
var _ramda = require('ramda');
|
|
9
|
-
|
|
10
|
-
var R = _interopRequireWildcard(_ramda);
|
|
11
|
-
|
|
12
|
-
var _constants = require('../constants');
|
|
13
|
-
|
|
14
|
-
var _dotstatsuiteSdmxjs = require('@sis-cc/dotstatsuite-sdmxjs');
|
|
15
|
-
|
|
16
|
-
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
|
|
17
|
-
|
|
18
|
-
var getHasNoTimePeriodError = exports.getHasNoTimePeriodError = function getHasNoTimePeriodError(_ref) {
|
|
19
|
-
var data = _ref.data,
|
|
20
|
-
type = _ref.type;
|
|
21
|
-
|
|
22
|
-
if (!R.equals(_constants.TIMELINE, type)) {
|
|
23
|
-
return false;
|
|
24
|
-
}
|
|
25
|
-
var dimensions = R.pathOr([], ['structure', 'dimensions', 'observation'], data);
|
|
26
|
-
var timeDimension = (0, _dotstatsuiteSdmxjs.getTimePeriodDimension)({ dimensions: dimensions });
|
|
27
|
-
if (R.isNil(timeDimension)) {
|
|
28
|
-
return true;
|
|
29
|
-
}
|
|
30
|
-
return R.pipe(R.propOr([], 'values'), R.length, R.gte(1))(timeDimension);
|
|
31
|
-
};
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.sampleFocusStateFromNewProps = exports.focusStateFromNewProps = exports.onChangeFocusSelection = exports.focusOptions = undefined;
|
|
7
|
-
|
|
8
|
-
var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
|
|
9
|
-
|
|
10
|
-
var _defineProperty3 = _interopRequireDefault(_defineProperty2);
|
|
11
|
-
|
|
12
|
-
var _sampleFocusTypes;
|
|
13
|
-
|
|
14
|
-
var _ramda = require('ramda');
|
|
15
|
-
|
|
16
|
-
var R = _interopRequireWildcard(_ramda);
|
|
17
|
-
|
|
18
|
-
var _ = require('../');
|
|
19
|
-
|
|
20
|
-
var _constants = require('../constants');
|
|
21
|
-
|
|
22
|
-
var _utils = require('./utils');
|
|
23
|
-
|
|
24
|
-
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; } }
|
|
25
|
-
|
|
26
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
27
|
-
|
|
28
|
-
var sampleFocusTypes = (_sampleFocusTypes = {}, (0, _defineProperty3.default)(_sampleFocusTypes, _constants.BAR, _constants.BAR), (0, _defineProperty3.default)(_sampleFocusTypes, _constants.ROW, _constants.ROW), (0, _defineProperty3.default)(_sampleFocusTypes, _constants.TIMELINE, _constants.TIMELINE), _sampleFocusTypes);
|
|
29
|
-
|
|
30
|
-
var focusComparator = function focusComparator(op1, op2) {
|
|
31
|
-
return op1.value === op2.value;
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
var focusOptions = exports.focusOptions = function focusOptions(props, state, otherFocus, singularity) {
|
|
35
|
-
if (!(0, _utils.hasFocus)(props.type)) {
|
|
36
|
-
return [];
|
|
37
|
-
}
|
|
38
|
-
var options = (0, _.focus)(props.data, props.type, singularity, props.display);
|
|
39
|
-
return R.differenceWith(focusComparator, options, R.prop(otherFocus, state));
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
var onChangeFocusSelection = exports.onChangeFocusSelection = function onChangeFocusSelection(_value) {
|
|
43
|
-
var value = R.isNil(_value) ? [] : _value;
|
|
44
|
-
return R.is(Array, value) ? value : [value];
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
var toKey = function toKey() {
|
|
48
|
-
return R.prop('value');
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
var filterFocus = function filterFocus(focus, keyedOptions, type) {
|
|
52
|
-
return R.reduce(function (acc, entry) {
|
|
53
|
-
var entryKey = toKey(type)(entry);
|
|
54
|
-
if (R.has(entryKey, keyedOptions)) {
|
|
55
|
-
return R.append(R.prop(entryKey, keyedOptions), acc);
|
|
56
|
-
}
|
|
57
|
-
return acc;
|
|
58
|
-
}, [], focus);
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
var focusStateFromNewProps = exports.focusStateFromNewProps = function focusStateFromNewProps(_ref, singularity, state) {
|
|
62
|
-
var data = _ref.data,
|
|
63
|
-
display = _ref.display,
|
|
64
|
-
type = _ref.type;
|
|
65
|
-
|
|
66
|
-
var _extractSdmxArtefacts = (0, _.extractSdmxArtefacts)(data),
|
|
67
|
-
id = _extractSdmxArtefacts.id;
|
|
68
|
-
|
|
69
|
-
var highlightState = R.propOr([], 'highlight', state);
|
|
70
|
-
var baselineState = R.propOr([], 'baseline', state);
|
|
71
|
-
var options = (0, _.focus)(data, type, singularity, display);
|
|
72
|
-
var keyedOptions = R.indexBy(toKey(type), options);
|
|
73
|
-
return {
|
|
74
|
-
baseline: filterFocus(baselineState, keyedOptions, R.prop('type', state)),
|
|
75
|
-
highlight: filterFocus(highlightState, keyedOptions, R.prop('type', state))
|
|
76
|
-
};
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
/*
|
|
80
|
-
This props/state parser which will be exposed in highlight/baseline properties,
|
|
81
|
-
only deals for Bar and Row Chart (no chart dimension singularity involved).
|
|
82
|
-
For other chart types, their own chart dimension singularity parser will handle focus management.
|
|
83
|
-
*/
|
|
84
|
-
|
|
85
|
-
var sampleFocusStateFromNewProps = exports.sampleFocusStateFromNewProps = function sampleFocusStateFromNewProps(props, state) {
|
|
86
|
-
if (!R.has(props.type, sampleFocusTypes) || R.isNil(props.data)) {
|
|
87
|
-
return {}; //no changes
|
|
88
|
-
}
|
|
89
|
-
return focusStateFromNewProps(props, null, state);
|
|
90
|
-
};
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getAvailableChartTypes = undefined;
|
|
7
|
-
|
|
8
|
-
var _ramda = require('ramda');
|
|
9
|
-
|
|
10
|
-
var R = _interopRequireWildcard(_ramda);
|
|
11
|
-
|
|
12
|
-
var _constants = require('../constants');
|
|
13
|
-
|
|
14
|
-
var _dotstatsuiteSdmxjs = require('@sis-cc/dotstatsuite-sdmxjs');
|
|
15
|
-
|
|
16
|
-
var _getObservationsType = require('./getObservationsType');
|
|
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 getAvailableChartTypes = exports.getAvailableChartTypes = function getAvailableChartTypes(data) {
|
|
21
|
-
var observationsType = (0, _getObservationsType.getObservationsType)(data);
|
|
22
|
-
if (!R.includes(observationsType, [_constants.OBS_TYPE_NUMBER, _constants.OBS_TYPE_NUMERICAL_STRING])) {
|
|
23
|
-
return {};
|
|
24
|
-
}
|
|
25
|
-
var dimensions = R.pathOr([], ['structure', 'dimensions', 'observation'], data);
|
|
26
|
-
var timeDimension = (0, _dotstatsuiteSdmxjs.getTimePeriodDimension)({ dimensions: dimensions });
|
|
27
|
-
var refAreaDimension = (0, _dotstatsuiteSdmxjs.getRefAreaDimension)({ dimensions: dimensions });
|
|
28
|
-
var hasNoTime = R.anyPass([R.isNil, R.pipe(R.propOr([], 'values'), R.length, R.gte(1))])(timeDimension);
|
|
29
|
-
return R.pipe(R.when(R.always(hasNoTime), R.omit([_constants.TIMELINE])), R.when(R.always(R.isNil(refAreaDimension)), R.omit([_constants.CHORO])))(_constants.TYPES);
|
|
30
|
-
};
|