@sis-cc/dotstatsuite-visions 12.26.0 → 12.26.2
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';
|
|
@@ -69,7 +69,7 @@ var TabPanel = function TabPanel(props) {
|
|
|
69
69
|
id: 'vertical-tabpanel-' + item.index,
|
|
70
70
|
'aria-labelledby': 'vertical-tab-' + item.index,
|
|
71
71
|
className: isNarrow ? classes.tabPanelNarrow : classes.tabPanel,
|
|
72
|
-
style: styles
|
|
72
|
+
style: { width: R.prop('width', styles) }
|
|
73
73
|
}, other),
|
|
74
74
|
open && React.createElement(
|
|
75
75
|
Box,
|
|
@@ -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
|
-
|
|
192
|
-
|
|
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
|
-
|
|
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
|
-
|
|
250
|
+
setSelectedId(item.id);
|
|
248
251
|
setOpen(true);
|
|
249
252
|
};
|
|
250
253
|
var handleSubmit = function handleSubmit() {
|
|
@@ -252,21 +255,29 @@ var DynamicDrawer = function DynamicDrawer(props) {
|
|
|
252
255
|
setAllSelection({});
|
|
253
256
|
setSelection({});
|
|
254
257
|
setOpen(false);
|
|
255
|
-
|
|
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
|
-
|
|
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;
|
|
278
|
+
var isApplyButtonShown = open && !isNarrow;
|
|
268
279
|
useEffect(function () {
|
|
269
|
-
if (
|
|
280
|
+
if (isApplyButtonShown) {
|
|
270
281
|
document.body.style.overflow = 'hidden';
|
|
271
282
|
} else {
|
|
272
283
|
document.body.style.overflow = '';
|
|
@@ -279,7 +290,7 @@ var DynamicDrawer = function DynamicDrawer(props) {
|
|
|
279
290
|
return React.createElement(
|
|
280
291
|
'div',
|
|
281
292
|
{ style: { display: 'flex', flexDirection: 'row' } },
|
|
282
|
-
|
|
293
|
+
isApplyButtonShown && React.createElement(Box, {
|
|
283
294
|
onClick: function onClick() {
|
|
284
295
|
return handleClose();
|
|
285
296
|
},
|
|
@@ -298,8 +309,7 @@ var DynamicDrawer = function DynamicDrawer(props) {
|
|
|
298
309
|
orientation: 'vertical',
|
|
299
310
|
variant: 'scrollable',
|
|
300
311
|
TabIndicatorProps: { style: { transition: 'none' } },
|
|
301
|
-
scrollButtons:
|
|
302
|
-
disableScrollButtons: true,
|
|
312
|
+
scrollButtons: isApplyButtonShown,
|
|
303
313
|
value: false,
|
|
304
314
|
onChange: handleChange,
|
|
305
315
|
'aria-label': 'filters',
|
|
@@ -307,11 +317,10 @@ var DynamicDrawer = function DynamicDrawer(props) {
|
|
|
307
317
|
sx: {
|
|
308
318
|
display: isHidden ? 'none' : 'flex',
|
|
309
319
|
width: '100%',
|
|
310
|
-
height: '100%',
|
|
320
|
+
height: isApplyButtonShown ? R.prop('height', styles) : '100%',
|
|
311
321
|
borderRight: 1,
|
|
312
322
|
borderColor: 'divider',
|
|
313
|
-
zIndex: 1000
|
|
314
|
-
overflow: 'auto'
|
|
323
|
+
zIndex: 1000
|
|
315
324
|
}
|
|
316
325
|
},
|
|
317
326
|
R.map(function (item) {
|
|
@@ -327,7 +336,7 @@ var DynamicDrawer = function DynamicDrawer(props) {
|
|
|
327
336
|
component: function component(props) {
|
|
328
337
|
return PaperComponent(_extends({
|
|
329
338
|
label: labelRenderer(item),
|
|
330
|
-
selected:
|
|
339
|
+
selected: selectedId === item.id,
|
|
331
340
|
tag: R.isNil(item.tag) ? React.createElement(
|
|
332
341
|
Chip,
|
|
333
342
|
{ items: item.values, tagValueLabel: tagValueLabel },
|
|
@@ -349,7 +358,7 @@ var DynamicDrawer = function DynamicDrawer(props) {
|
|
|
349
358
|
disableFocusRipple: true
|
|
350
359
|
});
|
|
351
360
|
})(list),
|
|
352
|
-
|
|
361
|
+
isApplyButtonShown && React.createElement(
|
|
353
362
|
Button,
|
|
354
363
|
{
|
|
355
364
|
sx: { float: 'bottom', margin: '10px' },
|
|
@@ -387,8 +396,8 @@ var DynamicDrawer = function DynamicDrawer(props) {
|
|
|
387
396
|
styles: styles
|
|
388
397
|
},
|
|
389
398
|
R.equals(filter.id, periodPanel) ? children : React.createElement(AdvancedSelection, _extends({
|
|
390
|
-
id:
|
|
391
|
-
items: filter.values,
|
|
399
|
+
id: selectedId,
|
|
400
|
+
items: filter.values || [],
|
|
392
401
|
isOpen: open,
|
|
393
402
|
labelRenderer: labelRenderer,
|
|
394
403
|
disableAccessor: disableAccessor ? R.pipe(R.prop('isEnabled'), R.not) : undefined,
|
|
@@ -108,7 +108,7 @@ var TabPanel = function TabPanel(props) {
|
|
|
108
108
|
id: 'vertical-tabpanel-' + item.index,
|
|
109
109
|
'aria-labelledby': 'vertical-tab-' + item.index,
|
|
110
110
|
className: isNarrow ? classes.tabPanelNarrow : classes.tabPanel,
|
|
111
|
-
style: styles
|
|
111
|
+
style: { width: R.prop('width', styles) }
|
|
112
112
|
}, other),
|
|
113
113
|
open && _react2.default.createElement(
|
|
114
114
|
_Box2.default,
|
|
@@ -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
|
-
|
|
231
|
-
|
|
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
|
-
|
|
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
|
-
|
|
289
|
+
setSelectedId(item.id);
|
|
287
290
|
setOpen(true);
|
|
288
291
|
};
|
|
289
292
|
var handleSubmit = function handleSubmit() {
|
|
@@ -291,21 +294,29 @@ var DynamicDrawer = function DynamicDrawer(props) {
|
|
|
291
294
|
setAllSelection({});
|
|
292
295
|
setSelection({});
|
|
293
296
|
setOpen(false);
|
|
294
|
-
|
|
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
|
-
|
|
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;
|
|
317
|
+
var isApplyButtonShown = open && !isNarrow;
|
|
307
318
|
(0, _react.useEffect)(function () {
|
|
308
|
-
if (
|
|
319
|
+
if (isApplyButtonShown) {
|
|
309
320
|
document.body.style.overflow = 'hidden';
|
|
310
321
|
} else {
|
|
311
322
|
document.body.style.overflow = '';
|
|
@@ -318,7 +329,7 @@ var DynamicDrawer = function DynamicDrawer(props) {
|
|
|
318
329
|
return _react2.default.createElement(
|
|
319
330
|
'div',
|
|
320
331
|
{ style: { display: 'flex', flexDirection: 'row' } },
|
|
321
|
-
|
|
332
|
+
isApplyButtonShown && _react2.default.createElement(_Box2.default, {
|
|
322
333
|
onClick: function onClick() {
|
|
323
334
|
return handleClose();
|
|
324
335
|
},
|
|
@@ -337,8 +348,7 @@ var DynamicDrawer = function DynamicDrawer(props) {
|
|
|
337
348
|
orientation: 'vertical',
|
|
338
349
|
variant: 'scrollable',
|
|
339
350
|
TabIndicatorProps: { style: { transition: 'none' } },
|
|
340
|
-
scrollButtons:
|
|
341
|
-
disableScrollButtons: true,
|
|
351
|
+
scrollButtons: isApplyButtonShown,
|
|
342
352
|
value: false,
|
|
343
353
|
onChange: handleChange,
|
|
344
354
|
'aria-label': 'filters',
|
|
@@ -346,11 +356,10 @@ var DynamicDrawer = function DynamicDrawer(props) {
|
|
|
346
356
|
sx: {
|
|
347
357
|
display: isHidden ? 'none' : 'flex',
|
|
348
358
|
width: '100%',
|
|
349
|
-
height: '100%',
|
|
359
|
+
height: isApplyButtonShown ? R.prop('height', styles) : '100%',
|
|
350
360
|
borderRight: 1,
|
|
351
361
|
borderColor: 'divider',
|
|
352
|
-
zIndex: 1000
|
|
353
|
-
overflow: 'auto'
|
|
362
|
+
zIndex: 1000
|
|
354
363
|
}
|
|
355
364
|
},
|
|
356
365
|
R.map(function (item) {
|
|
@@ -366,7 +375,7 @@ var DynamicDrawer = function DynamicDrawer(props) {
|
|
|
366
375
|
component: function component(props) {
|
|
367
376
|
return PaperComponent(_extends({
|
|
368
377
|
label: labelRenderer(item),
|
|
369
|
-
selected:
|
|
378
|
+
selected: selectedId === item.id,
|
|
370
379
|
tag: R.isNil(item.tag) ? _react2.default.createElement(
|
|
371
380
|
Chip,
|
|
372
381
|
{ items: item.values, tagValueLabel: tagValueLabel },
|
|
@@ -388,7 +397,7 @@ var DynamicDrawer = function DynamicDrawer(props) {
|
|
|
388
397
|
disableFocusRipple: true
|
|
389
398
|
});
|
|
390
399
|
})(list),
|
|
391
|
-
|
|
400
|
+
isApplyButtonShown && _react2.default.createElement(
|
|
392
401
|
_.Button,
|
|
393
402
|
{
|
|
394
403
|
sx: { float: 'bottom', margin: '10px' },
|
|
@@ -426,8 +435,8 @@ var DynamicDrawer = function DynamicDrawer(props) {
|
|
|
426
435
|
styles: styles
|
|
427
436
|
},
|
|
428
437
|
R.equals(filter.id, periodPanel) ? children : _react2.default.createElement(_AdvancedSelection2.default, _extends({
|
|
429
|
-
id:
|
|
430
|
-
items: filter.values,
|
|
438
|
+
id: selectedId,
|
|
439
|
+
items: filter.values || [],
|
|
431
440
|
isOpen: open,
|
|
432
441
|
labelRenderer: labelRenderer,
|
|
433
442
|
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.
|
|
3
|
+
"version": "12.26.2",
|
|
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": ">=
|
|
12
|
+
"node": ">=18"
|
|
13
13
|
},
|
|
14
14
|
"files": [
|
|
15
15
|
"css",
|
|
@@ -18,37 +18,36 @@
|
|
|
18
18
|
"umd"
|
|
19
19
|
],
|
|
20
20
|
"scripts": {
|
|
21
|
-
"
|
|
22
|
-
"build
|
|
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": "
|
|
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
|
-
"@
|
|
51
|
-
"@
|
|
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",
|