plugins.ts 1.4 KB

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