UNPKG

cluedin-widget

Version:

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

55 lines (44 loc) 1.43 kB
import constants from '../constants'; import { unauthorized } from './generic'; import { getLastTools } from '../data/tools'; import fake from '../../iso/entity/fake'; var shouldFetchGenericLastTools = ( state ) => { return (!state.genericLastTools || state.genericLastTools.length === 0); }; var requestGenericLastTools = () => { return { type: constants.tool.REQUEST_GENERIC_LAST_TOOLS }; }; var receiveGenericLastTools = ( tools, fake ) => { return { type: constants.tool.RECEIVE_GENERIC_LAST_TOOLS, data: { tools: tools, isFake: fake } }; }; var invalidGenericLastTools = () => { return { type: constants.tool.INVALID_GENERIC_LAST_TOOLS }; }; var fetchGenericLastTools = () => { return function( dispatch ) { dispatch( requestGenericLastTools() ); return getLastTools().then( function( resp ) { if ( !resp || resp.length === 0 ) { return dispatch( receiveGenericLastTools( fake.tool || [], true ) ); } dispatch( receiveGenericLastTools( resp ) ); } ).catch( unauthorized( dispatch, invalidGenericLastTools ) ); }; }; export function shouldFetchGenericLastTools() { return ( dispatch, getState ) => { if ( shouldFetchGenericLastTools( getState() ) ) { return dispatch( fetchGenericLastTools() ); } }; }