plugins.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. }
  25. export interface PluginDashboard {
  26. dashboardId: number;
  27. description: string;
  28. folderId: number;
  29. imported: boolean;
  30. importedRevision: number;
  31. importedUri: string;
  32. importedUrl: string;
  33. path: string;
  34. pluginId: string;
  35. removed: boolean;
  36. revision: number;
  37. slug: string;
  38. title: string;
  39. }
  40. export interface PluginsState {
  41. plugins: Plugin[];
  42. searchQuery: string;
  43. layoutMode: string;
  44. hasFetched: boolean;
  45. dashboards: PluginDashboard[];
  46. isLoadingPluginDashboards: boolean;
  47. }
  48. export interface VariableQueryProps {
  49. query: any;
  50. onChange: (query: any, definition: string) => void;
  51. datasource: any;
  52. templateSrv: any;
  53. }