@sis-cc/dotstatsuite-visions 7.0.0 → 7.1.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.
@@ -15,6 +15,7 @@ import Flags from './Flags';
15
15
  import TooltipHeader from './TooltipHeader';
16
16
  import { getReducedContent } from './utils';
17
17
  import { Tooltip, Warning as WarningIcon } from '../';
18
+ import InfoIcon from '../InfoIcon/InfoIcon';
18
19
 
19
20
  var useStyles = makeStyles(function (theme) {
20
21
  return {
@@ -97,13 +98,33 @@ var useStyles = makeStyles(function (theme) {
97
98
  };
98
99
  });
99
100
 
100
- var DataHeader = function DataHeader(_ref4) {
101
- var children = _ref4.children,
102
- title = _ref4.title,
103
- _ref4$subtitle = _ref4.subtitle,
104
- subtitle = _ref4$subtitle === undefined ? [] : _ref4$subtitle,
105
- uprs = _ref4.uprs,
106
- disclaimer = _ref4.disclaimer;
101
+ var SideIcon = function SideIcon(_ref4) {
102
+ var sideProps = _ref4.sideProps,
103
+ sideToggle = _ref4.sideToggle;
104
+
105
+ if (R.isNil(sideProps) || !R.is(Function, sideToggle)) {
106
+ return null;
107
+ }
108
+ var isSelected = R.propOr(false, 'isSelected', sideProps);
109
+ return React.createElement(InfoIcon, { onClick: function onClick() {
110
+ return sideToggle(sideProps);
111
+ }, isSelected: isSelected });
112
+ };
113
+
114
+ SideIcon.propTypes = process.env.NODE_ENV !== "production" ? {
115
+ sideProps: PropTypes.object,
116
+ sideToggle: PropTypes.func
117
+ } : {};
118
+
119
+ var DataHeader = function DataHeader(_ref5) {
120
+ var children = _ref5.children,
121
+ title = _ref5.title,
122
+ _ref5$subtitle = _ref5.subtitle,
123
+ subtitle = _ref5$subtitle === undefined ? [] : _ref5$subtitle,
124
+ uprs = _ref5.uprs,
125
+ disclaimer = _ref5.disclaimer,
126
+ sideProps = _ref5.sideProps,
127
+ sideToggle = _ref5.sideToggle;
107
128
 
108
129
  var target = React.useRef(null);
109
130
 
@@ -186,6 +207,7 @@ var DataHeader = function DataHeader(_ref4) {
186
207
  React.createElement(
187
208
  'div',
188
209
  { className: classes.children },
210
+ React.createElement(SideIcon, { sideProps: sideProps, sideToggle: sideToggle }),
189
211
  R.not(R.isEmpty(reducedContent)) && React.createElement(
190
212
  TooltipHeader,
191
213
  { classes: classes, content: reducedContent },
@@ -222,6 +244,8 @@ DataHeader.propTypes = process.env.NODE_ENV !== "production" ? {
222
244
  header: PropTypes.string,
223
245
  label: PropTypes.string
224
246
  }),
247
+ sideProps: PropTypes.object,
248
+ sideToggle: PropTypes.func,
225
249
  disclaimer: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
226
250
  children: PropTypes.node
227
251
  } : {};
@@ -0,0 +1,37 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { makeStyles } from '@material-ui/core/styles';
4
+ import MuiInfoIcon from '@material-ui/icons//Info';
5
+ import IconButton from '@material-ui/core/IconButton';
6
+
7
+ var useStyles = makeStyles(function (theme) {
8
+ return {
9
+ icon: {
10
+ color: function color(_ref) {
11
+ var isSelected = _ref.isSelected;
12
+ return isSelected ? theme.palette.highlight.hl1 : theme.palette.primary.main;
13
+ },
14
+ padding: 0
15
+ }
16
+ };
17
+ });
18
+
19
+ var InfoIcon = function InfoIcon(_ref2) {
20
+ var onClick = _ref2.onClick,
21
+ _ref2$isSelected = _ref2.isSelected,
22
+ isSelected = _ref2$isSelected === undefined ? false : _ref2$isSelected;
23
+
24
+ var classes = useStyles({ isSelected: isSelected });
25
+ return React.createElement(
26
+ IconButton,
27
+ { size: 'small', className: classes.icon, onClick: onClick, 'data-testid': 'ref-md-info' },
28
+ React.createElement(MuiInfoIcon, { fontSize: 'small' })
29
+ );
30
+ };
31
+
32
+ InfoIcon.propTypes = process.env.NODE_ENV !== "production" ? {
33
+ onClick: PropTypes.func.isRequired,
34
+ isSelected: PropTypes.bool
35
+ } : {};
36
+
37
+ export default InfoIcon;
@@ -70,6 +70,7 @@ var TableHtml5 = function TableHtml5(_ref) {
70
70
  activeCellIds = _ref.activeCellIds,
71
71
  activeCellHandler = _ref.activeCellHandler,
72
72
  sideToggle = _ref.sideToggle,
73
+ selectedSideCoord = _ref.selectedSideCoord,
73
74
  _ref$testId = _ref.testId,
74
75
  testId = _ref$testId === undefined ? 'vis-table' : _ref$testId;
75
76
 
@@ -136,6 +137,7 @@ var TableHtml5 = function TableHtml5(_ref) {
136
137
  xLayoutData: xLayoutData,
137
138
  activeCellIds: activeCellIds,
138
139
  sideToggle: sideToggle,
140
+ selectedSideCoord: selectedSideCoord,
139
141
  ref: subHeadCellsRef,
140
142
  subHeadCellsWidth: subHeadCellsWidth
141
143
  })
@@ -154,6 +156,7 @@ var TableHtml5 = function TableHtml5(_ref) {
154
156
  activeCellIds: activeCellIds,
155
157
  activeCellHandler: activeCellHandler,
156
158
  sideToggle: sideToggle,
159
+ selectedSideCoord: selectedSideCoord,
157
160
  subHeadCellsWidth: subHeadCellsWidth
158
161
  });
159
162
  }, sectionsData)
@@ -168,6 +171,7 @@ TableHtml5.propTypes = process.env.NODE_ENV !== "production" ? {
168
171
  activeCellHandler: PropTypes.func,
169
172
  activeCellIds: PropTypes.object,
170
173
  sideToggle: PropTypes.func,
174
+ selectedSideCoord: PropTypes.object,
171
175
  testId: PropTypes.string
172
176
  } : {};
173
177
 
@@ -13,6 +13,7 @@
13
13
  * cellHandler: PropTypes.func,
14
14
  * activeCellHandler: PropTypes.func,
15
15
  * activeCellIds: PropTypes.string,
16
+ * selectedSideCoord: PropTypes.object,
16
17
  * };
17
18
  * @theme
18
19
  * {
@@ -72,6 +72,7 @@ var Section = function Section(_ref) {
72
72
  sectionIndex = _ref.sectionIndex,
73
73
  nbColumnsByRows = _ref.nbColumnsByRows,
74
74
  sideToggle = _ref.sideToggle,
75
+ selectedSideCoord = _ref.selectedSideCoord,
75
76
  subHeadCellsWidth = _ref.subHeadCellsWidth;
76
77
 
77
78
  var classes = useStyles();
@@ -90,7 +91,8 @@ var Section = function Section(_ref) {
90
91
  currentSection: currentSection,
91
92
  xLayoutDataLength: xLayoutDataLength,
92
93
  headerHeight: headerHeight,
93
- sideToggle: sideToggle
94
+ sideToggle: sideToggle,
95
+ selectedSideCoord: selectedSideCoord
94
96
  }),
95
97
  R.map(function (sectionbody) {
96
98
  var _cx2;
@@ -151,7 +153,11 @@ var Section = function Section(_ref) {
151
153
  React.createElement(
152
154
  'div',
153
155
  { className: classes.flagContainer },
154
- React.createElement(SideIcon, { sideProps: R.prop('sideProps', sectionbody), sideToggle: sideToggle }),
156
+ React.createElement(SideIcon, {
157
+ sideProps: R.prop('sideProps', sectionbody),
158
+ sideToggle: sideToggle,
159
+ selectedSideCoord: selectedSideCoord
160
+ }),
155
161
  React.createElement(Flags, { flags: R.prop('flags', sectionbody) })
156
162
  )
157
163
  ),
@@ -197,6 +203,7 @@ Section.propTypes = process.env.NODE_ENV !== "production" ? {
197
203
  nbColumnsByRows: PropTypes.array,
198
204
  maxColumns: PropTypes.number,
199
205
  sideToggle: PropTypes.func,
206
+ selectedSideCoord: PropTypes.object,
200
207
  subHeadCellsWidth: PropTypes.arrayOf(PropTypes.number)
201
208
  } : {};
202
209
 
@@ -42,9 +42,6 @@ var useStyles = makeStyles(function (theme) {
42
42
  containerTextSection: {
43
43
  display: 'flex',
44
44
  alignItems: 'center'
45
- },
46
- flag: {
47
- height: 0
48
45
  }
49
46
  };
50
47
  });
@@ -56,7 +53,8 @@ var SectionHeader = function SectionHeader(_ref) {
56
53
  currentSection = _ref.currentSection,
57
54
  xLayoutDataLength = _ref.xLayoutDataLength,
58
55
  headerHeight = _ref.headerHeight,
59
- sideToggle = _ref.sideToggle;
56
+ sideToggle = _ref.sideToggle,
57
+ selectedSideCoord = _ref.selectedSideCoord;
60
58
 
61
59
  var classes = useStyles();
62
60
  if (R.compose(R.anyPass([R.isNil, R.isEmpty]), R.path([0, 'data']))(section)) return null;
@@ -110,8 +108,12 @@ var SectionHeader = function SectionHeader(_ref) {
110
108
  ),
111
109
  React.createElement(
112
110
  'div',
113
- { className: classes.flag },
114
- React.createElement(SideIcon, { sideProps: R.path([0, 'sideProps'], section), sideToggle: sideToggle }),
111
+ null,
112
+ React.createElement(SideIcon, {
113
+ sideProps: R.path([0, 'sideProps'], section),
114
+ sideToggle: sideToggle,
115
+ selectedSideCoord: selectedSideCoord
116
+ }),
115
117
  React.createElement(Flags, { flags: R.path([0, 'flags'], section) })
116
118
  )
117
119
  )
@@ -125,7 +127,8 @@ SectionHeader.propTypes = process.env.NODE_ENV !== "production" ? {
125
127
  currentSection: PropTypes.string,
126
128
  xLayoutDataLength: PropTypes.number,
127
129
  headerHeight: PropTypes.number,
128
- sideToggle: PropTypes.func
130
+ sideToggle: PropTypes.func,
131
+ selectedSideCoord: PropTypes.object
129
132
  } : {};
130
133
 
131
134
  export default SectionHeader;
@@ -1,42 +1,24 @@
1
1
  import React from 'react';
2
2
  import * as R from 'ramda';
3
3
  import PropTypes from 'prop-types';
4
- import { makeStyles } from '@material-ui/core/styles';
5
- import InfoIcon from '@material-ui/icons//Info';
6
- import IconButton from '@material-ui/core/IconButton';
7
-
8
- var useStyles = makeStyles(function (theme) {
9
- return {
10
- icon: {
11
- color: theme.palette.primary.main,
12
- padding: 0
13
- }
14
- };
15
- });
4
+ import InfoIcon from '../InfoIcon/InfoIcon';
16
5
 
17
6
  var SideIcon = function SideIcon(_ref) {
18
7
  var sideProps = _ref.sideProps,
19
- sideToggle = _ref.sideToggle;
8
+ sideToggle = _ref.sideToggle,
9
+ selectedSideCoord = _ref.selectedSideCoord;
20
10
 
21
- var classes = useStyles();
22
11
  if (R.isNil(sideProps) || !R.is(Function, sideToggle)) {
23
12
  return null;
24
13
  }
25
- return React.createElement(
26
- IconButton,
27
- {
28
- size: 'small',
29
- className: classes.icon,
30
- onClick: function onClick() {
31
- return sideToggle(sideProps);
32
- },
33
- 'data-testid': 'ref-md-info'
34
- },
35
- React.createElement(InfoIcon, { fontSize: 'small' })
36
- );
14
+ var isSelected = R.equals(sideProps.coordinates, selectedSideCoord);
15
+ return React.createElement(InfoIcon, { onClick: function onClick() {
16
+ return sideToggle(sideProps);
17
+ }, isSelected: isSelected });
37
18
  };
38
19
 
39
20
  SideIcon.propTypes = process.env.NODE_ENV !== "production" ? {
21
+ selectedSideCoord: PropTypes.object,
40
22
  sideProps: PropTypes.object,
41
23
  sideToggle: PropTypes.func
42
24
  } : {};
@@ -52,7 +52,8 @@ var SubHeader = React.forwardRef(function (_ref, refs) {
52
52
  xLayoutData = _ref.xLayoutData,
53
53
  activeCellIds = _ref.activeCellIds,
54
54
  subHeadCellsWidth = _ref.subHeadCellsWidth,
55
- sideToggle = _ref.sideToggle;
55
+ sideToggle = _ref.sideToggle,
56
+ selectedSideCoord = _ref.selectedSideCoord;
56
57
 
57
58
  var classes = useStyles();
58
59
  var theme = useTheme();
@@ -98,7 +99,11 @@ var SubHeader = React.forwardRef(function (_ref, refs) {
98
99
  key: index,
99
100
  className: cx(classes.fillerCell, (_cx = {}, _cx[classes.highlight] = R.prop(index)(activeCellIds), _cx))
100
101
  },
101
- React.createElement(SideIcon, { sideProps: R.prop('sideProps', item), sideToggle: sideToggle }),
102
+ React.createElement(SideIcon, {
103
+ sideProps: R.prop('sideProps', item),
104
+ sideToggle: sideToggle,
105
+ selectedSideCoord: selectedSideCoord
106
+ }),
102
107
  React.createElement(Flags, { flags: R.prop('flags', item) })
103
108
  );
104
109
  }, headerData)
@@ -110,6 +115,7 @@ SubHeader.propTypes = process.env.NODE_ENV !== "production" ? {
110
115
  headerData: PropTypes.array,
111
116
  xLayoutData: PropTypes.array,
112
117
  sideToggle: PropTypes.func,
118
+ selectedSideCoord: PropTypes.object,
113
119
  subHeadCellsWidth: PropTypes.arrayOf(PropTypes.number)
114
120
  } : {};
115
121
 
@@ -52,6 +52,10 @@ var _utils = require('./utils');
52
52
 
53
53
  var _ = require('../');
54
54
 
55
+ var _InfoIcon = require('../InfoIcon/InfoIcon');
56
+
57
+ var _InfoIcon2 = _interopRequireDefault(_InfoIcon);
58
+
55
59
  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; } }
56
60
 
57
61
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -137,13 +141,33 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
137
141
  };
