Skip to content

Commit 0100fd4

Browse files
committed
Move setup steps to shared components directory
1 parent 4a54e68 commit 0100fd4

File tree

18 files changed

+232
-221
lines changed

18 files changed

+232
-221
lines changed

x-pack/legacy/plugins/infra/public/components/logging/log_analysis_setup/index.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,10 @@
44
* you may not use this file except in compliance with the Elastic License.
55
*/
66

7+
export * from './setup_page';
8+
9+
export * from './initial_configuration_step';
10+
export * from './process_step';
11+
712
export * from './ml_unavailable_prompt';
813
export * from './setup_status_unknown_prompt';
Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,9 @@ import { EuiCode, EuiDescribedFormGroup, EuiFormRow, EuiCheckbox, EuiToolTip } f
88
import { i18n } from '@kbn/i18n';
99
import { FormattedMessage } from '@kbn/i18n/react';
1010
import React, { useCallback, useMemo } from 'react';
11-
import {
12-
ValidatedIndex,
13-
ValidationIndicesUIError,
14-
} from '../../../../../containers/logs/log_analysis/log_analysis_setup_state';
15-
import { LoadingOverlayWrapper } from '../../../../../components/loading_overlay_wrapper';
11+
12+
import { LoadingOverlayWrapper } from '../../../loading_overlay_wrapper';
13+
import { ValidatedIndex, ValidationIndicesUIError } from './validation';
1614

