@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
TypeScript
/**-----------------------------------------------------------------------------------------
* 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>;
}