diff --git a/awx/ui_next/src/screens/InstanceGroup/shared/ContainerGroupForm.jsx b/awx/ui_next/src/screens/InstanceGroup/shared/ContainerGroupForm.jsx index 472e1b4ca2..e8d734806f 100644 --- a/awx/ui_next/src/screens/InstanceGroup/shared/ContainerGroupForm.jsx +++ b/awx/ui_next/src/screens/InstanceGroup/shared/ContainerGroupForm.jsx @@ -1,6 +1,6 @@ -import React from 'react'; +import React, { useCallback } from 'react'; import { func, shape } from 'prop-types'; -import { Formik, useField } from 'formik'; +import { Formik, useField, useFormikContext } from 'formik'; import { withI18n } from '@lingui/react'; import { t } from '@lingui/macro'; import { Form, FormGroup } from '@patternfly/react-core'; @@ -21,12 +21,20 @@ import { import CredentialLookup from '../../../components/Lookup/CredentialLookup'; import { VariablesField } from '../../../components/CodeMirrorInput'; -function ContainerGroupFormFields({ i18n }) { +function ContainerGroupFormFields({ i18n, instanceGroup }) { + const { setFieldValue } = useFormikContext(); const [credentialField, credentialMeta, credentialHelpers] = useField( 'credential' ); const [overrideField] = useField('override'); + const onCredentialChange = useCallback( + value => { + setFieldValue('credential', value); + }, + [setFieldValue] + ); + return ( <> credentialHelpers.setTouched()} - onChange={value => { - credentialHelpers.setValue(value); - }} + onChange={onCredentialChange} value={credentialField.value} required tooltip={i18n._( t`Credential to authenticate with Kubernetes or OpenShift. Must be of type "Kubernetes/OpenShift API Bearer Token”.` )} + autoPopulate={!instanceGroup?.id} /> (
- + {submitError && } { + setFieldValue('organization', value); + }, + [setFieldValue] + ); + return ( <> orgHelpers.setTouched()} - onChange={value => { - orgHelpers.setValue(value); - }} + onChange={onOrganizationChange} value={orgField.value} touched={orgMeta.touched} error={orgMeta.error} required + autoPopulate={!template?.id} />