138
142
  });
139
143
 
140
- var DataHeader = function DataHeader(_ref4) {
141
- var children = _ref4.children,
142
- title = _ref4.title,
143
- _ref4$subtitle = _ref4.subtitle,
144
- subtitle = _ref4$subtitle === undefined ? [] : _ref4$subtitle,
145
- uprs = _ref4.uprs,
146
- disclaimer = _ref4.disclaimer;
144
+ var SideIcon = function SideIcon(_ref4) {
145
+ var sideProps = _ref4.sideProps,
146
+ sideToggle = _ref4.sideToggle;
147
+
148
+ if (R.isNil(sideProps) || !R.is(Function, sideToggle)) {
149
+ return null;
150
+ }
151
+ var isSelected = R.propOr(false, 'isSelected', sideProps);
152
+ return _react2.default.createElement(_InfoIcon2.default, { onClick: function onClick() {
153
+ return sideToggle(sideProps);
154
+ }, isSelected: isSelected });
155
+ };
156
+
157
+ SideIcon.propTypes = process.env.NODE_ENV !== "production" ? {
158
+ sideProps: _propTypes2.default.object,
159
+ sideToggle: _propTypes2.default.func
160
+ } : {};
161
+
162
+ var DataHeader = function DataHeader(_ref5) {
163
+ var children = _ref5.children,
164
+ title = _ref5.title,
165
+ _ref5$subtitle = _ref5.subtitle,
166
+ subtitle = _ref5$subtitle === undefined ? [] : _ref5$subtitle,
167
+ uprs = _ref5.uprs,
168
+ disclaimer = _ref5.disclaimer,
169
+ sideProps = _ref5.sideProps,
170
+ sideToggle = _ref5.sideToggle;
147
171
 
148
172
  var target = _react2.default.useRef(null);
149
173
 
@@ -226,6 +250,7 @@ var DataHeader = function DataHeader(_ref4) {
226
250
  _react2.default.createElement(
227
251
  'div',
228
252
  { className: classes.children },
253
+ _react2.default.createElement(SideIcon, { sideProps: sideProps, sideToggle: sideToggle }),
229
254
  R.not(R.isEmpty(reducedContent)) && _react2.default.createElement(
230
255
  _TooltipHeader2.default,
231
256
  { classes: classes, content: reducedContent },
@@ -262,6 +287,8 @@ DataHeader.propTypes = process.env.NODE_ENV !== "production" ? {
262
287
  header: _propTypes2.default.string,
263
288
  label: _propTypes2.default.string
264
289
  }),
290
+ sideProps: _propTypes2.default.object,
291
+ sideToggle: _propTypes2.default.func,
265
292
  disclaimer: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
266
293
  children: _propTypes2.default.node
267
294
  } : {};
@@ -0,0 +1,56 @@
1
+ 'use strict';
2
+
3
+ exports.__esModule = true;
4
+
5
+ var _react = require('react');
6
+
7
+ var _react2 = _interopRequireDefault(_react);
8
+
9
+ var _propTypes = require('prop-types');
10
+
11
+ var _propTypes2 = _interopRequireDefault(_propTypes);
12
+
13
+ var _styles = require('@material-ui/core/styles');
14
+
15
+ var _Info = require('@material-ui/icons//Info');
16
+
17
+ var _Info2 = _interopRequireDefault(_Info);
18
+
19
+ var _IconButton = require('@material-ui/core/IconButton');
20
+
21
+ var _IconButton2 = _interopRequireDefault(_IconButton);
22
+
23
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
+
25
+ var useStyles = (0, _styles.makeStyles)(function (theme) {
26
+ return {
27
+ icon: {
28
+ color: function color(_ref) {
29
+ var isSelected = _ref.isSelected;
30
+ return isSelected ? theme.palette.highlight.hl1 : theme.palette.primary.main;
31
+ },
32
+ padding: 0
33
+ }
34
+ };
35
+ });
36
+
37
+ var InfoIcon = function InfoIcon(_ref2) {
38
+ var onClick = _ref2.onClick,
39
+ _ref2$isSelected = _ref2.isSelected,
40
+ isSelected = _ref2$isSelected === undefined ? false : _ref2$isSelected;
41
+
42
+ var classes = useStyles({ isSelected: isSelected });
43
+ return _react2.default.createElement(
44
+ _IconButton2.default,
45
+ { size: 'small', className: classes.icon, onClick: onClick, 'data-testid': 'ref-md-info' },
46
+ _react2.default.createElement(_Info2.default, { fontSize: 'small' })
47
+ );
48
+ };
49
+
50
+ InfoIcon.propTypes = process.env.NODE_ENV !== "production" ? {
51
+ onClick: _propTypes2.default.func.isRequired,
52
+ isSelected: _propTypes2.default.bool
53
+ } : {};
54
+
55
+ exports.default = InfoIcon;
56
+ module.exports = exports['default'];
@@ -103,6 +103,7 @@ var TableHtml5 = function TableHtml5(_ref) {
103
103
  activeCellIds = _ref.activeCellIds,
104
104
  activeCellHandler = _ref.activeCellHandler,
105
105
  sideToggle = _ref.sideToggle,
106
+ selectedSideCoord = _ref.selectedSideCoord,
106
107
  _ref$testId = _ref.testId,
107
108
  testId = _ref$testId === undefined ? 'vis-table' : _ref$testId;
108
109
 
@@ -169,6 +170,7 @@ var TableHtml5 = function TableHtml5(_ref) {
169
170
  xLayoutData: xLayoutData,
170
171
  activeCellIds: activeCellIds,
171
172
  sideToggle: sideToggle,
173
+ selectedSideCoord: selectedSideCoord,
172
174
  ref: subHeadCellsRef,
173
175
  subHeadCellsWidth: subHeadCellsWidth
174
176
  })
@@ -187,6 +189,7 @@ var TableHtml5 = function TableHtml5(_ref) {
187
189
  activeCellIds: activeCellIds,
188
190
  activeCellHandler: activeCellHandler,
189
191
  sideToggle: sideToggle,
192
+ selectedSideCoord: selectedSideCoord,
190
193
  subHeadCellsWidth: subHeadCellsWidth
191
194
  });
192
195
  }, sectionsData)
