'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 =>
Name | Strategy | ||
---|---|---|---|