@centreon/react-components
Version:
react components used by centreon web frontend
107 lines (91 loc) • 3.96 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _react = _interopRequireDefault(require("react"));
var _TableHead = _interopRequireDefault(require("@material-ui/core/TableHead"));
var _TableRow = _interopRequireDefault(require("@material-ui/core/TableRow"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _TableCell = _interopRequireDefault(require("@material-ui/core/TableCell"));
var _styles = require("@material-ui/core/styles");
var _StyledTableSortLabel = _interopRequireDefault(require("./StyledTableSortLabel"));
var _StyledCheckbox = _interopRequireDefault(require("./StyledCheckbox"));
var _ColumnTypes = _interopRequireDefault(require("../ColumnTypes"));
/* eslint-disable react/jsx-filename-extension */
var HeaderCell = (0, _styles.withStyles)({
root: {
backgroundColor: '#009fdf',
color: '#fff',
lineHeight: 1.4,
height: 24,
padding: '3px 4px'
}
})(_TableCell["default"]);
var EnhancedTableHead = function EnhancedTableHead(_ref) {
var onSelectAllClick = _ref.onSelectAllClick,
order = _ref.order,
orderBy = _ref.orderBy,
numSelected = _ref.numSelected,
rowCount = _ref.rowCount,
headRows = _ref.headRows,
checkable = _ref.checkable,
onRequestSort = _ref.onRequestSort,
indicatorsEditor = _ref.indicatorsEditor;
var createSortHandler = function createSortHandler(property) {
return function (event) {
onRequestSort(event, property);
};
};
return _react["default"].createElement(_TableHead["default"], null, _react["default"].createElement(_TableRow["default"], null, checkable ? _react["default"].createElement(HeaderCell, {
align: "left",
padding: "checkbox"
}, _react["default"].createElement(_StyledCheckbox["default"], {
indeterminate: numSelected > 0 && numSelected < rowCount,
checked: numSelected === rowCount,
onChange: onSelectAllClick
})) : null, headRows.map(function (row) {
return _react["default"].createElement(HeaderCell, {
key: row.id,
align: row.numeric ? 'left' : 'inherit',
padding: row.disablePadding ? 'none' : 'default',
sortDirection: orderBy === row.id ? order : false
}, row.type === _ColumnTypes["default"].multicolumn ? row.label : _react["default"].createElement(_StyledTableSortLabel["default"], {
active: orderBy === row.id,
direction: order || 'desc',
onClick: createSortHandler(row.id),
icon: {
color: 'red'
}
}, row.label));
}), indicatorsEditor && numSelected > 0 ? _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(HeaderCell, {
key: "modeKpi",
align: "left",
padding: "none"
}, "Mode"), _react["default"].createElement(HeaderCell, {
key: "warningKpi",
align: "left",
padding: "none"
}, "Warning"), _react["default"].createElement(HeaderCell, {
key: "criticalKpi",
align: "left",
padding: "none"
}, "Critical"), _react["default"].createElement(HeaderCell, {
key: "unknownKpi",
align: "left",
padding: "none"
}, "Unknown")) : null));
};
EnhancedTableHead.propTypes = {
numSelected: _propTypes["default"].number.isRequired,
onRequestSort: _propTypes["default"].func.isRequired,
onSelectAllClick: _propTypes["default"].func.isRequired,
order: _propTypes["default"].string.isRequired,
orderBy: _propTypes["default"].string.isRequired,
rowCount: _propTypes["default"].number.isRequired,
headRows: _propTypes["default"].arrayOf(_propTypes["default"].objectOf(_propTypes["default"].oneOfType([_propTypes["default"].bool, _propTypes["default"].string, _propTypes["default"].number]))).isRequired,
checkable: _propTypes["default"].bool.isRequired
};
var _default = EnhancedTableHead;
exports["default"] = _default;