@@ -201,6 +204,7 @@ TableHtml5.propTypes = process.env.NODE_ENV !== "production" ? {
201
204
  activeCellHandler: _propTypes2.default.func,
202
205
  activeCellIds: _propTypes2.default.object,
203
206
  sideToggle: _propTypes2.default.func,
207
+ selectedSideCoord: _propTypes2.default.object,
204
208
  testId: _propTypes2.default.string
205
209
  } : {};
206
210
 
@@ -117,6 +117,7 @@ var Section = function Section(_ref) {
117
117
  sectionIndex = _ref.sectionIndex,
118
118
  nbColumnsByRows = _ref.nbColumnsByRows,
119
119
  sideToggle = _ref.sideToggle,
120
+ selectedSideCoord = _ref.selectedSideCoord,
120
121
  subHeadCellsWidth = _ref.subHeadCellsWidth;
121
122
 
122
123
  var classes = useStyles();
@@ -135,7 +136,8 @@ var Section = function Section(_ref) {
135
136
  currentSection: currentSection,
136
137
  xLayoutDataLength: xLayoutDataLength,
137
138
  headerHeight: headerHeight,
138
- sideToggle: sideToggle
139
+ sideToggle: sideToggle,
140
+ selectedSideCoord: selectedSideCoord
139
141
  }),
