Sha256: 8d440ab2479061ca306f3ef96bc53d37f12fa76c6062b26f664b70a35b79d455
Contents?: true
Size: 994 Bytes
Versions: 66
Compression:
Stored size: 994 Bytes
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
66 entries across 66 versions & 1 rubygems