UNPKG

@mui/x-charts

Version:

The community edition of MUI X Charts components.

32 lines 2.16 kB
import { warnOnce } from '@mui/x-internals/warning'; import { DEFAULT_X_AXIS_KEY, DEFAULT_Y_AXIS_KEY } from "../constants/index.js"; const getAxisMessage = (axisDirection, axisId) => { const axisName = `${axisDirection}-axis`; const axisIdName = `${axisDirection}Axis`; const axisDefaultKey = axisDirection === 'x' ? DEFAULT_X_AXIS_KEY : DEFAULT_Y_AXIS_KEY; return axisId === axisDefaultKey ? `The first \`${axisIdName}\`` : `The ${axisName} with id "${axisId}"`; }; export function checkBarChartScaleErrors(verticalLayout, seriesId, seriesDataLength, xAxisId, xAxis, yAxisId, yAxis) { const xAxisConfig = xAxis[xAxisId]; const yAxisConfig = yAxis[yAxisId]; const discreteAxisConfig = verticalLayout ? xAxisConfig : yAxisConfig; const continuousAxisConfig = verticalLayout ? yAxisConfig : xAxisConfig; const discreteAxisId = verticalLayout ? xAxisId : yAxisId; const continuousAxisId = verticalLayout ? yAxisId : xAxisId; const discreteAxisDirection = verticalLayout ? 'x' : 'y'; const continuousAxisDirection = verticalLayout ? 'y' : 'x'; if (discreteAxisConfig.scaleType !== 'band') { throw new Error(`MUI X Charts: ${getAxisMessage(discreteAxisDirection, discreteAxisId)} should be of type "band" to display the bar series of id "${seriesId}".`); } if (discreteAxisConfig.data === undefined) { throw new Error(`MUI X Charts: ${getAxisMessage(discreteAxisDirection, discreteAxisId)} should have data property.`); } if (continuousAxisConfig.scaleType === 'band' || continuousAxisConfig.scaleType === 'point') { throw new Error(`MUI X Charts: ${getAxisMessage(continuousAxisDirection, continuousAxisId)} should be a continuous type to display the bar series of id "${seriesId}".`); } if (process.env.NODE_ENV !== 'production') { if (discreteAxisConfig.data.length < seriesDataLength) { warnOnce([`MUI X Charts: ${getAxisMessage(discreteAxisDirection, discreteAxisId)} has less data (${discreteAxisConfig.data.length} values) than the bar series of id "${seriesId}" (${seriesDataLength} values).`, 'The axis data should have at least the same length than the series using it.'], 'error'); } } }