|
@@ -1,6 +1,8 @@
|
|
|
// Libraries
|
|
// Libraries
|
|
|
import React, { Component } from 'react';
|
|
import React, { Component } from 'react';
|
|
|
import config from 'app/core/config';
|
|
import config from 'app/core/config';
|
|
|
|
|
+import { NavModel } from 'app/types';
|
|
|
|
|
+import { getTitleFromNavModel } from 'app/core/selectors/navModel';
|
|
|
|
|
|
|
|
// Components
|
|
// Components
|
|
|
import PageHeader from '../PageHeader/PageHeader';
|
|
import PageHeader from '../PageHeader/PageHeader';
|
|
@@ -11,6 +13,7 @@ import { CustomScrollbar } from '@grafana/ui';
|
|
|
interface Props {
|
|
interface Props {
|
|
|
title?: string;
|
|
title?: string;
|
|
|
children: JSX.Element[] | JSX.Element;
|
|
children: JSX.Element[] | JSX.Element;
|
|
|
|
|
+ navModel: NavModel;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
class Page extends Component<Props> {
|
|
class Page extends Component<Props> {
|
|
@@ -35,26 +38,36 @@ class Page extends Component<Props> {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
updateTitle = () => {
|
|
updateTitle = () => {
|
|
|
- const { title } = this.props;
|
|
|
|
|
|
|
+ const title = this.getPageTitle;
|
|
|
document.title = title ? title + ' - Grafana' : 'Grafana';
|
|
document.title = title ? title + ' - Grafana' : 'Grafana';
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ get getPageTitle () {
|
|
|
|
|
+ const { navModel } = this.props;
|
|
|
|
|
+ if (navModel) {
|
|
|
|
|
+ return getTitleFromNavModel(navModel) || undefined;
|
|
|
|
|
+ }
|
|
|
|
|
+ return undefined;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
render() {
|
|
render() {
|
|
|
|
|
+ const { navModel } = this.props;
|
|
|
const { buildInfo } = config;
|
|
const { buildInfo } = config;
|
|
|
return (
|
|
return (
|
|
|
- <div className="page-scrollbar-wrapper">
|
|
|
|
|
- <CustomScrollbar autoHeightMin={'100%'}>
|
|
|
|
|
- <div className="page-scrollbar-content">
|
|
|
|
|
- {this.props.children}
|
|
|
|
|
- <Footer
|
|
|
|
|
- appName="Grafana"
|
|
|
|
|
- buildCommit={buildInfo.commit}
|
|
|
|
|
- buildVersion={buildInfo.version}
|
|
|
|
|
- newGrafanaVersion={buildInfo.latestVersion}
|
|
|
|
|
- newGrafanaVersionExists={buildInfo.hasUpdate} />
|
|
|
|
|
- </div>
|
|
|
|
|
- </CustomScrollbar>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <div className="page-scrollbar-wrapper">
|
|
|
|
|
+ <CustomScrollbar autoHeightMin={'100%'}>
|
|
|
|
|
+ <div className="page-scrollbar-content">
|
|
|
|
|
+ <PageHeader model={navModel} />
|
|
|
|
|
+ {this.props.children}
|
|
|
|
|
+ <Footer
|
|
|
|
|
+ appName="Grafana"
|
|
|
|
|
+ buildCommit={buildInfo.commit}
|
|
|
|
|
+ buildVersion={buildInfo.version}
|
|
|
|
|
+ newGrafanaVersion={buildInfo.latestVersion}
|
|
|
|
|
+ newGrafanaVersionExists={buildInfo.hasUpdate} />
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </CustomScrollbar>
|
|
|
|
|
+ </div>
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|