@talend/react-components
Version:
Set of react components.
73 lines (70 loc) • 2.76 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = Content;
exports.defaultColumnConfiguration = void 0;
var _propTypes = _interopRequireDefault(require("prop-types"));
var _reactVirtualized = require("react-virtualized");
var _TooltipTrigger = _interopRequireDefault(require("../TooltipTrigger"));
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/* eslint-disable react/no-unused-prop-types */
function DefaultRenderer({
cellData,
columnData,
rowData
}) {
const {
getTooltipLabel
} = columnData;
let tooltipLabel = columnData.tooltipLabel != null ? columnData.tooltipLabel : cellData;
if (typeof getTooltipLabel === 'function') {
tooltipLabel = getTooltipLabel(rowData);
}
return tooltipLabel != null ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_TooltipTrigger.default, {
label: tooltipLabel,
tooltipPlacement: columnData.tooltipPlacement || 'top',
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
className: "tc-virtualizedlist-default-cell",
"data-test": "tc-virtualizedlist-default-cell-tooltip",
"data-testid": "tc-virtualizedlist-default-cell-tooltip",
children: cellData
})
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
className: "tc-virtualizedlist-default-cell",
children: cellData
});
}
DefaultRenderer.propTypes = {
cellData: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
rowData: _propTypes.default.object,
columnData: _propTypes.default.shape({
tooltipLabel: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
tooltipPlacement: _propTypes.default.string,
getTooltipLabel: _propTypes.default.func
})
};
const defaultColumnConfiguration = exports.defaultColumnConfiguration = {
..._reactVirtualized.Column.defaultProps,
cellRenderer: DefaultRenderer,
width: -1
};
// this is a fake component to be usable in JSX,
// but the element is used as props object internally (VirtualizedList / RV)
function Content() {
return null;
}
Content.displayName = 'Content';
Content.defaultProps = defaultColumnConfiguration;
Content.propTypes = {
label: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]).isRequired,
dataKey: _propTypes.default.string.isRequired,
width: _propTypes.default.number.isRequired,
columnData: _propTypes.default.shape({
tooltipLabel: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
tooltipPlacement: _propTypes.default.string,
getTooltipLabel: _propTypes.default.func
}).isRequired
};
//# sourceMappingURL=Content.component.js.map