in src/timeLine.ts [468:517]
private static parseSettings(
dataView: powerbiVisualsApi.DataView,
jsonFilters: AdvancedFilter[],
colorPalette: powerbiVisualsApi.extensibility.ISandboxExtendedColorPalette,
): Settings {
const settings: Settings = Settings.parse<Settings>(dataView);
Timeline.SET_VALID_CALENDAR_SETTINGS(settings.calendar);
if (jsonFilters
&& jsonFilters[0]
&& jsonFilters[0].conditions
&& jsonFilters[0].conditions[0]
&& jsonFilters[0].conditions[1]
) {
const startDate: Date = new Date(`${jsonFilters[0].conditions[0].value}`);
const endDate: Date = new Date(`${jsonFilters[0].conditions[1].value}`);
if (!isNaN(startDate.getTime()) && !isNaN(endDate.getTime())) {
settings.general.datePeriod = DatePeriodBase.CREATE(startDate, endDate);
} else {
settings.general.datePeriod = DatePeriodBase.CREATEEMPTY();
}
} else {
settings.general.datePeriod = DatePeriodBase.CREATEEMPTY();
}
if (colorPalette.isHighContrast) {
const {
foreground,
background,
} = colorPalette;
settings.rangeHeader.fontColor = foreground.value;
settings.cells.fillSelected = foreground.value;
settings.cells.fillUnselected = background.value;
settings.cells.strokeColor = foreground.value;
settings.cells.selectedStrokeColor = background.value;
settings.granularity.scaleColor = foreground.value;
settings.granularity.sliderColor = foreground.value;
settings.labels.fontColor = foreground.value;
settings.cursor.color = foreground.value;
}
return settings;
}