Sha256: aed506e71dd436d4c83d75db050aca81be558a411e0bdf83d45dcba9abb6ebd0
Contents?: true
Size: 1.02 KB
Versions: 117
Compression:
Stored size: 1.02 KB
Contents
import Immutable from 'seamless-immutable'; import { mapTables } from './TableHelpers'; import { TABLES_REQUEST, TABLES_SUCCESS, TABLES_FAILURE, CREATE_TABLE, CREATE_TABLE_SUCCESS, CREATE_TABLE_FAILURE, UPDATE_TABLE, UPDATE_TABLE_SUCCESS, UPDATE_TABLE_FAILURE, } from './TableConstants'; const initialState = Immutable({ loading: false, }); export default (state = initialState, action) => { switch (action.type) { case TABLES_REQUEST: case CREATE_TABLE: case UPDATE_TABLE: return state.set('loading', true); case TABLES_SUCCESS: return state.merge({ loading: false, ...mapTables(action.payload.results), }); case CREATE_TABLE_SUCCESS: case UPDATE_TABLE_SUCCESS: return state.merge({ loading: false, ...state, ...mapTables(action.payload), }); case TABLES_FAILURE: case UPDATE_TABLE_FAILURE: case CREATE_TABLE_FAILURE: { return state.set('loading', false); } default: return state; } };
Version data entries
117 entries across 117 versions & 1 rubygems