Major improvements to upload progress.
This commit is contained in:
@@ -5,7 +5,9 @@ const INITIAL_STATE = {
|
||||
uploadInProgress: true,
|
||||
uploadError: null,
|
||||
jobid: null,
|
||||
progress: {}
|
||||
progress: {},
|
||||
cancelTasks: {},
|
||||
cancelTriggered: false,
|
||||
};
|
||||
|
||||
const photosReducer = (state = INITIAL_STATE, action) => {
|
||||
@@ -17,7 +19,9 @@ const photosReducer = (state = INITIAL_STATE, action) => {
|
||||
jobid: action.payload.jobid,
|
||||
uploadInProgress: true,
|
||||
uploadError: null,
|
||||
progress: action.payload.progress || {}
|
||||
progress: action.payload.progress || {},
|
||||
cancelTasks: {},
|
||||
cancelTriggered: false,
|
||||
};
|
||||
case PhotosActionTypes.MEDIA_UPLOAD_FAILURE:
|
||||
return {
|
||||
@@ -31,9 +35,12 @@ const photosReducer = (state = INITIAL_STATE, action) => {
|
||||
progress: { ...state.progress, [action.payload.assetId]: { ...state.progress[action.payload.assetId], ...action.payload } }
|
||||
};
|
||||
case PhotosActionTypes.MEDIA_UPLOAD_SUCCESS_ONE:
|
||||
const { [action.payload.assetId]: _, ...remainingTasks } = state.cancelTasks;
|
||||
|
||||
return {
|
||||
...state,
|
||||
progress: { ...state.progress, [action.payload.assetId]: { ...state.progress[action.payload.assetId], progress: 100, status: 'completed', endTime: new Date() } }
|
||||
progress: { ...state.progress, [action.payload.assetId]: { ...state.progress[action.payload.assetId], progress: 100, status: 'completed', endTime: new Date() } },
|
||||
cancelTasks: remainingTasks
|
||||
};
|
||||
case PhotosActionTypes.MEDIA_UPLOAD_PROGRESS_UPDATE_BULK:
|
||||
return {
|
||||
@@ -46,13 +53,35 @@ const photosReducer = (state = INITIAL_STATE, action) => {
|
||||
uploadInProgress: false,
|
||||
uploadError: null,
|
||||
photos: [],
|
||||
progress: {}
|
||||
progress: {},
|
||||
cancelTasks: {}
|
||||
};
|
||||
case PhotosActionTypes.CLEAR_UPLOAD_ERROR:
|
||||
return {
|
||||
...state,
|
||||
photos: [], progress: {},
|
||||
photos: [],
|
||||
progress: {},
|
||||
uploadError: null,
|
||||
cancelTasks: {},
|
||||
};
|
||||
case PhotosActionTypes.ADD_UPLOAD_CANCEL_TASK:
|
||||
return {
|
||||
...state,
|
||||
cancelTasks: {
|
||||
...state.cancelTasks,
|
||||
[action.payload.assetId]: action.payload.cancelTask,
|
||||
},
|
||||
};
|
||||
case PhotosActionTypes.REMOVE_UPLOAD_CANCEL_TASK:
|
||||
const { [action.payload.assetId]: _2, ...remainingTasks2 } = state.cancelTasks; //2 added for scoped variable conflict.
|
||||
return {
|
||||
...state,
|
||||
cancelTasks: remainingTasks2,
|
||||
};
|
||||
case PhotosActionTypes.CANCEL_UPLOADS:
|
||||
return {
|
||||
...state,
|
||||
cancelTriggered: true,
|
||||
};
|
||||
default:
|
||||
return state;
|
||||
|
||||
Reference in New Issue
Block a user