import React from "react"; import classnames from "classnames"; import { uniqueId } from "lodash"; import ReactTooltip from "react-tooltip"; import { COLORS } from "styles/var/colors"; import { getPerformanceImpactIndicatorTooltip } from "utilities/helpers"; import { isPerformanceImpactIndicator, PerformanceImpactIndicatorValue, } from "interfaces/schedulable_query"; interface IPerformanceImpactCellValue { indicator: string; id?: number; } interface IPerformanceImpactCellProps { value: IPerformanceImpactCellValue; isHostSpecific?: boolean; customIdPrefix?: string; } const generateClassTag = (rawValue: string): string => { return rawValue.replace(" ", "-").toLowerCase(); }; const baseClass = "performance-impact-cell"; const PerformanceImpactCell = ({ value, isHostSpecific = false, customIdPrefix, }: IPerformanceImpactCellProps): JSX.Element => { const { indicator, id } = value; const pillClassName = classnames( "data-table__pill", `data-table__pill--${generateClassTag(indicator || "")}`, "tooltip" ); const disableTooltip = ![ "Minimal", "Considerable", "Excessive", "Undetermined", ].includes(indicator); const tooltipId = uniqueId(); const indicatorValue = isPerformanceImpactIndicator(indicator) ? indicator : PerformanceImpactIndicatorValue.UNDETERMINED; return ( {indicatorValue} {getPerformanceImpactIndicatorTooltip(indicatorValue, isHostSpecific)} ); }; export default PerformanceImpactCell;