'use strict'; const React = require('react'); const FeatureForm = require('./FeatureForm'); const LogEntryList = require('../log/LogEntryList'); const eventStore = require('../../stores/EventStore'); const Feature = React.createClass({ getInitialState() { return { editMode: false, showHistory: false, events: [] }; }, handleEventsResponse(response) { this.setState({events: response}); }, toggleHistory() { eventStore.getEventsByName(this.props.feature.name).then(this.handleEventsResponse); this.setState({showHistory: !this.state.showHistory}); }, toggleEditMode() { this.setState({editMode: !this.state.editMode}); }, saveFeature(feature) { this.props.onChange(feature); this.toggleEditMode(); }, archiveFeature() { if (window.confirm(`Are you sure you want to delete ${this.props.feature.name}?`)) { this.props.onArchive(this.props.feature); } }, renderEditMode() { return ( ); }, render() { return ( {this.props.feature.name}
{this.props.feature.description || '\u00a0'} {this.props.feature.strategy}
{this.state.editMode ? this.renderEditMode() : this.renderEmptyRow()} {this.state.showHistory ? this.renderHistory() : this.renderEmptyRow()} ); }, renderEmptyRow() { return (); }, renderHistory() { return ( ); } }); module.exports = Feature;