140
142
  R.map(function (sectionbody) {
141
143
  var _cx2;
@@ -196,7 +198,11 @@ var Section = function Section(_ref) {
196
198
  _react2.default.createElement(
197
199
  'div',
198
200
  { className: classes.flagContainer },
199
- _react2.default.createElement(_sideIcon2.default, { sideProps: R.prop('sideProps', sectionbody), sideToggle: sideToggle }),
201
+ _react2.default.createElement(_sideIcon2.default, {
202
+ sideProps: R.prop('sideProps', sectionbody),
203
+ sideToggle: sideToggle,
204
+ selectedSideCoord: selectedSideCoord
205
+ }),
200
206
  _react2.default.createElement(_flags2.default, { flags: R.prop('flags', sectionbody) })
201
207
  )
202
208
  ),
@@ -242,6 +248,7 @@ Section.propTypes = process.env.NODE_ENV !== "production" ? {
242
248
  nbColumnsByRows: _propTypes2.default.array,
243
249
  maxColumns: _propTypes2.default.number,
244
250
  sideToggle: _propTypes2.default.func,
251
+ selectedSideCoord: _propTypes2.default.object,
245
252
  subHeadCellsWidth: _propTypes2.default.arrayOf(_propTypes2.default.number)
246
253
  } : {};
247
254
 
@@ -78,9 +78,6 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
78
78
  containerTextSection: {
79
79
  display: 'flex',
80
80
  alignItems: 'center'
81
- },
82
- flag: {
83
- height: 0
84
81
  }
85
82
  };
86
83
  });
