@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,180 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getTimePeriodLabel = exports.getReportedTimePeriodNote = exports.getReportedTimePeriod = exports.getReportedTimePeriodLabel = exports.getLocale = exports.dateWithoutTZ = undefined;
7
-
8
- var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray');
9
-
10
- var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
11
-
12
- var _ramda = require('ramda');
13
-
14
- var R = _interopRequireWildcard(_ramda);
15
-
16
- var _dateFns = require('date-fns');
17
-
18
- var _dateFns2 = _interopRequireDefault(_dateFns);
19
-
20
- var _fr = require('date-fns/locale/fr');
21
-
22
- var _fr2 = _interopRequireDefault(_fr);
23
-
24
- var _de = require('date-fns/locale/de');
25
-
26
- var _de2 = _interopRequireDefault(_de);
27
-
28
- var _en = require('date-fns/locale/en');
29
-
30
- var _en2 = _interopRequireDefault(_en);
31
-
32
- var _es = require('date-fns/locale/es');
33
-
34
- var _es2 = _interopRequireDefault(_es);
35
-
36
- var _ar = require('date-fns/locale/ar');
37
-
38
- var _ar2 = _interopRequireDefault(_ar);
39
-
40
- var _it = require('date-fns/locale/it');
41
-
42
- var _it2 = _interopRequireDefault(_it);
43
-
44
- var _nl = require('date-fns/locale/nl');
45
-
46
- var _nl2 = _interopRequireDefault(_nl);
47
-
48
- var _th = require('date-fns/locale/th');
49
-
50
- var _th2 = _interopRequireDefault(_th);
51
-
52
- 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; } }
53
-
54
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
55
-
56
- var isValidDate = function isValidDate(period) {
57
- return R.and(_dateFns2.default.isDate, function (date) {
58
- return R.not(R.equals(date.getTime(date), NaN));
59
- })(new Date(period));
60
- };
61
-
62
- var dateWithoutTZ = exports.dateWithoutTZ = function dateWithoutTZ(date) {
63
- return _dateFns2.default.addMinutes(date, date.getTimezoneOffset());
64
- };
65
-
66
- var getLocale = exports.getLocale = R.cond([[R.equals('fr'), R.always(_fr2.default)], [R.equals('de'), R.always(_de2.default)], [R.equals('es'), R.always(_es2.default)], [R.equals('ar'), R.always(_ar2.default)], [R.equals('it'), R.always(_it2.default)], [R.equals('nl'), R.always(_nl2.default)], [R.equals('th'), R.always(_th2.default)], [R.T, R.always(_en2.default)]]);
67
-
68
- var formaterPeriod = function formaterPeriod(locale, format) {
69
- return function (date) {
70
- return _dateFns2.default.format(date, format, { locale: getLocale(locale) });
71
- };
72
- };
73
-
74
- var getReportedTimePeriodLabel = exports.getReportedTimePeriodLabel = function getReportedTimePeriodLabel(freq, _format, locale) {
75
- return function (reportYearStart, _ref) {
76
- var id = _ref.id,
77
- start = _ref.start,
78
- reportedStart = _ref.reportedStart;
79
-
80
- var year = _dateFns2.default.getYear(start);
81
- var reportStartDate = new Date(year, reportYearStart.month, reportYearStart.day);
82
- var isReportFirstDate = _dateFns2.default.isEqual(reportStartDate, new Date(year, 1, 1));
83
- if (isReportFirstDate || freq === 'D') {
84
- return R.isNil(_format) || freq !== 'M' ? id : _dateFns2.default.format(start, _format, { locale: getLocale(locale) });
85
- }
86
- var nextYear = year + 1;
87
- if (freq === 'A') {
88
- return year + '/' + nextYear;
89
- }
90
- if (freq === 'S') {
91
- var _R$match = R.match(/S\d/, id),
92
- _R$match2 = (0, _slicedToArray3.default)(_R$match, 1),
93
- semester = _R$match2[0];
94
-
95
- return year + '/' + nextYear + '-' + semester;
96
- }
97
- if (freq === 'Q') {
98
- var _R$match3 = R.match(/Q\d/, id),
99
- _R$match4 = (0, _slicedToArray3.default)(_R$match3, 1),
100
- quarter = _R$match4[0];
101
-
102
- return year + '/' + nextYear + '-' + quarter;
103
- }
104
- if (freq === 'M') {
105
- var isFirstDayOfMonth = _dateFns2.default.isFirstDayOfMonth(reportedStart);
106
- if (isFirstDayOfMonth) {
107
- return R.isNil(_format) ? id : _dateFns2.default.format(reportedStart, _format, { locale: getLocale(locale) });
108
- }
109
-
110
- var _R$match5 = R.match(/M[\d]{2}/, id),
111
- _R$match6 = (0, _slicedToArray3.default)(_R$match5, 1),
112
- month = _R$match6[0];
113
-
114
- return year + '/' + nextYear + '-' + month;
115
- }
116
-
117
- var _R$match7 = R.match(/W[\d]{2}/, id),
118
- _R$match8 = (0, _slicedToArray3.default)(_R$match7, 1),
119
- week = _R$match8[0];
120
-
121
- return year + '/' + nextYear + '-' + week;
122
- };
123
- };
124
-
125
- var getReportedTimePeriod = exports.getReportedTimePeriod = function getReportedTimePeriod(reportYearStart, value, freq) {
126
- var start = new Date(R.prop('start', value));
127
- var end = dateWithoutTZ(new Date(R.prop('end', value)));
128
- if (reportYearStart.month === '01' && reportYearStart.day === '01') {
129
- return { start: start, end: end };
130
- }
131
- start = _dateFns2.default.addMonths(start, reportYearStart.month - 1);
132
- start = _dateFns2.default.addDays(start, reportYearStart.day - 1);
133
- if (freq === 'A') {
134
- end = _dateFns2.default.addYears(start, 1);
135
- }
136
- if (freq === 'S') {
137
- end = _dateFns2.default.addMonths(start, 6);
138
- }
139
- if (freq === 'Q') {
140
- end = _dateFns2.default.addMonths(start, 3);
141
- }
142
- if (freq === 'M') {
143
- end = _dateFns2.default.addMonths(start, 6);
144
- }
145
- if (freq === 'W' || freq === 'B') {
146
- end = _dateFns2.default.addDays(start, 7);
147
- }
148
- if (freq === 'D') {
149
- end = _dateFns2.default.addDays(start, 1);
150
- }
151
- if (freq === 'H') {
152
- end = _dateFns2.default.addHours(start, 1);
153
- }
154
- if (freq === 'N') {
155
- end = _dateFns2.default.addMinutes(start, 1);
156
- }
157
- end = _dateFns2.default.subSeconds(end, 1);
158
- return { start: start, end: end };
159
- };
160
-
161
- var getReportedTimePeriodNote = exports.getReportedTimePeriodNote = function getReportedTimePeriodNote(reportYearStart, start, end, freq) {
162
- if (reportYearStart.month === '01' && reportYearStart.day === '01') {
163
- return null;
164
- }
165
- if (R.includes(freq, ['D', 'H', 'N'])) {
166
- return null;
167
- }
168
- var isFirstDayOfMonth = _dateFns2.default.isFirstDayOfMonth(start);
169
- if (freq === 'M' && isFirstDayOfMonth) {
170
- return null;
171
- }
172
- var formatedStart = _dateFns2.default.format(start, 'YYYY-MM-DD');
173
- var formatedEnd = _dateFns2.default.format(end, 'YYYY-MM-DD');
174
- return { value: { name: formatedStart + ' - ' + formatedEnd } };
175
- };
176
-
177
- var getTimePeriodLabel = exports.getTimePeriodLabel = function getTimePeriodLabel(locale) {
178
- var format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'YYYY MMM';
179
- return R.pipe(R.when(R.isNil, R.always('')), R.when(isValidDate, formaterPeriod(locale, format)));
180
- };
@@ -1,67 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.categoryDisplay = exports.dimensionValueDisplayAt = exports.dimensionValueDisplay = undefined;
7
-
8
- var _reduce2 = require('lodash/reduce');
9
-
10
- var _reduce3 = _interopRequireDefault(_reduce2);
11
-
12
- var _has2 = require('lodash/has');
13
-
14
- var _has3 = _interopRequireDefault(_has2);
15
-
16
- var _get2 = require('lodash/get');
17
-
18
- var _get3 = _interopRequireDefault(_get2);
19
-
20
- var _isNil2 = require('lodash/isNil');
21
-
22
- var _isNil3 = _interopRequireDefault(_isNil2);
23
-
24
- var _isEmpty2 = require('lodash/isEmpty');
25
-
26
- var _isEmpty3 = _interopRequireDefault(_isEmpty2);
27
-
28
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
-
30
- var dimensionValueDisplay = exports.dimensionValueDisplay = function dimensionValueDisplay(display) {
31
- var accessors = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
32
- return function (dimensionValue) {
33
- var id = (0, _get3.default)(dimensionValue, accessors.id || 'id', '');
34
- var name = (0, _get3.default)(dimensionValue, accessors.name || 'name', '');
35
- // a non-coded component (dim | attr) has no name, names nor label
36
- // the only valid thing to display is the id
37
- if ((0, _get3.default)(dimensionValue, 'isNonCoded', false)) return id;
38
- //auto-generated flags have no id nor name
39
- if ((0, _isEmpty3.default)(id) && (0, _isEmpty3.default)(name)) return '';
40
- switch (display) {
41
- case 'label':
42
- return (0, _isEmpty3.default)(name) ? '[' + id + ']' : name;
43
- case 'code':
44
- return id;
45
- case 'both':
46
- if ((0, _isNil3.default)(id) || (0, _isEmpty3.default)(id)) return name;
47
- return '(' + id + ') ' + name;
48
- default:
49
- return null;
50
- }
51
- };
52
- };
53
-
54
- var dimensionValueDisplayAt = exports.dimensionValueDisplayAt = function dimensionValueDisplayAt(dimension, index, display) {
55
- var dimensionValue = (0, _get3.default)(dimension, 'values[' + Number(index) + ']', {});
56
- return dimensionValueDisplay(display)(dimensionValue);
57
- };
58
-
59
- var categoryDisplay = exports.categoryDisplay = function categoryDisplay(splitObservationKey, dimensions, dimensionsWithValuesIndexedById, rejectedId, display) {
60
- return (0, _reduce3.default)(splitObservationKey, function (memo, dimensionValueIndex, dimensionIndex) {
61
- var dimension = (0, _get3.default)(dimensions, '[' + dimensionIndex + ']', {});
62
- if ((0, _has3.default)(dimensionsWithValuesIndexedById, dimension.id) && dimension.id !== rejectedId) {
63
- memo.push(dimensionValueDisplayAt(dimension, dimensionValueIndex, display));
64
- }
65
- return memo;
66
- }, []).join(' - ');
67
- };
@@ -1,99 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _extends2 = require('babel-runtime/helpers/extends');
8
-
9
- var _extends3 = _interopRequireDefault(_extends2);
10
-
11
- var _transform2 = require('lodash/transform');
12
-
13
- var _transform3 = _interopRequireDefault(_transform2);
14
-
15
- var _split2 = require('lodash/split');
16
-
17
- var _split3 = _interopRequireDefault(_split2);
18
-
19
- var _map2 = require('lodash/map');
20
-
21
- var _map3 = _interopRequireDefault(_map2);
22
-
23
- var _isUndefined2 = require('lodash/isUndefined');
24
-
25
- var _isUndefined3 = _interopRequireDefault(_isUndefined2);
26
-
27
- var _head2 = require('lodash/head');
28
-
29
- var _head3 = _interopRequireDefault(_head2);
30
-
31
- var _has2 = require('lodash/has');
32
-
33
- var _has3 = _interopRequireDefault(_has2);
34
-
35
- var _get2 = require('lodash/get');
36
-
37
- var _get3 = _interopRequireDefault(_get2);
38
-
39
- var _dotstatsuiteSdmxjs = require('@sis-cc/dotstatsuite-sdmxjs');
40
-
41
- var _dimensionUtils = require('../dimension-utils');
42
-
43
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
44
-
45
- var parseByAreas = function parseByAreas(observations, refAreaDimension) {
46
- if ((0, _isUndefined3.default)(refAreaDimension)) {
47
- return null;
48
- }
49
- var refAreaDimIndex = (0, _get3.default)(refAreaDimension, 'index');
50
- var refAreaValues = refAreaDimension.values;
51
-
52
- return (0, _transform3.default)(observations, function (acc, value, key) {
53
- var splitedKey = (0, _split3.default)(key, ':');
54
- var areaValueIndex = (0, _get3.default)(splitedKey, '[' + refAreaDimIndex + ']', null);
55
- var areaValue = (0, _get3.default)(refAreaValues, '[' + areaValueIndex + ']', null);
56
- var areaId = (0, _get3.default)(areaValue, 'id', null);
57
- if (!(0, _has3.default)(acc, areaId)) {
58
- acc[areaId] = [];
59
- }
60
- acc[areaId].push({ splitedKey: splitedKey, value: value, areaValueIndex: areaValueIndex });
61
- }, {});
62
- };
63
-
64
- exports.default = function (_ref, dimensionsWithValuesIndexedById, topoMap, display) {
65
- var observations = _ref.observations,
66
- dimensions = _ref.dimensions;
67
-
68
- var refAreaDimension = (0, _dotstatsuiteSdmxjs.getRefAreaDimension)({ dimensions: dimensions });
69
- var observationsByAreas = parseByAreas(observations, refAreaDimension);
70
- var topology = (0, _get3.default)(topoMap, 'topology', {});
71
- var areaSelection = (0, _get3.default)(topoMap, 'areaSelection', null);
72
- var topoAreas = (0, _get3.default)(topology, 'objects.' + areaSelection, null);
73
- if (!observationsByAreas || !topoAreas) {
74
- return null;
75
- }
76
- var topoAreasWithData = (0, _map3.default)(topoAreas.geometries, function (areaGeometry) {
77
- var areaObservation = (0, _head3.default)((0, _get3.default)(observationsByAreas, (0, _get3.default)(areaGeometry, 'properties.id', null), []));
78
- var areaValueIndex = (0, _get3.default)(areaObservation, 'areaValueIndex', null);
79
- var areaValue = (0, _get3.default)(refAreaDimension, 'values[' + areaValueIndex + ']', null);
80
- return (0, _extends3.default)({}, areaGeometry, {
81
- properties: (0, _extends3.default)({}, (0, _get3.default)(areaGeometry, 'properties', {}), {
82
- label: (0, _dimensionUtils.dimensionValueDisplay)(display)(areaValue),
83
- value: (0, _head3.default)((0, _get3.default)(areaObservation, 'value', [])),
84
- category: (0, _dimensionUtils.categoryDisplay)((0, _get3.default)(areaObservation, 'splitedKey', null), dimensions, dimensionsWithValuesIndexedById, refAreaDimension.id, display)
85
- })
86
- });
87
- });
88
- return {
89
- objects: {
90
- areas: {
91
- type: topoAreas.type,
92
- geometries: topoAreasWithData
93
- }
94
- },
95
- arcs: topology.arcs,
96
- bbox: topology.bbox,
97
- transform: topology.transform
98
- };
99
- };
@@ -1,64 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _extends2 = require('babel-runtime/helpers/extends');
8
-
9
- var _extends3 = _interopRequireDefault(_extends2);
10
-
11
- var _head2 = require('lodash/head');
12
-
13
- var _head3 = _interopRequireDefault(_head2);
14
-
15
- var _keys2 = require('lodash/keys');
16
-
17
- var _keys3 = _interopRequireDefault(_keys2);
18
-
19
- var _isArray2 = require('lodash/isArray');
20
-
21
- var _isArray3 = _interopRequireDefault(_isArray2);
22
-
23
- var _omit2 = require('lodash/omit');
24
-
25
- var _omit3 = _interopRequireDefault(_omit2);
26
-
27
- var _get2 = require('lodash/get');
28
-
29
- var _get3 = _interopRequireDefault(_get2);
30
-
31
- var _each2 = require('lodash/each');
32
-
33
- var _each3 = _interopRequireDefault(_each2);
34
-
35
- var _map2 = require('lodash/map');
36
-
37
- var _map3 = _interopRequireDefault(_map2);
38
-
39
- exports.default = focus;
40
-
41
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
42
-
43
- function focus(series, focusSelections) {
44
- var serie = (0, _head3.default)(series);
45
- var datapoints = (0, _get3.default)(serie, 'datapoints', []);
46
-
47
- var _datapoints = (0, _map3.default)(datapoints, function (datapoint) {
48
- var _datapoint = (0, _omit3.default)(datapoint, (0, _map3.default)((0, _keys3.default)(focusSelections), function (focusKey) {
49
- return focusKey + 'Index';
50
- }));
51
-
52
- (0, _each3.default)(focusSelections, function (focusSelection, focusKey) {
53
- var _focusKey = focusKey + 'Index';
54
-
55
- (0, _each3.default)((0, _isArray3.default)(focusSelection) ? focusSelection : [focusSelection], function (focus, index) {
56
- if ((0, _get3.default)(focus, 'value') === _datapoint.key) _datapoint[_focusKey] = index;
57
- });
58
- });
59
-
60
- return _datapoint;
61
- });
62
-
63
- return [(0, _extends3.default)({}, serie, { datapoints: _datapoints })];
64
- }
@@ -1,90 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.series = exports.getDatapoints = undefined;
7
-
8
- var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
9
-
10
- var _defineProperty3 = _interopRequireDefault(_defineProperty2);
11
-
12
- var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray');
13
-
14
- var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
15
-
16
- var _split2 = require('lodash/split');
17
-
18
- var _split3 = _interopRequireDefault(_split2);
19
-
20
- var _isNil2 = require('lodash/isNil');
21
-
22
- var _isNil3 = _interopRequireDefault(_isNil2);
23
-
24
- var _isEmpty2 = require('lodash/isEmpty');
25
-
26
- var _isEmpty3 = _interopRequireDefault(_isEmpty2);
27
-
28
- var _head2 = require('lodash/head');
29
-
30
- var _head3 = _interopRequireDefault(_head2);
31
-
32
- var _sortBy2 = require('lodash/sortBy');
33
-
34
- var _sortBy3 = _interopRequireDefault(_sortBy2);
35
-
36
- var _map2 = require('lodash/map');
37
-
38
- var _map3 = _interopRequireDefault(_map2);
39
-
40
- var _dimensionUtils = require('../dimension-utils');
41
-
42
- var _observationFormater = require('../observation-formater');
43
-
44
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
45
-
46
- var getDatapoints = exports.getDatapoints = function getDatapoints(keys, observations, dimensions, dimensionsWithValuesIndexedById, sortDirection, display, formaterAttrs) {
47
- var _keys = (0, _slicedToArray3.default)(keys, 2),
48
- categoryKey = _keys[0],
49
- valueKey = _keys[1];
50
-
51
- var sortFunc = function sortFunc(dp) {
52
- return dp[valueKey] * sortDirection;
53
- };
54
-
55
- return (0, _sortBy3.default)((0, _map3.default)(observations, function (observationValue, observationKey) {
56
- var _ref;
57
-
58
- var value = (0, _head3.default)(observationValue);
59
- var category = (0, _dimensionUtils.categoryDisplay)((0, _split3.default)(observationKey, ':'), dimensions, dimensionsWithValuesIndexedById, null, display);
60
- var categoryIds = (0, _dimensionUtils.categoryDisplay)((0, _split3.default)(observationKey, ':'), dimensions, dimensionsWithValuesIndexedById, null, 'code');
61
- var formatedValue = (0, _observationFormater.getFormatedObservation)(observationValue, formaterAttrs);
62
-
63
- var key = categoryIds;
64
- if ((0, _isNil3.default)(key) || (0, _isEmpty3.default)(key)) {
65
- key = 'uniq-dp';
66
- }
67
-
68
- return _ref = { value: value, category: category }, (0, _defineProperty3.default)(_ref, valueKey, value), (0, _defineProperty3.default)(_ref, categoryKey, category), (0, _defineProperty3.default)(_ref, 'key', key), (0, _defineProperty3.default)(_ref, 'formatedValue', formatedValue), _ref;
69
- }), sortFunc);
70
- };
71
-
72
- var series = exports.series = function series(keys, observations, dimensions, dimensionsWithValuesIndexedById, sortDirection, display, formaterAttrs) {
73
- return [{
74
- datapoints: getDatapoints(keys, observations, dimensions, dimensionsWithValuesIndexedById, sortDirection, display, formaterAttrs)
75
- }];
76
- };
77
-
78
- exports.default = function (chartType, _ref2, dimensionsWithValuesIndexedById, display, formaterAttrs) {
79
- var observations = _ref2.observations,
80
- dimensions = _ref2.dimensions;
81
-
82
- switch (chartType) {
83
- case 'BarChart':
84
- return series(['x', 'y'], observations, dimensions, dimensionsWithValuesIndexedById, 1, display, formaterAttrs);
85
- case 'RowChart':
86
- return series(['y', 'x'], observations, dimensions, dimensionsWithValuesIndexedById, -1, display, formaterAttrs);
87
- default:
88
- return [];
89
- }
90
- };
@@ -1,72 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _find2 = require('lodash/find');
8
-
9
- var _find3 = _interopRequireDefault(_find2);
10
-
11
- var _isUndefined2 = require('lodash/isUndefined');
12
-
13
- var _isUndefined3 = _interopRequireDefault(_isUndefined2);
14
-
15
- var _isNil2 = require('lodash/isNil');
16
-
17
- var _isNil3 = _interopRequireDefault(_isNil2);
18
-
19
- var _get2 = require('lodash/get');
20
-
21
- var _get3 = _interopRequireDefault(_get2);
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 _reject2 = require('lodash/reject');
32
-
33
- var _reject3 = _interopRequireDefault(_reject2);
34
-
35
- var _dotstatsuiteSdmxjs = require('@sis-cc/dotstatsuite-sdmxjs');
36
-
37
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
38
-
39
- exports.default = function (dimensions, ids) {
40
- if ((0, _isEmpty3.default)(dimensions)) return;
41
-
42
- var chartDimension = void 0;
43
- var id = (0, _get3.default)(ids, 'id');
44
- if (!(0, _isNil3.default)(id)) chartDimension = (0, _find3.default)(dimensions, { id: id });
45
-
46
- if ((0, _isUndefined3.default)(chartDimension)) {
47
- var _dimensions = (0, _reject3.default)(dimensions, _dotstatsuiteSdmxjs.isRefAreaDimension);
48
- chartDimension = (0, _head3.default)((0, _isEmpty3.default)(_dimensions) ? dimensions : _dimensions);
49
- }
50
-
51
- var chartDimensionId = (0, _get3.default)(chartDimension, 'id');
52
-
53
- var values = (0, _get3.default)(chartDimension, 'values', []);
54
-
55
- var xValue = (0, _find3.default)(values, function (value) {
56
- return value.id === (0, _get3.default)(ids, 'xId', null);
57
- });
58
- var yValue = (0, _find3.default)(values, function (value) {
59
- return value.id === (0, _get3.default)(ids, 'yId', null) && value.id !== xId;
60
- });
61
- //if same xId & yId provided, xId is taken in account
62
- var xId = (0, _isUndefined3.default)(xValue) ? (0, _head3.default)((0, _isUndefined3.default)(yValue) ? values : (0, _reject3.default)(values, yValue)).id : xValue.id;
63
- var yId = (0, _isUndefined3.default)(yValue) ? (0, _find3.default)(values, function (value) {
64
- return value.id !== xId;
65
- }).id : yValue.id;
66
-
67
- return {
68
- id: chartDimensionId,
69
- xId: xId,
70
- yId: yId
71
- };
72
- };
@@ -1,77 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _extends2 = require('babel-runtime/helpers/extends');
8
-
9
- var _extends3 = _interopRequireDefault(_extends2);
10
-
11
- var _keys2 = require('lodash/keys');
12
-
13
- var _keys3 = _interopRequireDefault(_keys2);
14
-
15
- var _isEmpty2 = require('lodash/isEmpty');
16
-
17
- var _isEmpty3 = _interopRequireDefault(_isEmpty2);
18
-
19
- var _reduce2 = require('lodash/reduce');
20
-
21
- var _reduce3 = _interopRequireDefault(_reduce2);
22
-
23
- var _get2 = require('lodash/get');
24
-
25
- var _get3 = _interopRequireDefault(_get2);
26
-
27
- var _omit2 = require('lodash/omit');
28
-
29
- var _omit3 = _interopRequireDefault(_omit2);
30
-
31
- var _each2 = require('lodash/each');
32
-
33
- var _each3 = _interopRequireDefault(_each2);
34
-
35
- var _map2 = require('lodash/map');
36
-
37
- var _map3 = _interopRequireDefault(_map2);
38
-
39
- exports.default = focus;
40
-
41
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
42
-
43
- function focus(series, focusSelections) {
44
- // scatter has only 1 serie
45
- var serie = (0, _get3.default)(series, '[0]', {});
46
-
47
- var _focusSelections = (0, _reduce3.default)(focusSelections, function (memo, focusSelection, focusKey) {
48
- if (!(0, _isEmpty3.default)(focusSelection)) memo[focusKey] = focusSelection;
49
- return memo;
50
- }, {});
51
-
52
- if ((0, _isEmpty3.default)(_focusSelections)) return series;
53
-
54
- var datapoints = (0, _get3.default)(serie, 'datapoints', []);
55
-
56
- var _datapoints = (0, _map3.default)(datapoints, function (datapoint) {
57
- return (0, _omit3.default)(datapoint, (0, _map3.default)((0, _keys3.default)(focusSelections), function (focusKey) {
58
- return focusKey + 'Index';
59
- }));
60
- });
61
-
62
- var __datapoints = (0, _map3.default)(_datapoints, function (datapoint) {
63
- (0, _each3.default)(_focusSelections, function (focusSelection, focusKey) {
64
- var _focusKey = focusKey + 'Index';
65
-
66
- (0, _each3.default)(focusSelection, function (focus, i) {
67
- var _focus = (0, _get3.default)(focus, 'options', {});
68
- var dimensionValueId = (0, _get3.default)(datapoint, 'dimensionValues.' + _focus.dimensionId + '.id');
69
- if (dimensionValueId === _focus.dimensionValueId) datapoint[_focusKey] = i;
70
- });
71
- });
72
-
73
- return datapoint;
74
- });
75
-
76
- return [(0, _extends3.default)({}, serie, { datapoints: __datapoints })];
77
- }