public render()

in src/visualComponent/svgComponent.ts [129:183]


    public render(options: ISvgComponentRenderOptions): void {
        const {
            data: {
                groups: [firstGroup, secondGroup],
                settings,
                viewport,
                margin,
                x: { values, scale },
            },
            additionalMargin,
        } = options;

        const reducedViewport: powerbi.IViewport = {
            height: Math.max(0, viewport.height - margin.top - margin.bottom),
            width: Math.max(0, viewport.width - margin.left - margin.right),
        };

        this.updateViewport(reducedViewport);

        this.updateMargin(margin, additionalMargin);

        this.positions = this.getPositions(reducedViewport, values, scale);

        this.renderOptions = {
            ...options,
            data: {
                ...options.data,
                viewport: reducedViewport,
            },
        };

        this.xAxisReferenceLineComponent.render({
            scale,
            settings: settings.referenceLineOfXAxis,
            ticks: options.xTicks,
            viewport: reducedViewport,
        });

        this.yAxisReferenceLineComponent.render({
            scale: firstGroup && firstGroup.y && firstGroup.y.scale,
            settings: settings.referenceLineOfYAxis,
            ticks: options.yTicks,
            viewport: reducedViewport,
        });

        this.secondaryYAxisReferenceLineComponent.render({
            scale: secondGroup && secondGroup.y && secondGroup.y.scale,
            settings: settings.secondaryReferenceLineOfYAxis,
            ticks: options.secondaryYTicks,
            viewport: reducedViewport,
        });

        this.chartComponent.render(this.renderOptions);
        this.labelsComponent.render(this.renderOptions);
    }