feat(warehouseTransfer): add crud warehouse transfer.

This commit is contained in:
elforjani13
2022-02-03 00:27:42 +02:00
parent a81f1e7a9c
commit 8bf64c68e0
22 changed files with 407 additions and 77 deletions

View File

@@ -53,8 +53,8 @@ function WarehouseTransferForm({
// Form initial values.
const initialValues = React.useMemo(
() => ({
...(!isEmpty(null)
? { ...transformToEditForm(null) }
...(!isEmpty(warehouseTransfer)
? { ...transformToEditForm(warehouseTransfer) }
: {
...defaultWarehouseTransfer,
entries: orderingLinesIndexes(defaultWarehouseTransfer.entries),

View File

@@ -1,6 +1,7 @@
import React from 'react';
import { useParams } from 'react-router-dom';
import '../../../style/pages/WarehouseTransfers/PageForm.scss'
import '../../../style/pages/WarehouseTransfers/PageForm.scss';
import WarehouseTransferForm from './WarehouseTransferForm';
import { WarehouseTransferFormProvider } from './WarehouseTransferFormProvider';
@@ -8,8 +9,10 @@ import { WarehouseTransferFormProvider } from './WarehouseTransferFormProvider';
* WarehouseTransfer form page.
*/
export default function WarehouseTransferFormPage() {
const { id } = useParams();
const idAsInteger = parseInt(id, 10);
return (
<WarehouseTransferFormProvider warehouseTransferId={null}>
<WarehouseTransferFormProvider warehouseTransferId={idAsInteger}>
<WarehouseTransferForm />
</WarehouseTransferFormProvider>
);

View File

@@ -3,6 +3,7 @@ import DashboardInsider from 'components/Dashboard/DashboardInsider';
import {
useItems,
useWarehouses,
useWarehouseTransfer,
useCreateWarehouseTransfer,
useEditWarehouseTransfer,
} from 'hooks/query';
@@ -24,6 +25,12 @@ function WarehouseTransferFormProvider({ warehouseTransferId, ...props }) {
stringified_filter_roles: ITEMS_FILTER_ROLES_QUERY,
});
// Handle fetch warehouse transfer detail.
const { data: warehouseTransfer, isLoading: isWarehouseTransferLoading } =
useWarehouseTransfer(warehouseTransferId, {
enabled: !!warehouseTransferId,
});
// Fetch warehouses list.
const {
data: warehouses,
@@ -47,7 +54,7 @@ function WarehouseTransferFormProvider({ warehouseTransferId, ...props }) {
const provider = {
items,
warehouses,
warehouseTransfer: [],
warehouseTransfer,
isItemsFetching,
isWarehouesFetching,
@@ -58,9 +65,12 @@ function WarehouseTransferFormProvider({ warehouseTransferId, ...props }) {
createWarehouseTransferMutate,
editWarehouseTransferMutate,
};
return (
<DashboardInsider
loading={isItemsLoading || isWarehouesLoading}
loading={
isItemsLoading || isWarehouesLoading || isWarehouseTransferLoading
}
name={'warehouse-transfer-form'}
>
<WarehouseFormContext.Provider value={provider} {...props} />