@@ -187,7 +188,8 @@ class Pagination extends Component {
diff --git a/src/components/Tabs/Tab.jsx b/src/components/Tabs/Tab.jsx
index fdf9b60875..2b40bc1a3e 100644
--- a/src/components/Tabs/Tab.jsx
+++ b/src/components/Tabs/Tab.jsx
@@ -3,7 +3,6 @@ import { Link } from 'react-router-dom';
import './tabs.scss';
-
const Tab = ({ location, match, tab, currentTab, children, breadcrumb }) => {
const tabClasses = () => {
let classes = 'pf-c-tabs__item';
@@ -28,13 +27,14 @@ const Tab = ({ location, match, tab, currentTab, children, breadcrumb }) => {
return (
+ replace={tab === currentTab}
+ >
{children}
- )
-}
+ );
+};
export default Tab;
diff --git a/src/components/Tabs/Tabs.jsx b/src/components/Tabs/Tabs.jsx
index 2dae079219..91fd3e2bda 100644
--- a/src/components/Tabs/Tabs.jsx
+++ b/src/components/Tabs/Tabs.jsx
@@ -1,7 +1,6 @@
import React from 'react';
import './tabs.scss';
-
const Tabs = ({ children, labelText }) => (
diff --git a/src/context.jsx b/src/context.jsx
index 446f82bd63..ab413dd313 100644
--- a/src/context.jsx
+++ b/src/context.jsx
@@ -1,3 +1,4 @@
-import React from "react";
+import React from 'react';
+// eslint-disable-next-line import/prefer-default-export
export const ConfigContext = React.createContext({});
diff --git a/src/index.jsx b/src/index.jsx
index 1e9197ac0f..0a5ff2742a 100644
--- a/src/index.jsx
+++ b/src/index.jsx
@@ -65,7 +65,7 @@ export function getLanguage (nav) {
const languageWithoutRegionCode = language.toLowerCase().split(/[_-]+/)[0];
return languageWithoutRegionCode;
-};
+}
//
// Function Main
@@ -269,7 +269,7 @@ export async function main (render, api) {
/>
)}
/>
- ))
+ ))
)}
/>
)}
@@ -280,7 +280,8 @@ export async function main (render, api) {
)}
- , el);
-};
+ , el
+ );
+}
main(ReactDOM.render, new APIClient(http));
diff --git a/src/pages/Organizations/components/OrganizationBreadcrumb.jsx b/src/pages/Organizations/components/OrganizationBreadcrumb.jsx
index 96f668d83c..a8febba937 100644
--- a/src/pages/Organizations/components/OrganizationBreadcrumb.jsx
+++ b/src/pages/Organizations/components/OrganizationBreadcrumb.jsx
@@ -70,7 +70,6 @@ const OrganizationBreadcrumb = ({ parentObj, organization, currentTab, location
);
} else {
-
breadcrumb = (
{generateCrumb(true)}
diff --git a/src/pages/Organizations/screens/Organization/OrganizationEdit.jsx b/src/pages/Organizations/screens/Organization/OrganizationEdit.jsx
index 13e5208bd6..e72b1eba39 100644
--- a/src/pages/Organizations/screens/Organization/OrganizationEdit.jsx
+++ b/src/pages/Organizations/screens/Organization/OrganizationEdit.jsx
@@ -8,18 +8,15 @@ import {
Link
} from 'react-router-dom';
-const OrganizationEdit = ({ match, parentBreadcrumbObj, organization }) => {
-
- return (
-
-
- edit view
-
- save/cancel and go back to view
-
-
-
- );
-};
+const OrganizationEdit = ({ match, parentBreadcrumbObj, organization }) => (
+
+
+ edit view
+
+ save/cancel and go back to view
+
+
+
+);
export default OrganizationEdit;
diff --git a/src/pages/Organizations/screens/OrganizationAdd.jsx b/src/pages/Organizations/screens/OrganizationAdd.jsx
index 2d447d4b77..eeff621393 100644
--- a/src/pages/Organizations/screens/OrganizationAdd.jsx
+++ b/src/pages/Organizations/screens/OrganizationAdd.jsx
@@ -20,10 +20,21 @@ import {
import { ConfigContext } from '../../../context';
import Lookup from '../../../components/Lookup';
-import AnsibleSelect from '../../../components/AnsibleSelect'
+import AnsibleSelect from '../../../components/AnsibleSelect';
+
const { light } = PageSectionVariants;
+
+const format = (data) => {
+ const results = data.results.map((result) => ({
+ id: result.id,
+ name: result.name,
+ isChecked: false
+ }));
+ return results;
+};
+
class OrganizationAdd extends React.Component {
- constructor(props) {
+ constructor (props) {
super(props);
this.handleChange = this.handleChange.bind(this);
@@ -33,7 +44,6 @@ class OrganizationAdd extends React.Component {
this.resetForm = this.resetForm.bind(this);
this.onSuccess = this.onSuccess.bind(this);
this.onCancel = this.onCancel.bind(this);
- this.format = this.format.bind(this);
}
state = {
@@ -45,87 +55,80 @@ class OrganizationAdd extends React.Component {
error: '',
};
- onSelectChange(value, _) {
- this.setState({ custom_virtualenv: value });
- };
+ async componentDidMount () {
+ const { api } = this.props;
+ try {
+ const { data } = await api.getInstanceGroups();
+ const results = format(data);
+ this.setState({ results });
+ } catch (error) {
+ this.setState({ getInstanceGroupsError: error });
+ }
+ }
- onLookupChange(id, _) {
- let selected = { ...this.state.results }
+ onSelectChange (value) {
+ this.setState({ custom_virtualenv: value });
+ }
+
+ onLookupChange (id) {
+ const { results } = this.state;
+ const selected = { ...results };
const index = id - 1;
selected[index].isChecked = !selected[index].isChecked;
- this.setState({ selected })
+ this.setState({ selected });
}
- resetForm() {
- this.setState({
- name: '',
- description: '',
- });
- let reset = [];
- this.state.results.map((result) => {
- reset.push({ id: result.id, name: result.name, isChecked: false });
- })
- this.setState({ results: reset });
- }
-
- handleChange(_, evt) {
- this.setState({ [evt.target.name]: evt.target.value });
- }
-
- async onSubmit() {
+ async onSubmit () {
const { api } = this.props;
const data = Object.assign({}, { ...this.state });
+ const { results } = this.state;
try {
const { data: response } = await api.createOrganization(data);
const url = response.related.instance_groups;
- const selected = this.state.results.filter(group => group.isChecked);
+ const selected = results.filter(group => group.isChecked);
try {
if (selected.length > 0) {
- selected.forEach( async (select) => {
+ selected.forEach(async (select) => {
await api.createInstanceGroups(url, select.id);
});
}
} catch (err) {
- this.setState({ createInstanceGroupsError: err })
+ this.setState({ createInstanceGroupsError: err });
} finally {
this.resetForm();
this.onSuccess(response.id);
}
- }
- catch (err) {
- this.setState({ onSubmitError: err })
+ } catch (err) {
+ this.setState({ onSubmitError: err });
}
}
- onCancel() {
- this.props.history.push('/organizations');
+ onCancel () {
+ const { history } = this.props;
+ history.push('/organizations');
}
- onSuccess(id) {
- this.props.history.push(`/organizations/${id}`);
+ onSuccess (id) {
+ const { history } = this.props;
+ history.push(`/organizations/${id}`);
}
- format(data) {
- let results = [];
- data.results.map((result) => {
- results.push({ id: result.id, name: result.name, isChecked: false });
+ handleChange (_, evt) {
+ this.setState({ [evt.target.name]: evt.target.value });
+ }
+
+ resetForm () {
+ this.setState({
+ name: '',
+ description: '',
});
- return results;
- };
-
- async componentDidMount() {
- const { api } = this.props;
- try {
- const { data } = await api.getInstanceGroups();
- const results = this.format(data);
- this.setState({ results });
- } catch (error) {
- this.setState({ getInstanceGroupsError: error })
- }
+ const { results } = this.state;
+ const reset = results.map((result) => ({ id: result.id, name: result.name, isChecked: false }));
+ this.setState({ results: reset });
}
- render() {
- const { name, results } = this.state;
+ render () {
+ const { name, results, description, custom_virtualenv } = this.state;
const enabled = name.length > 0; // TODO: add better form validation
return (
@@ -150,7 +153,7 @@ class OrganizationAdd extends React.Component {
type="text"
id="add-org-form-name"
name="name"
- value={this.state.name}
+ value={name}
onChange={this.handleChange}
/>
@@ -158,7 +161,7 @@ class OrganizationAdd extends React.Component {
@@ -170,14 +173,14 @@ class OrganizationAdd extends React.Component {
/>
- {({ custom_virtualenvs }) =>
+ {({ custom_virtualenvs }) => (
- }
+ )}
@@ -200,7 +203,7 @@ class OrganizationAdd extends React.Component {
}
OrganizationAdd.contextTypes = {
- custom_virtualenvs: PropTypes.array,
+ custom_virtualenvs: PropTypes.arrayOf(PropTypes.string)
};
export default withRouter(OrganizationAdd);