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 && }
    ); } }