diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2018-06-03 16:34:09 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2018-06-03 16:34:09 +0200 |
| commit | 3fbc033e37476ff03fc4ad93145976faeea47934 (patch) | |
| tree | d6472eadb3abad48711730ce8b5cc816c61c6769 /app/client/dataset | |
| parent | 70551b5c0d32effb316a75d6bbe3c6807f8b4d05 (diff) | |
reload the whole page. easier
Diffstat (limited to 'app/client/dataset')
| -rw-r--r-- | app/client/dataset/dataset.actions.js | 38 | ||||
| -rw-r--r-- | app/client/dataset/dataset.form.js | 7 | ||||
| -rw-r--r-- | app/client/dataset/dataset.new.js | 43 |
3 files changed, 64 insertions, 24 deletions
diff --git a/app/client/dataset/dataset.actions.js b/app/client/dataset/dataset.actions.js index 3fad75f..315f1de 100644 --- a/app/client/dataset/dataset.actions.js +++ b/app/client/dataset/dataset.actions.js @@ -4,27 +4,27 @@ import types from '../types' import actions from '../actions' import { parser } from '../api' -export const createOrUpdateFolder = (module, folder, name) => dispatch => { +export const createFolder = (module, name) => dispatch => { + return actions.folder.create({ + // username... should get added inside the API + module: module.name, + datatype: module.datatype, + activity: 'dataset', + name + }) +} + +export const updateFolder = (module, folder, name) => dispatch => { if (! folder || ! folder.id) { - actions.folder.create({ - // username... should get added inside the API - module: module.name, - datatype: module.datatype, - activity: 'dataset', - name - }).then(folder => { - // set current folder - }) - } - else { - actions.folder.update({ - id: folder.id, - module: module.name, - datatype: module.datatype, - activity: 'dataset', - name - }) + return null } + return actions.folder.update({ + id: folder.id, + module: module.name, + datatype: module.datatype, + activity: 'dataset', + name + }) } export const uploadFile = (module, folder, file) => dispatch => { diff --git a/app/client/dataset/dataset.form.js b/app/client/dataset/dataset.form.js index dee0263..f9fc3d7 100644 --- a/app/client/dataset/dataset.form.js +++ b/app/client/dataset/dataset.form.js @@ -11,9 +11,6 @@ import FileUpload from '../common/fileUpload.component' import TextInput from '../common/textInput.component' class DatasetForm extends Component { - constructor(props){ - super() - } render(){ const { loading, status, error, @@ -49,9 +46,9 @@ class DatasetForm extends Component { } renderFolderNameInput(name){ return <TextInput - title={!this.props.folder.id ? 'Create a new dataset' : 'Dataset name'} + title={'Dataset name'} value={name} - onSave={this.curry(this.props.actions.dataset.createOrUpdateFolder)} + onSave={this.curry(this.props.actions.dataset.updateFolder)} /> } renderUploadInput(){ diff --git a/app/client/dataset/dataset.new.js b/app/client/dataset/dataset.new.js new file mode 100644 index 0000000..16ee8c1 --- /dev/null +++ b/app/client/dataset/dataset.new.js @@ -0,0 +1,43 @@ +import { h, Component } from 'preact' +import { bindActionCreators } from 'redux' +import { connect } from 'react-redux' + +import * as datasetActions from './dataset.actions' + +import TextInput from '../common/textInput.component' + +function NewDatasetForm (props) { + const { loading, status, error, history, actions, module } = props + if (loading) return <span>Loading...</span> + console.log(props) + return ( + <div class='opaque'> + <div class='heading'> + <h2>Create a new dataset</h2> + </div> + <div class='params'> + <TextInput + autofocus + title={'Name your dataset'} + onSave={(name) => { + actions.createFolder(module, name) + .then(folder => { + window.location.href = '/samplernn/datasets/' + folder.id + '/' + }) + }} + /> + </div> + </div> + ) +} + +const mapStateToProps = state => { + console.log(state); + return state.dataset +} + +const mapDispatchToProps = (dispatch, ownProps) => ({ + actions: bindActionCreators(datasetActions, dispatch), +}) + +export default connect(mapStateToProps, mapDispatchToProps)(NewDatasetForm) |
