UNPKG

ca-mfe-page-scoring-ui

Version:

This is a react shell for the SPGI Platform MFE implementation

84 lines (80 loc) 2.64 kB
import { createSlice } from '@reduxjs/toolkit'; const initialState = { generatedScore: {}, riskGaugeData: {}, generatedScoreTracker: {}, isLoadingTrackerScore: false, isLoadingScore: true, isGenerateScoreCall: false, isPropUploaded : false, generateScorePayload: {} }; export const generateScoreSlice = createSlice({ name: 'generateScore', initialState, reducers: { setGenerateScore: (state, action) => { const { payload } = action; state.generatedScore = payload; state.isGenerateScoreCall = true; }, removeStandaloneScore: state => { if (state.generatedScoreTracker.standalone) { const updatedOb: any = { ...state.generatedScoreTracker }; delete updatedOb.standalone; state.generatedScoreTracker = updatedOb; } }, removeAllExceptStandalone: (state, action) => { const scoreWithFinancials = action.payload; const toRemoveObjArr = scoreWithFinancials ? ['rgBenchmark']: ['standalone']; Object.keys(state.generatedScoreTracker).forEach(trackerKey => { if( typeof state.generatedScoreTracker[trackerKey] === 'object' && !toRemoveObjArr.includes(trackerKey) ){ state.generatedScoreTracker[trackerKey] = null; } }); }, setIsGenerateScoreCall: (state, action) => { state.isGenerateScoreCall = action.payload; }, setLoadingState: (state, action) => { const { payload } = action; if (typeof payload?.trackerScoreLoader === 'boolean') { state.isLoadingTrackerScore = payload?.trackerScoreLoader; } if (typeof payload?.scoreLoader === 'boolean') { state.isLoadingScore = payload?.scoreLoader; } }, setGenerateScoreTracker: (state, action) => { const { payload } = action; state.generatedScoreTracker = payload; state.isLoadingTrackerScore = false; }, setRiskGaugeData: (state, action) => { state.riskGaugeData = action.payload; state.isLoadingScore = false; }, setGenerateScorePayload: (state, action) => { state.generateScorePayload = action.payload; }, setPropUploaded: (state, action) => { state.isPropUploaded = action.payload; } } }); export const { setGenerateScore, setGenerateScoreTracker, removeStandaloneScore, setLoadingState, setRiskGaugeData, setIsGenerateScoreCall, removeAllExceptStandalone, setGenerateScorePayload, setPropUploaded } = generateScoreSlice.actions; export default generateScoreSlice.reducer;