import * as types from 'app/types' // import { session, getDefault, getDefaultInt } from 'app/session' import { crudState, crudReducer } from 'app/api/crud.reducer' const initialState = crudState('graph', { editor: { addingPage: false, editingPage: false, }, options: { } }) const reducer = crudReducer('graph') export default function graphReducer(state = initialState, action) { // console.log(action.type, action) state = reducer(state, action) switch (action.type) { case types.graph.update_graph_page: return { ...state, show: { ...state.show, res: { ...state.show.res, pages: state.show.res.pages.map(page => { if (page.id === action.page.id) { return { ...action.page } } else { return page } }), } } } case types.graph.show_add_page_form: return { ...state, editor: { ...state.editor, addingPage: true, editingPage: false, } } case types.graph.hide_add_page_form: return { ...state, editor: { ...state.editor, addingPage: false, } } case types.graph.toggle_add_page_form: return { ...state, editor: { ...state.editor, addingPage: !state.editor.addingPage, editingPage: false, } } case types.graph.show_edit_page_form: return { ...state, editor: { ...state.editor, addingPage: false, editingPage: true, } } case types.graph.hide_edit_page_form: return { ...state, editor: { ...state.editor, editingPage: false, } } case types.graph.toggle_edit_page_form: return { ...state, editor: { ...state.editor, addingPage: false, editingPage: !state.editor.editingPage, } } default: return state } }