diff --git a/src/panel-triggers/components/Problems.tsx b/src/panel-triggers/components/Problems.tsx index 4835cdd..9d079ed 100644 --- a/src/panel-triggers/components/Problems.tsx +++ b/src/panel-triggers/components/Problems.tsx @@ -96,7 +96,7 @@ export class ProblemList extends PureComponent problem.priority, id: 'severity', - Cell: props => SeverityCell(props, options.triggerSeverity), + Cell: props => SeverityCell(props, options.triggerSeverity, options.markAckEvents, options.ackEventColor), }, { Header: '', id: 'statusIcon', show: options.statusIcon, className: 'problem-status-icon', width: 50, @@ -169,10 +169,19 @@ export class ProblemList extends PureComponent, problemSeverityDesc: TriggerSeverity[]) { +function SeverityCell(props: RTCell, problemSeverityDesc: TriggerSeverity[], markAckEvents?: boolean, ackEventColor?: string) { + const problem = props.original; + let color: string; const severityDesc = _.find(problemSeverityDesc, s => s.priority === Number(props.original.priority)); + color = severityDesc.color; + + // Mark acknowledged triggers with different color + if (markAckEvents && problem.acknowledges && problem.acknowledges.length) { + color = ackEventColor; + } + return ( -
+
{severityDesc.severity}
); diff --git a/src/panel-triggers/triggers_panel_ctrl.js b/src/panel-triggers/triggers_panel_ctrl.js index aaa7f8e..4ec90d3 100644 --- a/src/panel-triggers/triggers_panel_ctrl.js +++ b/src/panel-triggers/triggers_panel_ctrl.js @@ -66,7 +66,8 @@ export const PANEL_DEFAULTS = { // Triggers severity and colors triggerSeverity: DEFAULT_SEVERITY, okEventColor: 'rgb(56, 189, 113)', - ackEventColor: 'rgb(56, 219, 156)' + ackEventColor: 'rgb(56, 219, 156)', + markAckEvents: false, }; const triggerStatusMap = { diff --git a/src/panel-triggers/types.ts b/src/panel-triggers/types.ts index 500d772..883a954 100644 --- a/src/panel-triggers/types.ts +++ b/src/panel-triggers/types.ts @@ -38,6 +38,7 @@ export interface ProblemsPanelOptions { triggerSeverity?: TriggerSeverity[]; okEventColor?: TriggerColor; ackEventColor?: TriggerColor; + markAckEvents?: boolean; } export interface ProblemsPanelTarget {