diff --git a/framework/PageForm/Inputs/PageFormSelect.tsx b/framework/PageForm/Inputs/PageFormSelect.tsx index debc1a8b2b..ce6435dcca 100644 --- a/framework/PageForm/Inputs/PageFormSelect.tsx +++ b/framework/PageForm/Inputs/PageFormSelect.tsx @@ -93,6 +93,8 @@ export type PageFormSelectProps< validate?: | Validate, TFieldValues> | Record, TFieldValues>>; + + defaultValue?: FieldPathValue; }; export function PageFormSelect< @@ -205,7 +207,7 @@ export function PageFormSelect< , TFieldValues> | Record, TFieldValues>>; isReadOnly?: boolean; + defaultValue?: FieldPathValue; } & Pick< PageSingleSelectProps, 'id' | 'placeholder' | 'options' | 'footer' | 'isDisabled' | 'isRequired' | 'disableSortOptions' @@ -79,7 +80,7 @@ export function PageFormSingleSelect< placeholder={props.placeholder} options={props.options} aria-describedby={id ? `${id}-form-group` : undefined} - value={value} + value={value || props.defaultValue} onSelect={onChange} isDisabled={isDisabled} footer={props.footer} diff --git a/frontend/awx/access/credentials/CredentialForm.tsx b/frontend/awx/access/credentials/CredentialForm.tsx index c722a3747d..728dc378c7 100644 --- a/frontend/awx/access/credentials/CredentialForm.tsx +++ b/frontend/awx/access/credentials/CredentialForm.tsx @@ -40,6 +40,10 @@ interface CredentialForm extends Credential { user?: number; } +interface CredentialSelectProps extends CredentialInputField { + name: string; +} + interface initialValues { name: string; description: string; @@ -430,10 +434,10 @@ function CredentialSubForm({ })} {choiceFields.length > 0 && choiceFields.map((field) => ( - + key={field.id} - placeholderText={String(field?.default)} - name={field.id as keyof CredentialType} + defaultValue={field?.default} + name={field?.id as keyof CredentialSelectProps} label={field.label} options={field?.choices?.map((choice) => ({ value: choice, label: choice })) ?? []} isRequired={requiredFields.includes(field.id)} diff --git a/frontend/awx/access/credentials/CredentialPlugins/CredentialPlugins.tsx b/frontend/awx/access/credentials/CredentialPlugins/CredentialPlugins.tsx index fd18abae43..fdc53a7f23 100644 --- a/frontend/awx/access/credentials/CredentialPlugins/CredentialPlugins.tsx +++ b/frontend/awx/access/credentials/CredentialPlugins/CredentialPlugins.tsx @@ -53,6 +53,7 @@ export function CredentialPlugins({ if ('choices' in input) { return (