@plone/volto
Version:
Volto
50 lines (47 loc) • 1.11 kB
JavaScript
import { GET_CONTEXT_NAVIGATION } from '@plone/volto/constants/ActionTypes';
/**
* Context Navigation reducer.
* @function navigation
* @param {Object} state Current state.
* @param {Object} action Action to be handled.
* @returns {Object} New state.
*/
export default function rawdata(state = {}, action = {}) {
let { result, url } = action;
switch (action.type) {
case `${GET_CONTEXT_NAVIGATION}_PENDING`:
return {
...state,
[url]: {
...state[url],
loading: true,
loaded: false,
error: undefined,
},
};
case `${GET_CONTEXT_NAVIGATION}_SUCCESS`:
return {
...state,
[url]: {
...state[url],
loading: false,
loaded: true,
error: undefined,
data: result,
},
};
case `${GET_CONTEXT_NAVIGATION}_FAIL`:
return {
...state,
[url]: {
...state[url],
loading: false,
loaded: false,
error: action.error,
},
};
default:
break;
}
return state;
}