summaryrefslogtreecommitdiff
path: root/client/components/Folders
diff options
context:
space:
mode:
Diffstat (limited to 'client/components/Folders')
-rw-r--r--client/components/Folders/FolderForm.jsx26
-rw-r--r--client/components/Folders/Folders.jsx21
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>