UNPKG

lml-main

Version:

This is now a mono repository published into many standalone packages.

40 lines 1.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const Actions = require("../../jobs/actions"); const lodash_1 = require("lodash"); const initialJobsPaginationState = { canPageForwards: false, canPageBack: false, lastKeys: [], pagePointer: 0, }; exports.jobPaginationReducer = (state = initialJobsPaginationState, action) => { switch (action.type) { case Actions.SET_JOBS_PAGINATION: { return setJobsPagination(state, action); } case Actions.PAGE_FORWARDS: { return pageForwards(state, action); } case Actions.PAGE_BACKWARDS: { return pageBackwards(state, action); } case Actions.RESET_PAGINATION: { return resetPagination(state, action); } default: { return state; } } }; const setJobsPagination = (state, action) => (Object.assign({}, state, { canPageForwards: action.canPageForwards, canPageBack: action.canPageBack, lastKeys: [...action.lastKeys] })); const pageForwards = (state, action) => { const pagePointer = state.pagePointer + 1; return Object.assign({}, state, { pagePointer }); }; const pageBackwards = (state, action) => { const pagePointer = state.pagePointer > 0 ? state.pagePointer - 1 : 0; return Object.assign({}, state, { pagePointer }); }; const resetPagination = (state, action) => lodash_1.cloneDeep(initialJobsPaginationState); //# sourceMappingURL=pagination.js.map