in src/timeLine.ts [1132:1162]
private adjustFilterDatePeriod(): IAdjustedFilterDatePeriod {
// It contains date boundaties that was taken from current slicer filter (filter range).
// If nothing is selected in slicer the boundaries will be null.
const filterDatePeriod: DatePeriodBase = <DatePeriodBase>(this.settings.general.datePeriod);
// There may be the case when date boundaries that taken from data view are less than slicer filter dates.
// The case may happen if there is another timeline slicer that works with the same data and already applied a filter.
// In that case we need to correct slice filter dates.
if (filterDatePeriod.startDate
&& this.datePeriod.startDate
&& filterDatePeriod.startDate.getTime() < this.datePeriod.startDate.getTime()
) {
filterDatePeriod.startDate = null;
}
// End date from data is always less than date from slicer filter.
// This means that we need to correct it before check.
let adaptedDataEndDate: Date = null;
if (this.datePeriod.endDate) {
adaptedDataEndDate = new Date(<any>(this.datePeriod.endDate));
adaptedDataEndDate.setDate(adaptedDataEndDate.getDate() + 1);
}
if (filterDatePeriod.endDate && adaptedDataEndDate && filterDatePeriod.endDate.getTime() > adaptedDataEndDate.getTime()) {
filterDatePeriod.endDate = null;
}
return {
adaptedDataEndDate,
period: filterDatePeriod,
}
}