private static createFormatter()

in src/visualStrategy/baseVisualStrategy.ts [170:231]


    private static createFormatter(
        scaleDomain: any[],
        dataDomain: any[],
        dataType,
        isScalar: boolean,
        formatString: string,
        bestTickCount: number,
        tickValues: any[],
        getValueFn: any,
        useTickIntervalForDisplayUnits: boolean = false): IValueFormatter {

        let formatter: IValueFormatter;

        if (dataType.dateTime) {
            if (isScalar) {
                let value: Date = new Date(scaleDomain[0]),
                    value2: Date = new Date(scaleDomain[1]);

                if (bestTickCount === 1) {
                    value = value2 = new Date(dataDomain[0]);
                }

                formatter = valueFormatter.create({
                    format: formatString,
                    value: value,
                    value2: value2,
                    tickCount: bestTickCount
                });
            }
            else {
                const minDate: Date = getValueFn(dataDomain[0], dataType),
                    maxDate: Date = getValueFn(dataDomain[dataDomain.length - 1], dataType);

                formatter = valueFormatter.create({
                    format: formatString,
                    value: minDate,
                    value2: maxDate,
                    tickCount: bestTickCount,
                    columnType: <ValueTypeDescriptor>{
                        dateTime: true
                    }
                });
            }
        }
        else {
            if (useTickIntervalForDisplayUnits && isScalar && tickValues.length > 1) {
                const domainMin: number = tickValues[1] - tickValues[0];

                formatter = valueFormatter.create({
                    format: formatString,
                    value: domainMin,
                    value2: 0,
                    allowFormatBeautification: true
                });
            }
            else {
                formatter = valueFormatter.createDefaultFormatter(formatString, true);
            }
        }

        return formatter;
    }