All files / components/controls-menu controls-menu-tab-section.jsx

100% Statements 8/8
100% Branches 4/4
75% Functions 3/4
100% Lines 8/8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50          1x 2x         1x 1x 1x                         1x                       1x         1x            
import React from 'react';
import PropTypes from 'prop-types';
 
class ControlsMenuTabSection extends React.Component {
  render() {
    const content = this.props.content.map((chunk, i) => {
      return (
        <li key={i}>
          <a
            href={chunk.link}
            onClick={chunk.onClick ? e => {
               e.preventDefault();
               e.stopPropagation();
               chunk.onClick();
             } : () => {}}
          >
            <i className={`menu-icon fa ${chunk.icon} ${chunk.theme}`} />
            <div className="menu-info">
              <h4 className="control-sidebar-subheading">{chunk.heading}</h4>
              <p>{chunk.description}</p>
              {chunk.markup || ''}
            </div>
          </a>
        </li>
      );
    });
    return (
      <div>
        <h3 className="control-sidebar-heading">{this.props.heading}</h3>
        <ul className="control-sidebar-menu">
          {content}
          {this.props.children}
        </ul>
      </div>
    );
  }
}
 
ControlsMenuTabSection.propTypes = {
  heading: PropTypes.string,
  content: PropTypes.array
};
 
ControlsMenuTabSection.defaultProps = {
  heading: '',
  content: []
};
 
export default ControlsMenuTabSection;