From ddf2cc3f5dccc1b22275c3b39366e51036d7815f Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Thu, 7 Jun 2018 16:07:12 +0200 Subject: folder list on new dataset page --- app/client/common/folderList.component.js | 44 +++++++++++++++++++ app/client/common/index.js | 5 ++- app/client/common/views/index.js | 3 ++ app/client/common/views/new.view.js | 35 +++++++++++++++ app/client/dataset/dataset.new.js | 4 +- app/client/modules/pix2pix/index.js | 1 + app/client/modules/pix2pix/pix2pix.module.js | 1 + app/client/modules/pix2pix/views/pix2pix.new.js | 36 ++++++--------- app/client/modules/pix2wav/index.js | 1 + app/client/modules/pix2wav/pix2wav.module.js | 1 + app/client/modules/samplernn/index.js | 1 + app/client/modules/samplernn/samplernn.module.js | 1 + .../modules/samplernn/views/samplernn.import.js | 3 +- .../modules/samplernn/views/samplernn.new.js | 51 +++++----------------- 14 files changed, 122 insertions(+), 65 deletions(-) create mode 100644 app/client/common/folderList.component.js create mode 100644 app/client/common/views/index.js create mode 100644 app/client/common/views/new.view.js (limited to 'app') diff --git a/app/client/common/folderList.component.js b/app/client/common/folderList.component.js new file mode 100644 index 0000000..13ef398 --- /dev/null +++ b/app/client/common/folderList.component.js @@ -0,0 +1,44 @@ +import { h, Component } from 'preact' +import { bindActionCreators } from 'redux' +import { connect } from 'react-redux' +import { Link } from 'react-router-dom' +import util from '../util' + +import Group from './group.component' +import Param from './param.component' +import Loading from './loading.component' + +export default function FolderList ({ db, path, emptyText }) { + if (! db) return null + if (db.loading || !db.data) { + return ( +
+ +
+ ) + } else if (! db.data.folders.length && emptyText) { + return ( +
+ {emptyText} +
+ ) + } + console.log(db.data.folders) + const folders = db.data.folders.map(folder => { + const datasetCount = folder.datasets ? folder.datasets.length : 0 + const [ className, size ] = util.hush_null(datasetCount) + return ( + {folder.name}}> + {datasetCount} dataset{util.courtesy_s(datasetCount)} + + ) + }) + + return ( +
+ + {folders} + +
+ ) +} diff --git a/app/client/common/index.js b/app/client/common/index.js index de3e5b4..471bdd3 100644 --- a/app/client/common/index.js +++ b/app/client/common/index.js @@ -1,6 +1,7 @@ import Button from './button.component' import { FileList, FileRow } from './fileList.component' import FileUpload from './fileUpload.component' +import FolderList from './folderList.component' import Gallery from './gallery.component' import Group from './group.component' import Header from './header.component' @@ -12,10 +13,12 @@ import Progress from './progress.component' import Select from './select.component' import Slider from './slider.component' import TextInput from './textInput.component' +import * as Views from './views' export { + Views, Loading, Progress, Header, - FileList, FileRow, FileUpload, + FolderList, FileList, FileRow, FileUpload, Gallery, Player, Group, ParamGroup, Param, TextInput, Slider, Select, Button, diff --git a/app/client/common/views/index.js b/app/client/common/views/index.js new file mode 100644 index 0000000..e7f7386 --- /dev/null +++ b/app/client/common/views/index.js @@ -0,0 +1,3 @@ +import NewView from './new.view.js' + +export const New = NewView diff --git a/app/client/common/views/new.view.js b/app/client/common/views/new.view.js new file mode 100644 index 0000000..93ac3d5 --- /dev/null +++ b/app/client/common/views/new.view.js @@ -0,0 +1,35 @@ +import { h, Component } from 'preact' +import { bindActionCreators } from 'redux' +import { connect } from 'react-redux' +import { Link } from 'react-router-dom' +import util from '../../util' + +import Group from '../group.component' +import Param from '../param.component' +import Loading from '../loading.component' +import FolderList from '../folderList.component' + +import NewDatasetForm from '../../dataset/dataset.new' + +export default class NewView extends Component { + constructor(props){ + super(props) + console.log(props) + if (! props.db.data) { + props.actions.load_directories() + } + } + render(){ + const { module, history, db, path } = this.props + return ( +
+

 {module.displayName || module.name}

+
+
+ + No projects yet. Please create one~} /> +
+
+ ) + } +} diff --git a/app/client/dataset/dataset.new.js b/app/client/dataset/dataset.new.js index a74e0bf..7aed579 100644 --- a/app/client/dataset/dataset.new.js +++ b/app/client/dataset/dataset.new.js @@ -14,12 +14,12 @@ function NewDatasetForm (props) { return (
-

Create a new dataset

+

Create a new {module.name} project

{ actions.createFolder(module, name) .then(folder => { diff --git a/app/client/modules/pix2pix/index.js b/app/client/modules/pix2pix/index.js index f3a4050..607292e 100644 --- a/app/client/modules/pix2pix/index.js +++ b/app/client/modules/pix2pix/index.js @@ -22,6 +22,7 @@ function router () { function links(){ return ( + new sequences train process diff --git a/app/client/modules/pix2pix/pix2pix.module.js b/app/client/modules/pix2pix/pix2pix.module.js index 65e173a..ef831b5 100644 --- a/app/client/modules/pix2pix/pix2pix.module.js +++ b/app/client/modules/pix2pix/pix2pix.module.js @@ -1,5 +1,6 @@ const pix2pixModule = { name: 'pix2pix', + displayName: 'Pix2Pix', datatype: 'video', } diff --git a/app/client/modules/pix2pix/views/pix2pix.new.js b/app/client/modules/pix2pix/views/pix2pix.new.js index f9f5db7..6699cf4 100644 --- a/app/client/modules/pix2pix/views/pix2pix.new.js +++ b/app/client/modules/pix2pix/views/pix2pix.new.js @@ -1,33 +1,24 @@ import { h, Component } from 'preact' import { bindActionCreators } from 'redux' import { connect } from 'react-redux' +import { Link } from 'react-router-dom' +import util from '../../../util' -import NewDatasetForm from '../../../dataset/dataset.new' +import { Views } from '../../../common' import * as pix2pixActions from '../pix2pix.actions' import pix2pixModule from '../pix2pix.module' -class Pix2PixNew extends Component { - constructor(props){ - super(props) - props.actions.load_directories() - } - render(){ - const { pix2pix, history } = this.props - console.log(pix2pix) - let folders - if (pix2pix.data) { - pix2pix.data.folders.forEach(folder => { - console.log(folder) - }) - } - return ( -
- - {folders} -
- ) - } +function Pix2PixNew(props){ + return ( + + ) } const mapStateToProps = state => ({ @@ -39,3 +30,4 @@ const mapDispatchToProps = (dispatch, ownProps) => ({ }) export default connect(mapStateToProps, mapDispatchToProps)(Pix2PixNew) + diff --git a/app/client/modules/pix2wav/index.js b/app/client/modules/pix2wav/index.js index 3a23395..15496a2 100644 --- a/app/client/modules/pix2wav/index.js +++ b/app/client/modules/pix2wav/index.js @@ -21,6 +21,7 @@ function router () { function links(){ return ( + new datasets train process diff --git a/app/client/modules/pix2wav/pix2wav.module.js b/app/client/modules/pix2wav/pix2wav.module.js index bca268f..44c6238 100644 --- a/app/client/modules/pix2wav/pix2wav.module.js +++ b/app/client/modules/pix2wav/pix2wav.module.js @@ -1,5 +1,6 @@ const pix2wavModule = { name: 'pix2wav', + displayName: 'Pix2Wav', datatype: 'spectrogram', } diff --git a/app/client/modules/samplernn/index.js b/app/client/modules/samplernn/index.js index 98195df..55c492e 100644 --- a/app/client/modules/samplernn/index.js +++ b/app/client/modules/samplernn/index.js @@ -25,6 +25,7 @@ function router () { function links(){ return ( + new datasets graph results diff --git a/app/client/modules/samplernn/samplernn.module.js b/app/client/modules/samplernn/samplernn.module.js index 60411b4..6fb4f33 100644 --- a/app/client/modules/samplernn/samplernn.module.js +++ b/app/client/modules/samplernn/samplernn.module.js @@ -1,5 +1,6 @@ const samplernnModule = { name: 'samplernn', + displayName: 'SampleRNN', datatype: 'audio', } diff --git a/app/client/modules/samplernn/views/samplernn.import.js b/app/client/modules/samplernn/views/samplernn.import.js index 61df4da..653d930 100644 --- a/app/client/modules/samplernn/views/samplernn.import.js +++ b/app/client/modules/samplernn/views/samplernn.import.js @@ -34,11 +34,12 @@ class SampleRNNImport extends Component { if (id) { if (parseInt(id)) localStorage.setItem('samplernn.last_id', id) if (! samplernn.folder || samplernn.folder.id !== id) { - samplernnActions.load_directories(id) + this.props.actions.load_directories(id) } } } render(){ + const { samplernn } = this.props let datasets = [], folder; if (this.props.samplernn.data) { datasets = (this.props.samplernn.data.folders || []).map(folder => { diff --git a/app/client/modules/samplernn/views/samplernn.new.js b/app/client/modules/samplernn/views/samplernn.new.js index 821c1d8..b25eab0 100644 --- a/app/client/modules/samplernn/views/samplernn.new.js +++ b/app/client/modules/samplernn/views/samplernn.new.js @@ -4,49 +4,21 @@ import { connect } from 'react-redux' import { Link } from 'react-router-dom' import util from '../../../util' -import { - Group, Param -} from '../../../common' - -import NewDatasetForm from '../../../dataset/dataset.new' +import { Views } from '../../../common' import * as samplernnActions from '../samplernn.actions' import samplernnModule from '../samplernn.module' -class SampleRNNNew extends Component { - constructor(props){ - super(props) - props.actions.load_directories() - } - render(){ - const { samplernn, history } = this.props - console.log(samplernn) - let folders - if (samplernn.data) { - folders = samplernn.data.folders.map(folder => { - console.log(folder) - const datasetCount = folder.datasets ? folder.datasets.length : 0 - const [ className, size ] = util.hush_null(datasetCount) - return ( - {folder.name}}> - {datasetCount} dataset{util.courtesy_s(datasetCount)} - - ) - }) - } - return ( -
-
- - {folders &&
- - {folders} - -
} -
-
- ) - } +function SampleRNNNew(props){ + return ( + + ) } const mapStateToProps = state => ({ @@ -58,3 +30,4 @@ const mapDispatchToProps = (dispatch, ownProps) => ({ }) export default connect(mapStateToProps, mapDispatchToProps)(SampleRNNNew) + -- cgit v1.2.3-70-g09d2