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: () => {}, //onSettled: () => {},
onSuccess: () => { onSuccess: () => {
console.log("onsuccess 2");
reset(getValues()); reset(getValues());
toast.success("Cotización guardada"); toast.success("Cotización guardada");
if (shouldRedirect) { if (shouldRedirect) {

View File

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

View File

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