From 7146d576e623a8b663ea5f66aa350624677408d1 Mon Sep 17 00:00:00 2001 From: Ryan McKinley Date: Mon, 29 Apr 2019 07:38:17 -0700 Subject: [PATCH] Plugins: move datasource specific meta out of the main meta type (#16803) --- packages/grafana-ui/src/types/datasource.ts | 28 +++++++++++++++++-- packages/grafana-ui/src/types/plugin.ts | 17 ----------- .../plugins/specs/datasource_srv.test.ts | 6 ++-- 3 files changed, 28 insertions(+), 23 deletions(-) diff --git a/packages/grafana-ui/src/types/datasource.ts b/packages/grafana-ui/src/types/datasource.ts index 8cd1e652896..f1baa8ad7d0 100644 --- a/packages/grafana-ui/src/types/datasource.ts +++ b/packages/grafana-ui/src/types/datasource.ts @@ -68,6 +68,24 @@ export class DataSourcePlugin { QueryCtrl?: any; ConfigCtrl?: any; @@ -137,7 +155,11 @@ export interface DataSourceApi { * we attach the components to this instance for easy access */ components?: DataSourcePluginComponents; - meta?: PluginMeta; + + /** + * static information about the datasource + */ + meta?: DataSourcePluginMeta; } export interface ExploreDataSourceApi 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; } diff --git a/packages/grafana-ui/src/types/plugin.ts b/packages/grafana-ui/src/types/plugin.ts index f3ab8ba5da2..8eb481e5e9d 100644 --- a/packages/grafana-ui/src/types/plugin.ts +++ b/packages/grafana-ui/src/types/plugin.ts @@ -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 { diff --git a/public/app/features/plugins/specs/datasource_srv.test.ts b/public/app/features/plugins/specs/datasource_srv.test.ts index 614be9c23d8..424bae457a0 100644 --- a/public/app/features/plugins/specs/datasource_srv.test.ts +++ b/public/app/features/plugins/specs/datasource_srv.test.ts @@ -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: {