diff --git a/src/utilities/hooks/useQueryWithUtilities/useQueryWithUtilities.js b/src/utilities/hooks/useQueryWithUtilities/useQueryWithUtilities.js
index 7f89580..bb23347 100644
--- a/src/utilities/hooks/useQueryWithUtilities/useQueryWithUtilities.js
+++ b/src/utilities/hooks/useQueryWithUtilities/useQueryWithUtilities.js
@@ -48,6 +48,7 @@ const useQueryWithUtilities = ({
isFetching: queryLoading,
data: queryResult,
error: queryError,
+ refetch,
} = useQuery({
queryKey,
queryFn: async () => await queryFn(),
@@ -118,6 +119,7 @@ const useQueryWithUtilities = ({
loading,
result,
error,
+ refetch,
query,
queryTotalBatched,
...tableQueries,
diff --git a/src/utilities/hooks/useQueryWithUtilities/useQueryWithUtilities.stories.js b/src/utilities/hooks/useQueryWithUtilities/useQueryWithUtilities.stories.js
index ff8c666..1f46f5f 100644
--- a/src/utilities/hooks/useQueryWithUtilities/useQueryWithUtilities.stories.js
+++ b/src/utilities/hooks/useQueryWithUtilities/useQueryWithUtilities.stories.js
@@ -6,6 +6,8 @@ import {
Content,
Spinner,
Bullseye,
+ Button,
+ Flex,
Tabs,
Tab,
TabTitleText,
@@ -13,6 +15,7 @@ import {
ListItem,
} from '@patternfly/react-core';
import axios from 'axios';
+import { faker } from '@faker-js/faker';
import defaultStoryMeta from '~/support/defaultStoryMeta';
import columns from '~/support/factories/columns';
@@ -406,3 +409,53 @@ export const TableQueriesWithCombinedFiltersStory = {
],
render: (args) => ,
};
+
+const QueryRefetchExample = () => {
+ const fetchFn = useCallback(
+ async (params) => await restApi('/api', params),
+ [],
+ );
+
+ const { loading, refetch, query } = useQueryWithUtilities({
+ fetchFn,
+ params: {
+ limit: 1,
+ },
+ });
+ const onDataRefetch = async () => {
+ refetch();
+ };
+ const onDataFetch = async () => {
+ query();
+ };
+
+ return (
+ <>
+
+ Random text:
+ {loading ? (
+
+ ) : (
+ {faker.commerce.productName()}
+ )}
+
+
+
+
+
+ >
+ );
+};
+
+export const QueryRefetchStory = {
+ decorators: [
+ (Story) => (
+
+
+
+
+
+ ),
+ ],
+ render: (args) => ,
+};