UNPKG

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
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; }