@itwin/presentation-components
Version:
React components based on iTwin.js Presentation library
41 lines • 2.33 kB
TypeScript
import "../common/DisposePolyfill.js";
import { ActiveMatchInfo, DelayLoadedTreeNodeItem, PageOptions, TreeNodeItem } from "@itwin/components-react";
import { IModelConnection } from "@itwin/core-frontend";
import { InstanceFilterDefinition, NodeKey, NodePathElement } from "@itwin/presentation-common";
import { IFilteredPresentationTreeDataProvider, IPresentationTreeDataProvider } from "./IPresentationTreeDataProvider.js";
/** @internal */
export interface FilteredPresentationTreeDataProviderProps {
parentDataProvider: IPresentationTreeDataProvider;
filter: string;
paths: ReadonlyArray<Readonly<NodePathElement>>;
}
/**
* Rules-driven presentation tree data provider that returns filtered results.
* @internal
*/
export declare class FilteredPresentationTreeDataProvider implements IFilteredPresentationTreeDataProvider {
private _parentDataProvider;
private _filteredDataProvider;
private _filter;
private _filteredResultMatches;
constructor(props: FilteredPresentationTreeDataProviderProps);
[Symbol.dispose](): void;
dispose(): void;
get rulesetId(): string;
get imodel(): IModelConnection;
get filter(): string;
get parentDataProvider(): IPresentationTreeDataProvider;
private createHierarchy;
getActiveMatch: (index: number) => ActiveMatchInfo | undefined;
/** Count filtering results. Including multiple possible matches within node labels */
countFilteringResults(nodePaths: ReadonlyArray<Readonly<NodePathElement>>): number;
getNodes(parent?: TreeNodeItem, pageOptions?: PageOptions): Promise<DelayLoadedTreeNodeItem[]>;
getNodesCount(parent?: TreeNodeItem): Promise<number>;
getFilteredNodePaths(filter: string): Promise<NodePathElement[]>;
createRequestOptions(parentKey?: NodeKey, instanceFilter?: InstanceFilterDefinition): import("@itwin/presentation-common").HierarchyRequestOptions<IModelConnection, NodeKey, import("@itwin/presentation-common").RulesetVariable>;
/** @deprecated in 4.0. Use [[isPresentationTreeNodeItem]] and [[PresentationTreeNodeItem.key]] to get [NodeKey]($presentation-common). */
getNodeKey(node: TreeNodeItem): NodeKey;
/** Check if node matches currently applied filter */
nodeMatchesFilter(node: TreeNodeItem): boolean;
}
//# sourceMappingURL=FilteredDataProvider.d.ts.map