UNPKG

devaccel-data-grid

Version:
33 lines 2.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var react_1 = tslib_1.__importDefault(require("react")); var react_fontawesome_1 = require("@fortawesome/react-fontawesome"); var free_solid_svg_icons_1 = require("@fortawesome/free-solid-svg-icons"); var types_1 = require("../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_1.default.createElement("div", { style: tslib_1.__assign({ padding: '.5em', display: 'flex', flexDirection: 'row', border: "1px solid ".concat(types_1.SLATE), backgroundColor: "".concat(types_1.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_1.default.createElement(react_fontawesome_1.FontAwesomeIcon, { icon: options.isLocked ? free_solid_svg_icons_1.faLockOpen : free_solid_svg_icons_1.faLock, color: 'blue', onClick: function () { return handleLockClick(options.field); }, style: { cursor: 'pointer' } })), react_1.default.createElement("p", { style: { margin: 'auto' } }, options.header ? options.header : options.field), options.canHide && (react_1.default.createElement(react_fontawesome_1.FontAwesomeIcon, { icon: free_solid_svg_icons_1.faEyeSlash, color: 'red', onClick: function () { return handleHideClick(options.field); }, style: { cursor: 'pointer' } })))); }; exports.default = Header; //# sourceMappingURL=Header.js.map