import React, { useState, useRef, useLayoutEffect } from "react"; import { v4 as uuidv4 } from "uuid"; import ReactTooltip from "react-tooltip"; interface ITruncatedTextCellProps { value: string | number | boolean; classes?: string; } const baseClass = "truncated-cell"; const TruncatedTextCell = ({ value, classes = "w250", }: ITruncatedTextCellProps): JSX.Element => { const ref = useRef(null); const [offsetWidth, setOffsetWidth] = useState(0); const [scrollWidth, setScrollWidth] = useState(0); useLayoutEffect(() => { if (ref?.current !== null) { setOffsetWidth(ref.current.offsetWidth); setScrollWidth(ref.current.scrollWidth); } }, []); const id = uuidv4(); const tooltipDisabled = offsetWidth === scrollWidth; return (
{value}
{value}
); }; export default TruncatedTextCell;