Skip to content

Commit

Permalink
Merge pull request #116 from ReCodEx/fix_upload_files
Browse files Browse the repository at this point in the history
Fix saving files with *.PAS extension into state
  • Loading branch information
SemaiCZE committed Oct 25, 2017
2 parents 3d85b6c + 4365cc4 commit c9f9983
Showing 1 changed file with 30 additions and 27 deletions.
57 changes: 30 additions & 27 deletions src/redux/modules/upload.js
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ export const removeFailedFile = createAction(
export const uploadSuccessful = createAction(
actionTypes.UPLOAD_FULFILLED,
(id, payload) => payload,
id => ({ id })
(id, file) => ({ id, fileName: file.name })
);
export const uploadFailed = createAction(
actionTypes.UPLOAD_FAILED,
Expand Down Expand Up @@ -80,41 +80,25 @@ const reducer = handleActions(
list.push({ name: fileName, file: payload[fileName] })
)
.updateIn([id, 'failed'], list =>
list.filter(item => item.name !== payload.name)
list.filter(item => item.name !== fileName)
)
.updateIn([id, 'removed'], list =>
list.filter(item => item.name !== payload.name)
list.filter(item => item.name !== fileName)
)
.updateIn([id, 'uploaded'], list =>
list.filter(item => item.name !== payload.name)
list.filter(item => item.name !== fileName)
),

[actionTypes.REMOVE_FILE]: (state, { payload, meta: { id } }) =>
state
.updateIn([id, 'uploaded'], list =>
list.filter(item => item.name !== payload.name)
)
.updateIn([id, 'removed'], list => list.push(payload)),

[actionTypes.RETURN_FILE]: (state, { payload, meta: { id } }) =>
state
.updateIn([id, 'removed'], list =>
list.filter(item => item.name !== payload.name)
)
.updateIn([id, 'uploaded'], list => list.push(payload)),

[actionTypes.REMOVE_FAILED_FILE]: (state, { payload, meta: { id } }) =>
state.updateIn([id, 'failed'], list =>
list.filter(item => item.name !== payload.name)
),

[actionTypes.UPLOAD_FULFILLED]: (state, { payload, meta: { id } }) =>
[actionTypes.UPLOAD_FULFILLED]: (
state,
{ payload, meta: { id, fileName } }
) =>
state
.updateIn([id, 'uploading'], list =>
list.filter(item => item.name !== payload.name)
list.filter(item => item.name !== fileName)
)
.updateIn([id, 'uploaded'], list =>
list.filter(item => item.name !== payload.name)
list.filter(item => item.name !== fileName)
) // overwrite file with the same name
.updateIn([id, 'uploaded'], list =>
list.push({ name: payload.name, file: payload })
Expand All @@ -129,7 +113,26 @@ const reducer = handleActions(
list.filter(item => item.name !== fileName)
)
.updateIn([id, 'failed'], list => list.push(file));
}
},

[actionTypes.REMOVE_FILE]: (state, { payload, meta: { id } }) =>
state
.updateIn([id, 'uploaded'], list =>
list.filter(item => item.name !== payload.name)
)
.updateIn([id, 'removed'], list => list.push(payload)),

[actionTypes.RETURN_FILE]: (state, { payload, meta: { id } }) =>
state
.updateIn([id, 'removed'], list =>
list.filter(item => item.name !== payload.name)
)
.updateIn([id, 'uploaded'], list => list.push(payload)),

[actionTypes.REMOVE_FAILED_FILE]: (state, { payload, meta: { id } }) =>
state.updateIn([id, 'failed'], list =>
list.filter(item => item.name !== payload.name)
)
},
initialState
);
Expand Down

0 comments on commit c9f9983

Please sign in to comment.