@@ -92,7 +89,8 @@ var SectionHeader = function SectionHeader(_ref) {
92
89
  currentSection = _ref.currentSection,
93
90
  xLayoutDataLength = _ref.xLayoutDataLength,
94
91
  headerHeight = _ref.headerHeight,
95
- sideToggle = _ref.sideToggle;
92
+ sideToggle = _ref.sideToggle,
93
+ selectedSideCoord = _ref.selectedSideCoord;
96
94
 
97
95
  var classes = useStyles();
98
96
  if (R.compose(R.anyPass([R.isNil, R.isEmpty]), R.path([0, 'data']))(section)) return null;
@@ -146,8 +144,12 @@ var SectionHeader = function SectionHeader(_ref) {
146
144
  ),
147
145
  _react2.default.createElement(
148
146
  'div',
149
- { className: classes.flag },
150
- _react2.default.createElement(_sideIcon2.default, { sideProps: R.path([0, 'sideProps'], section), sideToggle: sideToggle }),
147
+ null,
148
+ _react2.default.createElement(_sideIcon2.default, {
149
+ sideProps: R.path([0, 'sideProps'], section),
150
+ sideToggle: sideToggle,
151
+ selectedSideCoord: selectedSideCoord
152
+ }),
151
153
  _react2.default.createElement(_flags2.default, { flags: R.path([0, 'flags'], section) })
152
154
  )
153
155
  )
