Commit 5c2d3812 by Ryan McKinley Committed by GitHub

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

parent 7146d576
......@@ -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[];
......
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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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 {
......
......@@ -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';
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
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;
......
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;
......
import React from 'react';
import classNames from 'classnames';
import { PanelPluginMeta } from 'app/types/plugins';
import { PanelPluginMeta } from '@grafana/ui';
interface Props {
isCurrent: boolean;
......
......@@ -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';
......
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 = [];
......
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
......
......@@ -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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment