Merge branch 'develop' of https://github.com/bigcapitalhq/client into develop

This commit is contained in:
a.bouhuolia
2021-12-15 12:01:44 +02:00
9 changed files with 68 additions and 17 deletions

View File

@@ -9,9 +9,14 @@ export default function LockingTransactionsDialogContent({
// #ownProps // #ownProps
dialogName, dialogName,
moduleName, moduleName,
isEnabled,
}) { }) {
return ( return (
<LockingTransactionsFormProvider moduleName={moduleName} dialogName={dialogName}> <LockingTransactionsFormProvider
isEnabled={isEnabled}
moduleName={moduleName}
dialogName={dialogName}
>
<LockingTransactionsForm /> <LockingTransactionsForm />
</LockingTransactionsFormProvider> </LockingTransactionsFormProvider>
); );

View File

@@ -13,7 +13,7 @@ import { useLockingTransactionsContext } from './LockingTransactionsFormProvider
import LockingTransactionsFormContent from './LockingTransactionsFormContent'; import LockingTransactionsFormContent from './LockingTransactionsFormContent';
import withDialogActions from 'containers/Dialog/withDialogActions'; import withDialogActions from 'containers/Dialog/withDialogActions';
import { compose } from 'utils'; import { compose, transformToForm } from 'utils';
const defaultInitialValues = { const defaultInitialValues = {
module: '', module: '',
@@ -28,14 +28,29 @@ function LockingTransactionsForm({
// #withDialogActions // #withDialogActions
closeDialog, closeDialog,
}) { }) {
const { dialogName, moduleName, createLockingTransactionMutate } = const {
useLockingTransactionsContext(); dialogName,
moduleName,
transactionLocking,
isEnabled,
createLockingTransactionMutate,
} = useLockingTransactionsContext();
// Initial form values. // Initial form values.
const initialValues = { const initialValues = React.useMemo(
...defaultInitialValues, () => ({
module: moduleName, ...(!isEnabled
}; ? {
...defaultInitialValues,
module: moduleName,
}
: {
...transformToForm(transactionLocking, defaultInitialValues),
module: moduleName,
}),
}),
[isEnabled],
);
// Handles the form submit. // Handles the form submit.
const handleFormSubmit = (values, { setSubmitting, setErrors }) => { const handleFormSubmit = (values, { setSubmitting, setErrors }) => {

View File

@@ -1,25 +1,42 @@
import React from 'react'; import React from 'react';
import { DialogContent } from 'components'; import { DialogContent } from 'components';
import { useCreateLockingTransactoin } from 'hooks/query'; import {
useCreateLockingTransactoin,
useEditTransactionsLocking,
} from 'hooks/query';
const LockingTransactionsContext = React.createContext(); const LockingTransactionsContext = React.createContext();
/** /**
* Locking transactions form provider. * Locking transactions form provider.
*/ */
function LockingTransactionsFormProvider({ moduleName, dialogName, ...props }) { function LockingTransactionsFormProvider({
moduleName,
isEnabled,
dialogName,
...props
}) {
// Create locking transactions mutations. // Create locking transactions mutations.
const { mutateAsync: createLockingTransactionMutate } = const { mutateAsync: createLockingTransactionMutate } =
useCreateLockingTransactoin(); useCreateLockingTransactoin();
const { data: transactionLocking, isLoading: isTransactionsLockingLoading } =
useEditTransactionsLocking(moduleName, {
enabled: !!isEnabled,
});
// const isEnabled = transactionLocking?.is_enabled;
// State provider. // State provider.
const provider = { const provider = {
dialogName, dialogName,
moduleName, moduleName,
createLockingTransactionMutate, createLockingTransactionMutate,
transactionLocking,
isEnabled,
}; };
return ( return (
<DialogContent> <DialogContent isLoading={isTransactionsLockingLoading}>
<LockingTransactionsContext.Provider value={provider} {...props} /> <LockingTransactionsContext.Provider value={provider} {...props} />
</DialogContent> </DialogContent>
); );

View File

@@ -12,7 +12,7 @@ const LockingTransactionsDialogContent = React.lazy(() =>
*/ */
function LockingTransactionsDialog({ function LockingTransactionsDialog({
dialogName, dialogName,
payload: { module }, payload: { module, isEnabled },
isOpen, isOpen,
}) { }) {
return ( return (
@@ -28,6 +28,7 @@ function LockingTransactionsDialog({
<LockingTransactionsDialogContent <LockingTransactionsDialogContent
moduleName={module} moduleName={module}
dialogName={dialogName} dialogName={dialogName}
isEnabled={isEnabled}
/> />
</DialogSuspense> </DialogSuspense>
</Dialog> </Dialog>

View File

@@ -137,8 +137,7 @@ export function StatusAccessor(bill) {
animate={false} animate={false}
stripes={false} stripes={false}
intent={Intent.PRIMARY} intent={Intent.PRIMARY}
value={calculateStatus(bill.credited_amount, bill.amount)} value={calculateStatus(bill.balance, bill.amount)}
// value={calculateStatus(bill.payment_amount, bill.amount)}
/> />
</If> </If>
</Choose.When> </Choose.When>

View File

@@ -64,7 +64,7 @@ export const statusAccessor = (row) => {
animate={false} animate={false}
stripes={false} stripes={false}
intent={Intent.PRIMARY} intent={Intent.PRIMARY}
value={calculateStatus(row.credited_amount, row.balance)} value={calculateStatus(row.balance_amount, row.balance)}
/> />
</If> </If>
</Choose.When> </Choose.When>

View File

@@ -251,7 +251,7 @@ function TransactionsLockingItemActions() {
} = useTransactionsLockingItemContext(); } = useTransactionsLockingItemContext();
const handleLockClick = (event) => { const handleLockClick = (event) => {
safeInvoke(onLock, module, event); safeInvoke(onLock, module, isEnabled, event);
}; };
const handleEditBtn = (event) => { const handleEditBtn = (event) => {
safeInvoke(onEditLock, module, event); safeInvoke(onEditLock, module, event);

View File

@@ -7,7 +7,8 @@ import t from './types';
// Common invalidate queries. // Common invalidate queries.
const commonInvalidateQueries = (queryClient) => { const commonInvalidateQueries = (queryClient) => {
// Invalidate customers. // Invalidate.
queryClient.invalidateQueries(t.TRANSACTION_LOCKING);
queryClient.invalidateQueries(t.TRANSACTIONS_LOCKING); queryClient.invalidateQueries(t.TRANSACTIONS_LOCKING);
}; };
@@ -100,3 +101,15 @@ export function useTransactionsLocking(query, props) {
}, },
); );
} }
export function useEditTransactionsLocking(query, props) {
return useRequestQuery(
[t.TRANSACTION_LOCKING, query],
{ method: 'get', url: `transactions-locking/${query}` },
{
select: (res) => res.data.data,
defaultData: [],
...props,
},
);
}

View File

@@ -185,6 +185,7 @@ const CASH_FLOW_ACCOUNTS = {
}; };
const TARNSACTIONS_LOCKING = { const TARNSACTIONS_LOCKING = {
TRANSACTION_LOCKING: 'TRANSACTION_LOCKING',
TRANSACTIONS_LOCKING: 'TRANSACTIONS_LOCKING', TRANSACTIONS_LOCKING: 'TRANSACTIONS_LOCKING',
}; };