UNPKG

@mui/x-charts

Version:

The community edition of MUI X Charts components.

53 lines (52 loc) 2.17 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _formatErrorMessage2 = _interopRequireDefault(require("@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.' : (0, _formatErrorMessage2.default)(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, (0, _extends2.default)({ labelMarkType: 'circle', markerSize: 4 }, seriesData, { preview: (0, _extends2.default)({ markerSize: 1 }, seriesData?.preview), data, hidden: !isItemVisible?.({ type: 'scatter', seriesId }), valueFormatter: seriesData.valueFormatter ?? (v => v && `(${v.x}, ${v.y})`) })]; })); return { series: completeSeries, seriesOrder }; }; var _default = exports.default = seriesProcessor;