Files
grafana/public/app/features/alerting/unified/components/receivers/EditReceiverView.tsx
2021-05-06 12:32:45 +03:00

30 lines
1.1 KiB
TypeScript

import { InfoBox } from '@grafana/ui';
import { AlertManagerCortexConfig } from 'app/plugins/datasource/alertmanager/types';
import React, { FC } from 'react';
import { GRAFANA_RULES_SOURCE_NAME } from '../../utils/datasource';
import { CloudReceiverForm } from './form/CloudReceiverForm';
import { GrafanaReceiverForm } from './form/GrafanaReceiverForm';
interface Props {
receiverName: string;
config: AlertManagerCortexConfig;
alertManagerSourceName: string;
}
export const EditReceiverView: FC<Props> = ({ config, receiverName, alertManagerSourceName }) => {
const receiver = config.alertmanager_config.receivers?.find(({ name }) => name === receiverName);
if (!receiver) {
return (
<InfoBox severity="error" title="Receiver not found">
Sorry, this receiver does not seem to exit.
</InfoBox>
);
}
if (alertManagerSourceName === GRAFANA_RULES_SOURCE_NAME) {
return <GrafanaReceiverForm config={config} alertManagerSourceName={alertManagerSourceName} existing={receiver} />;
} else {
return <CloudReceiverForm config={config} alertManagerSourceName={alertManagerSourceName} existing={receiver} />;
}
};