@sis-cc/dotstatsuite-components 20.6.0 → 21.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/.gitlab-ci.yml +3 -2
  2. package/README.md +1 -17
  3. package/package.json +20 -14
  4. package/src/bridge-d3-react/src/react-chart-factory.js +1 -2
  5. package/src/rules/src/factories/sample-series.js +1 -1
  6. package/src/rules/src/index.js +14 -13
  7. package/src/rules/src/observation-formater.js +0 -1
  8. package/src/rules/src/properties/focus.js +3 -3
  9. package/src/rules/src/sdmx-data/index.js +2 -0
  10. package/src/viewer/src/index.js +4 -5
  11. package/src/viewer/src/legends/AxisLegend.js +0 -7
  12. package/src/viewer/src/legends/FocusLegend.js +2 -10
  13. package/src/viewer/src/legends/Legend.js +0 -6
  14. package/src/viewer/src/legends/SeriesLegend.js +0 -7
  15. package/vite.config.mjs +51 -0
  16. package/lib/app.js +0 -22
  17. package/lib/bridge-d3-react/src/app.js +0 -98
  18. package/lib/bridge-d3-react/src/index.js +0 -33
  19. package/lib/bridge-d3-react/src/mock-choro.js +0 -41
  20. package/lib/bridge-d3-react/src/react-chart-factory.js +0 -103
  21. package/lib/index.js +0 -41
  22. package/lib/rules/src/chart/getAxisOptions.js +0 -206
  23. package/lib/rules/src/chart/getBaseOptions.js +0 -51
  24. package/lib/rules/src/chart/getChartOptions.js +0 -106
  25. package/lib/rules/src/chart/getGridOptions.js +0 -21
  26. package/lib/rules/src/chart/getTooltipOptions.js +0 -84
  27. package/lib/rules/src/constants.js +0 -68
  28. package/lib/rules/src/date.js +0 -180
  29. package/lib/rules/src/dimension-utils.js +0 -67
  30. package/lib/rules/src/factories/choro-series.js +0 -99
  31. package/lib/rules/src/factories/sample-focus.js +0 -64
  32. package/lib/rules/src/factories/sample-series.js +0 -90
  33. package/lib/rules/src/factories/scatter-dimension.js +0 -72
  34. package/lib/rules/src/factories/scatter-focus.js +0 -77
  35. package/lib/rules/src/factories/scatter-series.js +0 -145
  36. package/lib/rules/src/factories/stacked-dimension.js +0 -42
  37. package/lib/rules/src/factories/stacked-series.js +0 -166
  38. package/lib/rules/src/factories/symbol-dimension.js +0 -69
  39. package/lib/rules/src/factories/symbol-series.js +0 -119
  40. package/lib/rules/src/factories/timeline-focus.js +0 -38
  41. package/lib/rules/src/factories/timeline-series.js +0 -121
  42. package/lib/rules/src/get-values-enhanced.js +0 -141
  43. package/lib/rules/src/header/getDefaultSubtitle.js +0 -50
  44. package/lib/rules/src/header/getHeaderUnits.js +0 -26
  45. package/lib/rules/src/header/getSubtitleFlags.js +0 -53
  46. package/lib/rules/src/header/getTitleFlags.js +0 -24
  47. package/lib/rules/src/header/index.js +0 -41
  48. package/lib/rules/src/index.js +0 -714
  49. package/lib/rules/src/layout.js +0 -98
  50. package/lib/rules/src/observation-formater.js +0 -112
  51. package/lib/rules/src/preparators/enhanceObservations.js +0 -142
  52. package/lib/rules/src/preparators/formatValue.js +0 -83
  53. package/lib/rules/src/preparators/getObservations.js +0 -27
  54. package/lib/rules/src/preparators/getReportingYearStart.js +0 -52
  55. package/lib/rules/src/properties/errors.js +0 -31
  56. package/lib/rules/src/properties/focus.js +0 -90
  57. package/lib/rules/src/properties/getAvailableChartTypes.js +0 -30
  58. package/lib/rules/src/properties/getHeaderProps.js +0 -83
  59. package/lib/rules/src/properties/getInformationsStateFromNewProps.js +0 -61
  60. package/lib/rules/src/properties/getObservationsType.js +0 -31
  61. package/lib/rules/src/properties/getStringifiedSubtitle.js +0 -18
  62. package/lib/rules/src/properties/index.js +0 -401
  63. package/lib/rules/src/properties/information.js +0 -79
  64. package/lib/rules/src/properties/linear.js +0 -158
  65. package/lib/rules/src/properties/scatter.js +0 -174
  66. package/lib/rules/src/properties/stacked.js +0 -133
  67. package/lib/rules/src/properties/symbol.js +0 -96
  68. package/lib/rules/src/properties/utils.js +0 -126
  69. package/lib/rules/src/sdmx-data/index.js +0 -55
  70. package/lib/rules/src/table/factories/getCellValue.js +0 -57
  71. package/lib/rules/src/table/index.js +0 -14
  72. package/lib/rules/src/v8-transformer.js +0 -184
  73. package/lib/rules/test/extractSdmxArtefacts.js +0 -37
  74. package/lib/rules/test/get-values-enhanced.test.js +0 -128
  75. package/lib/rules/test/oecd-HEALTH_PROT-parsed.js +0 -303
  76. package/lib/rules/test/scatter-property.js +0 -403
  77. package/lib/rules/test/stacked-property.js +0 -244
  78. package/lib/rules/test/symbol-property.js +0 -234
  79. package/lib/rules/test/v8-transformer.test.js +0 -82
  80. package/lib/rules2/src/applyHierarchicalCodesToDim.js +0 -175
  81. package/lib/rules2/src/combinedValuesDisplay.js +0 -71
  82. package/lib/rules2/src/constants.js +0 -11
  83. package/lib/rules2/src/duplicateObservations.js +0 -39
  84. package/lib/rules2/src/enhanceObservations.js +0 -103
  85. package/lib/rules2/src/getAdvAttrSeriesAtCoordinates.js +0 -39
  86. package/lib/rules2/src/getAttributesSeries.js +0 -40
  87. package/lib/rules2/src/getCombinationDefinitions.js +0 -72
  88. package/lib/rules2/src/getDataflowAttributes.js +0 -34
  89. package/lib/rules2/src/getDataflowTooltipAttributesIds.js +0 -38
  90. package/lib/rules2/src/getDimensionValuesIndexes.js +0 -19
  91. package/lib/rules2/src/getHCodelistsRefsInData.js +0 -49
  92. package/lib/rules2/src/getHeaderCombinations.js +0 -51
  93. package/lib/rules2/src/getHeaderCoordinates.js +0 -18
  94. package/lib/rules2/src/getHeaderSubtitle.js +0 -41
  95. package/lib/rules2/src/getHeaderTitle.js +0 -29
  96. package/lib/rules2/src/getMSDInformations.js +0 -43
  97. package/lib/rules2/src/getManyValuesDimensions.js +0 -39
  98. package/lib/rules2/src/getMetadataCoordinates.js +0 -40
  99. package/lib/rules2/src/getMetadataStructureFromData.js +0 -23
  100. package/lib/rules2/src/getNotDisplayedIds.js +0 -58
  101. package/lib/rules2/src/getOneValueDimensions.js +0 -48
  102. package/lib/rules2/src/getSeriesCombinations.js +0 -33
  103. package/lib/rules2/src/hasCellMetadata.js +0 -22
  104. package/lib/rules2/src/hierarchiseDimensionWithAdvancedHierarchy2.js +0 -65
  105. package/lib/rules2/src/hierarchiseDimensionWithNativeHierarchy2.js +0 -39
  106. package/lib/rules2/src/index.js +0 -443
  107. package/lib/rules2/src/parseAttributes.js +0 -51
  108. package/lib/rules2/src/parseCombinations.js +0 -96
  109. package/lib/rules2/src/parseHierarchicalCodelist.js +0 -57
  110. package/lib/rules2/src/parseMetadataSeries.js +0 -119
  111. package/lib/rules2/src/prepareData.js +0 -113
  112. package/lib/rules2/src/refineAttributes.js +0 -32
  113. package/lib/rules2/src/refineDimensions.js +0 -38
  114. package/lib/rules2/src/refineMetadataCoordinates.js +0 -35
  115. package/lib/rules2/src/refineTimePeriod.js +0 -154
  116. package/lib/rules2/src/sdmx3.0DataFormatPatch.js +0 -20
  117. package/lib/rules2/src/table/declineObservationsOverAttributes.js +0 -43
  118. package/lib/rules2/src/table/getCells.js +0 -90
  119. package/lib/rules2/src/table/getCellsAttributesIds.js +0 -63
  120. package/lib/rules2/src/table/getCellsMetadataCoordinates.js +0 -30
  121. package/lib/rules2/src/table/getCombinationDimensionsData.js +0 -48
  122. package/lib/rules2/src/table/getCuratedCells.js +0 -28
  123. package/lib/rules2/src/table/getFlagsAndNotes.js +0 -30
  124. package/lib/rules2/src/table/getIndexedCombinationsByDisplay.js +0 -31
  125. package/lib/rules2/src/table/getLayout.js +0 -105
  126. package/lib/rules2/src/table/getLayoutData2.js +0 -269
  127. package/lib/rules2/src/table/getSortedLayoutIndexes.js +0 -136
  128. package/lib/rules2/src/table/getTableLabelAccessor.js +0 -20
  129. package/lib/rules2/src/table/getTableLayoutIds.js +0 -365
  130. package/lib/rules2/src/table/getTableProps.js +0 -96
  131. package/lib/rules2/src/table/parseSeriesIndexesHierarchies.js +0 -124
  132. package/lib/rules2/src/table/parseValueHierarchy.js +0 -63
  133. package/lib/rules2/src/table/refineLayoutSize2.js +0 -293
  134. package/lib/rules2/src/utils.js +0 -48
  135. package/lib/viewer/mocks/bar.js +0 -21
  136. package/lib/viewer/mocks/gpp-symbol.js +0 -55
  137. package/lib/viewer/mocks/gpp-time.js +0 -1023
  138. package/lib/viewer/mocks/row.js +0 -26
  139. package/lib/viewer/mocks/scatter.js +0 -84
  140. package/lib/viewer/mocks/stack.js +0 -93
  141. package/lib/viewer/src/app/leg.js +0 -101
  142. package/lib/viewer/src/app/nodata-res.js +0 -40
  143. package/lib/viewer/src/app/nodata-sized.js +0 -41
  144. package/lib/viewer/src/app/one-table-cell.js +0 -75
  145. package/lib/viewer/src/app/table.js +0 -300
  146. package/lib/viewer/src/app/use-case-1.js +0 -60
  147. package/lib/viewer/src/app/use-case-2.js +0 -82
  148. package/lib/viewer/src/app/use-case-3.js +0 -52
  149. package/lib/viewer/src/app.js +0 -162
  150. package/lib/viewer/src/chart.js +0 -82
  151. package/lib/viewer/src/chartUtils/options.js +0 -30
  152. package/lib/viewer/src/chartUtils/series.js +0 -63
  153. package/lib/viewer/src/footer.js +0 -54
  154. package/lib/viewer/src/header.js +0 -29
  155. package/lib/viewer/src/index.js +0 -243
  156. package/lib/viewer/src/legends/AxisLegend.js +0 -84
  157. package/lib/viewer/src/legends/ChartLegends.js +0 -100
  158. package/lib/viewer/src/legends/FocusLegend.js +0 -89
  159. package/lib/viewer/src/legends/Legend.js +0 -88
  160. package/lib/viewer/src/legends/SeriesLegend.js +0 -108
  161. package/lib/viewer/src/utils.js +0 -36
