diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2017-07-19 00:50:05 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2017-07-19 00:50:05 +0200 |
| commit | 64e8c03dea044752bf3f2f228462721fe565f950 (patch) | |
| tree | 41b48b67f69979bfc97be166129ee41c8dcb0c7f /client | |
| parent | 11a70bc347587219b2ec7b63cf4a6ff69bb4199b (diff) | |
refactor all the worker stuff
Diffstat (limited to 'client')
| -rw-r--r-- | client/actions/index.js | 7 | ||||
| -rw-r--r-- | client/components/UI/AudioPlayerView.jsx | 4 | ||||
| -rw-r--r-- | client/components/UI/Header.jsx | 2 | ||||
| -rw-r--r-- | client/index.jsx | 22 | ||||
| -rw-r--r-- | client/reducers/currentTask.js | 11 | ||||
| -rw-r--r-- | client/reducers/folders.js | 2 | ||||
| -rw-r--r-- | client/reducers/tasks.js | 13 | ||||
| -rw-r--r-- | client/socket.js | 4 | ||||
| -rw-r--r-- | client/store.js | 23 |
9 files changed, 53 insertions, 35 deletions
diff --git a/client/actions/index.js b/client/actions/index.js index afcd10a..5b180ea 100644 --- a/client/actions/index.js +++ b/client/actions/index.js @@ -25,8 +25,13 @@ export const setAlpha = (alpha) => ({ export const createTask = () => ({ type: 'CREATE_TASK', }) -export const addTask = () => ({ +export const addTask = (task) => ({ type: 'ADD_TASK', + task, +}) +export const taskUpdated = (task) => ({ + type: 'TASK_UPDATED', + task, }) /* tasks */ diff --git a/client/components/UI/AudioPlayerView.jsx b/client/components/UI/AudioPlayerView.jsx index 62745ed..d2c9982 100644 --- a/client/components/UI/AudioPlayerView.jsx +++ b/client/components/UI/AudioPlayerView.jsx @@ -8,14 +8,14 @@ export default function AudioPlayerView (props) { audio.src = mp3path(props.file) audio.play() return ( - <div> + <div class='audioPlayer'> Playing {props.file.name} </div> ) } else { return ( - <div> + <div class='audioPlayer'> Not Playing </div> ) diff --git a/client/components/UI/Header.jsx b/client/components/UI/Header.jsx index 3f643ba..2d35d39 100644 --- a/client/components/UI/Header.jsx +++ b/client/components/UI/Header.jsx @@ -10,7 +10,7 @@ export default class Header extends Component { render() { return ( <div class='header'> - <b>spawn cortex</b> + <div class='title'>spawn cortex</div> <AudioPlayer /> </div> ) diff --git a/client/index.jsx b/client/index.jsx index b0815f4..1a8577e 100644 --- a/client/index.jsx +++ b/client/index.jsx @@ -2,8 +2,30 @@ import { h, render } from 'preact' import { Provider } from 'react-redux' import App from './components/App.jsx' import store from './store' +import client from './client' import socket from './socket' +import { loadFolders, loadOpenFolders, loadFiles, loadTasks } from './actions/index.js' + +client.folder.index().then( folders => { + store.dispatch(loadFolders(folders)) + try { + const openFolders = JSON.parse(localStorage['openFolders']) + store.dispatch( loadOpenFolders(openFolders) ) + openFolders.forEach( folder_id => { + client.file.index({ folder_id }).then( files => { + store.dispatch(loadFiles(files)) + }) + }) + } + catch (e) { + console.log('error opening folders') + } +}) +client.task.index().then( tasks => { + store.dispatch(loadTasks(tasks)) +}) + const app = ( <Provider store={store}> <App /> diff --git a/client/reducers/currentTask.js b/client/reducers/currentTask.js index e760fba..126c35d 100644 --- a/client/reducers/currentTask.js +++ b/client/reducers/currentTask.js @@ -23,18 +23,15 @@ const currentTask = (state = {}, action) => { content_file_id: state.content.id, style_file_id: state.style.id, alpha: state.alpha || '0.001', - command: 'nsatf.py', + tool: 'nsatf', completed: false, } client.task.create( record ).then( (data) => { - addTask( data ) + data.content_file = state.content + data.style_file = state.file + // store.dispatch( addTask( data ) ) }) - return state -// case 'ADD_TASK': -// return { -// ...state -// } default: return state } diff --git a/client/reducers/folders.js b/client/reducers/folders.js index d6bdd46..a69df74 100644 --- a/client/reducers/folders.js +++ b/client/reducers/folders.js @@ -90,6 +90,7 @@ const folders = (state = {}, action) => { ...state, folders } + case 'UPDATE_FILE': file = action.file folders = state.folders.map( (folder) => { @@ -106,6 +107,7 @@ const folders = (state = {}, action) => { ...state, folders: folders } + default: return state } diff --git a/client/reducers/tasks.js b/client/reducers/tasks.js index d6ef8e1..9edd82a 100644 --- a/client/reducers/tasks.js +++ b/client/reducers/tasks.js @@ -1,10 +1,21 @@ // import { addTask } from '../actions' import client from '../client' -const tasks = (state = {}, action) => { +const tasks = (state = [], action) => { switch (action.type) { case 'LOAD_TASKS': return action.tasks + case 'ADD_TASK': + console.log(action) + return state.concat([action.task]) + case 'TASK_UPDATED': + const updated_tasks = state.map(task => { + if (task.id == id) { + return task + } + return id + }) + return updated_tasks default: return state } diff --git a/client/socket.js b/client/socket.js index 635bf62..d94a968 100644 --- a/client/socket.js +++ b/client/socket.js @@ -13,5 +13,9 @@ socket.on('processed', (data) => { console.log('processed', data) store.dispatch(updateFile(data.file)) }) +socket.on('completed', (data) => { + console.log('completed', data) + store.dispatch(updateTask(data.task)) +}) export default socket diff --git a/client/store.js b/client/store.js index 5b38d45..1ac7be1 100644 --- a/client/store.js +++ b/client/store.js @@ -1,8 +1,5 @@ import { createStore } from 'redux' import reducer from './reducers/index.js' -import { loadFolders, loadOpenFolders, loadFiles, loadTasks } from './actions/index.js' - -import client from './client.js' const store = createStore(reducer, { currentTask: { @@ -20,24 +17,4 @@ const store = createStore(reducer, { }, }) -client.folder.index().then( folders => { - store.dispatch(loadFolders(folders)) - try { - const openFolders = JSON.parse(localStorage['openFolders']) - store.dispatch( loadOpenFolders(openFolders) ) - openFolders.forEach( folder_id => { - client.file.index({ folder_id }).then( files => { - store.dispatch(loadFiles(files)) - }) - }) - } - catch (e) { - console.log('error opening folders') - } -}) -client.task.index().then( tasks => { - store.dispatch(loadTasks(tasks)) -}) - - export default store |
