UNPKG

cluedin-widget

Version:

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

70 lines (56 loc) 1.61 kB
import constants from '../constants'; import { unauthorized } from './generic'; import { suggestedSearch, search } from '../data/search'; var requestSuggestedSearch = () => { return { type: constants.search.REQUEST_SUGGESTED_SEARCH }; }; var receiveGenericLastTasks = ( query, suggested ) => { return { type: constants.search.RECEIVE_SUGGESTED_SEARCH, data: { suggestedSearches: suggested, suggestedSearchQuery: query } }; }; var invalidGenericLastTasks = () => { return { type: constants.search.INVALID_SUGGESTED_SEARCH }; }; export function shouldFetchSuggestedSearch( q ) { return function( dispatch ) { dispatch( requestSuggestedSearch() ); return suggestedSearch( q ).then( function( resp ) { dispatch( receiveGenericLastTasks( q, resp ) ); } ).catch( unauthorized( dispatch, invalidGenericLastTasks ) ); }; } var requestSearch = () => { return { type: constants.search.REQUEST_SEARCH }; }; var receiveSearch = ( searchResult ) => { return { type: constants.search.RECEIVE_SEARCH, data: { searchResult: searchResult } }; }; var invalidSearch = () => { return { type: constants.search.INVALID_SEARCH }; }; export function shouldFetchSearch( q ) { return function( dispatch ) { dispatch( requestSearch() ); return search( q ).then( function( resp ) { dispatch( receiveSearch( resp ) ); } ).catch( unauthorized( dispatch, invalidSearch ) ); }; }