diff options
Diffstat (limited to 'client/containers')
| -rw-r--r-- | client/containers/browser.js | 12 | ||||
| -rw-r--r-- | client/containers/fileList.js | 21 | ||||
| -rw-r--r-- | client/containers/folderList.js | 23 | ||||
| -rw-r--r-- | client/containers/newFolder.js | 29 |
4 files changed, 74 insertions, 11 deletions
diff --git a/client/containers/browser.js b/client/containers/browser.js index 74c0e8d..e92dbbe 100644 --- a/client/containers/browser.js +++ b/client/containers/browser.js @@ -1,5 +1,5 @@ import { connect } from 'react-redux' -import { addFile, addFiles, addFolder, openFolder, closeFolder } from '../actions' +import { addFile, addFiles } from '../actions' import BrowserView from '../components/Browser/BrowserView.jsx' const mapStateToProps = state => state.folders @@ -11,16 +11,6 @@ const mapDispatchToProps = (dispatch, ownProps) => ({ addFiles: (files) => { dispatch(addFiles(files)) }, - addFolder: (folder) => { - dispatch(addFolder(folder)) - }, - openFolder: (folder) => { - dispatch(openFolder(folder)) - }, - closeFolder: (folder) => { - console.log(folder) - dispatch(closeFolder(folder)) - } }) const Browser = connect( diff --git a/client/containers/fileList.js b/client/containers/fileList.js new file mode 100644 index 0000000..3e6554d --- /dev/null +++ b/client/containers/fileList.js @@ -0,0 +1,21 @@ +import { connect } from 'react-redux' +import { addFiles, closeFolder } from '../actions' +import FolderListView from '../components/Browser/Files/FileListView.jsx' + +const mapStateToProps = (state) => (state.folders) + +const mapDispatchToProps = (dispatch, ownProps) => ({ + addFiles: (files) => { + dispatch(addFiles(files)) + }, + onClose: () => { + dispatch(closeFolder(ownProps.folder)) + }, +}) + +const FolderList = connect( + mapStateToProps, + mapDispatchToProps +)(FolderListView) + +export default FolderList diff --git a/client/containers/folderList.js b/client/containers/folderList.js new file mode 100644 index 0000000..6c58ee5 --- /dev/null +++ b/client/containers/folderList.js @@ -0,0 +1,23 @@ +import { connect } from 'react-redux' +import { initNewFolder, openFolder, addFiles } from '../actions' +import FolderListView from '../components/Browser/Folders/FolderListView.jsx' + +const mapStateToProps = (state) => (state.folders) + +const mapDispatchToProps = (dispatch, ownProps) => ({ + initNewFolder: () => { + dispatch(initNewFolder()) + }, + openFolder: (folder) => { + dispatch(openFolder(folder, (files) => { + dispatch(addFiles(files)) + })) + }, +}) + +const FolderList = connect( + mapStateToProps, + mapDispatchToProps +)(FolderListView) + +export default FolderList diff --git a/client/containers/newFolder.js b/client/containers/newFolder.js new file mode 100644 index 0000000..047edde --- /dev/null +++ b/client/containers/newFolder.js @@ -0,0 +1,29 @@ +import { connect } from 'react-redux' +import { + cancelNewFolder, + createNewFolder, + addFolder, +} from '../actions' +import NewFolderView from '../components/Browser/Folders/NewFolderView.jsx' + +const mapStateToProps = (state) => (state.newFolder) + +const mapDispatchToProps = (dispatch, ownProps) => ({ + onClose: () => { + dispatch(cancelNewFolder()) + }, + onChange: (e) => { + const name = e.currentTarget.value + if (! name) return + dispatch(createNewFolder(name, (folder) => { + dispatch(addFolder(folder)) + })) + } +}) + +const NewFolder = connect( + mapStateToProps, + mapDispatchToProps +)(NewFolderView) + +export default NewFolder |
