private showHoverData()

in src/visual.ts [987:1022]


    private showHoverData(hoverDataContainer: IHoverDataContainer, dataPoint: IDualKpiDataPoint, latestValue: number, hoverDataPercentType: PercentType, valueAsPercent: boolean, abbreviateValue: boolean) {
        let hoverDate: Selection = hoverDataContainer.date;
        hoverDate
            .datum(dataPoint)
            .text((d: IDualKpiDataPoint) => this.timeFormatter(d.date));

        let hoverValue: Selection = hoverDataContainer.text;
        hoverValue
            .datum(dataPoint)
            .text((d: IDualKpiDataPoint) => {
                let value = abbreviateValue ? this.valueFormatter(d.value) : this.commaNumberFormatter(Math.round(d.value));
                if (valueAsPercent) {
                    return DualKpi.percentFormatter(d.value);
                }
                return value;
            });

        let hoverPercent: Selection = hoverDataContainer.percent;
        hoverPercent
            .datum(dataPoint)
            .text((d: IDualKpiDataPoint) => {
                if (valueAsPercent) {
                    let value: number = hoverDataPercentType === PercentType.lastDate ? latestValue - d.value
                        : d.value - latestValue;

                    return DualKpi.percentFormatter(value);
                }
                let leftValue: number = hoverDataPercentType === PercentType.lastDate ? d.value : latestValue,
                    rightValue: number = hoverDataPercentType === PercentType.lastDate ? latestValue : d.value;

                return DualKpi.getPercentChange(leftValue, rightValue);
            });

        this.bottomContainer.bottomContainer.classed("hidden", true);
        hoverDataContainer.container.classed(DualKpi.INVISIBLE, false);
    }