summaryrefslogtreecommitdiff
path: root/app/client
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2018-06-05 17:01:04 +0200
committerJules Laplace <julescarbon@gmail.com>2018-06-05 17:01:04 +0200
commitc80b4686ec46504cf7050c4698d16646f18dc70d (patch)
tree58ea11abc45987f02ed7a5844d938328be915bbd /app/client
parentc6148423fa2ebec86fa8c4c4cfc189b77a3949ec (diff)
deleting tasks
Diffstat (limited to 'app/client')
-rw-r--r--app/client/dashboard/tasklist.component.js11
-rw-r--r--app/client/queue/queue.reducer.js11
2 files changed, 22 insertions, 0 deletions
diff --git a/app/client/dashboard/tasklist.component.js b/app/client/dashboard/tasklist.component.js
index b14202f..a365454 100644
--- a/app/client/dashboard/tasklist.component.js
+++ b/app/client/dashboard/tasklist.component.js
@@ -3,6 +3,8 @@ import { bindActionCreators } from 'redux'
import { connect } from 'react-redux'
import * as util from '../util'
+import actions from '../actions'
+
class TaskList extends Component {
constructor(props){
super()
@@ -24,6 +26,9 @@ class TaskList extends Component {
<div class='activity'>{task.activity} {task.module} {dataset_type}</div>
<div class='dataset'>{dataset_name}</div>
<div className={"age " + util.carbon_date(task.updated_at)}>{util.get_age(task.updated_at)}</div>
+ <div class='options'>
+ <span class='destroy' onClick={() => this.handleDestroy(task)}>x</span>
+ </div>
</div>
)
})
@@ -33,6 +38,12 @@ class TaskList extends Component {
</div>
)
}
+ handleDestroy(task) {
+ const yes = confirm('Are you sure you want to delete this task?')
+ if (yes) {
+ actions.task.destroy(task)
+ }
+ }
}
const mapStateToProps = state => ({
diff --git a/app/client/queue/queue.reducer.js b/app/client/queue/queue.reducer.js
index 9a791ce..b9ed194 100644
--- a/app/client/queue/queue.reducer.js
+++ b/app/client/queue/queue.reducer.js
@@ -48,6 +48,17 @@ const queueReducer = (state = queueInitialState, action) => {
[action.data.id]: action.data,
},
}
+ case types.task.destroy:
+ const {
+ [action.data.id]: deletedTask,
+ ...taskLookup,
+ } = state.tasks
+ return {
+ ...state,
+ queue: state.queue.filter(id => id !== deletedTask.id),
+ completed: state.completed.filter(id => id !== deletedTask.id),
+ tasks: taskLookup,
+ }
case types.task.task_finish:
return {
...state,