@mui/x-charts
Version:
The community edition of MUI X Charts components.
25 lines • 1.4 kB
JavaScript
import _formatErrorMessage from "@mui/x-internals/formatErrorMessage";
import _extends from "@babel/runtime/helpers/esm/extends";
import { DEFAULT_RADIUS_AXIS_KEY, DEFAULT_ROTATION_AXIS_KEY } from "../../../../constants/index.mjs";
export function defaultizeAxis(inAxis, dataset, axisName) {
const DEFAULT_AXIS_KEY = axisName === 'rotation' ? DEFAULT_ROTATION_AXIS_KEY : DEFAULT_RADIUS_AXIS_KEY;
const inputAxes = inAxis && inAxis.length > 0 ? inAxis : [{
id: DEFAULT_AXIS_KEY
}];
return inputAxes.map((axisConfig, index) => {
const id = `defaultized-${axisName}-axis-${index}`;
const dataKey = axisConfig.dataKey;
if (axisConfig.data !== undefined || dataKey === undefined && !axisConfig.valueGetter) {
return _extends({
id
}, axisConfig);
}
if (dataset === undefined) {
throw new Error(process.env.NODE_ENV !== "production" ? `MUI X Charts: The ${axisName}-axis uses \`dataKey\` or \`valueGetter\` but no \`dataset\` is provided. ` + 'When using dataKey or valueGetter, a dataset must be provided to retrieve the axis data. ' + `Either provide a dataset prop or use the data property directly on the ${axisName}-axis.` : _formatErrorMessage(39, axisName, axisName));
}
return _extends({
id,
data: axisConfig.valueGetter ? dataset.map(d => axisConfig.valueGetter(d)) : dataset.map(d => d[dataKey])
}, axisConfig);
});
}