in src/gantt.ts [673:710]
private static getFormatters(
dataView: DataView,
settings: GanttSettings,
cultureSelector: string): GanttChartFormatters {
if (!dataView ||
!dataView.metadata ||
!dataView.metadata.columns) {
return null;
}
let dateFormat: string = "d";
for (let dvColumn of dataView.metadata.columns) {
if (Gantt.hasRole(dvColumn, GanttRoles.StartDate)) {
dateFormat = dvColumn.format;
}
}
// Priority of using date format: Format from dvColumn -> Format by culture selector -> Custom Format
if (cultureSelector) {
dateFormat = null;
}
if (!settings.tooltipConfig.dateFormat) {
settings.tooltipConfig.dateFormat = dateFormat;
}
if (settings.tooltipConfig.dateFormat &&
settings.tooltipConfig.dateFormat !== dateFormat) {
dateFormat = settings.tooltipConfig.dateFormat;
}
return <GanttChartFormatters>{
startDateFormatter: ValueFormatter.create({ format: dateFormat, cultureSelector }),
completionFormatter: ValueFormatter.create({ format: PercentFormat, value: 1, allowFormatBeautification: true })
};
}