@itwin/presentation-components
Version:
React components based on iTwin.js Presentation library
46 lines • 1.84 kB
TypeScript
/** @packageDocumentation
* @module Internal
*/
import "../../common/DisposePolyfill.js";
import { PropertyDescription } from "@itwin/appui-abstract";
import { IModelConnection } from "@itwin/core-frontend";
import { SelectOption } from "@itwin/itwinui-react";
import { InstanceKey, LabelDefinition, NavigationPropertyInfo, Ruleset } from "@itwin/presentation-common";
/** @internal */
export interface NavigationPropertyTarget {
label: LabelDefinition;
key: InstanceKey;
}
/** @internal */
export interface NavigationPropertyTargetsResult {
options: NavigationPropertyTarget[];
hasMore: boolean;
}
/** @internal */
export interface UseNavigationPropertyTargetsLoaderProps {
imodel: IModelConnection;
ruleset?: Ruleset;
filterText?: string;
initialSelectedTarget?: string;
}
/** @internal */
export declare function useNavigationPropertyTargetsLoader(props: UseNavigationPropertyTargetsLoaderProps): {
selectOptions: SelectOption<string>[];
loadedOptions: NavigationPropertyTarget[];
isLoading: boolean;
};
/** @internal */
export declare function useNavigationPropertyTargetsRuleset(getNavigationPropertyInfo: (property: PropertyDescription) => Promise<NavigationPropertyInfo | undefined>, property: PropertyDescription): Ruleset | undefined;
/** @internal */
export declare class NavigationPropertyItemsLoader {
private _beforeLoad;
private _onItemsLoaded;
private _loadItems;
private _loadedItems;
private _isLoading;
private _disposed;
constructor(_beforeLoad: () => void, _onItemsLoaded: (newItems: NavigationPropertyTarget[]) => void, _loadItems: (filterText?: string) => Promise<NavigationPropertyTarget[]>);
[Symbol.dispose](): void;
loadItems(filterText?: string): Promise<void>;
}
//# sourceMappingURL=UseNavigationPropertyTargetsLoader.d.ts.map