@@ -161,7 +163,8 @@ SectionHeader.propTypes = process.env.NODE_ENV !== "production" ? {
161
163
  currentSection: _propTypes2.default.string,
162
164
  xLayoutDataLength: _propTypes2.default.number,
163
165
  headerHeight: _propTypes2.default.number,
164
- sideToggle: _propTypes2.default.func
166
+ sideToggle: _propTypes2.default.func,
167
+ selectedSideCoord: _propTypes2.default.object
165
168
  } : {};
166
169
 
167
170
  exports.default = SectionHeader;
@@ -14,52 +14,30 @@ var _propTypes = require('prop-types');
14
14
 
15
15
  var _propTypes2 = _interopRequireDefault(_propTypes);
16
16
 
17
- var _styles = require('@material-ui/core/styles');
17
+ var _InfoIcon = require('../InfoIcon/InfoIcon');
18
18
 
19
- var _Info = require('@material-ui/icons//Info');
20
-
21
- var _Info2 = _interopRequireDefault(_Info);
22
-
23
- var _IconButton = require('@material-ui/core/IconButton');
24
-
25
- var _IconButton2 = _interopRequireDefault(_IconButton);
19
+ var _InfoIcon2 = _interopRequireDefault(_InfoIcon);
26
20
 
27
21
  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; } }
