public renderArcs()

in src/services/dataRenderService.ts [196:228]


    public renderArcs(slicesElement: Selection<any>, isHighlighted: boolean) {
        let arc: AsterArcDescriptor = this.arcSvg,
            classSelector: ClassAndSelector = this.getClassAndSelector(isHighlighted);

        let selection = slicesElement
            .selectAll(classSelector.selectorName)
            .data(isHighlighted ? this.highlightedDataPoints : this.dataPoints, (d: AsterArcDescriptor, i: number) => {
                return d.data
                    ? (<powerbi.visuals.ISelectionId>d.data.identity).getKey()
                    : <any>i;
            });

        selection
            .exit()
            .remove();

        selection = selection.merge(selection
            .enter()
            .append("path")
            .classed(classSelector.className, true));

        selection
            .attr("fill", d => d.data.fillColor)
            .attr("stroke", d => d.data.strokeColor)
            .attr("stroke-width", d => d.data.strokeWidth)
            .call(selection => {
                return Helpers.needToSetTransition(this.layout.viewportChanged)
                    ? Helpers.setAttr(selection, "d", arc)
                    : Helpers.setTransition(selection, DataRenderService.AnimationDuration, "d", arc);
            });

        this.applyTooltipToSelection(selection);
    }