plugins.ts 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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. /**
  17. * Values we don't want in the public API
  18. */
  19. export interface Plugin extends PluginMeta {
  20. defaultNavUrl: string;
  21. hasUpdate: boolean;
  22. latestVersion: string;
  23. pinned: boolean;
  24. icon?: string;
  25. }
  26. export interface PluginDashboard {
  27. dashboardId: number;
  28. description: string;
  29. folderId: number;
  30. imported: boolean;
  31. importedRevision: number;
  32. importedUri: string;
  33. importedUrl: string;
  34. path: string;
  35. pluginId: string;
  36. removed: boolean;
  37. revision: number;
  38. slug: string;
  39. title: string;
  40. }
  41. export interface PluginsState {
  42. plugins: Plugin[];
  43. searchQuery: string;
  44. layoutMode: string;
  45. hasFetched: boolean;
  46. dashboards: PluginDashboard[];
  47. isLoadingPluginDashboards: boolean;
  48. }
  49. export interface VariableQueryProps {
  50. query: any;
  51. onChange: (query: any, definition: string) => void;
  52. datasource: any;
  53. templateSrv: any;
  54. }