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

106 lines
2.0 KiB
JavaScript

import axios from 'axios'
export const SET_QUERY_INPUT_VALUE = "@lookup/SET_QUERY_INPUT_VALUE";
export const SET_QUERY_VALUE = "@lookup/SET_QUERY_VALUE";
export const SET_QUERY_TYPE = "@lookup/SET_QUERY_TYPE";
export const RESET = "@lookup/RESET";
export const EXECUTE = "@lookup/EXECUTE";
export const LOOKUP_STARTED = "@lookup/LOOKUP_STARTED";
export const LOOKUP_RESULTS = "@lookup/LOOKUP_RESULTS";
/*
* Action Creators
*/
export function setQueryInputValue(q) {
if(!q) { q = ''; }
return {
type: SET_QUERY_INPUT_VALUE,
payload: {
queryInput: q
}
}
}
export function setQueryValue(q) {
return {
type: SET_QUERY_VALUE,
payload: {
query: q
}
}
}
export function setQueryType(type) {
return {
type: SET_QUERY_TYPE,
payload: {
queryType: type
}
}
}
export function reset() {
return {
type: RESET
}
}
export function execute() {
return {
type: EXECUTE
}
}
export function lookupStarted(routeserverId, query) {
return {
type: LOOKUP_STARTED,
payload: {
routeserverId: routeserverId,
query: query
}
}
}
export function lookupResults(routeserverId, query, results) {
return {
type: LOOKUP_RESULTS,
payload: {
routeserverId: routeserverId,
query: query,
results: results
}
}
}
export function routesSearch(routeserverId, q) {
return (dispatch) => {
dispatch(lookupStarted(routeserverId, q));
axios.get(`/birdseye/api/routeserver/${routeserverId}/routes/lookup?q=${q}`)
.then((result) => {
let routes = result.data.result.routes;
dispatch(lookupResults(
routeserverId,
q,
routes
));
})
.catch((error) => {
dispatch(lookupResults(
routeserverId,
q,
[]
));
});
}
}