From 97477b789af40e028ff524e9c996417173ee1c81 Mon Sep 17 00:00:00 2001 From: kialam Date: Mon, 11 Feb 2019 13:53:54 -0500 Subject: [PATCH 1/4] Add default option for AnsibleSelect dropdown. --- src/components/AnsibleSelect/AnsibleSelect.jsx | 10 ++++++---- src/pages/Organizations/screens/OrganizationAdd.jsx | 7 +++++-- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/components/AnsibleSelect/AnsibleSelect.jsx b/src/components/AnsibleSelect/AnsibleSelect.jsx index ffaae0461a..ef5df6ba39 100644 --- a/src/components/AnsibleSelect/AnsibleSelect.jsx +++ b/src/components/AnsibleSelect/AnsibleSelect.jsx @@ -32,15 +32,17 @@ class AnsibleSelect extends React.Component { render () { const { count } = this.state; - const { labelName, selected, data } = this.props; + const { labelName, selected, data, defaultSelected } = this.props; let elem; if (count > 1) { elem = ( ); diff --git a/src/pages/Organizations/screens/OrganizationAdd.jsx b/src/pages/Organizations/screens/OrganizationAdd.jsx index cadd5d7c9e..04acfe57b3 100644 --- a/src/pages/Organizations/screens/OrganizationAdd.jsx +++ b/src/pages/Organizations/screens/OrganizationAdd.jsx @@ -40,14 +40,15 @@ class OrganizationAdd extends React.Component { this.onCancel = this.onCancel.bind(this); this.updateSelectedInstanceGroups = this.updateSelectedInstanceGroups.bind(this); } - + state = { name: '', description: '', results: [], custom_virtualenv: '', error: '', - selectedInstanceGroups: [] + selectedInstanceGroups: [], + defaultEnv: '/venv/ansible/' }; async componentDidMount () { @@ -129,6 +130,7 @@ class OrganizationAdd extends React.Component { description, custom_virtualenv, selectedInstanceGroups, + defaultEnv, error } = this.state; const enabled = name.length > 0; // TODO: add better form validation @@ -176,6 +178,7 @@ class OrganizationAdd extends React.Component { selected={custom_virtualenv} selectChange={this.onSelectChange} data={custom_virtualenvs} + defaultSelected={defaultEnv} /> )} From 2b18cee9c01a729d08d1bf4273c356e5a97ac043 Mon Sep 17 00:00:00 2001 From: kialam Date: Tue, 12 Feb 2019 09:42:41 -0500 Subject: [PATCH 2/4] Fix linter errors and add test to AnsibleSelect component. --- __tests__/components/AnsibleSelect.test.jsx | 12 ++++++++++++ src/components/AnsibleSelect/AnsibleSelect.jsx | 5 ++--- src/pages/Organizations/screens/OrganizationAdd.jsx | 2 +- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/__tests__/components/AnsibleSelect.test.jsx b/__tests__/components/AnsibleSelect.test.jsx index 6b72ed5cc2..d00a96fd9a 100644 --- a/__tests__/components/AnsibleSelect.test.jsx +++ b/__tests__/components/AnsibleSelect.test.jsx @@ -41,4 +41,16 @@ describe('', () => { expect(wrapper.find('FormGroup')).toHaveLength(0); expect(wrapper.find('Select')).toHaveLength(0); }); + test('Returns correct select options if defaultSelected props is passed', () => { + const wrapper = mount( + { }} + labelName={label} + data={mockData} + defaultSelected={mockData[1]} + /> + ); + expect(wrapper.find('Select')).toHaveLength(1); + }); }); diff --git a/src/components/AnsibleSelect/AnsibleSelect.jsx b/src/components/AnsibleSelect/AnsibleSelect.jsx index ef5df6ba39..e8382ad62e 100644 --- a/src/components/AnsibleSelect/AnsibleSelect.jsx +++ b/src/components/AnsibleSelect/AnsibleSelect.jsx @@ -39,9 +39,8 @@ class AnsibleSelect extends React.Component { diff --git a/src/pages/Organizations/screens/OrganizationAdd.jsx b/src/pages/Organizations/screens/OrganizationAdd.jsx index 04acfe57b3..27558e2757 100644 --- a/src/pages/Organizations/screens/OrganizationAdd.jsx +++ b/src/pages/Organizations/screens/OrganizationAdd.jsx @@ -40,7 +40,7 @@ class OrganizationAdd extends React.Component { this.onCancel = this.onCancel.bind(this); this.updateSelectedInstanceGroups = this.updateSelectedInstanceGroups.bind(this); } - + state = { name: '', description: '', From 1f07fc84943a23e40cc7c78b99eb4aba51037abb Mon Sep 17 00:00:00 2001 From: kialam Date: Tue, 12 Feb 2019 10:27:57 -0500 Subject: [PATCH 3/4] Make default option selectable but return null value. --- src/components/AnsibleSelect/AnsibleSelect.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/AnsibleSelect/AnsibleSelect.jsx b/src/components/AnsibleSelect/AnsibleSelect.jsx index e8382ad62e..4b2a6520f9 100644 --- a/src/components/AnsibleSelect/AnsibleSelect.jsx +++ b/src/components/AnsibleSelect/AnsibleSelect.jsx @@ -38,7 +38,7 @@ class AnsibleSelect extends React.Component { elem = (