Style job output navigation control bar

This commit is contained in:
Marliana Lara 2020-02-05 12:04:16 -05:00
parent 6389ec50a1
commit 6d792a8234
No known key found for this signature in database
GPG Key ID: 38C73B40DFA809EE
4 changed files with 29 additions and 36 deletions

View File

@ -15,25 +15,21 @@ import ContentError from '@components/ContentError';
import ContentLoading from '@components/ContentLoading';
import JobEvent from './JobEvent';
import JobEventSkeleton from './JobEventSkeleton';
import MenuControls from './MenuControls';
import PageControls from './PageControls';
import HostEventModal from './HostEventModal';
const OutputHeader = styled.div`
font-weight: var(--pf-global--FontWeight--bold);
`;
const OutputToolbar = styled.div`
display: flex;
justify-content: flex-end;
`;
const OutputWrapper = styled.div`
height: calc(100vh - 350px);
background-color: #fafafa;
margin-top: 24px;
font-family: monospace;
font-size: 15px;
outline: 1px solid #d7d7d7;
display: flex;
flex-direction: column;
font-family: monospace;
font-size: 15px;
height: calc(100vh - 350px);
outline: 1px solid #d7d7d7;
`;
const OutputFooter = styled.div`
background-color: #ebebeb;
@ -310,14 +306,12 @@ class JobOutput extends Component {
/>
)}
<OutputHeader>{job.name}</OutputHeader>
<OutputToolbar>
<MenuControls
onScrollFirst={this.handleScrollFirst}
onScrollLast={this.handleScrollLast}
onScrollNext={this.handleScrollNext}
onScrollPrevious={this.handleScrollPrevious}
/>
</OutputToolbar>
<PageControls
onScrollFirst={this.handleScrollFirst}
onScrollLast={this.handleScrollLast}
onScrollNext={this.handleScrollNext}
onScrollPrevious={this.handleScrollPrevious}
/>
<OutputWrapper>
<InfiniteLoader
isRowLoaded={this.isRowLoaded}

View File

@ -21,14 +21,14 @@ async function checkOutput(wrapper, expectedLines) {
}
async function findScrollButtons(wrapper) {
const menuControls = await waitForElement(wrapper, 'MenuControls');
const scrollFirstButton = menuControls.find(
const pageControls = await waitForElement(wrapper, 'PageControls');
const scrollFirstButton = pageControls.find(
'button[aria-label="scroll first"]'
);
const scrollLastButton = menuControls.find(
const scrollLastButton = pageControls.find(
'button[aria-label="scroll last"]'
);
const scrollPreviousButton = menuControls.find(
const scrollPreviousButton = pageControls.find(
'button[aria-label="scroll previous"]'
);
return {

View File

@ -10,26 +10,25 @@ import {
import styled from 'styled-components';
const Wrapper = styled.div`
display: grid;
grid-gap: 20px;
grid-template-columns: repeat(5, 1fr);
display: flex;
height: 35px;
outline: 1px solid #d7d7d7;
width: 100%;
`;
const Button = styled(PFButton)`
&:hover {
background-color: #0066cc;
color: white;
}
position: relative;
z-index: 1;
`;
const MenuControls = ({
const PageControls = ({
onScrollFirst,
onScrollLast,
onScrollNext,
onScrollPrevious,
}) => (
<Wrapper>
<Button variant="plain">
<Button variant="plain" css="margin-right: auto">
<PlusIcon />
</Button>
<Button
@ -51,4 +50,4 @@ const MenuControls = ({
</Wrapper>
);
export default MenuControls;
export default PageControls;

View File

@ -1,6 +1,6 @@
import React from 'react';
import { mount } from 'enzyme';
import MenuControls from './MenuControls';
import PageControls from './PageControls';
let wrapper;
let PlusIcon;
@ -17,14 +17,14 @@ const findChildren = () => {
AngleDownIcon = wrapper.find('AngleDownIcon');
};
describe('MenuControls', () => {
describe('PageControls', () => {
test('should render successfully', () => {
wrapper = mount(<MenuControls />);
wrapper = mount(<PageControls />);
expect(wrapper).toHaveLength(1);
});
test('should render menu control icons', () => {
wrapper = mount(<MenuControls />);
wrapper = mount(<PageControls />);
findChildren();
expect(PlusIcon.length).toBe(1);
expect(AngleDoubleUpIcon.length).toBe(1);