in src/timeLine.ts [1260:1299]
private createTimelineData(
timelineSettings: Settings,
startDate: Date,
endDate: Date,
timelineGranularityData: GranularityData,
locale: string,
localizationManager: powerbiVisualsApi.extensibility.ILocalizationManager,
) {
const calendar: Calendar = this.calendarFactory.create(timelineSettings.weeksDetermintaionStandards, timelineSettings.calendar, timelineSettings.weekDay);
timelineGranularityData.createGranularities(calendar, locale, localizationManager);
timelineGranularityData.createLabels();
if (this.initialized) {
const actualEndDate: Date = GranularityData.NEXT_DAY(endDate);
const daysPeriods: ITimelineDatePeriod[] = this.timelineGranularityData
.getGranularity(GranularityType.day)
.getDatePeriods();
const prevStartDate: Date = daysPeriods[0].startDate;
const prevEndDate: Date = daysPeriods[daysPeriods.length - 1].endDate;
const changedSelection: boolean =
startDate.getTime() !== prevStartDate.getTime()
||
actualEndDate.getTime() !== prevEndDate.getTime();
if (!changedSelection) {
this.changeGranularity(
this.settings.granularity.granularity,
startDate,
actualEndDate,
);
} else {
this.initialized = false;
}
}
}