@sis-cc/dotstatsuite-visions 12.25.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.
- package/es/DynamicDrawer/DynamicDrawer.js +21 -11
- package/es/VirtualizedTree/utils.js +6 -0
- package/lib/DynamicDrawer/DynamicDrawer.js +20 -10
- package/lib/VirtualizedTree/utils.js +6 -0
- package/package.json +16 -19
- package/umd/@sis-cc/dotstatsuite-visions.js +5088 -4402
- package/umd/@sis-cc/dotstatsuite-visions.min.js +33 -24
- package/umd/@sis-cc/dotstatsuite-visions.min.js.map +1 -1
|
@@ -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
|
-
|
|
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,17 +255,24 @@ 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;
|
|
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:
|
|
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:
|
|
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,
|
|
@@ -32,6 +32,9 @@ export var getDepth = function getDepth(indexedItems) {
|
|
|
32
32
|
return 0;
|
|
33
33
|
}
|
|
34
34
|
var parent = R.prop(item.parentId, indexedItems);
|
|
35
|
+
if (R.isNil(parent)) {
|
|
36
|
+
return 0;
|
|
37
|
+
}
|
|
35
38
|
return getDepth(indexedItems)(parent) + 1;
|
|
36
39
|
};
|
|
37
40
|
};
|
|
@@ -54,6 +57,9 @@ export var getDeprecatedIds = function getDeprecatedIds(ids, items, selectedIds)
|
|
|
54
57
|
|
|
55
58
|
var deprecatedParents = R.reduce(function (acc, id) {
|
|
56
59
|
var _item = R.prop(id, indexedItemsById);
|
|
60
|
+
if (R.isNil(_item)) {
|
|
61
|
+
return acc;
|
|
62
|
+
}
|
|
57
63
|
var _itemsIds = R.has('hierarchicalId', _item) ? R.pipe(R.values, R.filter(R.propEq('id', _item.id)), R.map(getHierarchicalId))(indexedItemsById) : [id];
|
|
58
64
|
|
|
59
65
|
var children = R.pipe(R.props(_itemsIds), R.unnest)(groupedItemsByParentId);
|
|
@@ -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,17 +294,24 @@ 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;
|
|
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:
|
|
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:
|
|
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,
|
|
@@ -41,6 +41,9 @@ var getDepth = exports.getDepth = function getDepth(indexedItems) {
|
|
|
41
41
|
return 0;
|
|
42
42
|
}
|
|
43
43
|
var parent = R.prop(item.parentId, indexedItems);
|
|
44
|
+
if (R.isNil(parent)) {
|
|
45
|
+
return 0;
|
|
46
|
+
}
|
|
44
47
|
return getDepth(indexedItems)(parent) + 1;
|
|
45
48
|
};
|
|
46
49
|
};
|
|
@@ -63,6 +66,9 @@ var getDeprecatedIds = exports.getDeprecatedIds = function getDeprecatedIds(ids,
|
|
|
63
66
|
|
|
64
67
|
var deprecatedParents = R.reduce(function (acc, id) {
|
|
65
68
|
var _item = R.prop(id, indexedItemsById);
|
|
69
|
+
if (R.isNil(_item)) {
|
|
70
|
+
return acc;
|
|
71
|
+
}
|
|
66
72
|
var _itemsIds = R.has('hierarchicalId', _item) ? R.pipe(R.values, R.filter(R.propEq('id', _item.id)), R.map(getHierarchicalId))(indexedItemsById) : [id];
|
|
67
73
|
|
|
68
74
|
var children = R.pipe(R.props(_itemsIds), R.unnest)(groupedItemsByParentId);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sis-cc/dotstatsuite-visions",
|
|
3
|
-
"version": "12.
|
|
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": ">=
|
|
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",
|