plugins.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import { AngularPanelPlugin, ReactPanelPlugin, PluginMetaInfo, PluginMeta } from '@grafana/ui/src/types';
  2. export interface PanelPlugin extends PluginMeta {
  3. hideFromList?: boolean;
  4. baseUrl: string;
  5. info: PluginMetaInfo;
  6. sort: number;
  7. angularPlugin: AngularPanelPlugin | null;
  8. reactPlugin: ReactPanelPlugin | null;
  9. hasBeenImported?: boolean;
  10. dataFormats: PanelDataFormat[];
  11. }
  12. export enum PanelDataFormat {
  13. Table = 'table',
  14. TimeSeries = 'time_series',
  15. }
  16. export interface Plugin extends PluginMeta {
  17. defaultNavUrl: string;
  18. hasUpdate: boolean;
  19. latestVersion: string;
  20. pinned: boolean;
  21. }
  22. export interface PluginDashboard {
  23. dashboardId: number;
  24. description: string;
  25. folderId: number;
  26. imported: boolean;
  27. importedRevision: number;
  28. importedUri: string;
  29. importedUrl: string;
  30. path: string;
  31. pluginId: string;
  32. removed: boolean;
  33. revision: number;
  34. slug: string;
  35. title: string;
  36. }
  37. export interface PluginsState {
  38. plugins: Plugin[];
  39. searchQuery: string;
  40. layoutMode: string;
  41. hasFetched: boolean;
  42. dashboards: PluginDashboard[];
  43. isLoadingPluginDashboards: boolean;
  44. }
  45. export interface VariableQueryProps {
  46. query: any;
  47. onChange: (query: any, definition: string) => void;
  48. datasource: any;
  49. templateSrv: any;
  50. }