public render()

in src/visualComponent/table/cell/sparkline/dynamic/tooltipComponent.ts [64:141]


    public render(options: IDynamicComponentRenderOptions): void {
        if (!options) {
            return;
        }

        const {
            series,
            position,
            metadata,
        } = options;

        const baseDataItems: IVisualTooltipDataItem[] = [];

        if (NumericValueUtils.isValueDefined(series.axisValue)) {
            const asOfDateFormatter: valueFormatter.IValueFormatter = FormattingUtils.getFormatterOfAxisValue(
                series.x.min,
                series.x.max,
                series.x.scale.type,
                metadata,
                series.settings.asOfDate,
            );

            baseDataItems.push({
                color: this.transparentColor,
                displayName: "",
                markerShape: this.getTooltipMarkerShape(TooltipMarkerShapeEnum.circle),
                value: asOfDateFormatter.format(series.axisValue),
            });
        }

        this.addValueTooltip(
            baseDataItems,
            this.getVarianceTooltip(
                series.varianceSet && series.varianceSet[0],
                series.settings.kpiIndicatorValue,
                series.points[0] && series.points[0].kpiIndicatorIndexes,
                series.settings.kpiIndicator,
            ),
        );

        this.addValueTooltip(
            baseDataItems,
            this.getVarianceTooltip(
                series.varianceSet && series.varianceSet[1],
                series.settings.secondKPIIndicatorValue,
                null,
                null,
            ),
        );

        const additionalDataItems: IVisualTooltipDataItem[] = [];

        series.points.forEach((pointSet: IDataRepresentationPointSet) => {
            this.addValueTooltip(
                additionalDataItems,
                this.getValueTooltip(pointSet),
            );
        });

        if (additionalDataItems && additionalDataItems.length) {
            baseDataItems.push(
                this.getTooltipSeparator(),
                this.getTooltipSeparator(),
            );

            baseDataItems.push(...additionalDataItems);
        }

        const coordinates: [number, number] = this.getCoordinates(
            position.x,
            position.y,
        );

        this.renderTooltip(
            baseDataItems,
            coordinates,
        );
    }