in packages/timebrush-powerbi/src/TimeBrushVisual.ts [360:386]
private getRangeBoundItems(dateRange: Date[]) {
let items: TimeBrushVisualDataItem[] = [];
if (dateRange && dateRange.length) {
let lowerItem: TimeBrushVisualDataItem;
let upperItem: TimeBrushVisualDataItem;
this.timeBrush.data.forEach((item: TimeBrushVisualDataItem) => {
if (!lowerItem) {
lowerItem = item;
}
if (!upperItem) {
upperItem = item;
}
if (Math.abs(dateRange[0].getTime() - item.date.getTime()) <
Math.abs(dateRange[0].getTime() - lowerItem.date.getTime())) {
lowerItem = item;
}
if (Math.abs(dateRange[1].getTime() - item.date.getTime()) <
Math.abs(dateRange[1].getTime() - upperItem.date.getTime())) {
upperItem = item;
}
});
items = [lowerItem, upperItem];
}
return items;
}