kibana/x-pack/examples/alerting_example/public/components/create_alert.tsx
Coen Warmer b24cdb1b39
[Chore] Rename getAddAlertFlyout to getAddRuleFlyout (#153082)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2023-03-14 02:20:58 +01:00

42 lines
1.4 KiB
TypeScript

/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/
import React, { useState, useCallback } from 'react';
import { EuiIcon, EuiFlexItem, EuiCard, EuiFlexGroup } from '@elastic/eui';
import { AlertingExampleComponentParams } from '../application';
import { ALERTING_EXAMPLE_APP_ID } from '../../common/constants';
export const CreateAlert = ({
triggersActionsUi: { getAddRuleFlyout: AddRuleFlyout },
}: Pick<AlertingExampleComponentParams, 'triggersActionsUi'>) => {
const [ruleFlyoutVisible, setRuleFlyoutVisibility] = useState<boolean>(false);
const onCloseAlertFlyout = useCallback(
() => setRuleFlyoutVisibility(false),
[setRuleFlyoutVisibility]
);
return (
<EuiFlexGroup>
<EuiFlexItem grow={false}>
<EuiCard
icon={<EuiIcon size="xxl" type={`bell`} />}
title={`Create Rule`}
description="Create a new Rule based on one of our example Rule Types ."
onClick={() => setRuleFlyoutVisibility(true)}
/>
</EuiFlexItem>
<EuiFlexItem>
{ruleFlyoutVisible ? (
<AddRuleFlyout consumer={ALERTING_EXAMPLE_APP_ID} onClose={onCloseAlertFlyout} />
) : null}
</EuiFlexItem>
</EuiFlexGroup>
);
};