feat(warehouseTransfer): add crud warehouse transfer.

This commit is contained in:
elforjani13
2022-02-03 00:27:42 +02:00
committed by a.bouhuolia
parent 0db252c862
commit 731ecaeeb3
22 changed files with 407 additions and 77 deletions

View File

@@ -0,0 +1,14 @@
import t from 'store/types';
export const setWarehouseTransferTableState = (queries) => {
return {
type: t.WAREHOUSE_TRANSFERS_TABLE_STATE_SET,
payload: { queries },
};
};
export const resetWarehouseTransferTableState = () => {
return {
type: t.WAREHOUSE_TRANSFERS_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:warehouse_transfers';
const CONFIG = {
key: STORAGE_KEY,
whitelist: [],
storage,
};
const reducerInstance = createReducer(initialState, {
...createTableStateReducers('WAREHOUSE_TRANSFERS', defaultTableQuery),
[t.RESET]: () => {
purgeStoredState(CONFIG);
},
});
export default persistReducer(CONFIG, reducerInstance);

View File

@@ -0,0 +1,33 @@
import { isEqual } from 'lodash';
import { paginationLocationQuery } from 'store/selectors';
import { createDeepEqualSelector } from 'utils';
import { defaultTableQuery } from './warehouseTransfer.reducer';
const warehouseTransfersTableStateSelector = (state) =>
state.warehouseTransfers.tableState;
/**
* Retrieve warehouse transfers table state.
*/
export const getWarehouseTransfersTableStateFactory = () =>
createDeepEqualSelector(
paginationLocationQuery,
warehouseTransfersTableStateSelector,
(locationQuery, tableState) => {
return {
...locationQuery,
...tableState,
};
},
);
/**
* Retrieve warehouse transfers table state.
*/
export const isWarehouseTransferTableStateChangedFactory = () =>
createDeepEqualSelector(
warehouseTransfersTableStateSelector,
(tableState) => {
return !isEqual(tableState, defaultTableQuery);
},
);

View File

@@ -0,0 +1,4 @@
export default {
WAREHOUSE_TRANSFERS_TABLE_STATE_SET: 'WAREHOUSE_TRANSFERS/TABLE_STATE_SET',
WAREHOUSE_TRANSFERS_TABLE_STATE_RESET: 'WAREHOUSE_TRANSFERS/TABLE_STATE_RESET',
};