import React, { PropTypes } from 'react' import linkState from 'boost/linkState' import FolderMark from 'boost/components/FolderMark' import store from 'boost/store' import { updateFolder, destroyFolder } from 'boost/actions' const IDLE = 'IDLE' const EDIT = 'EDIT' const DELETE = 'DELETE' export default class FolderRow extends React.Component { constructor (props) { super(props) this.state = { mode: IDLE } } handleCancelButtonClick (e) { this.setState({ mode: IDLE }) } handleEditButtonClick (e) { this.setState({ mode: EDIT, name: this.props.folder.name }) } handleDeleteButtonClick (e) { this.setState({mode: DELETE}) } handleFolderPublicChange (e) { this.setState({public: e.target.value}) } handleSaveButtonClick (e) { let { folder } = this.props let input = { name: this.state.name } Object.assign(folder, input) store.dispatch(updateFolder(folder)) this.setState({ mode: IDLE }) } handleDeleteConfirmButtonClick (e) { let { folder } = this.props store.dispatch(destroyFolder(folder.key)) } render () { let folder = this.props.folder switch (this.state.mode) { case EDIT: return (