feat: Vendor Credit note.

This commit is contained in:
elforjani13
2021-11-29 16:33:43 +02:00
parent 0a9798e7a7
commit 119d0b2839
35 changed files with 1488 additions and 10 deletions

View File

@@ -32,6 +32,7 @@ import organizations from './organizations/organizations.reducers';
import subscriptions from './subscription/subscription.reducer';
import inventoryAdjustments from './inventoryAdjustments/inventoryAdjustment.reducer';
import creditNotes from './CreditNotes/creditNotes.reducer'
import vendorsCreditNotes from './vendorsCreditNotes/vendorsCreditNotes.reducer'
import plans from './plans/plans.reducer';
const appReducer = combineReducers({
@@ -65,6 +66,7 @@ const appReducer = combineReducers({
paymentMades,
inventoryAdjustments,
creditNotes,
vendorsCreditNotes,
plans
});

View File

@@ -28,7 +28,8 @@ import paymentMades from './PaymentMades/paymentMades.type';
import organizations from './organizations/organizations.types';
import subscription from './subscription/subscription.types';
import inventoryAdjustments from './inventoryAdjustments/inventoryAdjustment.type';
import creditNotes from './CreditNotes/creditNotes.type'
import creditNotes from './CreditNotes/creditNotes.type';
import vendorsCreditNotes from './vendorsCreditNotes/vendorsCreditNotes.type';
import plans from './plans/plans.types';
export default {
@@ -63,5 +64,6 @@ export default {
...subscription,
...inventoryAdjustments,
...creditNotes,
...vendorsCreditNotes,
...plans,
};

View File

@@ -0,0 +1,14 @@
import t from 'store/types';
export const setVendorsCreditNoteTableState = (queries) => {
return {
type: t.VENDORS_CREDIT_NOTE_TABLE_STATE_SET,
payload: { queries },
};
};
export const resetVendorsCreditNoteTableState = () => {
return {
type: t.VENDORS_CREDIT_NOTE_TABLE_STATE_RESET,
};
};

View File

@@ -0,0 +1,34 @@
import { createReducer } from '@reduxjs/toolkit';
import { persistReducer, purgeStoredState } from 'redux-persist';
import storage from 'redux-persist/lib/storage';
import { createTableStateReducers } from 'store/tableState.reducer';
import t from 'store/types';
export const defaultTableQuery = {
pageSize: 20,
pageIndex: 0,
filterRoles: [],
viewSlug: null,
};
const initialState = {
tableState: defaultTableQuery,
};
const STORAGE_KEY = 'bigcapital:vendorsCreditNotes';
const CONFIG = {
key: STORAGE_KEY,
whitelist: [],
storage,
};
const reducerInstance = createReducer(initialState, {
...createTableStateReducers('VENDORS_CREDIT_NOTES', defaultTableQuery),
[t.RESET]: () => {
purgeStoredState(CONFIG);
},
});
export default persistReducer(CONFIG, reducerInstance);

View File

@@ -0,0 +1,24 @@
import { isEqual } from 'lodash';
import { paginationLocationQuery } from 'store/selectors';
import { createDeepEqualSelector } from 'utils';
import { defaultTableQuery } from './vendorsCreditNotes.reducer';
const VendorsCreditNoteTableStateSelector = (state) =>
state.vendorsCreditNotes.tableState;
export const getVendorsCreditNoteTableStateFactory = () =>
createDeepEqualSelector(
paginationLocationQuery,
VendorsCreditNoteTableStateSelector,
(locationQuery, tableState) => {
return {
...locationQuery,
...tableState,
};
},
);
export const isVendorsCreditNoteTableStateChangedFactory = () =>
createDeepEqualSelector(VendorsCreditNoteTableStateSelector, (tableState) => {
return !isEqual(tableState, defaultTableQuery);
});

View File

@@ -0,0 +1,5 @@
export default {
VENDORS_CREDIT_NOTE_TABLE_STATE_SET: 'VENDORS_CREDIT_NOTE/TABLES_STATE_SET',
VENDORS_CREDIT_NOTE_TABLE_STATE_RESET:
'VENDORS_CREDIT_NOTE/TABLE_STATE/RESET',
};