Add batch delete button to DeadTasksTable

This commit is contained in:
Ken Hibino
2020-12-13 07:51:40 -08:00
parent 62780e201e
commit ef60304015
7 changed files with 175 additions and 19 deletions

View File

@@ -27,6 +27,9 @@ import {
DELETE_DEAD_TASK_BEGIN,
DELETE_DEAD_TASK_SUCCESS,
DELETE_DEAD_TASK_ERROR,
BATCH_DELETE_DEAD_TASKS_BEGIN,
BATCH_DELETE_DEAD_TASKS_SUCCESS,
BATCH_DELETE_DEAD_TASKS_ERROR,
} from "../actions/tasksActions";
import {
ActiveTask,
@@ -87,6 +90,7 @@ interface TasksState {
};
deadTasks: {
loading: boolean;
batchActionPending: boolean;
error: string;
data: DeadTaskExtended[];
};
@@ -115,6 +119,7 @@ const initialState: TasksState = {
},
deadTasks: {
loading: false,
batchActionPending: false,
error: "",
data: [],
},
@@ -269,6 +274,7 @@ function tasksReducer(
return {
...state,
deadTasks: {
...state.deadTasks,
loading: false,
error: "",
data: action.payload.tasks.map((task) => ({
@@ -452,6 +458,38 @@ function tasksReducer(
},
};
case BATCH_DELETE_DEAD_TASKS_BEGIN:
return {
...state,
deadTasks: {
...state.deadTasks,
batchActionPending: true,
},
};
case BATCH_DELETE_DEAD_TASKS_SUCCESS: {
const newData = state.deadTasks.data.filter(
(task) => !action.payload.deleted_keys.includes(task.key)
);
return {
...state,
deadTasks: {
...state.deadTasks,
batchActionPending: false,
data: newData,
},
};
}
case BATCH_DELETE_DEAD_TASKS_ERROR:
return {
...state,
deadTasks: {
...state.deadTasks,
batchActionPending: false,
},
};
default:
return state;
}