2022-11-24 13:21:46 +05:30
|
|
|
import { Form, Row } from 'antd';
|
2022-07-14 13:23:15 +05:30
|
|
|
import FormAlertRules from 'container/FormAlertRules';
|
2023-05-19 13:14:32 +05:30
|
|
|
import { useState } from 'react';
|
2022-11-24 13:21:46 +05:30
|
|
|
import { AlertTypes } from 'types/api/alerts/alertTypes';
|
2022-07-14 13:23:15 +05:30
|
|
|
|
2022-11-24 13:21:46 +05:30
|
|
|
import {
|
|
|
|
|
alertDefaults,
|
2022-11-24 18:00:02 +05:30
|
|
|
exceptionAlertDefaults,
|
2022-11-24 13:21:46 +05:30
|
|
|
logAlertDefaults,
|
|
|
|
|
traceAlertDefaults,
|
|
|
|
|
} from './defaults';
|
|
|
|
|
import SelectAlertType from './SelectAlertType';
|
|
|
|
|
|
|
|
|
|
function CreateRules(): JSX.Element {
|
|
|
|
|
const [initValues, setInitValues] = useState(alertDefaults);
|
|
|
|
|
const [step, setStep] = useState(0);
|
|
|
|
|
const [alertType, setAlertType] = useState<AlertTypes>(
|
|
|
|
|
AlertTypes.METRICS_BASED_ALERT,
|
|
|
|
|
);
|
2022-07-14 13:23:15 +05:30
|
|
|
const [formInstance] = Form.useForm();
|
|
|
|
|
|
2022-11-24 13:21:46 +05:30
|
|
|
const onSelectType = (typ: AlertTypes): void => {
|
|
|
|
|
setAlertType(typ);
|
|
|
|
|
switch (typ) {
|
|
|
|
|
case AlertTypes.LOGS_BASED_ALERT:
|
|
|
|
|
setInitValues(logAlertDefaults);
|
|
|
|
|
break;
|
|
|
|
|
case AlertTypes.TRACES_BASED_ALERT:
|
|
|
|
|
setInitValues(traceAlertDefaults);
|
|
|
|
|
break;
|
2022-11-24 18:00:02 +05:30
|
|
|
case AlertTypes.EXCEPTIONS_BASED_ALERT:
|
|
|
|
|
setInitValues(exceptionAlertDefaults);
|
|
|
|
|
break;
|
2022-11-24 13:21:46 +05:30
|
|
|
default:
|
|
|
|
|
setInitValues(alertDefaults);
|
|
|
|
|
}
|
|
|
|
|
setStep(1);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
if (step === 0) {
|
|
|
|
|
return (
|
|
|
|
|
<Row wrap={false}>
|
|
|
|
|
<SelectAlertType onSelect={onSelectType} />
|
|
|
|
|
</Row>
|
|
|
|
|
);
|
|
|
|
|
}
|
2022-07-14 13:23:15 +05:30
|
|
|
return (
|
|
|
|
|
<FormAlertRules
|
2022-11-24 13:21:46 +05:30
|
|
|
alertType={alertType}
|
2022-07-14 13:23:15 +05:30
|
|
|
formInstance={formInstance}
|
2022-11-24 13:21:46 +05:30
|
|
|
initialValue={initValues}
|
2022-07-14 13:23:15 +05:30
|
|
|
ruleId={0}
|
|
|
|
|
/>
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default CreateRules;
|