/**----------------------------------------------------------------------------------------- * 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 { ContextService } from './common/provider.service'; import * as i0 from "@angular/core"; /** * A directive that handles in-memory data operations like [paging]({% slug paging_grid %}), * [sorting]({% slug sorting_grid %}), and [grouping]({% slug grouping_grid %}). * * Use this directive with local data and enable the Grid data operations with minimal configuration. * ([More information and examples]({% slug local_data_grid %}#toc-using-the-data-binding-directive)). * * @example * ```html * * ``` * @remarks * Applied to: {@link GridComponent}. */ export declare class DataBindingDirective implements OnInit, OnDestroy, DoCheck, OnChanges { protected grid: GridComponent; protected changeDetector?: ChangeDetectorRef; protected localDataChangesService?: LocalDataChangesService; private rowReorderService?; /** * Sets the number of records to skip in the Grid. * * @default 0 */ set skip(value: number); /** * Sets the sort descriptors for the Grid data. * */ set sort(value: SortDescriptor[]); /** * Sets the filter descriptor for the Grid data. * */ set filter(value: CompositeFilterDescriptor); /** * Sets the page size for the Grid pager. * */ set pageSize(value: number); /** * Sets the group descriptors for the Grid data. * */ set group(value: GroupDescriptor[]); /** * Sets the data array for 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, ctx?: ContextService); /** * @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; static ɵdir: i0.ɵɵDirectiveDeclaration; }