Alerting: Allow selecting only ... in groupBy (#80857)

Allow selecting only ... in groupBy
alexz/team-lbac-use-api
Sonia Aguilar 1 year ago committed by GitHub
parent b93567a839
commit 171ba185d3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 5
      public/app/features/alerting/unified/components/rule-editor/alert-rule-form/simplifiedRouting/route-settings/RouteSettings.tsx

@ -45,6 +45,7 @@ export const RoutingSettings = ({ alertManager }: RoutingSettingsProps) => {
const overrideGrouping = watch(`contactPoints.${alertManager}.overrideGrouping`); const overrideGrouping = watch(`contactPoints.${alertManager}.overrideGrouping`);
const overrideTimings = watch(`contactPoints.${alertManager}.overrideTimings`); const overrideTimings = watch(`contactPoints.${alertManager}.overrideTimings`);
const requiredFieldsInGroupBy = ['grafana_folder', 'alertname']; const requiredFieldsInGroupBy = ['grafana_folder', 'alertname'];
const disableGrouping = '...';
const styles = useStyles2(getStyles); const styles = useStyles2(getStyles);
return ( return (
<Stack direction="column"> <Stack direction="column">
@ -72,6 +73,10 @@ export const RoutingSettings = ({ alertManager }: RoutingSettingsProps) => {
if (!value || value.length === 0) { if (!value || value.length === 0) {
return 'At least one group by option is required.'; return 'At least one group by option is required.';
} }
// if value includes only the allowedSingleFieldInGroupBy, it is valid
if (value.length === 1 && value[0] === disableGrouping) {
return true;
}
// we need to make sure that the required fields are included // we need to make sure that the required fields are included
const requiredFieldsIncluded = requiredFieldsInGroupBy.every((field) => value.includes(field)); const requiredFieldsIncluded = requiredFieldsInGroupBy.every((field) => value.includes(field));
if (!requiredFieldsIncluded) { if (!requiredFieldsIncluded) {

Loading…
Cancel
Save