@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.
Files changed (165) hide show
  1. package/.gitlab-ci.yml +3 -2
  2. package/LICENSE +1 -1
  3. package/README.md +1 -17
  4. package/package.json +20 -14
  5. package/src/bridge-d3-react/src/react-chart-factory.js +1 -2
  6. package/src/rules/src/factories/sample-series.js +1 -1
  7. package/src/rules/src/index.js +14 -13
  8. package/src/rules/src/observation-formater.js +0 -1
  9. package/src/rules/src/properties/focus.js +3 -3
  10. package/src/rules/src/sdmx-data/index.js +2 -0
  11. package/src/rules2/src/hierarchiseDimensionWithNativeHierarchy2.js +5 -1
  12. package/src/rules2/src/table/getLayoutData2.js +4 -1
  13. package/src/viewer/src/index.js +4 -5
  14. package/src/viewer/src/legends/AxisLegend.js +0 -7
  15. package/src/viewer/src/legends/FocusLegend.js +2 -10
  16. package/src/viewer/src/legends/Legend.js +0 -6
  17. package/src/viewer/src/legends/SeriesLegend.js +0 -7
  18. package/test/hierarchiseDimensionWithNativeHierarchy2.test.js +59 -32
  19. package/vite.config.mjs +51 -0
  20. package/lib/app.js +0 -22
  21. package/lib/bridge-d3-react/src/app.js +0 -98
  22. package/lib/bridge-d3-react/src/index.js +0 -33
  23. package/lib/bridge-d3-react/src/mock-choro.js +0 -41
  24. package/lib/bridge-d3-react/src/react-chart-factory.js +0 -103
  25. package/lib/index.js +0 -41
  26. package/lib/rules/src/chart/getAxisOptions.js +0 -206
  27. package/lib/rules/src/chart/getBaseOptions.js +0 -51
  28. package/lib/rules/src/chart/getChartOptions.js +0 -106
  29. package/lib/rules/src/chart/getGridOptions.js +0 -21
  30. package/lib/rules/src/chart/getTooltipOptions.js +0 -84
  31. package/lib/rules/src/constants.js +0 -68
  32. package/lib/rules/src/date.js +0 -180
  33. package/lib/rules/src/dimension-utils.js +0 -67
  34. package/lib/rules/src/factories/choro-series.js +0 -99
  35. package/lib/rules/src/factories/sample-focus.js +0 -64
  36. package/lib/rules/src/factories/sample-series.js +0 -90
  37. package/lib/rules/src/factories/scatter-dimension.js +0 -72
  38. package/lib/rules/src/factories/scatter-focus.js +0 -77
  39. package/lib/rules/src/factories/scatter-series.js +0 -145
  40. package/lib/rules/src/factories/stacked-dimension.js +0 -42
  41. package/lib/rules/src/factories/stacked-series.js +0 -166
  42. package/lib/rules/src/factories/symbol-dimension.js +0 -69
  43. package/lib/rules/src/factories/symbol-series.js +0 -119
  44. package/lib/rules/src/factories/timeline-focus.js +0 -38
  45. package/lib/rules/src/factories/timeline-series.js +0 -121
  46. package/lib/rules/src/get-values-enhanced.js +0 -141
  47. package/lib/rules/src/header/getDefaultSubtitle.js +0 -50
  48. package/lib/rules/src/header/getHeaderUnits.js +0 -26
  49. package/lib/rules/src/header/getSubtitleFlags.js +0 -53
  50. package/lib/rules/src/header/getTitleFlags.js +0 -24
  51. package/lib/rules/src/header/index.js +0 -41
  52. package/lib/rules/src/index.js +0 -714
  53. package/lib/rules/src/layout.js +0 -98
  54. package/lib/rules/src/observation-formater.js +0 -112
  55. package/lib/rules/src/preparators/enhanceObservations.js +0 -142
  56. package/lib/rules/src/preparators/formatValue.js +0 -83
  57. package/lib/rules/src/preparators/getObservations.js +0 -27
  58. package/lib/rules/src/preparators/getReportingYearStart.js +0 -52
  59. package/lib/rules/src/properties/errors.js +0 -31
  60. package/lib/rules/src/properties/focus.js +0 -90
  61. package/lib/rules/src/properties/getAvailableChartTypes.js +0 -30
  62. package/lib/rules/src/properties/getHeaderProps.js +0 -83
  63. package/lib/rules/src/properties/getInformationsStateFromNewProps.js +0 -61
  64. package/lib/rules/src/properties/getObservationsType.js +0 -31
  65. package/lib/rules/src/properties/getStringifiedSubtitle.js +0 -18
  66. package/lib/rules/src/properties/index.js +0 -401
  67. package/lib/rules/src/properties/information.js +0 -79
  68. package/lib/rules/src/properties/linear.js +0 -158
  69. package/lib/rules/src/properties/scatter.js +0 -174
  70. package/lib/rules/src/properties/stacked.js +0 -133
  71. package/lib/rules/src/properties/symbol.js +0 -96
  72. package/lib/rules/src/properties/utils.js +0 -126
  73. package/lib/rules/src/sdmx-data/index.js +0 -55
  74. package/lib/rules/src/table/factories/getCellValue.js +0 -57
  75. package/lib/rules/src/table/index.js +0 -14
  76. package/lib/rules/src/v8-transformer.js +0 -184
  77. package/lib/rules/test/extractSdmxArtefacts.js +0 -37
  78. package/lib/rules/test/get-values-enhanced.test.js +0 -128
  79. package/lib/rules/test/oecd-HEALTH_PROT-parsed.js +0 -303
  80. package/lib/rules/test/scatter-property.js +0 -403
  81. package/lib/rules/test/stacked-property.js +0 -244
  82. package/lib/rules/test/symbol-property.js +0 -234
  83. package/lib/rules/test/v8-transformer.test.js +0 -82
  84. package/lib/rules2/src/applyHierarchicalCodesToDim.js +0 -175
  85. package/lib/rules2/src/combinedValuesDisplay.js +0 -71
  86. package/lib/rules2/src/constants.js +0 -11
  87. package/lib/rules2/src/duplicateObservations.js +0 -39
  88. package/lib/rules2/src/enhanceObservations.js +0 -103
  89. package/lib/rules2/src/getAdvAttrSeriesAtCoordinates.js +0 -39
  90. package/lib/rules2/src/getAttributesSeries.js +0 -40
  91. package/lib/rules2/src/getCombinationDefinitions.js +0 -72
  92. package/lib/rules2/src/getDataflowAttributes.js +0 -34
  93. package/lib/rules2/src/getDataflowTooltipAttributesIds.js +0 -38
  94. package/lib/rules2/src/getDimensionValuesIndexes.js +0 -19
  95. package/lib/rules2/src/getHCodelistsRefsInData.js +0 -49
  96. package/lib/rules2/src/getHeaderCombinations.js +0 -51
  97. package/lib/rules2/src/getHeaderCoordinates.js +0 -18
  98. package/lib/rules2/src/getHeaderSubtitle.js +0 -41
  99. package/lib/rules2/src/getHeaderTitle.js +0 -29
  100. package/lib/rules2/src/getMSDInformations.js +0 -43
  101. package/lib/rules2/src/getManyValuesDimensions.js +0 -39
  102. package/lib/rules2/src/getMetadataCoordinates.js +0 -40
  103. package/lib/rules2/src/getMetadataStructureFromData.js +0 -23
  104. package/lib/rules2/src/getNotDisplayedIds.js +0 -58
  105. package/lib/rules2/src/getOneValueDimensions.js +0 -48
  106. package/lib/rules2/src/getSeriesCombinations.js +0 -33
  107. package/lib/rules2/src/hasCellMetadata.js +0 -22
  108. package/lib/rules2/src/hierarchiseDimensionWithAdvancedHierarchy2.js +0 -65
  109. package/lib/rules2/src/hierarchiseDimensionWithNativeHierarchy2.js +0 -36
  110. package/lib/rules2/src/index.js +0 -443
  111. package/lib/rules2/src/parseAttributes.js +0 -51
  112. package/lib/rules2/src/parseCombinations.js +0 -96
  113. package/lib/rules2/src/parseHierarchicalCodelist.js +0 -57
  114. package/lib/rules2/src/parseMetadataSeries.js +0 -119
  115. package/lib/rules2/src/prepareData.js +0 -113
  116. package/lib/rules2/src/refineAttributes.js +0 -32
  117. package/lib/rules2/src/refineDimensions.js +0 -38
  118. package/lib/rules2/src/refineMetadataCoordinates.js +0 -35
  119. package/lib/rules2/src/refineTimePeriod.js +0 -154
  120. package/lib/rules2/src/sdmx3.0DataFormatPatch.js +0 -20
  121. package/lib/rules2/src/table/declineObservationsOverAttributes.js +0 -43
  122. package/lib/rules2/src/table/getCells.js +0 -90
  123. package/lib/rules2/src/table/getCellsAttributesIds.js +0 -63
  124. package/lib/rules2/src/table/getCellsMetadataCoordinates.js +0 -30
  125. package/lib/rules2/src/table/getCombinationDimensionsData.js +0 -48
  126. package/lib/rules2/src/table/getCuratedCells.js +0 -28
  127. package/lib/rules2/src/table/getFlagsAndNotes.js +0 -30
  128. package/lib/rules2/src/table/getIndexedCombinationsByDisplay.js +0 -31
  129. package/lib/rules2/src/table/getLayout.js +0 -105
  130. package/lib/rules2/src/table/getLayoutData2.js +0 -269
  131. package/lib/rules2/src/table/getSortedLayoutIndexes.js +0 -136
  132. package/lib/rules2/src/table/getTableLabelAccessor.js +0 -20
  133. package/lib/rules2/src/table/getTableLayoutIds.js +0 -365
  134. package/lib/rules2/src/table/getTableProps.js +0 -96
  135. package/lib/rules2/src/table/parseSeriesIndexesHierarchies.js +0 -124
  136. package/lib/rules2/src/table/parseValueHierarchy.js +0 -63
  137. package/lib/rules2/src/table/refineLayoutSize2.js +0 -293
  138. package/lib/rules2/src/utils.js +0 -48
  139. package/lib/viewer/mocks/bar.js +0 -21
  140. package/lib/viewer/mocks/gpp-symbol.js +0 -55
  141. package/lib/viewer/mocks/gpp-time.js +0 -1023
  142. package/lib/viewer/mocks/row.js +0 -26
  143. package/lib/viewer/mocks/scatter.js +0 -84
  144. package/lib/viewer/mocks/stack.js +0 -93
  145. package/lib/viewer/src/app/leg.js +0 -101
  146. package/lib/viewer/src/app/nodata-res.js +0 -40
  147. package/lib/viewer/src/app/nodata-sized.js +0 -41
  148. package/lib/viewer/src/app/one-table-cell.js +0 -75
  149. package/lib/viewer/src/app/table.js +0 -300
  150. package/lib/viewer/src/app/use-case-1.js +0 -60
  151. package/lib/viewer/src/app/use-case-2.js +0 -82
  152. package/lib/viewer/src/app/use-case-3.js +0 -52
  153. package/lib/viewer/src/app.js +0 -162
  154. package/lib/viewer/src/chart.js +0 -82
  155. package/lib/viewer/src/chartUtils/options.js +0 -30
  156. package/lib/viewer/src/chartUtils/series.js +0 -63
  157. package/lib/viewer/src/footer.js +0 -54
  158. package/lib/viewer/src/header.js +0 -29
  159. package/lib/viewer/src/index.js +0 -243
  160. package/lib/viewer/src/legends/AxisLegend.js +0 -84
  161. package/lib/viewer/src/legends/ChartLegends.js +0 -100
  162. package/lib/viewer/src/legends/FocusLegend.js +0 -89
  163. package/lib/viewer/src/legends/Legend.js +0 -88
  164. package/lib/viewer/src/legends/SeriesLegend.js +0 -108
  165. package/lib/viewer/src/utils.js +0 -36
@@ -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
- };