UNPKG

@centreon/react-components

Version:
107 lines (91 loc) 3.96 kB
"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;