UNPKG

cluedin-widget

Version:

This is the project for creating and managing widgets in CluedIn.

55 lines (44 loc) 1.44 kB
import constants from '../constants'; import { unauthorized } from './generic'; import { getLastGenericTasks } from '../data/task'; import fake from '../../iso/entity/fake'; var shouldFetchGenericLastTasks = ( state ) => { return (!state.genericLastTasks || state.genericLastTasks.length === 0); }; var requestGenericLastTasks = () => { return { type: constants.task.REQUEST_GENERIC_LAST_TASKS }; }; var receiveGenericLastTasks = ( tasks, fake ) => { return { type: constants.task.RECEIVE_GENERIC_LAST_TASKS, data: { tasks: tasks, isFake: fake } }; }; var invalidGenericLastTasks = () => { return { type: constants.task.INVALID_GENERIC_LAST_TASKS }; }; var fetchGenericLastTasks = () => { return function( dispatch ) { dispatch( requestGenericLastTasks() ); return getLastGenericTasks().then( function( resp ) { if ( !resp || resp.length === 0 ) { return dispatch( receiveGenericLastTasks( fake.document, true ) ); } dispatch( receiveGenericLastTasks( resp ) ); } ).catch( unauthorized( dispatch, invalidGenericLastTasks ) ); }; }; export function shouldFetchGenericLastTasks() { return ( dispatch, getState ) => { if ( shouldFetchGenericLastTasks( getState() ) ) { return dispatch( fetchGenericLastTasks() ); } }; }