Skip to content

Commit

Permalink
Provide docs for TelemetryContextProviderProps attributes
Browse files Browse the repository at this point in the history
  • Loading branch information
grigasp committed Feb 12, 2025
1 parent 550b4a6 commit d3e96c4
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 18 deletions.
6 changes: 1 addition & 5 deletions packages/itwin/property-grid/api/property-grid-react.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,9 +132,7 @@ interface PropertyGridActionButtonRendererProps extends ActionButtonRendererProp
export function PropertyGridComponent({ preferencesStorage, onPerformanceMeasured, onFeatureUsed, ...props }: PropertyGridComponentProps): JSX.Element | null;

// @public
export interface PropertyGridComponentProps extends Omit<MultiElementPropertyGridProps, "imodel"> {
onFeatureUsed?: (featureId: UsageTrackedFeatures) => void;
onPerformanceMeasured?: (feature: PerformanceTrackedFeatures, elapsedTime: number) => void;
export interface PropertyGridComponentProps extends Omit<MultiElementPropertyGridProps, "imodel">, TelemetryContextProviderProps {
preferencesStorage?: PreferencesStorage;
}

Expand Down Expand Up @@ -268,9 +266,7 @@ export function TelemetryContextProvider({ onPerformanceMeasured, onFeatureUsed,

// @public (undocumented)
interface TelemetryContextProviderProps {
// (undocumented)
onFeatureUsed?: (featureId: UsageTrackedFeatures) => void;
// (undocumented)
onPerformanceMeasured?: (featureId: PerformanceTrackedFeatures, elapsedTime: number) => void;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,30 +8,20 @@ import { MultiElementPropertyGrid } from "./components/MultiElementPropertyGrid.
import { TelemetryContextProvider } from "./hooks/UseTelemetryContext.js";
import { PreferencesContextProvider } from "./PropertyGridPreferencesContext.js";

import type { PerformanceTrackedFeatures, UsageTrackedFeatures } from "./hooks/UseTelemetryContext.js";
import type { TelemetryContextProviderProps } from "./hooks/UseTelemetryContext.js";
import type { MultiElementPropertyGridProps } from "./components/MultiElementPropertyGrid.js";
import type { PreferencesStorage } from "./api/PreferencesStorage.js";

/**
* Props for `PropertyGridComponent`.
* @public
*/
export interface PropertyGridComponentProps extends Omit<MultiElementPropertyGridProps, "imodel"> {
export interface PropertyGridComponentProps extends Omit<MultiElementPropertyGridProps, "imodel">, TelemetryContextProviderProps {
/**
* Custom storage that should be used for persisting preferences.
* Defaults to `IModelAppUserPreferencesStorage` that uses `IModelApp.userPreferences`.
*/
preferencesStorage?: PreferencesStorage;

/**
* Callback that is invoked when performance of tracked feature is measured.
*/
onPerformanceMeasured?: (feature: PerformanceTrackedFeatures, elapsedTime: number) => void;

/**
* Callback that is invoked when a tracked feature is used.
*/
onFeatureUsed?: (featureId: UsageTrackedFeatures) => void;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,12 @@ const telemetryContext = createContext<TelemetryContext>({
onFeatureUsed: () => {},
});

interface TelemetryContextProviderProps {
/** @public */
export interface TelemetryContextProviderProps {
/** Callback that is invoked when performance of tracked feature is measured. */
onPerformanceMeasured?: (featureId: PerformanceTrackedFeatures, elapsedTime: number) => void;

/** Callback that is invoked when a tracked feature is used. */
onFeatureUsed?: (featureId: UsageTrackedFeatures) => void;
}

Expand Down

0 comments on commit d3e96c4

Please sign in to comment.