feat: Possibility to change document title on pages using the Page component

This commit is contained in:
Johannes Schill
2019-01-14 16:51:43 +01:00
parent 8237c22e24
commit 06d8243ab5

View File

@ -7,7 +7,7 @@ import PageContents from './PageContents';
import { CustomScrollbar } from '@grafana/ui';
interface Props {
title: string;
title?: string;
children: JSX.Element[] | JSX.Element;
}
@ -23,12 +23,24 @@ class Page extends Component<Props> {
componentDidMount() {
this.body.classList.add(this.bodyClass);
this.copyFooter();
this.updateTitle();
}
componentDidUpdate(prevProps: Props) {
if (prevProps.title !== this.props.title) {
this.updateTitle();
}
}
componentWillUnmount() {
this.body.classList.remove(this.bodyClass);
}
updateTitle = () => {
const { title } = this.props;
document.title = title ? title + ' - Grafana' : 'Grafana';
}
copyFooter = () => {
const c = this.scrollbarElementRef.current;
c.append(this.footer);