private setValueLabels()

in src/UXClient/Components/Marker/Marker.ts [413:463]


    private setValueLabels (closestTime) {
        let values = this.getValuesAtTime(closestTime);
        values = values.filter((d) => {
            return d && this.chartComponentData.getDataType(d.aggregateKey) === DataTypes.Numeric; 
        });
        let self = this;

        let valueLabels = this.markerContainer.selectAll(".tsi-markerValue").data(values, (d) => {
            return d.aggregateKey + "_" + d.splitBy;
        });

        valueLabels.enter()
            .append("div")
            .classed("tsi-markerValue", true)
            .classed('tsi-seriesLabelValue', this.isSeriesLabels)
            .merge(valueLabels)
            .classed('tsi-isInterpolated', d => {
                return d.isInterpolated;
            })
            .style('top', (d) => this.calcTopOfValueLabel(d) + 'px')
            .each(function (d: any) {
                let tooltipKey = self.getTooltipKey(d);
                let tooltip;
                
                if (self.tooltipMap[tooltipKey]) {
                    tooltip = self.tooltipMap[tooltipKey];
                } else {
                    tooltip = new Tooltip(d3.select(this));
                    self.tooltipMap[tooltipKey] = tooltip;
                }
                tooltip.render(self.chartOptions.theme);
                let tooltipHeight = MARKERVALUENUMERICHEIGHT;
                tooltip.draw(d, self.chartComponentData, 0, MARKERVALUENUMERICHEIGHT/2, {right:0, left:0, top:0, bottom:0}, (tooltipTextElement) => {
                    self.tooltipFormat(d, tooltipTextElement, null, null);
                }, null, 0, 0, self.colorMap[d.aggregateKey + "_" + d.splitBy], true);

                let markerValueCaret = d3.select(this).selectAll('.tsi-markerValueCaret')
                    .data([d]);
                markerValueCaret.enter().append('div')
                    .attr('class', 'tsi-markerValueCaret')
                    .merge(markerValueCaret as d3.Selection<HTMLDivElement,any,any,unknown>)
                    .style("border-right-color", () => self.colorMap[d.aggregateKey + "_" + d.splitBy]);
                markerValueCaret.exit().remove();
            });

        let valueLabelsExit = valueLabels.exit();
        valueLabelsExit.each((d) => {
            delete this.tooltipMap[this.getTooltipKey(d)];
        })
        valueLabelsExit.remove();
    }