@lucasheight/kendo-grid-state
Version:
A helper library that implements a directive to manage grid state during session or between sessions for Progress Kendo UI for Angular Grid.
54 lines (53 loc) • 2.88 kB
TypeScript
import { OnInit, EventEmitter, OnDestroy, AfterContentInit } from "@angular/core";
import { GridComponent, DataStateChangeEvent } from "@progress/kendo-angular-grid";
import { CompositeFilterDescriptor, SortDescriptor, GroupDescriptor } from "@progress/kendo-data-query";
import { IGridState } from "./GridState";
import { StorageService } from "./StorageService";
import * as i0 from "@angular/core";
export declare class GridStateDirective implements OnInit, OnDestroy, AfterContentInit {
private grid;
private storageService;
/**tracks subscriptions*/
private subs;
/**tracks the expanded rows*/
private _expandedRows;
get expandedRows(): any[];
set expandedRows(val: any[]);
expandedRowsChange: EventEmitter<any[]>;
/**Emitter for when persisted state is ready*/
stateReady: EventEmitter<DataStateChangeEvent>;
filter: CompositeFilterDescriptor;
/**Emitter for when filter state is hydrated */
filterChange: EventEmitter<CompositeFilterDescriptor>;
/**gridState key: required*/
gridState: string;
sort: Array<SortDescriptor>;
/**Emitter for when sort state is hydrated */
sortChange: EventEmitter<Array<SortDescriptor>>;
skip?: number;
/**Emitter for when skip state is hydrated */
skipChange: EventEmitter<number>;
group?: Array<GroupDescriptor>;
/**Emitter for when group state is hydrated */
groupChange: EventEmitter<Array<GroupDescriptor>>;
take?: number;
/**Emitter for when take state is hydrated */
takeChange: EventEmitter<number>;
/**Session storage type: defaults to session */
constructor(grid: GridComponent, storageService: StorageService);
private expander;
private get key();
/**Gets the IGridState object from storage */
get state(): IGridState;
/**Sets the IGridState object to storage */
set state(val: IGridState);
get initState(): DataStateChangeEvent;
ngOnInit(): void;
private colMapper;
ngAfterContentInit(): void;
unload(e: any): void;
private saveState;
ngOnDestroy(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<GridStateDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<GridStateDirective, "kendo-grid[gridState]", never, { "expandedRows": { "alias": "expandedRows"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "gridState": { "alias": "gridState"; "required": false; }; "sort": { "alias": "sort"; "required": false; }; "skip": { "alias": "skip"; "required": false; }; "group": { "alias": "group"; "required": false; }; "take": { "alias": "take"; "required": false; }; }, { "expandedRowsChange": "expandedRowsChange"; "stateReady": "stateReady"; "filterChange": "filterChange"; "sortChange": "sortChange"; "skipChange": "skipChange"; "groupChange": "groupChange"; "takeChange": "takeChange"; }, never, never, false, never>;
}