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'; } from 'redux';
import { combineEpics, createEpicMiddleware } from 'redux-observable'; 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 app, epics as appEpics } from './app';
import { import {
reducer as challenge, reducer as challenge,
epics as challengeEpics epics as challengeEpics,
formReducer
} from '../templates/Challenges/redux'; } from '../templates/Challenges/redux';
import { reducer as map } from '../components/Map/redux'; import { reducer as map } from '../components/Map/redux';
import servicesCreator from './createServices'; import servicesCreator from './createServices';

View File

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

View File

@ -1,5 +1,7 @@
import { createAction, handleActions } from 'redux-actions'; import { createAction, handleActions } from 'redux-actions';
import { reducer as reduxFormReducer } from 'redux-form';
import { createTypes } from '../../../../utils/stateManagment'; import { createTypes } from '../../../../utils/stateManagment';
import { createPoly } from '../utils/polyvinyl'; import { createPoly } from '../utils/polyvinyl';
import challengeModalEpic from './challenge-modal-epic'; import challengeModalEpic from './challenge-modal-epic';
@ -268,3 +270,23 @@ export const reducer = handleActions(
}, },
initialState 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
});