panel.ts 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import { LoadingState, TimeSeries, TimeRange } from './series';
  2. export interface PanelProps<T = any> {
  3. timeSeries: TimeSeries[];
  4. timeRange: TimeRange;
  5. loading: LoadingState;
  6. options: T;
  7. renderCounter: number;
  8. width: number;
  9. height: number;
  10. }
  11. export interface PanelOptionsProps<T = any> {
  12. options: T;
  13. onChange: (options: T) => void;
  14. }
  15. export interface PanelSize {
  16. width: number;
  17. height: number;
  18. }
  19. export interface PanelMenuItem {
  20. type?: 'submenu' | 'divider';
  21. text?: string;
  22. iconClassName?: string;
  23. onClick?: () => void;
  24. shortcut?: string;
  25. subMenu?: PanelMenuItem[];
  26. }
  27. export interface Threshold {
  28. index: number;
  29. value: number;
  30. color?: string;
  31. }
  32. export enum MappingType {
  33. ValueToText = 1,
  34. RangeToText = 2,
  35. }
  36. export enum BasicGaugeColor {
  37. Green = '#299c46',
  38. Red = '#d44a3a',
  39. }
  40. interface BaseMap {
  41. id: number;
  42. operator: string;
  43. text: string;
  44. type: MappingType;
  45. }
  46. export interface ValueMap extends BaseMap {
  47. value: string;
  48. }
  49. export interface RangeMap extends BaseMap {
  50. from: string;
  51. to: string;
  52. }