set repository name suggestion in import form just at leaving the input field

This commit is contained in:
Eduard Heimbuch
2020-12-03 09:38:23 +01:00
parent dd0bcc4a3f
commit 715c76e2f4
2 changed files with 17 additions and 7 deletions

View File

@@ -48,19 +48,20 @@ const ImportFromUrlForm: FC<Props> = ({ repository, onChange, setValid, disabled
const [urlValidationError, setUrlValidationError] = useState(false);
const handleImportUrlChange = (importUrl: string) => {
const changedRepo = { ...repository, importUrl };
onChange({ ...repository, importUrl });
const valid = validation.isUrlValid(importUrl);
setUrlValidationError(!valid);
setValid(valid);
};
const handleImportUrlBlur = (importUrl: string) => {
if (!repository.name) {
// If the repository name is not fill we set a name suggestion
const match = importUrl.match(/([^\/]+?)(?:.git)?$/);
if (match && match[1]) {
changedRepo.name = match[1];
onChange({ ...repository, name: match[1] });
}
}
onChange(changedRepo);
const valid = validation.isUrlValid(importUrl);
setUrlValidationError(!valid);
setValid(valid);
};
return (
@@ -74,6 +75,7 @@ const ImportFromUrlForm: FC<Props> = ({ repository, onChange, setValid, disabled
validationError={urlValidationError}
errorMessage={t("validation.url-invalid")}
disabled={disabled}
onBlur={handleImportUrlBlur}
/>
</Column>
<Column className="column is-half">