import React from 'react'; import { NavModel, NavModelItem } from '../../nav_model_srv'; import classNames from 'classnames'; import appEvents from 'app/core/app_events'; 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 defaultSelectedItem = main.children.find(navItem => { return navItem.active === true; }); const gotoUrl = evt => { var element = evt.target; var url = element.options[element.selectedIndex].value; appEvents.emit('location-change', { href: url }); }; return (
    ); } function Tabs({ main, customCss }: { main: NavModelItem; customCss: string }) { return ; } export default class PageHeader extends React.Component { constructor(props) { super(props); } renderBreadcrumb(breadcrumbs) { const breadcrumbsResult = []; for (let i = 0; i < breadcrumbs.length; i++) { const bc = breadcrumbs[i]; if (bc.url) { breadcrumbsResult.push( {bc.title} ); } else { breadcrumbsResult.push( / {bc.title}); } } return breadcrumbsResult; } renderHeaderTitle(main) { return (
    {main.icon && } {main.img && }
    {main.text &&

    {main.text}

    } {main.breadcrumbs && main.breadcrumbs.length > 0 && (

    {this.renderBreadcrumb(main.breadcrumbs)}

    )} {main.subTitle &&
    {main.subTitle}
    } {main.subType && (
    {main.subType.text}
    )}
    ); } render() { const { model } = this.props; if (!model) { return null; } return (
    {this.renderHeaderTitle(model.main)} {model.main.children && }
    ); } }