UNPKG

devaccel-data-grid

Version:
31 lines 2.01 kB
import { __assign } from "tslib"; import React from 'react'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { faEyeSlash, faLock, faLockOpen } from '@fortawesome/free-solid-svg-icons'; import { LIGHT_BLUE, SLATE } from '../types'; var Header = function (_a) { var _b, _c; var options = _a.options; var _d = options.width, width = _d === void 0 ? '180px' : _d; if ((_b = options.headerOptions) === null || _b === void 0 ? void 0 : _b.headerRender) { return options.headerOptions.headerRender; } var handleLockClick = function (field) { if (!options.onLockClick) { throw new Error('Missing onLockClick for lockable column'); } options.onLockClick(field, options.isLocked); }; var handleHideClick = function (field) { if (!options.onHideClick) { throw new Error('Missing onHideClick for hideable column'); } options.onHideClick(field); }; return (React.createElement("div", { style: __assign({ padding: '.5em', display: 'flex', flexDirection: 'row', border: "1px solid ".concat(SLATE), backgroundColor: "".concat(LIGHT_BLUE), minWidth: width, width: width, maxWidth: width, overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap', textAlign: 'center' }, (_c = options.headerOptions) === null || _c === void 0 ? void 0 : _c.style), className: 'data-header' }, options.canLock && (React.createElement(FontAwesomeIcon, { icon: options.isLocked ? faLockOpen : faLock, color: 'blue', onClick: function () { return handleLockClick(options.field); }, style: { cursor: 'pointer' } })), React.createElement("p", { style: { margin: 'auto' } }, options.header ? options.header : options.field), options.canHide && (React.createElement(FontAwesomeIcon, { icon: faEyeSlash, color: 'red', onClick: function () { return handleHideClick(options.field); }, style: { cursor: 'pointer' } })))); }; export default Header; //# sourceMappingURL=Header.js.map