@itwin/presentation-components
Version:
React components based on iTwin.js Presentation library
47 lines • 2.22 kB
TypeScript
/**
* @packageDocumentation
* @module Properties
*/
import { PropsWithChildren } from "react";
import { PropertyDescription } from "@itwin/appui-abstract";
import { IModelConnection } from "@itwin/core-frontend";
import { NavigationPropertyInfo } from "@itwin/presentation-common";
import { IContentDataProvider } from "../../common/ContentDataProvider.js";
/**
* A context providing necessary information for [[NavigationPropertyEditor]].
* @internal
*/
export interface NavigationPropertyEditorContext {
/** iModel connection to pull data from. */
imodel: IModelConnection;
/** Getter to get [NavigationPropertyInfo]($presentation-common) for specific property. */
getNavigationPropertyInfo: (property: PropertyDescription) => Promise<NavigationPropertyInfo | undefined>;
}
/**
* Props for [[NavigationPropertyEditorContextProvider]].
* @public
*/
export interface NavigationPropertyEditorContextProviderProps {
/** iModel connection to pull data from. */
imodel: IModelConnection;
/** Getter to get [NavigationPropertyInfo]($presentation-common) for specific property. */
getNavigationPropertyInfo: (property: PropertyDescription) => Promise<NavigationPropertyInfo | undefined>;
}
/**
* Creates context that supplies necessary navigation property-related information for [[NavigationPropertyEditor]].
* @public
*/
export declare function NavigationPropertyEditorContextProvider({ children, ...props }: PropsWithChildren<NavigationPropertyEditorContextProviderProps>): import("react/jsx-runtime").JSX.Element;
/**
* Returns context provided by [[NavigationPropertyEditorContextProvider]]. The context is required for rendering [[NavigationPropertyEditor]] with editable
* navigation property values.
*
* @internal
*/
export declare function useNavigationPropertyEditorContext(): NavigationPropertyEditorContext | undefined;
/**
* Custom hook that creates props for [[NavigationPropertyEditorContextProvider]].
* @public
*/
export declare function useNavigationPropertyEditorContextProviderProps(imodel: IModelConnection, dataProvider: IContentDataProvider): NavigationPropertyEditorContextProviderProps;
//# sourceMappingURL=NavigationPropertyEditorContext.d.ts.map