UNPKG

@empathyco/x-components

Version:
59 lines (56 loc) 2.22 kB
import { DefaultResultsEnrichmentService } from '../../../services/results-enrichment.service.js'; import { mergeConfig, setConfig } from '../../../store/utils/config-store.utils.js'; import { setStatus } from '../../../store/utils/status-store.utils.js'; import { fetchAndSaveRecommendationsEnrichment, cancelFetchAndSaveRecommendationsEnrichment } from './actions/fetch-and-save-recommendations-enrichment.action.js'; import { fetchAndSaveRecommendations, cancelFetchAndSaveRecommendations } from './actions/fetch-and-save-recommendations.action.js'; import { fetchRecommendations } from './actions/fetch-recommendations.action.js'; import { RECOMMENDATIONS_ORIGIN } from './constants.js'; import { request } from './getters/request.getter.js'; /** * {@link XStoreModule} For the recommendations module. * * @internal */ const recommendationsXStoreModule = { state: () => ({ config: { maxItemsToRequest: 24, }, origin: RECOMMENDATIONS_ORIGIN, status: 'initial', recommendations: [], params: {}, }), getters: { request, }, mutations: { setRecommendations(state, recommendations) { state.recommendations = recommendations; }, setStatus, setParams(state, params) { state.params = params; }, updateRecommendation(state, recommendation) { const stateRecommendation = state.recommendations.find(stateRecommendation => recommendation.id === stateRecommendation.id); if (stateRecommendation) { Object.assign(stateRecommendation, recommendation); } }, updateRecommendationsFromEnrichment(state, enrichmentResults) { DefaultResultsEnrichmentService.instance.updateResults(state.recommendations, enrichmentResults); }, setConfig, mergeConfig, }, actions: { cancelFetchAndSaveRecommendations, cancelFetchAndSaveRecommendationsEnrichment, fetchRecommendations, fetchAndSaveRecommendations, fetchAndSaveRecommendationsEnrichment, }, }; export { recommendationsXStoreModule }; //# sourceMappingURL=module.js.map