@@ -1,82 +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 _react = require('react');
12
-
13
- var _react2 = _interopRequireDefault(_react);
14
-
15
- var _ramda = require('ramda');
16
-
17
- var R = _interopRequireWildcard(_ramda);
18
-
19
- var _dotstatsuiteVisions = require('@sis-cc/dotstatsuite-visions');
20
-
21
- var _src = require('../../bridge-d3-react/src');
22
-
23
- var charts = _interopRequireWildcard(_src);
24
-
25
- var _series = require('./chartUtils/series');
26
-
27
- var _series2 = _interopRequireDefault(_series);
28
-
29
- var _AxisLegend = require('./legends/AxisLegend');
30
-
31
- var _AxisLegend2 = _interopRequireDefault(_AxisLegend);
32
-
33
- var _utils = require('./utils');
34
-
35
- 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; } }
36
-
37
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
38
-
39
- var Chart = function Chart(_ref) {
40
- var options = _ref.options,
41
- series = _ref.series,
42
- type = _ref.type,
43
- width = _ref.width,
44
- getAxisOptions = _ref.getAxisOptions;
45
-
46
- var ChartClass = charts[type];
47
- return _react2.default.createElement(
48
- 'div',
49
- null,
50
- R.is(Number, width) && width < 370 ? null : _react2.default.createElement(_AxisLegend2.default, { axis: 'y', data: { series: series }, type: type }),
51
- _react2.default.createElement(ChartClass, {
52
- data: series,
53
- options: options,
54
- getAxisOptions: getAxisOptions
55
- })
56
- );
57
- };
58
-
59
- var ChartWrapper = function ChartWrapper() {
60
- var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
61
-
62
- var options = R.over(R.lensPath(['base', 'height']), R.when(function (h) {
63
- return h < 0;
64
- }, R.always(300)))(props.options);
65
-
66
- if ((0, _utils.isChartNoData)(props)) {
67
- var height = R.path(['base', 'height'], options);
68
- var style = { height: height };
69
- return _react2.default.createElement(
70
- 'div',
71
- { style: style },
72
- _react2.default.createElement(_dotstatsuiteVisions.NoData, { message: props.noData || 'No Data' })
73
- );
74
- }
75
-
76
- return _react2.default.createElement(Chart, (0, _extends3.default)({}, props, {
77
- options: options,
78
- series: (0, _series2.default)(props.data.series, props.type, options) // responsive rule only display highlighted data
79
- }));
80
- };
81
-
82
- exports.default = ChartWrapper;
@@ -1,30 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _ramda = require('ramda');
8
-
9
- var R = _interopRequireWildcard(_ramda);
10
-
11
- var _getChartOptions = require('../../../rules/src/chart/getChartOptions');
12
-
13
- var _utils = require('../utils');
14
-
15
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
16
-
17
- exports.default = function (options, data, type, theme, timeFormats, locale) {
18
- var axisFontOptions = R.pipe((0, _utils.getFontFromTheme)(['axis']), _utils.getOptionsFromFont)(theme);
19
- var annotationFontOptions = R.pipe((0, _utils.getFontFromTheme)(['annotation']), _utils.getOptionsFromFont)(theme);
20
- var tooltipFonts = {
21
- primary: (0, _utils.getFontFromTheme)(['tooltip', 'primary'])(theme),
22
- secondary: (0, _utils.getFontFromTheme)(['tooltip', 'secondary'])(theme)
23
- };
24
- var optionsWithFonts = R.evolve({
25
- axis: R.pipe(R.over(R.lensPath(['x', 'font']), R.pipe(R.when(R.isNil, R.always({})), R.mergeRight(axisFontOptions))), R.over(R.lensPath(['y', 'font']), R.pipe(R.when(R.isNil, R.always({})), R.mergeRight(axisFontOptions)))),
26
- serie: R.over(R.lensPath(['annotation', 'font']), R.pipe(R.when(R.isNil, R.always({})), R.mergeRight(annotationFontOptions)))
27
- })(options);
28
-
29
- return (0, _getChartOptions.getChartOptions)(data, type, optionsWithFonts, tooltipFonts, timeFormats, locale);
30
- };
@@ -1,63 +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 _ramda = require('ramda');
12
-
13
- var R = _interopRequireWildcard(_ramda);
14
-
15
- var _constants = require('../../../rules/src/constants');
16
-
17
- 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; } }
18
-
19
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
-
21
- var isFocused = function isFocused(obj) {
22
- var highlightIndex = R.propOr(-1, 'highlightIndex', obj);
23
- var baselineIndex = R.propOr(-1, 'baselineIndex', obj);
24
- return highlightIndex > -1 || baselineIndex > -1;
25
- };
26
-
27
- var sampleFilterSeries = function sampleFilterSeries(series) {
28
- return R.map(function (serie) {
29
- var _datapoints = R.filter(isFocused, serie.datapoints);
30
- return (0, _extends3.default)({}, serie, { datapoints: _datapoints });
31
- }, series);
32
- };
33
-
34
- var lineFilterSeries = R.filter(isFocused);
35
-
36
- exports.default = function (series, type, options) {
37
- var responsiveFocusFilter = R.pathOr(true, ['serie', 'responsiveFocusFilter'], options);
38
- if (!responsiveFocusFilter) {
39
- return series;
40
- }
41
- var height = R.path(['base', 'height'], options);
42
- var width = R.path(['base', 'width'], options);
43
- var minWidth = R.path(['base', 'minDisplayWidth'], options);
44
- var minHeight = R.path(['base', 'minDisplayHeight'], options);
45
- var filtered = void 0;
46
- if (type === _constants.H_SYMBOL) {
47
- if (height < minHeight) {
48
- filtered = sampleFilterSeries(series);
49
- return R.isEmpty(filtered[0].datapoints) ? series : filtered;
50
- }
51
- } else if (type === _constants.TIMELINE) {
52
- if (height < minHeight) {
53
- filtered = lineFilterSeries(series);
54
- return R.isEmpty(filtered) ? series : filtered;
55
- }
56
- } else if (type === _constants.V_SYMBOL) {
57
- if (width < minWidth) {
58
- filtered = sampleFilterSeries(series);
59
- return R.isEmpty(filtered[0].datapoints) ? series : filtered;
60
- }
61
- }
62
- return series;
63
- };
@@ -1,54 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _react = require('react');
8
-
9
- var _react2 = _interopRequireDefault(_react);
10
-
11
- var _ramda = require('ramda');
12
-
13
- var R = _interopRequireWildcard(_ramda);
14
-
15
- var _dotstatsuiteVisions = require('@sis-cc/dotstatsuite-visions');
16
-
17
- var _ChartLegends = require('./legends/ChartLegends');
18
-
19
- var _ChartLegends2 = _interopRequireDefault(_ChartLegends);
20
-
21
- var _utils = require('./utils');
22
-
23
- 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; } }
24
-
25
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
-
27
- var Footer = function Footer(_ref) {
28
- var type = _ref.type,
29
- chartData = _ref.chartData,
30
- source = _ref.source,
31
- logo = _ref.logo,
32
- copyright = _ref.copyright,
33
- chartOptions = _ref.chartOptions,
34
- isSticky = _ref.isSticky,
35
- target = _ref.target,
36
- width = _ref.width;
37
-
38
- var hasNoLegend = type === 'table' || (0, _utils.isChartNoData)({ data: chartData, type: type });
39
- var legend = hasNoLegend ? null : _react2.default.createElement(_ChartLegends2.default, { data: chartData, options: chartOptions, type: type, width: width });
40
-
41
- return _react2.default.createElement(
42
- 'div',
43
- target ? { ref: target } : {},
44
- _react2.default.createElement(_dotstatsuiteVisions.DataFooter, {
45
- source: source,
46
- logo: logo,
47
- copyright: copyright,
48
- legend: legend,
49
- isSticky: isSticky
50
- })
51
- );
52
- };
53
-
54
- exports.default = Footer;
@@ -1,29 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
8
-
9
- var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
10
-
11
- var _react = require('react');
12
-
13
- var _react2 = _interopRequireDefault(_react);
14
-
15
- var _dotstatsuiteVisions = require('@sis-cc/dotstatsuite-visions');
16
-
17
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
-
19
- var Header = function Header(_ref) {
20
- var target = _ref.target,
21
- props = (0, _objectWithoutProperties3.default)(_ref, ['target']);
22
- return _react2.default.createElement(
23
- 'div',
24
- target ? { ref: target } : {},
25
- _react2.default.createElement(_dotstatsuiteVisions.DataHeader, props)
26
- );
27
- };
28
-
29
- exports.default = Header;
@@ -1,243 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray');
8
-
9
- var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
10
-
11
- var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
12
-
13
- var _defineProperty3 = _interopRequireDefault(_defineProperty2);
14
-
15
- var _extends2 = require('babel-runtime/helpers/extends');
16
-
17
- var _extends3 = _interopRequireDefault(_extends2);
18
-
19
- var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
20
-
21
- var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
22
-
23
- var _react = require('react');
24
-
25
- var _react2 = _interopRequireDefault(_react);
26
-
27
- var _ramda = require('ramda');
28
-
29
- var R = _interopRequireWildcard(_ramda);
30
-
31
- var _classnames = require('classnames');
32
-
33
- var _classnames2 = _interopRequireDefault(_classnames);
34
-
35
- var _size = require('@react-hook/size');
36
-
37
- var _size2 = _interopRequireDefault(_size);
38
-
39
- var _dotstatsuiteVisions = require('@sis-cc/dotstatsuite-visions');
40
-
41
- var _styles = require('@mui/styles');
42
-
43
- var _options = require('./chartUtils/options');
44
-
45
- var _options2 = _interopRequireDefault(_options);
46
-
47
- var _header = require('./header');
48
-
49
- var _header2 = _interopRequireDefault(_header);
50
-
51
- var _chart = require('./chart');
52
-
53
- var _chart2 = _interopRequireDefault(_chart);
54
-
55
- var _footer = require('./footer');
56
-
57
- var _footer2 = _interopRequireDefault(_footer);
58
-
59
- var _utils = require('./utils');
60
-
61
- 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; } }
62
-
63
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
64
-
65
- var useStyles = (0, _styles.makeStyles)(function () {
66
- return {
67
- container: {
68
- borderColor: '#007bc7',
69
- borderBottomWidth: 1,
70
- borderLeftWidth: 0,
71
- borderTopWidth: 1,
72
- borderRightWidth: 0,
73
- borderStyle: 'solid',
74
- '& svg text::selection': {
75
- background: 'none'
76
- }
77
- },
78
- tableContainer: {
79
- minWidth: '100%',
80
- minHeight: '100%',
81
- willChange: 'transform, opacity'
82
- },
83
- chartContainer: {
84
- width: function width(_ref) {
85
- var fixedWidth = _ref.fixedWidth;
86
- return fixedWidth || '100%';
87
- },
88
- height: function height(_ref2) {
89
- var fixedHeight = _ref2.fixedHeight;
90
- return fixedHeight || '100%';
91
- },
92
- overflow: 'hidden',
93
- position: 'relative'
94
- }
95
- };
96
- });
97
-
98
- var ViewContent = function ViewContent(_ref3) {
99
- var loading = _ref3.loading,
100
- _ref3$loadingProps = _ref3.loadingProps,
101
- loadingProps = _ref3$loadingProps === undefined ? {} : _ref3$loadingProps,
102
- type = _ref3.type,
103
- width = _ref3.width,
104
- errorMessage = _ref3.errorMessage,
105
- rest = (0, _objectWithoutProperties3.default)(_ref3, ['loading', 'loadingProps', 'type', 'width', 'errorMessage']);
106
-
107
- if (loading) return _react2.default.createElement(_dotstatsuiteVisions.Loading, (0, _extends3.default)({ message: loading }, loadingProps));
108
- if (errorMessage) return _react2.default.createElement(_dotstatsuiteVisions.NoData, { message: errorMessage });
109
-
110
- if (type === 'table') {
111
- var tableProps = R.propOr({}, 'tableProps', rest);
112
- var hasNoObs = R.pipe(R.prop('cells'), R.anyPass([R.isNil, R.isEmpty]))(tableProps);
113
- if (hasNoObs) return _react2.default.createElement(_dotstatsuiteVisions.Loading, null);
114
-
115
- return _react2.default.createElement(_dotstatsuiteVisions.TableHtml5, (0, _extends3.default)({ isRtl: R.prop('isRtl', rest) }, tableProps));
116
- }
117
- if ((0, _utils.isChartDataNotReady)({ data: R.prop('chartData', rest) }) || !width) {
118
- return _react2.default.createElement(_dotstatsuiteVisions.Loading, null);
119
- }
120
- return _react2.default.createElement(_chart2.default, {
121
- data: R.prop('chartData', rest),
122
- getAxisOptions: R.prop('getAxisOptions', rest),
123
- heightOffsets: R.prop('heightOffsets', rest),
124
- options: R.prop('chartOptions', rest),
125
- type: type,
126
- width: width
127
- });
128
- };
129
-
130
- var Viewer = function Viewer(_ref4) {
131
- var _cx;
132
-
133
- var type = _ref4.type,
134
- _ref4$targets = _ref4.targets,
135
- targets = _ref4$targets === undefined ? {} : _ref4$targets,
136
- width = _ref4.width,
137
- rest = (0, _objectWithoutProperties3.default)(_ref4, ['type', 'targets', 'width']);
138
-
139
- var classes = useStyles({
140
- fixedWidth: rest.fixedWidth,
141
- fixedHeight: rest.fixedHeight
142
- });
143
-
144
- return _react2.default.createElement(
145
- 'div',
146
- (0, _extends3.default)({}, targets.viewer ? { ref: targets.viewer } : {}, {
147
- className: (0, _classnames2.default)(classes.container, (_cx = {}, (0, _defineProperty3.default)(_cx, classes.tableContainer, type === 'table'), (0, _defineProperty3.default)(_cx, classes.chartContainer, type !== 'table'), _cx))
148
- }),
149
- _react2.default.createElement(_header2.default, (0, _extends3.default)({
150
- target: targets.header
151
- }, R.propOr({}, 'headerProps', rest))),
152
- _react2.default.createElement(ViewContent, (0, _extends3.default)({ type: type, width: width }, rest)),
153
- _react2.default.createElement(_footer2.default, (0, _extends3.default)({
154
- width: width,
155
- target: targets.footer,
156
- type: type,
157
- chartData: R.prop('chartData', rest),
158
- chartOptions: R.prop('chartOptions', rest)
159
- }, R.prop('footerProps', rest)))
160
- );
161
- };
162
-
163
- var defaultChartHeight = function defaultChartHeight(chartOptions) {
164
- return R.pipe(R.path(['base', 'height']), function (h) {
165
- return R.isNil(h) || isNaN(h) ? 0 : h;
166
- })(chartOptions);
167
- };
168
-
169
- var ViewerWrapper = function ViewerWrapper(_ref5) {
170
- var chartOptions = _ref5.chartOptions,
171
- type = _ref5.type,
172
- getResponsiveSize = _ref5.getResponsiveSize,
173
- props = (0, _objectWithoutProperties3.default)(_ref5, ['chartOptions', 'type', 'getResponsiveSize']);
174
-
175
- var theme = (0, _styles.useTheme)();
176
- var viewerTarget = _react2.default.useRef(null);
177
- var headerTarget = _react2.default.useRef(null);
178
- var footerTarget = _react2.default.useRef(null);
179
-
180
- var _useSize = (0, _size2.default)(viewerTarget),
181
- _useSize2 = (0, _slicedToArray3.default)(_useSize, 2),
182
- viewerWidth = _useSize2[0],
183
- viewerHeight = _useSize2[1];
184
-
185
- var _useSize3 = (0, _size2.default)(headerTarget, { initialHeight: -1 }),
186
- _useSize4 = (0, _slicedToArray3.default)(_useSize3, 2),
187
- _ = _useSize4[0],
188
- headerHeight = _useSize4[1];
189
-
190
- var _useSize5 = (0, _size2.default)(footerTarget, { initialHeight: -1 }),
191
- _useSize6 = (0, _slicedToArray3.default)(_useSize5, 2),
192
- ___ = _useSize6[0],
193
- footerHeight = _useSize6[1];
194
-
195
- var _useState = (0, _react.useState)(0),
196
- _useState2 = (0, _slicedToArray3.default)(_useState, 2),
197
- chartSvgHeight = _useState2[0],
198
- setChartSvgHeight = _useState2[1];
199
-
200
- var defChartHeight = defaultChartHeight(chartOptions);
201
-
202
- (0, _react.useEffect)(function () {
203
- if (R.is(Function, getResponsiveSize) && viewerWidth && headerHeight !== -1 && footerHeight !== -1) {
204
- getResponsiveSize({
205
- responsiveWidth: viewerWidth,
206
- responsiveHeight: viewerHeight
207
- });
208
- }
209
- }, [viewerWidth, viewerHeight]);
210
-
211
- (0, _react.useEffect)(function () {
212
- if (headerHeight !== -1 && footerHeight !== -1 && !isNaN(headerHeight) && !isNaN(footerHeight)) {
213
- var nextHeight = defChartHeight - headerHeight - footerHeight - 2;
214
- setChartSvgHeight(nextHeight);
215
- }
216
- }, [headerHeight, footerHeight, defChartHeight]);
217
-
218
- if (type === 'table') {
219
- return _react2.default.createElement(Viewer, (0, _extends3.default)({}, props, {
220
- width: viewerWidth,
221
- type: type
222
- }));
223
- }
224
-
225
- var preparedChartOptions = R.pipe(R.over(R.lensPath(['base', 'width']), R.when(R.anyPass([R.isNil, isNaN]), R.always(viewerWidth || 0))), R.set(R.lensPath(['base', 'height']), chartSvgHeight), function (chartOptions) {
226
- return (0, _options2.default)(chartOptions, props.chartData, type, theme, props.timeFormats, props.locale);
227
- })(chartOptions);
228
-
229
- return _react2.default.createElement(Viewer, (0, _extends3.default)({}, props, {
230
- type: type,
231
- chartOptions: preparedChartOptions,
232
- fixedWidth: R.path(['base', 'width'], chartOptions),
233
- fixedHeight: defChartHeight,
234
- targets: {
235
- viewer: viewerTarget,
236
- header: headerTarget,
237
- footer: footerTarget
238
- },
239
- width: viewerWidth
240
- }));
241
- };
242
-
243
- exports.default = ViewerWrapper;
@@ -1,84 +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 _react = require('react');
12
-
13
- var _react2 = _interopRequireDefault(_react);
14
-
15
- var _propTypes = require('prop-types');
16
-
17
- var _propTypes2 = _interopRequireDefault(_propTypes);
18
-
19
- var _ramda = require('ramda');
20
-
21
- var R = _interopRequireWildcard(_ramda);
22
-
23
- var _makeStyles = require('@mui/styles/makeStyles');
24
-
25
- var _makeStyles2 = _interopRequireDefault(_makeStyles);
26
-
27
- var _constants = require('../../../rules/src/constants');
28
-
29
- var _utils = require('../utils');
30
-
31
- 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; } }
32
-
33
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
34
-
35
- var useStyles = (0, _makeStyles2.default)(function (theme) {
36
- var legendFont = (0, _utils.getFontFromTheme)(['axisLegend'])(theme);
37
- return {
38
- xLegend: legendFont,
39
- yLegend: (0, _extends3.default)({}, legendFont, {
40
- left: 10,
41
- position: 'absolute',
42
- zIndex: 1
43
- })
44
- };
45
- });
46
-
47
- var getAxisLabel = function getAxisLabel(axis) {
48
- return R.pipe(R.propOr([], 'series'), R.head, R.when(R.isNil, R.always({})), R.path(['dimensionValues', axis, 'name']));
49
- };
50
-
51
- var AxisLegend = function AxisLegend(_ref) {
52
- var axis = _ref.axis,
53
- data = _ref.data,
54
- type = _ref.type;
55
-
56
- var classes = useStyles();
57
- if (!R.equals(_constants.SCATTER, type)) return null;
58
- switch (axis) {
59
- case 'x':
60
- return _react2.default.createElement(
61
- 'span',
62
- { className: classes.xLegend },
63
- '\u2192 ',
64
- getAxisLabel('x')(data)
65
- );
66
- case 'y':
67
- return _react2.default.createElement(
68
- 'span',
69
- { className: classes.yLegend },
70
- '\u2191 ',
71
- getAxisLabel('y')(data)
72
- );
73
- default:
74
- return null;
75
- }
76
- };
77
-
78
- AxisLegend.propTypes = {
79
- axis: _propTypes2.default.string.isRequired,
80
- data: _propTypes2.default.object.isRequired,
81
- type: _propTypes2.default.string.isRequired
82
- };
83
-
84
- exports.default = AxisLegend;
@@ -1,100 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _react = require('react');
8
-
9
- var _react2 = _interopRequireDefault(_react);
10
-
11
- var _ramda = require('ramda');
12
-
13
- var R = _interopRequireWildcard(_ramda);
14
-
15
- var _numeral = require('numeral');
16
-
17
- var _numeral2 = _interopRequireDefault(_numeral);
18
-
19
- var _dotstatsuiteD3Charts = require('@sis-cc/dotstatsuite-d3-charts');
20
-
21
- var _src = require('../../../bridge-d3-react/src');
22
-
23
- var _styles = require('@mui/material/styles');
24
-
25
- var _AxisLegend = require('./AxisLegend');
26
-
27
- var _AxisLegend2 = _interopRequireDefault(_AxisLegend);
28
-
29
- var _FocusLegend = require('./FocusLegend');
30
-
31
- var _FocusLegend2 = _interopRequireDefault(_FocusLegend);
32
-
33
- var _SeriesLegend = require('./SeriesLegend');
34
-
35
- var _SeriesLegend2 = _interopRequireDefault(_SeriesLegend);
36
-
37
- var _constants = require('../../../rules/src/constants');
38
-
39
- var _utils = require('../utils');
40
-
41
- 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; } }
42
-
43
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
44
-
45
- var ChoroLegend = function ChoroLegend(_ref) {
46
- var type = _ref.type,
47
- options = _ref.options,
48
- data = _ref.data;
49
-
50
- if (type !== _constants.CHORO) {
51
- return null;
52
- }
53
- var theme = (0, _styles.useTheme)();
54
- var fontOptions = R.pipe((0, _utils.getFontFromTheme)(['mapLegend']), _utils.getOptionsFromFont)(theme);
55
- var legendOptions = R.mergeDeepLeft(options, {
56
- legend: {
57
- choropleth: {
58
- width: 300,
59
- height: 30,
60
- margin: { left: 15, right: 15 },
61
- axis: {
62
- thickness: 0,
63
- orient: 'bottom',
64
- font: fontOptions,
65
- tick: {
66
- size: 5,
67
- thickness: 0
68
- },
69
- format: {
70
- proc: function proc(d) {
71
- return (0, _numeral2.default)(d).format('0,0.[00]');
72
- }
73
- }
74
- }
75
- }
76
- }
77
- });
78
-
79
- return _react2.default.createElement(_src.ChoroplethLegend, { options: legendOptions, data: data.series });
80
- };
81
-
82
- var ChartLegends = function ChartLegends(_ref2) {
83
- var data = _ref2.data,
84
- options = _ref2.options,
85
- type = _ref2.type,
86
- width = _ref2.width;
87
-
88
- var engineOptions = R.pipe(R.assocPath(['serie', 'stacked', 'layerSeries'], R.pathOr([], ['series', 0, 'layerSeries'], data)), _dotstatsuiteD3Charts.computeOptions)(options);
89
-
90
- return _react2.default.createElement(
91
- 'div',
92
- null,
93
- _react2.default.createElement(_AxisLegend2.default, { axis: 'x', data: data, type: type }),
94
- _react2.default.createElement(_FocusLegend2.default, { data: data, options: engineOptions, type: type, width: width }),
95
- _react2.default.createElement(_SeriesLegend2.default, { data: data, options: engineOptions, type: type }),
96
- _react2.default.createElement(ChoroLegend, { data: data, options: options, type: type })
97
- );
98
- };
99
-
100
- exports.default = ChartLegends;