@mui/x-charts
Version:
The community edition of MUI X Charts components.
32 lines (31 loc) • 1.68 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.defaultizeAxis = defaultizeAxis;
var _formatErrorMessage2 = _interopRequireDefault(require("@mui/x-internals/formatErrorMessage"));
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _constants = require("../../../../constants");
function defaultizeAxis(inAxis, dataset, axisName) {
const DEFAULT_AXIS_KEY = axisName === 'rotation' ? _constants.DEFAULT_ROTATION_AXIS_KEY : _constants.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 (0, _extends2.default)({
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.` : (0, _formatErrorMessage2.default)(39, axisName, axisName));
}
return (0, _extends2.default)({
id,
data: axisConfig.valueGetter ? dataset.map(d => axisConfig.valueGetter(d)) : dataset.map(d => d[dataKey])
}, axisConfig);
});
}