UNPKG

@mui/x-charts

Version:

The community edition of MUI X Charts components.

29 lines (28 loc) 1.33 kB
"use strict"; 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;