28
22
 
29
23
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
30
24
 
31
- var useStyles = (0, _styles.makeStyles)(function (theme) {
32
- return {
33
- icon: {
34
- color: theme.palette.primary.main,
35
- padding: 0
36
- }
37
- };
38
- });
39
-
40
25
  var SideIcon = function SideIcon(_ref) {
41
26
  var sideProps = _ref.sideProps,
42
- sideToggle = _ref.sideToggle;
27
+ sideToggle = _ref.sideToggle,
28
+ selectedSideCoord = _ref.selectedSideCoord;
43
29
 
44
- var classes = useStyles();
45
30
  if (R.isNil(sideProps) || !R.is(Function, sideToggle)) {
46
31
  return null;
47
32
  }
48
- return _react2.default.createElement(
49
- _IconButton2.default,
50
- {
51
- size: 'small',
52
- className: classes.icon,
53
- onClick: function onClick() {
54
- return sideToggle(sideProps);
55
- },
56
- 'data-testid': 'ref-md-info'
57
- },
58
- _react2.default.createElement(_Info2.default, { fontSize: 'small' })
59
- );
33
+ var isSelected = R.equals(sideProps.coordinates, selectedSideCoord);
34
+ return _react2.default.createElement(_InfoIcon2.default, { onClick: function onClick() {
35
+ return sideToggle(sideProps);
36
+ }, isSelected: isSelected });
60
37
  };
