diff --git a/packages/grafana-data/src/types/datasource.ts b/packages/grafana-data/src/types/datasource.ts index 74a6d8cddc3..af3e50a3443 100644 --- a/packages/grafana-data/src/types/datasource.ts +++ b/packages/grafana-data/src/types/datasource.ts @@ -34,7 +34,7 @@ export class DataSourcePlugin< DSType extends DataSourceApi, TQuery extends DataQuery = DataSourceQueryType, TOptions extends DataSourceJsonData = DataSourceOptionsType -> extends GrafanaPlugin { +> extends GrafanaPlugin> { components: DataSourcePluginComponents = {}; constructor(public DataSourceClass: DataSourceConstructor) { @@ -108,7 +108,7 @@ export class DataSourcePlugin< } } -export interface DataSourcePluginMeta extends PluginMeta { +export interface DataSourcePluginMeta extends PluginMeta { builtIn?: boolean; // Is this for all metrics?: boolean; logs?: boolean; diff --git a/packages/grafana-data/src/types/plugin.ts b/packages/grafana-data/src/types/plugin.ts index 259f9b28667..838787aadca 100644 --- a/packages/grafana-data/src/types/plugin.ts +++ b/packages/grafana-data/src/types/plugin.ts @@ -13,7 +13,7 @@ export enum PluginType { renderer = 'renderer', } -export interface PluginMeta { +export interface PluginMeta { id: string; name: string; type: PluginType; @@ -108,12 +108,12 @@ export interface PluginMetaInfo { version: string; } -export interface PluginConfigPageProps { - plugin: T; +export interface PluginConfigPageProps { + plugin: GrafanaPlugin; query: KeyValue; // The URL query parameters } -export interface PluginConfigPage { +export interface PluginConfigPage { title: string; // Display icon?: string; id: string; // Unique, in URL @@ -132,10 +132,10 @@ export class GrafanaPlugin { angularConfigCtrl?: any; // Show configuration tabs on the plugin page - configPages?: Array>; + configPages?: Array>; // Tabs on the plugin page - addConfigPage(tab: PluginConfigPage) { + addConfigPage(tab: PluginConfigPage) { if (!this.configPages) { this.configPages = []; } diff --git a/public/app/plugins/app/example-app/config/ExamplePage1.tsx b/public/app/plugins/app/example-app/config/ExamplePage1.tsx index 6674b19f3e1..6b3d229fe04 100644 --- a/public/app/plugins/app/example-app/config/ExamplePage1.tsx +++ b/public/app/plugins/app/example-app/config/ExamplePage1.tsx @@ -2,9 +2,10 @@ import React, { PureComponent } from 'react'; // Types -import { PluginConfigPageProps, AppPlugin } from '@grafana/data'; +import { PluginConfigPageProps, AppPluginMeta } from '@grafana/data'; +import { ExampleAppSettings } from '../types'; -interface Props extends PluginConfigPageProps {} +interface Props extends PluginConfigPageProps> {} export class ExamplePage1 extends PureComponent { constructor(props: Props) { diff --git a/public/app/plugins/app/example-app/config/ExamplePage2.tsx b/public/app/plugins/app/example-app/config/ExamplePage2.tsx index 70e51c66cc3..8350dfec1c6 100644 --- a/public/app/plugins/app/example-app/config/ExamplePage2.tsx +++ b/public/app/plugins/app/example-app/config/ExamplePage2.tsx @@ -2,9 +2,10 @@ import React, { PureComponent } from 'react'; // Types -import { PluginConfigPageProps, AppPlugin } from '@grafana/data'; +import { PluginConfigPageProps, AppPluginMeta } from '@grafana/data'; +import { ExampleAppSettings } from '../types'; -interface Props extends PluginConfigPageProps {} +interface Props extends PluginConfigPageProps> {} export class ExamplePage2 extends PureComponent { constructor(props: Props) { diff --git a/public/app/plugins/datasource/testdata/TestInfoTab.tsx b/public/app/plugins/datasource/testdata/TestInfoTab.tsx index 0a8b7a1130c..9ed37c91ea9 100644 --- a/public/app/plugins/datasource/testdata/TestInfoTab.tsx +++ b/public/app/plugins/datasource/testdata/TestInfoTab.tsx @@ -2,10 +2,9 @@ import React, { PureComponent } from 'react'; // Types -import { PluginConfigPageProps, DataSourcePlugin } from '@grafana/data'; -import { TestDataDataSource } from './datasource'; +import { PluginConfigPageProps, DataSourcePluginMeta, DataSourceJsonData } from '@grafana/data'; -interface Props extends PluginConfigPageProps> {} +interface Props extends PluginConfigPageProps> {} export class TestInfoTab extends PureComponent { constructor(props: Props) {