UNPKG

igniteui-angular

Version:

Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps

25 lines (24 loc) 1.47 kB
import { IGroupByRecord } from './groupby-record.interface'; import { ISortingExpression, SortingDirection } from './sorting-expression.interface'; export interface ISortingStrategy { sort: (data: any[], fieldName: string, dir: SortingDirection, ignoreCase: boolean, valueResolver: (obj: any, key: string) => any) => any[]; } export declare class DefaultSortingStrategy implements ISortingStrategy { private static _instance; protected constructor(); static instance(): DefaultSortingStrategy; sort(data: any[], fieldName: string, dir: SortingDirection, ignoreCase: boolean, valueResolver: (obj: any, key: string) => any): any[]; compareValues(a: any, b: any): 1 | 0 | -1; protected compareObjects(obj1: object, obj2: object, key: string, reverse: number, ignoreCase: boolean, valueResolver: (obj: any, key: string) => any): number; protected arraySort(data: any[], compareFn?: any): any[]; } export declare class IgxSorting { sort(data: any[], expressions: ISortingExpression[]): any[]; private groupedRecordsByExpression; private sortDataRecursive; protected groupDataRecursive<T>(data: T[], expressions: ISortingExpression[], level: number, parent: IGroupByRecord, metadata: IGroupByRecord[], grid?: any, groupsRecords?: any[]): T[]; protected getFieldValue(obj: any, key: string): any; } export declare class IgxDataRecordSorting extends IgxSorting { protected getFieldValue(obj: any, key: string): any; }