mirror of
https://github.com/grafana/grafana.git
synced 2025-09-22 20:02:52 +08:00
38 lines
1.1 KiB
TypeScript
38 lines
1.1 KiB
TypeScript
import React from 'react';
|
|
|
|
import { Alert } from '@grafana/ui';
|
|
import { AlertManagerCortexConfig } from 'app/plugins/datasource/alertmanager/types';
|
|
|
|
import { generateCopiedName } from '../../utils/duplicate';
|
|
import { updateDefinesWithUniqueValue } from '../../utils/templates';
|
|
|
|
import { TemplateForm } from './TemplateForm';
|
|
|
|
interface Props {
|
|
templateName: string;
|
|
config: AlertManagerCortexConfig;
|
|
alertManagerSourceName: string;
|
|
}
|
|
|
|
export const DuplicateTemplateView = ({ config, templateName, alertManagerSourceName }: Props) => {
|
|
const template = config.template_files?.[templateName];
|
|
|
|
if (!template) {
|
|
return (
|
|
<Alert severity="error" title="Template not found">
|
|
Sorry, this template does not seem to exists.
|
|
</Alert>
|
|
);
|
|
}
|
|
|
|
const duplicatedName = generateCopiedName(templateName, Object.keys(config.template_files));
|
|
|
|
return (
|
|
<TemplateForm
|
|
alertManagerSourceName={alertManagerSourceName}
|
|
config={config}
|
|
existing={{ name: duplicatedName, content: updateDefinesWithUniqueValue(template) }}
|
|
/>
|
|
);
|
|
};
|