Implement PageHeader in logs viewer page

pull/3662/head
Alex P 2018-06-13 14:05:43 -07:00
parent c343e9995d
commit 56d5699e10
2 changed files with 44 additions and 34 deletions

View File

@ -3,6 +3,8 @@ import React, {PureComponent} from 'react'
import {Source, Namespace} from 'src/types' import {Source, Namespace} from 'src/types'
import classnames from 'classnames' import classnames from 'classnames'
import Dropdown from 'src/shared/components/Dropdown' import Dropdown from 'src/shared/components/Dropdown'
import PageHeader from 'src/shared/components/PageHeader'
import PageHeaderTitle from 'src/shared/components/PageHeaderTitle'
import TimeRangeDropdown from 'src/logs/components/TimeRangeDropdown' import TimeRangeDropdown from 'src/logs/components/TimeRangeDropdown'
import {TimeRange} from 'src/types' import {TimeRange} from 'src/types'
@ -27,37 +29,47 @@ interface Props {
class LogViewerHeader extends PureComponent<Props> { class LogViewerHeader extends PureComponent<Props> {
public render(): JSX.Element { public render(): JSX.Element {
const {timeRange} = this.props
return ( return (
<div className="page-header full-width"> <PageHeader
<div className="page-header--container"> renderTitle={this.renderHeaderTitle}
<div className="page-header--left"> fullWidth={true}
{this.status} renderOptions={this.renderHeaderOptions}
<h1 className="page-header--title logs-viewer-header-title"> />
Log Viewer )
</h1> }
</div>
<div className="page-header--right"> private renderHeaderTitle = (): JSX.Element => {
<Dropdown return (
className="dropdown-300" <>
items={this.sourceDropDownItems} {this.status}
selected={this.selectedSource} <PageHeaderTitle title="Logs Viewer" />
onChoose={this.handleChooseSource} </>
/> )
<Dropdown }
className="dropdown-180"
iconName="disks" private renderHeaderOptions = (): JSX.Element => {
items={this.namespaceDropDownItems} const {timeRange} = this.props
selected={this.selectedNamespace}
onChoose={this.handleChooseNamespace} return (
/> <>
<TimeRangeDropdown <Dropdown
onChooseTimeRange={this.handleChooseTimeRange} className="dropdown-300"
selected={timeRange} items={this.sourceDropDownItems}
/> selected={this.selectedSource}
</div> onChoose={this.handleChooseSource}
</div> />
</div> <Dropdown
className="dropdown-180"
iconName="disks"
items={this.namespaceDropDownItems}
selected={this.selectedNamespace}
onChoose={this.handleChooseNamespace}
/>
<TimeRangeDropdown
onChooseTimeRange={this.handleChooseTimeRange}
selected={timeRange}
/>
</>
) )
} }

View File

@ -16,10 +16,6 @@ $logs-viewer-gutter: 60px;
flex-wrap: nowrap; flex-wrap: nowrap;
} }
.logs-viewer-header-title {
margin-left: 10px;
}
.logs-viewer--graph-container { .logs-viewer--graph-container {
padding: 22px ($logs-viewer-gutter - 16px) 10px ($logs-viewer-gutter - 16px); padding: 22px ($logs-viewer-gutter - 16px) 10px ($logs-viewer-gutter - 16px);
height: $logs-viewer-graph-height; height: $logs-viewer-graph-height;
@ -268,6 +264,8 @@ $logs-viewer-gutter: 60px;
width: 26px; width: 26px;
justify-content: center; justify-content: center;
} }
margin-right: 10px;
} }
.message--cell { .message--cell {