reset form project's fields on submit

This commit is contained in:
ValeraS
2018-09-21 17:30:16 +03:00
committed by Mrugesh Mohapatra
parent d06ed20ef3
commit 960494b595
3 changed files with 28 additions and 4 deletions

View File

@ -8,12 +8,11 @@ import {
} from 'redux';
import { combineEpics, createEpicMiddleware } from 'redux-observable';
import { reducer as formReducer } from 'redux-form';
import { reducer as app, epics as appEpics } from './app';
import {
reducer as challenge,
epics as challengeEpics
epics as challengeEpics,
formReducer
} from '../templates/Challenges/redux';
import { reducer as map } from '../components/Map/redux';
import servicesCreator from './createServices';

View File

@ -22,7 +22,8 @@ import {
challengeMetaSelector,
challengeTestsSelector,
closeModal,
challengeFilesSelector
challengeFilesSelector,
updateProjectFormValues
} from './';
import {
userSelector,
@ -95,6 +96,8 @@ function submitProject(type, state) {
username,
csrfToken,
challengeInfo
).pipe(
concat(of(updateProjectFormValues({})))
);
}

View File

@ -1,5 +1,7 @@
import { createAction, handleActions } from 'redux-actions';
import { reducer as reduxFormReducer } from 'redux-form';
import { createTypes } from '../../../../utils/stateManagment';
import { createPoly } from '../utils/polyvinyl';
import challengeModalEpic from './challenge-modal-epic';
@ -268,3 +270,23 @@ export const reducer = handleActions(
},
initialState
);
const resetProjectFormValues = handleActions({
[types.updateProjectFormValues]: (state, { payload: { solution } }) => {
if (!solution) {
return {
...state,
solution: {},
githubLink: {}
};
}
return state;
}
},
{}
);
export const formReducer = reduxFormReducer.plugin({
'frond-end-form': resetProjectFormValues,
'back-end-form': resetProjectFormValues
});