resources/web/docs_js/actions/modal.js (14 lines of code) (raw):

import {dissoc} from "../../../../../node_modules/ramda"; const initialState = {isOpen: false, Component: null, props: null}; const SET_MODAL = "SET_MODAL_VALUE"; export const setModal = ({isOpen, Component, props}) => ({type: SET_MODAL, isOpen, Component, props}); export const openModal = (Component, props) => setModal({isOpen: true, Component, props}); export const closeModal = () => setModal({isOpen: false}); export const reducer = (state = initialState, action) => { switch (action.type) { case SET_MODAL: return action.isOpen ? dissoc("type", action) : initialState; default: return state; } };