diff --git a/x-pack/plugins/triggers_actions_ui/public/application/components/builtin_alert_types/threshold/expression.tsx b/x-pack/plugins/triggers_actions_ui/public/application/components/builtin_alert_types/threshold/expression.tsx
index 5c7f48de81f75..728418bf3c336 100644
--- a/x-pack/plugins/triggers_actions_ui/public/application/components/builtin_alert_types/threshold/expression.tsx
+++ b/x-pack/plugins/triggers_actions_ui/public/application/components/builtin_alert_types/threshold/expression.tsx
@@ -50,7 +50,7 @@ const DEFAULT_VALUES = {
THRESHOLD_COMPARATOR: COMPARATORS.GREATER_THAN,
TIME_WINDOW_SIZE: 5,
TIME_WINDOW_UNIT: 'm',
- THRESHOLD: [1000, 5000],
+ THRESHOLD: [1000],
GROUP_BY: 'all',
};
diff --git a/x-pack/plugins/triggers_actions_ui/public/application/components/builtin_alert_types/threshold/validation.ts b/x-pack/plugins/triggers_actions_ui/public/application/components/builtin_alert_types/threshold/validation.ts
index 44be2b6139aa4..3912b2fffae1e 100644
--- a/x-pack/plugins/triggers_actions_ui/public/application/components/builtin_alert_types/threshold/validation.ts
+++ b/x-pack/plugins/triggers_actions_ui/public/application/components/builtin_alert_types/threshold/validation.ts
@@ -89,7 +89,7 @@ export const validateExpression = (alertParams: IndexThresholdAlertParams): Vali
})
);
}
- if (!threshold || threshold.length === 0 || (threshold.length === 1 && !threshold[0])) {
+ if (!threshold || threshold.length === 0 || threshold[0] === undefined) {
errors.threshold0.push(
i18n.translate('xpack.triggersActionsUI.sections.addAlert.error.requiredThreshold0Text', {
defaultMessage: 'Threshold0 is required.',
@@ -100,6 +100,7 @@ export const validateExpression = (alertParams: IndexThresholdAlertParams): Vali
thresholdComparator &&
builtInComparators[thresholdComparator].requiredValues > 1 &&
(!threshold ||
+ threshold[1] === undefined ||
(threshold && threshold.length < builtInComparators[thresholdComparator!].requiredValues))
) {
errors.threshold1.push(
diff --git a/x-pack/plugins/triggers_actions_ui/public/common/expression_items/threshold.test.tsx b/x-pack/plugins/triggers_actions_ui/public/common/expression_items/threshold.test.tsx
index bd3c7383d4b9c..92880bd124507 100644
--- a/x-pack/plugins/triggers_actions_ui/public/common/expression_items/threshold.test.tsx
+++ b/x-pack/plugins/triggers_actions_ui/public/common/expression_items/threshold.test.tsx
@@ -15,7 +15,7 @@ describe('threshold expression', () => {
const wrapper = shallow(
@@ -59,7 +59,7 @@ describe('threshold expression', () => {
const wrapper = shallow(
diff --git a/x-pack/plugins/triggers_actions_ui/public/common/expression_items/threshold.tsx b/x-pack/plugins/triggers_actions_ui/public/common/expression_items/threshold.tsx
index ecbf0aee63e2d..d0de7ae77a81e 100644
--- a/x-pack/plugins/triggers_actions_ui/public/common/expression_items/threshold.tsx
+++ b/x-pack/plugins/triggers_actions_ui/public/common/expression_items/threshold.tsx
@@ -105,6 +105,11 @@ export const ThresholdExpression = ({
value={thresholdComparator}
onChange={e => {
onChangeSelectedThresholdComparator(e.target.value);
+ const thresholdValues = threshold.slice(
+ 0,
+ comparators[e.target.value].requiredValues
+ );
+ onChangeSelectedThreshold(thresholdValues);
}}
options={Object.values(comparators).map(({ text, value }) => {
return { text, value };
@@ -123,18 +128,23 @@ export const ThresholdExpression = ({
) : null}
-
+ 0 || !threshold[i]}
+ error={errors[`threshold${i}`]}
+ >
0 || !threshold[i]}
onChange={e => {
const { value } = e.target;
const thresholdVal = value !== '' ? parseFloat(value) : undefined;
const newThreshold = [...threshold];
- if (thresholdVal) {
+ if (thresholdVal !== undefined) {
newThreshold[i] = thresholdVal;
+ } else {
+ delete newThreshold[i];
}
onChangeSelectedThreshold(newThreshold);
}}