es-grid-template
Version:
es-grid-template
44 lines • 1.56 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import React, { Fragment } from "react";
import classnames from "classnames";
import { getTemplate } from "../utils";
import styled from "styled-components";
const HeaderStyle = styled.div.withConfig({
displayName: "HeaderStyle",
componentId: "es-grid-template__sc-ibhq66-0"
})([""]);
const HeaderContent = props => {
const {
t,
id,
wrapSettings,
column,
onCopy,
...rest
} = props;
const {
headerTooltip,
headerText,
columnGroupText,
headerTemplate,
headerTextWrap,
ellipsis
} = props.column ?? {};
const text = React.useMemo(() => {
return columnGroupText ?? headerText;
}, [columnGroupText, headerText]);
const tooltip = React.useMemo(() => {
return t ? t?.(headerTooltip ?? columnGroupText ?? headerText) : headerTooltip ?? columnGroupText ?? headerText;
}, [columnGroupText, headerText, headerTooltip, t]);
return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(HeaderStyle, _extends({}, rest, {
className: classnames('', {
'ui-rc-table-cell-ellipsis': ellipsis !== false && headerTextWrap !== true,
'header-text-wrap': headerTextWrap ?? (wrapSettings?.wrapMode === 'Header' || wrapSettings?.wrapMode === 'Both')
}),
"data-tooltip-id": `${id}-tooltip-header`,
"data-tooltip-content": tooltip,
"data-tooltip-offset": 16,
onCopy: onCopy
}), headerTemplate ? getTemplate(headerTemplate, column) : t ? t(text) : text));
};
export default HeaderContent;