This commit is contained in:
David Arranz 2024-08-26 18:26:46 +02:00
parent 2ac383f0df
commit 5016b8e5bd
3 changed files with 33 additions and 14 deletions

View File

@ -141,6 +141,7 @@ export const QuoteEdit = () => {
},
//onSettled: () => {},
onSuccess: () => {
console.log("onsuccess 2");
reset(getValues());
toast.success("Cotización guardada");
if (shouldRedirect) {

View File

@ -14,6 +14,7 @@ import {
IUpdateQuote_Response_DTO,
UniqueID,
} from "@shared/contexts";
import { useMutation, useQueryClient } from "@tanstack/react-query";
import { useCallback, useState } from "react";
import slugify from "slugify";
@ -96,8 +97,9 @@ export const useQuotes = () => {
});
},
useCreate: () =>
useSave<ICreateQuote_Response_DTO, TDataSourceError, ICreateQuote_Request_DTO>({
useCreate: () => {
const queryClient = useQueryClient();
return useSave<ICreateQuote_Response_DTO, TDataSourceError, ICreateQuote_Request_DTO>({
//mutationKey: keys().data().resource("quotes").action("one").id("").params().get(),
mutationFn: (data) => {
const { date } = data;
@ -115,10 +117,18 @@ export const useQuotes = () => {
},
});
},
}),
onSuccess: () => {
queryClient.invalidateQueries({
queryKey: ["data", "default", "quotes"],
});
},
});
},
useUpdate: (id: string) =>
useSave<IUpdateQuote_Response_DTO, TDataSourceError, IUpdateQuote_Request_DTO>({
useUpdate: (id: string) => {
const queryClient = useQueryClient();
return useMutation<IUpdateQuote_Response_DTO, TDataSourceError, IUpdateQuote_Request_DTO>({
mutationKey: keys().data().resource("quotes").action("one").id(id).params().get(),
mutationFn: (data) => {
const { date } = data;
@ -132,7 +142,13 @@ export const useQuotes = () => {
},
});
},
}),
onSuccess: () => {
queryClient.invalidateQueries({
queryKey: ["data", "default", "quotes"],
});
},
});
},
useOne: (id?: string, params?: UseQuotesGetParamsType) =>
useOne<IGetQuote_Response_DTO>({

View File

@ -27,10 +27,12 @@ export type UseListQueryOptions<TUseListQueryData, TUseListQueryError> = {
queryOptions?: Record<string, unknown>;
} & UseLoadingOvertimeOptionsProps;
export type UseListQueryResult<TUseListQueryData, TUseListQueryError> =
UseQueryResult<TUseListQueryData, TUseListQueryError> & {
isEmpty: boolean;
} & UseLoadingOvertimeReturnType;
export type UseListQueryResult<TUseListQueryData, TUseListQueryError> = UseQueryResult<
TUseListQueryData,
TUseListQueryError
> & {
isEmpty: boolean;
} & UseLoadingOvertimeReturnType;
export const useList = <TUseListQueryData, TUseListQueryError>({
queryKey,
@ -39,18 +41,18 @@ export const useList = <TUseListQueryData, TUseListQueryError>({
select,
queryOptions = {},
overtimeOptions,
}: UseListQueryOptions<
}: UseListQueryOptions<TUseListQueryData, TUseListQueryError>): UseListQueryResult<
TUseListQueryData,
TUseListQueryError
>): UseListQueryResult<TUseListQueryData, TUseListQueryError> => {
> => {
const [isEmpty, setIsEmpty] = useState<boolean>(false);
const queryResponse = useQuery<TUseListQueryData, TUseListQueryError>({
queryKey,
queryFn,
placeholderData: keepPreviousData,
staleTime: DEFAULT_STALE_TIME,
refetchInterval: DEFAULT_REFETCH_INTERVAL,
//staleTime: DEFAULT_STALE_TIME,
//refetchInterval: DEFAULT_REFETCH_INTERVAL,
refetchOnWindowFocus: true,
enabled: enabled && !!queryFn,
select,