UNPKG

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