'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;