@sis-cc/dotstatsuite-visions 10.29.0 → 11.0.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/TableHtml5/TableHtml5.js +2 -4
- package/es/TableLayout/TableLayout.js +136 -69
- package/es/TableLayout/lib.js +5 -0
- package/es/TablePreview/TablePreview.js +73 -76
- package/es/TablePreview/lib.js +5 -6
- package/lib/TableHtml5/TableHtml5.js +1 -3
- package/lib/TableLayout/TableLayout.js +134 -67
- package/lib/TableLayout/lib.js +6 -1
- package/lib/TablePreview/TablePreview.js +75 -75
- package/lib/TablePreview/lib.js +6 -7
- package/package.json +1 -1
- package/umd/@sis-cc/dotstatsuite-visions.js +1381 -1819
- package/umd/@sis-cc/dotstatsuite-visions.min.js +9 -9
- package/umd/@sis-cc/dotstatsuite-visions.min.js.map +1 -1
|
@@ -90,6 +90,12 @@ var useStyles = exports.useStyles = (0, _styles.makeStyles)(function (theme) {
|
|
|
90
90
|
flexDirection: 'row',
|
|
91
91
|
alignItems: 'center',
|
|
92
92
|
flexFlow: 'nowrap'
|
|
93
|
+
},
|
|
94
|
+
activationButton: {
|
|
95
|
+
backgroundColor: theme.palette.action.hover,
|
|
96
|
+
'&:hover': {
|
|
97
|
+
backgroundColor: theme.palette.action.selected
|
|
98
|
+
}
|
|
93
99
|
}
|
|
94
100
|
};
|
|
95
101
|
});
|
|
@@ -102,7 +108,11 @@ var TableLayout = function TableLayout(_ref) {
|
|
|
102
108
|
var _boxLabel;
|
|
103
109
|
|
|
104
110
|
var _ref$layout = _ref.layout,
|
|
105
|
-
layout = _ref$layout === undefined ?
|
|
111
|
+
layout = _ref$layout === undefined ? {} : _ref$layout,
|
|
112
|
+
_ref$items = _ref.items,
|
|
113
|
+
items = _ref$items === undefined ? [] : _ref$items,
|
|
114
|
+
_ref$optionalItem = _ref.optionalItem,
|
|
115
|
+
optionalItem = _ref$optionalItem === undefined ? {} : _ref$optionalItem,
|
|
106
116
|
_ref$itemRenderer = _ref.itemRenderer,
|
|
107
117
|
itemRenderer = _ref$itemRenderer === undefined ? R.prop('name') : _ref$itemRenderer,
|
|
108
118
|
itemButtonProps = _ref.itemButtonProps,
|
|
@@ -112,40 +122,51 @@ var TableLayout = function TableLayout(_ref) {
|
|
|
112
122
|
accessibility = _ref.accessibility;
|
|
113
123
|
|
|
114
124
|
var classes = useStyles();
|
|
115
|
-
var hiddenElement = R.map(R.filter(function (_ref2) {
|
|
116
|
-
var isHidden = _ref2.isHidden;
|
|
117
|
-
return isHidden;
|
|
118
|
-
}))(layout);
|
|
119
125
|
|
|
120
|
-
var _useState = (0, _react.useState)(
|
|
126
|
+
var _useState = (0, _react.useState)(layout),
|
|
121
127
|
currentLayout = _useState[0],
|
|
122
128
|
setCurrentLayout = _useState[1];
|
|
123
129
|
|
|
124
130
|
var boxLabel = (_boxLabel = {}, _boxLabel[_constants.BOX.header] = labels.column || _constants.BOX.header, _boxLabel[_constants.BOX.sections] = labels.section || _constants.BOX.sections, _boxLabel[_constants.BOX.rows] = labels.row || _constants.BOX.rows, _boxLabel);
|
|
125
|
-
|
|
126
131
|
(0, _react.useEffect)(function () {
|
|
127
|
-
|
|
132
|
+
setCurrentLayout(layout);
|
|
128
133
|
}, [layout]);
|
|
134
|
+
var indexedItems = (0, _react.useMemo)(function () {
|
|
135
|
+
var indexed = R.indexBy(R.prop('id'), items);
|
|
136
|
+
if (!R.isEmpty(optionalItem) && !R.isNil(optionalItem)) {
|
|
137
|
+
return R.assoc(optionalItem.id, optionalItem, indexed);
|
|
138
|
+
}
|
|
139
|
+
return indexed;
|
|
140
|
+
}, [items, optionalItem]);
|
|
129
141
|
|
|
130
142
|
var onChangeLayout = function onChangeLayout(props) {
|
|
131
143
|
return setCurrentLayout((0, _lib.changeLayout)(_extends({}, props)));
|
|
132
144
|
};
|
|
133
145
|
|
|
146
|
+
var activateOptionalItem = function activateOptionalItem() {
|
|
147
|
+
var nextLayout = R.over(R.lensProp('header'), R.append(optionalItem.id), currentLayout);
|
|
148
|
+
setCurrentLayout(nextLayout);
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
var deactivateOptionalItem = function deactivateOptionalItem() {
|
|
152
|
+
setCurrentLayout(R.map(R.reject(R.equals(optionalItem.id)), currentLayout));
|
|
153
|
+
};
|
|
154
|
+
|
|
134
155
|
var onCommit = function onCommit() {
|
|
135
156
|
if (R.is(Function)(commit)) {
|
|
136
|
-
commit(
|
|
157
|
+
commit(currentLayout);
|
|
137
158
|
}
|
|
138
159
|
};
|
|
139
160
|
|
|
140
161
|
var onCancel = function onCancel() {
|
|
141
162
|
if (R.is(Function)(setCurrentLayout)) {
|
|
142
|
-
setCurrentLayout(
|
|
163
|
+
setCurrentLayout(layout);
|
|
143
164
|
}
|
|
144
165
|
};
|
|
145
166
|
|
|
146
|
-
var onDragStart = function onDragStart(
|
|
147
|
-
var draggableId =
|
|
148
|
-
source =
|
|
167
|
+
var onDragStart = function onDragStart(_ref2, provided) {
|
|
168
|
+
var draggableId = _ref2.draggableId,
|
|
169
|
+
source = _ref2.source;
|
|
149
170
|
|
|
150
171
|
if (R.is(Function)(labels.wcagDragStart)) {
|
|
151
172
|
// start.source = droppableId & index
|
|
@@ -159,9 +180,9 @@ var TableLayout = function TableLayout(_ref) {
|
|
|
159
180
|
}
|
|
160
181
|
};
|
|
161
182
|
|
|
162
|
-
var onDragUpdate = function onDragUpdate(
|
|
163
|
-
var destination =
|
|
164
|
-
source =
|
|
183
|
+
var onDragUpdate = function onDragUpdate(_ref3, provided) {
|
|
184
|
+
var destination = _ref3.destination,
|
|
185
|
+
source = _ref3.source;
|
|
165
186
|
|
|
166
187
|
if (R.isNil(destination)) {
|
|
167
188
|
return;
|
|
@@ -183,10 +204,10 @@ var TableLayout = function TableLayout(_ref) {
|
|
|
183
204
|
};
|
|
184
205
|
|
|
185
206
|
var onDragEnd = function onDragEnd(layout) {
|
|
186
|
-
return function (
|
|
187
|
-
var reason =
|
|
188
|
-
destination =
|
|
189
|
-
source =
|
|
207
|
+
return function (_ref4, provided) {
|
|
208
|
+
var reason = _ref4.reason,
|
|
209
|
+
destination = _ref4.destination,
|
|
210
|
+
source = _ref4.source;
|
|
190
211
|
|
|
191
212
|
if (R.is(String)(labels.wcagDragCancel)) {
|
|
192
213
|
if (R.equals(reason, 'CANCEL')) {
|
|
@@ -220,10 +241,16 @@ var TableLayout = function TableLayout(_ref) {
|
|
|
220
241
|
};
|
|
221
242
|
};
|
|
222
243
|
|
|
244
|
+
var getItems = function getItems(level) {
|
|
245
|
+
return R.pipe(R.prop(level), function (ids) {
|
|
246
|
+
return R.props(ids, indexedItems);
|
|
247
|
+
}, R.filter(R.identity))(currentLayout);
|
|
248
|
+
};
|
|
249
|
+
|
|
223
250
|
var header = _react2.default.createElement(_Box2.default, {
|
|
224
251
|
title: labels.column,
|
|
225
252
|
Icon: _ViewColumnOutlined2.default,
|
|
226
|
-
items:
|
|
253
|
+
items: getItems('header'),
|
|
227
254
|
labels: labels,
|
|
228
255
|
dropZoneLabel: _constants.BOX.header,
|
|
229
256
|
itemRenderer: itemRenderer,
|
|
@@ -238,7 +265,7 @@ var TableLayout = function TableLayout(_ref) {
|
|
|
238
265
|
_react2.default.createElement(_Box2.default, {
|
|
239
266
|
title: labels.section,
|
|
240
267
|
Icon: _Reorder2.default,
|
|
241
|
-
items:
|
|
268
|
+
items: getItems('sections'),
|
|
242
269
|
labels: labels,
|
|
243
270
|
dropZoneLabel: _constants.BOX.sections,
|
|
244
271
|
itemRenderer: itemRenderer,
|
|
@@ -249,7 +276,7 @@ var TableLayout = function TableLayout(_ref) {
|
|
|
249
276
|
_react2.default.createElement(_Box2.default, {
|
|
250
277
|
title: labels.row,
|
|
251
278
|
Icon: _ViewListOutlined2.default,
|
|
252
|
-
items:
|
|
279
|
+
items: getItems('rows'),
|
|
253
280
|
labels: labels,
|
|
254
281
|
dropZoneLabel: _constants.BOX.rows,
|
|
255
282
|
itemRenderer: itemRenderer,
|
|
@@ -259,6 +286,8 @@ var TableLayout = function TableLayout(_ref) {
|
|
|
259
286
|
})
|
|
260
287
|
);
|
|
261
288
|
|
|
289
|
+
var isOptionalActivated = (0, _lib.getIsOptionalActivated)(currentLayout, R.prop('id', optionalItem));
|
|
290
|
+
|
|
262
291
|
return _react2.default.createElement(
|
|
263
292
|
_Grid2.default,
|
|
264
293
|
{ 'data-testid': 'table-layout-test-id', container: true },
|
|
@@ -323,63 +352,101 @@ var TableLayout = function TableLayout(_ref) {
|
|
|
323
352
|
labels.table
|
|
324
353
|
)
|
|
325
354
|
),
|
|
326
|
-
_react2.default.createElement(_TablePreview2.default,
|
|
355
|
+
_react2.default.createElement(_TablePreview2.default, {
|
|
356
|
+
header: R.props(R.prop('header', currentLayout), indexedItems),
|
|
357
|
+
sections: R.props(R.prop('sections', currentLayout), indexedItems),
|
|
358
|
+
rows: R.props(R.prop('rows', currentLayout), indexedItems),
|
|
359
|
+
itemRenderer: itemRenderer
|
|
360
|
+
})
|
|
327
361
|
)
|
|
328
362
|
)
|
|
329
363
|
)
|
|
330
364
|
),
|
|
331
365
|
_react2.default.createElement(
|
|
332
366
|
_Grid2.default,
|
|
333
|
-
{
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
367
|
+
{
|
|
368
|
+
container: true,
|
|
369
|
+
justifyContent: 'space-between',
|
|
370
|
+
className: classes.buttonContainer,
|
|
371
|
+
spacing: 1
|
|
372
|
+
},
|
|
373
|
+
_react2.default.createElement(
|
|
374
|
+
_Grid2.default,
|
|
375
|
+
{
|
|
376
|
+
item: true,
|
|
377
|
+
'data-testid': isOptionalActivated ? 'table-layout-deactivate-optional' : 'table-layout-activate-optional'
|
|
378
|
+
},
|
|
379
|
+
!R.isNil(optionalItem) && !R.isEmpty(optionalItem) && _react2.default.createElement(
|
|
380
|
+
_.Button,
|
|
381
|
+
{
|
|
382
|
+
className: classes.activationButton,
|
|
383
|
+
'aria-label': R.prop('activationLabel', optionalItem),
|
|
384
|
+
color: 'primary',
|
|
385
|
+
onClick: isOptionalActivated ? deactivateOptionalItem : activateOptionalItem,
|
|
386
|
+
startIcon: _react2.default.createElement(_Done2.default, null)
|
|
387
|
+
},
|
|
338
388
|
_react2.default.createElement(
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
_Typography2.default,
|
|
343
|
-
{ variant: 'body2' },
|
|
344
|
-
button.label
|
|
345
|
-
)
|
|
389
|
+
_Typography2.default,
|
|
390
|
+
{ variant: 'body2' },
|
|
391
|
+
R.prop('activationLabel', optionalItem)
|
|
346
392
|
)
|
|
347
|
-
)
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
393
|
+
)
|
|
394
|
+
),
|
|
395
|
+
_react2.default.createElement(
|
|
396
|
+
_Grid2.default,
|
|
397
|
+
{ item: true },
|
|
398
|
+
_react2.default.createElement(
|
|
399
|
+
_Grid2.default,
|
|
400
|
+
{ container: true, justifyContent: 'flex-end', display: 'flex', spacing: 1 },
|
|
401
|
+
R.map(function (button) {
|
|
402
|
+
return _react2.default.createElement(
|
|
403
|
+
_Grid2.default,
|
|
404
|
+
{ item: true, key: button.id, 'data-testid': button['data-testid'] },
|
|
405
|
+
_react2.default.createElement(
|
|
406
|
+
_.Button,
|
|
407
|
+
_extends({ 'aria-label': button.label, color: 'primary' }, button),
|
|
408
|
+
_react2.default.createElement(
|
|
409
|
+
_Typography2.default,
|
|
410
|
+
{ variant: 'body2' },
|
|
411
|
+
button.label
|
|
412
|
+
)
|
|
413
|
+
)
|
|
414
|
+
);
|
|
415
|
+
})([{
|
|
416
|
+
id: 2,
|
|
417
|
+
label: labels.cancel,
|
|
418
|
+
onClick: onCancel,
|
|
419
|
+
startIcon: _react2.default.createElement(_Undo2.default, null),
|
|
420
|
+
'datatest-id': 'table-layout-cancel'
|
|
421
|
+
}, {
|
|
422
|
+
id: 1,
|
|
423
|
+
label: labels.commit,
|
|
424
|
+
onClick: onCommit,
|
|
425
|
+
startIcon: _react2.default.createElement(_Done2.default, null),
|
|
426
|
+
variant: 'contained',
|
|
427
|
+
alternative: 'siscc',
|
|
428
|
+
className: classes.applyButton,
|
|
429
|
+
'data-testid': 'table-layout-apply'
|
|
430
|
+
}])
|
|
431
|
+
)
|
|
432
|
+
)
|
|
364
433
|
)
|
|
365
434
|
);
|
|
366
435
|
};
|
|
367
436
|
|
|
368
|
-
var patern = {
|
|
437
|
+
var patern = _propTypes2.default.shape({
|
|
369
438
|
id: _propTypes2.default.string,
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
id: _propTypes2.default.string,
|
|
373
|
-
label: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element])
|
|
374
|
-
}))
|
|
375
|
-
};
|
|
439
|
+
count: _propTypes2.default.number
|
|
440
|
+
});
|
|
376
441
|
|
|
377
442
|
TableLayout.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
378
443
|
layout: _propTypes2.default.shape({
|
|
379
|
-
header: _propTypes2.default.arrayOf(_propTypes2.default.
|
|
380
|
-
sections: _propTypes2.default.arrayOf(_propTypes2.default.
|
|
381
|
-
rows: _propTypes2.default.arrayOf(_propTypes2.default.
|
|
444
|
+
header: _propTypes2.default.arrayOf(_propTypes2.default.string),
|
|
445
|
+
sections: _propTypes2.default.arrayOf(_propTypes2.default.string),
|
|
446
|
+
rows: _propTypes2.default.arrayOf(_propTypes2.default.string)
|
|
382
447
|
}),
|
|
448
|
+
items: _propTypes2.default.arrayOf(patern),
|
|
449
|
+
optionalItem: patern,
|
|
383
450
|
itemRenderer: _propTypes2.default.func,
|
|
384
451
|
commit: _propTypes2.default.func,
|
|
385
452
|
noPreview: _propTypes2.default.bool,
|
|
@@ -404,10 +471,10 @@ TableLayout.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
404
471
|
accessibility: _propTypes2.default.bool
|
|
405
472
|
} : {};
|
|
406
473
|
|
|
407
|
-
exports.default = (0, _utils.withBlank)(function (
|
|
408
|
-
var
|
|
409
|
-
layout =
|
|
410
|
-
isBlank =
|
|
474
|
+
exports.default = (0, _utils.withBlank)(function (_ref5) {
|
|
475
|
+
var _ref5$layout = _ref5.layout,
|
|
476
|
+
layout = _ref5$layout === undefined ? [] : _ref5$layout,
|
|
477
|
+
isBlank = _ref5.isBlank;
|
|
411
478
|
return {
|
|
412
479
|
isBlank: R.or(isBlank, R.pipe(R.values, R.all(R.isEmpty))(layout))
|
|
413
480
|
};
|
package/lib/TableLayout/lib.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
|
-
exports.addHiddenElement = exports.rejectHiddenElement = exports.changeLayout = undefined;
|
|
4
|
+
exports.getIsOptionalActivated = exports.addHiddenElement = exports.rejectHiddenElement = exports.changeLayout = undefined;
|
|
5
5
|
|
|
6
6
|
var _ramda = require('ramda');
|
|
7
7
|
|
|
@@ -32,4 +32,9 @@ var addHiddenElement = exports.addHiddenElement = function addHiddenElement(layo
|
|
|
32
32
|
return R.mapObjIndexed(function (values, key) {
|
|
33
33
|
return R.pipe(R.prop(key), R.concat(values))(layout);
|
|
34
34
|
});
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
var getIsOptionalActivated = exports.getIsOptionalActivated = function getIsOptionalActivated(layout, optionalId) {
|
|
38
|
+
var founded = R.pipe(R.values, R.unnest, R.find(R.equals(optionalId)))(layout);
|
|
39
|
+
return !R.isNil(founded);
|
|
35
40
|
};
|
|
@@ -30,6 +30,10 @@ var _TableCell = require('@material-ui/core/TableCell');
|
|
|
30
30
|
|
|
31
31
|
var _TableCell2 = _interopRequireDefault(_TableCell);
|
|
32
32
|
|
|
33
|
+
var _Lens = require('@material-ui/icons/Lens');
|
|
34
|
+
|
|
35
|
+
var _Lens2 = _interopRequireDefault(_Lens);
|
|
36
|
+
|
|
33
37
|
var _utils = require('../utils');
|
|
34
38
|
|
|
35
39
|
var _styles = require('./styles');
|
|
@@ -43,23 +47,20 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
43
47
|
var patern = {
|
|
44
48
|
id: _propTypes2.default.string,
|
|
45
49
|
label: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
|
|
46
|
-
|
|
47
|
-
id: _propTypes2.default.string,
|
|
48
|
-
label: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element])
|
|
49
|
-
}))
|
|
50
|
+
count: _propTypes2.default.number
|
|
50
51
|
};
|
|
51
52
|
|
|
52
53
|
var Header = function Header(_ref) {
|
|
53
54
|
var header = _ref.header,
|
|
54
|
-
colSpan = _ref.colSpan
|
|
55
|
+
colSpan = _ref.colSpan,
|
|
56
|
+
valuesSpan = _ref.valuesSpan;
|
|
55
57
|
|
|
56
58
|
var classes = (0, _styles.useStyles)();
|
|
57
59
|
|
|
58
60
|
return R.map(function (_ref2) {
|
|
59
61
|
var id = _ref2.id,
|
|
60
62
|
label = _ref2.label,
|
|
61
|
-
|
|
62
|
-
values = _ref2$values === undefined ? [] : _ref2$values;
|
|
63
|
+
count = _ref2.count;
|
|
63
64
|
return _react2.default.createElement(
|
|
64
65
|
_TableRow2.default,
|
|
65
66
|
{ key: id, className: (0, _classnames2.default)(classes.header, classes.border) },
|
|
@@ -74,43 +75,41 @@ var Header = function Header(_ref) {
|
|
|
74
75
|
},
|
|
75
76
|
label
|
|
76
77
|
),
|
|
77
|
-
R.
|
|
78
|
-
var id = _ref3.id,
|
|
79
|
-
label = _ref3.label;
|
|
78
|
+
R.times(function (index) {
|
|
80
79
|
return _react2.default.createElement(
|
|
81
80
|
_TableCell2.default,
|
|
82
81
|
{
|
|
83
|
-
key: id,
|
|
82
|
+
key: id + '-' + index,
|
|
84
83
|
className: (0, _classnames2.default)(classes.border, classes.cell, classes.headerCell),
|
|
85
|
-
title: label,
|
|
86
84
|
scope: 'col'
|
|
87
85
|
},
|
|
88
|
-
|
|
86
|
+
index < count ? _lib.valueLabel : ''
|
|
89
87
|
);
|
|
90
|
-
})
|
|
88
|
+
}, valuesSpan)
|
|
91
89
|
);
|
|
92
90
|
})(header);
|
|
93
91
|
};
|
|
94
92
|
|
|
95
93
|
Header.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
96
94
|
header: _propTypes2.default.array,
|
|
97
|
-
colSpan: _propTypes2.default.number
|
|
95
|
+
colSpan: _propTypes2.default.number,
|
|
96
|
+
valuesSpan: _propTypes2.default.number
|
|
98
97
|
} : {};
|
|
99
98
|
|
|
100
|
-
var RowHeader = function RowHeader(
|
|
101
|
-
var
|
|
102
|
-
id =
|
|
103
|
-
rows =
|
|
104
|
-
emptyValues =
|
|
99
|
+
var RowHeader = function RowHeader(_ref3) {
|
|
100
|
+
var _ref3$id = _ref3.id,
|
|
101
|
+
id = _ref3$id === undefined ? 'rowHeader' : _ref3$id,
|
|
102
|
+
rows = _ref3.rows,
|
|
103
|
+
emptyValues = _ref3.emptyValues;
|
|
105
104
|
|
|
106
105
|
var classes = (0, _styles.useStyles)();
|
|
107
106
|
|
|
108
107
|
return _react2.default.createElement(
|
|
109
108
|
_TableRow2.default,
|
|
110
109
|
null,
|
|
111
|
-
R.map(function (
|
|
112
|
-
var id =
|
|
113
|
-
label =
|
|
110
|
+
R.map(function (_ref4) {
|
|
111
|
+
var id = _ref4.id,
|
|
112
|
+
label = _ref4.label;
|
|
114
113
|
return _react2.default.createElement(
|
|
115
114
|
_TableCell2.default,
|
|
116
115
|
{
|
|
@@ -138,9 +137,9 @@ RowHeader.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
138
137
|
emptyValues: _propTypes2.default.array
|
|
139
138
|
} : {};
|
|
140
139
|
|
|
141
|
-
var Sections = function Sections(
|
|
142
|
-
var sections =
|
|
143
|
-
colSpan =
|
|
140
|
+
var Sections = function Sections(_ref5) {
|
|
141
|
+
var sections = _ref5.sections,
|
|
142
|
+
colSpan = _ref5.colSpan;
|
|
144
143
|
|
|
145
144
|
var classes = (0, _styles.useStyles)();
|
|
146
145
|
|
|
@@ -150,11 +149,9 @@ var Sections = function Sections(_ref6) {
|
|
|
150
149
|
_react2.default.createElement(
|
|
151
150
|
_TableCell2.default,
|
|
152
151
|
{ tabIndex: 0, className: (0, _classnames2.default)(classes.border, classes.sections), colSpan: colSpan },
|
|
153
|
-
R.map(function (
|
|
154
|
-
var id =
|
|
155
|
-
label =
|
|
156
|
-
values = _ref7.values,
|
|
157
|
-
Icon = _ref7.Icon;
|
|
152
|
+
R.addIndex(R.map)(function (_ref6, index) {
|
|
153
|
+
var id = _ref6.id,
|
|
154
|
+
label = _ref6.label;
|
|
158
155
|
return _react2.default.createElement(
|
|
159
156
|
_react.Fragment,
|
|
160
157
|
{ key: id },
|
|
@@ -166,8 +163,8 @@ var Sections = function Sections(_ref6) {
|
|
|
166
163
|
_react2.default.createElement(
|
|
167
164
|
'span',
|
|
168
165
|
{ className: classes.sectionsCell },
|
|
169
|
-
|
|
170
|
-
|
|
166
|
+
_lib.valueLabel,
|
|
167
|
+
index === sections.length - 1 ? null : _react2.default.createElement(_Lens2.default, { className: classes.icon })
|
|
171
168
|
)
|
|
172
169
|
);
|
|
173
170
|
})(sections)
|
|
@@ -180,41 +177,41 @@ Sections.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
180
177
|
colSpan: _propTypes2.default.number
|
|
181
178
|
} : {};
|
|
182
179
|
|
|
183
|
-
var RowValues = function RowValues(
|
|
184
|
-
var
|
|
185
|
-
id =
|
|
186
|
-
rows =
|
|
187
|
-
emptyValues =
|
|
180
|
+
var RowValues = function RowValues(_ref7) {
|
|
181
|
+
var _ref7$id = _ref7.id,
|
|
182
|
+
id = _ref7$id === undefined ? 'rowValues' : _ref7$id,
|
|
183
|
+
rows = _ref7.rows,
|
|
184
|
+
emptyValues = _ref7.emptyValues;
|
|
188
185
|
|
|
189
186
|
var classes = (0, _styles.useStyles)();
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
}), R.transpose)(rows);
|
|
195
|
-
return R.addIndex(R.map)(function (values, rowIndex) {
|
|
187
|
+
|
|
188
|
+
var totalMaxCount = R.min(_lib.maxCount, R.reduce(R.max, 0, R.pluck('count', rows)));
|
|
189
|
+
|
|
190
|
+
return R.times(function (rowIndex) {
|
|
196
191
|
return _react2.default.createElement(
|
|
197
192
|
_TableRow2.default,
|
|
198
193
|
{ key: id + '-' + rowIndex },
|
|
199
|
-
R.map(function (
|
|
200
|
-
var id =
|
|
201
|
-
|
|
194
|
+
R.map(function (_ref8) {
|
|
195
|
+
var id = _ref8.id,
|
|
196
|
+
count = _ref8.count;
|
|
202
197
|
return _react2.default.createElement(
|
|
203
198
|
_TableCell2.default,
|
|
204
199
|
{
|
|
205
|
-
key: id,
|
|
206
|
-
className: (0, _classnames2.default)(classes.rows, classes.border, classes.cell)
|
|
207
|
-
title: label
|
|
200
|
+
key: id + '-' + rowIndex,
|
|
201
|
+
className: (0, _classnames2.default)(classes.rows, classes.border, classes.cell)
|
|
208
202
|
},
|
|
209
|
-
|
|
203
|
+
rowIndex < count ? _lib.valueLabel : ''
|
|
210
204
|
);
|
|
211
|
-
})(
|
|
205
|
+
})(rows),
|
|
212
206
|
_react2.default.createElement(_TableCell2.default, { className: (0, _classnames2.default)(classes.separatorValues, classes.separatorSize, classes.border) }),
|
|
213
|
-
R.
|
|
214
|
-
return _react2.default.createElement(_TableCell2.default, {
|
|
215
|
-
|
|
207
|
+
R.times(function (columnIndex) {
|
|
208
|
+
return _react2.default.createElement(_TableCell2.default, {
|
|
209
|
+
key: rowIndex + '-header-' + columnIndex,
|
|
210
|
+
className: (0, _classnames2.default)(classes.border, classes.cell)
|
|
211
|
+
});
|
|
212
|
+
})(emptyValues.length)
|
|
216
213
|
);
|
|
217
|
-
})
|
|
214
|
+
}, totalMaxCount);
|
|
218
215
|
};
|
|
219
216
|
|
|
220
217
|
RowValues.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
@@ -223,26 +220,25 @@ RowValues.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
223
220
|
emptyValues: _propTypes2.default.array
|
|
224
221
|
} : {};
|
|
225
222
|
|
|
226
|
-
var MyTable = function MyTable(
|
|
227
|
-
var
|
|
228
|
-
header =
|
|
229
|
-
|
|
230
|
-
sections =
|
|
231
|
-
|
|
232
|
-
rows =
|
|
233
|
-
|
|
234
|
-
labelRenderer =
|
|
223
|
+
var MyTable = function MyTable(_ref9) {
|
|
224
|
+
var _ref9$header = _ref9.header,
|
|
225
|
+
header = _ref9$header === undefined ? [] : _ref9$header,
|
|
226
|
+
_ref9$sections = _ref9.sections,
|
|
227
|
+
sections = _ref9$sections === undefined ? [] : _ref9$sections,
|
|
228
|
+
_ref9$rows = _ref9.rows,
|
|
229
|
+
rows = _ref9$rows === undefined ? [] : _ref9$rows,
|
|
230
|
+
_ref9$labelRenderer = _ref9.labelRenderer,
|
|
231
|
+
labelRenderer = _ref9$labelRenderer === undefined ? R.prop('name') : _ref9$labelRenderer;
|
|
235
232
|
|
|
236
233
|
var classes = (0, _styles.useStyles)();
|
|
237
234
|
var nbShowedValuesHeader = (0, _lib.getMaxValuesLength)(header);
|
|
238
|
-
var nbShowedValuesRows = (0, _lib.getMaxValuesLength)(rows);
|
|
239
235
|
|
|
240
236
|
var emptyValues = (0, _lib.getEmptyValues)(nbShowedValuesHeader);
|
|
241
|
-
var nbColumns = R.
|
|
237
|
+
var nbColumns = R.length(rows) + R.max(nbShowedValuesHeader, 1) + 1;
|
|
242
238
|
var nbColumnRows = R.length(rows) + 1;
|
|
243
|
-
var enhancedHeader = R.pipe((0, _lib.getLabel)(labelRenderer)
|
|
244
|
-
var enhancedRows = R.pipe((0, _lib.getLabel)(labelRenderer)
|
|
245
|
-
var enhancedSections = R.pipe((0, _lib.getLabel)(labelRenderer)
|
|
239
|
+
var enhancedHeader = R.pipe((0, _lib.getLabel)(labelRenderer))(header);
|
|
240
|
+
var enhancedRows = R.pipe((0, _lib.getLabel)(labelRenderer))(rows);
|
|
241
|
+
var enhancedSections = R.pipe((0, _lib.getLabel)(labelRenderer))(sections);
|
|
246
242
|
|
|
247
243
|
return _react2.default.createElement(
|
|
248
244
|
_Table2.default,
|
|
@@ -254,7 +250,11 @@ var MyTable = function MyTable(_ref11) {
|
|
|
254
250
|
_react2.default.createElement(
|
|
255
251
|
'tbody',
|
|
256
252
|
null,
|
|
257
|
-
R.isEmpty(enhancedHeader) ? null : _react2.default.createElement(Header, {
|
|
253
|
+
R.isEmpty(enhancedHeader) ? null : _react2.default.createElement(Header, {
|
|
254
|
+
colSpan: nbColumnRows,
|
|
255
|
+
header: enhancedHeader,
|
|
256
|
+
valuesSpan: nbShowedValuesHeader
|
|
257
|
+
}),
|
|
258
258
|
_react2.default.createElement(RowHeader, { rows: enhancedRows, emptyValues: emptyValues }),
|
|
259
259
|
R.isEmpty(enhancedSections) ? null : _react2.default.createElement(Sections, { colSpan: nbColumns, sections: enhancedSections }),
|
|
260
260
|
_react2.default.createElement(RowValues, { rows: enhancedRows, emptyValues: emptyValues })
|
|
@@ -269,10 +269,10 @@ MyTable.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
269
269
|
labelRenderer: _propTypes2.default.func
|
|
270
270
|
} : {};
|
|
271
271
|
|
|
272
|
-
exports.default = (0, _utils.withBlank)(function (
|
|
273
|
-
var
|
|
274
|
-
rows =
|
|
275
|
-
isBlank =
|
|
272
|
+
exports.default = (0, _utils.withBlank)(function (_ref10) {
|
|
273
|
+
var _ref10$rows = _ref10.rows,
|
|
274
|
+
rows = _ref10$rows === undefined ? [] : _ref10$rows,
|
|
275
|
+
isBlank = _ref10.isBlank;
|
|
276
276
|
return {
|
|
277
277
|
isBlank: R.or(isBlank, R.isEmpty(rows))
|
|
278
278
|
};
|
package/lib/TablePreview/lib.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
|
-
exports.getEnhancedSections = exports.getEqualLengthValues = exports.getLabel = exports.getEmptyValues = exports.getMaxValuesLength = undefined;
|
|
4
|
+
exports.getEnhancedSections = exports.getEqualLengthValues = exports.getLabel = exports.getEmptyValues = exports.getMaxValuesLength = exports.maxCount = exports.valueLabel = undefined;
|
|
5
5
|
|
|
6
6
|
var _ramda = require('ramda');
|
|
7
7
|
|
|
@@ -15,12 +15,11 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
15
15
|
|
|
16
16
|
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; } }
|
|
17
17
|
|
|
18
|
-
var
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
})(lists));
|
|
18
|
+
var valueLabel = exports.valueLabel = 'Xxxx';
|
|
19
|
+
var maxCount = exports.maxCount = 3;
|
|
20
|
+
|
|
21
|
+
var getMaxValuesLength = exports.getMaxValuesLength = function getMaxValuesLength(items) {
|
|
22
|
+
return Math.min(Math.max.apply(Math, R.pluck('count', items)), maxCount);
|
|
24
23
|
};
|
|
25
24
|
var getEmptyValues = exports.getEmptyValues = R.ifElse(R.flip(R.lte)(0), R.always(['']), R.times(R.always('')));
|
|
26
25
|
var getLabel = exports.getLabel = function getLabel(itemRenderer) {
|