diff --git a/awx/ui_next/src/screens/Template/Template.jsx b/awx/ui_next/src/screens/Template/Template.jsx index e1da6c64f5..36d2763ecd 100644 --- a/awx/ui_next/src/screens/Template/Template.jsx +++ b/awx/ui_next/src/screens/Template/Template.jsx @@ -57,7 +57,7 @@ function Template({ i18n, me, setBreadcrumb }) { ); useEffect(() => { loadTemplateAndRoles(); - }, [loadTemplateAndRoles]); + }, [loadTemplateAndRoles, location.pathname]); const loadScheduleOptions = () => { return JobTemplatesAPI.readScheduleOptions(templateId); diff --git a/awx/ui_next/src/screens/Template/shared/JobTemplateForm.jsx b/awx/ui_next/src/screens/Template/shared/JobTemplateForm.jsx index 0640dab906..01595f3689 100644 --- a/awx/ui_next/src/screens/Template/shared/JobTemplateForm.jsx +++ b/awx/ui_next/src/screens/Template/shared/JobTemplateForm.jsx @@ -109,12 +109,15 @@ function JobTemplateForm({ return undefined; }; - const handleProjectUpdate = newProject => { - setProject(newProject); - setFieldValue('project', newProject.id); - setFieldValue('playbook', 0); - setFieldValue('scm_branch', ''); - }; + const handleProjectUpdate = useCallback( + newProject => { + setProject(newProject); + setFieldValue('project', newProject.id); + setFieldValue('playbook', 0); + setFieldValue('scm_branch', ''); + }, + [setFieldValue, setProject] + ); const jobTypeOptions = [ { @@ -245,7 +248,7 @@ function JobTemplateForm({ )} - handleProjectValidation()}> + {({ form }) => (