@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,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;