index.ts 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. //
  2. // Location
  3. //
  4. export interface LocationUpdate {
  5. path?: string;
  6. query?: UrlQueryMap;
  7. routeParams?: UrlQueryMap;
  8. }
  9. export interface LocationState {
  10. url: string;
  11. path: string;
  12. query: UrlQueryMap;
  13. routeParams: UrlQueryMap;
  14. }
  15. export type UrlQueryValue = string | number | boolean | string[] | number[] | boolean[];
  16. export type UrlQueryMap = { [s: string]: UrlQueryValue };
  17. //
  18. // Alerting
  19. //
  20. export interface AlertRuleApi {
  21. id: number;
  22. dashboardId: number;
  23. dashboardUid: string;
  24. dashboardSlug: string;
  25. panelId: number;
  26. name: string;
  27. state: string;
  28. newStateDate: string;
  29. evalDate: string;
  30. evalData?: object;
  31. executionError: string;
  32. url: string;
  33. }
  34. export interface AlertRule {
  35. id: number;
  36. dashboardId: number;
  37. panelId: number;
  38. name: string;
  39. state: string;
  40. stateText: string;
  41. stateIcon: string;
  42. stateClass: string;
  43. stateAge: string;
  44. url: string;
  45. info?: string;
  46. executionError?: string;
  47. evalData?: { noData: boolean };
  48. }
  49. //
  50. // NavModel
  51. //
  52. export interface NavModelItem {
  53. text: string;
  54. url: string;
  55. subTitle?: string;
  56. icon?: string;
  57. img?: string;
  58. id: string;
  59. active?: boolean;
  60. hideFromTabs?: boolean;
  61. divider?: boolean;
  62. children?: NavModelItem[];
  63. breadcrumbs?: NavModelItem[];
  64. target?: string;
  65. parentItem?: NavModelItem;
  66. }
  67. export interface NavModel {
  68. main: NavModelItem;
  69. node: NavModelItem;
  70. }
  71. export type NavIndex = { [s: string]: NavModelItem };
  72. //
  73. // Store
  74. //
  75. export interface AlertRulesState {
  76. items: AlertRule[];
  77. searchQuery: string;
  78. }
  79. export interface StoreState {
  80. navIndex: NavIndex;
  81. location: LocationState;
  82. alertRules: AlertRulesState;
  83. }