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

84 lines
1.6 KiB
React
Raw Normal View History

2017-05-16 13:34:00 +02:00
/*
2017-06-26 15:35:54 +02:00
* Prefix lookup actions
2017-05-16 13:34:00 +02:00
*/
2017-06-26 15:35:54 +02:00
import axios from 'axios'
2017-05-16 13:34:00 +02:00
2018-10-23 19:40:36 +02:00
import {filtersUrlEncode} from 'components/filters/encoding'
2018-09-17 15:35:46 +02:00
export const SET_LOOKUP_QUERY_VALUE = '@lookup/SET_LOOKUP_QUERY_VALUE';
2017-06-26 15:35:54 +02:00
export const LOAD_RESULTS_REQUEST = '@lookup/LOAD_RESULTS_REQUEST';
export const LOAD_RESULTS_SUCCESS = '@lookup/LOAD_RESULTS_SUCCESS';
export const LOAD_RESULTS_ERROR = '@lookup/LOAD_RESULTS_ERROR';
2017-05-16 13:34:00 +02:00
2018-09-17 16:26:42 +02:00
export const RESET = "@lookup/RESET";
2017-06-26 15:35:54 +02:00
// Action creators
2018-09-17 15:35:46 +02:00
export function setLookupQueryValue(value) {
return {
type: SET_LOOKUP_QUERY_VALUE,
payload: {
value: value,
}
}
}
2017-06-26 15:35:54 +02:00
export function loadResultsRequest(query) {
return {
type: LOAD_RESULTS_REQUEST,
payload: {
query: query
2017-05-16 13:34:00 +02:00
}
2017-06-26 15:35:54 +02:00
}
2017-05-16 13:34:00 +02:00
}
2017-06-26 15:35:54 +02:00
export function loadResultsSuccess(query, results) {
return {
type: LOAD_RESULTS_SUCCESS,
payload: {
query: query,
results: results
2017-05-16 13:34:00 +02:00
}
2017-06-26 15:35:54 +02:00
}
2017-05-16 13:34:00 +02:00
}
2017-06-26 15:35:54 +02:00
export function loadResultsError(query, error) {
return {
type: LOAD_RESULTS_ERROR,
payload: {
query: query,
error: error
2017-05-16 13:34:00 +02:00
}
2017-06-26 15:35:54 +02:00
}
2017-05-16 13:34:00 +02:00
}
export function loadResults(query, filters, pageImported=0, pageFiltered=0) {
2017-06-26 15:35:54 +02:00
return (dispatch) => {
dispatch(loadResultsRequest(query));
2017-05-16 13:34:00 +02:00
// Build querystring
const q = `q=${query}&page_filtered=${pageFiltered}&page_imported=${pageImported}`;
2018-10-23 23:10:57 +02:00
const f = filtersUrlEncode(filters);
axios.get(`/api/v1/lookup/prefix?${q}${f}`)
2018-10-18 11:46:59 +02:00
.then(
(res) => {
dispatch(loadResultsSuccess(query, res.data));
},
(error) => {
dispatch(loadResultsError(query, error));
});
2017-06-26 15:35:54 +02:00
}
2017-05-16 13:34:00 +02:00
}
2018-09-17 16:26:42 +02:00
export function reset() {
return {
type: RESET,
payload: {}
}
}
2017-05-16 13:34:00 +02:00