1
0
mirror of https://github.com/alice-lg/alice-lg.git synced 2024-05-11 05:55:03 +00:00
2017-07-04 12:07:03 +02:00

62 lines
1.3 KiB
JavaScript

/*
* Prefix Lookup Reducer
*/
import {LOAD_RESULTS_REQUEST,
LOAD_RESULTS_SUCCESS,
LOAD_RESULTS_ERROR}
from './actions'
const initialState = {
query: '',
results: [],
error: null,
queryDurationMs: 0.0,
limit: 100,
offset: 0,
totalRoutes: 0,
isLoading: false
}
export default function reducer(state=initialState, action) {
switch(action.type) {
case LOAD_RESULTS_REQUEST:
return Object.assign({}, state, initialState, {
query: action.payload.query,
isLoading: true
});
case LOAD_RESULTS_SUCCESS:
if (state.query != action.payload.query) {
return state;
}
return Object.assign({}, state, {
isLoading: false,
query: action.payload.query,
queryDurationMs: action.payload.results.query_duration_ms,
results: action.payload.results.routes,
limit: action.payload.results.limit,
offset: action.payload.results.offset,
totalRoutes: action.payload.results.total_routes,
error: null
});
case LOAD_RESULTS_ERROR:
if (state.query != action.payload.query) {
return state;
}
return Object.assign({}, state, initialState, {
query: action.payload.query,
error: action.payload.error
});
}
return state;
}