import React, { PropTypes } from 'react'; import Feature from './feature-list-item-component'; import { Link } from 'react-router'; import { Icon, Chip, ChipContact, IconButton, FABButton, Textfield, Menu, MenuItem } from 'react-mdl'; import styles from './feature.scss'; export default class FeatureListComponent extends React.PureComponent { static propTypes () { return { onFeatureClick: PropTypes.func.isRequired, onFeatureRemove: PropTypes.func.isRequired, features: PropTypes.array.isRequired, featureMetrics: PropTypes.object.isRequired, fetchFeatureToggles: PropTypes.func.isRequired, fetchFeatureMetrics: PropTypes.func.isRequired, }; } static contextTypes = { router: React.PropTypes.object, } componentDidMount () { this.props.fetchFeatureToggles(); this.props.fetchFeatureMetrics(); this.timer = setInterval(() => { this.props.fetchFeatureMetrics(); }, 5000); } componentWillUnmount () { clearInterval(this.timer); } toggleMetrics () { this.props.updateSetting('showLastHour', !this.props.settings.showLastHour); } setFilter (v) { this.props.updateSetting('filter', typeof v === 'string' ? v.trim() : ''); } setSort (v) { this.props.updateSetting('sort', typeof v === 'string' ? v.trim() : ''); } render () { const { features, onFeatureClick, onFeatureRemove, featureMetrics, settings } = this.props; return (
this.toggleMetrics()} className={styles.topListItem0}> { settings.showLastHour && } { '1 hour' }   this.toggleMetrics()} className={styles.topListItem0}> { !settings.showLastHour && } { '1 minute' }
{ this.setFilter(e.target.value); }} label="Filter toggles" style={{ width: '100%' }} />
this.setSort(e.target.getAttribute('data-target'))}> Filter by: Default Name Enabled Application name Created Strategies Metrics

); } }