plugins.ts 1.2 KB

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