'use strict'; const React = require('react'); const Feature = require('./Feature'); const noop = function () {}; const FeatureList = React.createClass({ propTypes: { features: React.PropTypes.array.isRequired, strategies: React.PropTypes.array.isRequired, }, getDefaultProps () { return { onFeatureChanged: noop, onFeatureArchive: noop, }; }, getInitialState () { return { filter: undefined, }; }, onFilterChange (e) { e.preventDefault(); this.setState({ filter: e.target.value.trim() }); }, filteredFeatures () { if (this.state.filter) { const regex = new RegExp(this.state.filter, 'i'); return this.props.features.filter(item => regex.test(item.name) || regex.test(item.strategy)); } return this.props.features; }, render () { const featureNodes = this.filteredFeatures().map(feature => ); return (
{featureNodes}
Name Strategy
); }, }); module.exports = FeatureList;