@zeniai/client-epic-state 5.0.9-betaRD2 → 5.0.9-betaRD4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/entity/account/accountReducer.js +0 -3
- package/lib/entity/account/accountReducer.js.map +1 -1
- package/lib/entity/project/projectReducer.js +0 -2
- package/lib/entity/project/projectReducer.js.map +1 -1
- package/lib/entity/sectionAccountsView/sectionAccountsViewEpic.js +0 -3
- package/lib/entity/sectionAccountsView/sectionAccountsViewEpic.js.map +1 -1
- package/lib/entity/sectionAccountsView/sectionAccountsViewReducer.js +0 -1
- package/lib/entity/sectionAccountsView/sectionAccountsViewReducer.js.map +1 -1
- package/lib/entity/sectionProjectView/sectionProjectView.d.ts +2 -0
- package/lib/entity/sectionProjectView/sectionProjectView.js.map +1 -1
- package/lib/entity/sectionProjectView/sectionProjectViewEpic.js +0 -4
- package/lib/entity/sectionProjectView/sectionProjectViewEpic.js.map +1 -1
- package/lib/entity/sectionProjectView/sectionProjectViewHelper.d.ts +2 -1
- package/lib/entity/sectionProjectView/sectionProjectViewHelper.js +2 -1
- package/lib/entity/sectionProjectView/sectionProjectViewHelper.js.map +1 -1
- package/lib/entity/sectionProjectView/sectionProjectViewReducer.js +12 -6
- package/lib/entity/sectionProjectView/sectionProjectViewReducer.js.map +1 -1
- package/lib/entity/sectionProjectView/sectionProjectViewSelector.js +3 -40
- package/lib/entity/sectionProjectView/sectionProjectViewSelector.js.map +1 -1
- package/lib/esm/entity/account/accountReducer.js +0 -3
- package/lib/esm/entity/account/accountReducer.js.map +1 -1
- package/lib/esm/entity/project/projectReducer.js +0 -2
- package/lib/esm/entity/project/projectReducer.js.map +1 -1
- package/lib/esm/entity/sectionAccountsView/sectionAccountsViewEpic.js +0 -3
- package/lib/esm/entity/sectionAccountsView/sectionAccountsViewEpic.js.map +1 -1
- package/lib/esm/entity/sectionAccountsView/sectionAccountsViewReducer.js +0 -1
- package/lib/esm/entity/sectionAccountsView/sectionAccountsViewReducer.js.map +1 -1
- package/lib/esm/entity/sectionProjectView/sectionProjectView.js.map +1 -1
- package/lib/esm/entity/sectionProjectView/sectionProjectViewEpic.js +0 -4
- package/lib/esm/entity/sectionProjectView/sectionProjectViewEpic.js.map +1 -1
- package/lib/esm/entity/sectionProjectView/sectionProjectViewHelper.js +2 -1
- package/lib/esm/entity/sectionProjectView/sectionProjectViewHelper.js.map +1 -1
- package/lib/esm/entity/sectionProjectView/sectionProjectViewReducer.js +12 -6
- package/lib/esm/entity/sectionProjectView/sectionProjectViewReducer.js.map +1 -1
- package/lib/esm/entity/sectionProjectView/sectionProjectViewSelector.js +3 -40
- package/lib/esm/entity/sectionProjectView/sectionProjectViewSelector.js.map +1 -1
- package/lib/esm/view/profitAndLossProjectView/profitAndLossForTimeframeProjectViewEpic.js +0 -15
- package/lib/esm/view/profitAndLossProjectView/profitAndLossForTimeframeProjectViewEpic.js.map +1 -1
- package/lib/view/profitAndLossProjectView/profitAndLossForTimeframeProjectViewEpic.js +0 -15
- package/lib/view/profitAndLossProjectView/profitAndLossForTimeframeProjectViewEpic.js.map +1 -1
- package/package.json +1 -1
|
@@ -22,7 +22,6 @@ const account = (0, toolkit_1.createSlice)({
|
|
|
22
22
|
reducers: {
|
|
23
23
|
updateAccounts: {
|
|
24
24
|
reducer(draft, action) {
|
|
25
|
-
console.log('$$$ [accountReducer.updateAccounts] reportId:', action.meta.reportId, 'updateType:', action.meta.updateType, 'classesViewParentId:', action.meta.classesViewParentId, 'count:', action.payload.length);
|
|
26
25
|
doUpdateAccounts(draft.accountsByKey, action.payload, action.meta.reportId, action.meta.classesViewParentId, action.meta.updateType);
|
|
27
26
|
},
|
|
28
27
|
prepare(payload, reportId, classesViewParentId, updateType = 'merge') {
|
|
@@ -34,7 +33,6 @@ const account = (0, toolkit_1.createSlice)({
|
|
|
34
33
|
},
|
|
35
34
|
updateMultipleSubAccountsWithBalances: {
|
|
36
35
|
reducer(draft, action) {
|
|
37
|
-
console.log('$$$ [accountReducer.updateMultipleSubAccountsWithBalances] reportId:', action.payload.reportId, 'timeframe:', action.payload.timeframe, 'updateType:', action.payload.updateType, 'count:', action.payload.subAccountWithBalancesListPayloads.length, 'payloads:', action.payload.subAccountWithBalancesListPayloads);
|
|
38
36
|
doUpdateSubAccountsWithBalances(draft.accountsByKey, action.payload.subAccountWithBalancesListPayloads, action.payload.currencyPayload, action.payload.reportId, action.payload.timeframe, action.payload.updateType);
|
|
39
37
|
},
|
|
40
38
|
prepare(subAccountWithBalancesListPayloads, currencyPayload, reportId, timeframe, updateType = 'merge') {
|
|
@@ -98,7 +96,6 @@ function doUpdateSubAccountsWithBalances(draft, subAccountWithBalancesListPayloa
|
|
|
98
96
|
}
|
|
99
97
|
function doUpdateAccountWithBalancesV2(draft, accountBasePayload, accountBalancesPayload, currencyPayload, reportId, timeframe, classesViewParentId, accountsViewParentId, projectsViewParentId, updateType) {
|
|
100
98
|
const key = (0, accountState_1.getAccountKey)(reportId, accountBasePayload.account_id, classesViewParentId, accountsViewParentId, projectsViewParentId);
|
|
101
|
-
console.log('$$$ [accountReducer.doUpdateAccountWithBalancesV2] key:', key, 'accountId:', accountBasePayload.account_id, 'projectsViewParentId:', projectsViewParentId, 'accountsViewParentId:', accountsViewParentId, 'classesViewParentId:', classesViewParentId);
|
|
102
99
|
const balancesByPeriod = (0, coaBalancePayload_2.mapCOABalanceGroupedByPeriodPayloadV2ToCOABalanceGroupedByPeriod)(accountBalancesPayload, currencyPayload, timeframe);
|
|
103
100
|
if (key in draft && updateType === 'merge') {
|
|
104
101
|
// only add balances
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountReducer.js","sourceRoot":"","sources":["../../../src/entity/account/accountReducer.ts"],"names":[],"mappings":"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","sourcesContent":["import {PayloadAction, createSlice} from '@reduxjs/toolkit';\nimport assignWith from 'lodash/assignWith';\n\nimport {mapBalancePayloadToBalance} from '../../commonPayloadTypes/balanceChangePayload';\nimport {mapCOABalanceGroupedPayloadToCOABalanceGrouped} from '../../commonPayloadTypes/coaBalancePayload';\nimport {mapStatusPayloadToStatus} from '../../commonPayloadTypes/statusPayload';\nimport {AccountMetadataWithBalancesPayload} from '../../commonPayloadTypes/subAccountView/reportBySubAccountPayload';\nimport {\n COABalanceGroupedByPeriodPayloadV2,\n mapCOABalanceGroupedByPeriodPayloadV2ToCOABalanceGroupedByPeriod,\n} from '../../commonPayloadTypes/v2/coaBalancePayload';\nimport {CurrencyPayload} from '../../commonPayloadTypes/v2/viewAndReportPayloadv2';\nimport {AccountsViewParentID} from '../../commonStateTypes/accountView/nestedAccountID';\nimport {ClassesViewParentID} from '../../commonStateTypes/classesView/nestedClassID';\nimport {ProjectsViewParentID} from '../../commonStateTypes/projectView/projectViewParentID';\nimport {ID, UpdateType} from '../../commonStateTypes/common';\nimport {ReportIDPlusForecastID} from '../../commonStateTypes/viewAndReport/viewAndReport';\nimport {\n AccountBasePayload,\n AccountPayload,\n mapAccountBasePayloadToAccountBase,\n mapStatementCloseDayPayloadToStatementCloseDay,\n} from './accountPayload';\nimport {\n Account,\n AccountBase,\n AccountKey,\n AccountState,\n StatementCloseDay,\n getAccountKey,\n} from './accountState';\n\nexport const initialState: AccountState = {\n accountsByKey: {} as Record<AccountKey, Account>,\n};\n\nconst account = createSlice({\n name: 'account',\n initialState,\n reducers: {\n updateAccounts: {\n reducer(\n draft,\n action: PayloadAction<\n AccountPayload[],\n string,\n {\n reportId: ReportIDPlusForecastID;\n updateType: UpdateType;\n classesViewParentId?: ClassesViewParentID;\n }\n >\n ) {\n console.log('$$$ [accountReducer.updateAccounts] reportId:', action.meta.reportId, 'updateType:', action.meta.updateType, 'classesViewParentId:', action.meta.classesViewParentId, 'count:', action.payload.length);\n doUpdateAccounts(\n draft.accountsByKey,\n action.payload,\n action.meta.reportId,\n action.meta.classesViewParentId,\n action.meta.updateType\n );\n },\n prepare(\n payload: AccountPayload[],\n reportId: ReportIDPlusForecastID,\n classesViewParentId?: ClassesViewParentID,\n updateType: UpdateType = 'merge'\n ) {\n return {\n payload,\n meta: {reportId, classesViewParentId, updateType},\n };\n },\n },\n updateMultipleSubAccountsWithBalances: {\n reducer(\n draft,\n action: PayloadAction<{\n currencyPayload: CurrencyPayload;\n reportId: ReportIDPlusForecastID;\n subAccountWithBalancesListPayloads: AccountMetadataWithBalancesPayload[];\n timeframe: 'month' | 'quarter' | 'year';\n updateType: UpdateType;\n }>\n ) {\n console.log('$$$ [accountReducer.updateMultipleSubAccountsWithBalances] reportId:', action.payload.reportId, 'timeframe:', action.payload.timeframe, 'updateType:', action.payload.updateType, 'count:', action.payload.subAccountWithBalancesListPayloads.length, 'payloads:', action.payload.subAccountWithBalancesListPayloads);\n doUpdateSubAccountsWithBalances(\n draft.accountsByKey,\n action.payload.subAccountWithBalancesListPayloads,\n action.payload.currencyPayload,\n action.payload.reportId,\n action.payload.timeframe,\n action.payload.updateType\n );\n },\n prepare(\n subAccountWithBalancesListPayloads: AccountMetadataWithBalancesPayload[],\n currencyPayload: CurrencyPayload,\n reportId: ReportIDPlusForecastID,\n timeframe: 'month' | 'quarter' | 'year',\n updateType: UpdateType = 'merge'\n ) {\n return {\n payload: {\n subAccountWithBalancesListPayloads,\n currencyPayload,\n reportId,\n updateType,\n timeframe,\n },\n };\n },\n },\n updateAccountStatementCloseDay(\n draft,\n action: PayloadAction<{\n accountId: ID;\n reportId: ReportIDPlusForecastID;\n statementCloseDay: StatementCloseDay;\n }>\n ) {\n const key = getAccountKey(\n action.payload.reportId,\n action.payload.accountId\n );\n draft.accountsByKey[key].statementCloseDay =\n action.payload.statementCloseDay;\n },\n changeAccountKey(\n draft,\n action: PayloadAction<{newKey: AccountKey; oldKey: AccountKey}>\n ) {\n const {oldKey, newKey} = action.payload;\n draft.accountsByKey[newKey] = draft.accountsByKey[oldKey];\n delete draft.accountsByKey[oldKey];\n },\n clearAllAccounts(draft) {\n draft.accountsByKey = {} as Record<AccountKey, Account>;\n },\n },\n});\n\nexport const {\n updateAccounts,\n updateMultipleSubAccountsWithBalances,\n updateAccountStatementCloseDay,\n changeAccountKey,\n clearAllAccounts,\n} = account.actions;\nexport default account.reducer;\n\n/**\n * Helper functions.\n */\n\n/**\n * Update accountsById draft.\n * @param draft\n * @param payload\n */\n\nfunction doUpdateAccounts(\n draft: Record<ID, Account>,\n payload: AccountPayload[],\n reportId: ReportIDPlusForecastID,\n classesViewParentId: ClassesViewParentID | undefined,\n updateType: UpdateType\n) {\n payload.forEach((accountPayload) => {\n const latestAccount = mapAccountPayloadToAccount(\n accountPayload,\n reportId,\n classesViewParentId,\n undefined\n );\n if (latestAccount.key in draft && updateType === 'merge') {\n assignWith(\n draft[latestAccount.key],\n latestAccount,\n (objValue, srcValue) => (srcValue == null ? objValue : srcValue) // IMPORTANT: replace the value only when source has valid value. Otherwise keep the existing value!\n );\n } else {\n draft[latestAccount.key] = latestAccount;\n }\n });\n}\n\nfunction doUpdateSubAccountsWithBalances(\n draft: Record<ID, Account>,\n subAccountWithBalancesListPayload: AccountMetadataWithBalancesPayload[],\n currencyPayload: CurrencyPayload,\n reportId: ReportIDPlusForecastID,\n timeframe: 'month' | 'quarter' | 'year',\n updateType: UpdateType\n) {\n for (\n let index = 0;\n index < subAccountWithBalancesListPayload.length;\n index++\n ) {\n const accountBasePayload =\n subAccountWithBalancesListPayload[index].accountMetadataPayload;\n const accountBalancesPayload =\n subAccountWithBalancesListPayload[index].accountBalancesPayload;\n const accountViewParentId =\n subAccountWithBalancesListPayload[index].accountsViewParentID;\n const classesViewParentId =\n subAccountWithBalancesListPayload[index].classesViewParentID;\n const projectsViewParentId =\n subAccountWithBalancesListPayload[index].projectsViewParentID;\n doUpdateAccountWithBalancesV2(\n draft,\n accountBasePayload,\n accountBalancesPayload,\n currencyPayload,\n reportId,\n timeframe,\n classesViewParentId,\n accountViewParentId,\n projectsViewParentId,\n updateType\n );\n }\n}\n\nfunction doUpdateAccountWithBalancesV2(\n draft: Record<ID, Account>,\n accountBasePayload: AccountBasePayload,\n accountBalancesPayload: COABalanceGroupedByPeriodPayloadV2,\n currencyPayload: CurrencyPayload,\n reportId: ReportIDPlusForecastID,\n timeframe: 'month' | 'quarter' | 'year',\n classesViewParentId: ClassesViewParentID | undefined,\n accountsViewParentId: AccountsViewParentID | undefined,\n projectsViewParentId: ProjectsViewParentID | undefined,\n updateType: UpdateType\n) {\n const key = getAccountKey(\n reportId,\n accountBasePayload.account_id,\n classesViewParentId,\n accountsViewParentId,\n projectsViewParentId\n );\n\n console.log('$$$ [accountReducer.doUpdateAccountWithBalancesV2] key:', key, 'accountId:', accountBasePayload.account_id, 'projectsViewParentId:', projectsViewParentId, 'accountsViewParentId:', accountsViewParentId, 'classesViewParentId:', classesViewParentId);\n\n const balancesByPeriod =\n mapCOABalanceGroupedByPeriodPayloadV2ToCOABalanceGroupedByPeriod(\n accountBalancesPayload,\n currencyPayload,\n timeframe\n );\n if (key in draft && updateType === 'merge') {\n // only add balances\n draft[key].balancesByPeriod = Object.assign(\n {},\n draft[key].balancesByPeriod,\n balancesByPeriod\n );\n } else {\n const latestAccount: Account = {\n ...mapAccountBasePayloadToAccountBase(accountBasePayload),\n key,\n accountsViewParentId,\n classesViewParentId,\n projectsViewParentId,\n };\n latestAccount.balancesByPeriod = balancesByPeriod;\n draft[latestAccount.key] = latestAccount;\n }\n}\n\nconst mapAccountPayloadToAccount = (\n payload: AccountPayload,\n reportId: ReportIDPlusForecastID,\n classesViewParentId: ClassesViewParentID | undefined,\n accountsViewParentId: AccountsViewParentID | undefined\n): Account => ({\n ...mapAccountBasePayloadToAccountBase(payload),\n key: getAccountKey(\n reportId,\n payload.account_id,\n classesViewParentId,\n accountsViewParentId\n ),\n classesViewParentId,\n accountsViewParentId,\n status:\n payload.status == null\n ? undefined\n : mapStatusPayloadToStatus(payload.status),\n balance:\n payload.balance == null\n ? undefined\n : mapBalancePayloadToBalance(payload.balance),\n expenses:\n payload.expenses == null\n ? undefined\n : mapCOABalanceGroupedPayloadToCOABalanceGrouped(payload.expenses),\n income:\n payload.income == null\n ? undefined\n : mapCOABalanceGroupedPayloadToCOABalanceGrouped(payload.income),\n cogs:\n payload.cogs == null\n ? undefined\n : mapCOABalanceGroupedPayloadToCOABalanceGrouped(payload.cogs),\n cashPosition:\n payload.cash_position == null\n ? undefined\n : mapCOABalanceGroupedPayloadToCOABalanceGrouped(payload.cash_position),\n cashIn:\n payload.cash_in == null\n ? undefined\n : mapCOABalanceGroupedPayloadToCOABalanceGrouped(payload.cash_in),\n cashOut:\n payload.cash_out == null\n ? undefined\n : mapCOABalanceGroupedPayloadToCOABalanceGrouped(payload.cash_out),\n otherIncome:\n payload.other_income == null\n ? undefined\n : mapCOABalanceGroupedPayloadToCOABalanceGrouped(payload.other_income),\n otherExpenses:\n payload.other_expenses == null\n ? undefined\n : mapCOABalanceGroupedPayloadToCOABalanceGrouped(payload.other_expenses),\n equity:\n payload.equity == null\n ? undefined\n : mapCOABalanceGroupedPayloadToCOABalanceGrouped(payload.equity),\n assets:\n payload.assets == null\n ? undefined\n : mapCOABalanceGroupedPayloadToCOABalanceGrouped(payload.assets),\n liabilities:\n payload.liabilities == null\n ? undefined\n : mapCOABalanceGroupedPayloadToCOABalanceGrouped(payload.liabilities),\n operatingActivities:\n payload.operating_activities == null\n ? undefined\n : mapCOABalanceGroupedPayloadToCOABalanceGrouped(\n payload.operating_activities\n ),\n investingActivities:\n payload.investing_activities == null\n ? undefined\n : mapCOABalanceGroupedPayloadToCOABalanceGrouped(\n payload.investing_activities\n ),\n financingActivities:\n payload.financing_activities == null\n ? undefined\n : mapCOABalanceGroupedPayloadToCOABalanceGrouped(\n payload.financing_activities\n ),\n statementCloseDay:\n payload.statement_close_day == null\n ? undefined\n : mapStatementCloseDayPayloadToStatementCloseDay(\n payload.statement_close_day\n ),\n qboId: payload.qbo_id == null ? undefined : payload.qbo_id,\n coaId: payload.coa_id == null ? undefined : payload.coa_id,\n});\n\nexport const emptyAccount: AccountBase = {\n labels: [],\n accountId: '',\n accountName: '',\n accountDescription: '',\n};\n"]}
|
|
1
|
+
{"version":3,"file":"accountReducer.js","sourceRoot":"","sources":["../../../src/entity/account/accountReducer.ts"],"names":[],"mappings":"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","sourcesContent":["import {PayloadAction, createSlice} from '@reduxjs/toolkit';\nimport assignWith from 'lodash/assignWith';\n\nimport {mapBalancePayloadToBalance} from '../../commonPayloadTypes/balanceChangePayload';\nimport {mapCOABalanceGroupedPayloadToCOABalanceGrouped} from '../../commonPayloadTypes/coaBalancePayload';\nimport {mapStatusPayloadToStatus} from '../../commonPayloadTypes/statusPayload';\nimport {AccountMetadataWithBalancesPayload} from '../../commonPayloadTypes/subAccountView/reportBySubAccountPayload';\nimport {\n COABalanceGroupedByPeriodPayloadV2,\n mapCOABalanceGroupedByPeriodPayloadV2ToCOABalanceGroupedByPeriod,\n} from '../../commonPayloadTypes/v2/coaBalancePayload';\nimport {CurrencyPayload} from '../../commonPayloadTypes/v2/viewAndReportPayloadv2';\nimport {AccountsViewParentID} from '../../commonStateTypes/accountView/nestedAccountID';\nimport {ClassesViewParentID} from '../../commonStateTypes/classesView/nestedClassID';\nimport {ProjectsViewParentID} from '../../commonStateTypes/projectView/projectViewParentID';\nimport {ID, UpdateType} from '../../commonStateTypes/common';\nimport {ReportIDPlusForecastID} from '../../commonStateTypes/viewAndReport/viewAndReport';\nimport {\n AccountBasePayload,\n AccountPayload,\n mapAccountBasePayloadToAccountBase,\n mapStatementCloseDayPayloadToStatementCloseDay,\n} from './accountPayload';\nimport {\n Account,\n AccountBase,\n AccountKey,\n AccountState,\n StatementCloseDay,\n getAccountKey,\n} from './accountState';\n\nexport const initialState: AccountState = {\n accountsByKey: {} as Record<AccountKey, Account>,\n};\n\nconst account = createSlice({\n name: 'account',\n initialState,\n reducers: {\n updateAccounts: {\n reducer(\n draft,\n action: PayloadAction<\n AccountPayload[],\n string,\n {\n reportId: ReportIDPlusForecastID;\n updateType: UpdateType;\n classesViewParentId?: ClassesViewParentID;\n }\n >\n ) {\n doUpdateAccounts(\n draft.accountsByKey,\n action.payload,\n action.meta.reportId,\n action.meta.classesViewParentId,\n action.meta.updateType\n );\n },\n prepare(\n payload: AccountPayload[],\n reportId: ReportIDPlusForecastID,\n classesViewParentId?: ClassesViewParentID,\n updateType: UpdateType = 'merge'\n ) {\n return {\n payload,\n meta: {reportId, classesViewParentId, updateType},\n };\n },\n },\n updateMultipleSubAccountsWithBalances: {\n reducer(\n draft,\n action: PayloadAction<{\n currencyPayload: CurrencyPayload;\n reportId: ReportIDPlusForecastID;\n subAccountWithBalancesListPayloads: AccountMetadataWithBalancesPayload[];\n timeframe: 'month' | 'quarter' | 'year';\n updateType: UpdateType;\n }>\n ) {\n doUpdateSubAccountsWithBalances(\n draft.accountsByKey,\n action.payload.subAccountWithBalancesListPayloads,\n action.payload.currencyPayload,\n action.payload.reportId,\n action.payload.timeframe,\n action.payload.updateType\n );\n },\n prepare(\n subAccountWithBalancesListPayloads: AccountMetadataWithBalancesPayload[],\n currencyPayload: CurrencyPayload,\n reportId: ReportIDPlusForecastID,\n timeframe: 'month' | 'quarter' | 'year',\n updateType: UpdateType = 'merge'\n ) {\n return {\n payload: {\n subAccountWithBalancesListPayloads,\n currencyPayload,\n reportId,\n updateType,\n timeframe,\n },\n };\n },\n },\n updateAccountStatementCloseDay(\n draft,\n action: PayloadAction<{\n accountId: ID;\n reportId: ReportIDPlusForecastID;\n statementCloseDay: StatementCloseDay;\n }>\n ) {\n const key = getAccountKey(\n action.payload.reportId,\n action.payload.accountId\n );\n draft.accountsByKey[key].statementCloseDay =\n action.payload.statementCloseDay;\n },\n changeAccountKey(\n draft,\n action: PayloadAction<{newKey: AccountKey; oldKey: AccountKey}>\n ) {\n const {oldKey, newKey} = action.payload;\n draft.accountsByKey[newKey] = draft.accountsByKey[oldKey];\n delete draft.accountsByKey[oldKey];\n },\n clearAllAccounts(draft) {\n draft.accountsByKey = {} as Record<AccountKey, Account>;\n },\n },\n});\n\nexport const {\n updateAccounts,\n updateMultipleSubAccountsWithBalances,\n updateAccountStatementCloseDay,\n changeAccountKey,\n clearAllAccounts,\n} = account.actions;\nexport default account.reducer;\n\n/**\n * Helper functions.\n */\n\n/**\n * Update accountsById draft.\n * @param draft\n * @param payload\n */\n\nfunction doUpdateAccounts(\n draft: Record<ID, Account>,\n payload: AccountPayload[],\n reportId: ReportIDPlusForecastID,\n classesViewParentId: ClassesViewParentID | undefined,\n updateType: UpdateType\n) {\n payload.forEach((accountPayload) => {\n const latestAccount = mapAccountPayloadToAccount(\n accountPayload,\n reportId,\n classesViewParentId,\n undefined\n );\n if (latestAccount.key in draft && updateType === 'merge') {\n assignWith(\n draft[latestAccount.key],\n latestAccount,\n (objValue, srcValue) => (srcValue == null ? objValue : srcValue) // IMPORTANT: replace the value only when source has valid value. Otherwise keep the existing value!\n );\n } else {\n draft[latestAccount.key] = latestAccount;\n }\n });\n}\n\nfunction doUpdateSubAccountsWithBalances(\n draft: Record<ID, Account>,\n subAccountWithBalancesListPayload: AccountMetadataWithBalancesPayload[],\n currencyPayload: CurrencyPayload,\n reportId: ReportIDPlusForecastID,\n timeframe: 'month' | 'quarter' | 'year',\n updateType: UpdateType\n) {\n for (\n let index = 0;\n index < subAccountWithBalancesListPayload.length;\n index++\n ) {\n const accountBasePayload =\n subAccountWithBalancesListPayload[index].accountMetadataPayload;\n const accountBalancesPayload =\n subAccountWithBalancesListPayload[index].accountBalancesPayload;\n const accountViewParentId =\n subAccountWithBalancesListPayload[index].accountsViewParentID;\n const classesViewParentId =\n subAccountWithBalancesListPayload[index].classesViewParentID;\n const projectsViewParentId =\n subAccountWithBalancesListPayload[index].projectsViewParentID;\n doUpdateAccountWithBalancesV2(\n draft,\n accountBasePayload,\n accountBalancesPayload,\n currencyPayload,\n reportId,\n timeframe,\n classesViewParentId,\n accountViewParentId,\n projectsViewParentId,\n updateType\n );\n }\n}\n\nfunction doUpdateAccountWithBalancesV2(\n draft: Record<ID, Account>,\n accountBasePayload: AccountBasePayload,\n accountBalancesPayload: COABalanceGroupedByPeriodPayloadV2,\n currencyPayload: CurrencyPayload,\n reportId: ReportIDPlusForecastID,\n timeframe: 'month' | 'quarter' | 'year',\n classesViewParentId: ClassesViewParentID | undefined,\n accountsViewParentId: AccountsViewParentID | undefined,\n projectsViewParentId: ProjectsViewParentID | undefined,\n updateType: UpdateType\n) {\n const key = getAccountKey(\n reportId,\n accountBasePayload.account_id,\n classesViewParentId,\n accountsViewParentId,\n projectsViewParentId\n );\n\n const balancesByPeriod =\n mapCOABalanceGroupedByPeriodPayloadV2ToCOABalanceGroupedByPeriod(\n accountBalancesPayload,\n currencyPayload,\n timeframe\n );\n if (key in draft && updateType === 'merge') {\n // only add balances\n draft[key].balancesByPeriod = Object.assign(\n {},\n draft[key].balancesByPeriod,\n balancesByPeriod\n );\n } else {\n const latestAccount: Account = {\n ...mapAccountBasePayloadToAccountBase(accountBasePayload),\n key,\n accountsViewParentId,\n classesViewParentId,\n projectsViewParentId,\n };\n latestAccount.balancesByPeriod = balancesByPeriod;\n draft[latestAccount.key] = latestAccount;\n }\n}\n\nconst mapAccountPayloadToAccount = (\n payload: AccountPayload,\n reportId: ReportIDPlusForecastID,\n classesViewParentId: ClassesViewParentID | undefined,\n accountsViewParentId: AccountsViewParentID | undefined\n): Account => ({\n ...mapAccountBasePayloadToAccountBase(payload),\n key: getAccountKey(\n reportId,\n payload.account_id,\n classesViewParentId,\n accountsViewParentId\n ),\n classesViewParentId,\n accountsViewParentId,\n status:\n payload.status == null\n ? undefined\n : mapStatusPayloadToStatus(payload.status),\n balance:\n payload.balance == null\n ? undefined\n : mapBalancePayloadToBalance(payload.balance),\n expenses:\n payload.expenses == null\n ? undefined\n : mapCOABalanceGroupedPayloadToCOABalanceGrouped(payload.expenses),\n income:\n payload.income == null\n ? undefined\n : mapCOABalanceGroupedPayloadToCOABalanceGrouped(payload.income),\n cogs:\n payload.cogs == null\n ? undefined\n : mapCOABalanceGroupedPayloadToCOABalanceGrouped(payload.cogs),\n cashPosition:\n payload.cash_position == null\n ? undefined\n : mapCOABalanceGroupedPayloadToCOABalanceGrouped(payload.cash_position),\n cashIn:\n payload.cash_in == null\n ? undefined\n : mapCOABalanceGroupedPayloadToCOABalanceGrouped(payload.cash_in),\n cashOut:\n payload.cash_out == null\n ? undefined\n : mapCOABalanceGroupedPayloadToCOABalanceGrouped(payload.cash_out),\n otherIncome:\n payload.other_income == null\n ? undefined\n : mapCOABalanceGroupedPayloadToCOABalanceGrouped(payload.other_income),\n otherExpenses:\n payload.other_expenses == null\n ? undefined\n : mapCOABalanceGroupedPayloadToCOABalanceGrouped(payload.other_expenses),\n equity:\n payload.equity == null\n ? undefined\n : mapCOABalanceGroupedPayloadToCOABalanceGrouped(payload.equity),\n assets:\n payload.assets == null\n ? undefined\n : mapCOABalanceGroupedPayloadToCOABalanceGrouped(payload.assets),\n liabilities:\n payload.liabilities == null\n ? undefined\n : mapCOABalanceGroupedPayloadToCOABalanceGrouped(payload.liabilities),\n operatingActivities:\n payload.operating_activities == null\n ? undefined\n : mapCOABalanceGroupedPayloadToCOABalanceGrouped(\n payload.operating_activities\n ),\n investingActivities:\n payload.investing_activities == null\n ? undefined\n : mapCOABalanceGroupedPayloadToCOABalanceGrouped(\n payload.investing_activities\n ),\n financingActivities:\n payload.financing_activities == null\n ? undefined\n : mapCOABalanceGroupedPayloadToCOABalanceGrouped(\n payload.financing_activities\n ),\n statementCloseDay:\n payload.statement_close_day == null\n ? undefined\n : mapStatementCloseDayPayloadToStatementCloseDay(\n payload.statement_close_day\n ),\n qboId: payload.qbo_id == null ? undefined : payload.qbo_id,\n coaId: payload.coa_id == null ? undefined : payload.coa_id,\n});\n\nexport const emptyAccount: AccountBase = {\n labels: [],\n accountId: '',\n accountName: '',\n accountDescription: '',\n};\n"]}
|
|
@@ -13,11 +13,9 @@ const projectSlice = (0, toolkit_1.createSlice)({
|
|
|
13
13
|
reducers: {
|
|
14
14
|
updateProjects: {
|
|
15
15
|
reducer(draft, action) {
|
|
16
|
-
console.log('$$$ [projectReducer.updateProjects] payload count:', action.payload.length, 'payload:', action.payload);
|
|
17
16
|
action.payload.forEach((projectPayload) => {
|
|
18
17
|
const project = (0, projectPayload_1.mapProjectMetadataPayloadToProject)(projectPayload);
|
|
19
18
|
draft.projects[project.projectId] = project;
|
|
20
|
-
console.log('$$$ [projectReducer.updateProjects] stored project', project.projectId, project);
|
|
21
19
|
});
|
|
22
20
|
},
|
|
23
21
|
prepare(payload) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectReducer.js","sourceRoot":"","sources":["../../../src/entity/project/projectReducer.ts"],"names":[],"mappings":";;;;AAAA,8CAA4D;AAG5D,qDAG0B;AAOb,QAAA,YAAY,GAAiB;IACxC,QAAQ,EAAE,EAAyB;CACpC,CAAC;AAEF,MAAM,YAAY,GAAG,IAAA,qBAAW,EAAC;IAC/B,IAAI,EAAE,SAAS;IACf,YAAY,EAAZ,oBAAY;IACZ,QAAQ,EAAE;QACR,cAAc,EAAE;YACd,OAAO,CACL,KAAK,EACL,MAA+C;gBAE/C,
|
|
1
|
+
{"version":3,"file":"projectReducer.js","sourceRoot":"","sources":["../../../src/entity/project/projectReducer.ts"],"names":[],"mappings":";;;;AAAA,8CAA4D;AAG5D,qDAG0B;AAOb,QAAA,YAAY,GAAiB;IACxC,QAAQ,EAAE,EAAyB;CACpC,CAAC;AAEF,MAAM,YAAY,GAAG,IAAA,qBAAW,EAAC;IAC/B,IAAI,EAAE,SAAS;IACf,YAAY,EAAZ,oBAAY;IACZ,QAAQ,EAAE;QACR,cAAc,EAAE;YACd,OAAO,CACL,KAAK,EACL,MAA+C;gBAE/C,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;oBACxC,MAAM,OAAO,GAAG,IAAA,mDAAkC,EAAC,cAAc,CAAC,CAAC;oBACnE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;gBAC9C,CAAC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,CAAC,OAAiC;gBACvC,OAAO,EAAC,OAAO,EAAC,CAAC;YACnB,CAAC;SACF;QACD,gBAAgB,CAAC,KAAK;YACpB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,oBAAY,CAAC,CAAC;QACrC,CAAC;KACF;CACF,CAAC,CAAC;AAEU,KAAqC,YAAY,CAAC,OAAO,EAAxD,sBAAc,sBAAE,wBAAgB,uBAAyB;AAEvE,kBAAe,YAAY,CAAC,OAAO,CAAC","sourcesContent":["import {PayloadAction, createSlice} from '@reduxjs/toolkit';\n\nimport {ID} from '../../commonStateTypes/common';\nimport {\n ProjectMetadataPayload,\n mapProjectMetadataPayloadToProject,\n} from './projectPayload';\nimport {Project} from './projectState';\n\nexport interface ProjectState {\n projects: Record<ID, Project>;\n}\n\nexport const initialState: ProjectState = {\n projects: {} as Record<ID, Project>,\n};\n\nconst projectSlice = createSlice({\n name: 'project',\n initialState,\n reducers: {\n updateProjects: {\n reducer(\n draft,\n action: PayloadAction<ProjectMetadataPayload[]>\n ) {\n action.payload.forEach((projectPayload) => {\n const project = mapProjectMetadataPayloadToProject(projectPayload);\n draft.projects[project.projectId] = project;\n });\n },\n prepare(payload: ProjectMetadataPayload[]) {\n return {payload};\n },\n },\n clearAllProjects(draft) {\n Object.assign(draft, initialState);\n },\n },\n});\n\nexport const {updateProjects, clearAllProjects} = projectSlice.actions;\n\nexport default projectSlice.reducer;\n"]}
|
|
@@ -21,12 +21,10 @@ const updateSectionAccountsViewEpic = (actions$) => actions$.pipe((0, operators_
|
|
|
21
21
|
const currencyPayload = action.payload.currencyPayload;
|
|
22
22
|
const accountsMetadata = accountsMetadataPayload.map((eachAccount) => (0, accountPayload_1.mapAccountMetadataPayloadToAccountMetadata)(eachAccount));
|
|
23
23
|
const accountMetadataRecordsByID = (0, getNestedAccountIDHierarchyForReport_1.getAllAccountMetadataRecordsByID)(accountsMetadataPayload);
|
|
24
|
-
console.log('$$$ [sectionAccountsViewEpic] triggered for section:', sectionId, 'reportId:', reportId, 'hasAccounts:', sectionPayload.accounts != null, 'hasAccountGroups:', sectionPayload.account_groups != null);
|
|
25
24
|
// This would mean a non-zeni COA
|
|
26
25
|
if (sectionPayload.accounts != null) {
|
|
27
26
|
const accounts = sectionPayload.accounts;
|
|
28
27
|
const accountMetadataWithBalancesPayloads = (0, subAccountPayloadHelper_1.getSubAccountsMetadataForAccountList)(accounts, accountMetadataRecordsByID, sectionId);
|
|
29
|
-
console.log('$$$ [sectionAccountsViewEpic] non-zeni COA path — section:', sectionId, 'built', accountMetadataWithBalancesPayloads.length, 'sub-account payloads');
|
|
30
28
|
if (accountMetadataWithBalancesPayloads.length > 0) {
|
|
31
29
|
actions.push((0, accountReducer_1.updateMultipleSubAccountsWithBalances)(accountMetadataWithBalancesPayloads, currencyPayload, reportId, timeframe));
|
|
32
30
|
}
|
|
@@ -50,7 +48,6 @@ const updateSectionAccountsViewEpic = (actions$) => actions$.pipe((0, operators_
|
|
|
50
48
|
accountMetadataWithBalancesPayloads.push(...subAccounts);
|
|
51
49
|
}
|
|
52
50
|
});
|
|
53
|
-
console.log('$$$ [sectionAccountsViewEpic] zeni COA path — section:', sectionId, 'accountGroups:', accountGroupMetadataWithBalancesPayloads.length, 'subAccounts:', accountMetadataWithBalancesPayloads.length);
|
|
54
51
|
actions.push((0, accountGroupReducer_1.addAccountGroupsWithBalances)(timeframe, accountGroupMetadataWithBalancesPayloads, currencyPayload, sectionId, reportId));
|
|
55
52
|
actions.push((0, accountReducer_1.updateMultipleSubAccountsWithBalances)(accountMetadataWithBalancesPayloads, currencyPayload, reportId, timeframe));
|
|
56
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sectionAccountsViewEpic.js","sourceRoot":"","sources":["../../../src/entity/sectionAccountsView/sectionAccountsViewEpic.ts"],"names":[],"mappings":";;;AACA,+BAAsC;AACtC,8CAAgD;AAMhD,6GAAqH;AACrH,kIAAyH;AAEzH,8DAAqF;AACrF,8DAAgF;AAChF,6EAAiF;AACjF,mGAA+F;AAC/F,6EAAuE;AAOhE,MAAM,6BAA6B,GAAG,CAC3C,QAAuC,EACf,EAAE,CAC1B,QAAQ,CAAC,IAAI,CACX,IAAA,kBAAM,EAAC,sDAAyB,CAAC,KAAK,CAAC,EACvC,IAAA,oBAAQ,EAAC,CAAC,MAAM,EAAE,EAAE;IAClB,MAAM,OAAO,GAAiB,EAAE,CAAC;IAEjC,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;IACrD,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;IAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;IAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;IACzC,MAAM,uBAAuB,GAAG,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC;IACvE,MAAM,2BAA2B,GAC/B,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC;IAC7C,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;IAEvD,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CACnE,IAAA,2DAA0C,EAAC,WAAW,CAAC,CACxD,CAAC;IAEF,MAAM,0BAA0B,GAC9B,IAAA,uEAAgC,EAAC,uBAAuB,CAAC,CAAC;IAE5D,
|
|
1
|
+
{"version":3,"file":"sectionAccountsViewEpic.js","sourceRoot":"","sources":["../../../src/entity/sectionAccountsView/sectionAccountsViewEpic.ts"],"names":[],"mappings":";;;AACA,+BAAsC;AACtC,8CAAgD;AAMhD,6GAAqH;AACrH,kIAAyH;AAEzH,8DAAqF;AACrF,8DAAgF;AAChF,6EAAiF;AACjF,mGAA+F;AAC/F,6EAAuE;AAOhE,MAAM,6BAA6B,GAAG,CAC3C,QAAuC,EACf,EAAE,CAC1B,QAAQ,CAAC,IAAI,CACX,IAAA,kBAAM,EAAC,sDAAyB,CAAC,KAAK,CAAC,EACvC,IAAA,oBAAQ,EAAC,CAAC,MAAM,EAAE,EAAE;IAClB,MAAM,OAAO,GAAiB,EAAE,CAAC;IAEjC,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;IACrD,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;IAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;IAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;IACzC,MAAM,uBAAuB,GAAG,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC;IACvE,MAAM,2BAA2B,GAC/B,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC;IAC7C,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;IAEvD,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CACnE,IAAA,2DAA0C,EAAC,WAAW,CAAC,CACxD,CAAC;IAEF,MAAM,0BAA0B,GAC9B,IAAA,uEAAgC,EAAC,uBAAuB,CAAC,CAAC;IAE5D,iCAAiC;IACjC,IAAI,cAAc,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC;QACzC,MAAM,mCAAmC,GACvC,IAAA,8DAAoC,EAClC,QAAQ,EACR,0BAA0B,EAC1B,SAAS,CACV,CAAC;QAEJ,IAAI,mCAAmC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnD,OAAO,CAAC,IAAI,CACV,IAAA,sDAAqC,EACnC,mCAAmC,EACnC,eAAe,EACf,QAAQ,EACR,SAAS,CACV,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,cAAc,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC;QAC1C,uEAAuE;QAEvE,MAAM,aAAa,GAAG,cAAc,CAAC,cAAc,CAAC;QACpD,MAAM,wCAAwC,GAC5C,EAAE,CAAC;QACL,MAAM,mCAAmC,GACvC,EAAE,CAAC;QAEL,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,kBAAkB,EAAE,EAAE;YACxD,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,IAAI,CACvD,CAAC,eAAe,EAAE,EAAE,CAClB,kBAAkB,KAAK,eAAe,CAAC,gBAAgB,CAC1D,CAAC;YACF,IAAI,gBAAgB,IAAI,IAAI,EAAE,CAAC;gBAC7B,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CACvC,aAAa,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAC3C,CAAC;gBACF,MAAM,gBAAgB,GAAG,IAAA,8EAAsC,EAC7D,qBAAqB,EACrB,gBAAgB,CACjB,CAAC;gBAEF,wCAAwC,CAAC,IAAI,CAAC;oBAC5C,2BAA2B,EAAE,gBAAgB;oBAC7C,oBAAoB,EAAE,aAAa,CAAC,kBAAkB,CAAC;oBACvD,gBAAgB;iBACjB,CAAC,CAAC;gBAEH,MAAM,WAAW,GAAG,IAAA,8DAAoC,EACtD,aAAa,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAC1C,0BAA0B,EAC1B,SAAS,CACV,CAAC;gBAEF,mCAAmC,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,IAAI,CACV,IAAA,kDAA4B,EAC1B,SAAS,EACT,wCAAwC,EACxC,eAAe,EACf,SAAS,EACT,QAAQ,CACT,CACF,CAAC;QACF,OAAO,CAAC,IAAI,CACV,IAAA,sDAAqC,EACnC,mCAAmC,EACnC,eAAe,EACf,QAAQ,EACR,SAAS,CACV,CACF,CAAC;IACJ,CAAC;IACD,OAAO,IAAA,WAAI,EAAC,OAAO,CAAC,CAAC;AACvB,CAAC,CAAC,CACH,CAAC;AAxGS,QAAA,6BAA6B,iCAwGtC","sourcesContent":["import {ActionsObservable} from 'redux-observable';\nimport {Observable, from} from 'rxjs';\nimport {filter, mergeMap} from 'rxjs/operators';\n\nimport {\n AccountGroupMetadataWithBalancesPayload,\n AccountMetadataWithBalancesPayload,\n} from '../../commonPayloadTypes/subAccountView/reportBySubAccountPayload';\nimport {getSubAccountsMetadataForAccountList} from '../../commonPayloadTypes/subAccountView/subAccountPayloadHelper';\nimport {getAllAccountMetadataRecordsByID} from '../../commonStateTypes/accountView/getNestedAccountIDHierarchyForReport';\nimport {AccountMetadataRecordsByID} from '../../commonStateTypes/accountView/nestedAccountID';\nimport {mapAccountMetadataPayloadToAccountMetadata} from '../account/accountPayload';\nimport {updateMultipleSubAccountsWithBalances} from '../account/accountReducer';\nimport {addAccountGroupsWithBalances} from '../accountGroup/accountGroupReducer';\nimport {getNestedAccountIDHierarchyForAccounts} from './getNestedAccountIDHierarchyForSection';\nimport {updateSectionAccountsView} from './sectionAccountsViewReducer';\n\nexport type ActionType =\n | ReturnType<typeof updateSectionAccountsView>\n | ReturnType<typeof addAccountGroupsWithBalances>\n | ReturnType<typeof updateMultipleSubAccountsWithBalances>;\n\nexport const updateSectionAccountsViewEpic = (\n actions$: ActionsObservable<ActionType>\n): Observable<ActionType> =>\n actions$.pipe(\n filter(updateSectionAccountsView.match),\n mergeMap((action) => {\n const actions: ActionType[] = [];\n\n const sectionPayload = action.payload.sectionPayload;\n const sectionId = action.payload.sectionId;\n const timeframe = action.payload.timeframe;\n const reportId = action.payload.reportId;\n const accountsMetadataPayload = action.payload.accountsMetadataPayload;\n const accountGroupMetadataPayload =\n action.payload.accountGroupMetadataPayload;\n const currencyPayload = action.payload.currencyPayload;\n\n const accountsMetadata = accountsMetadataPayload.map((eachAccount) =>\n mapAccountMetadataPayloadToAccountMetadata(eachAccount)\n );\n\n const accountMetadataRecordsByID: AccountMetadataRecordsByID =\n getAllAccountMetadataRecordsByID(accountsMetadataPayload);\n\n // This would mean a non-zeni COA\n if (sectionPayload.accounts != null) {\n const accounts = sectionPayload.accounts;\n const accountMetadataWithBalancesPayloads: AccountMetadataWithBalancesPayload[] =\n getSubAccountsMetadataForAccountList(\n accounts,\n accountMetadataRecordsByID,\n sectionId\n );\n\n if (accountMetadataWithBalancesPayloads.length > 0) {\n actions.push(\n updateMultipleSubAccountsWithBalances(\n accountMetadataWithBalancesPayloads,\n currencyPayload,\n reportId,\n timeframe\n )\n );\n }\n }\n if (sectionPayload.account_groups != null) {\n // This would be zeni COA - then add all account groups in this section\n\n const accountGroups = sectionPayload.account_groups;\n const accountGroupMetadataWithBalancesPayloads: AccountGroupMetadataWithBalancesPayload[] =\n [];\n const accountMetadataWithBalancesPayloads: AccountMetadataWithBalancesPayload[] =\n [];\n\n Object.keys(accountGroups).forEach((eachAccountGroupId) => {\n const accountGroupMeta = accountGroupMetadataPayload.find(\n (acGroupMetadata) =>\n eachAccountGroupId === acGroupMetadata.account_group_id\n );\n if (accountGroupMeta != null) {\n const accountGroupsAccounts = Object.keys(\n accountGroups[eachAccountGroupId].accounts\n );\n const nestedAccountIds = getNestedAccountIDHierarchyForAccounts(\n accountGroupsAccounts,\n accountsMetadata\n );\n\n accountGroupMetadataWithBalancesPayloads.push({\n accountGroupMetadataPayload: accountGroupMeta,\n accountGroupBalances: accountGroups[eachAccountGroupId],\n nestedAccountIds,\n });\n\n const subAccounts = getSubAccountsMetadataForAccountList(\n accountGroups[eachAccountGroupId].accounts,\n accountMetadataRecordsByID,\n sectionId\n );\n\n accountMetadataWithBalancesPayloads.push(...subAccounts);\n }\n });\n\n actions.push(\n addAccountGroupsWithBalances(\n timeframe,\n accountGroupMetadataWithBalancesPayloads,\n currencyPayload,\n sectionId,\n reportId\n )\n );\n actions.push(\n updateMultipleSubAccountsWithBalances(\n accountMetadataWithBalancesPayloads,\n currencyPayload,\n reportId,\n timeframe\n )\n );\n }\n return from(actions);\n })\n );\n"]}
|
|
@@ -31,7 +31,6 @@ const sectionAccountsView = (0, toolkit_1.createSlice)({
|
|
|
31
31
|
};
|
|
32
32
|
},
|
|
33
33
|
reducer(draft, action) {
|
|
34
|
-
console.log('$$$ [sectionAccountsViewReducer.updateSectionAccountsView] section:', action.payload.sectionId, 'reportId:', action.payload.reportId, 'timeframe:', action.payload.timeframe, 'sectionPayload:', action.payload.sectionPayload);
|
|
35
34
|
updateSection(draft, action.payload.timeframe, action.payload.sectionId, action.payload.reportId, action.payload.sectionPayload, action.payload.accountsMetadataPayload, action.payload.currencyPayload);
|
|
36
35
|
},
|
|
37
36
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sectionAccountsViewReducer.js","sourceRoot":"","sources":["../../../src/entity/sectionAccountsView/sectionAccountsViewReducer.ts"],"names":[],"mappings":"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","sourcesContent":["import {PayloadAction, createSlice} from '@reduxjs/toolkit';\n\nimport {\n AccountGroupCOABalanceGroupedPayloadByAccountGroupId,\n SectionByAccountGroupCOABalanceGroupedPayload,\n} from '../../commonPayloadTypes/subAccountView/reportBySubAccountPayload';\nimport {\n COABalanceGroupedByPeriodPayloadV2,\n mapCOABalanceGroupedByPeriodPayloadV2ToCOABalanceGroupedByPeriod,\n} from '../../commonPayloadTypes/v2/coaBalancePayload';\nimport {CurrencyPayload} from '../../commonPayloadTypes/v2/viewAndReportPayloadv2';\nimport {ID} from '../../commonStateTypes/common';\nimport {ReportIDPlusForecastID} from '../../commonStateTypes/viewAndReport/viewAndReport';\nimport {\n AccountMetadataPayload,\n mapAccountMetadataPayloadToAccountMetadata,\n} from '../account/accountPayload';\nimport {AccountGroupMetadataPayload} from '../accountGroup/accountGroupPayload';\nimport {\n AccountGroupKey,\n AccountGroupType,\n getAccountGroupKey,\n} from '../accountGroup/accountGroupState';\nimport {getNestedAccountIDHierarchyForAccounts} from './getNestedAccountIDHierarchyForSection';\nimport {getSectionAccountViewKey} from './sectionAccountsView';\nimport {mapSectionByAccountCOABalanceGroupedPayloadToSection} from './sectionAccountsViewHelper';\nimport {SectionAccountsViewState} from './sectionAccountsViewState';\n\nexport const initialState: SectionAccountsViewState = {\n sectionsByKey: {},\n};\n\nconst sectionAccountsView = createSlice({\n name: 'sectionAccountsView',\n initialState,\n reducers: {\n updateSectionAccountsView: {\n prepare(\n timeframe: 'month' | 'quarter' | 'year',\n sectionId: ID,\n reportId: ReportIDPlusForecastID,\n sectionPayload: SectionByAccountGroupCOABalanceGroupedPayload,\n accountsMetadataPayload: AccountMetadataPayload[],\n accountGroupMetadataPayload: AccountGroupMetadataPayload[],\n currencyPayload: CurrencyPayload\n ) {\n return {\n payload: {\n timeframe,\n reportId,\n sectionId,\n sectionPayload,\n accountsMetadataPayload,\n accountGroupMetadataPayload,\n currencyPayload,\n },\n };\n },\n reducer(\n draft,\n action: PayloadAction<{\n accountGroupMetadataPayload: AccountGroupMetadataPayload[];\n accountsMetadataPayload: AccountMetadataPayload[];\n currencyPayload: CurrencyPayload;\n reportId: ReportIDPlusForecastID;\n sectionId: ID;\n sectionPayload: SectionByAccountGroupCOABalanceGroupedPayload;\n timeframe: 'month' | 'quarter' | 'year';\n }>\n ) {\n console.log('$$$ [sectionAccountsViewReducer.updateSectionAccountsView] section:', action.payload.sectionId, 'reportId:', action.payload.reportId, 'timeframe:', action.payload.timeframe, 'sectionPayload:', action.payload.sectionPayload);\n updateSection(\n draft,\n action.payload.timeframe,\n action.payload.sectionId,\n action.payload.reportId,\n action.payload.sectionPayload,\n action.payload.accountsMetadataPayload,\n action.payload.currencyPayload\n );\n },\n },\n updateCalculatedSectionAccountsView: {\n prepare(\n timeframe: 'month' | 'quarter' | 'year',\n sectionId: ID,\n reportId: ReportIDPlusForecastID,\n calculatedSectionPayload: COABalanceGroupedByPeriodPayloadV2,\n currencyPayload: CurrencyPayload\n ) {\n return {\n payload: {\n timeframe,\n reportId,\n sectionId,\n calculatedSectionPayload,\n currencyPayload,\n },\n };\n },\n reducer(\n draft,\n action: PayloadAction<{\n calculatedSectionPayload: COABalanceGroupedByPeriodPayloadV2;\n currencyPayload: CurrencyPayload;\n reportId: ReportIDPlusForecastID;\n sectionId: ID;\n timeframe: 'month' | 'quarter' | 'year';\n }>\n ) {\n updateCalculatedSection(\n draft,\n action.payload.timeframe,\n action.payload.sectionId,\n action.payload.reportId,\n action.payload.calculatedSectionPayload,\n action.payload.currencyPayload\n );\n },\n },\n clearAllSectionsAccountsView(draft) {\n Object.assign(draft, initialState);\n },\n },\n});\n\nexport const {\n updateSectionAccountsView,\n updateCalculatedSectionAccountsView,\n clearAllSectionsAccountsView,\n} = sectionAccountsView.actions;\n\nexport default sectionAccountsView.reducer;\n\nconst updateSection = (\n draft: SectionAccountsViewState,\n timeframe: 'month' | 'quarter' | 'year',\n sectionId: ID,\n reportId: ReportIDPlusForecastID,\n sectionPayload: SectionByAccountGroupCOABalanceGroupedPayload,\n accountsMetadataPayload: AccountMetadataPayload[],\n currencyPayload: CurrencyPayload\n) => {\n const sectionKey = getSectionAccountViewKey(sectionId, reportId);\n const section = draft.sectionsByKey[sectionKey];\n\n if (section != null) {\n draft.sectionsByKey[sectionKey].balancesByPeriod = Object.assign(\n {},\n draft.sectionsByKey[sectionKey].balancesByPeriod,\n mapCOABalanceGroupedByPeriodPayloadV2ToCOABalanceGroupedByPeriod(\n sectionPayload,\n currencyPayload,\n timeframe\n )\n );\n } else {\n const accountsMetadata = accountsMetadataPayload.map((eachAccount) =>\n mapAccountMetadataPayloadToAccountMetadata(eachAccount)\n );\n const nestedAccounts = getNestedAccountIDHierarchyForAccounts(\n sectionPayload.accounts != null\n ? Object.keys(sectionPayload.accounts)\n : [],\n accountsMetadata\n );\n\n const accountGroupKeys = getAccountGroupsKeysInSection(\n sectionPayload.account_groups,\n sectionId as AccountGroupType,\n reportId\n );\n\n draft.sectionsByKey[sectionKey] =\n mapSectionByAccountCOABalanceGroupedPayloadToSection(\n timeframe,\n sectionPayload,\n accountGroupKeys,\n nestedAccounts,\n currencyPayload,\n {sectionId, reportId}\n );\n }\n};\n\nconst updateCalculatedSection = (\n draft: SectionAccountsViewState,\n timeframe: 'month' | 'quarter' | 'year',\n sectionId: ID,\n reportId: ReportIDPlusForecastID,\n calculatedSectionPayload: COABalanceGroupedByPeriodPayloadV2,\n currencyPayload: CurrencyPayload\n) => {\n const sectionKey = getSectionAccountViewKey(sectionId, reportId);\n const section = draft.sectionsByKey[sectionKey];\n const balances =\n mapCOABalanceGroupedByPeriodPayloadV2ToCOABalanceGroupedByPeriod(\n calculatedSectionPayload,\n currencyPayload,\n timeframe\n );\n if (section != null) {\n draft.sectionsByKey[sectionKey].balancesByPeriod = Object.assign(\n {},\n draft.sectionsByKey[sectionKey].balancesByPeriod,\n balances\n );\n } else {\n draft.sectionsByKey[sectionKey] = {\n key: sectionKey,\n sectionId: sectionId,\n accountGroupKeys: [],\n nestedAccountIds: [],\n balancesByPeriod: balances,\n };\n }\n};\n\nconst getAccountGroupsKeysInSection = (\n accountGroups: AccountGroupCOABalanceGroupedPayloadByAccountGroupId,\n sectionId: AccountGroupType,\n reportId: ReportIDPlusForecastID\n) => {\n const accountGroupsKeys: AccountGroupKey[] = [];\n if (accountGroups != null) {\n Object.keys(accountGroups).forEach((accountGroup) => {\n accountGroupsKeys.push(\n getAccountGroupKey(accountGroup, sectionId, reportId)\n );\n });\n }\n\n return accountGroupsKeys;\n};\n"]}
|
|
1
|
+
{"version":3,"file":"sectionAccountsViewReducer.js","sourceRoot":"","sources":["../../../src/entity/sectionAccountsView/sectionAccountsViewReducer.ts"],"names":[],"mappings":";;;;AAAA,8CAA4D;AAM5D,qFAGuD;AAIvD,8DAGmC;AAEnC,yEAI2C;AAC3C,mGAA+F;AAC/F,+DAA+D;AAC/D,2EAAiG;AAGpF,QAAA,YAAY,GAA6B;IACpD,aAAa,EAAE,EAAE;CAClB,CAAC;AAEF,MAAM,mBAAmB,GAAG,IAAA,qBAAW,EAAC;IACtC,IAAI,EAAE,qBAAqB;IAC3B,YAAY,EAAZ,oBAAY;IACZ,QAAQ,EAAE;QACR,yBAAyB,EAAE;YACzB,OAAO,CACL,SAAuC,EACvC,SAAa,EACb,QAAgC,EAChC,cAA6D,EAC7D,uBAAiD,EACjD,2BAA0D,EAC1D,eAAgC;gBAEhC,OAAO;oBACL,OAAO,EAAE;wBACP,SAAS;wBACT,QAAQ;wBACR,SAAS;wBACT,cAAc;wBACd,uBAAuB;wBACvB,2BAA2B;wBAC3B,eAAe;qBAChB;iBACF,CAAC;YACJ,CAAC;YACD,OAAO,CACL,KAAK,EACL,MAQE;gBAEF,aAAa,CACX,KAAK,EACL,MAAM,CAAC,OAAO,CAAC,SAAS,EACxB,MAAM,CAAC,OAAO,CAAC,SAAS,EACxB,MAAM,CAAC,OAAO,CAAC,QAAQ,EACvB,MAAM,CAAC,OAAO,CAAC,cAAc,EAC7B,MAAM,CAAC,OAAO,CAAC,uBAAuB,EACtC,MAAM,CAAC,OAAO,CAAC,eAAe,CAC/B,CAAC;YACJ,CAAC;SACF;QACD,mCAAmC,EAAE;YACnC,OAAO,CACL,SAAuC,EACvC,SAAa,EACb,QAAgC,EAChC,wBAA4D,EAC5D,eAAgC;gBAEhC,OAAO;oBACL,OAAO,EAAE;wBACP,SAAS;wBACT,QAAQ;wBACR,SAAS;wBACT,wBAAwB;wBACxB,eAAe;qBAChB;iBACF,CAAC;YACJ,CAAC;YACD,OAAO,CACL,KAAK,EACL,MAME;gBAEF,uBAAuB,CACrB,KAAK,EACL,MAAM,CAAC,OAAO,CAAC,SAAS,EACxB,MAAM,CAAC,OAAO,CAAC,SAAS,EACxB,MAAM,CAAC,OAAO,CAAC,QAAQ,EACvB,MAAM,CAAC,OAAO,CAAC,wBAAwB,EACvC,MAAM,CAAC,OAAO,CAAC,eAAe,CAC/B,CAAC;YACJ,CAAC;SACF;QACD,4BAA4B,CAAC,KAAK;YAChC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,oBAAY,CAAC,CAAC;QACrC,CAAC;KACF;CACF,CAAC,CAAC;AAEU,KAIT,mBAAmB,CAAC,OAAO,EAH7B,iCAAyB,iCACzB,2CAAmC,2CACnC,oCAA4B,mCACE;AAEhC,kBAAe,mBAAmB,CAAC,OAAO,CAAC;AAE3C,MAAM,aAAa,GAAG,CACpB,KAA+B,EAC/B,SAAuC,EACvC,SAAa,EACb,QAAgC,EAChC,cAA6D,EAC7D,uBAAiD,EACjD,eAAgC,EAChC,EAAE;IACF,MAAM,UAAU,GAAG,IAAA,8CAAwB,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAEhD,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;QACpB,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAC9D,EAAE,EACF,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAChD,IAAA,oFAAgE,EAC9D,cAAc,EACd,eAAe,EACf,SAAS,CACV,CACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CACnE,IAAA,2DAA0C,EAAC,WAAW,CAAC,CACxD,CAAC;QACF,MAAM,cAAc,GAAG,IAAA,8EAAsC,EAC3D,cAAc,CAAC,QAAQ,IAAI,IAAI;YAC7B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;YACtC,CAAC,CAAC,EAAE,EACN,gBAAgB,CACjB,CAAC;QAEF,MAAM,gBAAgB,GAAG,6BAA6B,CACpD,cAAc,CAAC,cAAc,EAC7B,SAA6B,EAC7B,QAAQ,CACT,CAAC;QAEF,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC;YAC7B,IAAA,gFAAoD,EAClD,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,EAAC,SAAS,EAAE,QAAQ,EAAC,CACtB,CAAC;IACN,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAC9B,KAA+B,EAC/B,SAAuC,EACvC,SAAa,EACb,QAAgC,EAChC,wBAA4D,EAC5D,eAAgC,EAChC,EAAE;IACF,MAAM,UAAU,GAAG,IAAA,8CAAwB,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAChD,MAAM,QAAQ,GACZ,IAAA,oFAAgE,EAC9D,wBAAwB,EACxB,eAAe,EACf,SAAS,CACV,CAAC;IACJ,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;QACpB,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAC9D,EAAE,EACF,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAChD,QAAQ,CACT,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG;YAChC,GAAG,EAAE,UAAU;YACf,SAAS,EAAE,SAAS;YACpB,gBAAgB,EAAE,EAAE;YACpB,gBAAgB,EAAE,EAAE;YACpB,gBAAgB,EAAE,QAAQ;SAC3B,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,6BAA6B,GAAG,CACpC,aAAmE,EACnE,SAA2B,EAC3B,QAAgC,EAChC,EAAE;IACF,MAAM,iBAAiB,GAAsB,EAAE,CAAC;IAChD,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;YAClD,iBAAiB,CAAC,IAAI,CACpB,IAAA,sCAAkB,EAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC,CACtD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC","sourcesContent":["import {PayloadAction, createSlice} from '@reduxjs/toolkit';\n\nimport {\n AccountGroupCOABalanceGroupedPayloadByAccountGroupId,\n SectionByAccountGroupCOABalanceGroupedPayload,\n} from '../../commonPayloadTypes/subAccountView/reportBySubAccountPayload';\nimport {\n COABalanceGroupedByPeriodPayloadV2,\n mapCOABalanceGroupedByPeriodPayloadV2ToCOABalanceGroupedByPeriod,\n} from '../../commonPayloadTypes/v2/coaBalancePayload';\nimport {CurrencyPayload} from '../../commonPayloadTypes/v2/viewAndReportPayloadv2';\nimport {ID} from '../../commonStateTypes/common';\nimport {ReportIDPlusForecastID} from '../../commonStateTypes/viewAndReport/viewAndReport';\nimport {\n AccountMetadataPayload,\n mapAccountMetadataPayloadToAccountMetadata,\n} from '../account/accountPayload';\nimport {AccountGroupMetadataPayload} from '../accountGroup/accountGroupPayload';\nimport {\n AccountGroupKey,\n AccountGroupType,\n getAccountGroupKey,\n} from '../accountGroup/accountGroupState';\nimport {getNestedAccountIDHierarchyForAccounts} from './getNestedAccountIDHierarchyForSection';\nimport {getSectionAccountViewKey} from './sectionAccountsView';\nimport {mapSectionByAccountCOABalanceGroupedPayloadToSection} from './sectionAccountsViewHelper';\nimport {SectionAccountsViewState} from './sectionAccountsViewState';\n\nexport const initialState: SectionAccountsViewState = {\n sectionsByKey: {},\n};\n\nconst sectionAccountsView = createSlice({\n name: 'sectionAccountsView',\n initialState,\n reducers: {\n updateSectionAccountsView: {\n prepare(\n timeframe: 'month' | 'quarter' | 'year',\n sectionId: ID,\n reportId: ReportIDPlusForecastID,\n sectionPayload: SectionByAccountGroupCOABalanceGroupedPayload,\n accountsMetadataPayload: AccountMetadataPayload[],\n accountGroupMetadataPayload: AccountGroupMetadataPayload[],\n currencyPayload: CurrencyPayload\n ) {\n return {\n payload: {\n timeframe,\n reportId,\n sectionId,\n sectionPayload,\n accountsMetadataPayload,\n accountGroupMetadataPayload,\n currencyPayload,\n },\n };\n },\n reducer(\n draft,\n action: PayloadAction<{\n accountGroupMetadataPayload: AccountGroupMetadataPayload[];\n accountsMetadataPayload: AccountMetadataPayload[];\n currencyPayload: CurrencyPayload;\n reportId: ReportIDPlusForecastID;\n sectionId: ID;\n sectionPayload: SectionByAccountGroupCOABalanceGroupedPayload;\n timeframe: 'month' | 'quarter' | 'year';\n }>\n ) {\n updateSection(\n draft,\n action.payload.timeframe,\n action.payload.sectionId,\n action.payload.reportId,\n action.payload.sectionPayload,\n action.payload.accountsMetadataPayload,\n action.payload.currencyPayload\n );\n },\n },\n updateCalculatedSectionAccountsView: {\n prepare(\n timeframe: 'month' | 'quarter' | 'year',\n sectionId: ID,\n reportId: ReportIDPlusForecastID,\n calculatedSectionPayload: COABalanceGroupedByPeriodPayloadV2,\n currencyPayload: CurrencyPayload\n ) {\n return {\n payload: {\n timeframe,\n reportId,\n sectionId,\n calculatedSectionPayload,\n currencyPayload,\n },\n };\n },\n reducer(\n draft,\n action: PayloadAction<{\n calculatedSectionPayload: COABalanceGroupedByPeriodPayloadV2;\n currencyPayload: CurrencyPayload;\n reportId: ReportIDPlusForecastID;\n sectionId: ID;\n timeframe: 'month' | 'quarter' | 'year';\n }>\n ) {\n updateCalculatedSection(\n draft,\n action.payload.timeframe,\n action.payload.sectionId,\n action.payload.reportId,\n action.payload.calculatedSectionPayload,\n action.payload.currencyPayload\n );\n },\n },\n clearAllSectionsAccountsView(draft) {\n Object.assign(draft, initialState);\n },\n },\n});\n\nexport const {\n updateSectionAccountsView,\n updateCalculatedSectionAccountsView,\n clearAllSectionsAccountsView,\n} = sectionAccountsView.actions;\n\nexport default sectionAccountsView.reducer;\n\nconst updateSection = (\n draft: SectionAccountsViewState,\n timeframe: 'month' | 'quarter' | 'year',\n sectionId: ID,\n reportId: ReportIDPlusForecastID,\n sectionPayload: SectionByAccountGroupCOABalanceGroupedPayload,\n accountsMetadataPayload: AccountMetadataPayload[],\n currencyPayload: CurrencyPayload\n) => {\n const sectionKey = getSectionAccountViewKey(sectionId, reportId);\n const section = draft.sectionsByKey[sectionKey];\n\n if (section != null) {\n draft.sectionsByKey[sectionKey].balancesByPeriod = Object.assign(\n {},\n draft.sectionsByKey[sectionKey].balancesByPeriod,\n mapCOABalanceGroupedByPeriodPayloadV2ToCOABalanceGroupedByPeriod(\n sectionPayload,\n currencyPayload,\n timeframe\n )\n );\n } else {\n const accountsMetadata = accountsMetadataPayload.map((eachAccount) =>\n mapAccountMetadataPayloadToAccountMetadata(eachAccount)\n );\n const nestedAccounts = getNestedAccountIDHierarchyForAccounts(\n sectionPayload.accounts != null\n ? Object.keys(sectionPayload.accounts)\n : [],\n accountsMetadata\n );\n\n const accountGroupKeys = getAccountGroupsKeysInSection(\n sectionPayload.account_groups,\n sectionId as AccountGroupType,\n reportId\n );\n\n draft.sectionsByKey[sectionKey] =\n mapSectionByAccountCOABalanceGroupedPayloadToSection(\n timeframe,\n sectionPayload,\n accountGroupKeys,\n nestedAccounts,\n currencyPayload,\n {sectionId, reportId}\n );\n }\n};\n\nconst updateCalculatedSection = (\n draft: SectionAccountsViewState,\n timeframe: 'month' | 'quarter' | 'year',\n sectionId: ID,\n reportId: ReportIDPlusForecastID,\n calculatedSectionPayload: COABalanceGroupedByPeriodPayloadV2,\n currencyPayload: CurrencyPayload\n) => {\n const sectionKey = getSectionAccountViewKey(sectionId, reportId);\n const section = draft.sectionsByKey[sectionKey];\n const balances =\n mapCOABalanceGroupedByPeriodPayloadV2ToCOABalanceGroupedByPeriod(\n calculatedSectionPayload,\n currencyPayload,\n timeframe\n );\n if (section != null) {\n draft.sectionsByKey[sectionKey].balancesByPeriod = Object.assign(\n {},\n draft.sectionsByKey[sectionKey].balancesByPeriod,\n balances\n );\n } else {\n draft.sectionsByKey[sectionKey] = {\n key: sectionKey,\n sectionId: sectionId,\n accountGroupKeys: [],\n nestedAccountIds: [],\n balancesByPeriod: balances,\n };\n }\n};\n\nconst getAccountGroupsKeysInSection = (\n accountGroups: AccountGroupCOABalanceGroupedPayloadByAccountGroupId,\n sectionId: AccountGroupType,\n reportId: ReportIDPlusForecastID\n) => {\n const accountGroupsKeys: AccountGroupKey[] = [];\n if (accountGroups != null) {\n Object.keys(accountGroups).forEach((accountGroup) => {\n accountGroupsKeys.push(\n getAccountGroupKey(accountGroup, sectionId, reportId)\n );\n });\n }\n\n return accountGroupsKeys;\n};\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { NestedAccountIDHierarchy } from '../../commonStateTypes/accountView/nestedAccountID';
|
|
1
2
|
import { COABalanceGroupedByPeriod } from '../../commonStateTypes/coaBalance/coaBalance';
|
|
2
3
|
import { ID } from '../../commonStateTypes/common';
|
|
3
4
|
import { ReportID } from '../../commonStateTypes/viewAndReport/viewAndReport';
|
|
@@ -6,6 +7,7 @@ export interface SectionProjectView {
|
|
|
6
7
|
projectId: ID;
|
|
7
8
|
sectionId: ID;
|
|
8
9
|
balancesByPeriod?: COABalanceGroupedByPeriod;
|
|
10
|
+
nestedAccountIds?: NestedAccountIDHierarchy[];
|
|
9
11
|
}
|
|
10
12
|
export declare function getSectionProjectViewKey(sectionId: ID, projectId: ID, reportId: ReportID): `${string}-${string}-cash_balance` | `${string}-${string}-card_balance` | `${string}-${string}-expense_automation_card` | `${string}-${string}-operating_expenses` | `${string}-${string}-operating_expenses_by_classes` | `${string}-${string}-revenue` | `${string}-${string}-revenue_by_classes` | `${string}-${string}-net_burn_or_income` | `${string}-${string}-net_burn_or_income_story_card` | `${string}-${string}-net_burn_or_income_by_classes` | `${string}-${string}-cash_position` | `${string}-${string}-top_expenses` | `${string}-${string}-profit_and_loss` | `${string}-${string}-profit_and_loss_by_classes` | `${string}-${string}-profit_and_loss_by_projects` | `${string}-${string}-balance_sheet` | `${string}-${string}-cash_flow` | `${string}-${string}-dashboard` | `${string}-${string}-finance_statement` | `${string}-${string}-transaction_list_of_account` | `${string}-${string}-transaction_list_missing_receipt` | `${string}-${string}-transaction_list_of_account_by_class` | `${string}-${string}-transaction_detail` | `${string}-${string}-cash_in_cash_out` | `${string}-${string}-insights_dashboard` | `${string}-${string}-company_details` | `${string}-${string}-class_list` | `${string}-${string}-account_list` | `${string}-${string}-account_list_by_type` | `${string}-${string}-vendor` | `${string}-${string}-task_card` | `${string}-${string}-bill_pay` | `${string}-${string}-reimbursement` | `${string}-${string}-bill_pay_card` | `${string}-${string}-reimbursement_card` | `${string}-${string}-bill_pay_promo_card` | `${string}-${string}-zeni_accounts` | `${string}-${string}-zeni_accounts_promo_card` | `${string}-${string}-zeni_treasury` | `${string}-${string}-charge_cards` | `${string}-${string}-other_connection` | `${string}-${string}-reimbursement_promo_card` | `${string}-${string}-onboarding` | `${string}-${string}-operating_expenses_by_vendor` | `${string}-${string}-operating_expenses_by_vendor_summary` | `${string}-${string}-vendors_tab` | `${string}-${string}-accounts_payable_aging` | `${string}-${string}-accounts_receivable_aging` | `${string}-${string}-vendor_global_review` | `${string}-${string}-prepaid_expenses` | `${string}-${string}-fixed_assets` | `${string}-${string}-notification` | `${string}-${string}-rewards_card` | `${string}-${string}-billing` | `${string}-${string}-flux_analysis_operating_expense` | `${string}-${string}-account_reconciliation` | `${string}-${string}-zeni_credit_promo_card` | `${string}-${string}-treasury_promo_card` | `${string}-${string}-excluded_account_reconciliation`;
|
|
11
13
|
export type SectionProjectKey = ReturnType<typeof getSectionProjectViewKey>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sectionProjectView.js","sourceRoot":"","sources":["../../../src/entity/sectionProjectView/sectionProjectView.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"sectionProjectView.js","sourceRoot":"","sources":["../../../src/entity/sectionProjectView/sectionProjectView.ts"],"names":[],"mappings":";;AAaA,4DAMC;AAND,SAAgB,wBAAwB,CACtC,SAAa,EACb,SAAa,EACb,QAAkB;IAElB,OAAO,GAAG,SAAS,IAAI,SAAS,IAAI,QAAQ,EAAW,CAAC;AAC1D,CAAC","sourcesContent":["import {NestedAccountIDHierarchy} from '../../commonStateTypes/accountView/nestedAccountID';\nimport {COABalanceGroupedByPeriod} from '../../commonStateTypes/coaBalance/coaBalance';\nimport {ID} from '../../commonStateTypes/common';\nimport {ReportID} from '../../commonStateTypes/viewAndReport/viewAndReport';\n\nexport interface SectionProjectView {\n key: SectionProjectKey;\n projectId: ID;\n sectionId: ID;\n balancesByPeriod?: COABalanceGroupedByPeriod;\n nestedAccountIds?: NestedAccountIDHierarchy[];\n}\n\nexport function getSectionProjectViewKey(\n sectionId: ID,\n projectId: ID,\n reportId: ReportID\n) {\n return `${sectionId}-${projectId}-${reportId}` as const;\n}\nexport type SectionProjectKey = ReturnType<typeof getSectionProjectViewKey>;\n"]}
|
|
@@ -16,7 +16,6 @@ const updateSectionProjectViewEpic = (actions$) => actions$.pipe((0, operators_1
|
|
|
16
16
|
const accountsMetadataPayload = action.payload.accountsMetadataPayload;
|
|
17
17
|
const accountMetadataRecordsByID = (0, getNestedAccountIDHierarchyForReport_1.getAllAccountMetadataRecordsByID)(accountsMetadataPayload);
|
|
18
18
|
const accountMetadataWithBalancesPayloads = [];
|
|
19
|
-
console.log('$$$ [sectionProjectViewEpic] triggered for section:', sectionId, 'timeframe:', timeframe, 'projectIds:', sectionPayload.projects ? Object.keys(sectionPayload.projects) : 'null');
|
|
20
19
|
if (sectionPayload.projects != null) {
|
|
21
20
|
Object.keys(sectionPayload.projects).forEach((projectId) => {
|
|
22
21
|
const projectAccounts = sectionPayload.projects[projectId].accounts;
|
|
@@ -24,14 +23,11 @@ const updateSectionProjectViewEpic = (actions$) => actions$.pipe((0, operators_1
|
|
|
24
23
|
projectId,
|
|
25
24
|
sectionId,
|
|
26
25
|
};
|
|
27
|
-
console.log('$$$ [sectionProjectViewEpic] project', projectId, 'in section', sectionId, 'has account keys:', projectAccounts ? Object.keys(projectAccounts) : 'null');
|
|
28
26
|
getSubAccountsMetadataForProjectAccountList(projectAccounts, accountMetadataRecordsByID, sectionId, projectsViewParentID, accountMetadataWithBalancesPayloads);
|
|
29
27
|
});
|
|
30
28
|
}
|
|
31
|
-
console.log('$$$ [sectionProjectViewEpic] built', accountMetadataWithBalancesPayloads.length, 'accountMetadataWithBalancesPayloads for section', sectionId, accountMetadataWithBalancesPayloads);
|
|
32
29
|
if (accountMetadataWithBalancesPayloads.length > 0) {
|
|
33
30
|
actions.push((0, accountReducer_1.updateMultipleSubAccountsWithBalances)(accountMetadataWithBalancesPayloads, currencyPayload, reportId, timeframe));
|
|
34
|
-
console.log('$$$ [sectionProjectViewEpic] dispatching updateMultipleSubAccountsWithBalances for section', sectionId);
|
|
35
31
|
}
|
|
36
32
|
return (0, rxjs_1.from)(actions);
|
|
37
33
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sectionProjectViewEpic.js","sourceRoot":"","sources":["../../../src/entity/sectionProjectView/sectionProjectViewEpic.ts"],"names":[],"mappings":";;;AACA,+BAAsC;AACtC,8CAAgD;AAMhD,kIAGiF;AAIjF,8DAAgF;AAChF,2EAAqE;AAM9D,MAAM,4BAA4B,GAAG,CAC1C,QAAuC,EACf,EAAE,CAC1B,QAAQ,CAAC,IAAI,CACX,IAAA,kBAAM,EAAC,oDAAwB,CAAC,KAAK,CAAC,EACtC,IAAA,oBAAQ,EAAC,CAAC,MAAM,EAAE,EAAE;IAClB,MAAM,OAAO,GAAiB,EAAE,CAAC;IAEjC,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;IACrD,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;IAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;IAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;IACzC,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;IAEvD,MAAM,uBAAuB,GAC3B,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC;IACzC,MAAM,0BAA0B,GAC9B,IAAA,uEAAgC,EAAC,uBAAuB,CAAC,CAAC;IAE5D,MAAM,mCAAmC,GACvC,EAAE,CAAC;IAEL,
|
|
1
|
+
{"version":3,"file":"sectionProjectViewEpic.js","sourceRoot":"","sources":["../../../src/entity/sectionProjectView/sectionProjectViewEpic.ts"],"names":[],"mappings":";;;AACA,+BAAsC;AACtC,8CAAgD;AAMhD,kIAGiF;AAIjF,8DAAgF;AAChF,2EAAqE;AAM9D,MAAM,4BAA4B,GAAG,CAC1C,QAAuC,EACf,EAAE,CAC1B,QAAQ,CAAC,IAAI,CACX,IAAA,kBAAM,EAAC,oDAAwB,CAAC,KAAK,CAAC,EACtC,IAAA,oBAAQ,EAAC,CAAC,MAAM,EAAE,EAAE;IAClB,MAAM,OAAO,GAAiB,EAAE,CAAC;IAEjC,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;IACrD,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;IAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;IAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;IACzC,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;IAEvD,MAAM,uBAAuB,GAC3B,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC;IACzC,MAAM,0BAA0B,GAC9B,IAAA,uEAAgC,EAAC,uBAAuB,CAAC,CAAC;IAE5D,MAAM,mCAAmC,GACvC,EAAE,CAAC;IAEL,IAAI,cAAc,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YACzD,MAAM,eAAe,GACnB,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC;YAC9C,MAAM,oBAAoB,GAAyB;gBACjD,SAAS;gBACT,SAAS;aACV,CAAC;YAEF,2CAA2C,CACzC,eAAe,EACf,0BAA0B,EAC1B,SAAS,EACT,oBAAoB,EACpB,mCAAmC,CACpC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,mCAAmC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,IAAI,CACV,IAAA,sDAAqC,EACnC,mCAAmC,EACnC,eAAe,EACf,QAAQ,EACR,SAAS,CACV,CACF,CAAC;IACJ,CAAC;IAED,OAAO,IAAA,WAAI,EAAC,OAAO,CAAC,CAAC;AACvB,CAAC,CAAC,CACH,CAAC;AAtDS,QAAA,4BAA4B,gCAsDrC;AAEJ,MAAM,2CAA2C,GAAG,CAClD,uBAAmE,EACnE,0BAAsD,EACtD,SAAa,EACb,oBAA0C,EAC1C,MAA4C,EAC5C,EAAE;IACF,IAAI,uBAAuB,IAAI,IAAI,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;YAC7D,MAAM,qBAAqB,GACzB,0BAA0B,CAAC,aAAa,CAAC,CAAC;YAC5C,IAAI,qBAAqB,IAAI,IAAI,EAAE,CAAC;gBAClC,MAAM,SAAS,GAAG,qBAAqB,CAAC,eAAe,CAAC;gBACxD,MAAM,CAAC,IAAI,CAAC;oBACV,oBAAoB,EAAE;wBACpB,eAAe,EAAE,IAAA,yDAAkB,EAAC,SAAS,CAAC;wBAC9C,SAAS;qBACV;oBACD,sBAAsB,EACpB,qBAAqB,CAAC,sBAAsB;oBAC9C,sBAAsB,EAAE,uBAAuB,CAAC,aAAa,CAAC;oBAC9D,oBAAoB;iBACrB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CACV,WAAW,aAAa,eAAe,SAAS,YAAY,oBAAoB,CAAC,SAAS,uBAAuB,CAClH,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC","sourcesContent":["import {ActionsObservable} from 'redux-observable';\nimport {Observable, from} from 'rxjs';\nimport {filter, mergeMap} from 'rxjs/operators';\n\nimport {\n AccountCOABalanceGroupedPayloadByAccountId,\n AccountMetadataWithBalancesPayload,\n} from '../../commonPayloadTypes/subAccountView/reportBySubAccountPayload';\nimport {\n getAllAccountMetadataRecordsByID,\n getParentAccountId,\n} from '../../commonStateTypes/accountView/getNestedAccountIDHierarchyForReport';\nimport {AccountMetadataRecordsByID} from '../../commonStateTypes/accountView/nestedAccountID';\nimport {ID} from '../../commonStateTypes/common';\nimport {ProjectsViewParentID} from '../../commonStateTypes/projectView/projectViewParentID';\nimport {updateMultipleSubAccountsWithBalances} from '../account/accountReducer';\nimport {updateSectionProjectView} from './sectionProjectViewReducer';\n\nexport type ActionType =\n | ReturnType<typeof updateSectionProjectView>\n | ReturnType<typeof updateMultipleSubAccountsWithBalances>;\n\nexport const updateSectionProjectViewEpic = (\n actions$: ActionsObservable<ActionType>\n): Observable<ActionType> =>\n actions$.pipe(\n filter(updateSectionProjectView.match),\n mergeMap((action) => {\n const actions: ActionType[] = [];\n\n const sectionPayload = action.payload.sectionPayload;\n const sectionId = action.payload.sectionId;\n const timeframe = action.payload.timeframe;\n const reportId = action.payload.reportId;\n const currencyPayload = action.payload.currencyPayload;\n\n const accountsMetadataPayload =\n action.payload.accountsMetadataPayload;\n const accountMetadataRecordsByID: AccountMetadataRecordsByID =\n getAllAccountMetadataRecordsByID(accountsMetadataPayload);\n\n const accountMetadataWithBalancesPayloads: AccountMetadataWithBalancesPayload[] =\n [];\n\n if (sectionPayload.projects != null) {\n Object.keys(sectionPayload.projects).forEach((projectId) => {\n const projectAccounts =\n sectionPayload.projects[projectId].accounts;\n const projectsViewParentID: ProjectsViewParentID = {\n projectId,\n sectionId,\n };\n\n getSubAccountsMetadataForProjectAccountList(\n projectAccounts,\n accountMetadataRecordsByID,\n sectionId,\n projectsViewParentID,\n accountMetadataWithBalancesPayloads\n );\n });\n }\n\n if (accountMetadataWithBalancesPayloads.length > 0) {\n actions.push(\n updateMultipleSubAccountsWithBalances(\n accountMetadataWithBalancesPayloads,\n currencyPayload,\n reportId,\n timeframe\n )\n );\n }\n\n return from(actions);\n })\n );\n\nconst getSubAccountsMetadataForProjectAccountList = (\n accountListWithBalances: AccountCOABalanceGroupedPayloadByAccountId,\n accountMetadataRecordsByID: AccountMetadataRecordsByID,\n sectionId: ID,\n projectsViewParentID: ProjectsViewParentID,\n result: AccountMetadataWithBalancesPayload[]\n) => {\n if (accountListWithBalances != null) {\n Object.keys(accountListWithBalances).forEach((eachAccountId) => {\n const accountMetadataRecord =\n accountMetadataRecordsByID[eachAccountId];\n if (accountMetadataRecord != null) {\n const accountId = accountMetadataRecord.nestedAccountId;\n result.push({\n accountsViewParentID: {\n parentAccountId: getParentAccountId(accountId),\n sectionId,\n },\n accountMetadataPayload:\n accountMetadataRecord.accountMetadataPayload,\n accountBalancesPayload: accountListWithBalances[eachAccountId],\n projectsViewParentID,\n });\n } else {\n console.warn(\n `Account ${eachAccountId} in Section ${sectionId} Project ${projectsViewParentID.projectId} is missing metadata.`\n );\n }\n });\n }\n};\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { COABalanceGroupedByPeriodPayloadV2 } from '../../commonPayloadTypes/v2/coaBalancePayload';
|
|
2
2
|
import { CurrencyPayload } from '../../commonPayloadTypes/v2/viewAndReportPayloadv2';
|
|
3
|
+
import { NestedAccountIDHierarchy } from '../../commonStateTypes/accountView/nestedAccountID';
|
|
3
4
|
import { ID } from '../../commonStateTypes/common';
|
|
4
5
|
import { ReportID } from '../../commonStateTypes/viewAndReport/viewAndReport';
|
|
5
6
|
import { SectionProjectView } from './sectionProjectView';
|
|
@@ -7,4 +8,4 @@ export declare const mapProjectCOABalanceGroupedPayloadToSectionProjectView: (ti
|
|
|
7
8
|
projectId: ID;
|
|
8
9
|
reportId: ReportID;
|
|
9
10
|
sectionId: ID;
|
|
10
|
-
}) => SectionProjectView;
|
|
11
|
+
}, nestedAccountIds: NestedAccountIDHierarchy[]) => SectionProjectView;
|
|
@@ -3,12 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.mapProjectCOABalanceGroupedPayloadToSectionProjectView = void 0;
|
|
4
4
|
const coaBalancePayload_1 = require("../../commonPayloadTypes/v2/coaBalancePayload");
|
|
5
5
|
const sectionProjectView_1 = require("./sectionProjectView");
|
|
6
|
-
const mapProjectCOABalanceGroupedPayloadToSectionProjectView = (timeframe, projectBalancesPayload, currencyPayload, id) => {
|
|
6
|
+
const mapProjectCOABalanceGroupedPayloadToSectionProjectView = (timeframe, projectBalancesPayload, currencyPayload, id, nestedAccountIds) => {
|
|
7
7
|
return {
|
|
8
8
|
key: (0, sectionProjectView_1.getSectionProjectViewKey)(id.sectionId, id.projectId, id.reportId),
|
|
9
9
|
projectId: id.projectId,
|
|
10
10
|
sectionId: id.sectionId,
|
|
11
11
|
balancesByPeriod: (0, coaBalancePayload_1.mapCOABalanceGroupedByPeriodPayloadV2ToCOABalanceGroupedByPeriod)(projectBalancesPayload, currencyPayload, timeframe),
|
|
12
|
+
nestedAccountIds,
|
|
12
13
|
};
|
|
13
14
|
};
|
|
14
15
|
exports.mapProjectCOABalanceGroupedPayloadToSectionProjectView = mapProjectCOABalanceGroupedPayloadToSectionProjectView;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sectionProjectViewHelper.js","sourceRoot":"","sources":["../../../src/entity/sectionProjectView/sectionProjectViewHelper.ts"],"names":[],"mappings":";;;AAAA,qFAGuD;
|
|
1
|
+
{"version":3,"file":"sectionProjectViewHelper.js","sourceRoot":"","sources":["../../../src/entity/sectionProjectView/sectionProjectViewHelper.ts"],"names":[],"mappings":";;;AAAA,qFAGuD;AAKvD,6DAG8B;AAEvB,MAAM,sDAAsD,GAAG,CACpE,SAAuC,EACvC,sBAA0D,EAC1D,eAAgC,EAChC,EAIC,EACD,gBAA4C,EACxB,EAAE;IACtB,OAAO;QACL,GAAG,EAAE,IAAA,6CAAwB,EAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC;QACtE,SAAS,EAAE,EAAE,CAAC,SAAS;QACvB,SAAS,EAAE,EAAE,CAAC,SAAS;QACvB,gBAAgB,EACd,IAAA,oFAAgE,EAC9D,sBAAsB,EACtB,eAAe,EACf,SAAS,CACV;QACH,gBAAgB;KACjB,CAAC;AACJ,CAAC,CAAC;AAvBW,QAAA,sDAAsD,0DAuBjE","sourcesContent":["import {\n COABalanceGroupedByPeriodPayloadV2,\n mapCOABalanceGroupedByPeriodPayloadV2ToCOABalanceGroupedByPeriod,\n} from '../../commonPayloadTypes/v2/coaBalancePayload';\nimport {CurrencyPayload} from '../../commonPayloadTypes/v2/viewAndReportPayloadv2';\nimport {NestedAccountIDHierarchy} from '../../commonStateTypes/accountView/nestedAccountID';\nimport {ID} from '../../commonStateTypes/common';\nimport {ReportID} from '../../commonStateTypes/viewAndReport/viewAndReport';\nimport {\n SectionProjectView,\n getSectionProjectViewKey,\n} from './sectionProjectView';\n\nexport const mapProjectCOABalanceGroupedPayloadToSectionProjectView = (\n timeframe: 'month' | 'quarter' | 'year',\n projectBalancesPayload: COABalanceGroupedByPeriodPayloadV2,\n currencyPayload: CurrencyPayload,\n id: {\n projectId: ID;\n reportId: ReportID;\n sectionId: ID;\n },\n nestedAccountIds: NestedAccountIDHierarchy[]\n): SectionProjectView => {\n return {\n key: getSectionProjectViewKey(id.sectionId, id.projectId, id.reportId),\n projectId: id.projectId,\n sectionId: id.sectionId,\n balancesByPeriod:\n mapCOABalanceGroupedByPeriodPayloadV2ToCOABalanceGroupedByPeriod(\n projectBalancesPayload,\n currencyPayload,\n timeframe\n ),\n nestedAccountIds,\n };\n};\n"]}
|
|
@@ -4,6 +4,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.clearAllSectionsProjectView = exports.updateSectionProjectView = exports.initialState = void 0;
|
|
5
5
|
const toolkit_1 = require("@reduxjs/toolkit");
|
|
6
6
|
const coaBalancePayload_1 = require("../../commonPayloadTypes/v2/coaBalancePayload");
|
|
7
|
+
const accountPayload_1 = require("../account/accountPayload");
|
|
8
|
+
const getNestedAccountIDHierarchyForSection_1 = require("../sectionAccountsView/getNestedAccountIDHierarchyForSection");
|
|
7
9
|
const sectionProjectView_1 = require("./sectionProjectView");
|
|
8
10
|
const sectionProjectViewHelper_1 = require("./sectionProjectViewHelper");
|
|
9
11
|
exports.initialState = {
|
|
@@ -27,12 +29,16 @@ const sectionProjectView = (0, toolkit_1.createSlice)({
|
|
|
27
29
|
};
|
|
28
30
|
},
|
|
29
31
|
reducer(draft, action) {
|
|
30
|
-
const { timeframe, sectionPayload, sectionId, reportId, currencyPayload } = action.payload;
|
|
31
|
-
console.log('$$$ [sectionProjectViewReducer.updateSectionProjectView] section:', sectionId, 'timeframe:', timeframe, 'reportId:', reportId, 'projectsInPayload:', sectionPayload.projects ? Object.keys(sectionPayload.projects) : 'null', 'fullPayload:', sectionPayload);
|
|
32
|
+
const { timeframe, sectionPayload, sectionId, reportId, currencyPayload, accountsMetadataPayload, } = action.payload;
|
|
32
33
|
if (sectionPayload.projects != null) {
|
|
34
|
+
const accountsMetadata = accountsMetadataPayload.map((eachAccount) => (0, accountPayload_1.mapAccountMetadataPayloadToAccountMetadata)(eachAccount));
|
|
33
35
|
Object.keys(sectionPayload.projects).forEach((projectId) => {
|
|
34
36
|
const projectPayload = sectionPayload.projects[projectId];
|
|
35
|
-
|
|
37
|
+
const projectAccountIds = projectPayload.accounts != null
|
|
38
|
+
? Object.keys(projectPayload.accounts)
|
|
39
|
+
: [];
|
|
40
|
+
const nestedAccountIds = (0, getNestedAccountIDHierarchyForSection_1.getNestedAccountIDHierarchyForAccounts)(projectAccountIds, accountsMetadata);
|
|
41
|
+
updateSectionProject(draft, timeframe, projectPayload, sectionId, projectId, reportId, currencyPayload, nestedAccountIds);
|
|
36
42
|
});
|
|
37
43
|
}
|
|
38
44
|
},
|
|
@@ -44,16 +50,16 @@ const sectionProjectView = (0, toolkit_1.createSlice)({
|
|
|
44
50
|
});
|
|
45
51
|
_a = sectionProjectView.actions, exports.updateSectionProjectView = _a.updateSectionProjectView, exports.clearAllSectionsProjectView = _a.clearAllSectionsProjectView;
|
|
46
52
|
exports.default = sectionProjectView.reducer;
|
|
47
|
-
const updateSectionProject = (draft, timeframe, projectPayload, sectionId, projectId, reportId, currencyPayload) => {
|
|
53
|
+
const updateSectionProject = (draft, timeframe, projectPayload, sectionId, projectId, reportId, currencyPayload, nestedAccountIds) => {
|
|
48
54
|
const sectionKey = (0, sectionProjectView_1.getSectionProjectViewKey)(sectionId, projectId, reportId);
|
|
49
55
|
const section = draft.sectionsByKey[sectionKey];
|
|
50
|
-
console.log('$$$ Updating section project view for section key:', sectionKey, 'with payload:', projectPayload);
|
|
51
56
|
if (section != null) {
|
|
52
57
|
draft.sectionsByKey[sectionKey].balancesByPeriod = Object.assign({}, draft.sectionsByKey[sectionKey].balancesByPeriod, (0, coaBalancePayload_1.mapCOABalanceGroupedByPeriodPayloadV2ToCOABalanceGroupedByPeriod)(projectPayload, currencyPayload, timeframe));
|
|
58
|
+
draft.sectionsByKey[sectionKey].nestedAccountIds = nestedAccountIds;
|
|
53
59
|
}
|
|
54
60
|
else {
|
|
55
61
|
draft.sectionsByKey[sectionKey] =
|
|
56
|
-
(0, sectionProjectViewHelper_1.mapProjectCOABalanceGroupedPayloadToSectionProjectView)(timeframe, projectPayload, currencyPayload, { sectionId, projectId, reportId });
|
|
62
|
+
(0, sectionProjectViewHelper_1.mapProjectCOABalanceGroupedPayloadToSectionProjectView)(timeframe, projectPayload, currencyPayload, { sectionId, projectId, reportId }, nestedAccountIds);
|
|
57
63
|
}
|
|
58
64
|
};
|
|
59
65
|
//# sourceMappingURL=sectionProjectViewReducer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sectionProjectViewReducer.js","sourceRoot":"","sources":["../../../src/entity/sectionProjectView/sectionProjectViewReducer.ts"],"names":[],"mappings":";;;;AAAA,8CAA4D;AAE5D,
|
|
1
|
+
{"version":3,"file":"sectionProjectViewReducer.js","sourceRoot":"","sources":["../../../src/entity/sectionProjectView/sectionProjectViewReducer.ts"],"names":[],"mappings":"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","sourcesContent":["import {PayloadAction, createSlice} from '@reduxjs/toolkit';\n\nimport {mapCOABalanceGroupedByPeriodPayloadV2ToCOABalanceGroupedByPeriod} from '../../commonPayloadTypes/v2/coaBalancePayload';\nimport {CurrencyPayload} from '../../commonPayloadTypes/v2/viewAndReportPayloadv2';\nimport {NestedAccountIDHierarchy} from '../../commonStateTypes/accountView/nestedAccountID';\nimport {ID} from '../../commonStateTypes/common';\nimport {ReportID} from '../../commonStateTypes/viewAndReport/viewAndReport';\nimport {\n AccountMetadataPayload,\n mapAccountMetadataPayloadToAccountMetadata,\n} from '../account/accountPayload';\nimport {\n ProjectCOABalanceGroupedPayloadV2,\n SectionByProjectCOABalanceGroupedPayloadV2,\n} from '../../view/profitAndLossProjectView/profitAndLossProjectViewPayload';\nimport {getNestedAccountIDHierarchyForAccounts} from '../sectionAccountsView/getNestedAccountIDHierarchyForSection';\nimport {getSectionProjectViewKey} from './sectionProjectView';\nimport {mapProjectCOABalanceGroupedPayloadToSectionProjectView} from './sectionProjectViewHelper';\nimport {SectionProjectViewState} from './sectionProjectViewState';\n\nexport const initialState: SectionProjectViewState = {\n sectionsByKey: {},\n};\n\nconst sectionProjectView = createSlice({\n name: 'sectionProjectView',\n initialState,\n reducers: {\n updateSectionProjectView: {\n prepare(\n timeframe: 'month' | 'quarter' | 'year',\n sectionId: ID,\n reportId: ReportID,\n sectionPayload: SectionByProjectCOABalanceGroupedPayloadV2,\n accountsMetadataPayload: AccountMetadataPayload[],\n currencyPayload: CurrencyPayload\n ) {\n return {\n payload: {\n timeframe,\n reportId,\n sectionId,\n sectionPayload,\n accountsMetadataPayload,\n currencyPayload,\n },\n };\n },\n reducer(\n draft,\n action: PayloadAction<{\n accountsMetadataPayload: AccountMetadataPayload[];\n currencyPayload: CurrencyPayload;\n reportId: ReportID;\n sectionId: ID;\n sectionPayload: SectionByProjectCOABalanceGroupedPayloadV2;\n timeframe: 'month' | 'quarter' | 'year';\n }>\n ) {\n const {\n timeframe,\n sectionPayload,\n sectionId,\n reportId,\n currencyPayload,\n accountsMetadataPayload,\n } = action.payload;\n\n if (sectionPayload.projects != null) {\n const accountsMetadata = accountsMetadataPayload.map((eachAccount) =>\n mapAccountMetadataPayloadToAccountMetadata(eachAccount)\n );\n\n Object.keys(sectionPayload.projects).forEach((projectId) => {\n const projectPayload = sectionPayload.projects[projectId];\n const projectAccountIds =\n projectPayload.accounts != null\n ? Object.keys(projectPayload.accounts)\n : [];\n const nestedAccountIds = getNestedAccountIDHierarchyForAccounts(\n projectAccountIds,\n accountsMetadata\n );\n updateSectionProject(\n draft,\n timeframe,\n projectPayload,\n sectionId,\n projectId,\n reportId,\n currencyPayload,\n nestedAccountIds\n );\n });\n }\n },\n },\n clearAllSectionsProjectView(draft) {\n Object.assign(draft, initialState);\n },\n },\n});\n\nexport const {updateSectionProjectView, clearAllSectionsProjectView} =\n sectionProjectView.actions;\n\nexport default sectionProjectView.reducer;\n\nconst updateSectionProject = (\n draft: SectionProjectViewState,\n timeframe: 'month' | 'quarter' | 'year',\n projectPayload: ProjectCOABalanceGroupedPayloadV2,\n sectionId: ID,\n projectId: ID,\n reportId: ReportID,\n currencyPayload: CurrencyPayload,\n nestedAccountIds: NestedAccountIDHierarchy[]\n) => {\n const sectionKey = getSectionProjectViewKey(sectionId, projectId, reportId);\n const section = draft.sectionsByKey[sectionKey];\n\n if (section != null) {\n draft.sectionsByKey[sectionKey].balancesByPeriod = Object.assign(\n {},\n draft.sectionsByKey[sectionKey].balancesByPeriod,\n mapCOABalanceGroupedByPeriodPayloadV2ToCOABalanceGroupedByPeriod(\n projectPayload,\n currencyPayload,\n timeframe\n )\n );\n draft.sectionsByKey[sectionKey].nestedAccountIds = nestedAccountIds;\n } else {\n draft.sectionsByKey[sectionKey] =\n mapProjectCOABalanceGroupedPayloadToSectionProjectView(\n timeframe,\n projectPayload,\n currencyPayload,\n {sectionId, projectId, reportId},\n nestedAccountIds\n );\n }\n};\n"]}
|
|
@@ -7,41 +7,21 @@ exports.getSectionProjectViewReport = void 0;
|
|
|
7
7
|
const get_1 = __importDefault(require("lodash/get"));
|
|
8
8
|
const coaBalance_1 = require("../../commonStateTypes/coaBalance/coaBalance");
|
|
9
9
|
const getSumOfBalancesGroupedByPeriod_1 = require("../../commonStateTypes/coaBalance/classBalances/getSumOfBalancesGroupedByPeriod");
|
|
10
|
-
const accountPayload_1 = require("../account/accountPayload");
|
|
11
|
-
const accountState_1 = require("../account/accountState");
|
|
12
10
|
const subAccountSelector_1 = require("../account/subAccountSelector");
|
|
13
11
|
const projectSelector_1 = require("../project/projectSelector");
|
|
14
|
-
const getNestedAccountIDHierarchyForSection_1 = require("../sectionAccountsView/getNestedAccountIDHierarchyForSection");
|
|
15
12
|
const sectionProjectView_1 = require("./sectionProjectView");
|
|
16
13
|
const getSectionProjectViewReport = (accountState, projectState, sectionState, projectIds, id, filter) => {
|
|
17
14
|
const projectIdsToShow = projectIds.filter((projectId) => !filter.projectsToFilterOut.includes(projectId));
|
|
18
15
|
const projectReports = [];
|
|
19
16
|
const sectionBalancesTotalByPeriodArray = [];
|
|
20
|
-
const accountsByProject = getAccountsByProject(accountState, id.sectionId, id.reportId);
|
|
21
17
|
projectIdsToShow.forEach((projectId) => {
|
|
22
18
|
const project = (0, projectSelector_1.getProjectById)(projectState, projectId);
|
|
23
19
|
if (project == null) {
|
|
24
20
|
return;
|
|
25
21
|
}
|
|
26
|
-
const
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
const key = (0, accountState_1.getAccountKey)(id.reportId, accountId, undefined, undefined, { projectId, sectionId: id.sectionId });
|
|
30
|
-
const account = accountState.accountsByKey[key];
|
|
31
|
-
if (account == null) {
|
|
32
|
-
return undefined;
|
|
33
|
-
}
|
|
34
|
-
return (0, accountPayload_1.mapAccountMetadataPayloadToAccountMetadata)({
|
|
35
|
-
account_id: account.accountId,
|
|
36
|
-
account_name: account.accountName,
|
|
37
|
-
account_description: account.accountDescription,
|
|
38
|
-
labels: account.labels,
|
|
39
|
-
is_sub_account: account.accountsViewParentId != null,
|
|
40
|
-
parent_account_id: account.accountsViewParentId?.parentAccountId?.[0] ?? null,
|
|
41
|
-
});
|
|
42
|
-
})
|
|
43
|
-
.filter((metadata) => metadata != null);
|
|
44
|
-
const nestedAccountHierarchy = (0, getNestedAccountIDHierarchyForSection_1.getNestedAccountIDHierarchyForAccounts)(projectAccountIds, accountsMetadata);
|
|
22
|
+
const projectSectionKey = (0, sectionProjectView_1.getSectionProjectViewKey)(id.sectionId, projectId, id.reportId);
|
|
23
|
+
const projectSectionView = (0, get_1.default)(sectionState.sectionsByKey, projectSectionKey, undefined);
|
|
24
|
+
const nestedAccountHierarchy = projectSectionView?.nestedAccountIds ?? [];
|
|
45
25
|
const nestedAccountReports = [];
|
|
46
26
|
nestedAccountHierarchy.forEach((accountIdHierarchy) => {
|
|
47
27
|
const report = (0, subAccountSelector_1.getNestedAccountReportForAccount)(accountState, {
|
|
@@ -56,8 +36,6 @@ const getSectionProjectViewReport = (accountState, projectState, sectionState, p
|
|
|
56
36
|
nestedAccountReports.push(report);
|
|
57
37
|
}
|
|
58
38
|
});
|
|
59
|
-
const projectSectionKey = (0, sectionProjectView_1.getSectionProjectViewKey)(id.sectionId, projectId, id.reportId);
|
|
60
|
-
const projectSectionView = (0, get_1.default)(sectionState.sectionsByKey, projectSectionKey, undefined);
|
|
61
39
|
const projectBalancesTotalByPeriod = projectSectionView?.balancesByPeriod ?? {};
|
|
62
40
|
const projectReport = {
|
|
63
41
|
projectId,
|
|
@@ -77,19 +55,4 @@ const getSectionProjectViewReport = (accountState, projectState, sectionState, p
|
|
|
77
55
|
};
|
|
78
56
|
};
|
|
79
57
|
exports.getSectionProjectViewReport = getSectionProjectViewReport;
|
|
80
|
-
const getAccountsByProject = (accountState, sectionId, reportId) => {
|
|
81
|
-
const result = {};
|
|
82
|
-
Object.values(accountState.accountsByKey).forEach((account) => {
|
|
83
|
-
if (account.projectsViewParentId != null &&
|
|
84
|
-
account.projectsViewParentId.sectionId === sectionId &&
|
|
85
|
-
account.key.endsWith(reportId)) {
|
|
86
|
-
const projectId = account.projectsViewParentId.projectId;
|
|
87
|
-
if (result[projectId] == null) {
|
|
88
|
-
result[projectId] = [];
|
|
89
|
-
}
|
|
90
|
-
result[projectId].push(account.accountId);
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
return result;
|
|
94
|
-
};
|
|
95
58
|
//# sourceMappingURL=sectionProjectViewSelector.js.map
|