@sis-cc/dotstatsuite-visions 7.22.7 → 8.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/DataHeader/DataHeader.js +37 -9
- package/es/Mode/Mode.js +89 -0
- package/es/Mode/index.js +24 -0
- package/es/TableHtml5/TableHtml5.js +22 -15
- package/es/TableHtml5/cell.js +5 -3
- package/es/TableHtml5/flags.js +14 -10
- package/es/TableHtml5/header.js +14 -10
- package/es/TableHtml5/section.js +15 -9
- package/es/TableHtml5/sectionHeader.js +15 -6
- package/es/TableHtml5/subHeader.js +7 -4
- package/es/TableHtml5/utils.js +22 -0
- package/es/index.js +1 -0
- package/lib/DataHeader/DataHeader.js +37 -9
- package/lib/Mode/Mode.js +117 -0
- package/lib/Mode/index.js +16 -0
- package/lib/TableHtml5/TableHtml5.js +22 -15
- package/lib/TableHtml5/cell.js +5 -3
- package/lib/TableHtml5/flags.js +15 -10
- package/lib/TableHtml5/header.js +15 -10
- package/lib/TableHtml5/section.js +16 -9
- package/lib/TableHtml5/sectionHeader.js +16 -6
- package/lib/TableHtml5/subHeader.js +7 -4
- package/lib/TableHtml5/utils.js +31 -0
- package/lib/index.js +10 -1
- package/package.json +1 -1
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as R from 'ramda';
|
|
2
|
+
|
|
3
|
+
var getLabel = function getLabel(labelAccessor) {
|
|
4
|
+
return function (value) {
|
|
5
|
+
return R.pipe(R.propOr([], 'missingParents'), R.map(labelAccessor), R.append(labelAccessor(value)), R.join(' > '))(value);
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export var getValue = function getValue(labelAccessor) {
|
|
10
|
+
return function (item) {
|
|
11
|
+
return R.has('values', item) ? R.reduce(function (acc, val) {
|
|
12
|
+
return {
|
|
13
|
+
id: R.isEmpty(acc.id) ? val.id : acc.id + ', ' + val.id,
|
|
14
|
+
label: R.isEmpty(acc.label) ? getLabel(labelAccessor)(val) : acc.label + ', ' + getLabel(labelAccessor)(val),
|
|
15
|
+
flags: R.concat(acc.flags, val.flags || []),
|
|
16
|
+
parents: R.concat(acc.parents, val.parents || [])
|
|
17
|
+
};
|
|
18
|
+
}, { id: '', label: '', flags: [], parents: [] }, R.prop('values', item)) : R.pipe(R.prop('value'), function (val) {
|
|
19
|
+
return R.assoc('label', getLabel(labelAccessor)(val), val);
|
|
20
|
+
})(item);
|
|
21
|
+
};
|
|
22
|
+
};
|
package/es/index.js
CHANGED
|
@@ -24,6 +24,7 @@ export { default as LabelDivider } from './LabelDivider';
|
|
|
24
24
|
export { default as Loading } from './Loading';
|
|
25
25
|
export { default as Logo } from './Logo';
|
|
26
26
|
export { default as NoData } from './NoData';
|
|
27
|
+
export { default as Mode } from './Mode';
|
|
27
28
|
export { default as Pagination } from './Pagination';
|
|
28
29
|
export { default as PeriodPicker } from './PeriodPicker';
|
|
29
30
|
export { spotlightScopeListEngine, reduceChildren } from './utils';
|
|
@@ -152,7 +152,7 @@ var DataHeader = function DataHeader(_ref5) {
|
|
|
152
152
|
title = _ref5.title,
|
|
153
153
|
_ref5$subtitle = _ref5.subtitle,
|
|
154
154
|
subtitle = _ref5$subtitle === undefined ? [] : _ref5$subtitle,
|
|
155
|
-
|
|
155
|
+
combinations = _ref5.combinations,
|
|
156
156
|
disclaimer = _ref5.disclaimer,
|
|
157
157
|
sideProps = _ref5.sideProps,
|
|
158
158
|
SideIcon = _ref5.SideIcon,
|
|
@@ -168,12 +168,19 @@ var DataHeader = function DataHeader(_ref5) {
|
|
|
168
168
|
var isWidthLess = R.lt(width);
|
|
169
169
|
var classes = useStyles({ isWidthLess: isWidthLess });
|
|
170
170
|
|
|
171
|
-
var reducedContent = (0, _utils.getReducedContent)({
|
|
171
|
+
var reducedContent = (0, _utils.getReducedContent)({
|
|
172
|
+
isWidthLess: isWidthLess,
|
|
173
|
+
title: title,
|
|
174
|
+
subtitle: subtitle,
|
|
175
|
+
combinations: combinations,
|
|
176
|
+
disclaimer: disclaimer
|
|
177
|
+
});
|
|
172
178
|
|
|
173
179
|
var theme = (0, _styles.useTheme)();
|
|
174
180
|
var iconColor = R.path(['mixins', 'dataHeader', 'icon', 'color'], theme);
|
|
175
181
|
|
|
176
182
|
var subtitleLength = R.length(subtitle);
|
|
183
|
+
var combinationsLength = R.length(combinations);
|
|
177
184
|
|
|
178
185
|
return _react2.default.createElement(
|
|
179
186
|
'div',
|
|
@@ -224,11 +231,32 @@ var DataHeader = function DataHeader(_ref5) {
|
|
|
224
231
|
);
|
|
225
232
|
}))(subtitle)
|
|
226
233
|
),
|
|
227
|
-
isWidthUp(_theme.T4_BREAKPOINTS.xs3) &&
|
|
228
|
-
|
|
229
|
-
{ className: classes.
|
|
230
|
-
|
|
231
|
-
|
|
234
|
+
isWidthUp(_theme.T4_BREAKPOINTS.xs3) && combinations && R.not(R.isEmpty(combinations)) && _react2.default.createElement(
|
|
235
|
+
'div',
|
|
236
|
+
{ className: classes.wrapperSubtitle },
|
|
237
|
+
R.pipe(R.addIndex(R.map)(function (comb, index) {
|
|
238
|
+
return _react2.default.createElement(
|
|
239
|
+
'div',
|
|
240
|
+
{
|
|
241
|
+
key: 'combination-' + index,
|
|
242
|
+
className: classes.subtitle,
|
|
243
|
+
'data-testid': 'data-header-combination',
|
|
244
|
+
'aria-label': comb.header
|
|
245
|
+
},
|
|
246
|
+
_react2.default.createElement(_Title2.default, { header: comb.header }),
|
|
247
|
+
_react2.default.createElement(
|
|
248
|
+
_Typography2.default,
|
|
249
|
+
{ variant: 'inherit' },
|
|
250
|
+
comb.label
|
|
251
|
+
),
|
|
252
|
+
R.not(R.isEmpty(R.propOr([], 'flags', comb))) && _react2.default.createElement(_Flags2.default, { classes: classes, content: R.prop('flags', comb) }),
|
|
253
|
+
R.lt(index + 1, combinationsLength) && _react2.default.createElement(
|
|
254
|
+
'svg',
|
|
255
|
+
{ width: '24', height: '8' },
|
|
256
|
+
_react2.default.createElement('circle', { cx: '12', cy: '4', r: '3', stroke: iconColor, fill: iconColor })
|
|
257
|
+
)
|
|
258
|
+
);
|
|
259
|
+
}))(combinations)
|
|
232
260
|
),
|
|
233
261
|
isWidthUp(_theme.T4_BREAKPOINTS.xs3) && disclaimer && _react2.default.createElement(
|
|
234
262
|
_Typography2.default,
|
|
@@ -271,10 +299,10 @@ DataHeader.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
271
299
|
}))
|
|
272
300
|
}))
|
|
273
301
|
})),
|
|
274
|
-
|
|
302
|
+
combinations: _propTypes2.default.arrayOf(_propTypes2.default.shape({
|
|
275
303
|
header: _propTypes2.default.string,
|
|
276
304
|
label: _propTypes2.default.string
|
|
277
|
-
}),
|
|
305
|
+
})),
|
|
278
306
|
sideProps: _propTypes2.default.object,
|
|
279
307
|
SideIcon: _propTypes2.default.func,
|
|
280
308
|
disclaimer: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
|
package/lib/Mode/Mode.js
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
|
|
5
|
+
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
|
6
|
+
|
|
7
|
+
var _react = require('react');
|
|
8
|
+
|
|
9
|
+
var _react2 = _interopRequireDefault(_react);
|
|
10
|
+
|
|
11
|
+
var _propTypes = require('prop-types');
|
|
12
|
+
|
|
13
|
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
|
14
|
+
|
|
15
|
+
var _ramda = require('ramda');
|
|
16
|
+
|
|
17
|
+
var R = _interopRequireWildcard(_ramda);
|
|
18
|
+
|
|
19
|
+
var _styles = require('@material-ui/core/styles');
|
|
20
|
+
|
|
21
|
+
var _RadioGroup = require('@material-ui/core/RadioGroup');
|
|
22
|
+
|
|
23
|
+
var _RadioGroup2 = _interopRequireDefault(_RadioGroup);
|
|
24
|
+
|
|
25
|
+
var _FormControlLabel = require('@material-ui/core/FormControlLabel');
|
|
26
|
+
|
|
27
|
+
var _FormControlLabel2 = _interopRequireDefault(_FormControlLabel);
|
|
28
|
+
|
|
29
|
+
var _Radio = require('@material-ui/core/Radio');
|
|
30
|
+
|
|
31
|
+
var _Radio2 = _interopRequireDefault(_Radio);
|
|
32
|
+
|
|
33
|
+
var _ = require('../');
|
|
34
|
+
|
|
35
|
+
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; } }
|
|
36
|
+
|
|
37
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
38
|
+
|
|
39
|
+
var useStyles = (0, _styles.makeStyles)(function (theme) {
|
|
40
|
+
return {
|
|
41
|
+
title: _extends({
|
|
42
|
+
padding: 0
|
|
43
|
+
}, R.pathOr({}, ['mixins', 'share', 'title'], theme)),
|
|
44
|
+
label: theme.typography.body2,
|
|
45
|
+
icon: {
|
|
46
|
+
marginLeft: theme.spacing(0.5)
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
var Warning = function Warning(_ref) {
|
|
52
|
+
var title = _ref.title,
|
|
53
|
+
children = _ref.children;
|
|
54
|
+
|
|
55
|
+
var classes = useStyles();
|
|
56
|
+
return _react2.default.createElement(
|
|
57
|
+
_.Tooltip,
|
|
58
|
+
{ className: classes.icon, title: title, variant: 'light' },
|
|
59
|
+
children
|
|
60
|
+
);
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
Warning.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
64
|
+
title: _propTypes2.default.string,
|
|
65
|
+
children: _propTypes2.default.node
|
|
66
|
+
} : {};
|
|
67
|
+
|
|
68
|
+
var Mode = function Mode(_ref2) {
|
|
69
|
+
var changeMode = _ref2.changeMode,
|
|
70
|
+
mode = _ref2.mode,
|
|
71
|
+
_ref2$modes = _ref2.modes,
|
|
72
|
+
modes = _ref2$modes === undefined ? [] : _ref2$modes,
|
|
73
|
+
children = _ref2.children;
|
|
74
|
+
|
|
75
|
+
var classes = useStyles();
|
|
76
|
+
return _react2.default.createElement(
|
|
77
|
+
_RadioGroup2.default,
|
|
78
|
+
{ onChange: function onChange(e) {
|
|
79
|
+
return changeMode(e.target.value);
|
|
80
|
+
}, value: mode },
|
|
81
|
+
R.map(function (_ref3) {
|
|
82
|
+
var label = _ref3.label,
|
|
83
|
+
value = _ref3.value,
|
|
84
|
+
popperLabel = _ref3.popperLabel;
|
|
85
|
+
return _react2.default.createElement(_FormControlLabel2.default, {
|
|
86
|
+
classes: { label: classes.label },
|
|
87
|
+
key: value,
|
|
88
|
+
control: _react2.default.createElement(_Radio2.default, { variant: 'outlined', color: 'primary' }),
|
|
89
|
+
label: _react2.default.createElement(
|
|
90
|
+
'span',
|
|
91
|
+
null,
|
|
92
|
+
label,
|
|
93
|
+
popperLabel && _react2.default.createElement(
|
|
94
|
+
Warning,
|
|
95
|
+
{ title: popperLabel },
|
|
96
|
+
children
|
|
97
|
+
)
|
|
98
|
+
),
|
|
99
|
+
value: value
|
|
100
|
+
});
|
|
101
|
+
})(modes)
|
|
102
|
+
);
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
Mode.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
106
|
+
changeMode: _propTypes2.default.func,
|
|
107
|
+
children: _propTypes2.default.node,
|
|
108
|
+
mode: _propTypes2.default.string,
|
|
109
|
+
modes: _propTypes2.default.arrayOf(_propTypes2.default.shape({
|
|
110
|
+
label: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
|
|
111
|
+
value: _propTypes2.default.string,
|
|
112
|
+
popperLabel: _propTypes2.default.string
|
|
113
|
+
}))
|
|
114
|
+
} : {};
|
|
115
|
+
|
|
116
|
+
exports.default = Mode;
|
|
117
|
+
module.exports = exports['default'];
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
|
|
5
|
+
var _Mode = require('./Mode');
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, 'default', {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function get() {
|
|
10
|
+
return _interopRequireDefault(_Mode).default;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
16
|
+
module.exports = exports['default'];
|
|
@@ -43,13 +43,13 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj;
|
|
|
43
43
|
|
|
44
44
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
45
45
|
|
|
46
|
-
/*
|
|
47
|
-
* Accessibility.
|
|
48
|
-
* Do not use "TableHead" from Material-ui.
|
|
49
|
-
* Material-ui, add "scope" attribute for accessibility, "scope" attribute can break screen reader if use with headers.
|
|
50
|
-
* Child from TableHead will inherit a "scope" that we don't want. (not possible to turn off)
|
|
51
|
-
* We are using "headers" attribute because the table is too complexe to use "scope".
|
|
52
|
-
*/
|
|
46
|
+
/*
|
|
47
|
+
* Accessibility.
|
|
48
|
+
* Do not use "TableHead" from Material-ui.
|
|
49
|
+
* Material-ui, add "scope" attribute for accessibility, "scope" attribute can break screen reader if use with headers.
|
|
50
|
+
* Child from TableHead will inherit a "scope" that we don't want. (not possible to turn off)
|
|
51
|
+
* We are using "headers" attribute because the table is too complexe to use "scope".
|
|
52
|
+
*/
|
|
53
53
|
|
|
54
54
|
var useStyles = (0, _styles.makeStyles)(function (theme) {
|
|
55
55
|
return {
|
|
@@ -74,7 +74,7 @@ var getEnhancedValuesHeaderData = exports.getEnhancedValuesHeaderData = function
|
|
|
74
74
|
// mix merge and transpose for performance
|
|
75
75
|
R.reduce(function (acc, cells) {
|
|
76
76
|
R.addIndex(R.forEach)(function (cell, rowIndex) {
|
|
77
|
-
var cellId = R.path(['value', 'id'], cell);
|
|
77
|
+
var cellId = R.has('values', cell) ? R.pipe(R.prop('values'), R.pluck('id'), R.join(','))(cell) : R.path(['value', 'id'], cell);
|
|
78
78
|
var topCell = rowIndex > 0 ? R.pipe(R.nth(rowIndex - 1), R.last)(acc) : null;
|
|
79
79
|
var cellKey = R.isNil(topCell) ? cellId : topCell.key + '-' + cellId;
|
|
80
80
|
|
|
@@ -82,7 +82,7 @@ var getEnhancedValuesHeaderData = exports.getEnhancedValuesHeaderData = function
|
|
|
82
82
|
if (R.prop('key', leftCell) === cellKey && rowIndex !== colLength - 1) {
|
|
83
83
|
acc = R.over(R.lensIndex(rowIndex), R.over(R.lensIndex(-1), R.evolve({ spanCount: R.add(1) })))(acc);
|
|
84
84
|
} else {
|
|
85
|
-
acc = R.over(R.lensIndex(rowIndex), R.append(_extends({}, R.
|
|
85
|
+
acc = R.over(R.lensIndex(rowIndex), R.append(_extends({}, R.pick(['value', 'values'], cell), { key: cellKey, spanCount: 1 })))(acc);
|
|
86
86
|
}
|
|
87
87
|
})(cells);
|
|
88
88
|
return acc;
|
|
@@ -105,7 +105,9 @@ var TableHtml5 = function TableHtml5(_ref) {
|
|
|
105
105
|
SideIcon = _ref.SideIcon,
|
|
106
106
|
_ref$testId = _ref.testId,
|
|
107
107
|
testId = _ref$testId === undefined ? 'vis-table' : _ref$testId,
|
|
108
|
-
HTMLRenderer = _ref.HTMLRenderer
|
|
108
|
+
HTMLRenderer = _ref.HTMLRenderer,
|
|
109
|
+
_ref$labelAccessor = _ref.labelAccessor,
|
|
110
|
+
labelAccessor = _ref$labelAccessor === undefined ? R.prop('name') : _ref$labelAccessor;
|
|
109
111
|
|
|
110
112
|
var classes = useStyles();
|
|
111
113
|
|
|
@@ -142,7 +144,8 @@ var TableHtml5 = function TableHtml5(_ref) {
|
|
|
142
144
|
|
|
143
145
|
var isSingleObs = R.hasPath(['', '', '', 0], cells);
|
|
144
146
|
if (isSingleObs) return _react2.default.createElement(_cell2.default, _extends({
|
|
145
|
-
HTMLRenderer: HTMLRenderer
|
|
147
|
+
HTMLRenderer: HTMLRenderer,
|
|
148
|
+
labelAccessor: labelAccessor
|
|
146
149
|
}, R.pathOr({}, ['', '', '', 0], cells), {
|
|
147
150
|
cellHandler: cellHandler,
|
|
148
151
|
isOne: true
|
|
@@ -169,7 +172,8 @@ var TableHtml5 = function TableHtml5(_ref) {
|
|
|
169
172
|
valuesHeaderData: valuesHeaderData,
|
|
170
173
|
xLayoutDataLength: xLayoutDataLength,
|
|
171
174
|
subHeadCellsWidth: subHeadCellsWidth,
|
|
172
|
-
HTMLRenderer: HTMLRenderer
|
|
175
|
+
HTMLRenderer: HTMLRenderer,
|
|
176
|
+
labelAccessor: labelAccessor
|
|
173
177
|
}),
|
|
174
178
|
_react2.default.createElement(_subHeader2.default, {
|
|
175
179
|
headerData: headerData,
|
|
@@ -178,7 +182,8 @@ var TableHtml5 = function TableHtml5(_ref) {
|
|
|
178
182
|
SideIcon: SideIcon,
|
|
179
183
|
ref: subHeadCellsRef,
|
|
180
184
|
subHeadCellsWidth: subHeadCellsWidth,
|
|
181
|
-
HTMLRenderer: HTMLRenderer
|
|
185
|
+
HTMLRenderer: HTMLRenderer,
|
|
186
|
+
labelAccessor: labelAccessor
|
|
182
187
|
})
|
|
183
188
|
),
|
|
184
189
|
mapIndexed(function (section, index) {
|
|
@@ -196,7 +201,8 @@ var TableHtml5 = function TableHtml5(_ref) {
|
|
|
196
201
|
activeCellHandler: activeCellHandler,
|
|
197
202
|
SideIcon: SideIcon,
|
|
198
203
|
subHeadCellsWidth: subHeadCellsWidth,
|
|
199
|
-
HTMLRenderer: HTMLRenderer
|
|
204
|
+
HTMLRenderer: HTMLRenderer,
|
|
205
|
+
labelAccessor: labelAccessor
|
|
200
206
|
});
|
|
201
207
|
}, sectionsData)
|
|
202
208
|
);
|
|
@@ -211,7 +217,8 @@ TableHtml5.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
211
217
|
activeCellIds: _propTypes2.default.object,
|
|
212
218
|
SideIcon: _propTypes2.default.func,
|
|
213
219
|
testId: _propTypes2.default.string,
|
|
214
|
-
HTMLRenderer: _propTypes2.default.func
|
|
220
|
+
HTMLRenderer: _propTypes2.default.func,
|
|
221
|
+
labelAccessor: _propTypes2.default.func
|
|
215
222
|
} : {};
|
|
216
223
|
|
|
217
224
|
exports.default = TableHtml5;
|
package/lib/TableHtml5/cell.js
CHANGED
|
@@ -92,7 +92,8 @@ var Cell = function Cell(_ref) {
|
|
|
92
92
|
isHighlight = _ref.isHighlight,
|
|
93
93
|
sideProps = _ref.sideProps,
|
|
94
94
|
SideIcon = _ref.SideIcon,
|
|
95
|
-
HTMLRenderer = _ref.HTMLRenderer
|
|
95
|
+
HTMLRenderer = _ref.HTMLRenderer,
|
|
96
|
+
labelAccessor = _ref.labelAccessor;
|
|
96
97
|
|
|
97
98
|
var classes = useStyles();
|
|
98
99
|
var isRtl = (0, _utils.getIsRtl)((0, _styles.useTheme)());
|
|
@@ -123,7 +124,7 @@ var Cell = function Cell(_ref) {
|
|
|
123
124
|
tabIndex: 0
|
|
124
125
|
},
|
|
125
126
|
!R.isNil(SideIcon) && _react2.default.createElement(SideIcon, { sideProps: sideProps, className: classes.value }),
|
|
126
|
-
hasFlag && _react2.default.createElement(_flags2.default, { HTMLRenderer: HTMLRenderer, flags: flags }),
|
|
127
|
+
hasFlag && _react2.default.createElement(_flags2.default, { HTMLRenderer: HTMLRenderer, flags: flags, labelAccessor: labelAccessor }),
|
|
127
128
|
uiValue
|
|
128
129
|
);
|
|
129
130
|
};
|
|
@@ -141,7 +142,8 @@ Cell.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
141
142
|
activeCellHandler: _propTypes2.default.func,
|
|
142
143
|
sideProps: _propTypes2.default.object,
|
|
143
144
|
SideIcon: _propTypes2.default.func,
|
|
144
|
-
HTMLRenderer: _propTypes2.default.func
|
|
145
|
+
HTMLRenderer: _propTypes2.default.func,
|
|
146
|
+
labelAccessor: _propTypes2.default.func
|
|
145
147
|
} : {};
|
|
146
148
|
|
|
147
149
|
exports.default = Cell;
|
package/lib/TableHtml5/flags.js
CHANGED
|
@@ -32,6 +32,8 @@ var _Tooltip2 = _interopRequireDefault(_Tooltip);
|
|
|
32
32
|
|
|
33
33
|
var _ = require('../');
|
|
34
34
|
|
|
35
|
+
var _utils = require('./utils');
|
|
36
|
+
|
|
35
37
|
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; } }
|
|
36
38
|
|
|
37
39
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -72,7 +74,8 @@ var Flags = function Flags(_ref) {
|
|
|
72
74
|
var _ref$flags = _ref.flags,
|
|
73
75
|
flags = _ref$flags === undefined ? [] : _ref$flags,
|
|
74
76
|
isHeader = _ref.isHeader,
|
|
75
|
-
HTMLRenderer = _ref.HTMLRenderer
|
|
77
|
+
HTMLRenderer = _ref.HTMLRenderer,
|
|
78
|
+
labelAccessor = _ref.labelAccessor;
|
|
76
79
|
|
|
77
80
|
var classes = useStyles();
|
|
78
81
|
var noFlags = R.isNil(flags) || R.isEmpty(flags);
|
|
@@ -82,23 +85,27 @@ var Flags = function Flags(_ref) {
|
|
|
82
85
|
var codedIcons = R.pipe(R.reduce(function (acc, flag) {
|
|
83
86
|
return R.when(R.always(R.has('code', flag)), R.append(flag.code))(acc);
|
|
84
87
|
}, []), R.join(','))(flags);
|
|
88
|
+
|
|
89
|
+
var labels = R.map(function (flag) {
|
|
90
|
+
var value = (0, _utils.getValue)(labelAccessor)(flag);
|
|
91
|
+
return labelAccessor(flag) + ': ' + value.label;
|
|
92
|
+
}, flags);
|
|
85
93
|
var content = _react2.default.createElement(
|
|
86
94
|
'ul',
|
|
87
95
|
{ 'data-testid': 'cell-flags-footnotes-content', className: classes.content },
|
|
88
|
-
R.addIndex(R.map)(function (
|
|
89
|
-
var label = _ref2.label;
|
|
96
|
+
R.addIndex(R.map)(function (label, index) {
|
|
90
97
|
return _react2.default.createElement(
|
|
91
98
|
'li',
|
|
92
99
|
{ key: index },
|
|
93
100
|
R.is(Function, HTMLRenderer) ? _react2.default.createElement(HTMLRenderer, { html: label }) : label
|
|
94
101
|
);
|
|
95
|
-
},
|
|
102
|
+
}, labels)
|
|
96
103
|
);
|
|
97
104
|
return _react2.default.createElement(
|
|
98
105
|
_Tooltip2.default,
|
|
99
106
|
{
|
|
100
107
|
tabIndex: 0,
|
|
101
|
-
'aria-label': R.
|
|
108
|
+
'aria-label': R.join(', ', labels),
|
|
102
109
|
'aria-hidden': false,
|
|
103
110
|
title: content,
|
|
104
111
|
placement: 'top'
|
|
@@ -123,10 +130,7 @@ var Flags = function Flags(_ref) {
|
|
|
123
130
|
_react2.default.createElement(
|
|
124
131
|
_Typography2.default,
|
|
125
132
|
{ variant: 'srOnly' },
|
|
126
|
-
'* ' +
|
|
127
|
-
var label = _ref3.label;
|
|
128
|
-
return label;
|
|
129
|
-
}, flags)
|
|
133
|
+
'* ' + labels
|
|
130
134
|
)
|
|
131
135
|
)
|
|
132
136
|
)
|
|
@@ -136,7 +140,8 @@ var Flags = function Flags(_ref) {
|
|
|
136
140
|
Flags.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
137
141
|
flags: _propTypes2.default.array,
|
|
138
142
|
isHeader: _propTypes2.default.bool,
|
|
139
|
-
HTMLRenderer: _propTypes2.default.func
|
|
143
|
+
HTMLRenderer: _propTypes2.default.func,
|
|
144
|
+
labelAccessor: _propTypes2.default.func
|
|
140
145
|
} : {};
|
|
141
146
|
|
|
142
147
|
exports.default = Flags;
|
package/lib/TableHtml5/header.js
CHANGED
|
@@ -38,6 +38,8 @@ var _flags2 = _interopRequireDefault(_flags);
|
|
|
38
38
|
|
|
39
39
|
var _utils = require('../utils');
|
|
40
40
|
|
|
41
|
+
var _utils2 = require('./utils');
|
|
42
|
+
|
|
41
43
|
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; } }
|
|
42
44
|
|
|
43
45
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -87,7 +89,8 @@ var Header = function Header(_ref) {
|
|
|
87
89
|
valuesHeaderData = _ref.valuesHeaderData,
|
|
88
90
|
xLayoutDataLength = _ref.xLayoutDataLength,
|
|
89
91
|
subHeadCellsWidth = _ref.subHeadCellsWidth,
|
|
90
|
-
HTMLRenderer = _ref.HTMLRenderer
|
|
92
|
+
HTMLRenderer = _ref.HTMLRenderer,
|
|
93
|
+
labelAccessor = _ref.labelAccessor;
|
|
91
94
|
|
|
92
95
|
var classes = useStyles();
|
|
93
96
|
var theme = (0, _styles.useTheme)();
|
|
@@ -124,22 +127,23 @@ var Header = function Header(_ref) {
|
|
|
124
127
|
_react2.default.createElement(
|
|
125
128
|
_Typography2.default,
|
|
126
129
|
{ variant: 'body1', className: classes.cellLabelHeader },
|
|
127
|
-
R.path([0, 'data', index, 'dimension'
|
|
128
|
-
_react2.default.createElement(_flags2.default, { HTMLRenderer: HTMLRenderer, flags: flags, isHeader: true })
|
|
130
|
+
R.pipe(R.path([0, 'data', index, 'dimension']), labelAccessor)(headerData),
|
|
131
|
+
_react2.default.createElement(_flags2.default, { HTMLRenderer: HTMLRenderer, flags: flags, isHeader: true, labelAccessor: labelAccessor })
|
|
129
132
|
)
|
|
130
133
|
)
|
|
131
134
|
),
|
|
132
135
|
mapIndexed(function (headerItem, idx) {
|
|
133
136
|
var _cx;
|
|
134
137
|
|
|
135
|
-
var
|
|
136
|
-
var
|
|
138
|
+
var value = (0, _utils2.getValue)(labelAccessor)(headerItem);
|
|
139
|
+
var flags = R.propOr([], 'flags', value);
|
|
140
|
+
var hierarchySpace = R.pipe(R.propOr([], 'parents'), R.length, R.times(function () {
|
|
137
141
|
return '·';
|
|
138
|
-
}))(
|
|
142
|
+
}))(value);
|
|
139
143
|
return _react2.default.createElement(
|
|
140
144
|
_TableCell2.default,
|
|
141
145
|
{
|
|
142
|
-
key: R.prop('id',
|
|
146
|
+
key: R.prop('id', value) + '-' + idx,
|
|
143
147
|
component: 'th',
|
|
144
148
|
className: (0, _classnames2.default)(classes.tableHeadCell, (_cx = {}, _cx[classes.topCell] = R.not(R.isEmpty(flags)), _cx)),
|
|
145
149
|
id: idx + '_' + index,
|
|
@@ -167,8 +171,8 @@ var Header = function Header(_ref) {
|
|
|
167
171
|
},
|
|
168
172
|
variant: 'body1'
|
|
169
173
|
},
|
|
170
|
-
R.prop('label',
|
|
171
|
-
_react2.default.createElement(_flags2.default, { HTMLRenderer: HTMLRenderer, flags: flags, isHeader: true })
|
|
174
|
+
R.prop('label', value),
|
|
175
|
+
_react2.default.createElement(_flags2.default, { HTMLRenderer: HTMLRenderer, flags: flags, isHeader: true, labelAccessor: labelAccessor })
|
|
172
176
|
)
|
|
173
177
|
)
|
|
174
178
|
);
|
|
@@ -182,7 +186,8 @@ Header.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
182
186
|
valuesHeaderData: _propTypes2.default.array,
|
|
183
187
|
xLayoutDataLength: _propTypes2.default.number,
|
|
184
188
|
subHeadCellsWidth: _propTypes2.default.array,
|
|
185
|
-
HTMLRenderer: _propTypes2.default.func
|
|
189
|
+
HTMLRenderer: _propTypes2.default.func,
|
|
190
|
+
labelAccessor: _propTypes2.default.func
|
|
186
191
|
} : {};
|
|
187
192
|
|
|
188
193
|
exports.default = Header;
|
|
@@ -50,6 +50,8 @@ var _cell2 = _interopRequireDefault(_cell);
|
|
|
50
50
|
|
|
51
51
|
var _utils = require('../utils');
|
|
52
52
|
|
|
53
|
+
var _utils2 = require('./utils');
|
|
54
|
+
|
|
53
55
|
var _flags = require('./flags');
|
|
54
56
|
|
|
55
57
|
var _flags2 = _interopRequireDefault(_flags);
|
|
@@ -120,7 +122,8 @@ var Section = function Section(_ref) {
|
|
|
120
122
|
nbColumnsByRows = _ref.nbColumnsByRows,
|
|
121
123
|
SideIcon = _ref.SideIcon,
|
|
122
124
|
subHeadCellsWidth = _ref.subHeadCellsWidth,
|
|
123
|
-
HTMLRenderer = _ref.HTMLRenderer
|
|
125
|
+
HTMLRenderer = _ref.HTMLRenderer,
|
|
126
|
+
labelAccessor = _ref.labelAccessor;
|
|
124
127
|
|
|
125
128
|
var classes = useStyles();
|
|
126
129
|
var currentSection = R.path([0, 'key'], section);
|
|
@@ -139,7 +142,8 @@ var Section = function Section(_ref) {
|
|
|
139
142
|
xLayoutDataLength: xLayoutDataLength,
|
|
140
143
|
headerHeight: headerHeight,
|
|
141
144
|
SideIcon: SideIcon,
|
|
142
|
-
HTMLRenderer: HTMLRenderer
|
|
145
|
+
HTMLRenderer: HTMLRenderer,
|
|
146
|
+
labelAccessor: labelAccessor
|
|
143
147
|
}),
|
|
144
148
|
R.addIndex(R.map)(function (sectionbody, rowIndex) {
|
|
145
149
|
var _cx2;
|
|
@@ -154,15 +158,16 @@ var Section = function Section(_ref) {
|
|
|
154
158
|
mapIndexed(function (cell, index) {
|
|
155
159
|
var _cx;
|
|
156
160
|
|
|
157
|
-
var
|
|
161
|
+
var value = (0, _utils2.getValue)(labelAccessor)(cell);
|
|
162
|
+
var flags = R.prop('flags', value);
|
|
158
163
|
var id = rowIndex + '_' + rowId + '_' + index;
|
|
159
164
|
|
|
160
165
|
// special space is used for hierarchy U+2007    
|
|
161
|
-
var hierarchySpace = R.pipe(R.
|
|
166
|
+
var hierarchySpace = R.pipe(R.propOr([], 'parents'), R.when(R.isNil, R.always([])), R.length,
|
|
162
167
|
// eslint-disable-next-line no-irregular-whitespace
|
|
163
168
|
R.times(function () {
|
|
164
169
|
return '· ';
|
|
165
|
-
}))(
|
|
170
|
+
}))(value);
|
|
166
171
|
|
|
167
172
|
return _react2.default.createElement(
|
|
168
173
|
_TableCell2.default,
|
|
@@ -185,8 +190,8 @@ var Section = function Section(_ref) {
|
|
|
185
190
|
_react2.default.createElement(
|
|
186
191
|
_Typography2.default,
|
|
187
192
|
{ variant: 'body1', tabIndex: 0 },
|
|
188
|
-
R.
|
|
189
|
-
_react2.default.createElement(_flags2.default, { HTMLRenderer: HTMLRenderer, flags: flags })
|
|
193
|
+
R.prop('label', value),
|
|
194
|
+
_react2.default.createElement(_flags2.default, { HTMLRenderer: HTMLRenderer, labelAccessor: labelAccessor, flags: flags })
|
|
190
195
|
)
|
|
191
196
|
)
|
|
192
197
|
);
|
|
@@ -201,7 +206,7 @@ var Section = function Section(_ref) {
|
|
|
201
206
|
'div',
|
|
202
207
|
{ className: classes.flagContainer },
|
|
203
208
|
!R.isNil(SideIcon) && _react2.default.createElement(SideIcon, { sideProps: R.prop('sideProps', sectionbody) }),
|
|
204
|
-
_react2.default.createElement(_flags2.default, { HTMLRenderer: HTMLRenderer, flags: R.prop('flags', sectionbody) })
|
|
209
|
+
_react2.default.createElement(_flags2.default, { HTMLRenderer: HTMLRenderer, labelAccessor: labelAccessor, flags: R.prop('flags', sectionbody) })
|
|
205
210
|
)
|
|
206
211
|
),
|
|
207
212
|
mapIndexed(function (item, columnIndex) {
|
|
@@ -217,6 +222,7 @@ var Section = function Section(_ref) {
|
|
|
217
222
|
headers: rowIds + ' ' + columnIds + ' ' + currentSection,
|
|
218
223
|
cellHandler: cellHandler,
|
|
219
224
|
HTMLRenderer: HTMLRenderer,
|
|
225
|
+
labelAccessor: labelAccessor,
|
|
220
226
|
SideIcon: SideIcon,
|
|
221
227
|
isActive: isActive,
|
|
222
228
|
isHighlight: R.any(R.identity)([R.prop(rowId)(activeCellIds), R.prop(columnIndex)(activeCellIds)]),
|
|
@@ -247,7 +253,8 @@ Section.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
247
253
|
maxColumns: _propTypes2.default.number,
|
|
248
254
|
SideIcon: _propTypes2.default.func,
|
|
249
255
|
subHeadCellsWidth: _propTypes2.default.arrayOf(_propTypes2.default.number),
|
|
250
|
-
HTMLRenderer: _propTypes2.default.func
|
|
256
|
+
HTMLRenderer: _propTypes2.default.func,
|
|
257
|
+
labelAccessor: _propTypes2.default.func
|
|
251
258
|
} : {};
|
|
252
259
|
|
|
253
260
|
exports.default = Section;
|
|
@@ -42,6 +42,8 @@ var _flags2 = _interopRequireDefault(_flags);
|
|
|
42
42
|
|
|
43
43
|
var _utils = require('../utils');
|
|
44
44
|
|
|
45
|
+
var _utils2 = require('./utils');
|
|
46
|
+
|
|
45
47
|
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; } }
|
|
46
48
|
|
|
47
49
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -95,7 +97,8 @@ var SectionHeader = function SectionHeader(_ref) {
|
|
|
95
97
|
xLayoutDataLength = _ref.xLayoutDataLength,
|
|
96
98
|
headerHeight = _ref.headerHeight,
|
|
97
99
|
SideIcon = _ref.SideIcon,
|
|
98
|
-
HTMLRenderer = _ref.HTMLRenderer
|
|
100
|
+
HTMLRenderer = _ref.HTMLRenderer,
|
|
101
|
+
labelAccessor = _ref.labelAccessor;
|
|
99
102
|
|
|
100
103
|
var classes = useStyles();
|
|
101
104
|
var theme = (0, _styles.useTheme)();
|
|
@@ -135,6 +138,7 @@ var SectionHeader = function SectionHeader(_ref) {
|
|
|
135
138
|
className: (0, _classnames2.default)(classes.stickyHeaderSection, classes.leftLabelPosition, classes.sectionLabelsContainer)
|
|
136
139
|
},
|
|
137
140
|
mapIndexed(function (sectionHeader, index) {
|
|
141
|
+
var value = (0, _utils2.getValue)(labelAccessor)(sectionHeader);
|
|
138
142
|
return _react2.default.createElement(
|
|
139
143
|
_react.Fragment,
|
|
140
144
|
{ key: index },
|
|
@@ -150,24 +154,29 @@ var SectionHeader = function SectionHeader(_ref) {
|
|
|
150
154
|
'data-testid': 'section-dim',
|
|
151
155
|
'aria-label': R.path(['dimension', 'id'], sectionHeader)
|
|
152
156
|
},
|
|
153
|
-
R.
|
|
157
|
+
R.pipe(R.prop('dimension'), labelAccessor)(sectionHeader),
|
|
154
158
|
':'
|
|
155
159
|
),
|
|
156
160
|
_react2.default.createElement(
|
|
157
161
|
_Typography2.default,
|
|
158
162
|
{ noWrap: true, variant: 'body1', component: 'span', tabIndex: 0 },
|
|
159
|
-
R.
|
|
163
|
+
R.prop('label', value)
|
|
160
164
|
),
|
|
161
165
|
_react2.default.createElement(_flags2.default, {
|
|
162
166
|
HTMLRenderer: HTMLRenderer,
|
|
163
|
-
|
|
167
|
+
labelAccessor: labelAccessor,
|
|
168
|
+
flags: R.prop('flags', value)
|
|
164
169
|
})
|
|
165
170
|
);
|
|
166
171
|
}, R.path([0, 'data'], section)),
|
|
167
172
|
_react2.default.createElement(
|
|
168
173
|
'span',
|
|
169
174
|
null,
|
|
170
|
-
_react2.default.createElement(_flags2.default, {
|
|
175
|
+
_react2.default.createElement(_flags2.default, {
|
|
176
|
+
HTMLRenderer: HTMLRenderer,
|
|
177
|
+
flags: R.path([0, 'flags'], section),
|
|
178
|
+
labelAccessor: labelAccessor
|
|
179
|
+
})
|
|
171
180
|
)
|
|
172
181
|
)
|
|
173
182
|
)
|
|
@@ -189,7 +198,8 @@ SectionHeader.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
189
198
|
xLayoutDataLength: _propTypes2.default.number,
|
|
190
199
|
headerHeight: _propTypes2.default.number,
|
|
191
200
|
SideIcon: _propTypes2.default.func,
|
|
192
|
-
HTMLRenderer: _propTypes2.default.func
|
|
201
|
+
HTMLRenderer: _propTypes2.default.func,
|
|
202
|
+
labelAccessor: _propTypes2.default.func
|
|
193
203
|
} : {};
|
|
194
204
|
|
|
195
205
|
exports.default = SectionHeader;
|