dbbd9f23d1
* Plugin Extensions: Expose PluginMeta generic in usePluginContext * Plugin Extensions: Cast usePluginContext type on return * Plugin Extensions: Fix PluginContext export
21 lines
737 B
TypeScript
21 lines
737 B
TypeScript
import { PropsWithChildren, ReactElement, useMemo } from 'react';
|
|
|
|
import { DataSourceInstanceSettings } from '../../types/datasource';
|
|
|
|
import { PluginContext, DataSourcePluginContextType } from './PluginContext';
|
|
|
|
export type DataSourcePluginContextProviderProps = {
|
|
instanceSettings: DataSourceInstanceSettings;
|
|
};
|
|
|
|
export function DataSourcePluginContextProvider(
|
|
props: PropsWithChildren<DataSourcePluginContextProviderProps>
|
|
): ReactElement {
|
|
const { children, instanceSettings } = props;
|
|
const value: DataSourcePluginContextType = useMemo(() => {
|
|
return { instanceSettings, meta: instanceSettings.meta };
|
|
}, [instanceSettings]);
|
|
|
|
return <PluginContext.Provider value={value}>{children}</PluginContext.Provider>;
|
|
}
|