@sis-cc/dotstatsuite-visions 12.19.0 → 12.20.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.
- package/es/DynamicDrawer/AdvancedSelection.js +59 -10
- package/es/DynamicDrawer/DynamicDrawer.js +125 -20
- package/es/DynamicDrawer/SelectionModesMobile.js +46 -54
- package/lib/DynamicDrawer/AdvancedSelection.js +62 -10
- package/lib/DynamicDrawer/DynamicDrawer.js +130 -19
- package/lib/DynamicDrawer/SelectionModesMobile.js +46 -57
- package/package.json +1 -1
- package/umd/@sis-cc/dotstatsuite-visions.js +667 -427
- package/umd/@sis-cc/dotstatsuite-visions.min.js +9 -9
- package/umd/@sis-cc/dotstatsuite-visions.min.js.map +1 -1
|
@@ -21,6 +21,7 @@ import childrenImg from '../AdvancedFilterDialog/images/children-selection.png';
|
|
|
21
21
|
import branchImg from '../AdvancedFilterDialog/images/branch-selection.png';
|
|
22
22
|
import levelImg from '../AdvancedFilterDialog/images/level-selection.png';
|
|
23
23
|
import { Divider } from '@mui/material';
|
|
24
|
+
import ButtonCarousel from './SelectionModesMobile';
|
|
24
25
|
|
|
25
26
|
var useStyles = makeStyles(function (theme) {
|
|
26
27
|
return {
|
|
@@ -145,7 +146,8 @@ var useStyles = makeStyles(function (theme) {
|
|
|
145
146
|
justifyContent: 'space-between'
|
|
146
147
|
},
|
|
147
148
|
narrowHeader: {
|
|
148
|
-
alignItems: 'flex-start'
|
|
149
|
+
alignItems: 'flex-start',
|
|
150
|
+
width: '100%'
|
|
149
151
|
},
|
|
150
152
|
topElements: {
|
|
151
153
|
display: 'flex',
|
|
@@ -156,7 +158,7 @@ var useStyles = makeStyles(function (theme) {
|
|
|
156
158
|
});
|
|
157
159
|
|
|
158
160
|
var AdvancedSelection = function AdvancedSelection(props) {
|
|
159
|
-
var _cx, _cx2, _cx3;
|
|
161
|
+
var _cx, _cx2, _cx3, _cx4;
|
|
160
162
|
|
|
161
163
|
var id = props.id,
|
|
162
164
|
items = props.items,
|
|
@@ -298,6 +300,53 @@ var AdvancedSelection = function AdvancedSelection(props) {
|
|
|
298
300
|
xs: 12,
|
|
299
301
|
className: cx(classes.topElements, (_cx = {}, _cx[classes.narrowTop] = isNarrow, _cx))
|
|
300
302
|
},
|
|
303
|
+
isNarrow && React.createElement(
|
|
304
|
+
Grid,
|
|
305
|
+
{ item: true, container: true, xs: 12 },
|
|
306
|
+
React.createElement(
|
|
307
|
+
'div',
|
|
308
|
+
{ className: cx(classes.selectModeContainer, (_cx2 = {}, _cx2[classes.narrowHeader] = isNarrow, _cx2)) },
|
|
309
|
+
React.createElement(
|
|
310
|
+
'div',
|
|
311
|
+
{ className: classes.hint },
|
|
312
|
+
React.createElement(
|
|
313
|
+
Tooltip,
|
|
314
|
+
{
|
|
315
|
+
role: 'tooltip',
|
|
316
|
+
variant: 'light',
|
|
317
|
+
title: React.createElement(
|
|
318
|
+
Typography,
|
|
319
|
+
{ variant: 'body2' },
|
|
320
|
+
R.prop('hint', labels)
|
|
321
|
+
),
|
|
322
|
+
'aria-label': R.prop('hint', labels),
|
|
323
|
+
tabIndex: 0
|
|
324
|
+
},
|
|
325
|
+
React.createElement(
|
|
326
|
+
IconButton,
|
|
327
|
+
null,
|
|
328
|
+
React.createElement(HintIcon, null)
|
|
329
|
+
)
|
|
330
|
+
),
|
|
331
|
+
React.createElement(
|
|
332
|
+
Typography,
|
|
333
|
+
{
|
|
334
|
+
className: classes.selectionTitle,
|
|
335
|
+
'aria-label': R.prop('selectionMode', labels),
|
|
336
|
+
tabIndex: 0
|
|
337
|
+
},
|
|
338
|
+
R.prop('selectionMode', labels)
|
|
339
|
+
)
|
|
340
|
+
),
|
|
341
|
+
React.createElement(ButtonCarousel, {
|
|
342
|
+
selectionModes: selectionOptions,
|
|
343
|
+
selectionMode: selectionMode,
|
|
344
|
+
setSelectionMode: setSelectionMode,
|
|
345
|
+
classes: classes,
|
|
346
|
+
isNarrow: isNarrow
|
|
347
|
+
})
|
|
348
|
+
)
|
|
349
|
+
),
|
|
301
350
|
React.createElement(
|
|
302
351
|
'div',
|
|
303
352
|
{ className: classes.spotlight },
|
|
@@ -313,10 +362,10 @@ var AdvancedSelection = function AdvancedSelection(props) {
|
|
|
313
362
|
),
|
|
314
363
|
React.createElement(
|
|
315
364
|
Grid,
|
|
316
|
-
{ item: true, xs: 8 },
|
|
365
|
+
{ item: true, xs: isNarrow ? 12 : 8 },
|
|
317
366
|
React.createElement(
|
|
318
367
|
'div',
|
|
319
|
-
{ style: { display: 'flex', flexDirection:
|
|
368
|
+
{ style: { display: 'flex', flexDirection: 'row' } },
|
|
320
369
|
React.createElement(
|
|
321
370
|
'div',
|
|
322
371
|
null,
|
|
@@ -356,18 +405,18 @@ var AdvancedSelection = function AdvancedSelection(props) {
|
|
|
356
405
|
changeSelection: function changeSelection(selection, ids) {
|
|
357
406
|
return onChangeSelection(selection, ids, filter);
|
|
358
407
|
},
|
|
359
|
-
withExpandControl: true
|
|
360
|
-
|
|
361
|
-
|
|
408
|
+
withExpandControl: true,
|
|
409
|
+
treeHeight: isNarrow ? 0 : '700px',
|
|
410
|
+
scopeGetter: scopeGetter,
|
|
362
411
|
expandedIds: expandedIds
|
|
363
412
|
}))
|
|
364
413
|
),
|
|
365
|
-
React.createElement(
|
|
414
|
+
!isNarrow && React.createElement(
|
|
366
415
|
Grid,
|
|
367
416
|
{ item: true, container: true, xs: 4 },
|
|
368
417
|
React.createElement(
|
|
369
418
|
'div',
|
|
370
|
-
{ className: cx(classes.selectModeContainer, (
|
|
419
|
+
{ className: cx(classes.selectModeContainer, (_cx3 = {}, _cx3[classes.narrowHeader] = isNarrow, _cx3)) },
|
|
371
420
|
React.createElement(
|
|
372
421
|
'div',
|
|
373
422
|
{ className: classes.hint },
|
|
@@ -402,7 +451,7 @@ var AdvancedSelection = function AdvancedSelection(props) {
|
|
|
402
451
|
),
|
|
403
452
|
React.createElement(
|
|
404
453
|
'div',
|
|
405
|
-
{ className: cx(classes.selectModeContainer, (
|
|
454
|
+
{ className: cx(classes.selectModeContainer, (_cx4 = {}, _cx4[classes.narrowHeader] = isNarrow, _cx4)) },
|
|
406
455
|
mapIndexed(function (_ref) {
|
|
407
456
|
var value = _ref.value,
|
|
408
457
|
label = _ref.label,
|
|
@@ -5,13 +5,15 @@ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in ob
|
|
|
5
5
|
import React, { useState } from 'react';
|
|
6
6
|
import PropTypes from 'prop-types';
|
|
7
7
|
import * as R from 'ramda';
|
|
8
|
+
import cx from 'classnames';
|
|
8
9
|
import Box from '@mui/material/Box';
|
|
9
10
|
import AdvancedSelection from './AdvancedSelection';
|
|
10
11
|
import { Paper, Tab, Tabs, Typography } from '@mui/material';
|
|
11
12
|
import makeStyles from '@mui/styles/makeStyles';
|
|
12
13
|
import CloseIcon from '@mui/icons-material/Close';
|
|
13
14
|
import IconButton from '@mui/material/Button';
|
|
14
|
-
import
|
|
15
|
+
import BackIcon from '@mui/icons-material/ArrowBack';
|
|
16
|
+
import { Button, Tag as InternalTag } from '..';
|
|
15
17
|
|
|
16
18
|
var useStyles = makeStyles(function (theme) {
|
|
17
19
|
return {
|
|
@@ -19,6 +21,20 @@ var useStyles = makeStyles(function (theme) {
|
|
|
19
21
|
textTransform: 'none',
|
|
20
22
|
color: theme.palette.grey[700]
|
|
21
23
|
}, R.pathOr({}, ['mixins', 'expansionPanel', 'title'], theme)),
|
|
24
|
+
labelSelected: {
|
|
25
|
+
color: theme.palette.primary.main
|
|
26
|
+
},
|
|
27
|
+
tabSelected: {
|
|
28
|
+
backgroundColor: theme.palette.action.hover + ' !important',
|
|
29
|
+
'&:hover': {
|
|
30
|
+
backgroundColor: theme.palette.action.selected + ' !important'
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
tab: {
|
|
34
|
+
'&:hover': {
|
|
35
|
+
backgroundColor: '' + theme.palette.action.selected
|
|
36
|
+
}
|
|
37
|
+
},
|
|
22
38
|
tabPanel: {
|
|
23
39
|
backgroundColor: theme.palette.background.default,
|
|
24
40
|
position: 'absolute',
|
|
@@ -38,7 +54,9 @@ var TabPanel = function TabPanel(props) {
|
|
|
38
54
|
classes = props.classes,
|
|
39
55
|
labels = props.labels,
|
|
40
56
|
onClose = props.onClose,
|
|
41
|
-
|
|
57
|
+
isNarrow = props.isNarrow,
|
|
58
|
+
setOpen = props.setOpen,
|
|
59
|
+
other = _objectWithoutProperties(props, ['children', 'open', 'item', 'classes', 'labels', 'onClose', 'isNarrow', 'setOpen']);
|
|
42
60
|
|
|
43
61
|
return React.createElement(
|
|
44
62
|
'div',
|
|
@@ -47,11 +65,27 @@ var TabPanel = function TabPanel(props) {
|
|
|
47
65
|
hidden: !open,
|
|
48
66
|
id: 'vertical-tabpanel-' + item.index,
|
|
49
67
|
'aria-labelledby': 'vertical-tab-' + item.index,
|
|
50
|
-
className: classes.tabPanel
|
|
68
|
+
className: isNarrow ? classes.tabPanelNarrow : classes.tabPanel
|
|
51
69
|
}, other),
|
|
52
70
|
open && React.createElement(
|
|
53
71
|
Box,
|
|
54
72
|
{ sx: { p: 3 } },
|
|
73
|
+
isNarrow && React.createElement(
|
|
74
|
+
IconButton,
|
|
75
|
+
{
|
|
76
|
+
onClick: function onClick() {
|
|
77
|
+
return setOpen(false);
|
|
78
|
+
},
|
|
79
|
+
'data-testid': 'back_button',
|
|
80
|
+
'aria-label': R.prop('cancel', labels),
|
|
81
|
+
sx: {
|
|
82
|
+
padding: 0,
|
|
83
|
+
float: 'left'
|
|
84
|
+
},
|
|
85
|
+
size: 'large'
|
|
86
|
+
},
|
|
87
|
+
React.createElement(BackIcon, null)
|
|
88
|
+
),
|
|
55
89
|
React.createElement(
|
|
56
90
|
IconButton,
|
|
57
91
|
{
|
|
@@ -76,31 +110,44 @@ TabPanel.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
76
110
|
classes: PropTypes.object,
|
|
77
111
|
labels: PropTypes.object,
|
|
78
112
|
onClose: PropTypes.func,
|
|
79
|
-
children: PropTypes.node
|
|
113
|
+
children: PropTypes.node,
|
|
114
|
+
isNarrow: PropTypes.bool,
|
|
115
|
+
setOpen: PropTypes.func
|
|
80
116
|
} : {};
|
|
81
117
|
|
|
82
118
|
var PaperComponent = function PaperComponent(props) {
|
|
119
|
+
var _cx;
|
|
120
|
+
|
|
83
121
|
var classes = useStyles();
|
|
84
|
-
// const Chip = R.isNil(props.tag) ? InternalTag : props.tag;
|
|
85
122
|
return React.createElement(
|
|
86
123
|
Paper,
|
|
87
124
|
props,
|
|
88
125
|
React.createElement(
|
|
89
|
-
|
|
90
|
-
{
|
|
91
|
-
|
|
126
|
+
Box,
|
|
127
|
+
{ sx: { display: 'flex', justifyContent: 'space-between', width: '100%' } },
|
|
128
|
+
React.createElement(
|
|
129
|
+
Typography,
|
|
130
|
+
{
|
|
131
|
+
noWrap: true,
|
|
132
|
+
variant: 'body2',
|
|
133
|
+
title: props.label,
|
|
134
|
+
className: cx(classes.label, (_cx = {}, _cx[classes.labelSelected] = props.selected, _cx))
|
|
135
|
+
},
|
|
136
|
+
props.label
|
|
137
|
+
),
|
|
138
|
+
props.tag
|
|
92
139
|
)
|
|
93
140
|
);
|
|
94
141
|
};
|
|
95
142
|
PaperComponent.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
96
143
|
label: PropTypes.string,
|
|
97
144
|
tag: PropTypes.elementType,
|
|
98
|
-
|
|
99
|
-
tagValueLabel: PropTypes.func,
|
|
100
|
-
tagValue: PropTypes.string
|
|
145
|
+
selected: PropTypes.bool
|
|
101
146
|
} : {};
|
|
102
147
|
|
|
103
148
|
var DynamicDrawer = function DynamicDrawer(props) {
|
|
149
|
+
var classNames = useStyles();
|
|
150
|
+
|
|
104
151
|
var _useState = useState(false),
|
|
105
152
|
open = _useState[0],
|
|
106
153
|
setOpen = _useState[1];
|
|
@@ -117,6 +164,22 @@ var DynamicDrawer = function DynamicDrawer(props) {
|
|
|
117
164
|
allSelection = _useState4[0],
|
|
118
165
|
setAllSelection = _useState4[1];
|
|
119
166
|
|
|
167
|
+
var getCounter = function getCounter(items, tagAccessor) {
|
|
168
|
+
var selectedItemsIds = R.reduce(function (acc, item) {
|
|
169
|
+
if (R.prop('isSelected', item)) {
|
|
170
|
+
return R.append(item.id, acc);
|
|
171
|
+
}
|
|
172
|
+
return acc;
|
|
173
|
+
}, [], items);
|
|
174
|
+
var itemsIds = R.pluck('id', items);
|
|
175
|
+
var count = R.pipe(R.uniq, R.length)(selectedItemsIds);
|
|
176
|
+
var total = R.pipe(R.uniq, R.length)(itemsIds);
|
|
177
|
+
if (R.is(Function, tagAccessor)) {
|
|
178
|
+
return tagAccessor(count, total);
|
|
179
|
+
}
|
|
180
|
+
return count + '/' + total;
|
|
181
|
+
};
|
|
182
|
+
|
|
120
183
|
var list = props.list,
|
|
121
184
|
labelRenderer = props.labelRenderer,
|
|
122
185
|
onClick = props.onClick,
|
|
@@ -131,11 +194,12 @@ var DynamicDrawer = function DynamicDrawer(props) {
|
|
|
131
194
|
allItems = props.allItems,
|
|
132
195
|
periodPanel = props.periodPanel,
|
|
133
196
|
classes = props.classes,
|
|
134
|
-
tag = props.tag,
|
|
135
197
|
_props$testId = props.testId,
|
|
136
198
|
testId = _props$testId === undefined ? 'tabs' : _props$testId,
|
|
199
|
+
tagAccessor = props.tagAccessor,
|
|
200
|
+
tagAriaLabel = props.tagAriaLabel,
|
|
137
201
|
children = props.children,
|
|
138
|
-
rest = _objectWithoutProperties(props, ['list', 'labelRenderer', 'onClick', 'handleChangePanel', 'isNarrow', 'labels', 'disableAccessor', 'expandAll', 'collapseAll', 'expandedIds', 'allItems', 'periodPanel', 'classes', '
|
|
202
|
+
rest = _objectWithoutProperties(props, ['list', 'labelRenderer', 'onClick', 'handleChangePanel', 'isNarrow', 'labels', 'disableAccessor', 'expandAll', 'collapseAll', 'expandedIds', 'allItems', 'periodPanel', 'classes', 'testId', 'tagAccessor', 'tagAriaLabel', 'children']);
|
|
139
203
|
|
|
140
204
|
var handleChange = function handleChange(e, item) {
|
|
141
205
|
console.log({ item: item, selection: selection, allSelection: allSelection });
|
|
@@ -150,6 +214,13 @@ var DynamicDrawer = function DynamicDrawer(props) {
|
|
|
150
214
|
setSelection({});
|
|
151
215
|
setOpen(false);
|
|
152
216
|
};
|
|
217
|
+
var handleClose = function handleClose() {
|
|
218
|
+
setOpen(false);
|
|
219
|
+
setAllSelection({});
|
|
220
|
+
setSelection({});
|
|
221
|
+
};
|
|
222
|
+
var isHidden = open && isNarrow;
|
|
223
|
+
var isNotHiddenButton = !R.isEmpty(allSelection) && isNarrow;
|
|
153
224
|
|
|
154
225
|
return React.createElement(
|
|
155
226
|
'div',
|
|
@@ -163,25 +234,59 @@ var DynamicDrawer = function DynamicDrawer(props) {
|
|
|
163
234
|
onChange: handleChange,
|
|
164
235
|
'aria-label': 'filters',
|
|
165
236
|
'data-testid': testId,
|
|
166
|
-
sx: {
|
|
237
|
+
sx: {
|
|
238
|
+
display: isHidden ? 'none' : 'flex',
|
|
239
|
+
width: '100%',
|
|
240
|
+
height: '100%',
|
|
241
|
+
borderRight: 1,
|
|
242
|
+
borderColor: 'divider'
|
|
243
|
+
}
|
|
167
244
|
},
|
|
168
245
|
R.map(function (item) {
|
|
246
|
+
var _cx2;
|
|
247
|
+
|
|
248
|
+
var Chip = R.isNil(item.tag) ? InternalTag : item.tag;
|
|
249
|
+
var tagValueLabel = R.isNil(item.tag) && getCounter(item.values, tagAriaLabel);
|
|
250
|
+
|
|
169
251
|
return React.createElement(Tab, {
|
|
170
252
|
key: item.id,
|
|
171
253
|
id: filter.id,
|
|
172
254
|
'data-testid': item.id + '-tab',
|
|
173
255
|
component: function component(props) {
|
|
174
|
-
return PaperComponent(_extends({
|
|
256
|
+
return PaperComponent(_extends({
|
|
257
|
+
label: labelRenderer(item),
|
|
258
|
+
selected: filter.id === item.id,
|
|
259
|
+
tag: R.isNil(item.tag) ? React.createElement(
|
|
260
|
+
Chip,
|
|
261
|
+
{ items: item.values, tagValueLabel: tagValueLabel },
|
|
262
|
+
getCounter(item.values, tagAccessor)
|
|
263
|
+
) : item.tag
|
|
264
|
+
}, props));
|
|
175
265
|
},
|
|
176
266
|
label: labelRenderer(item),
|
|
177
267
|
'aria-label': labelRenderer(item),
|
|
178
|
-
sx: { alignItems: 'start', maxWidth: '100%' },
|
|
179
268
|
value: item,
|
|
180
269
|
'aria-selected': filter.id === item.id,
|
|
270
|
+
className: cx(classNames.tab, (_cx2 = {}, _cx2[classNames.tabSelected] = filter.id === item.id, _cx2)),
|
|
271
|
+
sx: {
|
|
272
|
+
alignItems: 'start',
|
|
273
|
+
maxWidth: '100%'
|
|
274
|
+
},
|
|
181
275
|
wrapped: true
|
|
182
276
|
});
|
|
183
277
|
})(list),
|
|
184
|
-
open && React.createElement(
|
|
278
|
+
open && !isNarrow && React.createElement(
|
|
279
|
+
Button,
|
|
280
|
+
{
|
|
281
|
+
sx: { float: 'bottom', margin: '10px' },
|
|
282
|
+
'aria-label': R.prop('apply', labels),
|
|
283
|
+
id: 'apply_button',
|
|
284
|
+
variant: 'contained',
|
|
285
|
+
onClick: handleSubmit
|
|
286
|
+
},
|
|
287
|
+
R.prop('apply', labels)
|
|
288
|
+
),
|
|
289
|
+
isNotHiddenButton && React.createElement(
|
|
185
290
|
Button,
|
|
186
291
|
{
|
|
187
292
|
sx: { float: 'bottom', margin: '10px' },
|
|
@@ -201,9 +306,9 @@ var DynamicDrawer = function DynamicDrawer(props) {
|
|
|
201
306
|
open: open,
|
|
202
307
|
labels: labels,
|
|
203
308
|
classes: classes,
|
|
204
|
-
onClose:
|
|
205
|
-
|
|
206
|
-
|
|
309
|
+
onClose: handleClose,
|
|
310
|
+
isNarrow: isNarrow,
|
|
311
|
+
setOpen: setOpen
|
|
207
312
|
},
|
|
208
313
|
R.equals(filter.id, periodPanel) ? children : React.createElement(AdvancedSelection, _extends({
|
|
209
314
|
id: filter.id,
|
|
@@ -1,80 +1,73 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
import cx from 'classnames';
|
|
4
3
|
import * as R from 'ramda';
|
|
5
4
|
import { Box, Button, Paper, Typography } from '@mui/material';
|
|
6
5
|
import { Tooltip } from '..';
|
|
7
6
|
|
|
8
7
|
var mapIndexed = R.addIndex(R.map);
|
|
9
8
|
var ButtonCarousel = function ButtonCarousel(_ref) {
|
|
10
|
-
var _cx;
|
|
11
|
-
|
|
12
9
|
var selectionModes = _ref.selectionModes,
|
|
13
10
|
selectionMode = _ref.selectionMode,
|
|
14
11
|
setSelectionMode = _ref.setSelectionMode,
|
|
15
|
-
isNarrow = _ref.isNarrow,
|
|
16
12
|
classes = _ref.classes;
|
|
17
13
|
|
|
18
14
|
return React.createElement(
|
|
19
15
|
Box,
|
|
20
16
|
{
|
|
21
17
|
sx: {
|
|
22
|
-
display: 'flex',
|
|
23
18
|
overflowX: 'auto',
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
19
|
+
overflowY: 'hidden',
|
|
20
|
+
whiteSpace: 'nowrap',
|
|
21
|
+
display: 'block', // allow horizontal scrolling
|
|
22
|
+
width: '100%',
|
|
23
|
+
maxWidth: '100%',
|
|
24
|
+
'&::-webkit-scrollbar': { display: 'none' }, // optional: hide scrollbar
|
|
25
|
+
scrollbarWidth: 'none'
|
|
29
26
|
}
|
|
30
27
|
},
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
28
|
+
mapIndexed(function (_ref2) {
|
|
29
|
+
var value = _ref2.value,
|
|
30
|
+
label = _ref2.label,
|
|
31
|
+
img = _ref2.img;
|
|
32
|
+
return React.createElement(
|
|
33
|
+
Tooltip,
|
|
34
|
+
{
|
|
35
|
+
key: value,
|
|
36
|
+
classes: { tooltip: classes.tooltip },
|
|
37
|
+
title: React.createElement('img', { style: { width: '72px', height: '90px' }, src: img, alt: value }),
|
|
38
|
+
tabIndex: -1
|
|
39
|
+
},
|
|
40
|
+
React.createElement(
|
|
41
|
+
Button,
|
|
40
42
|
{
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
className: classes.selectButton,
|
|
44
|
+
selected: value === selectionMode,
|
|
45
|
+
onClick: function onClick() {
|
|
46
|
+
setSelectionMode(value);
|
|
47
|
+
},
|
|
48
|
+
'aria-pressed': value === selectionMode,
|
|
49
|
+
'aria-label': label,
|
|
50
|
+
tabIndex: 0,
|
|
51
|
+
sx: {
|
|
52
|
+
flex: '0 0 auto', // Prevents buttons from shrinking
|
|
53
|
+
scrollSnapAlign: 'center',
|
|
54
|
+
minWidth: 120, // Minimum width for buttons
|
|
55
|
+
whiteSpace: 'nowrap'
|
|
56
|
+
}
|
|
45
57
|
},
|
|
46
58
|
React.createElement(
|
|
47
|
-
|
|
48
|
-
{
|
|
49
|
-
className: classes.selectButton,
|
|
50
|
-
selected: value === selectionMode,
|
|
51
|
-
onClick: function onClick() {
|
|
52
|
-
setSelectionMode(value);
|
|
53
|
-
},
|
|
54
|
-
'aria-pressed': value === selectionMode,
|
|
55
|
-
'aria-label': label,
|
|
56
|
-
tabIndex: 0,
|
|
57
|
-
sx: {
|
|
58
|
-
flex: '0 0 auto', // Prevents buttons from shrinking
|
|
59
|
-
scrollSnapAlign: 'center',
|
|
60
|
-
minWidth: 120, // Minimum width for buttons
|
|
61
|
-
whiteSpace: 'nowrap'
|
|
62
|
-
}
|
|
63
|
-
},
|
|
59
|
+
Paper,
|
|
60
|
+
{ elevation: 0, className: classes.selectModeItem, key: value },
|
|
64
61
|
React.createElement(
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
label
|
|
71
|
-
),
|
|
72
|
-
!R.isNil(img) && R.is(String, img) && React.createElement('img', { src: img, alt: value })
|
|
73
|
-
)
|
|
62
|
+
Typography,
|
|
63
|
+
null,
|
|
64
|
+
label
|
|
65
|
+
),
|
|
66
|
+
!R.isNil(img) && R.is(String, img) && React.createElement('img', { src: img, alt: value })
|
|
74
67
|
)
|
|
75
|
-
)
|
|
76
|
-
|
|
77
|
-
)
|
|
68
|
+
)
|
|
69
|
+
);
|
|
70
|
+
}, selectionModes)
|
|
78
71
|
);
|
|
79
72
|
};
|
|
80
73
|
|
|
@@ -88,6 +81,5 @@ ButtonCarousel.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
88
81
|
})).isRequired,
|
|
89
82
|
selectionMode: PropTypes.string.isRequired,
|
|
90
83
|
setSelectionMode: PropTypes.func.isRequired,
|
|
91
|
-
classes: PropTypes.object.isRequired
|
|
92
|
-
isNarrow: PropTypes.bool.isRequired
|
|
84
|
+
classes: PropTypes.object.isRequired
|
|
93
85
|
} : {};
|
|
@@ -70,6 +70,10 @@ var _levelSelection2 = _interopRequireDefault(_levelSelection);
|
|
|
70
70
|
|
|
71
71
|
var _material = require('@mui/material');
|
|
72
72
|
|
|
73
|
+
var _SelectionModesMobile = require('./SelectionModesMobile');
|
|
74
|
+
|
|
75
|
+
var _SelectionModesMobile2 = _interopRequireDefault(_SelectionModesMobile);
|
|
76
|
+
|
|
73
77
|
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; } }
|
|
74
78
|
|
|
75
79
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -199,7 +203,8 @@ var useStyles = (0, _makeStyles2.default)(function (theme) {
|
|
|
199
203
|
justifyContent: 'space-between'
|
|
200
204
|
},
|
|
201
205
|
narrowHeader: {
|
|
202
|
-
alignItems: 'flex-start'
|
|
206
|
+
alignItems: 'flex-start',
|
|
207
|
+
width: '100%'
|
|
203
208
|
},
|
|
204
209
|
topElements: {
|
|
205
210
|
display: 'flex',
|
|
@@ -210,7 +215,7 @@ var useStyles = (0, _makeStyles2.default)(function (theme) {
|
|
|
210
215
|
});
|
|
211
216
|
|
|
212
217
|
var AdvancedSelection = function AdvancedSelection(props) {
|
|
213
|
-
var _cx, _cx2, _cx3;
|
|
218
|
+
var _cx, _cx2, _cx3, _cx4;
|
|
214
219
|
|
|
215
220
|
var id = props.id,
|
|
216
221
|
items = props.items,
|
|
@@ -352,6 +357,53 @@ var AdvancedSelection = function AdvancedSelection(props) {
|
|
|
352
357
|
xs: 12,
|
|
353
358
|
className: (0, _classnames2.default)(classes.topElements, (_cx = {}, _cx[classes.narrowTop] = isNarrow, _cx))
|
|
354
359
|
},
|
|
360
|
+
isNarrow && _react2.default.createElement(
|
|
361
|
+
_Grid2.default,
|
|
362
|
+
{ item: true, container: true, xs: 12 },
|
|
363
|
+
_react2.default.createElement(
|
|
364
|
+
'div',
|
|
365
|
+
{ className: (0, _classnames2.default)(classes.selectModeContainer, (_cx2 = {}, _cx2[classes.narrowHeader] = isNarrow, _cx2)) },
|
|
366
|
+
_react2.default.createElement(
|
|
367
|
+
'div',
|
|
368
|
+
{ className: classes.hint },
|
|
369
|
+
_react2.default.createElement(
|
|
370
|
+
_.Tooltip,
|
|
371
|
+
{
|
|
372
|
+
role: 'tooltip',
|
|
373
|
+
variant: 'light',
|
|
374
|
+
title: _react2.default.createElement(
|
|
375
|
+
_Typography2.default,
|
|
376
|
+
{ variant: 'body2' },
|
|
377
|
+
R.prop('hint', labels)
|
|
378
|
+
),
|
|
379
|
+
'aria-label': R.prop('hint', labels),
|
|
380
|
+
tabIndex: 0
|
|
381
|
+
},
|
|
382
|
+
_react2.default.createElement(
|
|
383
|
+
_Button2.default,
|
|
384
|
+
null,
|
|
385
|
+
_react2.default.createElement(_EmojiObjects2.default, null)
|
|
386
|
+
)
|
|
387
|
+
),
|
|
388
|
+
_react2.default.createElement(
|
|
389
|
+
_Typography2.default,
|
|
390
|
+
{
|
|
391
|
+
className: classes.selectionTitle,
|
|
392
|
+
'aria-label': R.prop('selectionMode', labels),
|
|
393
|
+
tabIndex: 0
|
|
394
|
+
},
|
|
395
|
+
R.prop('selectionMode', labels)
|
|
396
|
+
)
|
|
397
|
+
),
|
|
398
|
+
_react2.default.createElement(_SelectionModesMobile2.default, {
|
|
399
|
+
selectionModes: selectionOptions,
|
|
400
|
+
selectionMode: selectionMode,
|
|
401
|
+
setSelectionMode: setSelectionMode,
|
|
402
|
+
classes: classes,
|
|
403
|
+
isNarrow: isNarrow
|
|
404
|
+
})
|
|
405
|
+
)
|
|
406
|
+
),
|
|
355
407
|
_react2.default.createElement(
|
|
356
408
|
'div',
|
|
357
409
|
{ className: classes.spotlight },
|
|
@@ -367,10 +419,10 @@ var AdvancedSelection = function AdvancedSelection(props) {
|
|
|
367
419
|
),
|
|
368
420
|
_react2.default.createElement(
|
|
369
421
|
_Grid2.default,
|
|
370
|
-
{ item: true, xs: 8 },
|
|
422
|
+
{ item: true, xs: isNarrow ? 12 : 8 },
|
|
371
423
|
_react2.default.createElement(
|
|
372
424
|
'div',
|
|
373
|
-
{ style: { display: 'flex', flexDirection:
|
|
425
|
+
{ style: { display: 'flex', flexDirection: 'row' } },
|
|
374
426
|
_react2.default.createElement(
|
|
375
427
|
'div',
|
|
376
428
|
null,
|
|
@@ -410,18 +462,18 @@ var AdvancedSelection = function AdvancedSelection(props) {
|
|
|
410
462
|
changeSelection: function changeSelection(selection, ids) {
|
|
411
463
|
return onChangeSelection(selection, ids, filter);
|
|
412
464
|
},
|
|
413
|
-
withExpandControl: true
|
|
414
|
-
|
|
415
|
-
|
|
465
|
+
withExpandControl: true,
|
|
466
|
+
treeHeight: isNarrow ? 0 : '700px',
|
|
467
|
+
scopeGetter: scopeGetter,
|
|
416
468
|
expandedIds: expandedIds
|
|
417
469
|
}))
|
|
418
470
|
),
|
|
419
|
-
_react2.default.createElement(
|
|
471
|
+
!isNarrow && _react2.default.createElement(
|
|
420
472
|
_Grid2.default,
|
|
421
473
|
{ item: true, container: true, xs: 4 },
|
|
422
474
|
_react2.default.createElement(
|
|
423
475
|
'div',
|
|
424
|
-
{ className: (0, _classnames2.default)(classes.selectModeContainer, (
|
|
476
|
+
{ className: (0, _classnames2.default)(classes.selectModeContainer, (_cx3 = {}, _cx3[classes.narrowHeader] = isNarrow, _cx3)) },
|
|
425
477
|
_react2.default.createElement(
|
|
426
478
|
'div',
|
|
427
479
|
{ className: classes.hint },
|
|
@@ -456,7 +508,7 @@ var AdvancedSelection = function AdvancedSelection(props) {
|
|
|
456
508
|
),
|
|
457
509
|
_react2.default.createElement(
|
|
458
510
|
'div',
|
|
459
|
-
{ className: (0, _classnames2.default)(classes.selectModeContainer, (
|
|
511
|
+
{ className: (0, _classnames2.default)(classes.selectModeContainer, (_cx4 = {}, _cx4[classes.narrowHeader] = isNarrow, _cx4)) },
|
|
460
512
|
mapIndexed(function (_ref) {
|
|
461
513
|
var value = _ref.value,
|
|
462
514
|
label = _ref.label,
|