'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)); } else { return this.props.features; } }, render() { const featureNodes = this.filteredFeatures().map(feature => ); return (
{featureNodes}
Name Strategy
); } }); module.exports = FeatureList;