diff options
Diffstat (limited to 'client/components/Folder/Folder.jsx')
| -rw-r--r-- | client/components/Folder/Folder.jsx | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/client/components/Folder/Folder.jsx b/client/components/Folder/Folder.jsx index 891451c..e39b40d 100644 --- a/client/components/Folder/Folder.jsx +++ b/client/components/Folder/Folder.jsx @@ -5,34 +5,36 @@ import Modal from '../Modal.jsx' import client from '../../client.js' +import FileUploadButton from './FileUploadButton.jsx' + export default class Folder extends Component { constructor(props) { super() this.state = { - adding: false, + files: props.folder.files || [], } + this.addFiles = this.addFiles.bind(this) } - toggle(folder) { - folder.open = ! folder.open - if (folder.open && ! folder.files) { - client.files.index({ 'folder_id': folder.id }).then( files => { - this.props.openFolder(folder) - }) - } + addFiles(newFiles) { + console.log(newFiles) + if (! newFiles) return + const files = this.state.files.concat(newFiles).sort( (a,b) => { return b.id - a.id } ) + this.setState({ files }) } render() { console.log(this.props) - const folders = (this.props.folders || []).map( (folder,i) => { + const files = (this.state.files).map( (file, i) => { + if (! file) return return ( - <div key={i} onClick={() => this.toggle(folder)}> - {folder.name} + <div key={i}> + {file.name} </div> ) }) return ( <div class='folders'> - <b>{this.props.folder.name}</b> <button onClick={() => {}}>+ file</button> - {folders} + <b>{this.props.folder.name}</b> <FileUploadButton folder={this.props.folder} addFiles={this.addFiles} /> + {files} </div> ) } |
