igniteui-angular
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
42 lines (41 loc) • 2.59 kB
TypeScript
import type { KeyOfOrString } from '../core/types';
import { IBaseEventArgs } from '../core/utils';
import { GridType } from '../grids/common/grid.interface';
export declare enum SortingDirection {
None = 0,
Asc = 1,
Desc = 2
}
export interface ISortingExpression<T = any> extends IBaseEventArgs {
fieldName: KeyOfOrString<T> & string;
dir: SortingDirection;
ignoreCase?: boolean;
strategy?: ISortingStrategy;
}
export interface ISortingStrategy {
sort: (data: any[], fieldName: string, dir: SortingDirection, ignoreCase: boolean, valueResolver: (obj: any, key: string, isDate?: boolean) => any, isDate?: boolean, isTime?: boolean, grid?: GridType) => any[];
}
export declare class DefaultSortingStrategy implements ISortingStrategy {
protected static _instance: DefaultSortingStrategy;
protected constructor();
static instance(): DefaultSortingStrategy;
sort(data: any[], fieldName: string, dir: SortingDirection, ignoreCase: boolean, valueResolver: (obj: any, key: string, isDate?: boolean) => any, isDate?: boolean, isTime?: boolean): any[];
compareValues(a: any, b: any): number;
protected compareObjects(obj1: any, obj2: any, key: string, reverse: number, ignoreCase: boolean, valueResolver: (obj: any, key: string, isDate?: boolean, isTime?: boolean) => any, isDate: boolean, isTime: boolean): number;
protected arraySort(data: any[], compareFn?: (arg0: any, arg1: any) => number): any[];
}
export declare class GroupMemberCountSortingStrategy implements ISortingStrategy {
protected static _instance: GroupMemberCountSortingStrategy;
protected constructor();
static instance(): GroupMemberCountSortingStrategy;
sort(data: any[], fieldName: string, dir: SortingDirection): any[];
groupBy(data: any, key: any): any;
protected compareObjects(obj1: any, obj2: any, data: any[], fieldName: string, reverse: number): number;
}
export declare class FormattedValuesSortingStrategy extends DefaultSortingStrategy {
protected static _instance: FormattedValuesSortingStrategy;
constructor();
static instance(): FormattedValuesSortingStrategy;
sort(data: any[], fieldName: string, dir: SortingDirection, ignoreCase: boolean, valueResolver: (obj: any, key: string, isDate?: boolean) => any, isDate?: boolean, isTime?: boolean, grid?: GridType): any[];
protected compareObjects(obj1: any, obj2: any, key: string, reverse: number, ignoreCase: boolean, valueResolver: (obj: any, key: string, isDate?: boolean, isTime?: boolean) => any, isDate: boolean, isTime: boolean, grid?: GridType): number;
}