Code coverage report for components/selector_menu/list.js

Statements: 80% (8 / 10)      Branches: 100% (2 / 2)      Functions: 75% (3 / 4)      Lines: 80% (8 / 10)      Ignored: none     

All files » components/selector_menu/ » list.js
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 401 1     1               1                     18 52             18               1
var $ = require('jquery');
var React = window.React || require('react/addons');
 
 
var List = React.createClass({
 
  propTypes: {
    optionNames: React.PropTypes.array,
    onOptionSelect: React.PropTypes.func.isRequired
  },
 
  getDefaultProps: function() {
    return {
      optionNames: []
    };
  },
 
  onOptionSelect: function(ev) {
    var optionName = $(ev.currentTarget).text();
    this.props.onOptionSelect(optionName);
  },
 
  render: function() {
    var options = this.props.optionNames.map(function(optionName) {
      return (
        <li key={optionName} className="option" onClick={this.onOptionSelect}>
          <span>{optionName}</span>
        </li>
      );
    }, this);
 
    return (
      <ul className="options">
        {options}
      </ul>
    );
  }
});
 
module.exports = List;