UNPKG

cluedin-widget

Version:

This project contains all the pages needed for browsing entities and searching them. The aim is to replace the CluedIn.Webapp project with this one when all the pages ( including the Admin page ) will be ported to REACT.

46 lines (37 loc) 1.29 kB
import constants from '../constants'; import { unauthorized } from './generic'; import { getLastGenericTasks } from '../data/task'; import entityFake from '../../iso/entity/fake'; const requestGenericLastTasks = (timeStamp) => ({ type: constants.task.REQUEST_GENERIC_LAST_TASKS, data: { timeStamp, }, }); const receiveGenericLastTasks = (tasks, page, fake, timeStamp) => { const pageNumber = page || 0; return { type: constants.task.RECEIVE_GENERIC_LAST_TASKS, data: { tasks, isFake: fake, pageNumber: (pageNumber + 1), timeStamp, }, }; }; const invalidGenericLastTasks = () => ({ type: constants.task.INVALID_GENERIC_LAST_TASKS, }); export function fetchGenericLastTasks(id, timeStamp) { return (dispatch, getState) => { dispatch(requestGenericLastTasks(timeStamp)); const pageNumber = getState().task.pageNumber; getLastGenericTasks(pageNumber || 0, id).then((resp) => { if (!resp || resp.length === 0 && (!pageNumber || pageNumber === 0)) { return dispatch(receiveGenericLastTasks(entityFake.document, pageNumber, true, timeStamp)); } return dispatch(receiveGenericLastTasks(resp, pageNumber, false, timeStamp)); }).catch(unauthorized(dispatch, invalidGenericLastTasks)); }; }