@sis-cc/dotstatsuite-visions 12.26.0 → 12.26.1

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.
@@ -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,
@@ -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.26.0",
3
+ "version": "12.26.1",
4
4
  "description": "Library of visual components",
5
5
  "author": "OECD",
6
6
  "homepage": "https://visions-qa.siscc.org/#o",
@@ -9,7 +9,7 @@
9
9
  "main": "lib/index.js",
10
10
  "module": "es/index.js",
11
11
  "engines": {
12
- "node": ">=14"
12
+ "node": ">=18"
13
13
  },
14
14
  "files": [
15
15
  "css",
@@ -18,37 +18,36 @@
18
18
  "umd"
19
19
  ],
20
20
  "scripts": {
21
- "build": "nwb build-react-component --copy-files --no-demo && node scripts/doc && nwb build-demo",
22
- "build:dev": "nwb build-react-component --copy-files --no-demo",
21
+ "peers": "install-peers --force-run",
22
+ "build": "cross-env NODE_OPTIONS=--openssl-legacy-provider nwb build-react-component --copy-files --no-demo && node scripts/doc && cross-env NODE_OPTIONS=--openssl-legacy-provider nwb build-demo",
23
+ "build:dev": "cross-env NODE_OPTIONS=--openssl-legacy-provider nwb build-react-component --copy-files --no-demo",
23
24
  "clean": "nwb clean-module && nwb clean-demo",
24
25
  "prepublishOnly": "npm run build",
25
- "start": "nwb serve-react-demo",
26
+ "start": "cross-env NODE_OPTIONS=--openssl-legacy-provider nwb serve-react-demo",
26
27
  "test": "jest",
27
28
  "test:watch": "jest --watch --no-cache",
28
29
  "lint": "eslint src/ --color",
29
30
  "precommit": "lint-staged"
30
31
  },
31
32
  "dependencies": {
32
- "@emotion/react": "^11.13.0",
33
- "@emotion/styled": "^11.13.0",
34
33
  "@hello-pangea/dnd": "^16.6.0",
35
- "@mui/icons-material": "^5.16.5",
36
- "@mui/material": "^5.16.5",
37
- "@mui/styles": "^5.16.5",
38
34
  "@react-hook/size": "^2.1.1",
39
35
  "classnames": "^2.2.6",
40
- "date-fns": "^1.30.1",
41
36
  "isemail": "^3.2.0",
42
- "numeral": "^2.0.6",
43
37
  "prop-types": "^15.7.2",
44
38
  "ramda": "^0.27.0",
45
- "react-draggable": "^4.4.5",
39
+ "react-draggable": "4.4.5",
46
40
  "react-error-boundary": "^4.0.10",
47
41
  "react-virtualized": "^9.21.2"
48
42
  },
49
43
  "peerDependencies": {
50
- "@mui/icons-material": "^5.16.5",
51
- "@mui/material": "^5.16.5",
44
+ "@emotion/react": "^11",
45
+ "@emotion/styled": "^11",
46
+ "@mui/icons-material": "^5",
47
+ "@mui/material": "^5",
48
+ "@mui/styles": "^5",
49
+ "date-fns": "^1.30.1",
50
+ "numeral": "^2.0.6",
52
51
  "react": "^18",
53
52
  "react-dom": "^18"
54
53
  },
@@ -56,12 +55,11 @@
56
55
  "@babel/eslint-parser": "^7.5.4",
57
56
  "@babel/plugin-syntax-dynamic-import": "^7.2.0",
58
57
  "@cfaester/enzyme-adapter-react-18": "^0.7.0",
59
- "@mui/icons-material": "^5.16.5",
60
- "@mui/material": "^5.16.5",
61
58
  "@testing-library/jest-dom": "^5.16.5",
62
59
  "@testing-library/react": "^14.0.0",
63
60
  "babel-jest": "^24.8.0",
64
61
  "babel-preset-react-app": "^9.0.0",
62
+ "cross-env": "^7.0.3",
65
63
  "dox": "^0.9.0",
66
64
  "eslint": "^8.39.0",
67
65
  "eslint-plugin-import": "^2.27.5",
@@ -71,6 +69,7 @@
71
69
  "eslint-plugin-react-hooks": "^4.6.0",
72
70
  "husky": "^2.7.0",
73
71
  "identity-obj-proxy": "^3.0.0",
72
+ "install-peers-cli": "^2.2.0",
74
73
  "jest": "^24.8.0",
75
74
  "jss": "^10.10.0",
76
75
  "jss-rtl": "^0.2.3",
@@ -79,9 +78,7 @@
79
78
  "nwb": "0.23.0",
80
79
  "prettier": "^2.8.8",
81
80
  "pretty-quick": "^3.1.3",
82
- "react": "^18",
83
81
  "react-a11y": "^1.1.0",
84
- "react-dom": "^18",
85
82
  "react-helmet": "^5.2.1",
86
83
  "react-scrollable-anchor": "^0.6.1",
87
84
  "react-syntax-highlighter": "^10.2.1",