Skip to content

Commit

Permalink
added cert form
Browse files Browse the repository at this point in the history
  • Loading branch information
shahzad31 committed Apr 16, 2020
1 parent a193f46 commit 3f3ea12
Show file tree
Hide file tree
Showing 3 changed files with 235 additions and 67 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/

import React from 'react';
import { FormattedMessage } from '@kbn/i18n/react';
import { useSelector } from 'react-redux';
import {
EuiDescribedFormGroup,
EuiFormRow,
EuiCode,
EuiFieldNumber,
EuiTitle,
EuiSpacer,
EuiSelect,
EuiFlexGroup,
EuiFlexItem,
} from '@elastic/eui';
import { defaultDynamicSettings } from '../../../common/runtime_types';
import { selectDynamicSettings } from '../../state/selectors';

export const CertificateExpirationForm: React.FC = ({
onChange,
formFields,
fieldErrors,
isDisabled,
}) => {
const dss = useSelector(selectDynamicSettings);

return (
<>
<EuiTitle size="s">
<h3>
<FormattedMessage
id="xpack.uptime.sourceConfiguration.certificationSectionTitle"
defaultMessage="Certificate Expiration"
/>
</h3>
</EuiTitle>
<EuiSpacer size="m" />
<EuiDescribedFormGroup
title={
<h4>
<FormattedMessage
id="xpack.uptime.sourceConfiguration.heartbeatIndicesTitle"
defaultMessage="Uptime indices"
/>
</h4>
}
description={
<FormattedMessage
id="xpack.uptime.sourceConfiguration.heartbeatIndicesDescription"
defaultMessage="Index pattern for matching indices that contain Heartbeat data"
/>
}
>
<EuiFormRow
describedByIds={['heartbeatIndices']}
error={fieldErrors?.heartbeatIndices}
fullWidth
helpText={
<FormattedMessage
id="xpack.uptime.sourceConfiguration.heartbeatIndicesDefaultValue"
defaultMessage="The default value is {defaultValue}"
values={{
defaultValue: <EuiCode>{defaultDynamicSettings.heartbeatIndices}</EuiCode>,
}}
/>
}
isInvalid={!!fieldErrors?.heartbeatIndices}
label={
<FormattedMessage
id="xpack.uptime.sourceConfiguration.heartbeatIndicesLabel"
defaultMessage="Error state"
/>
}
>
<EuiFlexGroup>
<EuiFlexItem grow={2}>
<EuiFieldNumber
data-test-subj={`heartbeat-indices-input-${dss.loading ? 'loading' : 'loaded'}`}
fullWidth
disabled={isDisabled}
isLoading={dss.loading}
value={formFields?.heartbeatIndices || ''}
onChange={(event: any) => onChange('heartbeatIndices', event.currentTarget.value)}
/>
</EuiFlexItem>
<EuiFlexItem grow={1}>
<EuiSelect />
</EuiFlexItem>
</EuiFlexGroup>
</EuiFormRow>
<EuiFormRow
describedByIds={['heartbeatIndices']}
error={fieldErrors?.heartbeatIndices}
fullWidth
helpText={
<FormattedMessage
id="xpack.uptime.sourceConfiguration.heartbeatIndicesDefaultValue"
defaultMessage="The default value is {defaultValue}"
values={{
defaultValue: <EuiCode>{defaultDynamicSettings.heartbeatIndices}</EuiCode>,
}}
/>
}
isInvalid={!!fieldErrors?.heartbeatIndices}
label={
<FormattedMessage
id="xpack.uptime.sourceConfiguration.heartbeatIndicesLabel"
defaultMessage="Warning state"
/>
}
>
<EuiFlexGroup>
<EuiFlexItem grow={2}>
<EuiFieldNumber
data-test-subj={`heartbeat-indices-input-${dss.loading ? 'loading' : 'loaded'}`}
fullWidth
disabled={isDisabled}
isLoading={dss.loading}
value={formFields?.heartbeatIndices || ''}
onChange={(event: any) => onChange('heartbeatIndices', event.currentTarget.value)}
/>
</EuiFlexItem>
<EuiFlexItem grow={1}>
<EuiSelect />
</EuiFlexItem>
</EuiFlexGroup>
</EuiFormRow>
</EuiDescribedFormGroup>
</>
);
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/

import React from 'react';
import { FormattedMessage } from '@kbn/i18n/react';
import { useSelector } from 'react-redux';
import {
EuiDescribedFormGroup,
EuiFormRow,
EuiCode,
EuiFieldText,
EuiTitle,
EuiSpacer,
} from '@elastic/eui';
import { defaultDynamicSettings } from '../../../common/runtime_types';
import { selectDynamicSettings } from '../../state/selectors';

export const IndicesForm: React.FC = ({ onChange, formFields, fieldErrors, isDisabled }) => {
const dss = useSelector(selectDynamicSettings);

return (
<>
<EuiTitle size="s">
<h3>
<FormattedMessage
id="xpack.uptime.sourceConfiguration.indicesSectionTitle"
defaultMessage="Indices"
/>
</h3>
</EuiTitle>
<EuiSpacer size="m" />
<EuiDescribedFormGroup
title={
<h4>
<FormattedMessage
id="xpack.uptime.sourceConfiguration.heartbeatIndicesTitle"
defaultMessage="Uptime indices"
/>
</h4>
}
description={
<FormattedMessage
id="xpack.uptime.sourceConfiguration.heartbeatIndicesDescription"
defaultMessage="Index pattern for matching indices that contain Heartbeat data"
/>
}
>
<EuiFormRow
describedByIds={['heartbeatIndices']}
error={fieldErrors?.heartbeatIndices}
fullWidth
helpText={
<FormattedMessage
id="xpack.uptime.sourceConfiguration.heartbeatIndicesDefaultValue"
defaultMessage="The default value is {defaultValue}"
values={{
defaultValue: <EuiCode>{defaultDynamicSettings.heartbeatIndices}</EuiCode>,
}}
/>
}
isInvalid={!!fieldErrors?.heartbeatIndices}
label={
<FormattedMessage
id="xpack.uptime.sourceConfiguration.heartbeatIndicesLabel"
defaultMessage="Heartbeat indices"
/>
}
>
<EuiFieldText
data-test-subj={`heartbeat-indices-input-${dss.loading ? 'loading' : 'loaded'}`}
fullWidth
disabled={isDisabled}
isLoading={dss.loading}
value={formFields?.heartbeatIndices || ''}
onChange={(event: any) => onChange('heartbeatIndices', event.currentTarget.value)}
/>
</EuiFormRow>
</EuiDescribedFormGroup>
</>
);
};
82 changes: 15 additions & 67 deletions x-pack/legacy/plugins/uptime/public/pages/settings.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,9 @@ import {
EuiButton,
EuiButtonEmpty,
EuiCallOut,
EuiCode,
EuiDescribedFormGroup,
EuiFieldText,
EuiFlexGroup,
EuiFlexItem,
EuiForm,
EuiFormRow,
EuiPanel,
EuiSpacer,
EuiTitle,
Expand All @@ -27,11 +23,13 @@ import { i18n } from '@kbn/i18n';
import { Link } from 'react-router-dom';
import { selectDynamicSettings } from '../state/selectors';
import { getDynamicSettings, setDynamicSettings } from '../state/actions/dynamic_settings';
import { defaultDynamicSettings, DynamicSettings } from '../../common/runtime_types';
import { DynamicSettings } from '../../common/runtime_types';
import { useBreadcrumbs } from '../hooks/use_breadcrumbs';
import { OVERVIEW_ROUTE } from '../../common/constants';
import { useKibana } from '../../../../../../src/plugins/kibana_react/public';
import { UptimePage, useUptimeTelemetry } from '../hooks';
import { IndicesForm } from '../components/settings/indices_form';
import { CertificateExpirationForm } from '../components/settings/certificate_form';

export const SettingsPage = () => {
const dss = useSelector(selectDynamicSettings);
Expand Down Expand Up @@ -117,68 +115,18 @@ export const SettingsPage = () => {
<EuiFlexItem grow={false}>
<form onSubmit={onApply}>
<EuiForm>
<EuiTitle size="s">
<h3>
<FormattedMessage
id="xpack.uptime.sourceConfiguration.indicesSectionTitle"
defaultMessage="Indices"
/>
</h3>
</EuiTitle>
<EuiSpacer size="m" />
<EuiDescribedFormGroup
title={
<h4>
<FormattedMessage
id="xpack.uptime.sourceConfiguration.heartbeatIndicesTitle"
defaultMessage="Uptime indices"
/>
</h4>
}
description={
<FormattedMessage
id="xpack.uptime.sourceConfiguration.heartbeatIndicesDescription"
defaultMessage="Index pattern for matching indices that contain Heartbeat data"
/>
}
>
<EuiFormRow
describedByIds={['heartbeatIndices']}
error={fieldErrors?.heartbeatIndices}
fullWidth
helpText={
<FormattedMessage
id="xpack.uptime.sourceConfiguration.heartbeatIndicesDefaultValue"
defaultMessage="The default value is {defaultValue}"
values={{
defaultValue: (
<EuiCode>{defaultDynamicSettings.heartbeatIndices}</EuiCode>
),
}}
/>
}
isInvalid={!!fieldErrors?.heartbeatIndices}
label={
<FormattedMessage
id="xpack.uptime.sourceConfiguration.heartbeatIndicesLabel"
defaultMessage="Heartbeat indices"
/>
}
>
<EuiFieldText
data-test-subj={`heartbeat-indices-input-${
dss.loading ? 'loading' : 'loaded'
}`}
fullWidth
disabled={isFormDisabled}
isLoading={dss.loading}
value={formFields?.heartbeatIndices || ''}
onChange={(event: any) =>
onChangeFormField('heartbeatIndices', event.currentTarget.value)
}
/>
</EuiFormRow>
</EuiDescribedFormGroup>
<IndicesForm
onChange={onChangeFormField}
formFields={formFields}
fieldErrors={fieldErrors}
isDisabled={isFormDisabled}
/>
<CertificateExpirationForm
onChange={onChangeFormField}
formFields={formFields}
fieldErrors={fieldErrors}
isDisabled={isFormDisabled}
/>

<EuiSpacer size="m" />
<EuiFlexGroup justifyContent="flexEnd" gutterSize="s">
Expand Down

0 comments on commit 3f3ea12

Please sign in to comment.