/**----------------------------------------------------------------------------------------- * 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, SimpleChanges, OnChanges } from '@angular/core'; import { ExpandableComponent } from './expandable-component'; import { Subscription } from 'rxjs'; import { TreeItem } from './treeitem.interface'; import { FilterExpandSettings } from './filter-expand-settings.interface'; import * as i0 from "@angular/core"; /** * @hidden */ interface ExpandTreeItem extends TreeItem { expand: boolean; } /** * Represents a directive that manages the expanded state of the TreeView * ([see example](slug:expandedstate_treeview)). * * @example * ```html * * * ``` * * @remarks * Applied to: {@link TreeViewComponent} */ export declare class ExpandDirective implements OnDestroy, OnChanges { protected component: ExpandableComponent; /** * @hidden */ set isExpanded(value: (item: object, index: string) => boolean); /** * Defines the item key stored in the `expandedKeys` collection. */ expandKey: string | ((context: TreeItem) => any); /** * Specifies whether to auto-expand the nodes leading from the root node to each filter result. * To fine-tune this behavior, pass a [`FilterExpandSettings`](slug:api_treeview_filterexpandsettings) object to this input. * @default false */ expandOnFilter: boolean | FilterExpandSettings; get filterExpandSettings(): FilterExpandSettings; /** * Fires when the `expandedKeys` collection updates. */ expandedKeysChange: EventEmitter; /** * Defines the collection that stores the expanded keys. */ expandedKeys: any[]; protected subscriptions: Subscription; /** * Reflects the internal `expandedKeys` state. */ private state; private originalExpandedKeys; private isFiltered; /** * Holds the last emitted `expandedKeys` collection. */ private lastChange; constructor(component: ExpandableComponent); ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; /** * @hidden */ itemKey(e: TreeItem): string; protected toggleExpand({ index, dataItem, expand }: ExpandTreeItem): void; private handleAutoExpand; /** * Fills array with the correct expand keys according to wrapper metadata. */ private updateExpandedNodes; /** * Fills array with the expand key of every node. */ private getEveryExpandKey; private notify; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } export {};