UNPKG

@progress/kendo-angular-grid

Version:

Kendo UI Grid for Angular - high performance data grid with paging, filtering, virtualization, CRUD, and more.

98 lines (97 loc) 4.04 kB
/**----------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ import { SimpleChange, OnInit, OnDestroy, OnChanges, DoCheck, ChangeDetectorRef } from '@angular/core'; import { State, SortDescriptor, GroupDescriptor, CompositeFilterDescriptor } from '@progress/kendo-data-query'; import { GridComponent } from './grid.component'; import { DataStateChangeEvent } from './data/change-event-args.interface'; import { GridDataResult } from './data/data.collection'; import { LocalDataChangesService } from './editing/local-data-changes.service'; import { RowReorderEvent } from './row-reordering/types'; import { RowReorderService } from './row-reordering/row-reorder.service'; import * as i0 from "@angular/core"; /** * A directive which encapsulates the in-memory handling of data operations such as [paging]({% slug paging_grid %}), * [sorting]({% slug sorting_grid %}), and [grouping]({% slug grouping_grid %}) * ([more information and examples]({% slug local_data_grid %}#toc-using-the-data-binding-directive)). * * @example * ```html * <kendo-grid [kendoGridBinding]="gridData" ...></kendo-grid> * ``` */ export declare class DataBindingDirective implements OnInit, OnDestroy, DoCheck, OnChanges { protected grid: GridComponent; protected changeDetector?: ChangeDetectorRef; protected localDataChangesService?: LocalDataChangesService; private rowReorderService?; /** * Defines the number of records that will be skipped by the pager. * @default 0 */ set skip(value: number); /** * Defines the descriptors by which the data will be sorted. */ set sort(value: SortDescriptor[]); /** * Defines the descriptor by which the data will be filtered. */ set filter(value: CompositeFilterDescriptor); /** * Defines the page size used by the Grid pager. */ set pageSize(value: number); /** * The descriptors by which the data will be grouped. */ set group(value: GroupDescriptor[]); /** * The array of data which will be used to populate the Grid. */ set data(value: any[]); protected state: State; protected originalData: any[]; protected dataChanged: boolean; private stateChangeSubscription; private dataChangedSubscription; private rowReorderSubscription; constructor(grid: GridComponent, changeDetector?: ChangeDetectorRef, localDataChangesService?: LocalDataChangesService, rowReorderService?: RowReorderService); /** * @hidden */ ngOnInit(): void; /** * @hidden */ ngOnDestroy(): void; /** * @hidden */ ngOnChanges(changes: { [propertyName: string]: SimpleChange; }): void; ngDoCheck(): void; /** * @hidden */ onStateChange(state: DataStateChangeEvent): void; /** * @hidden */ onRowReorder(ev: RowReorderEvent): void; /** * @hidden */ rebind(): void; /** * Notifies the Grid that its data has changed. */ notifyDataChange(): void; protected process(state: State): GridDataResult; protected applyState({ skip, take, sort, group, filter }: State): void; protected updateGridData(): void; static ɵfac: i0.ɵɵFactoryDeclaration<DataBindingDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<DataBindingDirective, "[kendoGridBinding]", ["kendoGridBinding"], { "skip": { "alias": "skip"; "required": false; }; "sort": { "alias": "sort"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "group": { "alias": "group"; "required": false; }; "data": { "alias": "kendoGridBinding"; "required": false; }; }, {}, never, never, true, never>; }