1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-01-25 00:07:47 +01:00

fix: update validateProjectId

This commit is contained in:
Youssef 2022-01-25 12:30:55 +01:00
parent 8c7acdc43d
commit 52fddb2069
4 changed files with 14 additions and 16 deletions

View File

@ -26,7 +26,6 @@ const CreateProject = () => {
clearErrors, clearErrors,
validateIdUniqueness, validateIdUniqueness,
validateName, validateName,
validateProjectId,
errors, errors,
} = useProjectForm(); } = useProjectForm();
@ -36,10 +35,9 @@ const CreateProject = () => {
e.preventDefault(); e.preventDefault();
clearErrors(); clearErrors();
const validName = validateName(); const validName = validateName();
const validProjectId = validateProjectId();
const validId = await validateIdUniqueness(); const validId = await validateIdUniqueness();
if (validName && validId && validProjectId) { if (validName && validId) {
const payload = getProjectPayload(); const payload = getProjectPayload();
try { try {
await createProject(payload); await createProject(payload);
@ -67,7 +65,7 @@ const CreateProject = () => {
}; };
const handleCancel = () => { const handleCancel = () => {
history.push('/projects'); history.goBack();
}; };
return ( return (
@ -92,10 +90,7 @@ const CreateProject = () => {
clearErrors={clearErrors} clearErrors={clearErrors}
validateIdUniqueness={validateIdUniqueness} validateIdUniqueness={validateIdUniqueness}
> >
<PermissionButton <PermissionButton permission={CREATE_PROJECT} type="submit">
permission={CREATE_PROJECT}
type="submit"
>
Create project Create project
</PermissionButton> </PermissionButton>
</ProjectForm> </ProjectForm>

View File

@ -39,6 +39,10 @@ const useProjectForm = (
const NAME_EXISTS_ERROR = 'Error: A project with this id already exists.'; const NAME_EXISTS_ERROR = 'Error: A project with this id already exists.';
const validateIdUniqueness = async () => { const validateIdUniqueness = async () => {
if (projectId.length === 0) {
setErrors(prev => ({ ...prev, id: 'Id can not be empty.' }));
return false;
}
try { try {
await validateId(getProjectPayload()); await validateId(getProjectPayload());
return true; return true;
@ -65,7 +69,7 @@ const useProjectForm = (
setErrors(prev => ({ ...prev, name: 'Name can not be empty.' })); setErrors(prev => ({ ...prev, name: 'Name can not be empty.' }));
return false; return false;
} }
return true; return true;
}; };

View File

@ -75,11 +75,9 @@ const CreateTagType = () => {
setTagDesc={setTagDesc} setTagDesc={setTagDesc}
mode="Create" mode="Create"
clearErrors={clearErrors} clearErrors={clearErrors}
validateNameUniqueness={validateNameUniqueness}
> >
<PermissionButton <PermissionButton permission={UPDATE_TAG_TYPE} type="submit">
permission={UPDATE_TAG_TYPE}
type="submit"
>
Create type Create type
</PermissionButton> </PermissionButton>
</TagTypeForm> </TagTypeForm>

View File

@ -16,6 +16,7 @@ interface ITagTypeForm {
errors: { [key: string]: string }; errors: { [key: string]: string };
mode: string; mode: string;
clearErrors: () => void; clearErrors: () => void;
validateNameUniqueness?: () => void;
} }
const TagTypeForm: React.FC<ITagTypeForm> = ({ const TagTypeForm: React.FC<ITagTypeForm> = ({
@ -28,6 +29,7 @@ const TagTypeForm: React.FC<ITagTypeForm> = ({
setTagDesc, setTagDesc,
errors, errors,
mode, mode,
validateNameUniqueness,
clearErrors, clearErrors,
}) => { }) => {
const styles = useStyles(); const styles = useStyles();
@ -49,11 +51,10 @@ const TagTypeForm: React.FC<ITagTypeForm> = ({
errorText={errors.name} errorText={errors.name}
onFocus={() => clearErrors()} onFocus={() => clearErrors()}
disabled={mode === EDIT} disabled={mode === EDIT}
onBlur={validateNameUniqueness}
/> />
<p className={styles.inputDescription}> <p className={styles.inputDescription}>What is this tag for?</p>
What is this role for?
</p>
<TextField <TextField
className={styles.input} className={styles.input}
label="Tag description" label="Tag description"