plugins.ts 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. export interface PluginExports {
  2. PanelCtrl?;
  3. PanelComponent?: any;
  4. Datasource?: any;
  5. QueryCtrl?: any;
  6. ConfigCtrl?: any;
  7. AnnotationsQueryCtrl?: any;
  8. PanelOptions?: any;
  9. }
  10. export interface PanelPlugin {
  11. id: string;
  12. name: string;
  13. meta: any;
  14. hideFromList: boolean;
  15. module: string;
  16. baseUrl: string;
  17. info: any;
  18. sort: number;
  19. exports?: PluginExports;
  20. }
  21. export interface PluginMeta {
  22. id: string;
  23. name: string;
  24. info: PluginMetaInfo;
  25. includes: PluginInclude[];
  26. }
  27. export interface PluginInclude {
  28. type: string;
  29. name: string;
  30. path: string;
  31. }
  32. export interface PluginMetaInfo {
  33. author: {
  34. name: string;
  35. url: string;
  36. };
  37. description: string;
  38. links: string[];
  39. logos: {
  40. large: string;
  41. small: string;
  42. };
  43. screenshots: string;
  44. updated: string;
  45. version: string;
  46. }
  47. export interface Plugin {
  48. defaultNavUrl: string;
  49. enabled: boolean;
  50. hasUpdate: boolean;
  51. id: string;
  52. info: PluginMetaInfo;
  53. latestVersion: string;
  54. name: string;
  55. pinned: boolean;
  56. state: string;
  57. type: string;
  58. module: any;
  59. }
  60. export interface PluginDashboard {
  61. dashboardId: number;
  62. description: string;
  63. folderId: number;
  64. imported: boolean;
  65. importedRevision: number;
  66. importedUri: string;
  67. importedUrl: string;
  68. path: string;
  69. pluginId: string;
  70. removed: boolean;
  71. revision: number;
  72. slug: string;
  73. title: string;
  74. }
  75. export interface PluginsState {
  76. plugins: Plugin[];
  77. searchQuery: string;
  78. layoutMode: string;
  79. hasFetched: boolean;
  80. dashboards: PluginDashboard[];
  81. }