diff --git a/packages/grafana-ui/src/types/plugin.ts b/packages/grafana-ui/src/types/plugin.ts index 9abeba583d5..a2ee426dd9f 100644 --- a/packages/grafana-ui/src/types/plugin.ts +++ b/packages/grafana-ui/src/types/plugin.ts @@ -18,3 +18,54 @@ export interface PluginExports { PanelDefaults?: any; } +export interface PluginMeta { + id: string; + name: string; + info: PluginMetaInfo; + includes: PluginInclude[]; + + // Datasource-specific + 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 PluginInclude { + type: string; + name: string; + path: string; +} + +interface PluginMetaInfoLink { + name: string; + url: string; +} + +export interface PluginMetaInfo { + author: { + name: string; + url?: string; + }; + description: string; + links: PluginMetaInfoLink[]; + logos: { + large: string; + small: string; + }; + screenshots: any[]; + updated: string; + version: string; +} + + diff --git a/public/app/features/datasources/state/navModel.ts b/public/app/features/datasources/state/navModel.ts index 19fc422e3b8..49ee4e770c0 100644 --- a/public/app/features/datasources/state/navModel.ts +++ b/public/app/features/datasources/state/navModel.ts @@ -1,4 +1,5 @@ -import { DataSource, NavModel, NavModelItem, PluginMeta } from 'app/types'; +import { DataSource, NavModel, NavModelItem } from 'app/types'; +import { PluginMeta } from '@grafana/ui/src/types'; import config from 'app/core/config'; export function buildNavModel(dataSource: DataSource, pluginMeta: PluginMeta): NavModelItem { diff --git a/public/app/features/plugins/state/navModel.ts b/public/app/features/plugins/state/navModel.ts index f12967ebb7a..e08b8e05adc 100644 --- a/public/app/features/plugins/state/navModel.ts +++ b/public/app/features/plugins/state/navModel.ts @@ -1,5 +1,6 @@ import _ from 'lodash'; -import { DataSource, PluginMeta, NavModel } from 'app/types'; +import { DataSource, NavModel } from 'app/types'; +import { PluginMeta } from '@grafana/ui/src/types'; import config from 'app/core/config'; export function buildNavModel(ds: DataSource, plugin: PluginMeta, currentPage: string): NavModel { diff --git a/public/app/plugins/datasource/loki/datasource.ts b/public/app/plugins/datasource/loki/datasource.ts index eb33c7ef285..d1263d9145f 100644 --- a/public/app/plugins/datasource/loki/datasource.ts +++ b/public/app/plugins/datasource/loki/datasource.ts @@ -2,7 +2,8 @@ import _ from 'lodash'; import * as dateMath from 'app/core/utils/datemath'; import { LogsStream, LogsModel, makeSeriesForLogs } from 'app/core/logs_model'; -import { PluginMeta, DataQuery } from 'app/types'; +import { DataQuery } from 'app/types'; +import { PluginMeta } from '@grafana/ui/src/types'; import { addLabelToSelector } from 'app/plugins/datasource/prometheus/add_label_to_query'; import LanguageProvider from './language_provider'; diff --git a/public/app/plugins/datasource/testdata/QueryEditor.tsx b/public/app/plugins/datasource/testdata/QueryEditor.tsx new file mode 100644 index 00000000000..675d1a74ea8 --- /dev/null +++ b/public/app/plugins/datasource/testdata/QueryEditor.tsx @@ -0,0 +1,12 @@ +import React, { PureComponent } from 'react'; + +interface Props { +} + +export class QueryEditor extends PureComponent { + render() { + return ( +

Test data

+ ); + } +} diff --git a/public/app/types/datasources.ts b/public/app/types/datasources.ts index f2c2478e78b..234085ee49e 100644 --- a/public/app/types/datasources.ts +++ b/public/app/types/datasources.ts @@ -1,6 +1,6 @@ import { LayoutMode } from '../core/components/LayoutSelector/LayoutSelector'; -import { Plugin, PluginMeta } from './plugins'; -import { PluginExports } from '@grafana/ui'; +import { Plugin } from './plugins'; +import { PluginExports, PluginMeta } from '@grafana/ui/src/types'; export interface DataSource { id: number; diff --git a/public/app/types/plugins.ts b/public/app/types/plugins.ts index 632e301613b..cd608dc11e3 100644 --- a/public/app/types/plugins.ts +++ b/public/app/types/plugins.ts @@ -1,4 +1,4 @@ -import { PluginExports } from '@grafana/ui/src/types'; +import { PluginExports, PluginMetaInfo } from '@grafana/ui/src/types'; export interface PanelPlugin { id: string; @@ -11,56 +11,6 @@ export interface PanelPlugin { exports?: PluginExports; } -interface PluginMetaQueryOptions { - cacheTimeout?: boolean; - maxDataPoints?: boolean; - minInterval?: boolean; -} - -export interface PluginMeta { - id: string; - name: string; - info: PluginMetaInfo; - includes: PluginInclude[]; - - // Datasource-specific - metrics?: boolean; - tables?: boolean; - logs?: boolean; - explore?: boolean; - annotations?: boolean; - mixed?: boolean; - hasQueryHelp?: boolean; - queryOptions?: PluginMetaQueryOptions; -} - -export interface PluginInclude { - type: string; - name: string; - path: string; -} - -interface PluginMetaInfoLink { - name: string; - url: string; -} - -export interface PluginMetaInfo { - author: { - name: string; - url?: string; - }; - description: string; - links: PluginMetaInfoLink[]; - logos: { - large: string; - small: string; - }; - screenshots: any[]; - updated: string; - version: string; -} - export interface Plugin { defaultNavUrl: string; enabled: boolean; diff --git a/public/app/types/series.ts b/public/app/types/series.ts index c07e543d8b5..2958ddbaa20 100644 --- a/public/app/types/series.ts +++ b/public/app/types/series.ts @@ -1,5 +1,4 @@ -import { PluginMeta } from './plugins'; -import { TimeSeries, TimeRange, RawTimeRange, PluginExports } from '@grafana/ui'; +import { TimeSeries, TimeRange, RawTimeRange, PluginExports, PluginMeta } from '@grafana/ui/src/types'; export interface DataQueryResponse { data: TimeSeries[];