@progress/kendo-angular-grid
Version:
Kendo UI Grid for Angular - high performance data grid with paging, filtering, virtualization, CRUD, and more.
72 lines (71 loc) • 3.37 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 { EventEmitter, OnDestroy, OnChanges, SimpleChanges } from '@angular/core';
import { GridComponent } from '../grid.component';
import { Subscription } from 'rxjs';
import { RowArgs } from './common/row-args';
import * as i0 from "@angular/core";
/**
* Controls the expanded state of master detail rows in the Grid.
* Use this directive to manage which detail rows are expanded or collapsed.
* ([see example](slug:master_detail_expanded_state_grid#toc-built-in-directive))
*
* @example
* ```html
* <kendo-grid
* [kendoGridExpandDetailsBy]="expandDetailsKey"
* [expandedDetailKeys]="expandedDetailKeys">
* </kendo-grid>
* ```
* @remarks
* Applied to: {@link GridComponent}.
*/
export declare class ExpandDetailsDirective implements OnChanges, OnDestroy {
protected grid: GridComponent;
/**
* Fires when the `expandedDetailKeys` collection changes.
*/
expandedDetailKeysChange: EventEmitter<any[]>;
/**
* Sets the item key stored in the `expandedDetailKeys` collection.
* Accepts a property name or a function that returns a unique key for each data item.
* ([See example]({% slug master_detail_expanded_state_grid %}#toc-built-in-directive)).
*/
get expandDetailsKey(): string | ((dataItem: any) => any);
set expandDetailsKey(key: string | ((dataItem: any) => any));
/**
* @hidden
* A deprecated alias for setting the `expandDetailsKey` property.
*/
get expandDetailBy(): string | ((dataItem: any) => any);
set expandDetailBy(key: string | ((dataItem: any) => any));
/**
* Holds the collection of expanded detail row keys.
* Set this property to control which detail rows are expanded.
*/
expandedDetailKeys: any[];
/**
* Specifies if detail rows are expanded by default.
* When set to `true`, items in the `expandedDetailKeys` collection are collapsed, and all others are expanded.
* @default false
*/
initiallyExpanded: boolean;
protected expandedState: Set<any>;
protected lastExpandedState: any[];
protected _expandBy: any;
protected subscriptions: Subscription;
constructor(grid: GridComponent);
ngOnChanges(changes: SimpleChanges): void;
ngOnDestroy(): void;
protected get keyGetter(): any;
/**
* @hidden
*/
isExpanded(args: RowArgs): boolean;
private toggleState;
private notifyChange;
static ɵfac: i0.ɵɵFactoryDeclaration<ExpandDetailsDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<ExpandDetailsDirective, "[kendoGridExpandDetailsBy]", ["kendoGridExpandDetailsBy"], { "expandDetailsKey": { "alias": "kendoGridExpandDetailsBy"; "required": false; }; "expandDetailBy": { "alias": "expandDetailBy"; "required": false; }; "expandedDetailKeys": { "alias": "expandedDetailKeys"; "required": false; }; "initiallyExpanded": { "alias": "initiallyExpanded"; "required": false; }; }, { "expandedDetailKeysChange": "expandedDetailKeysChange"; }, never, never, true, never>;
}