devaccel-data-grid
Version:
Dynamic table library.
33 lines • 2.28 kB
JavaScript
"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