contiago-toolbar
Version:
One of the options for outputting content from contiago xml-server
29 lines (25 loc) • 1.12 kB
JavaScript
import { call, put, select, takeLatest } from 'redux-saga/effects';
import request from 'utils/request';
import { getRubricContentError, getRubricContentSuccess, setTotalPagesAmount } from './actions';
import { GET_RUBRIC_CONTENT } from './constants';
import { makeSelectPageNumber, makeSelectPageSize } from './selectors';
export function* onGetRubricContent(...args) {
try {
const rubricId = args[0].payload;
const url = `/content/article/rubric/${rubricId}`;
const state = yield select();
const pageNumber = makeSelectPageNumber()(state);
const pageSize = makeSelectPageSize()(state);
const rubricContentPage = yield call(request, url,
{ getParamsObject: { page: pageNumber, size: pageSize } });
yield put(setTotalPagesAmount(rubricContentPage.totalPages));
yield put(getRubricContentSuccess(rubricContentPage.content));
} catch (err) {
yield put(getRubricContentError(err));
}
}
// Individual exports for testing
export default function* defaultSaga() {
yield takeLatest(GET_RUBRIC_CONTENT, onGetRubricContent);
// See example in containers/HomePage/saga.js
}