in src/timeLine.ts [881:921]
public renderTimeRangeText(timelineData: ITimelineData, rangeHeaderSettings: LabelsSettings): void {
const leftMargin: number = (GranularityNames.length + Timeline.GranularityNamesLength)
* this.timelineProperties.elementWidth;
const maxWidth: number = this.svgWidth
- leftMargin
- this.timelineProperties.leftMargin
- rangeHeaderSettings.textSize;
d3SelectAll("g." + Timeline.TimelineSelectors.RangeTextArea.className).remove();
if (rangeHeaderSettings.show && maxWidth > 0) {
this.rangeTextSelection = this.headerSelection
.append("g")
.classed(Timeline.TimelineSelectors.RangeTextArea.className, true)
.append("text");
const timeRangeText: string = Utils.TIME_RANGE_TEXT(timelineData);
const labelFormattedTextOptions: dataLabelInterfaces.LabelFormattedTextOptions = {
fontSize: rangeHeaderSettings.textSize,
label: timeRangeText,
maxWidth,
};
const actualText: string = dataLabelUtils.getLabelFormattedText(labelFormattedTextOptions);
const positionOffset: number = Timeline.TimelineMargins.LegendHeight - this.timelineProperties.legendHeight;
this.rangeTextSelection
.classed(Timeline.TimelineSelectors.SelectionRangeContainer.className, true)
.attr("x", GranularityNames.length
* (this.timelineProperties.elementWidth + this.timelineProperties.leftMargin))
.attr("y", Timeline.DefaultRangeTextSelectionY - positionOffset)
.attr("fill", rangeHeaderSettings.fontColor)
.style("font-size", pixelConverter.fromPointToPixel(rangeHeaderSettings.textSize))
.text(actualText)
.append("title")
.text(timeRangeText);
}
}