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