Plugins: move datasource specific meta out of the main meta type (#16803)

This commit is contained in:
Ryan McKinley 2019-04-29 07:38:17 -07:00 committed by GitHub
parent 945cbf4710
commit 7146d576e6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 28 additions and 23 deletions

View File

@ -68,6 +68,24 @@ export class DataSourcePlugin<TOptions = {}, TQuery extends DataQuery = DataQuer
}
}
export interface DataSourcePluginMeta extends PluginMeta {
builtIn?: boolean; // Is this for all
metrics?: boolean;
tables?: boolean;
logs?: boolean;
explore?: boolean;
annotations?: boolean;
mixed?: boolean;
hasQueryHelp?: boolean;
queryOptions?: PluginMetaQueryOptions;
}
interface PluginMetaQueryOptions {
cacheTimeout?: boolean;
maxDataPoints?: boolean;
minInterval?: boolean;
}
export interface DataSourcePluginComponents<TOptions = {}, TQuery extends DataQuery = DataQuery> {
QueryCtrl?: any;
ConfigCtrl?: any;
@ -137,7 +155,11 @@ export interface DataSourceApi<TQuery extends DataQuery = DataQuery> {
* we attach the components to this instance for easy access
*/
components?: DataSourcePluginComponents;
meta?: PluginMeta;
/**
* static information about the datasource
*/
meta?: DataSourcePluginMeta;
}
export interface ExploreDataSourceApi<TQuery extends DataQuery = DataQuery> extends DataSourceApi {
@ -340,7 +362,7 @@ export interface DataSourceInstanceSettings {
id: number;
type: string;
name: string;
meta: PluginMeta;
meta: DataSourcePluginMeta;
url?: string;
jsonData: { [str: string]: any };
username?: string;
@ -359,6 +381,6 @@ export interface DataSourceInstanceSettings {
export interface DataSourceSelectItem {
name: string;
value: string | null;
meta: PluginMeta;
meta: DataSourcePluginMeta;
sort: string;
}

View File

@ -24,23 +24,6 @@ export interface PluginMeta {
// Filled in by the backend
jsonData?: { [str: string]: any };
enabled?: boolean;
// Datasource-specific
builtIn?: boolean;
metrics?: boolean;
tables?: boolean;
logs?: boolean;
explore?: boolean;
annotations?: boolean;
mixed?: boolean;
hasQueryHelp?: boolean;
queryOptions?: PluginMetaQueryOptions;
}
interface PluginMetaQueryOptions {
cacheTimeout?: boolean;
maxDataPoints?: boolean;
minInterval?: boolean;
}
export enum PluginIncludeType {

View File

@ -1,7 +1,7 @@
import config from 'app/core/config';
import 'app/features/plugins/datasource_srv';
import { DatasourceSrv } from 'app/features/plugins/datasource_srv';
import { PluginMeta } from '@grafana/ui/src/types';
import { PluginMeta, DataSourcePluginMeta } from '@grafana/ui/src/types';
// Datasource variable $datasource with current value 'BBB'
const templateSrv = {
@ -26,14 +26,14 @@ describe('datasource_srv', () => {
id: 1,
type: 'b',
name: 'buildIn',
meta: { builtIn: true } as PluginMeta,
meta: { builtIn: true } as DataSourcePluginMeta,
jsonData: {},
},
nonBuildIn: {
id: 2,
type: 'e',
name: 'external1',
meta: { builtIn: false } as PluginMeta,
meta: { builtIn: false } as DataSourcePluginMeta,
jsonData: {},
},
nonExplore: {