ferngully-aurelia-tools
Version:
Ferngully Tools for Aurelia
36 lines (35 loc) • 1.24 kB
TypeScript
import { DateService } from "../../services/date-service";
export declare class SortValueConverter {
private dateService;
constructor(dateService: DateService);
toView(array: Array<any>, columnState: IColumnState, enabled?: boolean): any[] | null;
private evaluateValues(fnEvaluator, a, b, columnState, factor);
private getColumnValue(row, columnState);
private getTieBreaker(row, columnState);
private getEvaluatorForDataType(dataType?);
private evaluateNumber(a, b, factor);
private evaluateString(a, b, factor);
private evaluateDateTime(valueA, valueB, factor);
}
export declare enum SortDataType {
string = 1,
number = 2,
datetime = 3,
boolean = 4,
integer = 5,
}
export declare type SortRowValueResolver = (row: any, data: any) => string;
export interface ISortRowValueResolver {
fnGetRowValue: SortRowValueResolver;
data?: any;
}
export interface IColumnState {
descending?: boolean;
columnName: string;
valueResolver?: ISortRowValueResolver;
tieBreakerColumnName?: string;
tieBreakerDataType?: SortDataType;
dataType: SortDataType;
ordinalPositionPropertyName?: string;
sortEnabled: boolean;
}