summaryrefslogtreecommitdiff
path: root/app/client/dataset
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2018-06-03 16:34:09 +0200
committerJules Laplace <julescarbon@gmail.com>2018-06-03 16:34:09 +0200
commit3fbc033e37476ff03fc4ad93145976faeea47934 (patch)
treed6472eadb3abad48711730ce8b5cc816c61c6769 /app/client/dataset
parent70551b5c0d32effb316a75d6bbe3c6807f8b4d05 (diff)
reload the whole page. easier
Diffstat (limited to 'app/client/dataset')
-rw-r--r--app/client/dataset/dataset.actions.js38
-rw-r--r--app/client/dataset/dataset.form.js7
-rw-r--r--app/client/dataset/dataset.new.js43
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)