ca-mfe-page-scoring-ui
Version:
This is a react shell for the SPGI Platform MFE implementation
100 lines (94 loc) • 3.05 kB
text/typescript
import { createSlice } from '@reduxjs/toolkit';
const initialState = {
companyMetaData: {},
companyData: {},
epdState: {},
expectedPdData: {},
companySelectedData: {},
extractedData: {},
isValid: null,
enableValidation: null,
models: {},
rgModalOpen: false,
isBackButton: false,
retainValues: true,
expectedPitMsScore: {},
newCompanyName: '',
createdCompanyId: null,
companyInfoLoaded: false,
hasStates: false,
isLoadBtnDisabled: false
};
export const companyInformationSlice = createSlice({
name: 'companyInformation',
initialState,
reducers: {
enableValidation: (state, action) => {
state.enableValidation = action.payload;
},
isValid: (state, action) => {
state.isValid = action.payload;
},
setCompanyMetaData: (state, action) => {
state.companyMetaData = action.payload;
},
setexpectedPdData: (state, action) => {
state.expectedPdData = action.payload;
},
setExpectedPitMsScoreData: (state, action) => {
state.expectedPitMsScore = action.payload;
},
setCompanyData: (state, action) => {
const companyObj = {...action.payload};
if(!action?.payload?.companyName){
companyObj.companyName = state.companyData.companyName;
}
state.companyData = companyObj;
state.companyInfoLoaded = true;
},
setExtractedData: (state, action) => {
state.extractedData = action.payload;
},
setCompanySelectedData: (state, action) => {
state.companySelectedData = action.payload;
},
setNewCompanyName: (state, action) => {
const { newCompanyName, createdCompanyId } = action.payload;
state.newCompanyName = newCompanyName;
if(createdCompanyId) {
state.createdCompanyId = createdCompanyId;
}
},
updateModels: (state, action) => {
if(typeof action.payload === 'object'){
state.models = action.payload;
} else {
state.rgModalOpen = action.payload;
}
},
isBackButton: (state, action) => {
state.isBackButton = action.payload;
},
setEPDState: (state, action) => {
state.epdState = action.payload;
},
resetEPDState: state => {
state.epdState = initialState.epdState;
},
isCompanyInfoLoaded: (state, action) => {
state.companyInfoLoaded = action.payload;
},
hasStatesOption: (state, action)=>{
state.hasStates = action.payload;
},
setLoadButtonStatus: (state, action) => {
state.isLoadBtnDisabled = action.payload;
}
}
});
export const { enableValidation, isValid, setCompanyMetaData, setExtractedData,
setCompanyData, setNewCompanyName, setCompanySelectedData, updateModels, setexpectedPdData,
setEPDState, isBackButton, resetEPDState, setExpectedPitMsScoreData, isCompanyInfoLoaded,
hasStatesOption, setLoadButtonStatus }
= companyInformationSlice.actions;
export default companyInformationSlice.reducer;