-
Notifications
You must be signed in to change notification settings - Fork 67
/
CreateStepFooter.tsx
64 lines (61 loc) 路 1.63 KB
/
CreateStepFooter.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import {Button} from 'antd';
import {ICreateTestStep} from 'types/Plugins.types';
import CreateTestSuiteAnalytics from 'services/Analytics/CreateTestSuite.service';
import * as S from './CreateSteps.styled';
interface IProps {
isValid: boolean;
stepNumber: number;
isLastStep: boolean;
step: ICreateTestStep;
onPrev(): void;
isLoading: boolean;
mode: string;
}
const CreateStepFooter = ({isValid, stepNumber, step, isLastStep, onPrev, isLoading, mode}: IProps) => {
return (
<S.Footer>
<span>
{stepNumber > 0 && (
<Button
data-cy="create-test-prev-button"
type="primary"
ghost
onClick={() => {
CreateTestSuiteAnalytics.onPrevClick(step.name);
onPrev();
}}
>
Previous
</Button>
)}
</span>
<span>
{!isLastStep ? (
<Button
htmlType="submit"
form={step.component}
data-cy={`${mode}-create-next-button`}
disabled={!isValid}
type="primary"
onClick={() => CreateTestSuiteAnalytics.onNextClick(step.name)}
>
Next
</Button>
) : (
<Button
htmlType="submit"
form={step.component}
onClick={() => CreateTestSuiteAnalytics.onFormSubmit()}
data-cy={`${mode}-create-create-button`}
disabled={!isValid}
type="primary"
loading={isLoading}
>
Create & Run
</Button>
)}
</span>
</S.Footer>
);
};
export default CreateStepFooter;