@sis-cc/dotstatsuite-visions 6.7.1 → 7.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/index.js +0 -1
- package/lib/index.js +1 -10
- package/package.json +5 -6
- package/es/Table/Table.js +0 -170
- package/es/Table/header.js +0 -91
- package/es/Table/index.js +0 -56
- package/es/Table/itemCell.js +0 -54
- package/es/Table/row-header.js +0 -84
- package/es/Table/section-header.js +0 -115
- package/es/Table/section-rows.js +0 -101
- package/es/Table/styles.js +0 -52
- package/es/Table/tableCell.js +0 -29
- package/es/Table/tooltip.js +0 -85
- package/es/Table/useStyles.js +0 -34
- package/es/Table/valueCell.js +0 -63
- package/lib/Table/Table.js +0 -203
- package/lib/Table/header.js +0 -116
- package/lib/Table/index.js +0 -16
- package/lib/Table/itemCell.js +0 -74
- package/lib/Table/row-header.js +0 -113
- package/lib/Table/section-header.js +0 -145
- package/lib/Table/section-rows.js +0 -134
- package/lib/Table/styles.js +0 -69
- package/lib/Table/tableCell.js +0 -50
- package/lib/Table/tooltip.js +0 -104
- package/lib/Table/useStyles.js +0 -41
- package/lib/Table/valueCell.js +0 -86
package/es/index.js
CHANGED
|
@@ -31,7 +31,6 @@ export { default as Select } from './Select';
|
|
|
31
31
|
export { default as Share } from './Share';
|
|
32
32
|
export { default as SisccFooter } from './SisccFooter';
|
|
33
33
|
export { default as Spotlight } from './Spotlight';
|
|
34
|
-
export { default as Table } from './Table';
|
|
35
34
|
export { default as TableFooter } from './TableFooter';
|
|
36
35
|
export { default as TableHeader } from './TableHeader';
|
|
37
36
|
export { default as TableHtml5, Cell } from './TableHtml5';
|
package/lib/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
|
-
exports.T4_BREAKPOINTS = exports.innerPalette = exports.sisccTheme = exports.AuthDialog = exports.VerticalButton = exports.Tooltip = exports.ToggleButton = exports.Tag = exports.TablePreview = exports.TableLayout = exports.Cell = exports.TableHtml5 = exports.TableHeader = exports.TableFooter = exports.
|
|
4
|
+
exports.T4_BREAKPOINTS = exports.innerPalette = exports.sisccTheme = exports.AuthDialog = exports.VerticalButton = exports.Tooltip = exports.ToggleButton = exports.Tag = exports.TablePreview = exports.TableLayout = exports.Cell = exports.TableHtml5 = exports.TableHeader = exports.TableFooter = exports.Spotlight = exports.SisccFooter = exports.Share = exports.Select = exports.ScopeList = exports.reduceChildren = exports.spotlightScopeListEngine = exports.PeriodPicker = exports.Pagination = exports.NoData = exports.Logo = exports.Loading = exports.LabelDivider = exports.InputNumber = exports.Input = exports.ExpansionPanel = exports.DataFooter = exports.DataHeader = exports.Dataflow = exports.DataEdit = exports.CollapsibleTree = exports.CollapseButtons = exports.Chips = exports.ChartsConfig = exports.Button = exports.Breadcrumbs = exports.ApiQueries = exports.Alert = undefined;
|
|
5
5
|
|
|
6
6
|
var _Alert = require('./Alert');
|
|
7
7
|
|
|
@@ -264,15 +264,6 @@ Object.defineProperty(exports, 'Spotlight', {
|
|
|
264
264
|
}
|
|
265
265
|
});
|
|
266
266
|
|
|
267
|
-
var _Table = require('./Table');
|
|
268
|
-
|
|
269
|
-
Object.defineProperty(exports, 'Table', {
|
|
270
|
-
enumerable: true,
|
|
271
|
-
get: function get() {
|
|
272
|
-
return _interopRequireDefault(_Table).default;
|
|
273
|
-
}
|
|
274
|
-
});
|
|
275
|
-
|
|
276
267
|
var _TableFooter = require('./TableFooter');
|
|
277
268
|
|
|
278
269
|
Object.defineProperty(exports, 'TableFooter', {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sis-cc/dotstatsuite-visions",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "7.0.0",
|
|
4
4
|
"description": "Library of visual components",
|
|
5
5
|
"author": "OECD",
|
|
6
6
|
"homepage": "https://visions-qa.siscc.org/#o",
|
|
@@ -35,8 +35,6 @@
|
|
|
35
35
|
"@react-hook/size": "^2.1.1",
|
|
36
36
|
"classnames": "^2.2.6",
|
|
37
37
|
"date-fns": "^1.30.1",
|
|
38
|
-
"glamor": "^2.20.40",
|
|
39
|
-
"glamorous": "^5.0.0",
|
|
40
38
|
"numeral": "^2.0.6",
|
|
41
39
|
"prop-types": "^15.7.2",
|
|
42
40
|
"ramda": "^0.27.0",
|
|
@@ -44,8 +42,6 @@
|
|
|
44
42
|
"react-beautiful-dnd": "^13.0.0",
|
|
45
43
|
"react-dom": "^16.8.6",
|
|
46
44
|
"react-router-dom": "^5.0.1",
|
|
47
|
-
"react-select": "^2.0.0",
|
|
48
|
-
"react-sizeme": "^2.6.12",
|
|
49
45
|
"react-virtualized": "^9.21.2",
|
|
50
46
|
"recompose": "^0.30.0"
|
|
51
47
|
},
|
|
@@ -82,7 +78,10 @@
|
|
|
82
78
|
"react-a11y": "^1.1.0",
|
|
83
79
|
"react-helmet": "^5.2.1",
|
|
84
80
|
"react-scrollable-anchor": "^0.6.1",
|
|
85
|
-
"react-syntax-highlighter": "^10.2.1"
|
|
81
|
+
"react-syntax-highlighter": "^10.2.1",
|
|
82
|
+
"webpack": "^5.68.0",
|
|
83
|
+
"webpack-cli": "^4.9.2",
|
|
84
|
+
"webpack-dev-server": "^4.7.4"
|
|
86
85
|
},
|
|
87
86
|
"jest": {
|
|
88
87
|
"verbose": true,
|
package/es/Table/Table.js
DELETED
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import * as R from 'ramda';
|
|
4
|
-
import Header from './header';
|
|
5
|
-
import RowHeader from './row-header';
|
|
6
|
-
import SectionHeader from './section-header';
|
|
7
|
-
import SectionRows from './section-rows';
|
|
8
|
-
import TableCell from './tableCell';
|
|
9
|
-
import { Table as StyledTable } from './styles';
|
|
10
|
-
|
|
11
|
-
var HEADER = 'HEADER';
|
|
12
|
-
var ROW_HEADER = 'ROW_HEADER';
|
|
13
|
-
|
|
14
|
-
var updatedHeights = function updatedHeights(headerYOffsets) {
|
|
15
|
-
return R.pipe(R.length, R.times(R.always(0)), R.addIndex(R.map)(function (zero, index) {
|
|
16
|
-
return R.isNil(R.nth(index)(headerYOffsets)) ? zero : R.nth(index)(headerYOffsets);
|
|
17
|
-
}));
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
var Table = function Table(_ref) {
|
|
21
|
-
var _React$useState2;
|
|
22
|
-
|
|
23
|
-
var _ref$sectionsData = _ref.sectionsData,
|
|
24
|
-
sectionsData = _ref$sectionsData === undefined ? [] : _ref$sectionsData,
|
|
25
|
-
_ref$headerData = _ref.headerData,
|
|
26
|
-
headerData = _ref$headerData === undefined ? [] : _ref$headerData,
|
|
27
|
-
_ref$cells = _ref.cells,
|
|
28
|
-
cells = _ref$cells === undefined ? {} : _ref$cells,
|
|
29
|
-
isRtl = _ref.isRtl,
|
|
30
|
-
cellHandler = _ref.cellHandler,
|
|
31
|
-
cellValueAccessor = _ref.cellValueAccessor,
|
|
32
|
-
activeCellIds = _ref.activeCellIds,
|
|
33
|
-
activeCellHandler = _ref.activeCellHandler;
|
|
34
|
-
|
|
35
|
-
var _React$useState = React.useState((_React$useState2 = {}, _React$useState2[HEADER] = [0], _React$useState2[ROW_HEADER] = [0], _React$useState2)),
|
|
36
|
-
yOffsets = _React$useState[0],
|
|
37
|
-
setYOffsets = _React$useState[1];
|
|
38
|
-
|
|
39
|
-
var _React$useMemo = React.useMemo(function () {
|
|
40
|
-
var xLayoutData = R.pathOr([], [0, 1, 0, 'data'], sectionsData);
|
|
41
|
-
var xColumnCount = R.pipe(R.length, R.inc)(xLayoutData);
|
|
42
|
-
var yColumnCount = R.length(headerData);
|
|
43
|
-
var columnCount = R.add(xColumnCount, yColumnCount);
|
|
44
|
-
var yOffsetRowHeader = 0;
|
|
45
|
-
var yOffsetSectionHeader = R.inc(yOffsetRowHeader);
|
|
46
|
-
var msGridRowOffsetFactory = function msGridRowOffsetFactory(sectionIndex) {
|
|
47
|
-
return R.sum([R.inc(yOffsetSectionHeader), sectionIndex, R.pipe(R.take(sectionIndex), R.reduce(R.useWith(R.add, [R.identity, R.pipe(R.last, R.length)]), 0))(sectionsData)]);
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
return {
|
|
51
|
-
transposedHeaderData: R.pipe(R.pluck('data'), R.map(R.reduce(function (acc, cell) {
|
|
52
|
-
var previousCell = R.last(acc);
|
|
53
|
-
var previousCellKey = R.prop('key', previousCell);
|
|
54
|
-
var valueId = R.path(['value', 'id'], cell);
|
|
55
|
-
var cellKey = R.isNil(previousCellKey) ? valueId : previousCellKey + '-' + valueId;
|
|
56
|
-
return R.append(R.assoc('key', cellKey, cell), acc);
|
|
57
|
-
}, [])), R.transpose)(headerData),
|
|
58
|
-
xLayoutData: xLayoutData,
|
|
59
|
-
xColumnCount: xColumnCount,
|
|
60
|
-
yColumnCount: yColumnCount,
|
|
61
|
-
columnCount: columnCount,
|
|
62
|
-
yOffsetRowHeader: yOffsetRowHeader,
|
|
63
|
-
yOffsetSectionHeader: yOffsetSectionHeader,
|
|
64
|
-
msGridRowOffsetFactory: msGridRowOffsetFactory
|
|
65
|
-
};
|
|
66
|
-
}, [headerData, sectionsData]),
|
|
67
|
-
transposedHeaderData = _React$useMemo.transposedHeaderData,
|
|
68
|
-
xLayoutData = _React$useMemo.xLayoutData,
|
|
69
|
-
columnCount = _React$useMemo.columnCount,
|
|
70
|
-
xColumnCount = _React$useMemo.xColumnCount,
|
|
71
|
-
yColumnCount = _React$useMemo.yColumnCount,
|
|
72
|
-
yOffsetRowHeader = _React$useMemo.yOffsetRowHeader,
|
|
73
|
-
yOffsetSectionHeader = _React$useMemo.yOffsetSectionHeader,
|
|
74
|
-
msGridRowOffsetFactory = _React$useMemo.msGridRowOffsetFactory;
|
|
75
|
-
|
|
76
|
-
// Hooks before
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
var isSingleObs = R.hasPath(['', '', '', 0], cells);
|
|
80
|
-
if (isSingleObs) return React.createElement(TableCell, { cell: R.pathOr({}, ['', '', '', 0], cells), cellHandler: cellHandler });
|
|
81
|
-
|
|
82
|
-
// Utility funcs
|
|
83
|
-
var getYOffset = function getYOffset(index) {
|
|
84
|
-
return R.pipe(R.prop(HEADER), R.slice(0, index), R.sum)(yOffsets);
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
var getSubHeaderOffset = function getSubHeaderOffset(headerData) {
|
|
88
|
-
return function (index) {
|
|
89
|
-
var lengthHeader = R.length(headerData);
|
|
90
|
-
return R.add(R.pipe(R.prop(HEADER), R.slice(0, lengthHeader), R.sum)(yOffsets), R.pipe(R.prop(ROW_HEADER), R.slice(0, index), R.sum)(yOffsets));
|
|
91
|
-
};
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
var onYVectorSize = function onYVectorSize(label, headerData) {
|
|
95
|
-
return function (index) {
|
|
96
|
-
return function (_ref2) {
|
|
97
|
-
var _R$mergeRight;
|
|
98
|
-
|
|
99
|
-
var height = _ref2.height;
|
|
100
|
-
|
|
101
|
-
var newYOffsets = R.equals(label, HEADER) ? updatedHeights(R.prop(HEADER)(yOffsets))(headerData) : R.prop(label)(yOffsets);
|
|
102
|
-
setYOffsets(R.mergeRight(yOffsets, (_R$mergeRight = {}, _R$mergeRight[label] = R.update(index, height)(newYOffsets), _R$mergeRight)));
|
|
103
|
-
};
|
|
104
|
-
};
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
return React.createElement(
|
|
108
|
-
StyledTable,
|
|
109
|
-
{ columnCount: columnCount, xColumnCount: xColumnCount },
|
|
110
|
-
React.createElement(Header, {
|
|
111
|
-
data: transposedHeaderData,
|
|
112
|
-
xColumnCount: xColumnCount,
|
|
113
|
-
onYVectorSize: onYVectorSize(HEADER, transposedHeaderData),
|
|
114
|
-
getYOffset: getYOffset
|
|
115
|
-
}),
|
|
116
|
-
React.createElement(RowHeader, {
|
|
117
|
-
data: xLayoutData,
|
|
118
|
-
headerData: headerData,
|
|
119
|
-
onYVectorSize: onYVectorSize(ROW_HEADER),
|
|
120
|
-
getYOffset: getSubHeaderOffset(transposedHeaderData),
|
|
121
|
-
yOffset: yOffsetRowHeader,
|
|
122
|
-
activeCellIds: activeCellIds
|
|
123
|
-
}),
|
|
124
|
-
R.addIndex(R.map)(function (_ref3, sectionIndex) {
|
|
125
|
-
var sectionHeaderData = _ref3[0],
|
|
126
|
-
sectionRowsData = _ref3[1];
|
|
127
|
-
|
|
128
|
-
var msGridRowOffset = msGridRowOffsetFactory(sectionIndex);
|
|
129
|
-
|
|
130
|
-
return React.createElement(
|
|
131
|
-
React.Fragment,
|
|
132
|
-
{ key: 'section-' + sectionIndex },
|
|
133
|
-
React.createElement(SectionHeader, {
|
|
134
|
-
columnCount: columnCount,
|
|
135
|
-
section: sectionHeaderData,
|
|
136
|
-
yOffset: getSubHeaderOffset(transposedHeaderData)(yOffsetSectionHeader),
|
|
137
|
-
msGridRow: msGridRowOffset,
|
|
138
|
-
isRtl: isRtl
|
|
139
|
-
}),
|
|
140
|
-
React.createElement(SectionRows, {
|
|
141
|
-
data: sectionRowsData,
|
|
142
|
-
headerData: headerData,
|
|
143
|
-
cells: cells,
|
|
144
|
-
cellHandler: cellHandler,
|
|
145
|
-
cellValueAccessor: cellValueAccessor,
|
|
146
|
-
activeCellIds: activeCellIds,
|
|
147
|
-
activeCellHandler: activeCellHandler,
|
|
148
|
-
sectionData: sectionHeaderData,
|
|
149
|
-
yColumnCount: yColumnCount,
|
|
150
|
-
xColumnCount: xColumnCount,
|
|
151
|
-
yOffset: yOffsetRowHeader,
|
|
152
|
-
msGridRowOffset: msGridRowOffset
|
|
153
|
-
})
|
|
154
|
-
);
|
|
155
|
-
}, sectionsData)
|
|
156
|
-
);
|
|
157
|
-
};
|
|
158
|
-
|
|
159
|
-
Table.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
160
|
-
headerData: PropTypes.array.isRequired,
|
|
161
|
-
sectionsData: PropTypes.array.isRequired,
|
|
162
|
-
cells: PropTypes.object.isRequired,
|
|
163
|
-
cellHandler: PropTypes.func,
|
|
164
|
-
cellValueAccessor: PropTypes.func,
|
|
165
|
-
activeCellHandler: PropTypes.func,
|
|
166
|
-
activeCellIds: PropTypes.object,
|
|
167
|
-
isRtl: PropTypes.bool
|
|
168
|
-
} : {};
|
|
169
|
-
|
|
170
|
-
export default Table;
|
package/es/Table/header.js
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
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; };
|
|
2
|
-
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import PropTypes from 'prop-types';
|
|
5
|
-
import * as R from 'ramda';
|
|
6
|
-
import sizeMe from 'react-sizeme';
|
|
7
|
-
import { makeStyles } from '@material-ui/core/styles';
|
|
8
|
-
import { Cell } from './styles';
|
|
9
|
-
import ItemCell from './itemCell';
|
|
10
|
-
|
|
11
|
-
var useStyles = makeStyles(function (theme) {
|
|
12
|
-
return {
|
|
13
|
-
root: {
|
|
14
|
-
backgroundColor: theme.palette.primary.main,
|
|
15
|
-
color: theme.palette.getContrastText(theme.palette.primary.main),
|
|
16
|
-
'& span': {
|
|
17
|
-
color: theme.palette.getContrastText(theme.palette.primary.main),
|
|
18
|
-
borderColor: theme.palette.getContrastText(theme.palette.primary.main)
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
var YVector = sizeMe({ noPlaceholder: true, monitorHeight: true, monitorWidth: false })(Cell);
|
|
25
|
-
|
|
26
|
-
var mergeHeaderCells = R.reduce(function (acc, headerCell) {
|
|
27
|
-
var previousCell = R.last(acc);
|
|
28
|
-
var cellValue = R.prop('key', headerCell);
|
|
29
|
-
var previousCellValue = R.prop('key', previousCell);
|
|
30
|
-
if (cellValue !== previousCellValue) {
|
|
31
|
-
return R.append(R.assoc('spanCount', 1, headerCell), acc);
|
|
32
|
-
}
|
|
33
|
-
return R.over(R.lensIndex(-1), R.evolve({ spanCount: R.add(1) }), acc);
|
|
34
|
-
}, []);
|
|
35
|
-
|
|
36
|
-
var Header = function Header(_ref) {
|
|
37
|
-
var data = _ref.data,
|
|
38
|
-
onYVectorSize = _ref.onYVectorSize,
|
|
39
|
-
getYOffset = _ref.getYOffset,
|
|
40
|
-
xColumnCount = _ref.xColumnCount;
|
|
41
|
-
|
|
42
|
-
var classes = useStyles();
|
|
43
|
-
if (R.equals([''], data)) return null;
|
|
44
|
-
var getDimensionFromRow = R.pipe(R.head, R.prop('dimension'));
|
|
45
|
-
var nRows = R.length(data);
|
|
46
|
-
|
|
47
|
-
return R.addIndex(R.map)(function (headerRow, i) {
|
|
48
|
-
return React.createElement(
|
|
49
|
-
React.Fragment,
|
|
50
|
-
{ key: 'header-row-' + i },
|
|
51
|
-
React.createElement(
|
|
52
|
-
YVector,
|
|
53
|
-
{
|
|
54
|
-
yOffset: getYOffset(i),
|
|
55
|
-
onSize: onYVectorSize(i),
|
|
56
|
-
spanCount: xColumnCount,
|
|
57
|
-
className: classes.root
|
|
58
|
-
},
|
|
59
|
-
React.createElement(ItemCell, _extends({
|
|
60
|
-
justifyContent: 'flex-end',
|
|
61
|
-
fontWeight: 'bold',
|
|
62
|
-
fontStyle: 'italic'
|
|
63
|
-
}, getDimensionFromRow(headerRow)))
|
|
64
|
-
),
|
|
65
|
-
R.pipe(R.when(R.always(i !== nRows - 1), mergeHeaderCells), // don't want merge of cells in the last row
|
|
66
|
-
R.addIndex(R.map)(function (_ref2, j) {
|
|
67
|
-
var value = _ref2.value,
|
|
68
|
-
spanCount = _ref2.spanCount;
|
|
69
|
-
return React.createElement(
|
|
70
|
-
Cell,
|
|
71
|
-
{
|
|
72
|
-
key: 'header-column-' + j,
|
|
73
|
-
yOffset: getYOffset(i),
|
|
74
|
-
spanCount: spanCount,
|
|
75
|
-
className: classes.root
|
|
76
|
-
},
|
|
77
|
-
React.createElement(ItemCell, _extends({ justifyContent: 'center', sticky: spanCount > 1 }, value))
|
|
78
|
-
);
|
|
79
|
-
}))(headerRow)
|
|
80
|
-
);
|
|
81
|
-
})(data);
|
|
82
|
-
};
|
|
83
|
-
|
|
84
|
-
Header.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
85
|
-
data: PropTypes.array.isRequired,
|
|
86
|
-
xColumnCount: PropTypes.number.isRequired,
|
|
87
|
-
onYVectorSize: PropTypes.func.isRequired,
|
|
88
|
-
getYOffset: PropTypes.func.isRequired
|
|
89
|
-
} : {};
|
|
90
|
-
|
|
91
|
-
export default Header;
|
package/es/Table/index.js
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Table to display SDMX data.
|
|
3
|
-
*
|
|
4
|
-
* @memberOf VISIONS
|
|
5
|
-
* @name Table
|
|
6
|
-
* @tag component
|
|
7
|
-
* @api public
|
|
8
|
-
* @demoReady
|
|
9
|
-
* @props
|
|
10
|
-
* Table.propTypes = {
|
|
11
|
-
* cells: PropTypes.object,
|
|
12
|
-
* headerData: PropTypes.array,
|
|
13
|
-
* sectionsData: PropTypes.array,
|
|
14
|
-
* cellHandler: PropTypes.func,
|
|
15
|
-
* activeCellHandler: PropTypes.func,
|
|
16
|
-
* activeCellIds: PropTypes.object,
|
|
17
|
-
* };
|
|
18
|
-
* @theme
|
|
19
|
-
* {
|
|
20
|
-
* palette: {
|
|
21
|
-
* primary: {
|
|
22
|
-
* main: // background color header and hover/active cell borders. global override: outerPalette.primaryMain
|
|
23
|
-
* },
|
|
24
|
-
* secondary: {
|
|
25
|
-
* light: // used is tertiary is null
|
|
26
|
-
* dark: // used is tertiary is null
|
|
27
|
-
* },
|
|
28
|
-
* tertiary: {
|
|
29
|
-
* light: // background color row header and row labels,
|
|
30
|
-
* dark: // background color section,
|
|
31
|
-
* },
|
|
32
|
-
* common: {
|
|
33
|
-
* white: // background color cells
|
|
34
|
-
* },
|
|
35
|
-
* grey: {
|
|
36
|
-
* 'A700': // label color section, label row header, cells label color. globale override: outerPalette.textDark
|
|
37
|
-
* 200: // background color between row label and row values
|
|
38
|
-
* },
|
|
39
|
-
* },
|
|
40
|
-
* mixins: {
|
|
41
|
-
* table: {
|
|
42
|
-
* cellHighlight: {
|
|
43
|
-
* backgroundColor: // background color of the cell on click
|
|
44
|
-
* },
|
|
45
|
-
* flag: { // see usecase #7 flags
|
|
46
|
-
* fontFamily: "'PT Sans Narrow', 'Helvetica Neue', Helvetica, Arial, sans-serif",
|
|
47
|
-
* fontSize: 12,
|
|
48
|
-
* color: outerPalette.textLight
|
|
49
|
-
* }
|
|
50
|
-
* }
|
|
51
|
-
* }
|
|
52
|
-
* }
|
|
53
|
-
* @demoReady
|
|
54
|
-
*/
|
|
55
|
-
|
|
56
|
-
export { default } from './Table';
|
package/es/Table/itemCell.js
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import * as R from 'ramda';
|
|
4
|
-
import ItemTooltip from './tooltip';
|
|
5
|
-
|
|
6
|
-
var ItemCell = function ItemCell(_ref) {
|
|
7
|
-
var label = _ref.label,
|
|
8
|
-
parents = _ref.parents,
|
|
9
|
-
flags = _ref.flags,
|
|
10
|
-
justifyContent = _ref.justifyContent,
|
|
11
|
-
alignItems = _ref.alignItems,
|
|
12
|
-
fontWeight = _ref.fontWeight,
|
|
13
|
-
fontStyle = _ref.fontStyle,
|
|
14
|
-
_ref$sticky = _ref.sticky,
|
|
15
|
-
sticky = _ref$sticky === undefined ? false : _ref$sticky;
|
|
16
|
-
|
|
17
|
-
var style = {
|
|
18
|
-
display: 'flex',
|
|
19
|
-
flexDirection: 'row',
|
|
20
|
-
justifyContent: R.defaultTo('space-between', justifyContent),
|
|
21
|
-
alignItems: R.defaultTo('center', alignItems),
|
|
22
|
-
textAlign: R.equals('center', justifyContent) ? 'center' : 'inherit',
|
|
23
|
-
fontWeight: R.defaultTo('inherit', fontWeight),
|
|
24
|
-
fontStyle: R.defaultTo('inherit', fontStyle),
|
|
25
|
-
paddingTop: R.anyPass([R.isNil, R.isEmpty])(flags) ? 4 : 0,
|
|
26
|
-
paddingBottom: 4,
|
|
27
|
-
paddingLeft: R.pipe(R.when(R.isNil, R.always([])), R.length, R.multiply(12))(parents),
|
|
28
|
-
height: '100%'
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
return React.createElement(
|
|
32
|
-
'div',
|
|
33
|
-
{ style: style },
|
|
34
|
-
React.createElement(
|
|
35
|
-
'div',
|
|
36
|
-
{ style: sticky ? { display: 'inline-block', position: 'sticky', left: 8, right: 8 } : {} },
|
|
37
|
-
label,
|
|
38
|
-
React.createElement(ItemTooltip, { flags: flags })
|
|
39
|
-
)
|
|
40
|
-
);
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
ItemCell.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
44
|
-
label: PropTypes.string,
|
|
45
|
-
flags: PropTypes.array,
|
|
46
|
-
parents: PropTypes.array,
|
|
47
|
-
justifyContent: PropTypes.string,
|
|
48
|
-
fontWeight: PropTypes.string,
|
|
49
|
-
fontStyle: PropTypes.string,
|
|
50
|
-
alignItems: PropTypes.string,
|
|
51
|
-
sticky: PropTypes.bool
|
|
52
|
-
} : {};
|
|
53
|
-
|
|
54
|
-
export default React.memo(ItemCell);
|
package/es/Table/row-header.js
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
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; };
|
|
2
|
-
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import PropTypes from 'prop-types';
|
|
5
|
-
import cx from 'classnames';
|
|
6
|
-
import * as R from 'ramda';
|
|
7
|
-
import { makeStyles } from '@material-ui/core/styles';
|
|
8
|
-
import sizeMe from 'react-sizeme';
|
|
9
|
-
import { Cell } from './styles';
|
|
10
|
-
import ItemCell from './itemCell';
|
|
11
|
-
import { getLight } from '../utils';
|
|
12
|
-
|
|
13
|
-
var useStyles = makeStyles(function (theme) {
|
|
14
|
-
return {
|
|
15
|
-
root: {
|
|
16
|
-
color: theme.palette.grey['A700'],
|
|
17
|
-
backgroundColor: getLight(theme) || theme.palette.secondary.light
|
|
18
|
-
},
|
|
19
|
-
sep: {
|
|
20
|
-
backgroundColor: theme.palette.grey[200]
|
|
21
|
-
},
|
|
22
|
-
highlight: theme.mixins.table.cellHighlight
|
|
23
|
-
};
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
var XVector = sizeMe({ noPlaceholder: true, monitorHeight: true, monitorWidth: false })(Cell);
|
|
27
|
-
|
|
28
|
-
var RowHeader = function RowHeader(_ref) {
|
|
29
|
-
var data = _ref.data,
|
|
30
|
-
headerData = _ref.headerData,
|
|
31
|
-
onYVectorSize = _ref.onYVectorSize,
|
|
32
|
-
getYOffset = _ref.getYOffset,
|
|
33
|
-
yOffset = _ref.yOffset,
|
|
34
|
-
activeCellIds = _ref.activeCellIds;
|
|
35
|
-
|
|
36
|
-
var classes = useStyles();
|
|
37
|
-
if (R.isEmpty(data)) return null;
|
|
38
|
-
|
|
39
|
-
return React.createElement(
|
|
40
|
-
React.Fragment,
|
|
41
|
-
null,
|
|
42
|
-
R.addIndex(R.map)(function (rowColumn, i) {
|
|
43
|
-
return React.createElement(
|
|
44
|
-
XVector,
|
|
45
|
-
{
|
|
46
|
-
key: 'row-column-' + i,
|
|
47
|
-
yOffset: getYOffset(yOffset),
|
|
48
|
-
onSize: onYVectorSize(yOffset),
|
|
49
|
-
className: classes.root
|
|
50
|
-
},
|
|
51
|
-
React.createElement(ItemCell, _extends({
|
|
52
|
-
justifyContent: 'flex-start',
|
|
53
|
-
fontWeight: 'bold',
|
|
54
|
-
fontStyle: 'italic'
|
|
55
|
-
}, R.propOr({}, 'dimension', rowColumn)))
|
|
56
|
-
);
|
|
57
|
-
}, data),
|
|
58
|
-
React.createElement(Cell, { yOffset: getYOffset(yOffset), className: classes.sep }),
|
|
59
|
-
R.addIndex(R.map)(function (header, j) {
|
|
60
|
-
var _cx;
|
|
61
|
-
|
|
62
|
-
return React.createElement(
|
|
63
|
-
Cell,
|
|
64
|
-
{
|
|
65
|
-
key: 'row-header-' + j,
|
|
66
|
-
yOffset: getYOffset(yOffset),
|
|
67
|
-
className: cx(classes.sep, (_cx = {}, _cx[classes.highlight] = R.prop('col-' + j)(activeCellIds), _cx))
|
|
68
|
-
},
|
|
69
|
-
React.createElement(ItemCell, _extends({ justifyContent: 'center', alignItems: 'end' }, header))
|
|
70
|
-
);
|
|
71
|
-
}, headerData)
|
|
72
|
-
);
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
RowHeader.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
76
|
-
data: PropTypes.array.isRequired,
|
|
77
|
-
headerData: PropTypes.array.isRequired,
|
|
78
|
-
yOffset: PropTypes.number.isRequired,
|
|
79
|
-
onYVectorSize: PropTypes.func.isRequired,
|
|
80
|
-
getYOffset: PropTypes.func.isRequired,
|
|
81
|
-
activeCellIds: PropTypes.object
|
|
82
|
-
} : {};
|
|
83
|
-
|
|
84
|
-
export default RowHeader;
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import cx from 'classnames';
|
|
4
|
-
import * as R from 'ramda';
|
|
5
|
-
import Lens from '@material-ui/icons/Lens';
|
|
6
|
-
import { withStyles } from '@material-ui/core';
|
|
7
|
-
import { makeStyles } from '@material-ui/core/styles';
|
|
8
|
-
import { Cell } from './styles';
|
|
9
|
-
import ItemTooltip from './tooltip';
|
|
10
|
-
import { getDark } from '../utils';
|
|
11
|
-
|
|
12
|
-
var Dot = withStyles(function (theme) {
|
|
13
|
-
return {
|
|
14
|
-
root: {
|
|
15
|
-
fontSize: theme.typography.pxToRem(8),
|
|
16
|
-
margin: theme.spacing(0, 0.5)
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
})(Lens);
|
|
20
|
-
|
|
21
|
-
var useStyles = makeStyles(function (theme) {
|
|
22
|
-
return {
|
|
23
|
-
zCell: {
|
|
24
|
-
backgroundColor: getDark(theme) || theme.palette.secondary.dark,
|
|
25
|
-
color: theme.palette.grey['A700'],
|
|
26
|
-
textAlign: 'left',
|
|
27
|
-
display: 'flex',
|
|
28
|
-
justifyContent: 'space-between',
|
|
29
|
-
alignItems: 'center'
|
|
30
|
-
},
|
|
31
|
-
zAtom: {
|
|
32
|
-
paddingTop: 4,
|
|
33
|
-
paddingBottom: 4,
|
|
34
|
-
zIndex: 1
|
|
35
|
-
},
|
|
36
|
-
zQuant: {
|
|
37
|
-
zIndex: 1,
|
|
38
|
-
whiteSpace: 'nowrap'
|
|
39
|
-
},
|
|
40
|
-
zQuantDimension: {
|
|
41
|
-
fontWeight: 'bold',
|
|
42
|
-
fontStyle: 'italic',
|
|
43
|
-
margin: theme.spacing(0, 0.5, 0, 0)
|
|
44
|
-
},
|
|
45
|
-
zQuantDimensionRtl: {
|
|
46
|
-
margin: theme.spacing(0, 0, 0, 0.5)
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
var SectionHeader = function SectionHeader(_ref) {
|
|
52
|
-
var section = _ref.section,
|
|
53
|
-
columnCount = _ref.columnCount,
|
|
54
|
-
yOffset = _ref.yOffset,
|
|
55
|
-
isRtl = _ref.isRtl;
|
|
56
|
-
|
|
57
|
-
var classes = useStyles();
|
|
58
|
-
if (R.isEmpty(R.propOr([], 'data', section))) return null;
|
|
59
|
-
var data = R.propOr([], 'data', section);
|
|
60
|
-
var hasFlag = R.find(R.pipe(R.path(['value', 'flags']), R.isEmpty, R.not))(data);
|
|
61
|
-
return React.createElement(
|
|
62
|
-
Cell,
|
|
63
|
-
{ spanCount: columnCount, yOffset: yOffset, className: classes.zCell },
|
|
64
|
-
React.createElement(
|
|
65
|
-
'div',
|
|
66
|
-
{ className: classes.zAtom, style: hasFlag ? { paddingTop: 0 } : undefined },
|
|
67
|
-
R.pipe(R.addIndex(R.map)(function (entry, index) {
|
|
68
|
-
var _cx;
|
|
69
|
-
|
|
70
|
-
return React.createElement(
|
|
71
|
-
React.Fragment,
|
|
72
|
-
{ key: index },
|
|
73
|
-
R.not(R.equals(index, 0)) && React.createElement(
|
|
74
|
-
'span',
|
|
75
|
-
{ className: classes.zQuant },
|
|
76
|
-
React.createElement(Dot, null)
|
|
77
|
-
),
|
|
78
|
-
React.createElement(
|
|
79
|
-
'span',
|
|
80
|
-
{
|
|
81
|
-
className: cx(classes.zQuant, classes.zQuantDimension, (_cx = {}, _cx[classes.zQuantDimensionRtl] = isRtl, _cx))
|
|
82
|
-
},
|
|
83
|
-
R.pathOr('', ['dimension', 'label'], entry),
|
|
84
|
-
':'
|
|
85
|
-
),
|
|
86
|
-
React.createElement(
|
|
87
|
-
'span',
|
|
88
|
-
{ className: classes.zQuant },
|
|
89
|
-
R.pathOr('', ['value', 'label'], entry)
|
|
90
|
-
),
|
|
91
|
-
R.not(R.isEmpty(R.pathOr([], ['value', 'flags'], entry))) && React.createElement(
|
|
92
|
-
React.Fragment,
|
|
93
|
-
null,
|
|
94
|
-
'\xA0'
|
|
95
|
-
),
|
|
96
|
-
React.createElement(ItemTooltip, { flags: R.pathOr([], ['value', 'flags'], entry) })
|
|
97
|
-
);
|
|
98
|
-
}))(data)
|
|
99
|
-
),
|
|
100
|
-
React.createElement(
|
|
101
|
-
'div',
|
|
102
|
-
{ className: classes.zAtom, style: hasFlag ? { paddingTop: 0 } : undefined },
|
|
103
|
-
React.createElement(ItemTooltip, { flags: R.propOr([], 'flags', section) })
|
|
104
|
-
)
|
|
105
|
-
);
|
|
106
|
-
};
|
|
107
|
-
|
|
108
|
-
SectionHeader.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
109
|
-
section: PropTypes.object.isRequired,
|
|
110
|
-
yOffset: PropTypes.number.isRequired,
|
|
111
|
-
columnCount: PropTypes.number.isRequired,
|
|
112
|
-
isRtl: PropTypes.bool
|
|
113
|
-
} : {};
|
|
114
|
-
|
|
115
|
-
export default React.memo(SectionHeader);
|