Skip to content
Snippets Groups Projects
Commit 03d42232 authored by esikkala's avatar esikkala
Browse files

Improve error handling

parent 6e02b493
No related branches found
No related tags found
No related merge requests found
export const FETCH_PAGINATED_RESULTS = 'FETCH_PAGINATED_RESULTS';
export const FETCH_PAGINATED_RESULTS_FAILED = 'FETCH_PAGINATED_RESULTS_FAILED';
export const FETCH_RESULTS = 'FETCH_RESULTS';
export const FETCH_RESULTS_FAILED = 'FETCH_RESULTS_FAILED';
export const UPDATE_RESULTS = 'UPDATE_RESULTS';
export const SORT_RESULTS = 'SORT_RESULTS';
export const UPDATE_PAGE = 'UPDATE_PAGE';
......@@ -27,6 +28,10 @@ export const fetchResults = (resultClass, facetClass, variant) => ({
type: FETCH_RESULTS,
resultClass, facetClass, variant
});
export const fetchResultsFailed = (resultClass, error, message) => ({
type: FETCH_RESULTS_FAILED,
resultClass, error, message
});
export const updateResults = ({ resultClass, data }) => ({
type: UPDATE_RESULTS,
resultClass, data
......
......@@ -7,6 +7,7 @@ import {
FETCH_PAGINATED_RESULTS,
FETCH_PAGINATED_RESULTS_FAILED,
FETCH_RESULTS,
FETCH_RESULTS_FAILED,
FETCH_BY_URI,
FETCH_FACET,
FETCH_FACET_FAILED,
......@@ -55,15 +56,15 @@ const fetchResultsEpic = (action$, state$) => action$.pipe(
const requestUrl = `${apiUrl}${resultClass}/all?${params}`;
return ajax.getJSON(requestUrl).pipe(
map(response => updateResults({ resultClass: resultClass, data: response })),
// catchError(error => of({
// type: SHOW_ERROR,
// resultClass: resultClass,
// error: error,
// message: {
// text: backendErrorText,
// title: 'Error'
// }
// }))
catchError(error => of({
type: FETCH_RESULTS_FAILED,
resultClass: resultClass,
error: error,
message: {
text: backendErrorText,
title: 'Error'
}
}))
);
})
);
......
import {
SHOW_ERROR,
FETCH_RESULTS_FAILED,
FETCH_PAGINATED_RESULTS_FAILED,
FETCH_FACET_FAILED
} from '../actions';
......@@ -12,6 +13,7 @@ export const INITIAL_STATE = {
const error = (state = INITIAL_STATE, action) => {
switch (action.type) {
case SHOW_ERROR:
case FETCH_RESULTS_FAILED:
case FETCH_PAGINATED_RESULTS_FAILED:
case FETCH_FACET_FAILED:
return {
......
import {
FETCH_RESULTS,
FETCH_RESULTS_FAILED,
FETCH_PAGINATED_RESULTS,
FETCH_PAGINATED_RESULTS_FAILED,
FETCH_BY_URI,
......@@ -92,8 +94,10 @@ export const INITIAL_STATE = {
const manuscripts = (state = INITIAL_STATE, action) => {
if (action.resultClass === 'manuscripts') {
switch (action.type) {
case FETCH_RESULTS:
case FETCH_PAGINATED_RESULTS:
return { ...state, fetching: true };
case FETCH_RESULTS_FAILED:
case FETCH_PAGINATED_RESULTS_FAILED:
return { ...state, fetching: false };
case FETCH_BY_URI:
......
import {
FETCH_RESULTS,
FETCH_RESULTS_FAILED,
FETCH_PAGINATED_RESULTS,
FETCH_PAGINATED_RESULTS_FAILED,
FETCH_BY_URI,
UPDATE_RESULTS,
UPDATE_INSTANCE,
......@@ -53,8 +56,12 @@ export const INITIAL_STATE = {
const places = (state = INITIAL_STATE, action) => {
if (action.resultClass === 'places') {
switch (action.type) {
case FETCH_RESULTS:
case FETCH_PAGINATED_RESULTS:
return { ...state, fetching: true };
case FETCH_RESULTS_FAILED:
case FETCH_PAGINATED_RESULTS_FAILED:
return { ...state, fetching: false };
case FETCH_BY_URI:
return { ...state, fetching: true };
case SORT_RESULTS:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment