@sis-cc/dotstatsuite-visions 12.27.0 → 12.28.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.
@@ -1,5 +1,7 @@
1
1
  var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
2
2
 
3
+ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
4
+
3
5
  import React from 'react';
4
6
  import PropTypes from 'prop-types';
5
7
  import * as R from 'ramda';
@@ -89,20 +91,31 @@ var useStyles = makeStyles(function (theme) {
89
91
  }
90
92
  };
91
93
  });
94
+ var BasicHTMLRenderer = function BasicHTMLRenderer(_ref) {
95
+ var html = _ref.html,
96
+ rest = _objectWithoutProperties(_ref, ['html']);
97
+
98
+ return React.createElement('span', _extends({ dangerouslySetInnerHTML: { __html: html } }, rest));
99
+ };
92
100
 
93
- var DataHeader = function DataHeader(_ref) {
101
+ BasicHTMLRenderer.propTypes = process.env.NODE_ENV !== "production" ? {
102
+ html: PropTypes.string
103
+ } : {};
104
+ var DataHeader = function DataHeader(_ref2) {
94
105
  var _cx;
95
106
 
96
- var children = _ref.children,
97
- title = _ref.title,
98
- _ref$subtitle = _ref.subtitle,
99
- subtitle = _ref$subtitle === undefined ? [] : _ref$subtitle,
100
- combinations = _ref.combinations,
101
- disclaimer = _ref.disclaimer,
102
- sideProps = _ref.sideProps,
103
- SideIcon = _ref.SideIcon,
104
- _ref$isSticky = _ref.isSticky,
105
- isSticky = _ref$isSticky === undefined ? false : _ref$isSticky;
107
+ var children = _ref2.children,
108
+ title = _ref2.title,
109
+ _ref2$subtitle = _ref2.subtitle,
110
+ subtitle = _ref2$subtitle === undefined ? [] : _ref2$subtitle,
111
+ combinations = _ref2.combinations,
112
+ disclaimer = _ref2.disclaimer,
113
+ sideProps = _ref2.sideProps,
114
+ SideIcon = _ref2.SideIcon,
115
+ _ref2$isSticky = _ref2.isSticky,
116
+ isSticky = _ref2$isSticky === undefined ? false : _ref2$isSticky,
117
+ _ref2$HTMLRenderer = _ref2.HTMLRenderer,
118
+ HTMLRenderer = _ref2$HTMLRenderer === undefined ? BasicHTMLRenderer : _ref2$HTMLRenderer;
106
119
 
107
120
  var target = React.useRef(null);
108
121
 
@@ -157,7 +170,11 @@ var DataHeader = function DataHeader(_ref) {
157
170
  { className: classes.sideIconContainer },
158
171
  React.createElement(SideIcon, { sideProps: sideProps })
159
172
  ),
160
- React.createElement(Flags, { classes: classes, content: R.propOr([], 'flags', title) })
173
+ React.createElement(Flags, {
174
+ classes: classes,
175
+ HTMLRenderer: HTMLRenderer,
176
+ content: R.propOr([], 'flags', title)
177
+ })
161
178
  ),
162
179
  isWidthUp(T4_BREAKPOINTS.xs3) && subtitle && R.not(R.isEmpty(subtitle)) && React.createElement(
163
180
  'div',
@@ -178,7 +195,11 @@ var DataHeader = function DataHeader(_ref) {
178
195
  { variant: 'inherit' },
179
196
  sub.label
180
197
  ),
181
- R.not(R.isEmpty(R.propOr([], 'flags', sub))) && React.createElement(Flags, { classes: classes, content: R.prop('flags', sub) }),
198
+ R.not(R.isEmpty(R.propOr([], 'flags', sub))) && React.createElement(Flags, {
199
+ classes: classes,
200
+ HTMLRenderer: HTMLRenderer,
201
+ content: R.prop('flags', sub)
202
+ }),
182
203
  R.lt(index + 1, subtitleLength) && React.createElement(
183
204
  'svg',
184
205
  { width: '24', height: '8' },
@@ -205,7 +226,11 @@ var DataHeader = function DataHeader(_ref) {
205
226
  { variant: 'inherit' },
206
227
  comb.label
207
228
  ),
208
- R.not(R.isEmpty(R.propOr([], 'flags', comb))) && React.createElement(Flags, { classes: classes, content: R.prop('flags', comb) }),
229
+ R.not(R.isEmpty(R.propOr([], 'flags', comb))) && React.createElement(Flags, {
230
+ classes: classes,
231
+ HTMLRenderer: HTMLRenderer,
232
+ content: R.prop('flags', comb)
233
+ }),
209
234
  R.lt(index + 1, combinationsLength) && React.createElement(
210
235
  'svg',
211
236
  { width: '24', height: '8' },
@@ -229,7 +254,7 @@ var DataHeader = function DataHeader(_ref) {
229
254
  { className: classes.children },
230
255
  R.not(R.isEmpty(reducedContent)) && React.createElement(
231
256
  TooltipHeader,
232
- { classes: classes, content: reducedContent },
257
+ { classes: classes, content: reducedContent, HTMLRenderer: HTMLRenderer },
233
258
  React.createElement(Info, { className: classes.infoIcon })
234
259
  ),
235
260
  children
@@ -267,7 +292,8 @@ DataHeader.propTypes = process.env.NODE_ENV !== "production" ? {
267
292
  SideIcon: PropTypes.func,
268
293
  disclaimer: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
269
294
  children: PropTypes.node,
270
- isSticky: PropTypes.bool
295
+ isSticky: PropTypes.bool,
296
+ HTMLRenderer: PropTypes.func
271
297
  } : {};
272
298
 
273
299
  export default DataHeader;
@@ -6,7 +6,8 @@ import { TooltipHeader } from './TooltipHeader';
6
6
 
7
7
  var Flags = function Flags(_ref) {
8
8
  var classes = _ref.classes,
9
- content = _ref.content;
9
+ content = _ref.content,
10
+ HTMLRenderer = _ref.HTMLRenderer;
10
11
 
11
12
  var codes = R.pipe(R.pluck('code'), R.filter(R.identity))(content);
12
13
  var hasCodes = !R.isEmpty(codes);
@@ -16,7 +17,7 @@ var Flags = function Flags(_ref) {
16
17
  })(codes);
17
18
  return React.createElement(
18
19
  TooltipHeader,
19
- { classes: classes, content: content },
20
+ { classes: classes, content: content, HTMLRenderer: HTMLRenderer },
20
21
  React.createElement(
21
22
  'sup',
22
23
  { className: classes.svgWrapper },
@@ -28,6 +29,7 @@ var Flags = function Flags(_ref) {
28
29
 
29
30
  Flags.propTypes = process.env.NODE_ENV !== "production" ? {
30
31
  classes: PropTypes.object,
32
+ HTMLRenderer: PropTypes.func,
31
33
  content: PropTypes.arrayOf(PropTypes.shape({
32
34
  header: PropTypes.string,
33
35
  label: PropTypes.string,
@@ -7,6 +7,7 @@ import Title from './Title';
7
7
  export var TooltipHeader = function TooltipHeader(_ref) {
8
8
  var children = _ref.children,
9
9
  classes = _ref.classes,
10
+ HTMLRenderer = _ref.HTMLRenderer,
10
11
  _ref$content = _ref.content,
11
12
  content = _ref$content === undefined ? [] : _ref$content;
12
13
 
@@ -24,7 +25,7 @@ export var TooltipHeader = function TooltipHeader(_ref) {
24
25
  'li',
25
26
  { key: label + '-' + index },
26
27
  React.createElement(Title, { header: header }),
27
- label,
28
+ R.is(Function, HTMLRenderer) ? React.createElement(HTMLRenderer, { html: label }) : label,
28
29
  R.not(R.isEmpty(sub)) && React.createElement(
29
30
  'ul',
30
31
  { className: classes.subContent },
@@ -33,7 +34,7 @@ export var TooltipHeader = function TooltipHeader(_ref) {
33
34
  return React.createElement(
34
35
  'li',
35
36
  { key: label + '-' + index },
36
- label
37
+ R.is(Function, HTMLRenderer) ? React.createElement(HTMLRenderer, { html: label }) : label
37
38
  );
38
39
  }, sub)
39
40
  )
@@ -70,7 +71,8 @@ TooltipHeader.propTypes = process.env.NODE_ENV !== "production" ? {
70
71
  sub: PropTypes.arrayOf(PropTypes.shape({
71
72
  label: PropTypes.string
72
73
  }))
73
- }))
74
+ })),
75
+ HTMLRenderer: PropTypes.func
74
76
  } : {};
75
77
 
76
78
  export default TooltipHeader;
@@ -2,7 +2,7 @@ var _extends = Object.assign || function (target) { for (var i = 1; i < argument
2
2
 
3
3
  function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
4
4
 
5
- import React, { useState, useEffect } from 'react';
5
+ import React, { useState, useEffect, useMemo } from 'react';
6
6
  import PropTypes from 'prop-types';
7
7
  import * as R from 'ramda';
8
8
  import cx from 'classnames';
@@ -187,9 +187,9 @@ var DynamicDrawer = function DynamicDrawer(props) {
187
187
  open = _useState[0],
188
188
  setOpen = _useState[1];
189
189
 
190
- var _useState2 = useState({}),
191
- filter = _useState2[0],
192
- setFilter = _useState2[1];
190
+ var _useState2 = useState(null),
191
+ selectedId = _useState2[0],
192
+ setSelectedId = _useState2[1];
193
193
 
194
194
  var _useState3 = useState({}),
195
195
  selection = _useState3[0],
@@ -242,9 +242,12 @@ var DynamicDrawer = function DynamicDrawer(props) {
242
242
  rest = _objectWithoutProperties(props, ['list', 'labelRenderer', 'onClick', 'handleChangePanel', 'onClosePanel', 'isNarrow', 'labels', 'disableAccessor', 'isApplyHiddenNarrow', 'expandAll', 'collapseAll', 'expandedIds', 'allItems', 'periodPanel', 'classes', 'testId', 'tagAccessor', 'tagAriaLabel', 'children', 'styles']);
243
243
 
244
244
  var handleChange = function handleChange(e, item) {
245
- setSelection(_extends({}, allSelection[item.id]));
245
+ var filterSelection = R.pipe(R.propOr([], item.id), function (arr) {
246
+ return R.zipObj(arr, arr);
247
+ })(allSelection);
248
+ setSelection(_extends({}, filterSelection));
246
249
  handleChangePanel(item.id, selection, allSelection);
247
- setFilter(item);
250
+ setSelectedId(item.id);
248
251
  setOpen(true);
249
252
  };
250
253
  var handleSubmit = function handleSubmit() {
@@ -252,17 +255,24 @@ var DynamicDrawer = function DynamicDrawer(props) {
252
255
  setAllSelection({});
253
256
  setSelection({});
254
257
  setOpen(false);
255
- setFilter({});
258
+ setSelectedId(null);
256
259
  onClosePanel();
257
260
  };
258
261
  var handleClose = function handleClose() {
259
262
  setOpen(false);
260
263
  setAllSelection({});
261
264
  setSelection({});
262
- setFilter({});
265
+ setSelectedId(null);
263
266
  onClosePanel();
264
267
  };
265
268
 
269
+ var filter = useMemo(function () {
270
+ if (!selectedId) return {};
271
+ return R.find(function (item) {
272
+ return item.id === selectedId;
273
+ })(list);
274
+ }, [selectedId, list]);
275
+
266
276
  var isHidden = open && isNarrow;
267
277
  var isNotHiddenButton = (!R.isEmpty(allSelection) || !isApplyHiddenNarrow) && isNarrow;
268
278
  useEffect(function () {
@@ -327,7 +337,7 @@ var DynamicDrawer = function DynamicDrawer(props) {
327
337
  component: function component(props) {
328
338
  return PaperComponent(_extends({
329
339
  label: labelRenderer(item),
330
- selected: filter.id === item.id,
340
+ selected: selectedId === item.id,
331
341
  tag: R.isNil(item.tag) ? React.createElement(
332
342
  Chip,
333
343
  { items: item.values, tagValueLabel: tagValueLabel },
@@ -387,8 +397,8 @@ var DynamicDrawer = function DynamicDrawer(props) {
387
397
  styles: styles
388
398
  },
389
399
  R.equals(filter.id, periodPanel) ? children : React.createElement(AdvancedSelection, _extends({
390
- id: filter.id,
391
- items: filter.values,
400
+ id: selectedId,
401
+ items: filter.values || [],
392
402
  isOpen: open,
393
403
  labelRenderer: labelRenderer,
394
404
  disableAccessor: disableAccessor ? R.pipe(R.prop('isEnabled'), R.not) : undefined,
@@ -58,6 +58,8 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj;
58
58
 
59
59
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
60
60
 
61
+ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
62
+
61
63
  var useStyles = (0, _makeStyles2.default)(function (theme) {
62
64
  return {
63
65
  header: {
@@ -132,20 +134,31 @@ var useStyles = (0, _makeStyles2.default)(function (theme) {
132
134
  }
133
135
  };
134
136
  });
137
+ var BasicHTMLRenderer = function BasicHTMLRenderer(_ref) {
138
+ var html = _ref.html,
139
+ rest = _objectWithoutProperties(_ref, ['html']);
140
+
141
+ return _react2.default.createElement('span', _extends({ dangerouslySetInnerHTML: { __html: html } }, rest));
142
+ };
135
143
 
136
- var DataHeader = function DataHeader(_ref) {
144
+ BasicHTMLRenderer.propTypes = process.env.NODE_ENV !== "production" ? {
145
+ html: _propTypes2.default.string
146
+ } : {};
147
+ var DataHeader = function DataHeader(_ref2) {
137
148
  var _cx;
138
149
 
139
- var children = _ref.children,
140
- title = _ref.title,
141
- _ref$subtitle = _ref.subtitle,
142
- subtitle = _ref$subtitle === undefined ? [] : _ref$subtitle,
143
- combinations = _ref.combinations,
144
- disclaimer = _ref.disclaimer,
145
- sideProps = _ref.sideProps,
146
- SideIcon = _ref.SideIcon,
147
- _ref$isSticky = _ref.isSticky,
148
- isSticky = _ref$isSticky === undefined ? false : _ref$isSticky;
150
+ var children = _ref2.children,
151
+ title = _ref2.title,
152
+ _ref2$subtitle = _ref2.subtitle,
153
+ subtitle = _ref2$subtitle === undefined ? [] : _ref2$subtitle,
154
+ combinations = _ref2.combinations,
155
+ disclaimer = _ref2.disclaimer,
156
+ sideProps = _ref2.sideProps,
157
+ SideIcon = _ref2.SideIcon,
158
+ _ref2$isSticky = _ref2.isSticky,
159
+ isSticky = _ref2$isSticky === undefined ? false : _ref2$isSticky,
160
+ _ref2$HTMLRenderer = _ref2.HTMLRenderer,
161
+ HTMLRenderer = _ref2$HTMLRenderer === undefined ? BasicHTMLRenderer : _ref2$HTMLRenderer;
149
162
 
150
163
  var target = _react2.default.useRef(null);
151
164
 
@@ -200,7 +213,11 @@ var DataHeader = function DataHeader(_ref) {
200
213
  { className: classes.sideIconContainer },
201
214
  _react2.default.createElement(SideIcon, { sideProps: sideProps })
202
215
  ),
203
- _react2.default.createElement(_Flags2.default, { classes: classes, content: R.propOr([], 'flags', title) })
216
+ _react2.default.createElement(_Flags2.default, {
217
+ classes: classes,
218
+ HTMLRenderer: HTMLRenderer,
219
+ content: R.propOr([], 'flags', title)
220
+ })
204
221
  ),
205
222
  isWidthUp(_theme.T4_BREAKPOINTS.xs3) && subtitle && R.not(R.isEmpty(subtitle)) && _react2.default.createElement(
206
223
  'div',
@@ -221,7 +238,11 @@ var DataHeader = function DataHeader(_ref) {
221
238
  { variant: 'inherit' },
222
239
  sub.label
223
240
  ),
224
- R.not(R.isEmpty(R.propOr([], 'flags', sub))) && _react2.default.createElement(_Flags2.default, { classes: classes, content: R.prop('flags', sub) }),
241
+ R.not(R.isEmpty(R.propOr([], 'flags', sub))) && _react2.default.createElement(_Flags2.default, {
242
+ classes: classes,
243
+ HTMLRenderer: HTMLRenderer,
244
+ content: R.prop('flags', sub)
245
+ }),
225
246
  R.lt(index + 1, subtitleLength) && _react2.default.createElement(
226
247
  'svg',
227
248
  { width: '24', height: '8' },
@@ -248,7 +269,11 @@ var DataHeader = function DataHeader(_ref) {
248
269
  { variant: 'inherit' },
249
270
  comb.label
250
271
  ),
251
- R.not(R.isEmpty(R.propOr([], 'flags', comb))) && _react2.default.createElement(_Flags2.default, { classes: classes, content: R.prop('flags', comb) }),
272
+ R.not(R.isEmpty(R.propOr([], 'flags', comb))) && _react2.default.createElement(_Flags2.default, {
273
+ classes: classes,
274
+ HTMLRenderer: HTMLRenderer,
275
+ content: R.prop('flags', comb)
276
+ }),
252
277
  R.lt(index + 1, combinationsLength) && _react2.default.createElement(
253
278
  'svg',
254
279
  { width: '24', height: '8' },
@@ -272,7 +297,7 @@ var DataHeader = function DataHeader(_ref) {
272
297
  { className: classes.children },
273
298
  R.not(R.isEmpty(reducedContent)) && _react2.default.createElement(
274
299
  _TooltipHeader2.default,
275
- { classes: classes, content: reducedContent },
300
+ { classes: classes, content: reducedContent, HTMLRenderer: HTMLRenderer },
276
301
  _react2.default.createElement(_Info2.default, { className: classes.infoIcon })
277
302
  ),
278
303
  children
@@ -310,7 +335,8 @@ DataHeader.propTypes = process.env.NODE_ENV !== "production" ? {
310
335
  SideIcon: _propTypes2.default.func,
311
336
  disclaimer: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
312
337
  children: _propTypes2.default.node,
313
- isSticky: _propTypes2.default.bool
338
+ isSticky: _propTypes2.default.bool,
339
+ HTMLRenderer: _propTypes2.default.func
314
340
  } : {};
315
341
 
316
342
  exports.default = DataHeader;
@@ -24,7 +24,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
24
24
 
25
25
  var Flags = function Flags(_ref) {
26
26
  var classes = _ref.classes,
27
- content = _ref.content;
27
+ content = _ref.content,
28
+ HTMLRenderer = _ref.HTMLRenderer;
28
29
 
29
30
  var codes = R.pipe(R.pluck('code'), R.filter(R.identity))(content);
30
31
  var hasCodes = !R.isEmpty(codes);
@@ -34,7 +35,7 @@ var Flags = function Flags(_ref) {
34
35
  })(codes);
35
36
  return _react2.default.createElement(
36
37
  _TooltipHeader.TooltipHeader,
37
- { classes: classes, content: content },
38
+ { classes: classes, content: content, HTMLRenderer: HTMLRenderer },
38
39
  _react2.default.createElement(
39
40
  'sup',
40
41
  { className: classes.svgWrapper },
@@ -46,6 +47,7 @@ var Flags = function Flags(_ref) {
46
47
 
47
48
  Flags.propTypes = process.env.NODE_ENV !== "production" ? {
48
49
  classes: _propTypes2.default.object,
50
+ HTMLRenderer: _propTypes2.default.func,
49
51
  content: _propTypes2.default.arrayOf(_propTypes2.default.shape({
50
52
  header: _propTypes2.default.string,
51
53
  label: _propTypes2.default.string,
@@ -28,6 +28,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
28
28
  var TooltipHeader = exports.TooltipHeader = function TooltipHeader(_ref) {
29
29
  var children = _ref.children,
30
30
  classes = _ref.classes,
31
+ HTMLRenderer = _ref.HTMLRenderer,
31
32
  _ref$content = _ref.content,
32
33
  content = _ref$content === undefined ? [] : _ref$content;
33
34
 
@@ -45,7 +46,7 @@ var TooltipHeader = exports.TooltipHeader = function TooltipHeader(_ref) {
45
46
  'li',
46
47
  { key: label + '-' + index },
47
48
  _react2.default.createElement(_Title2.default, { header: header }),
48
- label,
49
+ R.is(Function, HTMLRenderer) ? _react2.default.createElement(HTMLRenderer, { html: label }) : label,
49
50
  R.not(R.isEmpty(sub)) && _react2.default.createElement(
50
51
  'ul',
51
52
  { className: classes.subContent },
@@ -54,7 +55,7 @@ var TooltipHeader = exports.TooltipHeader = function TooltipHeader(_ref) {
54
55
  return _react2.default.createElement(
55
56
  'li',
56
57
  { key: label + '-' + index },
57
- label
58
+ R.is(Function, HTMLRenderer) ? _react2.default.createElement(HTMLRenderer, { html: label }) : label
58
59
  );
59
60
  }, sub)
60
61
  )
@@ -91,7 +92,8 @@ TooltipHeader.propTypes = process.env.NODE_ENV !== "production" ? {
91
92
  sub: _propTypes2.default.arrayOf(_propTypes2.default.shape({
92
93
  label: _propTypes2.default.string
93
94
  }))
94
- }))
95
+ })),
96
+ HTMLRenderer: _propTypes2.default.func
95
97
  } : {};
96
98
 
97
99
  exports.default = TooltipHeader;
@@ -226,9 +226,9 @@ var DynamicDrawer = function DynamicDrawer(props) {
226
226
  open = _useState[0],
227
227
  setOpen = _useState[1];
228
228
 
229
- var _useState2 = (0, _react.useState)({}),
230
- filter = _useState2[0],
231
- setFilter = _useState2[1];
229
+ var _useState2 = (0, _react.useState)(null),
230
+ selectedId = _useState2[0],
231
+ setSelectedId = _useState2[1];
232
232
 
233
233
  var _useState3 = (0, _react.useState)({}),
234
234
  selection = _useState3[0],
@@ -281,9 +281,12 @@ var DynamicDrawer = function DynamicDrawer(props) {
281
281
  rest = _objectWithoutProperties(props, ['list', 'labelRenderer', 'onClick', 'handleChangePanel', 'onClosePanel', 'isNarrow', 'labels', 'disableAccessor', 'isApplyHiddenNarrow', 'expandAll', 'collapseAll', 'expandedIds', 'allItems', 'periodPanel', 'classes', 'testId', 'tagAccessor', 'tagAriaLabel', 'children', 'styles']);
282
282
 
283
283
  var handleChange = function handleChange(e, item) {
284
- setSelection(_extends({}, allSelection[item.id]));
284
+ var filterSelection = R.pipe(R.propOr([], item.id), function (arr) {
285
+ return R.zipObj(arr, arr);
286
+ })(allSelection);
287
+ setSelection(_extends({}, filterSelection));
285
288
  handleChangePanel(item.id, selection, allSelection);
286
- setFilter(item);
289
+ setSelectedId(item.id);
287
290
  setOpen(true);
288
291
  };
289
292
  var handleSubmit = function handleSubmit() {
@@ -291,17 +294,24 @@ var DynamicDrawer = function DynamicDrawer(props) {
291
294
  setAllSelection({});
292
295
  setSelection({});
293
296
  setOpen(false);
294
- setFilter({});
297
+ setSelectedId(null);
295
298
  onClosePanel();
296
299
  };
297
300
  var handleClose = function handleClose() {
298
301
  setOpen(false);
299
302
  setAllSelection({});
300
303
  setSelection({});
301
- setFilter({});
304
+ setSelectedId(null);
302
305
  onClosePanel();
303
306
  };
304
307
 
308
+ var filter = (0, _react.useMemo)(function () {
309
+ if (!selectedId) return {};
310
+ return R.find(function (item) {
311
+ return item.id === selectedId;
312
+ })(list);
313
+ }, [selectedId, list]);
314
+
305
315
  var isHidden = open && isNarrow;
306
316
  var isNotHiddenButton = (!R.isEmpty(allSelection) || !isApplyHiddenNarrow) && isNarrow;
307
317
  (0, _react.useEffect)(function () {
@@ -366,7 +376,7 @@ var DynamicDrawer = function DynamicDrawer(props) {
366
376
  component: function component(props) {
367
377
  return PaperComponent(_extends({
368
378
  label: labelRenderer(item),
369
- selected: filter.id === item.id,
379
+ selected: selectedId === item.id,
370
380
  tag: R.isNil(item.tag) ? _react2.default.createElement(
371
381
  Chip,
372
382
  { items: item.values, tagValueLabel: tagValueLabel },
@@ -426,8 +436,8 @@ var DynamicDrawer = function DynamicDrawer(props) {
426
436
  styles: styles
427
437
  },
428
438
  R.equals(filter.id, periodPanel) ? children : _react2.default.createElement(_AdvancedSelection2.default, _extends({
429
- id: filter.id,
430
- items: filter.values,
439
+ id: selectedId,
440
+ items: filter.values || [],
431
441
  isOpen: open,
432
442
  labelRenderer: labelRenderer,
433
443
  disableAccessor: disableAccessor ? R.pipe(R.prop('isEnabled'), R.not) : undefined,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sis-cc/dotstatsuite-visions",
3
- "version": "12.27.0",
3
+ "version": "12.28.0",
4
4
  "description": "Library of visual components",
5
5
  "author": "OECD",
6
6
  "homepage": "https://visions-qa.siscc.org/#o",