Add default option for AnsibleSelect dropdown.

This commit is contained in:
kialam
2019-02-11 13:53:54 -05:00
parent fb7ccdb726
commit 97477b789a
2 changed files with 11 additions and 6 deletions

View File

@@ -32,15 +32,17 @@ class AnsibleSelect extends React.Component {
render () { render () {
const { count } = this.state; const { count } = this.state;
const { labelName, selected, data } = this.props; const { labelName, selected, data, defaultSelected } = this.props;
let elem; let elem;
if (count > 1) { if (count > 1) {
elem = ( elem = (
<FormGroup label={labelName} fieldId="ansible-select"> <FormGroup label={labelName} fieldId="ansible-select">
<Select value={selected} onChange={this.onSelectChange} aria-label="Select Input"> <Select value={selected} onChange={this.onSelectChange} aria-label="Select Input">
{data.map((datum) => ( <SelectOption isDisabled key="" value="" label={`Use Default ${labelName}`} />
<SelectOption isDisabled={datum.disabled} key={datum} value={datum} label={datum} /> {data.map((datum) =>
))} datum !== defaultSelected ?
(<SelectOption key={datum} value={datum} label={datum} />) : null)
}
</Select> </Select>
</FormGroup> </FormGroup>
); );

View File

@@ -47,7 +47,8 @@ class OrganizationAdd extends React.Component {
results: [], results: [],
custom_virtualenv: '', custom_virtualenv: '',
error: '', error: '',
selectedInstanceGroups: [] selectedInstanceGroups: [],
defaultEnv: '/venv/ansible/'
}; };
async componentDidMount () { async componentDidMount () {
@@ -129,6 +130,7 @@ class OrganizationAdd extends React.Component {
description, description,
custom_virtualenv, custom_virtualenv,
selectedInstanceGroups, selectedInstanceGroups,
defaultEnv,
error error
} = this.state; } = this.state;
const enabled = name.length > 0; // TODO: add better form validation const enabled = name.length > 0; // TODO: add better form validation
@@ -176,6 +178,7 @@ class OrganizationAdd extends React.Component {
selected={custom_virtualenv} selected={custom_virtualenv}
selectChange={this.onSelectChange} selectChange={this.onSelectChange}
data={custom_virtualenvs} data={custom_virtualenvs}
defaultSelected={defaultEnv}
/> />
)} )}
</ConfigContext.Consumer> </ConfigContext.Consumer>