1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import {
- ReducerRegistry
- } from '../base/redux';
-
- import {
- CANCEL_FEEDBACK,
- SUBMIT_FEEDBACK_ERROR,
- SUBMIT_FEEDBACK_SUCCESS
- } from './actionTypes';
-
- const DEFAULT_STATE = {
- message: '',
-
- // The sentinel value -1 is used to denote no rating has been set and to
- // preserve pre-redux behavior.
- score: -1,
- submitted: false
- };
-
- /**
- * Reduces the Redux actions of the feature features/feedback.
- */
- ReducerRegistry.register(
- 'features/feedback',
- (state = DEFAULT_STATE, action) => {
- switch (action.type) {
- case CANCEL_FEEDBACK: {
- return {
- ...state,
- message: action.message,
- score: action.score
- };
- }
-
- case SUBMIT_FEEDBACK_ERROR:
- case SUBMIT_FEEDBACK_SUCCESS: {
- return {
- ...state,
- message: '',
- score: -1,
- submitted: true
- };
- }
- }
-
- return state;
- });
|