mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-20 06:40:31 +00:00
chrone: sperate client and server to different repos.
This commit is contained in:
206
src/store/financialStatement/financialStatements.actions.js
Normal file
206
src/store/financialStatement/financialStatements.actions.js
Normal file
@@ -0,0 +1,206 @@
|
||||
import t from 'store/types';
|
||||
|
||||
/**
|
||||
* Toggles display of the balance sheet filter drawer.
|
||||
* @param {boolean} toggle
|
||||
*/
|
||||
export function toggleBalanceSheetFilterDrawer(toggle) {
|
||||
return {
|
||||
type: `${t.BALANCE_SHEET}/${t.DISPLAY_FILTER_DRAWER_TOGGLE}`,
|
||||
payload: {
|
||||
toggle,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Toggles display of the trial balance sheet filter drawer.
|
||||
* @param {boolean} toggle
|
||||
*/
|
||||
export function toggleTrialBalanceSheetFilterDrawer(toggle) {
|
||||
return {
|
||||
type: `${t.TRIAL_BALANCE_SHEET}/${t.DISPLAY_FILTER_DRAWER_TOGGLE}`,
|
||||
payload: {
|
||||
toggle,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Toggles display of the journal sheet filter drawer.
|
||||
* @param {boolean} toggle
|
||||
*/
|
||||
export function toggleJournalSheeetFilterDrawer(toggle) {
|
||||
return {
|
||||
type: `${t.JOURNAL}/${t.DISPLAY_FILTER_DRAWER_TOGGLE}`,
|
||||
payload: {
|
||||
toggle,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Toggles display of the profit/loss filter drawer.
|
||||
* @param {boolean} toggle
|
||||
*/
|
||||
export function toggleProfitLossFilterDrawer(toggle) {
|
||||
return {
|
||||
type: `${t.PROFIT_LOSS}/${t.DISPLAY_FILTER_DRAWER_TOGGLE}`,
|
||||
payload: {
|
||||
toggle,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Toggles display of the general ledger filter drawer.
|
||||
* @param {boolean} toggle
|
||||
*/
|
||||
export function toggleGeneralLedgerFilterDrawer(toggle) {
|
||||
return {
|
||||
type: `${t.GENERAL_LEDGER}/${t.DISPLAY_FILTER_DRAWER_TOGGLE}`,
|
||||
payload: {
|
||||
toggle,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Toggles display of the AR aging summary filter drawer.
|
||||
* @param {boolean} toggle -
|
||||
*/
|
||||
export function toggleARAgingSummaryFilterDrawer(toggle) {
|
||||
return {
|
||||
type: `${t.AR_AGING_SUMMARY}/${t.DISPLAY_FILTER_DRAWER_TOGGLE}`,
|
||||
payload: {
|
||||
toggle,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Toggles display of the AP aging summary filter drawer.
|
||||
* @param {boolean} toggle -
|
||||
*/
|
||||
export function toggleAPAgingSummaryFilterDrawer(toggle) {
|
||||
return {
|
||||
type: `${t.AP_AGING_SUMMARY}/${t.DISPLAY_FILTER_DRAWER_TOGGLE}`,
|
||||
payload: {
|
||||
toggle,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Toggles display of the purchases by items filter drawer.
|
||||
* @param {boolean} toggle
|
||||
*/
|
||||
export function togglePurchasesByItemsFilterDrawer(toggle) {
|
||||
return {
|
||||
type: `${t.PURCHASES_BY_ITEMS}/${t.DISPLAY_FILTER_DRAWER_TOGGLE}`,
|
||||
payload: {
|
||||
toggle,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Toggles display of the sells by items filter drawer.
|
||||
* @param {boolean} toggle
|
||||
*/
|
||||
export function toggleSalesByItemsFilterDrawer(toggle) {
|
||||
return {
|
||||
type: `${t.SALES_BY_ITEMS}/${t.DISPLAY_FILTER_DRAWER_TOGGLE}`,
|
||||
payload: {
|
||||
toggle,
|
||||
},
|
||||
};
|
||||
}
|
||||
/**
|
||||
* Toggles display of the inventory valuation filter drawer.
|
||||
* @param {boolean} toggle
|
||||
*/
|
||||
export function toggleInventoryValuationFilterDrawer(toggle) {
|
||||
return {
|
||||
type: `${t.INVENTORY_VALUATION}/${t.DISPLAY_FILTER_DRAWER_TOGGLE}`,
|
||||
payload: {
|
||||
toggle,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Toggles display of the customers balance summary filter drawer.
|
||||
* @param {boolean} toggle
|
||||
*/
|
||||
export function toggleCustomersBalanceSummaryFilterDrawer(toggle) {
|
||||
return {
|
||||
type: `${t.CUSTOMERS_BALANCE_SUMMARY}/${t.DISPLAY_FILTER_DRAWER_TOGGLE}`,
|
||||
payload: {
|
||||
toggle,
|
||||
},
|
||||
};
|
||||
}
|
||||
/**
|
||||
* Toggles display of the vendors balance summary filter drawer.
|
||||
* @param {boolean} toggle
|
||||
*/
|
||||
export function toggleVendorsBalanceSummaryFilterDrawer(toggle) {
|
||||
return {
|
||||
type: `${t.VENDORS_BALANCE_SUMMARY}/${t.DISPLAY_FILTER_DRAWER_TOGGLE}`,
|
||||
payload: {
|
||||
toggle,
|
||||
},
|
||||
};
|
||||
}
|
||||
/**
|
||||
* Toggles display of the customers transactions filter drawer.
|
||||
* @param {boolean} toggle
|
||||
*/
|
||||
export function toggleCustomersTransactionsFilterDrawer(toggle) {
|
||||
return {
|
||||
type: `${t.CUSTOMERS_TRANSACTIONS}/${t.DISPLAY_FILTER_DRAWER_TOGGLE}`,
|
||||
payload: {
|
||||
toggle,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Toggles display of the vendors transactions filter drawer.
|
||||
* @param {boolean} toggle
|
||||
*/
|
||||
export function toggleVendorsTransactionsFilterDrawer(toggle) {
|
||||
return {
|
||||
type: `${t.VENDORS_TRANSACTIONS}/${t.DISPLAY_FILTER_DRAWER_TOGGLE}`,
|
||||
payload: {
|
||||
toggle,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Toggle display of the cash flow statement filter drawer.
|
||||
* @param {boolean} toggle
|
||||
*/
|
||||
export function toggleCashFlowStatementFilterDrawer(toggle) {
|
||||
return {
|
||||
type: `${t.CASH_FLOW_STATEMENT}/${t.DISPLAY_FILTER_DRAWER_TOGGLE}`,
|
||||
payload: {
|
||||
toggle,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Toggles display of the inventory item details filter drawer.
|
||||
* @param {boolean} toggle
|
||||
*/
|
||||
export function toggleInventoryItemDetailsFilterDrawer(toggle) {
|
||||
return {
|
||||
type: `${t.INVENTORY_ITEM_DETAILS}/${t.DISPLAY_FILTER_DRAWER_TOGGLE}`,
|
||||
payload: {
|
||||
toggle,
|
||||
},
|
||||
};
|
||||
}
|
||||
190
src/store/financialStatement/financialStatements.mappers.js
Normal file
190
src/store/financialStatement/financialStatements.mappers.js
Normal file
@@ -0,0 +1,190 @@
|
||||
import { omit, chain } from 'lodash';
|
||||
import moment from 'moment';
|
||||
|
||||
export const mapBalanceSheetToTableRows = (accounts) => {
|
||||
return accounts.map((account) => {
|
||||
return {
|
||||
...account,
|
||||
children: mapBalanceSheetToTableRows([
|
||||
...(account.children ? account.children : []),
|
||||
...(account.total && account.children && account.children.length > 0
|
||||
? [
|
||||
{
|
||||
name: `Total ${account.name}`,
|
||||
row_types: ['total-row', account.section_type],
|
||||
total: { ...account.total },
|
||||
...(account.total_periods && {
|
||||
total_periods: account.total_periods,
|
||||
}),
|
||||
},
|
||||
]
|
||||
: []),
|
||||
]),
|
||||
};
|
||||
});
|
||||
};
|
||||
|
||||
export const profitLossToTableRowsMapper = () => {};
|
||||
|
||||
export const journalToTableRowsMapper = (journal) => {
|
||||
const TYPES = {
|
||||
ENTRY: 'ENTRY',
|
||||
TOTAL_ENTRIES: 'TOTAL_ENTRIES',
|
||||
EMPTY_ROW: 'EMPTY_ROW',
|
||||
};
|
||||
|
||||
const entriesMapper = (transaction) => {
|
||||
return transaction.entries.map((entry, index) => ({
|
||||
...(index === 0
|
||||
? {
|
||||
date: transaction.date,
|
||||
reference_type: transaction.reference_type,
|
||||
reference_id: transaction.reference_id,
|
||||
reference_type_formatted: transaction.reference_type_formatted,
|
||||
}
|
||||
: {}),
|
||||
rowType: TYPES.ENTRY,
|
||||
...entry,
|
||||
}));
|
||||
};
|
||||
|
||||
return chain(journal)
|
||||
.map((transaction) => {
|
||||
const entries = entriesMapper(transaction);
|
||||
|
||||
return [
|
||||
...entries,
|
||||
{
|
||||
rowType: TYPES.TOTAL_ENTRIES,
|
||||
currency_code: transaction.currency_code,
|
||||
credit: transaction.credit,
|
||||
debit: transaction.debit,
|
||||
formatted_credit: transaction.formatted_credit,
|
||||
formatted_debit: transaction.formatted_debit,
|
||||
},
|
||||
{
|
||||
rowType: TYPES.EMPTY_ROW,
|
||||
},
|
||||
];
|
||||
})
|
||||
.flatten()
|
||||
.value();
|
||||
};
|
||||
|
||||
export const generalLedgerToTableRows = (accounts) => {
|
||||
return chain(accounts)
|
||||
.map((account) => {
|
||||
return {
|
||||
name: '',
|
||||
code: account.code,
|
||||
rowType: 'ACCOUNT_ROW',
|
||||
date: account.name,
|
||||
children: [
|
||||
{
|
||||
...account.opening_balance,
|
||||
name: 'Opening balance',
|
||||
rowType: 'OPENING_BALANCE',
|
||||
},
|
||||
...account.transactions.map((transaction) => ({
|
||||
...transaction,
|
||||
name: account.name,
|
||||
code: account.code,
|
||||
date: moment(transaction.date).format('DD MMM YYYY'),
|
||||
})),
|
||||
{
|
||||
...account.closing_balance,
|
||||
name: 'Closing balance',
|
||||
rowType: 'CLOSING_BALANCE',
|
||||
},
|
||||
],
|
||||
};
|
||||
})
|
||||
.value();
|
||||
};
|
||||
|
||||
export const ARAgingSummaryTableRowsMapper = (sheet, total) => {
|
||||
const rows = [];
|
||||
|
||||
const mapAging = (agingPeriods) => {
|
||||
return agingPeriods.reduce((acc, aging, index) => {
|
||||
acc[`aging-${index}`] = aging.total.formatted_amount;
|
||||
return acc;
|
||||
}, {});
|
||||
};
|
||||
sheet.customers.forEach((customer) => {
|
||||
const agingRow = mapAging(customer.aging);
|
||||
|
||||
rows.push({
|
||||
rowType: 'customer',
|
||||
name: customer.customer_name,
|
||||
...agingRow,
|
||||
current: customer.current.formatted_amount,
|
||||
total: customer.total.formatted_amount,
|
||||
});
|
||||
});
|
||||
if (rows.length <= 0) {
|
||||
return [];
|
||||
}
|
||||
return [
|
||||
...rows,
|
||||
{
|
||||
name: '',
|
||||
rowType: 'total',
|
||||
current: sheet.total.current.formatted_amount,
|
||||
...mapAging(sheet.total.aging),
|
||||
total: sheet.total.total.formatted_amount,
|
||||
},
|
||||
];
|
||||
};
|
||||
|
||||
export const APAgingSummaryTableRowsMapper = (sheet, total) => {
|
||||
const rows = [];
|
||||
|
||||
const mapAging = (agingPeriods) => {
|
||||
return agingPeriods.reduce((acc, aging, index) => {
|
||||
acc[`aging-${index}`] = aging.total.formatted_amount;
|
||||
return acc;
|
||||
}, {});
|
||||
};
|
||||
sheet.vendors.forEach((vendor) => {
|
||||
const agingRow = mapAging(vendor.aging);
|
||||
|
||||
rows.push({
|
||||
rowType: 'vendor',
|
||||
name: vendor.vendor_name,
|
||||
...agingRow,
|
||||
current: vendor.current.formatted_amount,
|
||||
total: vendor.total.formatted_amount,
|
||||
});
|
||||
});
|
||||
if (rows.length <= 0) {
|
||||
return [];
|
||||
}
|
||||
return [
|
||||
...rows,
|
||||
{
|
||||
name: '',
|
||||
rowType: 'total',
|
||||
current: sheet.total.current.formatted_amount,
|
||||
...mapAging(sheet.total.aging),
|
||||
total: sheet.total.total.formatted_amount,
|
||||
},
|
||||
];
|
||||
};
|
||||
|
||||
export const mapTrialBalanceSheetToRows = (sheet) => {
|
||||
const results = [];
|
||||
|
||||
if (sheet.accounts) {
|
||||
sheet.accounts.forEach((account) => {
|
||||
results.push(account);
|
||||
});
|
||||
}
|
||||
if (sheet.total) {
|
||||
results.push({
|
||||
rowType: 'total',
|
||||
...sheet.total,
|
||||
});
|
||||
}
|
||||
return results;
|
||||
};
|
||||
105
src/store/financialStatement/financialStatements.reducer.js
Normal file
105
src/store/financialStatement/financialStatements.reducer.js
Normal file
@@ -0,0 +1,105 @@
|
||||
import { createReducer } from '@reduxjs/toolkit';
|
||||
import t from 'store/types';
|
||||
|
||||
// Initial state.
|
||||
const initialState = {
|
||||
balanceSheet: {
|
||||
displayFilterDrawer: false,
|
||||
},
|
||||
trialBalance: {
|
||||
displayFilterDrawer: false,
|
||||
},
|
||||
generalLedger: {
|
||||
displayFilterDrawer: false,
|
||||
},
|
||||
journal: {
|
||||
displayFilterDrawer: false,
|
||||
},
|
||||
profitLoss: {
|
||||
displayFilterDrawer: false,
|
||||
},
|
||||
ARAgingSummary: {
|
||||
displayFilterDrawer: false,
|
||||
},
|
||||
APAgingSummary: {
|
||||
displayFilterDrawer: false,
|
||||
},
|
||||
purchasesByItems: {
|
||||
displayFilterDrawer: false,
|
||||
},
|
||||
salesByItems: {
|
||||
displayFilterDrawer: false,
|
||||
},
|
||||
inventoryValuation: {
|
||||
displayFilterDrawer: false,
|
||||
},
|
||||
customersBalanceSummary: {
|
||||
displayFilterDrawer: false,
|
||||
},
|
||||
vendorsBalanceSummary: {
|
||||
displayFilterDrawer: false,
|
||||
},
|
||||
customersTransactions: {
|
||||
displayFilterDrawer: false,
|
||||
},
|
||||
vendorsTransactions: {
|
||||
displayFilterDrawer: false,
|
||||
},
|
||||
cashFlowStatement: {
|
||||
displayFilterDrawer: false,
|
||||
},
|
||||
inventoryItemDetails: {
|
||||
displayFilterDrawer: false,
|
||||
},
|
||||
};
|
||||
|
||||
/**
|
||||
* Financial statement filter toggle.
|
||||
*/
|
||||
const financialStatementFilterToggle = (financialName, statePath) => {
|
||||
return {
|
||||
[`${financialName}/${t.DISPLAY_FILTER_DRAWER_TOGGLE}`]: (state, action) => {
|
||||
state[statePath].displayFilterDrawer =
|
||||
typeof action?.payload?.toggle !== 'undefined'
|
||||
? action.payload.toggle
|
||||
: !state[statePath].displayFilterDrawer;
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
export default createReducer(initialState, {
|
||||
...financialStatementFilterToggle(t.BALANCE_SHEET, 'balanceSheet'),
|
||||
...financialStatementFilterToggle(t.TRIAL_BALANCE_SHEET, 'trialBalance'),
|
||||
...financialStatementFilterToggle(t.JOURNAL, 'journal'),
|
||||
...financialStatementFilterToggle(t.GENERAL_LEDGER, 'generalLedger'),
|
||||
...financialStatementFilterToggle(t.PROFIT_LOSS, 'profitLoss'),
|
||||
...financialStatementFilterToggle(t.AR_AGING_SUMMARY, 'ARAgingSummary'),
|
||||
...financialStatementFilterToggle(t.AP_AGING_SUMMARY, 'APAgingSummary'),
|
||||
...financialStatementFilterToggle(t.PURCHASES_BY_ITEMS, 'purchasesByItems'),
|
||||
...financialStatementFilterToggle(t.SALES_BY_ITEMS, 'salesByItems'),
|
||||
...financialStatementFilterToggle(
|
||||
t.INVENTORY_VALUATION,
|
||||
'inventoryValuation',
|
||||
),
|
||||
...financialStatementFilterToggle(
|
||||
t.CUSTOMERS_BALANCE_SUMMARY,
|
||||
'customersBalanceSummary',
|
||||
),
|
||||
...financialStatementFilterToggle(
|
||||
t.VENDORS_BALANCE_SUMMARY,
|
||||
'vendorsBalanceSummary',
|
||||
),
|
||||
...financialStatementFilterToggle(
|
||||
t.CUSTOMERS_TRANSACTIONS,
|
||||
'customersTransactions',
|
||||
),
|
||||
...financialStatementFilterToggle(
|
||||
t.VENDORS_TRANSACTIONS,
|
||||
'vendorsTransactions',
|
||||
),
|
||||
...financialStatementFilterToggle(t.CASH_FLOW_STATEMENT, 'cashFlowStatement'),
|
||||
...financialStatementFilterToggle(
|
||||
t.INVENTORY_ITEM_DETAILS,
|
||||
'inventoryItemDetails',
|
||||
),
|
||||
});
|
||||
241
src/store/financialStatement/financialStatements.selectors.js
Normal file
241
src/store/financialStatement/financialStatements.selectors.js
Normal file
@@ -0,0 +1,241 @@
|
||||
import { createSelector } from 'reselect';
|
||||
|
||||
// Financial Statements selectors.
|
||||
export const sheetByTypeSelector = (sheetType) => (state, props) => {
|
||||
return state.financialStatements[sheetType];
|
||||
};
|
||||
|
||||
export const filterDrawerByTypeSelector = (sheetType) => (state) => {
|
||||
return sheetByTypeSelector(sheetType)(state)?.displayFilterDrawer;
|
||||
};
|
||||
|
||||
export const balanceSheetFilterDrawerSelector = (state) => {
|
||||
return filterDrawerByTypeSelector('balanceSheet')(state);
|
||||
};
|
||||
|
||||
export const profitLossSheetFilterDrawerSelector = (state) => {
|
||||
return filterDrawerByTypeSelector('profitLoss')(state);
|
||||
};
|
||||
|
||||
export const generalLedgerFilterDrawerSelector = (state) => {
|
||||
return filterDrawerByTypeSelector('generalLedger')(state);
|
||||
};
|
||||
|
||||
// Trial balance filter drawer selector.
|
||||
export const trialBalanceFilterDrawerSelector = (state) => {
|
||||
return filterDrawerByTypeSelector('trialBalance')(state);
|
||||
};
|
||||
|
||||
export const journalFilterDrawerSelector = (state) => {
|
||||
return filterDrawerByTypeSelector('journal')(state);
|
||||
};
|
||||
|
||||
export const ARAgingSummaryFilterDrawerSelector = (state) => {
|
||||
return filterDrawerByTypeSelector('ARAgingSummary')(state);
|
||||
};
|
||||
|
||||
export const APAgingSummaryFilterDrawerSelector = (state) => {
|
||||
return filterDrawerByTypeSelector('APAgingSummary')(state);
|
||||
};
|
||||
|
||||
export const purchasesByItemsFilterDrawerSelector = (state) => {
|
||||
return filterDrawerByTypeSelector('purchasesByItems')(state);
|
||||
};
|
||||
|
||||
export const salesByItemsFilterDrawerSelector = (state) => {
|
||||
return filterDrawerByTypeSelector('salesByItems')(state);
|
||||
};
|
||||
export const inventoryValuationFilterDrawerSelector = (state) => {
|
||||
return filterDrawerByTypeSelector('inventoryValuation')(state);
|
||||
};
|
||||
|
||||
export const customerBalanceSummaryFilterDrawerSelector = (state) => {
|
||||
return filterDrawerByTypeSelector('customersBalanceSummary')(state);
|
||||
};
|
||||
|
||||
export const vendorsBalanceSummaryFilterDrawerSelector = (state) => {
|
||||
return filterDrawerByTypeSelector('vendorsBalanceSummary')(state);
|
||||
};
|
||||
|
||||
export const customersTransactionsFilterDrawerSelector = (state) => {
|
||||
return filterDrawerByTypeSelector('customersTransactions')(state);
|
||||
};
|
||||
|
||||
export const vendorsTransactionsFilterDrawerSelector = (state) => {
|
||||
return filterDrawerByTypeSelector('vendorsTransactions')(state);
|
||||
};
|
||||
|
||||
export const cashFlowStatementFilterDrawerSelector = (state) => {
|
||||
return filterDrawerByTypeSelector('cashFlowStatement')(state);
|
||||
};
|
||||
|
||||
export const inventoryItemDetailsDrawerFilter = (state) => {
|
||||
return filterDrawerByTypeSelector('inventoryItemDetails')(state);
|
||||
};
|
||||
|
||||
/**
|
||||
* Retrieve balance sheet filter drawer.
|
||||
*/
|
||||
export const getBalanceSheetFilterDrawer = createSelector(
|
||||
balanceSheetFilterDrawerSelector,
|
||||
(isOpen) => {
|
||||
return isOpen;
|
||||
},
|
||||
);
|
||||
|
||||
/**
|
||||
* Retrieve whether trial balance sheet display filter drawer.
|
||||
*/
|
||||
export const getTrialBalanceSheetFilterDrawer = createSelector(
|
||||
trialBalanceFilterDrawerSelector,
|
||||
(isOpen) => {
|
||||
return isOpen;
|
||||
},
|
||||
);
|
||||
|
||||
/**
|
||||
* Retrieve profit/loss filter drawer.
|
||||
*/
|
||||
export const getProfitLossFilterDrawer = createSelector(
|
||||
profitLossSheetFilterDrawerSelector,
|
||||
(isOpen) => {
|
||||
return isOpen;
|
||||
},
|
||||
);
|
||||
|
||||
/**
|
||||
* Retrieve whether display general ledger (GL) filter drawer.
|
||||
*/
|
||||
export const getGeneralLedgerFilterDrawer = createSelector(
|
||||
generalLedgerFilterDrawerSelector,
|
||||
(isOpen) => {
|
||||
return isOpen;
|
||||
},
|
||||
);
|
||||
|
||||
/**
|
||||
* Retrieve whether display journal sheet filter drawer.
|
||||
*/
|
||||
export const getJournalFilterDrawer = createSelector(
|
||||
journalFilterDrawerSelector,
|
||||
(isOpen) => {
|
||||
return isOpen;
|
||||
},
|
||||
);
|
||||
|
||||
/**
|
||||
* Retrieve whether display AR aging summary drawer filter.
|
||||
*/
|
||||
export const getARAgingSummaryFilterDrawer = createSelector(
|
||||
ARAgingSummaryFilterDrawerSelector,
|
||||
(isOpen) => {
|
||||
return isOpen;
|
||||
},
|
||||
);
|
||||
|
||||
/**
|
||||
* Retrieve whether display AR aging summary drawer filter.
|
||||
*/
|
||||
export const getAPAgingSummaryFilterDrawer = createSelector(
|
||||
APAgingSummaryFilterDrawerSelector,
|
||||
(isOpen) => {
|
||||
return isOpen;
|
||||
},
|
||||
);
|
||||
|
||||
/**
|
||||
* Retrieve financial statement query by the given sheet index.
|
||||
*/
|
||||
export const getFinancialSheetQueryFactory = (sheetType) =>
|
||||
createSelector(sheetByTypeSelector(sheetType), (sheet) => {
|
||||
return sheet && sheet.query ? sheet.query : {};
|
||||
});
|
||||
|
||||
/**
|
||||
* Retrieve whether purchases by items display filter drawer.
|
||||
*/
|
||||
export const getPurchasesByItemsFilterDrawer = createSelector(
|
||||
purchasesByItemsFilterDrawerSelector,
|
||||
(isOpen) => {
|
||||
return isOpen;
|
||||
},
|
||||
);
|
||||
|
||||
/**
|
||||
* Retrieve whether sales by items display filter drawer.
|
||||
*/
|
||||
export const getSalesByItemsFilterDrawer = createSelector(
|
||||
salesByItemsFilterDrawerSelector,
|
||||
(isOpen) => {
|
||||
return isOpen;
|
||||
},
|
||||
);
|
||||
|
||||
/**
|
||||
* Retrieve whether sells by items display filter drawer.
|
||||
*/
|
||||
export const getInventoryValuationFilterDrawer = createSelector(
|
||||
inventoryValuationFilterDrawerSelector,
|
||||
(isOpen) => {
|
||||
return isOpen;
|
||||
},
|
||||
);
|
||||
|
||||
/**
|
||||
* Retrieve customers balance summary filter drawer.
|
||||
*/
|
||||
export const getCustomersBalanceSummaryFilterDrawer = createSelector(
|
||||
customerBalanceSummaryFilterDrawerSelector,
|
||||
(isOpen) => {
|
||||
return isOpen;
|
||||
},
|
||||
);
|
||||
/**
|
||||
* Retrieve vendors balance summary filter drawer.
|
||||
*/
|
||||
export const getVendorsBalanceSummaryFilterDrawer = createSelector(
|
||||
vendorsBalanceSummaryFilterDrawerSelector,
|
||||
(isOpen) => {
|
||||
return isOpen;
|
||||
},
|
||||
);
|
||||
|
||||
/**
|
||||
* Retrieve customers transactions filter drawer.
|
||||
*/
|
||||
export const getCustomersTransactionsFilterDrawer = createSelector(
|
||||
customersTransactionsFilterDrawerSelector,
|
||||
(isOpen) => {
|
||||
return isOpen;
|
||||
},
|
||||
);
|
||||
|
||||
/**
|
||||
* Retrieve vendors transactions filter drawer.
|
||||
*/
|
||||
export const getVendorsTransactionsFilterDrawer = createSelector(
|
||||
vendorsTransactionsFilterDrawerSelector,
|
||||
(isOpen) => {
|
||||
return isOpen;
|
||||
},
|
||||
);
|
||||
|
||||
/**
|
||||
* Retrieve cash flow statement filter drawer.
|
||||
*/
|
||||
export const getCashFlowStatementFilterDrawer = createSelector(
|
||||
cashFlowStatementFilterDrawerSelector,
|
||||
(isOpen) => {
|
||||
return isOpen;
|
||||
},
|
||||
);
|
||||
|
||||
/**
|
||||
* Retrieve inventory item details filter drawer.
|
||||
*/
|
||||
export const getInventoryItemDetailsFilterDrawer = createSelector(
|
||||
inventoryItemDetailsDrawerFilter,
|
||||
(isOpen) => {
|
||||
return isOpen;
|
||||
},
|
||||
);
|
||||
19
src/store/financialStatement/financialStatements.types.js
Normal file
19
src/store/financialStatement/financialStatements.types.js
Normal file
@@ -0,0 +1,19 @@
|
||||
export default {
|
||||
BALANCE_SHEET: 'BALANCE_SHEET',
|
||||
TRIAL_BALANCE_SHEET: 'TRIAL_BALANCE_SHEET',
|
||||
JOURNAL: 'JOURNAL',
|
||||
GENERAL_LEDGER: 'GENERAL_LEDGER',
|
||||
PROFIT_LOSS: 'PROFIT_LOSS',
|
||||
AR_AGING_SUMMARY: 'AR_AGING_SUMMARY',
|
||||
AP_AGING_SUMMARY: 'AP_AGING_SUMMARY',
|
||||
DISPLAY_FILTER_DRAWER_TOGGLE: 'DISPLAY_FILTER_DRAWER_TOGGLE',
|
||||
PURCHASES_BY_ITEMS: 'PURCHASES_BY_ITEMS',
|
||||
SALES_BY_ITEMS: 'SALES_BY_ITEMS',
|
||||
INVENTORY_VALUATION: 'INVENTORY_VALUATION',
|
||||
CUSTOMERS_BALANCE_SUMMARY: 'CUSTOMERS BALANCE SUMMARY',
|
||||
VENDORS_BALANCE_SUMMARY: 'VENDORS BALANCE SUMMARY',
|
||||
CUSTOMERS_TRANSACTIONS: 'CUSTOMERS TRANSACTIONS',
|
||||
VENDORS_TRANSACTIONS: 'VENDORS TRANSACTIONS',
|
||||
CASH_FLOW_STATEMENT: 'CASH FLOW STATEMENT',
|
||||
INVENTORY_ITEM_DETAILS: 'INVENTORY ITEM DETAILS',
|
||||
};
|
||||
Reference in New Issue
Block a user