diff --git a/public/app/core/components/PageHeader/PageHeader.tsx b/public/app/core/components/PageHeader/PageHeader.tsx
index f2c6d3f1bad..a7eda15bc22 100644
--- a/public/app/core/components/PageHeader/PageHeader.tsx
+++ b/public/app/core/components/PageHeader/PageHeader.tsx
@@ -1,4 +1,5 @@
import React from 'react';
+import { observer } from 'mobx-react';
import { NavModel, NavModelItem } from '../../nav_model_srv';
import classNames from 'classnames';
import appEvents from 'app/core/app_events';
@@ -7,49 +8,7 @@ export interface IProps {
model: NavModel;
}
-function TabItem(tab: NavModelItem) {
- if (tab.hideFromTabs) {
- return null;
- }
-
- let tabClasses = classNames({
- 'gf-tabs-link': true,
- active: tab.active,
- });
-
- return (
-
-
-
- {tab.text}
-
-
- );
-}
-
-function SelectOption(navItem: NavModelItem) {
- if (navItem.hideFromTabs) {
- // TODO: Rename hideFromTabs => hideFromNav
- return null;
- }
-
- return (
-
- );
-}
-
-function Navigation({ main }: { main: NavModelItem }) {
- return (
-
- );
-}
-
-function SelectNav({ main, customCss }: { main: NavModelItem; customCss: string }) {
+const SelectNav = observer(({ main, customCss }: { main: NavModelItem; customCss: string }) => {
const defaultSelectedItem = main.children.find(navItem => {
return navItem.active === true;
});
@@ -66,20 +25,62 @@ function SelectNav({ main, customCss }: { main: NavModelItem; customCss: string
{/* Label to make it clickable */}
);
-}
+});
-function Tabs({ main, customCss }: { main: NavModelItem; customCss: string }) {
- return {main.children.map(TabItem)}
;
-}
+const Tabs = observer(({ main, customCss }: { main: NavModelItem; customCss: string }) => {
+ return (
+
+ {main.children.map((tab, idx) => {
+ if (tab.hideFromTabs) {
+ return null;
+ }
+ const tabClasses = classNames({
+ 'gf-tabs-link': true,
+ active: tab.active,
+ });
+
+ return (
+ -
+
+
+ {tab.text}
+
+
+ );
+ })}
+
+ );
+});
+
+const Navigation = ({ main }: { main: NavModelItem }) => {
+ return (
+
+ );
+};
+
+@observer
export default class PageHeader extends React.Component {
constructor(props) {
super(props);
@@ -140,7 +141,6 @@ export default class PageHeader extends React.Component {
if (!model) {
return null;
}
-
return (