// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. import React from 'react'; import {Link} from 'react-router/es6'; export default class AdminSidebarCategory extends React.Component { static get propTypes() { return { name: React.PropTypes.string, title: React.PropTypes.node.isRequired, icon: React.PropTypes.string.isRequired, sectionClass: React.PropTypes.string, parentLink: React.PropTypes.string, children: React.PropTypes.node, action: React.PropTypes.node }; } static get defaultProps() { return { parentLink: '' }; } static get contextTypes() { return { router: React.PropTypes.object.isRequired }; } render() { let link = this.props.parentLink; let title = (
{this.props.title} {this.props.action}
); if (this.props.name) { link += '/' + name; title = ( {title} ); } let clonedChildren = null; if (this.props.children && this.context.router.isActive(link)) { clonedChildren = ( ); } return (
  • {title} {clonedChildren}
  • ); } }