UNPKG

@progress/kendo-charts

Version:

Kendo UI platform-independent Charts library

53 lines (40 loc) 1.62 kB
import { ChartElement } from '../../core'; import { setDefaultOptions } from '../../common'; import { forEach, forEachReverse } from './utils'; var RadarClusterLayout = (function (ChartElement) { function RadarClusterLayout(options) { ChartElement.call(this, options); this.forEach = options.rtl ? forEachReverse : forEach; } if ( ChartElement ) RadarClusterLayout.__proto__ = ChartElement; RadarClusterLayout.prototype = Object.create( ChartElement && ChartElement.prototype ); RadarClusterLayout.prototype.constructor = RadarClusterLayout; RadarClusterLayout.prototype.reflow = function reflow (sector) { var ref = this; var options = ref.options; var children = ref.children; var gap = options.gap; var spacing = options.spacing; var count = children.length; var slots = count + gap + (spacing * (count - 1)); var slotAngle = sector.angle / slots; var angle = sector.startAngle + slotAngle * (gap / 2); this.forEach(children, function (child) { var slotSector = sector.clone(); slotSector.startAngle = angle; slotSector.angle = slotAngle; if (child.sector) { slotSector.radius = child.sector.radius; } child.reflow(slotSector); child.sector = slotSector; angle += slotAngle + (slotAngle * spacing); }); }; return RadarClusterLayout; }(ChartElement)); setDefaultOptions(RadarClusterLayout, { gap: 1, spacing: 0 }); export default RadarClusterLayout;