@itwin/presentation-hierarchies
Version:
A package for creating hierarchies based on data in iTwin.js iModels.
37 lines • 1.63 kB
TypeScript
import { Observable } from "rxjs";
import { Id64String } from "@itwin/core-bentley";
import { ECSqlQueryDef } from "@itwin/presentation-shared";
import { RxjsNodeParser } from "../internal/RxjsHierarchyDefinition.js";
import { SourceInstanceHierarchyNode } from "./IModelHierarchyNode.js";
import { LimitingECSqlQueryExecutor } from "./LimitingECSqlQueryExecutor.js";
import { NodeSelectClauseColumnNames } from "./NodeSelectQueryFactory.js";
interface ReadNodesProps {
queryExecutor: LimitingECSqlQueryExecutor;
query: ECSqlQueryDef;
limit?: number | "unbounded";
parser?: RxjsNodeParser;
}
/** @internal */
export declare function readNodes(props: ReadNodesProps): Observable<SourceInstanceHierarchyNode>;
/**
* The interface should contain a member for each `NodeSelectClauseColumnNames` value.
* @internal
*/
export interface RowDef {
[NodeSelectClauseColumnNames.FullClassName]: string;
[NodeSelectClauseColumnNames.ECInstanceId]: Id64String;
[NodeSelectClauseColumnNames.DisplayLabel]: string;
[NodeSelectClauseColumnNames.HasChildren]?: boolean;
[NodeSelectClauseColumnNames.HideIfNoChildren]?: boolean;
[NodeSelectClauseColumnNames.HideNodeInHierarchy]?: boolean;
[NodeSelectClauseColumnNames.Grouping]?: string;
[NodeSelectClauseColumnNames.ExtendedData]?: string;
[NodeSelectClauseColumnNames.AutoExpand]?: boolean;
[NodeSelectClauseColumnNames.SupportsFiltering]?: boolean;
}
/** @internal */
export declare function defaultNodesParser(row: {
[columnName: string]: any;
}): SourceInstanceHierarchyNode;
export {};
//# sourceMappingURL=TreeNodesReader.d.ts.map