Move Organization screens and tests into new folder structure

This commit is contained in:
Marliana Lara 2018-12-21 16:15:39 -05:00
parent f521fe5cbc
commit d040f063e9
No known key found for this signature in database
GPG Key ID: 38C73B40DFA809EE
14 changed files with 120 additions and 124 deletions

View File

@ -2,7 +2,7 @@ import React from 'react';
import { MemoryRouter } from 'react-router-dom';
import { mount } from 'enzyme';
import { I18nProvider } from '@lingui/react';
import Organizations from '../../../src/pages/Organizations/index';
import Organizations from '../../../src/pages/Organizations/Organizations';
describe('<Organizations />', () => {
test('initially renders succesfully', () => {

View File

@ -2,14 +2,14 @@ import React from 'react';
import { mount } from 'enzyme';
import { MemoryRouter } from 'react-router-dom';
import { I18nProvider } from '@lingui/react';
import OrganizationView from '../../../../src/pages/Organizations/views/Organization.view';
import Organization from '../../../../../src/pages/Organizations/screens/Organization/Organization';
describe('<OrganizationView />', () => {
test('initially renders succesfully', () => {
mount(
<I18nProvider>
<MemoryRouter initialEntries={['/organizations/1']} initialIndex={0}>
<OrganizationView
<Organization
match={{ path: '/organizations/:id', url: '/organizations/1' }}
location={{ search: '', pathname: '/organizations/1' }}
/>

View File

@ -2,7 +2,7 @@ import React from 'react';
import { mount } from 'enzyme';
import { MemoryRouter } from 'react-router-dom';
import { I18nProvider } from '@lingui/react';
import OrganizationDetail from '../../../../src/pages/Organizations/components/OrganizationDetail';
import OrganizationDetail from '../../../../../src/pages/Organizations/screens/Organization/OrganizationDetail';
describe('<OrganizationDetail />', () => {
test('initially renders succesfully', () => {

View File

@ -1,7 +1,7 @@
import React from 'react';
import { mount } from 'enzyme';
import { MemoryRouter } from 'react-router-dom';
import OrganizationEdit from '../../../../src/pages/Organizations/components/OrganizationEdit';
import OrganizationEdit from '../../../../../src/pages/Organizations/screens/Organization/OrganizationEdit';
describe('<OrganizationEdit />', () => {
test('initially renders succesfully', () => {

View File

@ -17,7 +17,7 @@ const getAppWithConfigContext = (context = {
});
// Return the updated OrganizationAdd module with mocked context
return require('../../../../src/pages/Organizations/views/Organization.add').default;
return require('../../../../src/pages/Organizations/screens/OrganizationAdd').default;
};
beforeEach(() => {

View File

@ -2,7 +2,7 @@ import React from 'react';
import { mount } from 'enzyme';
import { MemoryRouter } from 'react-router-dom';
import { I18nProvider } from '@lingui/react';
import OrganizationsList from '../../../../src/pages/Organizations/views/Organizations.list';
import OrganizationsList from '../../../../src/pages/Organizations/screens/OrganizationsList';
describe('<OrganizationsList />', () => {
test('initially renders succesfully', () => {

View File

@ -34,7 +34,7 @@ import Jobs from './pages/Jobs';
import Login from './pages/Login';
import ManagementJobs from './pages/ManagementJobs';
import NotificationTemplates from './pages/NotificationTemplates';
import Organizations from './pages/Organizations';
import Organizations from './pages/Organizations/Organizations';
import Portal from './pages/Portal';
import Projects from './pages/Projects';
import Schedules from './pages/Schedules';

View File

@ -1,9 +1,9 @@
import React from 'react';
import { Route, Switch } from 'react-router-dom';
import OrganizationAdd from './views/Organization.add';
import OrganizationView from './views/Organization.view';
import OrganizationsList from './views/Organizations.list';
import OrganizationsList from './screens/OrganizationsList';
import OrganizationAdd from './screens/OrganizationAdd'
import Organization from './screens/Organization/Organization';
export default ({ api, match }) => (
<Switch>
@ -18,7 +18,7 @@ export default ({ api, match }) => (
<Route
path={`${match.path}/:id`}
render={() => (
<OrganizationView
<Organization
api={api}
/>
)}

View File

@ -1,30 +0,0 @@
import React from 'react';
import { Trans } from '@lingui/macro';
import {
Card,
CardBody,
PageSection,
PageSectionVariants
} from '@patternfly/react-core';
import {
Link
} from 'react-router-dom';
const OrganizationEdit = ({ match, parentBreadcrumbObj, organization }) => {
const { medium } = PageSectionVariants;
return (
<PageSection variant={medium}>
<Card className="at-c-orgPane">
<CardBody>
<Trans>edit view </Trans>
<Link to={{ pathname: `/organizations/${match.params.id}`, state: { breadcrumb: parentBreadcrumbObj, organization } }}>
<Trans>save/cancel and go back to view</Trans>
</Link>
</CardBody>
</Card>
</PageSection>
);
};
export default OrganizationEdit;

View File

@ -5,11 +5,15 @@ import {
Route,
withRouter,
} from 'react-router-dom';
import OrganizationBreadcrumb from '../components/OrganizationBreadcrumb';
import OrganizationDetail from '../components/OrganizationDetail';
import OrganizationEdit from '../components/OrganizationEdit';
import {
PageSection
} from '@patternfly/react-core';
class OrganizationView extends Component {
import OrganizationBreadcrumb from '../../components/OrganizationBreadcrumb';
import OrganizationDetail from './OrganizationDetail';
import OrganizationEdit from './OrganizationEdit';
class Organization extends Component {
constructor (props) {
super(props);
@ -84,39 +88,41 @@ class OrganizationView extends Component {
location={location}
organization={organization}
/>
<Switch>
<Route
path={`${match.path}/edit`}
component={() => (
<OrganizationEdit
location={location}
match={match}
parentBreadcrumbObj={parentBreadcrumbObj}
organization={organization}
params={params}
currentTab={currentTab}
/>
)}
/>
<Route
path={`${match.path}`}
component={() => (
<OrganizationDetail
location={location}
match={match}
parentBreadcrumbObj={parentBreadcrumbObj}
organization={organization}
params={params}
currentTab={currentTab}
/>
)}
/>
</Switch>
{error ? 'error!' : ''}
{loading ? 'loading...' : ''}
<PageSection>
<Switch>
<Route
path={`${match.path}/edit`}
component={() => (
<OrganizationEdit
location={location}
match={match}
parentBreadcrumbObj={parentBreadcrumbObj}
organization={organization}
params={params}
currentTab={currentTab}
/>
)}
/>
<Route
path={`${match.path}`}
component={() => (
<OrganizationDetail
location={location}
match={match}
parentBreadcrumbObj={parentBreadcrumbObj}
organization={organization}
params={params}
currentTab={currentTab}
/>
)}
/>
</Switch>
{error ? 'error!' : ''}
{loading ? 'loading...' : ''}
</PageSection>
</Fragment>
);
}
}
export default withRouter(OrganizationView);
export default withRouter(Organization);

View File

@ -5,8 +5,6 @@ import {
Card,
CardHeader,
CardBody,
PageSection,
PageSectionVariants
} from '@patternfly/react-core';
import {
Switch,
@ -14,9 +12,9 @@ import {
Route
} from 'react-router-dom';
import Tab from '../../../components/Tabs/Tab';
import Tabs from '../../../components/Tabs/Tabs';
import getTabName from '../utils';
import Tab from '../../../../components/Tabs/Tab';
import Tabs from '../../../../components/Tabs/Tabs';
import getTabName from '../../utils';
const OrganizationDetail = ({
@ -28,7 +26,6 @@ const OrganizationDetail = ({
currentTab
}) => {
// TODO: set objectName by param or through grabbing org detail get from api
const { medium } = PageSectionVariants;
const tabList=['details', 'access', 'teams', 'notifications'];
const deleteResourceView = () => (
@ -64,46 +61,44 @@ const OrganizationDetail = ({
return (
<PageSection variant={medium}>
<Card className="at-c-orgPane">
<CardHeader>
<I18n>
{({ i18n }) => (
<Tabs labelText={i18n._(t`Organization detail tabs`)}>
{tabList.map(tab => (
<Tab
key={tab}
tab={tab}
location={location}
match={match}
currentTab={currentTab}
breadcrumb={parentBreadcrumbObj}
>
<Trans>{getTabName(tab)}</Trans>
</Tab>
))}
</Tabs>
)}
</I18n>
</CardHeader>
<CardBody>
{(currentTab && currentTab !== 'details') ? (
<Switch>
<Route path={`${match.path}/delete-resources`} component={() => deleteResourceView()} />
<Route path={`${match.path}/add-resource`} component={() => addResourceView()} />
<Route path={`${match.path}`} component={() => resourceView()} />
</Switch>
) : (
<Fragment>
{'detail view '}
<Link to={{ pathname: `${match.url}/edit`, state: { breadcrumb: parentBreadcrumbObj, organization } }}>
{'edit'}
</Link>
</Fragment>
<Card className="at-c-orgPane">
<CardHeader>
<I18n>
{({ i18n }) => (
<Tabs labelText={i18n._(t`Organization detail tabs`)}>
{tabList.map(tab => (
<Tab
key={tab}
tab={tab}
location={location}
match={match}
currentTab={currentTab}
breadcrumb={parentBreadcrumbObj}
>
<Trans>{getTabName(tab)}</Trans>
</Tab>
))}
</Tabs>
)}
</CardBody>
</Card>
</PageSection>
</I18n>
</CardHeader>
<CardBody>
{(currentTab && currentTab !== 'details') ? (
<Switch>
<Route path={`${match.path}/delete-resources`} component={() => deleteResourceView()} />
<Route path={`${match.path}/add-resource`} component={() => addResourceView()} />
<Route path={`${match.path}`} component={() => resourceView()} />
</Switch>
) : (
<Fragment>
{'detail view '}
<Link to={{ pathname: `${match.url}/edit`, state: { breadcrumb: parentBreadcrumbObj, organization } }}>
{'edit'}
</Link>
</Fragment>
)}
</CardBody>
</Card>
);
};

View File

@ -0,0 +1,25 @@
import React from 'react';
import { Trans } from '@lingui/macro';
import {
Card,
CardBody
} from '@patternfly/react-core';
import {
Link
} from 'react-router-dom';
const OrganizationEdit = ({ match, parentBreadcrumbObj, organization }) => {
return (
<Card className="at-c-orgPane">
<CardBody>
<Trans>edit view </Trans>
<Link to={{ pathname: `/organizations/${match.params.id}`, state: { breadcrumb: parentBreadcrumbObj, organization } }}>
<Trans>save/cancel and go back to view</Trans>
</Link>
</CardBody>
</Card>
);
};
export default OrganizationEdit;

View File

@ -22,7 +22,7 @@ import {
parseQueryString,
} from '../../../qs';
class Organizations extends Component {
class OrganizationsList extends Component {
columns = [
{ name: i18nMark('Name'), key: 'name', isSortable: true },
{ name: i18nMark('Modified'), key: 'modified', isSortable: true, isNumeric: true },
@ -248,4 +248,4 @@ class Organizations extends Component {
}
}
export default withRouter(Organizations);
export default withRouter(OrganizationsList);