in src/timeLine.ts [1053:1083]
public onCursorDrag(currentCursor: ICursorDataPoint): void {
const cursorOverElement: ITimelineCursorOverElement = this.findCursorOverElement((<MouseEvent>(require("d3").event)).x);
if (!cursorOverElement) {
return;
}
const currentlyMouseOverElement: ITimelineDataPoint = cursorOverElement.datapoint;
const currentlyMouseOverElementIndex: number = cursorOverElement.index;
if (currentCursor.cursorIndex === 0 && currentlyMouseOverElementIndex <= this.timelineData.selectionEndIndex) {
this.timelineData.selectionStartIndex = currentlyMouseOverElementIndex;
this.timelineData.cursorDataPoints[0].selectionIndex = currentlyMouseOverElement.datePeriod.index;
}
if (currentCursor.cursorIndex === 1 && currentlyMouseOverElementIndex >= this.timelineData.selectionStartIndex) {
this.timelineData.selectionEndIndex = currentlyMouseOverElementIndex;
this.timelineData.cursorDataPoints[1].selectionIndex =
currentlyMouseOverElement.datePeriod.index + currentlyMouseOverElement.datePeriod.fraction;
}
this.fillCells(this.settings);
this.renderCursors(
this.timelineData,
this.timelineProperties.cellHeight,
this.timelineProperties.cellsYPosition);
this.renderTimeRangeText(this.timelineData, this.settings.rangeHeader);
}