61
38
 
62
39
  SideIcon.propTypes = process.env.NODE_ENV !== "production" ? {
40
+ selectedSideCoord: _propTypes2.default.object,
63
41
  sideProps: _propTypes2.default.object,
64
42
  sideToggle: _propTypes2.default.func
65
43
  } : {};
@@ -88,7 +88,8 @@ var SubHeader = _react2.default.forwardRef(function (_ref, refs) {
88
88
  xLayoutData = _ref.xLayoutData,
89
89
  activeCellIds = _ref.activeCellIds,
90
90
  subHeadCellsWidth = _ref.subHeadCellsWidth,
91
- sideToggle = _ref.sideToggle;
91
+ sideToggle = _ref.sideToggle,
92
+ selectedSideCoord = _ref.selectedSideCoord;
92
93
 
93
94
  var classes = useStyles();
94
95
  var theme = (0, _styles.useTheme)();
@@ -134,7 +135,11 @@ var SubHeader = _react2.default.forwardRef(function (_ref, refs) {
134
135
  key: index,
135
136
  className: (0, _classnames2.default)(classes.fillerCell, (_cx = {}, _cx[classes.highlight] = R.prop(index)(activeCellIds), _cx))
136
137
  },
137
- _react2.default.createElement(_sideIcon2.default, { sideProps: R.prop('sideProps', item), sideToggle: sideToggle }),
138
+ _react2.default.createElement(_sideIcon2.default, {
139
+ sideProps: R.prop('sideProps', item),
140
+ sideToggle: sideToggle,
141
+ selectedSideCoord: selectedSideCoord
142
+ }),
138
143
  _react2.default.createElement(_flags2.default, { flags: R.prop('flags', item) })
139
144
  );
140
145
  }, headerData)
@@ -146,6 +151,7 @@ SubHeader.propTypes = process.env.NODE_ENV !== "production" ? {
146
151
  headerData: _propTypes2.default.array,
147
152
  xLayoutData: _propTypes2.default.array,
148
153
  sideToggle: _propTypes2.default.func,
154
+ selectedSideCoord: _propTypes2.default.object,
149
155
  subHeadCellsWidth: _propTypes2.default.arrayOf(_propTypes2.default.number)
150
156
  } : {};
151
157
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sis-cc/dotstatsuite-visions",
3
- "version": "7.0.0",
3
+ "version": "7.1.0",
4
4
  "description": "Library of visual components",
5
5
  "author": "OECD",
6
6
  "homepage": "https://visions-qa.siscc.org/#o",