From 41d292c51d95119cac770e1b5e5d80881ce1d0cf Mon Sep 17 00:00:00 2001 From: Alexander Zobnin Date: Fri, 20 Jan 2023 16:51:54 +0100 Subject: [PATCH] Problems: Add operational data field, closes #1260 --- src/datasource/problemsHandler.ts | 1 + src/datasource/types.ts | 1 + src/panel-triggers/components/Problems/Problems.tsx | 10 ++++++++++ src/panel-triggers/module.tsx | 6 ++++++ src/panel-triggers/types.ts | 2 ++ 5 files changed, 20 insertions(+) diff --git a/src/datasource/problemsHandler.ts b/src/datasource/problemsHandler.ts index ce58187..a76248d 100644 --- a/src/datasource/problemsHandler.ts +++ b/src/datasource/problemsHandler.ts @@ -26,6 +26,7 @@ export function joinTriggersWithProblems(problems: ZBXProblem[], triggers: ZBXTr description: p.name || t.description, comments: t.comments, value: t.value, + opdata: p.opdata, groups: t.groups, hosts: t.hosts, items: t.items, diff --git a/src/datasource/types.ts b/src/datasource/types.ts index a0e2665..43859f3 100644 --- a/src/datasource/types.ts +++ b/src/datasource/types.ts @@ -235,6 +235,7 @@ export interface ProblemDTO { proxy?: string; severity?: string; priority?: string; + opdata?: string; acknowledged?: '1' | '0'; acknowledges?: ZBXAcknowledge[]; diff --git a/src/panel-triggers/components/Problems/Problems.tsx b/src/panel-triggers/components/Problems/Problems.tsx index ae275fc..6cc30ab 100644 --- a/src/panel-triggers/components/Problems/Problems.tsx +++ b/src/panel-triggers/components/Problems/Problems.tsx @@ -174,6 +174,7 @@ export default class ProblemList extends PureComponent) { ); } +function OpdataCell(props: RTCell) { + const problem = props.original; + return ( +
+ {problem.opdata} +
+ ); +} + function AgeCell(props: RTCell) { const problem = props.original; const timestamp = moment.unix(problem.timestamp); diff --git a/src/panel-triggers/module.tsx b/src/panel-triggers/module.tsx index dc653ea..3c58917 100644 --- a/src/panel-triggers/module.tsx +++ b/src/panel-triggers/module.tsx @@ -195,6 +195,12 @@ export const plugin = new PanelPlugin(ProblemsPanel) defaultValue: defaultPanelOptions.ageField, category: ['Fields'], }) + .addBooleanSwitch({ + path: 'opdataField', + name: 'Operational data', + defaultValue: defaultPanelOptions.opdataField, + category: ['Fields'], + }) .addBooleanSwitch({ path: 'descriptionField', name: 'Description', diff --git a/src/panel-triggers/types.ts b/src/panel-triggers/types.ts index 7951b0c..c8620d9 100644 --- a/src/panel-triggers/types.ts +++ b/src/panel-triggers/types.ts @@ -16,6 +16,7 @@ export interface ProblemsPanelOptions { severityField?: boolean; ackField?: boolean; ageField?: boolean; + opdataField?: boolean; descriptionField?: boolean; descriptionAtNewLine?: boolean; // Options @@ -66,6 +67,7 @@ export const defaultPanelOptions: Partial = { severityField: true, ackField: true, ageField: false, + opdataField: false, descriptionField: true, descriptionAtNewLine: false, // Options