Menu

Important: This documentation is about an older version. It's relevant only to the release noted, many of the features and functions have been updated or replaced. Please view the current version.

Enterprise Open source

AppPlugin class

Signature

typescript
export declare class AppPlugin<T = KeyValue> extends GrafanaPlugin<AppPluginMeta<T>> 

Import

typescript
import { AppPlugin } from '@grafana/data';

Properties

PropertyModifiersTypeDescription
angularPages{
[component: string]: any;
}
rootComponentClass<AppRootProps<T>>
rootNavNavModel

Methods

MethodModifiersDescription
init(meta)Called after the module has loaded, and before the app is used. This function may be called multiple times on the same instance. The first time, this.meta will be undefined
setComponentsFromLegacyExports(pluginExports)
setRootPage(root, rootNav)Set the component displayed under: /a/${plugin-id}/*If the NavModel is configured, the page will have a managed frame, otheriwse it has full control.NOTE: this structure will change in 7.2+ so that it is managed with a normal react router

angularPages property

Signature

typescript
angularPages?: {
        [component: string]: any;
    };

root property

Signature

typescript
root?: ComponentClass<AppRootProps<T>>;

rootNav property

Signature

typescript
rootNav?: NavModel;

init method

Called after the module has loaded, and before the app is used. This function may be called multiple times on the same instance. The first time, this.meta will be undefined

Signature

typescript
init(meta: AppPluginMeta): void;

Parameters

ParameterTypeDescription
metaAppPluginMeta

Returns:

void

setComponentsFromLegacyExports method

Signature

typescript
setComponentsFromLegacyExports(pluginExports: any): void;

Parameters

ParameterTypeDescription
pluginExportsany

Returns:

void

setRootPage method

Set the component displayed under: /a/${plugin-id}/*

If the NavModel is configured, the page will have a managed frame, otheriwse it has full control.

NOTE: this structure will change in 7.2+ so that it is managed with a normal react router

Signature

typescript
setRootPage(root: ComponentClass<AppRootProps<T>>, rootNav?: NavModel): this;

Parameters

ParameterTypeDescription
rootComponentClass<AppRootProps<T>>
rootNavNavModel

Returns:

this