From 4a9ecd4b6f3302f32ace99e4bfea23f0e4c0037a Mon Sep 17 00:00:00 2001 From: Amardeepsingh Siglani Date: Wed, 12 Jul 2023 08:19:05 -0700 Subject: [PATCH] [Composite monitor] Fixed condition selection of first expression in visual editor (#622) * fixed expression builder Signed-off-by: Amardeepsingh Siglani * fixed chained alerts api call Signed-off-by: Amardeepsingh Siglani * revert api change Signed-off-by: Amardeepsingh Siglani --------- Signed-off-by: Amardeepsingh Siglani --- .../ExpressionBuilder.js | 19 +++++++++++-------- .../DefineCompositeLevelTrigger.js | 6 ++++-- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/public/pages/CreateTrigger/components/CompositeTriggerCondition/ExpressionBuilder.js b/public/pages/CreateTrigger/components/CompositeTriggerCondition/ExpressionBuilder.js index da0c9209b..25a6515fa 100644 --- a/public/pages/CreateTrigger/components/CompositeTriggerCondition/ExpressionBuilder.js +++ b/public/pages/CreateTrigger/components/CompositeTriggerCondition/ExpressionBuilder.js @@ -20,11 +20,11 @@ export const conditionToExpressions = (condition = '', monitors) => { '||': 'OR', '!': 'NOT', '': '', - '&& !': 'AND_NOT', - '|| !': 'OR_NOT', + '&& !': 'AND NOT', + '|| !': 'OR NOT', }; const queryToExpressionRegex = new RegExp( - /( && || \|\| || && \!|| \|\| \!)?(monitor\[id=(.*?)\])/, + /(!|| && || \|\| || && \!|| \|\| \!)?(monitor\[id=(.*?)\])/, 'gm' ); const matcher = condition.matchAll(queryToExpressionRegex); @@ -74,12 +74,15 @@ const ExpressionBuilder = ({ ...DEFAULT_EXPRESSION, description: DEFAULT_CONDITION, }; - const FIRST_EXPRESSION_CONDITIONS_MAP = [{ description: 'NOT', label: 'NOT' }]; + const FIRST_EXPRESSION_CONDITIONS_MAP = [ + { description: '', label: '' }, + { description: 'NOT', label: 'NOT' }, + ]; const EXPRESSION_CONDITIONS_MAP = [ { description: 'AND', label: 'AND' }, { description: 'OR', label: 'OR' }, - { description: 'AND_NOT', label: 'AND NOT' }, - { description: 'OR_NOT', label: 'OR NOT' }, + { description: 'AND NOT', label: 'AND NOT' }, + { description: 'OR NOT', label: 'OR NOT' }, ]; const [usedExpressions, setUsedExpressions] = useState([DEFAULT_EXPRESSION]); @@ -144,8 +147,8 @@ const ExpressionBuilder = ({ OR: '|| ', NOT: '!', '': '', - AND_NOT: '&& !', - OR_NOT: '|| !', + 'AND NOT': '&& !', + 'OR NOT': '|| !', }; const condition = expressions.reduce((query, expression) => { diff --git a/public/pages/CreateTrigger/containers/DefineCompositeLevelTrigger/DefineCompositeLevelTrigger.js b/public/pages/CreateTrigger/containers/DefineCompositeLevelTrigger/DefineCompositeLevelTrigger.js index 4bbace2fb..1df6948a1 100644 --- a/public/pages/CreateTrigger/containers/DefineCompositeLevelTrigger/DefineCompositeLevelTrigger.js +++ b/public/pages/CreateTrigger/containers/DefineCompositeLevelTrigger/DefineCompositeLevelTrigger.js @@ -8,7 +8,7 @@ import PropTypes from 'prop-types'; import _ from 'lodash'; import { EuiSpacer, EuiText, EuiTitle, EuiAccordion, EuiButton } from '@elastic/eui'; import { FormikFieldText, FormikSelect } from '../../../../components/FormControls'; -import { hasError, isInvalid } from '../../../../utils/validate'; +import { hasError, isInvalid, required } from '../../../../utils/validate'; import { DEFAULT_TRIGGER_NAME, SEVERITY_OPTIONS } from '../../utils/constants'; import CompositeTriggerCondition from '../../components/CompositeTriggerCondition/CompositeTriggerCondition'; import TriggerNotifications from './TriggerNotifications'; @@ -110,7 +110,9 @@ class DefineCompositeLevelTrigger extends Component {