-
Notifications
You must be signed in to change notification settings - Fork 67
/
CreateTestSuiteModal.tsx
41 lines (35 loc) 路 1.14 KB
/
CreateTestSuiteModal.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
import {useEffect} from 'react';
import {useCreateTestSuite} from 'providers/CreateTestSuite';
import CreateModal from '../CreateModal/CreateModal';
import CreateTestSuiteFactory from '../TestSuitePlugin/CreateTestSuiteFactory';
interface IProps {
isOpen: boolean;
onClose(): void;
}
const CreateTestSuiteModal = ({isOpen, onClose}: IProps) => {
const {stepList, stepNumber, onPrev, activeStep, onReset, onIsFormValid, isFormValid} = useCreateTestSuite();
useEffect(() => {
if (!isOpen) onReset();
}, [isOpen, onReset]);
useEffect(() => {
const step = stepList[stepNumber];
onIsFormValid(Boolean(step.isDefaultValid) || step.status === 'complete');
}, [onIsFormValid, stepList, stepNumber]);
return isOpen ? (
<CreateModal
isValid={isFormValid}
isOpen
onClose={onClose}
title="Create a new test suite"
stepList={stepList}
activeStep={activeStep}
onGoTo={() => null}
onPrev={onPrev}
isLoading={false}
stepNumber={stepNumber}
componentFactory={CreateTestSuiteFactory}
mode="CreateTestSuiteFactory"
/>
) : null;
};
export default CreateTestSuiteModal;