cluedin-widget
Version:
This is the project for creating and managing widgets in CluedIn.
49 lines (38 loc) • 1.26 kB
JavaScript
import constants from '../constants';
import { unauthorized } from './generic';
import { getLastGenericTasks } from '../data/task';
import fake from '../../iso/entity/fake';
var requestGenericLastTasks = () => {
return {
type: constants.task.REQUEST_GENERIC_LAST_TASKS
};
};
var receiveGenericLastTasks = ( tasks, page, fake ) => {
if ( !page ) {
page = 0;
}
return {
type: constants.task.RECEIVE_GENERIC_LAST_TASKS,
data: {
tasks: tasks,
isFake: fake,
nextPage: page
}
};
};
var invalidGenericLastTasks = () => {
return {
type: constants.task.INVALID_GENERIC_LAST_TASKS
};
};
export function fetchGenericLastTasks( pageNumber ) {
return function( dispatch ) {
dispatch( requestGenericLastTasks() );
return getLastGenericTasks( pageNumber || 0 ).then( function( resp ) {
if ( !resp || resp.length === 0 && ( !pageNumber || pageNumber === 0 ) ) {
return dispatch( receiveGenericLastTasks( fake.document, pageNumber, true ) );
}
dispatch( receiveGenericLastTasks( resp, pageNumber ) );
} ).catch( unauthorized( dispatch, invalidGenericLastTasks ) );
};
}