mirror of
https://github.com/ansible/awx.git
synced 2026-01-12 10:30:03 -03:30
Add stub files for Instance Groups
Add stub files for Instance Groups. Routing system, and screens layout. closes: https://github.com/ansible/awx/issues/7471
This commit is contained in:
parent
6e651ce275
commit
24f86cd0d1
25
awx/ui_next/src/screens/InstanceGroup/InstanceGroup.jsx
Normal file
25
awx/ui_next/src/screens/InstanceGroup/InstanceGroup.jsx
Normal file
@ -0,0 +1,25 @@
|
||||
import React from 'react';
|
||||
import { Route, Switch, Redirect } from 'react-router-dom';
|
||||
|
||||
import InstanceGroupDetails from './InstanceGroupDetails';
|
||||
import InstanceGroupEdit from './InstanceGroupEdit';
|
||||
|
||||
function InstanceGroup() {
|
||||
return (
|
||||
<Switch>
|
||||
<Redirect
|
||||
from="/instance_groups/:id"
|
||||
to="/instance_groups/:id/details"
|
||||
exact
|
||||
/>
|
||||
<Route path="/instance_groups/:id/edit">
|
||||
<InstanceGroupEdit />
|
||||
</Route>
|
||||
<Route path="/instance_groups/:id/details">
|
||||
<InstanceGroupDetails />
|
||||
</Route>
|
||||
</Switch>
|
||||
);
|
||||
}
|
||||
|
||||
export default InstanceGroup;
|
||||
@ -0,0 +1,14 @@
|
||||
import React from 'react';
|
||||
import { Card, PageSection } from '@patternfly/react-core';
|
||||
|
||||
function InstanceGroupAdd() {
|
||||
return (
|
||||
<PageSection>
|
||||
<Card>
|
||||
<div>Instance Group Add</div>
|
||||
</Card>
|
||||
</PageSection>
|
||||
);
|
||||
}
|
||||
|
||||
export default InstanceGroupAdd;
|
||||
@ -0,0 +1 @@
|
||||
export { default } from './InstanceGroupAdd';
|
||||
@ -0,0 +1,14 @@
|
||||
import React from 'react';
|
||||
import { Card, PageSection } from '@patternfly/react-core';
|
||||
|
||||
function InstanceGroupDetails() {
|
||||
return (
|
||||
<PageSection>
|
||||
<Card>
|
||||
<div>Instance Group Details</div>
|
||||
</Card>
|
||||
</PageSection>
|
||||
);
|
||||
}
|
||||
|
||||
export default InstanceGroupDetails;
|
||||
@ -0,0 +1 @@
|
||||
export { default } from './InstanceGroupDetails';
|
||||
@ -0,0 +1,14 @@
|
||||
import React from 'react';
|
||||
import { Card, PageSection } from '@patternfly/react-core';
|
||||
|
||||
function InstanceGroupEdit() {
|
||||
return (
|
||||
<PageSection>
|
||||
<Card>
|
||||
<div>Instance Group Edit</div>
|
||||
</Card>
|
||||
</PageSection>
|
||||
);
|
||||
}
|
||||
|
||||
export default InstanceGroupEdit;
|
||||
@ -0,0 +1 @@
|
||||
export { default } from './InstanceGroupEdit';
|
||||
@ -0,0 +1,14 @@
|
||||
import React from 'react';
|
||||
import { Card, PageSection } from '@patternfly/react-core';
|
||||
|
||||
function InstanceGroupList() {
|
||||
return (
|
||||
<PageSection>
|
||||
<Card>
|
||||
<div>Instance Group List</div>
|
||||
</Card>
|
||||
</PageSection>
|
||||
);
|
||||
}
|
||||
|
||||
export default InstanceGroupList;
|
||||
@ -0,0 +1 @@
|
||||
export { default } from './InstanceGroupList';
|
||||
@ -1,28 +1,48 @@
|
||||
import React, { Component, Fragment } from 'react';
|
||||
import React, { useState, useCallback } from 'react';
|
||||
import { withI18n } from '@lingui/react';
|
||||
import { t } from '@lingui/macro';
|
||||
import {
|
||||
PageSection,
|
||||
PageSectionVariants,
|
||||
Title,
|
||||
} from '@patternfly/react-core';
|
||||
import { Route, Switch } from 'react-router-dom';
|
||||
|
||||
class InstanceGroups extends Component {
|
||||
render() {
|
||||
const { i18n } = this.props;
|
||||
const { light } = PageSectionVariants;
|
||||
import InstanceGroupAdd from './InstanceGroupAdd';
|
||||
import InstanceGroupList from './InstanceGroupList';
|
||||
import InstanceGroup from './InstanceGroup';
|
||||
import Breadcrumbs from '../../components/Breadcrumbs';
|
||||
|
||||
return (
|
||||
<Fragment>
|
||||
<PageSection variant={light} className="pf-m-condensed">
|
||||
<Title size="2xl" headingLevel="h2">
|
||||
{i18n._(t`Instance Groups`)}
|
||||
</Title>
|
||||
</PageSection>
|
||||
<PageSection />
|
||||
</Fragment>
|
||||
);
|
||||
}
|
||||
function InstanceGroups({ i18n }) {
|
||||
const [breadcrumbConfig, setBreadcrumbConfig] = useState({
|
||||
'/instance_groups': i18n._(t`Instance Groups`),
|
||||
'/instance_groups/add': i18n._(t`Create Instance Groups`),
|
||||
});
|
||||
|
||||
const buildBreadcrumbConfig = useCallback(
|
||||
instanceGroups => {
|
||||
if (!instanceGroups) {
|
||||
return;
|
||||
}
|
||||
setBreadcrumbConfig({
|
||||
'/instance_groups': i18n._(t`Instance Groups`),
|
||||
'/instance_groups/add': i18n._(t`Create Instance Groups`),
|
||||
[`/instance_groups/${instanceGroups.id}`]: `${instanceGroups.name}`,
|
||||
});
|
||||
},
|
||||
[i18n]
|
||||
);
|
||||
return (
|
||||
<>
|
||||
<Breadcrumbs breadcrumbConfig={breadcrumbConfig} />
|
||||
<Switch>
|
||||
<Route path="/instance_groups/add">
|
||||
<InstanceGroupAdd />
|
||||
</Route>
|
||||
<Route path="/instance_groups/:id">
|
||||
<InstanceGroup setBreadcrumb={buildBreadcrumbConfig} />
|
||||
</Route>
|
||||
<Route path="/instance_groups">
|
||||
<InstanceGroupList />
|
||||
</Route>
|
||||
</Switch>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
export default withI18n()(InstanceGroups);
|
||||
|
||||
@ -4,15 +4,13 @@ import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
||||
|
||||
import InstanceGroups from './InstanceGroups';
|
||||
|
||||
describe('<InstanceGroups />', () => {
|
||||
describe('<InstanceGroups/>', () => {
|
||||
let pageWrapper;
|
||||
let pageSections;
|
||||
let title;
|
||||
|
||||
beforeEach(() => {
|
||||
pageWrapper = mountWithContexts(<InstanceGroups />);
|
||||
pageSections = pageWrapper.find('PageSection');
|
||||
title = pageWrapper.find('Title');
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
@ -21,9 +19,7 @@ describe('<InstanceGroups />', () => {
|
||||
|
||||
test('initially renders without crashing', () => {
|
||||
expect(pageWrapper.length).toBe(1);
|
||||
expect(pageSections.length).toBe(2);
|
||||
expect(title.length).toBe(1);
|
||||
expect(title.props().size).toBe('2xl');
|
||||
expect(pageSections.length).toBe(1);
|
||||
expect(pageSections.first().props().variant).toBe('light');
|
||||
});
|
||||
});
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user