Files
bigcapital/client/src/store/financialStatement/financialStatements.reducer.js
Ahmed Bouhuolia ab81f4be40 WIP
2020-03-19 17:02:37 +02:00

41 lines
1.2 KiB
JavaScript

import { createReducer } from '@reduxjs/toolkit';
import t from 'store/types';
import {getBalanceSheetIndexByQuery, getTrialBalanceSheetIndex} from './financialStatements.selectors';
import { actionComplete } from '@syncfusion/ej2-react-grids';
const initialState = {
balanceSheets: [],
trialBalanceSheets: [],
generalLedger: [],
};
export default createReducer(initialState, {
[t.BALANCE_SHEET_STATEMENT_SET]: (state, action) => {
const index = getBalanceSheetIndexByQuery(state.balanceSheets, action.query);
const balanceSheet = {
balances: action.data.balance_sheet,
columns: Object.values(action.data.columns),
query: action.data.query,
};
if (index !== -1) {
state.balanceSheets[index] = balanceSheet;
} else {
state.balanceSheets.push(balanceSheet);
}
},
[t.TRAIL_BALANCE_STATEMENT_SET]: (state, action) => {
const index = getTrialBalanceSheetIndex(state.trialBalanceSheets, action.query);
const trailBalanceSheet = {
accounts: action.data.accounts,
query: action.data.query,
};
if (index !== -1) {
state.trialBalanceSheets[index] = trailBalanceSheet;
} else {
state.trailBalanceSheet.push(trailBalanceSheet);
}
}
});