UNPKG

@adaptabletools/adaptable

Version:

Powerful AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements

29 lines (28 loc) 1.69 kB
import { jsx as _jsx } from "react/jsx-runtime"; import { Box, Flex } from '../../../../../components/Flex'; import { Tag } from '../../../../../components/Tag'; import { useAdaptable } from '../../../../AdaptableContext'; import { getGradientPreviewCellStyle, getGradientPreviewSampleValues, hasGradientRangesConfigured, } from '../../../../../Utilities/Helpers/StyledColumns/GradientStyleHelper'; const formatPreviewValue = (value) => { if (Number.isInteger(value)) { return value.toLocaleString(); } return value.toLocaleString(undefined, { maximumFractionDigits: 2 }); }; export const StyledColumnGradientPreview = ({ data, api: apiProp }) => { const adaptable = useAdaptable(); const api = apiProp ?? adaptable.api; const gs = data.GradientStyle; if (!gs) { return _jsx(Tag, { children: "No Gradient Style" }); } if (!hasGradientRangesConfigured(gs)) { return _jsx(Tag, { children: "Define ranges before previewing" }); } const sampleValues = getGradientPreviewSampleValues(data, api); if (!sampleValues.length) { return _jsx(Tag, { children: "No preview available" }); } const rowNode = api.gridApi?.getRowNodeForIndex(0) ?? null; return (_jsx(Flex, { alignItems: "stretch", className: "twa:flex-wrap twa:gap-2", children: sampleValues.map((value) => (_jsx(Box, { className: "ab-GradientPreviewCell twa:px-2 twa:py-1 twa:min-w-[56px] twa:text-2 twa:text-center twa:rounded-standard twa:border twa:border-[color-mix(in_srgb,var(--ab-color-foreground)_15%,transparent)]", style: getGradientPreviewCellStyle(value, data, api, rowNode), children: formatPreviewValue(value) }, value))) })); };