UNPKG

@mui/x-charts

Version:

The community edition of MUI X Charts components.

46 lines 1.86 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import _formatErrorMessage from "@mui/x-internals/formatErrorMessage"; const seriesProcessor = ({ series, seriesOrder }, dataset, isItemVisible) => { const completeSeries = Object.fromEntries(Object.entries(series).map(([seriesId, seriesData]) => { const datasetKeys = seriesData?.datasetKeys; const missingKeys = ['x', 'y'].filter(key => typeof datasetKeys?.[key] !== 'string'); if (seriesData?.datasetKeys && missingKeys.length > 0) { throw new Error(process.env.NODE_ENV !== "production" ? `MUI X Charts: Scatter series with id="${seriesId}" has incomplete datasetKeys. ` + `Properties ${missingKeys.map(key => `"${key}"`).join(', ')} are missing. ` + 'Scatter plots require both "x" and "y" keys to map dataset values to coordinates. ' + 'Add the missing datasetKeys to the series configuration.' : _formatErrorMessage(29, seriesId, missingKeys.map(key => `"${key}"`).join(', '))); } let data; if (seriesData.valueGetter) { data = dataset?.map(seriesData.valueGetter) ?? []; } else if (datasetKeys) { data = dataset?.map(d => ({ x: d[datasetKeys.x] ?? null, y: d[datasetKeys.y] ?? null, z: datasetKeys.z && d[datasetKeys.z], id: datasetKeys.id && d[datasetKeys.id] })) ?? []; } else { data = seriesData.data ?? []; } return [seriesId, _extends({ labelMarkType: 'circle', markerSize: 4 }, seriesData, { preview: _extends({ markerSize: 1 }, seriesData?.preview), data, hidden: !isItemVisible?.({ type: 'scatter', seriesId }), valueFormatter: seriesData.valueFormatter ?? (v => v && `(${v.x}, ${v.y})`) })]; })); return { series: completeSeries, seriesOrder }; }; export default seriesProcessor;