1715
export const AnalysisSetupIndicesForm: React.FunctionComponent<{
1816
indices: ValidatedIndex[];
@@ -61,12 +59,10 @@ export const AnalysisSetupIndicesForm: React.FunctionComponent<{
6159
<EuiDescribedFormGroup
6260
idAria="indices"
6361
title={
64-
<h3>
65-
<FormattedMessage
66-
id="xpack.infra.analysisSetup.indicesSelectionTitle"
67-
defaultMessage="Choose indices"
68-
/>
69-
</h3>
62+
<FormattedMessage
63+
id="xpack.infra.analysisSetup.indicesSelectionTitle"
64+
defaultMessage="Choose indices"
65+
/>
7066
}
7167
description={
7268
<FormattedMessage
Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import { FormattedMessage } from '@kbn/i18n/react';
1717
import moment, { Moment } from 'moment';
1818
import React, { useMemo } from 'react';
1919

20-
import { euiStyled } from '../../../../../../../../common/eui_styled_components';
20+
import { euiStyled } from '../../../../../../../common/eui_styled_components';
2121

2222
const startTimeLabel = i18n.translate('xpack.infra.analysisSetup.startTimeLabel', {
2323
defaultMessage: 'Start time',
@@ -63,12 +63,10 @@ export const AnalysisSetupTimerangeForm: React.FunctionComponent<{
6363
<EuiDescribedFormGroup
6464
idAria="timeRange"
6565
title={
66-
<h3>
67-
<FormattedMessage
68-
id="xpack.infra.analysisSetup.timeRangeTitle"
69-
defaultMessage="Choose a time range"
70-
/>
71-
</h3>
66+
<FormattedMessage
67+
id="xpack.infra.analysisSetup.timeRangeTitle"
68+
defaultMessage="Choose a time range"
69+
/>
7270
}
7371
description={
7472
<FormattedMessage
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@
55
*/
66

77
export * from './initial_configuration_step';
8+
export * from './validation';
Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,14 @@
55
*/
66

77
import { EuiSpacer, EuiForm, EuiCallOut } from '@elastic/eui';
8+
import { EuiContainedStepProps } from '@elastic/eui/src/components/steps/steps';
89
import { i18n } from '@kbn/i18n';
910
import { FormattedMessage } from '@kbn/i18n/react';
1011
import React from 'react';
1112

1213
import { AnalysisSetupIndicesForm } from './analysis_setup_indices_form';
1314
import { AnalysisSetupTimerangeForm } from './analysis_setup_timerange_form';
14-
import {
15-
ValidatedIndex,
16-
ValidationIndicesUIError,
17-
} from '../../../../../containers/logs/log_analysis/log_analysis_setup_state';
15+
import { ValidatedIndex, ValidationIndicesUIError } from './validation';
1816

1917
interface InitialConfigurationStepProps {
2018
setStartTime: (startTime: number | undefined) => void;
@@ -27,6 +25,13 @@ interface InitialConfigurationStepProps {
2725
validationErrors?: ValidationIndicesUIError[];
2826
}
2927

28+
export const createInitialConfigurationStep = (
29+
props: InitialConfigurationStepProps
30+
): EuiContainedStepProps => ({
31+
title: initialConfigurationStepTitle,
32+
children: <InitialConfigurationStep {...props} />,
33+
});
34+
3035
export const InitialConfigurationStep: React.FunctionComponent<InitialConfigurationStepProps> = ({
3136
setStartTime,
3237
setEndTime,
@@ -67,6 +72,13 @@ const errorCalloutTitle = i18n.translate(
6772
}
6873
);
6974

75+
const initialConfigurationStepTitle = i18n.translate(
76+
'xpack.infra.analysisSetup.configurationStepTitle',
77+
{
78+
defaultMessage: 'Configuration',
79+
}
80+
);
81+
7082
const ValidationErrors: React.FC<{ errors: ValidationIndicesUIError[] }> = ({ errors }) => {
7183
if (errors.length === 0) {
7284
return null;
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/*
2+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3+
* or more contributor license agreements. Licensed under the Elastic License;
4+
* you may not use this file except in compliance with the Elastic License.
5+
*/
6+
7+
import { ValidationIndicesError } from '../../../../../common/http_api';
8+
9+
export type ValidationIndicesUIError =
10+
| ValidationIndicesError
11+
| { error: 'NETWORK_ERROR' }
12+
| { error: 'TOO_FEW_SELECTED_INDICES' };
13+
14+
interface ValidIndex {
15+
validity: 'valid';
16+
name: string;
17+
isSelected: boolean;
18+
}
19+
20+
interface InvalidIndex {
21+
validity: 'invalid';
22+
name: string;
23+
errors: ValidationIndicesError[];
24+
}
25+
26+
export type ValidatedIndex = ValidIndex | InvalidIndex;
Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,12 @@ import {
1414
EuiCallOut,
1515
EuiCode,
1616
} from '@elastic/eui';
17+
import { EuiContainedStepProps } from '@elastic/eui/src/components/steps/steps';
1718
import { i18n } from '@kbn/i18n';
1819
import { FormattedMessage } from '@kbn/i18n/react';
1920
import React from 'react';
2021

21-
import { SetupStatus } from '../../../../../../common/log_analysis';
22+
import { SetupStatus } from '../../../../../common/log_analysis';
2223
import { CreateMLJobsButton } from './create_ml_jobs_button';
2324
import { RecreateMLJobsButton } from './recreate_ml_jobs_button';
2425

@@ -31,6 +32,19 @@ interface ProcessStepProps {
3132
viewResults: () => void;
3233
}
3334

35+
export const createProcessStep = (props: ProcessStepProps): EuiContainedStepProps => ({
36+
title: processStepTitle,
37+
children: <ProcessStep {...props} />,
38+
status:
39+
props.setupStatus === 'pending'
40+
? 'incomplete'
41+
: props.setupStatus === 'failed'
42+
? 'danger'
43+
: props.setupStatus === 'succeeded'
44+
? 'complete'
45+
: undefined,
46+
});
47+
3448
export const ProcessStep: React.FunctionComponent<ProcessStepProps> = ({
3549
cleanupAndSetup,
3650
errorMessages,
@@ -102,3 +116,7 @@ const errorCalloutTitle = i18n.translate(
102116
defaultMessage: 'An error occurred',
103117
}
104118
);
119+
120+
const processStepTitle = i18n.translate('xpack.infra.analysisSetup.actionStepTitle', {
121+
defaultMessage: 'Create ML job',
122+
});

0 commit comments

Comments
 (0)