/** * DevExpress Analytics (widgets\treelist\_treelistItem.d.ts) * Version: 25.2.7 * Build date: May 5, 2026 * Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED * License: https://www.devexpress.com/Support/EULAs/universal.xml */ /// import { Observable, Computed, MaybeSubscribable } from 'knockout'; import { CodeResolver } from '../../property-grid/internal/_codeResolver'; import { ISearchOptions } from '../../property-grid/widgets/internal/_utils'; import { IAction, IDataMemberInfo, IItemsProvider } from '../utils'; import { ITreeListController } from './_treelistController'; import { BaseModel, BaseRenderingModel } from '../../serializer/native/models/base.model'; import { PropertyChangedEventArgs, ArrayPropertyChangedEventArgs } from '../../serializer/propertyChangedEvents'; import { ITreeListItemViewModel } from './_treelistItem.viewModel'; import { DxPromise } from '../../core/utils/_jqueryUtils'; export declare const maxSearchLevel: import("../../serializer/_internal").IGlobalSubscribableValue; export interface ITreeListSearchOptions extends ISearchOptions { searchTimeout?: number; searchExpr?: string; searchBoxTemplate?: string; } export declare class TreeListItemStore { private _itemStore; storeItem(item: TreeListItemViewModel): string; getItem(id: string): TreeListItemViewModel; removeItem(id: string): void; } export declare class TreeListItemFactory extends BaseModel implements ITreeListItemFactory { onPropertyChanged(args: PropertyChangedEventArgs | ArrayPropertyChangedEventArgs): void; createRootItem(options: ITreeListOptions, path?: MaybeSubscribable, onItemsVisibilityChanged?: () => void, rtl?: boolean): TreeListRootItemViewModel; createItem(options: ITreeListOptions, path?: string[], onItemsVisibilityChanged?: () => void, rtl?: boolean, resolver?: CodeResolver): TreeListItemViewModel; } export declare let DefaultTreeListItemFactory: typeof TreeListItemFactory; export declare function setDefaultTreeListItemFactory(type: typeof DefaultTreeListItemFactory): void; export interface ITreeListItemFactory { createRootItem: (options: ITreeListOptions, path?: MaybeSubscribable, onItemsVisibilityChanged?: any, rtl?: any) => TreeListRootItemViewModel; createItem: (options: ITreeListOptions, path?: string[], onItemsVisibilityChanged?: any, rtl?: any, resolver?: any) => TreeListItemViewModel; } export interface ITreeListOptions { itemsProvider: IItemsProvider; selectedPath: Observable | Computed | string; subscribeOnDataPropertyChanged?: (item: TreeListItemViewModel, propertyName: keyof IDataMemberInfo, callback: () => void) => () => void; setTreeListChangedEvent?: (callback: (options: ITreeListOptions) => void) => () => void; setSelectedPathChangedEvent?: (callback: (newPath: string) => void) => () => void; setSelectedPath?: (newPath: string) => void; getSelectedPath?: () => string; treeListController: ITreeListController; templateName?: string; loadChildItemsForCollapsedNodes?: boolean; rtl?: boolean; path?: Observable | Observable; onItemsVisibilityChanged?: () => void; expandRootItems?: boolean; pageSize?: number; templateHtml?: string; factory?: ITreeListItemFactory; store?: TreeListItemStore; onItemsChanged?: (items: TreeListItemViewModel[]) => void; } export declare class TreeListEllipsisButton extends BaseRenderingModel { private setMaxItemsCount; private getMaxItemsCount; padding: { [key: string]: number; }; private pageSize; constructor(setMaxItemsCount: (value: number) => void, getMaxItemsCount: () => number, padding: { [key: string]: number; }, pageSize: number); createViewModel(): ITreeListItemViewModel; renderNext(): void; } export declare class TreeListItemViewModel extends BaseRenderingModel { protected resolver: CodeResolver; private _rtl; protected _factory: ITreeListItemFactory; private _pageSize; private _walkCallback; private _actionsSubscriptionDispose; private _itemsSubscriptionDispose; private _filtrationSubscriptionDispose; private _pathSubscriptionDispose; private _dataSubscriptionsDispose; private _subscriptions; private _templateName; private _loadChildItemsForCollapsedNodes; private _subscribeOnDataProperty; _collapsedChangedEvent: (newValue: boolean) => void; private _equal; private _treeListController; private _setSelectedPath; private _getIconName; _getImageClassName(): string; _getImageTemplateName(): string; _getNodeImageClassName(): string; _hasItems(): boolean; _getAttributes(): { [key: string]: string | number; }; _getCssRules(): { [key: string]: boolean; }; _isDraggable(): boolean; _isVisible(): boolean; private _createItemsObj; private _loadItems; private _nodeIsLocked; private _onItemsChangedCallback; protected _onItemsChanged(): void; protected _getTemplateName(): string; _selectItem(itemPath: string): void; private _find; _getItemsWithLock(): DxPromise; _getPadding(level: number): { [key: string]: number; }; private _getLoadChildItemsForCollapsedNodes; _getSelectedItems(): TreeListItemViewModel[]; private _getVisibleItems; private _updataParentItemsVisibilityCount; private _updateVisualProperties; private _updatePath; _getChildViewModels(): ITreeListItemViewModel[]; _reverseCollapsed(): void; constructor(options: ITreeListOptions, path?: MaybeSubscribable, onItemsVisibilityChanged?: () => any, rtl?: boolean, resolver?: CodeResolver); itemsCollectionHasMutated(): void; onPropertyChanged(args: PropertyChangedEventArgs | ArrayPropertyChangedEventArgs): void; updateViewModel(args: PropertyChangedEventArgs | ArrayPropertyChangedEventArgs): void; createViewModel(): ITreeListItemViewModel; dragDropHandler: any; _path: string[]; _onItemsVisibilityChanged: () => void; _showIcon: boolean; parent: TreeListItemViewModel; parentViewModel: ITreeListItemViewModel; visibleItems: TreeListItemViewModel[]; imageClassName: string; showIcon: boolean; imageTemplateName: string; items: Array; actions: IAction[]; maxItemsCount: number; visibleItemsCount: number; collapsed: boolean; isLoaded: boolean; hasItems: boolean; isSelected: boolean; isMultiSelected: boolean; isHovered: boolean; data: IDataMemberInfo; visible: boolean; isFiltred: boolean; path: string; level: number; text: string; id: string; store: TreeListItemStore; get name(): string; pathParts: string[]; templateName: string; actionsTemplate: string; hasContent: boolean; get treeListController(): ITreeListController; itemsProvider: IItemsProvider; toggleCollapsed: (shouldExpand?: boolean) => void; toggleSelected: (_?: any, event?: JQueryEventObject) => void; getItems: () => DxPromise; dispose(): void; templates: { accordionItem: string; headerItem: string; headerItemContent: string; itemTextContent: string; actionsContainer: string; }; } export declare class TreeListRootItemViewModel extends TreeListItemViewModel { private _options; private _resolver; dispose(): void; walkOnTree(walkCallBack: (item: TreeListItemViewModel) => void): { stop: () => void; }; private _visitNextNode; private _selectedPathSubscription; constructor(_options: ITreeListOptions, path?: MaybeSubscribable, onItemsVisibilityChanged?: () => any, rtl?: boolean); _onItemsChanged(): void; }