UNPKG

recharts

Version:
41 lines 1.36 kB
import { isStacked } from '../../types/StackedGraphicalItem'; import { getPercentValue, isNullish } from '../../../util/DataUtils'; var getBarSize = (globalSize, totalSize, selfSize) => { var barSize = selfSize !== null && selfSize !== void 0 ? selfSize : globalSize; if (isNullish(barSize)) { return undefined; } return getPercentValue(barSize, totalSize, 0); }; export var combineBarSizeList = (allBars, globalSize, totalSize) => { var initialValue = {}; var stackedBars = allBars.filter(isStacked); var unstackedBars = allBars.filter(b => b.stackId == null); var groupByStack = stackedBars.reduce((acc, bar) => { if (!acc[bar.stackId]) { acc[bar.stackId] = []; } acc[bar.stackId].push(bar); return acc; }, initialValue); var stackedSizeList = Object.entries(groupByStack).map(_ref => { var [stackId, bars] = _ref; var dataKeys = bars.map(b => b.dataKey); var barSize = getBarSize(globalSize, totalSize, bars[0].barSize); return { stackId, dataKeys, barSize }; }); var unstackedSizeList = unstackedBars.map(b => { var dataKeys = [b.dataKey].filter(dk => dk != null); var barSize = getBarSize(globalSize, totalSize, b.barSize); return { stackId: undefined, dataKeys, barSize }; }); return [...stackedSizeList, ...unstackedSizeList]; };