alert_def.ts 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. ///<reference path="../../headers/common.d.ts" />
  2. var alertSeverityIconMap = {
  3. "ok": "icon-gf-online alert-icon-online",
  4. "warning": "icon-gf-warn alert-icon-warn",
  5. "critical": "icon-gf-critical alert-icon-critical",
  6. };
  7. function getSeverityIconClass(alertState) {
  8. return alertSeverityIconMap[alertState];
  9. }
  10. import {
  11. QueryPartDef,
  12. QueryPart,
  13. } from 'app/core/components/query_part/query_part';
  14. var alertQueryDef = new QueryPartDef({
  15. type: 'query',
  16. params: [
  17. {name: "queryRefId", type: 'string', options: ['A', 'B', 'C', 'D', 'E', 'F']},
  18. {name: "from", type: "string", options: ['1s', '10s', '1m', '5m', '10m', '15m', '1h']},
  19. {name: "to", type: "string", options: ['now']},
  20. ],
  21. defaultParams: ['#A', '5m', 'now', 'avg']
  22. });
  23. var conditionTypes = [
  24. {text: 'Query', value: 'query'},
  25. ];
  26. var evalFunctions = [
  27. {text: 'IS ABOVE', value: 'gt'},
  28. {text: 'IS BELOW', value: 'lt'},
  29. {text: 'IS OUTSIDE RANGE', value: 'outside_range'},
  30. {text: 'IS WITHIN RANGE', value: 'within_range'},
  31. {text: 'HAS NO VALUE' , value: 'no_value'}
  32. ];
  33. var reducerTypes = [
  34. {text: 'avg()', value: 'avg'},
  35. {text: 'min()', value: 'min'},
  36. {text: 'max()', value: 'max'},
  37. {text: 'sum()' , value: 'sum'},
  38. {text: 'count()', value: 'count'},
  39. ];
  40. function createReducerPart(model) {
  41. var def = new QueryPartDef({type: model.type, defaultParams: []});
  42. return new QueryPart(model, def);
  43. }
  44. var severityLevels = [
  45. {text: 'Critical', value: 'critical'},
  46. {text: 'Warning', value: 'warning'},
  47. ];
  48. export default {
  49. alertQueryDef: alertQueryDef,
  50. getSeverityIconClass: getSeverityIconClass,
  51. conditionTypes: conditionTypes,
  52. evalFunctions: evalFunctions,
  53. severityLevels: severityLevels,
  54. reducerTypes: reducerTypes,
  55. createReducerPart: createReducerPart,
  56. };