Plugins: move PanelPluginMeta to grafana/ui (#16804)

This commit is contained in:
Ryan McKinley 2019-04-29 08:17:35 -07:00 committed by GitHub
parent 7146d576e6
commit 5c2d38126d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 36 additions and 40 deletions

View File

@ -2,9 +2,28 @@ import { ComponentClass, ComponentType } from 'react';
import { LoadingState, SeriesData } from './data';
import { TimeRange } from './time';
import { ScopedVars, DataQueryRequest, DataQueryError, LegacyResponseData } from './datasource';
import { PluginMeta } from './plugin';
export type InterpolateFunction = (value: string, scopedVars?: ScopedVars, format?: string | Function) => string;
export interface PanelPluginMeta extends PluginMeta {
hideFromList?: boolean;
sort: number;
angularPlugin: AngularPanelPlugin | null;
vizPlugin: PanelPlugin | null;
hasBeenImported?: boolean;
// if length>0 the query tab will show up
// Before 6.2 this could be table and/or series, but 6.2+ supports both transparently
// so it will be deprecated soon
dataFormats?: PanelDataFormat[];
}
export enum PanelDataFormat {
Table = 'table',
TimeSeries = 'time_series',
}
export interface PanelData {
state: LoadingState;
series: SeriesData[];

View File

@ -1,6 +1,5 @@
import _ from 'lodash';
import { PanelPluginMeta } from 'app/types/plugins';
import { GrafanaTheme, getTheme, GrafanaThemeType, DataSourceInstanceSettings } from '@grafana/ui';
import { GrafanaTheme, getTheme, GrafanaThemeType, PanelPluginMeta, DataSourceInstanceSettings } from '@grafana/ui';
export interface BuildInfo {
version: string;

View File

@ -9,7 +9,7 @@ import config from 'app/core/config';
import { DashboardExporter } from './DashboardExporter';
import { DashboardModel } from '../../state/DashboardModel';
import { DatasourceSrv } from 'app/features/plugins/datasource_srv';
import { PanelPluginMeta } from 'app/types';
import { PanelPluginMeta } from '@grafana/ui';
describe('given dashboard with repeated panels', () => {
let dash: any, exported: any;

View File

@ -4,7 +4,7 @@ import config from 'app/core/config';
import { DashboardModel } from '../../state/DashboardModel';
import DatasourceSrv from 'app/features/plugins/datasource_srv';
import { PanelModel } from 'app/features/dashboard/state';
import { PanelPluginMeta } from 'app/types/plugins';
import { PanelPluginMeta } from '@grafana/ui';
interface Input {
name: string;

View File

@ -17,8 +17,7 @@ import { PanelResizer } from './PanelResizer';
// Types
import { PanelModel, DashboardModel } from '../state';
import { PanelPluginMeta } from 'app/types';
import { AngularPanelPlugin, PanelPlugin } from '@grafana/ui/src/types/panel';
import { PanelPluginMeta, AngularPanelPlugin, PanelPlugin } from '@grafana/ui/src/types/panel';
import { AutoSizer } from 'react-virtualized';
export interface Props {

View File

@ -16,8 +16,7 @@ import config from 'app/core/config';
// Types
import { DashboardModel, PanelModel } from '../state';
import { PanelPluginMeta } from 'app/types';
import { LoadingState, PanelData } from '@grafana/ui';
import { PanelPluginMeta, LoadingState, PanelData } from '@grafana/ui';
import { ScopedVars } from '@grafana/ui';
import templateSrv from 'app/features/templating/template_srv';

View File

@ -6,8 +6,8 @@ import React, { PureComponent } from 'react';
import { AlertBox } from 'app/core/components/AlertBox/AlertBox';
// Types
import { PanelPluginMeta, AppNotificationSeverity } from 'app/types';
import { PanelProps, PanelPlugin, PluginType } from '@grafana/ui';
import { AppNotificationSeverity } from 'app/types';
import { PanelPluginMeta, PanelProps, PanelPlugin, PluginType } from '@grafana/ui';
interface Props {
pluginId: string;

View File

@ -13,9 +13,7 @@ import { AngularComponent } from 'app/core/services/AngularLoader';
import { PanelModel } from '../state/PanelModel';
import { DashboardModel } from '../state/DashboardModel';
import { PanelPluginMeta } from 'app/types/plugins';
import { Tooltip } from '@grafana/ui';
import { PanelPluginMeta, Tooltip } from '@grafana/ui';
interface PanelEditorProps {
panel: PanelModel;

View File

@ -16,9 +16,9 @@ import { FadeIn } from 'app/core/components/Animations/FadeIn';
// Types
import { PanelModel } from '../state';
import { DashboardModel } from '../state';
import { PanelPluginMeta } from 'app/types/plugins';
import { VizPickerSearch } from './VizPickerSearch';
import PluginStateinfo from 'app/features/plugins/PluginStateInfo';
import { PanelPluginMeta } from '@grafana/ui';
interface Props {
panel: PanelModel;

View File

@ -1,8 +1,7 @@
import React, { PureComponent } from 'react';
import { FilterInput } from 'app/core/components/FilterInput/FilterInput';
import { PanelPluginMeta } from 'app/types';
import { PanelPluginMeta } from '@grafana/ui';
interface Props {
plugin: PanelPluginMeta;

View File

@ -1,9 +1,8 @@
import React, { PureComponent } from 'react';
import config from 'app/core/config';
import { PanelPluginMeta } from 'app/types/plugins';
import VizTypePickerPlugin from './VizTypePickerPlugin';
import { EmptySearchResult } from '@grafana/ui';
import { PanelPluginMeta, EmptySearchResult } from '@grafana/ui';
export interface Props {
current: PanelPluginMeta;

View File

@ -1,6 +1,6 @@
import React from 'react';
import classNames from 'classnames';
import { PanelPluginMeta } from 'app/types/plugins';
import { PanelPluginMeta } from '@grafana/ui';
interface Props {
isCurrent: boolean;

View File

@ -6,8 +6,7 @@ import { Emitter } from 'app/core/utils/emitter';
import { getNextRefIdChar } from 'app/core/utils/query';
// Types
import { DataQuery, Threshold, ScopedVars, DataQueryResponseData } from '@grafana/ui';
import { PanelPluginMeta } from 'app/types';
import { PanelPluginMeta, DataQuery, Threshold, ScopedVars, DataQueryResponseData } from '@grafana/ui';
import config from 'app/core/config';
import { PanelQueryRunner } from './PanelQueryRunner';

View File

@ -1,5 +1,5 @@
import { Plugin, PanelPluginMeta, PanelDataFormat } from 'app/types';
import { PluginType } from '@grafana/ui';
import { Plugin } from 'app/types';
import { PanelPluginMeta, PluginType, PanelDataFormat } from '@grafana/ui';
export const getMockPlugins = (amount: number): Plugin[] => {
const plugins = [];

View File

@ -1,18 +1,4 @@
import { AngularPanelPlugin, PanelPlugin, PluginMeta } from '@grafana/ui/src/types';
export interface PanelPluginMeta extends PluginMeta {
hideFromList?: boolean;
sort: number;
angularPlugin: AngularPanelPlugin | null;
vizPlugin: PanelPlugin | null;
hasBeenImported?: boolean;
dataFormats: PanelDataFormat[];
}
export enum PanelDataFormat {
Table = 'table',
TimeSeries = 'time_series',
}
import { PluginMeta } from '@grafana/ui';
/**
* Values we don't want in the public API

View File

@ -3,8 +3,7 @@ import config from 'app/core/config';
import * as dateMath from 'app/core/utils/datemath';
import { angularMocks, sinon } from '../lib/common';
import { PanelModel } from 'app/features/dashboard/state/PanelModel';
import { PanelPluginMeta } from 'app/types';
import { RawTimeRange } from '@grafana/ui/src/types';
import { PanelPluginMeta, RawTimeRange } from '@grafana/ui';
export function ControllerTestContext(this: any) {
const self = this;