@mui/x-charts
Version:
The community edition of MUI X Charts components.
29 lines (28 loc) • 1.33 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getAxisExtremum = void 0;
var _isCartesian = require("../../../isCartesian");
const axisExtremumCallback = (acc, chartType, axis, axisDirection, seriesConfig, axisIndex, formattedSeries, getFilters) => {
const getter = axisDirection === 'x' ? seriesConfig[chartType].xExtremumGetter : seriesConfig[chartType].yExtremumGetter;
const series = formattedSeries[chartType]?.series ?? {};
const [minChartTypeData, maxChartTypeData] = getter?.({
series,
axis,
axisIndex,
isDefaultAxis: axisIndex === 0,
getFilters
}) ?? [Infinity, -Infinity];
const [minData, maxData] = acc;
return [Math.min(minChartTypeData, minData), Math.max(maxChartTypeData, maxData)];
};
const getAxisExtremum = (axis, axisDirection, seriesConfig, axisIndex, formattedSeries, getFilters) => {
const charTypes = Object.keys(seriesConfig).filter(_isCartesian.isCartesianSeriesType);
const extremums = charTypes.reduce((acc, charType) => axisExtremumCallback(acc, charType, axis, axisDirection, seriesConfig, axisIndex, formattedSeries, getFilters), [Infinity, -Infinity]);
if (Number.isNaN(extremums[0]) || Number.isNaN(extremums[1])) {
return [Infinity, -Infinity];
}
return extremums;
};
exports.getAxisExtremum = getAxisExtremum;
;