feat (*) : add referch button.

This commit is contained in:
elforjani3
2021-08-03 17:23:12 +02:00
parent b2c892b649
commit d2b75f6ed8
24 changed files with 408 additions and 148 deletions

View File

@@ -26,7 +26,7 @@ const commonInvalidateQueries = (queryClient) => {
const customersSelector = (response) => ({
customers: response.data.customers,
pagination: transformPagination(response.data.pagination),
filterMeta: response.data.filter_meta,
filterMeta: response.data.filter_meta,
});
/**
@@ -66,7 +66,7 @@ export function useEditCustomer(props) {
// Common invalidate queries.
commonInvalidateQueries(queryClient);
},
...props
...props,
},
);
}
@@ -78,19 +78,16 @@ export function useDeleteCustomer(props) {
const queryClient = useQueryClient();
const apiRequest = useApiRequest();
return useMutation(
(id) => apiRequest.delete(`customers/${id}`),
{
onSuccess: (res, id) => {
// Invalidate specific customer.
queryClient.invalidateQueries([t.CUSTOMER, id]);
return useMutation((id) => apiRequest.delete(`customers/${id}`), {
onSuccess: (res, id) => {
// Invalidate specific customer.
queryClient.invalidateQueries([t.CUSTOMER, id]);
// Common invalidate queries.
commonInvalidateQueries(queryClient);
},
...props,
}
);
// Common invalidate queries.
commonInvalidateQueries(queryClient);
},
...props,
});
}
/**
@@ -100,15 +97,13 @@ export function useCreateCustomer(props) {
const queryClient = useQueryClient();
const apiRequest = useApiRequest();
return useMutation(
(values) => apiRequest.post('customers', values),
{
onSuccess: () => {
// Common invalidate queries.
commonInvalidateQueries(queryClient);
},
...props
});
return useMutation((values) => apiRequest.post('customers', values), {
onSuccess: () => {
// Common invalidate queries.
commonInvalidateQueries(queryClient);
},
...props,
});
}
/**
@@ -121,7 +116,17 @@ export function useCustomer(id, props) {
{
select: (res) => res.data.customer,
defaultData: {},
...props
...props,
},
);
}
export function useRefreshCustomers() {
const queryClient = useQueryClient();
return {
refresh: () => {
queryClient.invalidateQueries(t.CUSTOMERS);
},
};
}