fix: change the default from/to dates of customers/vendors transactions

This commit is contained in:
Ahmed Bouhuolia
2023-08-28 20:53:52 +02:00
parent 4df63561cf
commit a630e8a612
6 changed files with 72 additions and 17 deletions

View File

@@ -13,6 +13,7 @@ import { CustomersTransactionsBody } from './CustomersTransactionsBody';
import { CustomersTransactionsProvider } from './CustomersTransactionsProvider'; import { CustomersTransactionsProvider } from './CustomersTransactionsProvider';
import { compose } from '@/utils'; import { compose } from '@/utils';
import { useCustomersTransactionsQuery } from './_utils';
/** /**
* Customers transactions. * Customers transactions.
@@ -22,11 +23,7 @@ function CustomersTransactions({
toggleCustomersTransactionsFilterDrawer, toggleCustomersTransactionsFilterDrawer,
}) { }) {
// filter // filter
const [filter, setFilter] = useState({ const [filter, setFilter] = useCustomersTransactionsQuery();
fromDate: moment().startOf('year').format('YYYY-MM-DD'),
toDate: moment().endOf('year').format('YYYY-MM-DD'),
filterByOption: 'with-transactions',
});
const handleFilterSubmit = (filter) => { const handleFilterSubmit = (filter) => {
const _filter = { const _filter = {

View File

@@ -14,7 +14,7 @@ function CustomersTransactionsProvider({ filter, ...props }) {
filter, filter,
]); ]);
// fetches the customers transactions. // Fetches the customers transactions.
const { const {
data: customersTransactions, data: customersTransactions,
isFetching: isCustomersTransactionsFetching, isFetching: isCustomersTransactionsFetching,

View File

@@ -1,6 +1,11 @@
// @ts-nocheck
import * as Yup from 'yup'; import * as Yup from 'yup';
import intl from 'react-intl-universal'; import intl from 'react-intl-universal';
import moment from 'moment'; import moment from 'moment';
import { transformToForm } from '@/utils';
import { castArray } from 'lodash';
import { useMemo } from 'react';
import { useAppQueryString } from '@/hooks';
export const getCustomersTransactionsQuerySchema = () => { export const getCustomersTransactionsQuerySchema = () => {
return Yup.object().shape({ return Yup.object().shape({
@@ -13,7 +18,31 @@ export const getCustomersTransactionsQuerySchema = () => {
}; };
export const getCustomersTransactionsDefaultQuery = () => ({ export const getCustomersTransactionsDefaultQuery = () => ({
fromDate: moment().startOf('month').toDate(), fromDate: moment().startOf('month').format('YYYY-MM-DD'),
toDate: moment().toDate(), toDate: moment().format('YYYY-MM-DD'),
customersIds: [], customersIds: [],
filterByOption: 'with-transactions',
}); });
const parseCustomersTransactionsQuery = (query) => {
const defaultQuery = getCustomersTransactionsDefaultQuery();
const transformedQuery = {
...defaultQuery,
...transformToForm(query, defaultQuery),
};
return {
...transformedQuery,
customersIds: castArray(transformedQuery.customersIds),
};
};
export const useCustomersTransactionsQuery = () => {
const [locationQuery, setLocationQuery] = useAppQueryString();
const query = useMemo(
() => parseCustomersTransactionsQuery(locationQuery),
[locationQuery],
);
return [query, setLocationQuery];
};

View File

@@ -23,7 +23,7 @@ export default function ProfitLossSheetTable({
} = useProfitLossSheetContext(); } = useProfitLossSheetContext();
// Retrieves the profit/loss table columns. // Retrieves the profit/loss table columns.
const tableColumns = useProfitLossSheetColumns(); const columns = useProfitLossSheetColumns();
// Retrieve default expanded rows of balance sheet. // Retrieve default expanded rows of balance sheet.
const expandedRows = React.useMemo( const expandedRows = React.useMemo(
@@ -40,7 +40,7 @@ export default function ProfitLossSheetTable({
basis={query.basis} basis={query.basis}
> >
<ProfitLossDataTable <ProfitLossDataTable
columns={tableColumns} columns={columns}
data={table.rows} data={table.rows}
noInitialFetch={true} noInitialFetch={true}
expanded={expandedRows} expanded={expandedRows}

View File

@@ -13,6 +13,7 @@ import VendorsTransactionsActionsBar from './VendorsTransactionsActionsBar';
import withVendorsTransactionsActions from './withVendorsTransactionsActions'; import withVendorsTransactionsActions from './withVendorsTransactionsActions';
import { compose } from '@/utils'; import { compose } from '@/utils';
import { useVendorsTransactionsQuery } from './_utils';
/** /**
* Vendors transactions. * Vendors transactions.
@@ -22,11 +23,7 @@ function VendorsTransactions({
toggleVendorsTransactionsFilterDrawer, toggleVendorsTransactionsFilterDrawer,
}) { }) {
// filter // filter
const [filter, setFilter] = useState({ const [filter, setFilter] = useVendorsTransactionsQuery();
fromDate: moment().startOf('year').format('YYYY-MM-DD'),
toDate: moment().endOf('year').format('YYYY-MM-DD'),
filterByOption: 'with-transactions',
});
const handleFilterSubmit = (filter) => { const handleFilterSubmit = (filter) => {
const _filter = { const _filter = {

View File

@@ -1,6 +1,10 @@
// @ts-nocheck
import * as Yup from 'yup'; import * as Yup from 'yup';
import intl from 'react-intl-universal'; import intl from 'react-intl-universal';
import moment from 'moment'; import moment from 'moment';
import { useMemo } from 'react';
import { transformToForm } from '@/utils';
import { useAppQueryString } from '@/hooks';
/** /**
* The validation schema of vendors transactions. * The validation schema of vendors transactions.
@@ -19,7 +23,35 @@ export const getVendorTransactionsQuerySchema = () => {
* Retrieves the default query of vendors transactions. * Retrieves the default query of vendors transactions.
*/ */
export const getVendorsTransactionsDefaultQuery = () => ({ export const getVendorsTransactionsDefaultQuery = () => ({
fromDate: moment().startOf('month').toDate(), fromDate: moment().startOf('month').format('YYYY-MM-DD'),
toDate: moment().toDate(), toDate: moment().format('YYYY-MM-DD'),
vendorsIds: [], vendorsIds: [],
}); });
/**
* Parses the query of vendors transactions.
*/
const parseVendorsTransactionsQuery = (query) => {
const defaultQuery = getVendorsTransactionsDefaultQuery();
const transformed = {
...defaultQuery,
...transformToForm(query, defaultQuery),
};
return {
...transformed,
vendorsIds: transformed.vendorsIds ? transformed.vendorsIds : [],
};
};
/**
* Retrieves the query of vendors transactions.
*/
export const useVendorsTransactionsQuery = () => {
const [locationQuery, setLocationQuery] = useAppQueryString();
const query = useMemo(
() => parseVendorsTransactionsQuery(locationQuery),
[locationQuery],
);
return [query, setLocationQuery];
};