cluedin-widget
Version:
This is the project for creating and managing widgets in CluedIn.
36 lines (34 loc) • 1.34 kB
JavaScript
const constants = require( '../constants' );
const initialState = {
searchResult: void 0,
isFetchingSearch: false,
suggestedSearches: [],
suggestedSearchQuery: ''
};
module.exports = function update( state = initialState, action = {} ) {
switch( action.type ) {
case constants.search.REQUEST_SEARCH:
return Object.assign( {}, {
isFetchingSearch: true,
searchResult: state.searchResult,
suggestedSearches: state.suggestedSearches,
suggestedSearchQuery: state.suggestedSearchQuery
} );
case constants.search.RECEIVE_SEARCH:
return Object.assign( {}, {
searchResult: action.data.searchResult,
isFetchingSearch: false,
suggestedSearches: state.suggestedSearches,
suggestedSearchQuery: state.suggestedSearchQuery
} );
case constants.search.RECEIVE_SUGGESTED_SEARCH:
return Object.assign( {}, {
searchResult: state.searchResult,
isFetchingSearch: state.isFetchingSearch,
suggestedSearches: action.data.suggestedSearches,
suggestedSearchQuery: action.data.suggestedSearchQuery
} );
default:
return state;
}
};