diff options
Diffstat (limited to 'client/components/Folders')
| -rw-r--r-- | client/components/Folders/FolderForm.jsx | 26 | ||||
| -rw-r--r-- | client/components/Folders/Folders.jsx | 21 |
2 files changed, 34 insertions, 13 deletions
diff --git a/client/components/Folders/FolderForm.jsx b/client/components/Folders/FolderForm.jsx index 3a3c54e..6068400 100644 --- a/client/components/Folders/FolderForm.jsx +++ b/client/components/Folders/FolderForm.jsx @@ -23,23 +23,25 @@ export default class FolderForm extends Component { } handleSubmit(event) { event.preventDefault() - client.folders.create( this.state ).then( (data) => { - + let rec = Object.assign({}, this.state) + delete rec.error + client.folder.create( rec ).then( (data) => { + console.log(data) }) } render() { return ( - <div class='folderForm'> + <div class='form'> + <h1>Create a new folder</h1> <div> - <h1>Create a new folder</h1> - <div> - <label for='folders_folder_name'>Folder name</label> - <input type='text' id='folders_folder_name' name='name' value={this.state.name} onChange={this.updateState} /> - </div> - <div> - <label></label> - <button onClick={() => this.create()>Create</button> - </div> + <label for='folders_folder_name'>Name</label> + <input type='text' id='folders_folder_name' name='name' value={this.state.name} onChange={this.updateState} /> + <label for='folders_folder_description'>Description</label> + <textarea id='folders_folder_description' name='description' value={this.state.description} onChange={this.updateState} /> + </div> + <div> + <label></label> + <button onClick={this.handleSubmit}>Create</button> </div> </div> ) diff --git a/client/components/Folders/Folders.jsx b/client/components/Folders/Folders.jsx index 7c27311..e5d5d76 100644 --- a/client/components/Folders/Folders.jsx +++ b/client/components/Folders/Folders.jsx @@ -4,6 +4,8 @@ import { Link } from 'react-router-dom' import Modal from '../Modal.jsx' import FolderForm from './FolderForm.jsx' +import client from '../../client.js' + export default class Folders extends Component { constructor(props) { super() @@ -17,10 +19,27 @@ export default class Folders extends Component { closeModal() { this.setState({ adding: false }) } + toggle(folder) { + folder.open = ! folder.open + if (folder.open && ! folder.files) { + client.file.index({ 'folder_id': folder.id }).then( files => { + this.props.openFolder(folder) + }) + } + } render() { + console.log(this.props) + const folders = (this.props.folders || []).map( (folder,i) => { + return ( + <div key={i} onClick={() => this.toggle(folder)}> + {folder.name} + </div> + ) + }) return ( <div class='folders'> - <button onClick={() => this.openModal()}>+</button> + <b>folders</b> <button onClick={() => this.openModal()}>+ folder</button> + {folders} <Modal visible={this.state.adding} onClose={() => this.closeModal()}> <FolderForm /> </Modal> |
