UNPKG

extpoint-yii2

Version:

JavaScript part for projects on ExtPoint Yii2 Boilerplate and yii2-core

45 lines (39 loc) 1.2 kB
import _get from 'lodash-es/get'; import _values from 'lodash-es/values'; import {OPEN_MODAL, CLOSE_MODAL} from 'actions/modal'; const initialState = { opened: {}, }; export default (state = initialState, action) => { switch (action.type) { case OPEN_MODAL: return { opened: { ...state.opened, [action.id]: { id: action.id, modal: action.modal, props: { ..._get(state, `opened.${action.id}.props`), ...action.props, }, } } }; case CLOSE_MODAL: if (action.id) { const opened = state.opened; delete opened[action.id]; return { opened, }; } else { return { opened: {}, }; } default: return state; } }; export const getOpened = (state) => _values(state.modal.opened);